组态王软件自学系列之02实时报警界面制作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
组态王软件自学系列之02实时报警界面制作
目录
一、项目背景描述或现场情况说明 (3)
二、问题的解决方法和思路 (3)
1.新建工程 (3)
2.新建界面 (4)
3.新建变量 (6)
4.新建动画连接 (7)
5.报警自定义函数 (8)
6.事件命令语言 (10)
7.说明 (11)
一、项目背景描述或现场情况说明
本文是组态王的自学系列的第二篇,上一篇给大家讲一下系统的登录和退出的实现方法。在这里跟大家分享一下组态王中实时报警界面制作过程。
二、问题的解决方法和思路
1.新建工程
1)如图1所示,启动组态王软件,新建一个工程文件夹,命名为test。
图1 新建工程
2)命名工程名称,见图2所示。
图2 工程名称
2.新建界面
1)在工程浏览器左侧的树型视图中选择"界面",在右侧视图中双击"新建",新建产生一幅名为"实时报警"的界面,见图3所示。
图3 工程开发环境
2)在工具箱中选择“报警窗口”,在右边空白区域拉出一个报警窗口,如图4所示。
图4 报警窗口
3)双击报警窗口第一行菜单,在通用属性中对报警窗口命名,在列属性中对列明细进行编辑,如图5所示。
图5 报警窗口属性配置
4)在报警窗口上方加上“实时报警”的文本,加粗显示,同时在报警窗口下方添加三个按钮,分别为“报警确认”、“声音开启”和“声音关闭”,如图5所示。
图6 功能按钮制作
3.新建变量
1)在工程浏览器左侧的树型视图中选择"数据词典",在右侧视图中双击"新建",弹出定义变量的对话框,见图7所示。
图7 建立新变量
2)建立两个变量类型为内存整数的变量,变量名分别为ALARM和Beep_close,见图8所示。
图8 两个新变量
4.新建动画连接
1)为报警确认按钮建立动画连接,选择“弹起时”动画连接,命令脚本为ALARM=0;
2)为声音开启按钮建立动画连接,选择“弹起时”动画连接,命令脚本为Beep_close=1;
为声音关闭按钮建立动画连接,选择“弹起时”动画连接,命令脚本为Beep_close=0;
5.报警自定义函数
在组态王自定义函数中,有三个系统预置的报警自定义函数。分别为实型变量报警事件($System_RealAlarm)、整型变量报警事件($System_LongAlarm)和离散型变量报警事件($System_DiscAlarm)预置自定义函数。
自定义函数的调用执行有两种方式:
1)系统产生报警事件后会自动调用相应数据类型的函数,如整型变量产生报警时,系统自动调用整型预置自定义函数;
2)如果在配置报警窗的“操作属性”时,选择了“允许双击报警条”,则系统运行时双击报警事件报警条,也会自动调用相应数据类型的函数。
三种预置自定义函数如下:
1.)实型:void $System_RealAlarm(RealTag rTag, long time, long nEvent, long nAction)
{
}
2.)整型:void $System_LongAlarm(LongTag lTag, long time, long nEvent, long nAction) {
}
3.)离散型:void $System_DiscAlarm(DiscTag dTag, long time, long nEvent, long nAction) {
}
各个预置自定义函数中的参数的含义为(以实型为例,其它都相同):
V oid $System_RealAlarm(RealTag rTag, long nTime, long nEvent, long nAction)
rTag:表示变量,即普通变量,和组态王系统变量一样具有值和变量所有的域,这些值都是只读的。
nTime:表示自从格林威治时间1970年1月1日0起到报警事件产生时的秒数,表征报警事件产生的时间;
nEvent:表示当前产生或双击报警窗时的报警类型。报警类型的返回值如下:
0——报警
1——恢复
2——确认
nAction:表示当nAction==1时表示是双击报警条,当nAction==0时表示产生报警事件。
预置自定义函数函数体初始内容为空,需要用户在里面添加命令语言。利用报警预置自定义函数,可以实现用户自己想在报警产生后做的一些处理。
我们在各个预置自定义函数中均写入如下脚本:
if(nEvent==0)
{ALARM=1;}
6.事件命令语言
在事件命令语言中新建一个事件命令,事件描述为ALARM==1,在事件存在时每隔3秒执行一次,事件脚本如下图所示。该脚本的意思为执行本项目工程文件夹内beep.exe的程序,beep.exe程序是用VB写的一个播放报警音的程序。运行程序测试前要把beep.exe程序拷到项目工程文件夹内。
第11 页共11 页7.说明