组态王使用说明.docx
《组态王使用说明.docx》由会员分享,可在线阅读,更多相关《组态王使用说明.docx(37页珍藏版)》请在冰豆网上搜索。
组态王使用说明
皖西学院
监控组态软件实验指导书
机械与电子工程学院
电气工程教研室
2013.3
实验一监控组态工程建立与工艺流程图绘制
一、实验目的
熟练掌握工控组态软件的绘图工具
二、实验内容
熟悉工控组态软件的绘图工具,完成反应工段工艺流程绘制以及外部设备和变量的定义。
三、实验步骤
1.1创建工程
在工程管理器中选择菜单“文件/新建工程”,或者点击工具栏的“新建”按钮,根据“新建工程向导”对话框完成工程创建,如图一所示
图一工程管理器
1.2组态画面
双击工程管理器中的工程,打开工程浏览器,在工程浏览器中左侧的“工程目录显示区”中选择“画面”,在右侧视图中双击“新建”,弹出新建画面对话框如图一所示。
图二画面属性设置
点击图二确定按钮后,在工具箱和图库中选中相应图素进行监控画面组态,绘制工艺流程图如图三所示。
图三反应车间监控画面
1.3定义设备
根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为“PLC”。
1.4定义变量
在组态王中定义三个变量:
原料油液位(IO实数类型)、成品油液位(IO实数类型)、催化剂液位(IO实数类型)。
原料油液位变量:
最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
催化剂液位变量:
最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
成品油液位变量:
最小值0,最大值200,最小原始值0,最大原始值200,连接设备PLC,寄存器INCREA200,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
四、实验报告
实验报告包括实验目的、实验内容、设计说明、实验体会等。
实验二动态监控实现与动画功能设计
一、实验目的
本次实验通过几个图形显示与动画功能典型实例,来掌握组态软件的图形功能。
二、实验内容
1.填充与自制棒图
2.缩放
3.旋转
4.移动
5.闪烁、隐含和复现
6.屏幕切换
三、实验步骤
(1)填充与自制棒图选取线属性(表达式取常数0,运行时线的粗细和颜色不随时间而变)、填充属性(动画连接表达式取填充0,事先定义的变量,内存实数,要分段设置画刷和颜色,不妨设:
0—红,20—黄,40—绿,60—青,80—兰,100—紫色。
运行时调节游标,可得变色棒图)和填充(表达式取:
填充0),用图库中的游标(表达式取:
填充0)控制。
(2)缩放选取线属性(表达式取0)、填充属性(表达式取0)和缩放(表达式取:
缩放0),用游标控制。
(3)旋转0选取旋转(表达式取:
旋转0),用游标控制。
(4)旋转1选取旋转(表达式取:
旋转1),用启动和停止按钮(它们用椭圆和文本制成组合图素)控制。
启动和停止按钮弹起时的命令语言分别为:
\\本站点\旋转启停0=1;和\\本站点\旋转启停0=0;
画面命令语言显示时的代码为:
\本站点\旋转1=10;/*刚进入运行时,图形初始转角为36度*/
存在时的代码为:
if(\\本站点\旋转启停0==1)\\本站点\旋转1=\\本站点\旋转1+1;else\\本站点\旋转1=\\本站点\旋转1;if(\\本站点\旋转1==101)\\本站点\旋转1=0;
(5)水平移动和垂直移动可以将水平移动连接和垂直移动连接结合使用,选取水平移动(表达式取:
水平移动0)和垂直移动(表达式取:
垂直移动0),分别用两个游标控制。
(6)自制软按钮和软灯软灯用椭圆制作,填充属性(表达式取:
自制软按钮0),自制软按钮用圆角矩形和文本制成合成单元,应该注意圆角矩形在合成单元前就要动画连接。
“按下时”的命令语言:
\\本站点\自制软按钮0=1;/*软灯的填充属性阈值为1。
也可用100赋值,这时填充属性阈值为100(默认值)*/
弹起时的命令语言:
\\本站点\自制软按钮0=0;
例2模拟值输入连接。
过程控制系统中设定温度(期望值)在线实时运行修改。
模拟输入图形对象为用圆角矩形和文本制成的合成单元,应该注意圆角矩形在合成单元前就要动画连接。
运行时,模拟值键盘输入对话框如图一所示。
图一模拟值键盘输入对话框(运行时)
例3滑动杆(滑杆、游标)输入连接和文本值输出的简单应用。
首先定义变量:
水平滑动杆输入坐标X设定0,垂直滑动杆输入坐标Y设定0,内存实数。
用合成单元技术建立一个XY坐标系,在原点设置具有水平和垂直两种滑动杆输入连接性能的圆,以此圆作为滑动杆,并设置两个接收文本,以显示XY坐标值,文本值输出取模拟值输出。
例4特殊动画连接闪烁和隐含的简单应用:
灯光的闪烁,位图一棵树及“退出运行系统”按钮的隐含。
首先定义变量:
闪烁0,隐含0,内存离散。
图形画面仍如图1所示。
1)灯光的闪烁8条光线选择闪烁连接,闪烁条件取“闪烁0==1;”,闪烁速度500ms,其中左上、右上、左下和右下4条光线在组态王开发系统中设置时只能水平放置,故还要进行旋转连接,表达式取12.5(对应45度),同时要考虑顺时针或反时针方向问题。
由于工具箱中按钮的字体不能任意放大,故用合成单元技术将按钮与文本建立成一个“闪烁/停止”按钮,其“按下时”的程序码为:
/*若原来不闪烁,则按下“闪烁/停止按钮”就开始闪烁;反之,按下“闪烁/停止按钮”就停止闪烁,如此等等*/
if(\\本站点\闪烁0==0)\\本站点\闪烁0=1;else\\本站点\闪烁0=0;
(2)位图一棵树及“退出运行系统”按钮的隐含位图一棵树取自WINDOWS图片/自然界,可通过WORD编辑等方法获取,“退出运行系统”按钮后面要叙述。
隐含条件取“隐含0==1;”。
用合成单元技术建立一个“隐含/复现”按钮,其“按下时”的命令语言代码为:
/*若原来不隐含,则按下“隐含/复现按钮”就开始隐含;反之,按下“隐含/复现按钮”就停止隐含而复现,如此等等*/
if(\\本站点\隐含0==0)
\\本站点\隐含0=1;
else
\\本站点\隐含0=0;
例5组态王图库中的元素称为“图库精灵”。
之所以称为“精灵”,是因为它们具有自己的“生命”。
图库精灵在外观上类似于组合图素,但内嵌了丰富的动画连接和逻辑控制。
用户可以根据自己工程的需要,将一些需要重复使用的复杂图形做成图库精灵,加入到图库管理器中。
组态王提供两种方式供用户自制图库。
一种是编制程序方式,即用户利用亚控公司提供的图库开发包,自己利用VC开发工具和组态王开发系统中生成的精灵描述文本制作,生成*.dll文件。
关于该种方式,详见亚控公司提供的图库开发包。
另一种是利用组态王开发系统中建立动画连接并合成图素的方式直接创建图库精灵。
在此将对第二种方式做详细说明。
现举一个制作图库精灵的例子。
画面上一个按钮,代表一个开关,开关打开时按钮为绿色,开关关闭后变为红色,并用这个按钮控制一个软灯。
在设计时,首先要用合成单元技术制作一个绿色按钮(开)和一个红色按钮(关),用一个变量(取为:
图库精灵开关0)和它们连接,红色按钮的隐含条件表达式为:
“图库精灵开关0==1;”,“弹起时”的命令语言代码;
\\本站点\图库精灵开关0=1;
绿色按钮的隐含条件表达式为:
“图库精灵开关0==0;”,“弹起时”的命令语言代码;
\\本站点\图库精灵开关0=0;
最后把它们叠在一起,并制成合成单元,红色按钮在上面,这就是“按钮精灵”。
由于两个按钮大小相同,叠在一起并制成合成单元较复杂,方法为:
叠在一起以后,先将底板(非原始底板)移动到别处,激活红色按钮,将其“图素后移”,按下ctrl键,激活绿色按钮,将绿色按钮“图素后移”,红色按钮又在上面,而后合成单元。
松开ctrl键,打开图库,经图库管理器/编辑,创建新图库,取名“自制图库”,关闭图库管理器,激活合成按钮,经标题条图库/创建图库精灵/新的图库图名称,取名“自制按钮0”,确认后,出现图库管理器,选取其中的“自制图库”,将“按钮精灵”放到“自制图库”中。
如此,制作“自制图库”和“按钮精灵”全部完毕。
这样工程人员只要把“按钮精灵”从图库拷贝到画面上,它就具有了“打开为绿色,关闭为红色”的按钮功能。
图库中的几乎每个精灵都有类似的已经定义的动画连接,所以使用图库精灵将极大地提高设计界面的效率。
例如使用第一种方式即用VC编制程序制作的图库精灵具有自动控制图形外观和进行变量设置等的向导功能。
用第二种方式制作的图库精灵放到画面上以后,双击之,出现“内容替换”框,可以根据用户具体需求改变变量名称,替换动画连接属性。
这是第二种方式“图库精灵”的使用特点。
图中,软灯用4个矩形块组成,设置“填充”属性,再同大矩形块合成单元。
例6运行系统中三个画面的切换与运行画面的全部退出。
设当前画面“图形功能HMTX”与隐含画面“多功能IO卡HMIO”及画面“可编程控制器PLCHMPLC”相互之间要切换,并具有退出“组态王运行系统”功能。
首先用合成单元技术制作4个按钮:
退出本画面、IO卡画面、PLC画面和退出运行系统按钮,它们的“弹起时”命令语言代码分别为:
“ClosePicture("图形功能");”,“ShowPicture("多功能IO卡");”,“ShowPicture("可编程三菱PLC");”,“Exit(0);”。
退出运行系统画面按钮还设置了隐含属性,隐含条件表达式取“隐含0==1;”(见例4)。
代码“Exit(0);”:
若改成“Exit
(1);”,表示计算机总安全关机;若改成“Exit
(2);”,表示退出运行系统,Windows重新启动。
当退出运行系统按钮被隐含时,鼠标操作失效;但当用别的图形遮盖时,即使合成单元,鼠标操作也不失效。
在进行画面安全操作性能设计时要考虑这些因素。
四、实验报告
实验报告包括实验目的、实验内容、设计说明、实验体会等。
图二组态王的动画功能
实验三组态软件的趋势曲线
一、实验目的
掌握历史趋势作用,能够独立实现历史趋势曲线的开发。
二、功能概述
常规需求:
很多工业现场都会要求显示采集量的趋势曲线,包括实时曲线、历史曲线。
组态王中的趋势曲线的实现方法:
利用组态王的“工具箱”中的“实时曲线”、“历史曲线”实现。
利用组态王的“插入通用控件”中的“历史趋势曲线”实现。
第一种实现方法的优点在于可以进行WEB的发布,实现通过IE浏览器进行浏览。
缺点为支持的曲线笔比较少,许多功能的实现需要通过组态王的函数来实现,使用相对要麻烦。
第二种实现方法的优点在于支持同时绘制16条曲线,功能比较完善,可以在系统运行时动态增加、删除、隐藏曲线,还可以修改曲线属性,实现无级缩放,曲线打印等等。
许多功能都不需要通过编写脚本的方法实现,使用比较方便。
缺点在于无法进行WEB的发布。
三、实验步骤
1、历史趋势曲线控件的特点
KVHTrend曲线控件是组态王以ActiveX控件形式提供的绘制历史曲线和ODBC数据库曲线的功能性工具。
该曲线具有以下特点:
1)即可以连接组态王的历史库,也可以通过ODBC数据源连接到其它数据库上,如Access、SQLServer等。
2)连接组态王历史库时,可以定义查询数据的时间间隔,如同在组态王中使用报表查询历史数据时使用查询间隔一样。
3)完全兼容了组态王原有历史曲线的功能。
最多可同时绘制16条曲线。
4)可以在系统运行时动态增加、删除、隐藏曲线。
还可以修改曲线属性。
5)曲线图表实现无级缩放。
6)可实现某条曲线在某个时间段上的曲线比较。
7)数值轴可以使用工程百分比标识,也可用曲线实际范围标识,二者之间自由切换。
8)可直接打印图表曲线。
9)可以自由选择曲线列表框中的显示内容。
10)可以选择移动游标时是否显示曲线数值。
11)可以在曲线中显示报警区域的背景色
2、创建新的工程
2.1定义设备
根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为“PLC”。
2.2定义变量
在组态王中定义三个变量:
原料油液位(IO实数类型)、成品油液位(IO实数类型)、催化剂液位(IO实数类型)。
原料油液位变量:
最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
催化剂液位变量:
最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
成品油液位变量:
最小值0,最大值200,最小原始值0,最大原始值200,连接设备PLC,寄存器INCREA200,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
2.3创建趋势曲线
在组态王开发系统中新建“趋势曲线”画面,在工具箱中单击“插入通用控件”或选择菜单“编辑”下的“插入通用控件”命令,弹出“插入控件”对话框,在列表中选择“历史趋势曲线”,单击“确定”按钮,对话框自动消失,鼠标箭头变为小“十”字型,在画面上选择控件的左上角,按下鼠标左键并拖动,画面上显示出一个虚线的矩形框,该矩形框为创建后的曲线的外框。
当达到所需大小时,松开鼠标左键,则历史曲线控件创建成功,画面上显示出该曲线,如图四所示。
双击趋势曲线,弹出“动画连接属性”,控件名命名为“HT”。
点击确定完成对历史趋势曲线的命名。
图四历史趋势曲线
2.4添加曲线变量
选中曲线控件点击右键,弹出菜单,选择“控件属性”,弹出历史趋势曲线控件的属性对话框,在“曲线”选项卡,点击“增加”按钮,选择变量“压力”,选择“线类型”、“线颜色”,点击“确定”完成压力曲线的添加。
再点击“增加”按钮,选择变量“流量”,选择“线类型”、
“线颜色”,点击“确定”完成流量曲线的添加。
在趋势曲线控件属性的“坐标系”选项卡中对坐标系进行设置,我们设置Y轴的起始值为0,最大值为200,不按照百分比绘制,而是按照实际值显示。
设置时间轴的显示格式为显示年、月、日、时、分、秒。
添加完成后开发画面如图五所示:
图五历史趋势曲线
3、切换到运行系统
保存画面后,在工程浏览器的“系统配置”-“设置运行系统”中进行“主画面配置”,将“历史曲线”画面设置为主画面。
然后切换到运行系统。
运行如下图六所示:
图六运行系统
趋势曲线控件自带的工具栏中提供了很多方便实用的控制按钮功能供用户来使用,主要包括:
调整跨度设置按钮,设置Y轴标记,曲线图表无级缩放,打印曲线,定义新曲线,更新曲线图表终止时间为当前时间,设置图表数值轴和时间轴参数,隐藏/显示变量列表。
这些工具栏基本可以满足客户的使用了,如果还需要进一步的功能可以通过控件的属性、方法来实现。
四、注意事项
1、变量定义时必须定义为记录,如果定义为“不记录”则无法看到历史曲线。
2、在控件使用时需要注意Y轴坐标的设置要合理。
3、详细的控件的属性、方法的使用请参考帮助或者手册。
五、实验报告
实验报告包括实验目的、实验内容、设计说明、实验体会等。
实验四组态软件的报警与事件
一、实验目的
掌握报警作用,能够独立实现报警的存储与查询。
二、实验内容
常规需求:
很多工业现场要求将变量的报警信息进行存储,并且可以灵活的进行历史报警的查询、打印。
组态王中的实现方法:
组态王支持通过ODBC接口将数据存储到关系数据库中,并且提供KVADODBGrid控件对存储的历史报警信息进行条件查询,并可以对查询结果进行打印。
关系数据库可以为Access数据库或者SQLServer数据库。
我们通过一个简单的例子实现对报警信息的存储以及历史报警信息的查询。
历史报警的查询主要根据日期、报警组为条件进行查询。
报警信息存储的数据库以Access数据库为例进行。
三、实验步骤
1、定义设备
根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为“PLC”。
2、定义变量
在组态王中定义三个变量:
原料油液位(IO实数类型)、成品油液位(IO实数类型)、催化剂液位(IO实数类型)。
原料油液位变量:
最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
催化剂液位变量:
最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
成品油液位变量:
最小值0,最大值200,最小原始值0,最大原始值200,连接设备PLC,寄存器INCREA200,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
3、定义报警
首先定义报警组,在报警组处双击进行报警组对话框,点击“增加”定义一个“液位报警”报警组,确认完成报警组的定义,如图一所示:
图一报警组定义
报警组定义完成后,重新编辑变量定义,在变量定义的“报警定义”选项中我们对三个液位变量进行报警定义。
定义报警组名为“液位报警”,设置原料油和催化剂液位的报警限为低、低低限,限值分别为10、5。
成品油液位设置报警限为高、高高限报警,报警限值为190,200。
定义报警画面如图二、图三所示:
图二原料油和催化剂液位变量报警定义
图三成品油液位变量报警定义
4、实时报警信息
变量的报警就定义完成后,我们新建一个“实时报警”画面,在工具箱中选择报警窗口,然后在画面上完成报警窗口的制作,双击画面上的报警窗口,为报警窗口命名为“报警”,根据需要可以对报警窗口进行灵活的配置,详细的配置可以参考组态王手册或者组态王帮助,但是必须注意报警窗口的名字一定要填写,如果报警窗口没有名字,则此报警窗口无效。
报警窗口定义完成后,如果此时进入运行系统,则当出现报警后,报警信息会在报警窗口中出现。
运行画面如图四所示。
图四实时报警运行画面
需要注意的是,报警窗口显示的信息在计算机的内存中,如果组态王退出后再进入运行系统则原来的报警并不存在了,也就是说历史的报警信息并没有保存下来。
下面我们会详细讲解一下如何将报警信息进行保存以方便以后的查询。
5、报警配置
组态王报警配置主要分为三个配置选项:
文件配置、数据库配置、打印配置。
文件配置主要是将报警信息存储到文件中,文件格式为*.al2,我们可以通过记事本打开此文件对存储的信息进行浏览,因为此存储格式浏览不是很方便,我们现在不推荐客户使用。
数据库配置是将报警信息存储到关系数据库中,如Access,SQLServer等,此方式浏览、查询比较方便,本文就是以数据库配置作为讲解的重点。
打印配置为报警信息的实时打印,需要注意的时打印配置选择的打印机必须为带字库的针式打印机。
下面我们主要以Access数据库为例讲解报警存储到数据库的使用配置。
5.1建立报警数据库
在Access中新建一个空数据库,例如建立路径为:
F:
\组态王\实验指导\报警存储与查询\报警数据库.mdb。
在此数据库中创建一个数据表:
表的名称为:
Alarm。
表的字段名称如下表,字段类型为文本类型。
为了方便同学使用,我们已经有一个已经做好的一个数据库文件,我们可以直接使用。
文件名为:
报警窗数据库.mdb。
我们可以直接拷贝此文件到计算机的硬盘中直接使用。
组态王通过ODBC数据源将报警信息存储到数据库中,因此我们必须先建立ODBC数据源。
在“控制面板”-“管理工具”-“ODBC数据源”中建立ODBC数据源,点击“ODBC数据源”弹出“ODBC数据源管理器”,如下图五所示:
在“用户DSN”中点击“添加”,弹出“选择数据源驱动程序”窗口,如下图六所示:
选择“MicrosoftAccessDriver(*.mdb)”驱动,点击“完成”。
弹出如图七所示窗口,填写ODBC数据源的名称,根据需要对数据源进行命名,如“报警”,点击“选择(S)”,如图八示,选择我们前面定义的数据库文件“F:
\组态王\实验指导\报警存储与查询\报警数据库.mdb”。
点击“确定”完成ODBC数据源的定义,如图九所示。
其他数据库如SQLServer的ODBC定义请参考相关文档。
图五ODBC数据源管理器
图六选择数据源驱动程序
图七数据源定义
图八选择数据库
图九ODBC数据源定义
5.2报警配置
数据库以及ODBC数据源定义完成后,我们进行报警配置中的数据库配置。
双击组态王工程浏览器的“系统配置”中的“报警配置”,弹出如图十的“报警配置”对话框。
选择“数据库配置”选项卡,如图十一所示:
我们根据需要将“记录报警事件到数据库”打上勾,点击报警格式,根据实际情况对报警格式进行选择配置,需要注意的是默认的报警格式没有选择报警日期、事件日期,因此必须进行报警格式的配置。
图十报警配置
图十一数据库配置
“报警格式”配置如图十二所示:
需要注意的是:
在6.52版本之前的报警格式配置中没有“数据库选项,分月保存报警数据表,以日期时间类型保存日期时间”选项。
6.52版本增加了此选项。
其中“分月保存报警数据表”选项如果选中,则保存报警信息的数据库中的数据表每月生成一个,并且无需建表,只需要建一个空的数据库即可。
采用分月保存的方式的优点在于:
如果报警信息数据量比较大,分表存储可以提高查询的速度。
缺点在于:
无法进行跨月的查询,在编写脚本进行查询时需要考虑查询的是哪那一个数据表。
本实验中我们还是按照报警信息存储到一个数据表的方式为例进行介绍,也就是说我们不选中“分月保存报警数据表”。
其他选项需要注意的就是数据长度要根据实际情况进行设置,并且选中“报警组名”,如果使用描述则“变量描述”也需要选中。
图十二数据库配置
报警格式设置完成后,点击“确定”返回“数据库配置”画面,在数据源处选择我们前面定义的数据源“报警”。
如图十三所示:
点击“确定”完成报警的配置。
图十三数据库配置
当有报警产生后,会在报警画面中显示当前的报警信息,同时也会将报警信息存储到Access数据库中。
5.2历史报警查询
前面我们已经将报警存储到数据库中了,下面我们就介绍一下如何对存储到数据库中的报警进行查询。
我们根据日期、报警组为例进行报警的查询。
历史报警的查询主要是利用KVADODBGrid控件进行查询。
5.2.1创建KVADODBGrid控件
在工程中新建画面“报警查询”,单击工具箱中的“插入通用控件”按钮则弹出“插入控件”对话框。
在“插入控件”对话框内选择“KVADODBGridClass”控件,如图十四所示,在此画面中放入此控件。
双击此控件,为控件命名,控件名称可以根据需要确定,我们命名为“KV”。
图十四插入通用控件
选择控件,单击右键,在弹出的菜单中选择