初识Indusoft Web Studio(IWS)

    技术2023-09-09  106

    文章目录

    PreparationWhat You Will NeedConventionsRibbon Introduction新建一个项目创建好后,创建一个简单的slider控制器(symbols的使用)创建一个灯切换和页面切换按钮 ProductOverviewInstallRegisterUserInterfaceOverviewTags演示如何创建类class创建pointer DriverScreenGroupFormattingActiveObjects1对于Text:对于Button:对于Pushbutton: ActiveObjects2对于Check Box:对于Radio Button:对于Combo Box: ActiveObjects3对于List Box:在type选择中:在User Enable和Control Enable的修改中: 对于Smart Message:当切换为Multistate Indicator时当切换到Multistate pushbutton时 对于Text Box: AnimationOverview讲解command Animation:看一下type为 Built-in Language时: 讲解HyperLink:讲解Bargraph:讲解Color:讲解Position/Visibility:讲解resize:讲解rotate:讲解Text Data Link: AnimationDetailsTrends首先看Points记录产生目录 其次看Axes(轴线x轴和y轴)再看Legend Alarms

    总结自2012年一个英文原版视频,只有前两个Module

    Preparation

    What You Will Need

    notepadIWS v7.1PChelp system

    Conventions

    MouseKey Combinationcopyselect

    Ribbon

    Many selection or menu items are available in multiple locations 许多选择或菜单项可在多个位置

    Introduction

    打开IWS,在ribbon里

    Home下 clipboard里主要对文件进行复制粘贴修改查找Local Management里对运行任务进行操作,可以运行或者停止任务;或者修改运行方式或者路径Remote Management可以和其他主机进行远程连接Tools里的Verify里可以设置窗口大小,项目访问权限等等Tags中可以搜索全局中创建的变量tag View下 可以对当前窗口的各个视窗进行操作并且可以设置语言和字体等等 在Project Explorer里的Graphics里的Symbols里 会有project symbols和system symbols 分别为当前项目所用和系统所有在Tasks下 里有Script和Scheduler分别可以书写代码和安排在Comm下 有一些外置连接设备设置和Mobile Access设置的TCP/IP设置等 在最下方有Watch Window 和Output,可以观察数据的一些属性和经过计算输出的值,并且可以通过settings设置相关的其他属性显示与否

    新建一个项目

    打开IWS2020,点击左上角的新建项目功能;设置项目名字,并且可以选择项目所创建的目标平台(一般选择windows)。

    点击OK后弹出选择框 一般选择1024X768的。创建完成后也可以在修改。

    这样项目就创建好了,接下来创建screen 找到Project Explorer 在screens下创建新的screen 然后采取默认设置

    创建好后,创建一个简单的slider控制器(symbols的使用)

    找到Graphics,然后点击其中的symbols->找到sliders->点击slider01

    然后回到screen中,再在空白处点击,就可以将slider02放置上去了 然后双击slider01,就会弹出Object Properties,就可以给这个slider01设置一个标签名(Level) 因为这个Tag为新创建的,所以设置为integer就可以了。 然后在Draw->Rectangle下创建一个矩形 在后面我们也会看到可以改变任何shapes的animation,所以这个矩形也可以改变,这里暂时只改变animation下的Bargraph,将slider01的变化数值可视化

    先选中矩形,然后点击Draw下的Bragraph,将它的这个方法激活,然后双击矩形

    在BarGraph下修改Tag值为左边的那个slider01的名字Level,这样就可以将两者关联起来了

    保存后再运行,就可以看到动态效果

    创建一个灯切换和页面切换按钮

    找到Draw下的Button按钮 创建button 双击然后修改名字和增加Command的animation 将类型设置为Toggle Tag 设置为新变量V1,类型为布尔型

    找到shapes下的eclipse,将其改为circle(width和hight设置为一样就可以了) 然后找到animation里的color,将方法添加给circle中 将V1绑定给他

    最后设置一个页面切换 新建一个button,设置一个command方法,然后设置类型为Open Screen 同样在Screen中也要设置 这样就可以做到切换页面了

    最后,设置起始页 在想要设置的页面中右键点击Set as startup 即可在客户端中运行

    ProductOverview

    Indusoft Web Studio is an easy-to-use HMI(人机接口) and SCADA(数据采集与监视控制系统) software,Runs on any current Microsoft OS

    An open-standard based architecture,designed from the ground up with security in mind 一个基于开放标准的体系结构,从开始就考虑安全性

    seamless deployment across all OS 无缝衔接各个系统 easy-to-configure interface to any SQL Relational Database

    support for all features in any product type always meets your needs,Different product types to fit your budget.

    main benefit summary:

    InstallRegister

    skip

    UserInterfaceOverview

    在Insert下:

    Global中:可以创建Tag和Class等等一系列object

    在Project下:

    Target System中:可以控制不同设备的显示后续的information,可以修改一些设备相关的信息

    在Global下:会显示创建的tag,类名等等

    Tags

    Internal Structure(内部结构) 标签命名规则:

    第一个字符必须是字母,后续字符可以是字母,数字或者下划线等字符标签最多255个字符标签名必须是唯一的,并且和IWS原来库里面的不同标签名不是大小写敏感的

    标签类型(四种):

    布尔型(1 bit):0代表false or 1代表true (非0的数也代表true)整型(4 bytes/32 bits)代表一个整数(正、负或者0),相当于C中的长整型真型(8 bytes):被存储为双字符,相当于C中的双精度浮点型字符型(含有字符和数字的数据,可以多达1024个字符):可以包含字母,数字,或者其他字符;IWS支持ASCII和统一码

    不同的类型的标签前有不同的指示图

    数组型:是一系列相同类型的数据的集合,这些数据有着共同的名字,使用下标index来唯一标识他们,IWS只支持一维数组类 型:是一种混合的标签类型,通过模板进行定义,类模板至少包括一种数据类型;类类型适合开发应用,有很多复杂的控制或者操作属性定义的,比如(level,temperature,pressure);每一个类中至多有512个标签指针类型:可以直接关联到IWS数据库中的另一个标签

    演示如何创建类class

    右击鼠标->插入类->输入名字cTank 然后可以创建Type为自己的创建的类

    创建pointer

    将字符型pointer的值设置为Automode,也就是某个Tag的值,@pointer的值就会和其相同。 可以对所有Tag删除,递增排序,递减排序等等。但是不能在运行时删除tag。 试用Global Replace 在帮助文档中有更多设置Tag属性的方法

    Driver

    新建一个项目TrainingDrivers,在Comm 下的Drivers文件夹下AddDrivers

    选择MOTCP 然后双击打开 MAIN DRIVER SHEET 设置如下: 之后点进Graphics中新建一个scc文件,创建一个Text object,赋予Text Data Link,然后Tag连接上Temperature。然后运行,若发现不行,那应该是没有PLC的原因。

    然后返回MDS 设置一下参数: 左二为布尔型,右二为整型 然后分别调用四个text,将这四个参数分别附上去、

    运行后发现,PLC增加时,RdCp为从0变为1 点击Reset后 WrCp会变化 当断开PLC时,RdSt会变为16

    ScreenGroup

    a screengroup 左上角为坐标原点,原点向右为x轴正半轴,原点向下为y轴正半轴 新建一个文件夹IWS71 在Screens文件夹下新建文件 注意修改高度为150 右击Screen选择background color可以更改背景颜色,然后插入一张图片 然后创建一个矩形,双击修改属性,在caption里修改值,可以用大括号的形式调用系统中的Tag值并写入: {Date} {Time} UserName:{UserName} Group:{GroupName} Computer IP:{GetComputerIP()} HILevel:{GroupHiLevel} 并加入一系列内容:

    接下来创建Navigation,由于自身大小,和相对位置的原因修改下列数值 创建好之后修改背景颜色,并添加一个button,修改为width131,height51 最后创建main部分 同样修改数值 修改完背景颜色后,修改名字为Template保存

    然后将Template再保存一份,名字为Main 然后修改Nav里的btn,将其关联为main

    One more thing: 在Screen Group里面新建一个SG

    选中前三者,设置SG名字为Startup 将这个Starup设置为初始启动后,启动 发现根据位置关系,拼接在了一起

    Formatting

    Shapes中介绍了直线的使用,任意折线的使用,矩形的使用,椭圆的使用 Active Objects中介绍了按钮的使用 介绍了图片的插入

    ActiveObjects1

    介绍三个active object

    TextButtonPush Button

    新建一个ActiveObject.scc,然后回到navigation里新建一个btn,将其关联给ActiveObject

    对于Text:

    使用井号(#)时可以触发使用Text Data LInk,将Tag的值传递过来 而使用纯文字,则无法触发,表示一段文字;若想给一段文字加入一个值传递,双击这串文字 后会变成: 可以修改文字的对齐方式,是否有边框,边框颜色,背景颜色,字体,大小等等

    对于Button:

    可以创建后字caption里直接添加新变量,用大括号括起来,可以修改其style 四种风格: 同样可以修改背景颜色,字体,大小 可以修改其command里的类型 比如改成toggle,在点击后就可以修改其布尔值 可以修改button上的图片,设置其偏移值

    对于Pushbutton:

    分别有三种类型:

    Momentary:分别对于鼠标按下一个状态,鼠标松开一个状态Maintain:类似于toggle,按一下为一种状态,再按一下为另一种状态latch(锁):当到达某种解锁条件,才能变更状态

    同样也可以修改一些样式,美化样式;也可以修改启动某些pushbutton的方式,比如按F2可以启动

    ActiveObjects2

    介绍三个active object

    Check BoxRadio ButtonCombo Box

    同样新建一个ActiveObject2.scc,然后回到navigation里新建一个button,将其关联给ActiveObject2

    对于Check Box:

    点击新建,双击,修改其名字和绑定的tag值 Tag值为布尔型,后续相同。

    对于下面的矩形,设置其visibility,若勾选则显示,否则消失

    对于Radio Button:

    和check box类似,只是单选框而已

    对于Combo Box:

    下拉菜单 Label: LabelTag 负责存储下拉菜单每一项内容 Position :PositionTag 负责显示当前选择第几项 可以结合Text和Text Data Link进行显示

    点击Data Sources可以设置不同的信息来源,比如DB,自定义的一些列表数据

    ActiveObjects3

    介绍最后三个active object

    List BoxSmart Message(Message Display、 Multistate(多) Indicator、Multistate pushbutton)Text Box

    对于List Box:

    显示所有信息,并且把当前选中的高亮出来

    双击可以设置其属性值

    设置ListRead为整型,ListWrite为字符型 对应设置的解释: Write Tag: Message value of the last-selected message(显示最后一个选中的信息) Read/Search Tag: point to a selected message based on the message Value field (指向选择的信息)

    在type选择中:

    LSB (Least Significant Bit) 为最低有效位,选择后只有32项message可选择。Boolean则只有两项message可以选择(true和false)若选择type为integer,则总共可以书写message256项,同样可以修改高亮颜色

    在User Enable和Control Enable的修改中:

    User Enable:select a message in the runtime project(选择一个项目)Control Enable:depending on the current value of the Read/Search Tag(取决于当前选择的信息) 若想使用List Box,则必须激活User Enable,使其布尔值为1;Control Enable可以让高亮回到Read/Search Tag的默认值上。

    对于Smart Message:

    有三种类型:

    Message Display:Enables you to display any one of multiple messages within a single screen object. (500个field)Multistate Indicator:在Message Display的基础上能够 display bitmap images(bmp图片文件) with the messages(500个field)Multistate pushbutton:在Multistate Indicator的基础上,增加了一个multi-position switch,allows you to increment through the messages by clicking on the object during run time. (即可以在运行的时候点击显示下一个message)(500个field)

    添加一个integer变量msgRead 设定messages 若输入State0-State3,则显示State的Text,若非这四个数字,则显示State Error

    当切换为Multistate Indicator时

    会发现多了一列graphics files,即可以插入图片了

    当切换到Multistate pushbutton时

    此时Write Tag激活了 打开messages,发现只有16个field,并且没有error State 同样可以使用Excel来进行编辑和导入 运行时,发现一点击就自动切换到下一个,同时也会改变下标,当结束一轮循环时会重新开始下一轮。

    对于Text Box:

    外形类似于矩形 双击修改属性 创建一个Tag,设定为integer,里面的值可以直接在database spy里修改,也可以在运行时直接在里面修改其值,并且绑定 也可以设置为字符型数组,修改其值

    AnimationOverview

    首先设置三个slider,再分别给他们设置三个tag

    讲解command Animation:

    不一定是button使用command,其他AO也可以使用

    看一下type为 Built-in Language时:

    比如此时设置Xval的表达式为Xval+1,则当运行时,每点击然后放开则会发现Xval的值增加了1 还可以继续设置鼠标弹起时,还有鼠标按住时,鼠标右键弹起时等等

    讲解HyperLink:

    在button上增加HyperLink 可以设置link的type,比如本地地址,网络地址,或者发送邮件;同时可以设置在某种情况下不可使用

    讲解Bargraph:

    更加直观显示slider的滑动情况,可以改为竖直的也可以改为水平的。

    讲解Color:

    结合刚才的Bargraph,可以根据不同的百分比来决定不同的颜色

    讲解Position/Visibility:

    红框框出来的内容为控制shapes水平移动,value range控制变动的数值范围,Position控制变动的位置范围。当移动的数值到100时,shape到达了于初始位置上移动了200的新位置。移动Y也是相同的。 因为Y轴默认向下为正,所以需要将position中的最大值改为-100

    讲解resize:

    设置变更条件和变化范围

    讲解rotate:

    分别设置旋转数值范围,旋转角度范围,旋转中心选择

    讲解Text Data Link:

    传值使用井号,可以设置手动输入值

    AnimationDetails

    command里的config里的 取消勾选则会在 运行时按tab无法选中

    Beep勾选会让计算机产生警告音 Release勾选会使拖出button取消操作 Require confirmation会产生弹框让你确认是否实施该操作 E-Sign需要输入密码和确认 Key Only是设置只能键盘键入

    Trends

    Real-TimeHistoricalTrend WorksheetNumerical(X/Y plot)SPC(Statistical Process Control)

    创建了一个Trend.csv,里面输入了52组数据,将csv文件中的A列作为col 0… 新建一个Data Object中的Trend 再在Symbols中加入slider01

    双击打开Trend的properties

    首先看Points

    将创建的两个变量关联上去 界面会出现波纹 运行后发现,随着slider的拨动,Trend中的值也会相应波动 当切换界面时,值暂时停止记录,曾经记录过的值也会消失。 可以给波纹设置bg,或者bgc

    记录产生目录

    打开Tasks,找到Trend Logger,新建一个;将description设置为TrendLog Proprietary(专门的) 设置好之后点击save,存储之后会发现项目根目录文件下多了一个文件 当History Format 设置为proprietary时,会发现切换页面也不会重新开始,因为有一个地方可以存储值

    运行结束以后, 会发现多了一个文件,这是History Format 设置为proprietary产生的一个不可读的文件,将打开的格式改为文档打开,会发现里面有TrendTemperature和TrendPressure。所有文件都能通过HST2TXT.exe解析,生成分别的信息

    其次看Axes(轴线x轴和y轴)

    可以设置手动横向滚动条

    再看Legend

    可以修改Trend的显示项

    Alarms

    Alarm/Event Control ObjectAlarm WorksheetsTag PropertiesHistory LocationFormat

    首先创建一个alarm worksheet 然后创建一个真正的alarm 双击选择其properties时,除了Type选择Alarm Online外,其他选择default

    也可以通过修改Tag Properties修改值 filters:可以将信息筛选出来 可以在运行中对信息进行筛选 运行中

    Processed: 0.010, SQL: 9