字符串变量:字符串变量的类型符为String,定义形式如下: string str1,str2; 5、引用类型 定义引用变量:
变量类型 变量名,如:IntTag a; // 定义整型引用变量 使用引用变量:
a = &intTag; // 将引用变量a指向工程中定义的整型变量intTag。 6、数组类型
一维数组定义:
类型说明符[常量表达式] 数组名 一维数组引用: 数组名[下标]
二、支持的运算符
支持的运算符包括:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符等,具体介绍请参见用户手册 三、支持的脚本语句 支持的脚本语句包括:
赋值语句:变量(变量的可读写域)= 表达式;
跳转语句:Return、Break、Continue 分支语句:If语句、switch语句 循环语句:while语句、do-while语句、for语句
二、脚本分类:
KingSCADA3.1脚本从可见性上可以分成全局和局部事件脚本; 全局事件脚本包括:
1、应用程序脚本:指在工程启动时、关闭时或在程序运行期间周期执行的脚本程序。 2、报警事件脚本:指当报警事件产生时执行的脚本程序。
3、用户事件脚本:指当用户操作事件(包括:用户登录和用户注销)产生时执行的脚本程序。 4.
、数据改变脚本:指链接的变量或变量域,在变量或变量域变化到超出数据字典中所定义的变化灵敏度时,被触发执行的脚本程序。
5、事件脚本:指在某件事情发生时、消失时或存在期间周期执行的脚本程序。
6、热键脚本:被链接到指定的热键上,工程运行期间,用户随时按下热键都可以执行这段脚本程序。
7、自定义函数脚本:提供用户自定义函数,用户可以根据KingSCADA3.1的基本语法及提供的函数自己定义各种功能更强的函数,通过这些函数能够实现工程特殊的需要。
8、定时脚本:指在工程运行期间,根据指定的时间,定时触发的脚本程序。 局部事件脚本包括:
1、画面脚本:指画面打开时、画面关闭/隐含时或画面运行时周期执行的脚本程序。 2、画面图素脚本:指鼠标触敏该图素时执行的脚本程序。
3、控件的事件脚本:指Windows通用控件和ActiveX控件的事件所触发的脚本程序。
三、脚本应用:
我们在本章主要介绍前面监控画面动态功能实现所用到的脚本程序,其他脚本程序例如报警事件脚本、用户事件脚本等我们会在以后介绍其他功能的时候来讲解。
管道的流动:
首先我们要确定管道的流动有那些控制点来控制。例如水泵1、阀门1控制原料罐进料管道的流动状态。当水泵1、阀门1都打开的时候管道就会流动起来。我们在前面定义数据模型时已经定义了液位与阀门、水泵的逻辑关系:液位低于报警低限值时自动开启水泵与阀门开关,高于报警高限值时停止水泵,关闭阀门。
我们用事件脚本来实现水流的控制,当水泵与阀门都为true时水流开始,都为false时水流停止。
我们选择事件脚本“脚本-自定义脚本-条件事件脚本”,如图5-11所示,在右侧点击“新建”新建一个事件脚本程序,写:
\\\\local\\material.valve_gate==1&&\\\\local\\material.water_pump==1
第六章
报警与事件
本章内容 ?
? 定义报警组 ?
? 设置变量的报警属性 ?? 报警配置 ?? 报警输出 ?
? 报警画面自动弹出 ?? 事件记录及输出
概述
下面我们讲解报警的相关功能,包括报警的定义、报警的存储以及查询等等。 在工业现场,为了保证系统的安全运行,报警和事件的产生和记录是必不可少的,KingSCADA3.1提供了强有力的报警和事件系统。KingSCADA3.1中的报警和事件主要包括:变量的报警事件、操作事件、用户登录事件和工作站事件,通过这些事件信息用户可以轻松地了解系统的运行情况。为了分类显示产生的报警信息,可以把报警信息划分到不同的报警组中,在指定的报警窗口中显示报警信息。
第一节 报警记录及输出
定义报警组
划分报警组的作用就是为了将不相关的报警信息显示在不同的报警窗口中,将相关的报警信息显示在同一个报警窗口中,便于用户查询。
在KingSCADA3.1开发环境树型目录区中选择“数据词典”→“报警组”选项,单击鼠标右键,在弹出的右键菜单中执行“新建报警组”命令,弹出对话框,如图6-1所示:
图6-1新建报警组对话框
在编辑框中输入:“温度报警”报警组,单击“确认”按钮该报警组建立完了,同样的方式我们再新建一个“液位报警”报警组。您也可以根据工程需要建立更多的报警组,或在已建立的报警组下定义二级报警组或三级报警组,在这里我们定义两个报警组:温度报警、液位报警。
设置变量的报警属性
在使用报警功能前,必须先要对变量的报警属性进行定义。
在KingSCADA3.1工程开发环境的“数据词典”中选择“temperature”变量并双击,在弹出的“变量
属性”对话框中选择“报警属性”选项卡,如图6-2所示:
图6-2报警属性设置对话框 对话框设置如下:
低报警:10 温度低报警 优先级:1 高报警:90 温度高报警 优先级:1 报警组:温度
设置完毕后单击“确认”按钮,定义完成。
我们再定义数据模型中液位的报警。点击数据模型实例中的“activator”,弹出如图6-3所示画面,然后点击“liquid_level”弹出此变量的编辑框,在“Alarm”选项卡中选择报警组为:液位报警。
同样的方式定义数据模型实例中的“material”的“liquid_level”变量的报警组也设置为:液位报警。
这样变量的报警组就定义完成了。
报警还可以按照报警优先级来区分,当发生多个报警时,优先级高的报警信息先提示。
当KingSCADA3.1进入运行环境时,如果变量的值低于报警低限或者高于报警高限时都会发生报警信息,通知相关工作人员。
图6-3 数据模型实例
报警配置
在KingSCADA3.1开发环境的树型目录中选择“系统设置”→“报警与事件库服务设置”选项并双击,弹出配置对话框,如图6-4所示:
图6-4报警与事件配置对话框
在该对话框中不仅可以对报警事件的存储方式、打印方式、转发方式进行配置外,还可以对操作事件、登录事件和工作站事件的存储方式、打印方式、转发方式进行配置,配置方法基本上一致,下面就以报警 事件为例以进行介绍。
“存储配置”对话框设置如下:
图6-5存储配置对话框 其他设置项默认即可。
“报警数据库配置”对话框设置如下:
图6-6报警数据库配置对话框 其他设置项默认即可。
上述设置的含义是:满足条件的报警信息、报警恢复信息和报警确认信息产生后,系统自动将这些信息保存到KingSCADA3.1默认的报警数据库。
KingSCADA3.1默认的报警数据库不需要用户建立(默认是Access数据库),是系统自动生成的并生成四个表格文件,保存在工程目录下: Alarm:报警事件表格,记录所有的报警事件。 Operate:操作事件表格,记录所有的操作事件。 Enter:登录事件表格,记录所有的登录事件。
Station:工作站事件表格。记录所有的工作站事件。
报警输出
KingSCADA3.1.
工程在运行时产生的报警信息是通过报警窗口来显示的,KingSCADA3.1提供的报警窗口可以实现如下功能:
1、显示变量的当前报警状态,同一个变量的报警记录只显示最新记录。
2、显示当前缓存区中的所有历史报警记录,包括报警、恢复、确认三种记录。 注: 当系统退出后,当前缓存中的报警记录将随之消失,重新运行后将新生成的报警记录存入缓存区。
1、 可以按照条件查询报警数据库中的报警记录。 报警窗口配置过程如下: