文章目录
总结自2012年一个英文原版视频,只有前两个Module
Preparation
What You Will Need
- notepad
- IWS v7.1
- PC
- help system
Conventions
- Mouse
- Key Combination
- copy
- select
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
- Text
- Button
- Push 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 Box
- Radio Button
- Combo 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 Box
- Smart 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-Time
- Historical
- Trend Worksheet
- Numerical(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 Object
- Alarm Worksheets
- Tag Properties
- History
- Location
- Format
首先创建一个alarm worksheet
然后创建一个真正的alarm
双击选择其properties时,除了Type选择Alarm Online外,其他选择default
也可以通过修改Tag Properties修改值
filters:可以将信息筛选出来
可以在运行中对信息进行筛选
运行中