3505第五章动画连接与脚本程序资料Word下载.docx
《3505第五章动画连接与脚本程序资料Word下载.docx》由会员分享,可在线阅读,更多相关《3505第五章动画连接与脚本程序资料Word下载.docx(12页珍藏版)》请在冰豆网上搜索。
图5-2动画连接设置
点击
选择变量\\local\material.water_pump。
然后进行配置,条件为“true”时,选择颜色为绿色,为“false”时,选择颜色为红色。
如图5-3所示。
配置完成后点击“确定”完成水泵状态的颜色指示设置。
图5-3动画连接设置
同样的方式我们可以设置其他的水泵以及阀门的状态指示。
注意关联的变量不要错了。
液位的报警指示
我们做一个原料罐与催化剂罐的液位的报警指示灯。
我们利用闪烁与隐含的动画连接来实现。
首先画一个圆作为报警灯的图素,然后选择右侧的连接,点击
,选择“闪烁—画刷闪烁”,弹出动画连接配置画面,点击
选择变量,如图5-4,选择变量\\local\material.liquid_level,然后点击变量域,选择变量的报警域Alarm,选择完成后点击OK,这样动画连接关联的变量为\\local\material.liquid_level.Alarm,然后配置闪烁的速度,闪烁时画刷的颜色改变,配置完成后动画连接如图5-5所示:
图5-4选择变量域
图5-5画刷闪烁动画连接
配置完闪烁动画连接后我们再配置隐含的动画连接,选择右侧的连接,点击连接,选择“基本—可见性”,弹出动画连接对话框,然后选择关联的变量\\local\material.liquid_level.Alarm。
配置条件为真时显示即可。
同样的方式设置催化剂罐的液位报警指示。
水泵启停控制:
我们做一个按钮来控制水泵的启动停止,例如控制反应釜出料水泵,要求是:
当前为启动状态时按钮颜色为“绿色”,按钮文本为“停止”,当前为停止状态时按钮颜色为“红色”,按钮文本为“启动”。
选择UI控件中的按钮。
按钮的文本修改是“Caption”属性,按钮的颜色修改是“Background”属性。
为了修改“Background”属性,我们需要先定义两个颜色的内部参数。
点击画面的空白处,然后选择右侧的“内容”,然后选择“内容”下面的“属性”,点击右键,弹出“添加属性”菜单,添加一个新的属性,如图5-6所示:
属性名称为“红色”,类型为“画刷”,默认的颜色选择为“红色”。
点击“添加属性”同样的方法增加绿色属性。
图5-6增加属性对话框
颜色属性定义完成后我们在反应釜出料水泵的图素旁边画一个按钮,选中按钮,然后选择右侧的“属性”,选“MemberAccess”,改为“true”,保存画面。
双击“按钮”,在鼠标左键按下时的脚本编辑对话框。
如图5-7所示,在脚本编辑框中编写脚本程序如下:
If(\\local\water_pump==1)
{
Button1.Caption="
停止"
;
Button1.Background=绿色;
\\local\water_pump=0;
}
else
Button1.Caption="
开启"
Button1.Background=红色;
\\local\water_pump=1;
}
图5-7鼠标左键脚本程序
点击确定即可完成此脚本程序的编写。
这样水泵启停控制就完成了。
阀门开闭控制
我们下面也通过按钮做一个控制阀门开闭的功能。
这次使用的动画连接方法与前面水泵控制的不同,这个不需要进行脚本程序的编写,直接关联变量然后进行设置即可。
通过讲解也给大家提供另外一种实现方式的思路。
我们在反应釜进料阀门1旁边做一个按钮,然后修改“Caption”属性为“控制”,完成后选择右侧的“连接”,点击增加连接,选择“值输入—按钮输入”动画连接,弹出如图5-8所示动画连接,表达式类型选择离散类型,选择变量\\local\valve_gate1,动作选择“触变转换”。
下面介绍一下各个操作表示的意思:
直接设定:
当鼠标按下时将表达式中变量值设置为True;
当鼠标弹起时将表达式中变量值设置为False。
选择该动作时,数据发送方式中只能选择“鼠标按下时连续发送”方式。
取反设定:
当鼠标按下时将表达式中变量值设置为False;
当鼠标弹起时将表达式中变量值设置为True。
触变转换:
当表达式中变量值为True时,则通过鼠标按下动作,将表达式中变量值设置为False;
当表达式中变量值为False时,则通过鼠标按下动作,将表达式中变量值设置为True。
选择该动作时,数据发送方式中只能选择“鼠标释放时”方式。
置位:
当鼠标按下时将表达式中变量设置为True。
选择该动作时两种数据发送方式都可以选择。
置反:
当鼠标按下时将表达式中变量设置为False。
图5-8动画连接
设置完成后点击确定即完成了此动画连接的设置。
这样阀门开闭控制就完成了。
注释文本显示
我们可以利用鼠标的触敏特效来实现当鼠标移动到一个物体上面后显示我们规定好的一串文本提示信息。
我们以原料罐为例来说明实现的方式。
在画面编辑器中,通过菜单“文件—打开—图形模型”,找到第四章中建好的图形模型“罐”打开,选择图形模型中的精灵图PictureWrap1,在其属性窗口中,将精灵图的属性“EnableTooltip”设置为“True”。
需要注意的是图素此属性默认值为“False”。
在精灵图PictureWrap1的连接窗口,将“FluidValue”关联变量“液位高度”;
双击精灵图PictureWrap1添加连接“动作—ToolTip”动画连接,弹出如图5-9所示动画连接对话框
图5-9动画连接
我们可以在表达式编辑框中直接输入字符串变量或者通过双引号引起来的字符串内容,也可以将字符串内容与非字符串变量结合起来使用。
例如我们输入:
"
当前液位高度:
"
+液位高度。
则在运行系统下,当鼠标移动到原料罐上液位显示精灵图范围后会显示:
0,如图5-10所示:
图5-10运行状态显示
画面切换
我们在一个工程中会有许多画面,可以通过按钮来实现各个画面的切换。
我们前面定义的“监控画面”的大小为1280*1024,我们新建一个切换画面,起始位置为Left:
0,Top:
700,Width:
1024,Height:
68。
新建画面完成后,我们在画面上面做一个按钮,修改按钮的“Caption”属性为“监控画面”,然后选择右侧的“连接”,选择“左键按下”,弹出脚本编写对话框,在脚本编辑区输入:
ShowPicture("
监控画面"
);
。
这样就可以在运行环境下点击此按钮切换到“监控画面”画面了。
我们在执行某些功能的时候会经常用到软件系统提供的各种函数,具体函数的意义请参考函数手册。
以上介绍了部分动画连接的设置方法,关于其他没有介绍的动画连接请参考KingSCADA3.51用户手册。
第二节脚本程序
KingSCADA3.51除了在定义动画连接时支持连接表达式,还允许用户编写脚本程序来扩展应用程序的功能,KingSCADA3.51提供的脚本是一种在语法上类似C语言的程序,工程人员可以利用这些程序编写逻辑控制程序,从而增强应用程序的灵活性。
一、脚本语法:
KingSCADA3.51支持的数据类型、运算符以及控制语句。
1、支持的数据类型
1)布尔类型:
布尔常量:
True,False
布尔变量:
布尔变量的类型符为bool,取值True和False
2)整数类型
整型常量:
十进制整数,如123,-456,0。
整型变量:
有符号短整型和有符号长整型
3)实数类型
实型常量:
十进制小数形式,如0.123、123.0、0.0。
实型变量:
单精度实型和双精度实型
4)字符串类型
字符串常量:
使用双引号括起来的若干字符,如“kingview”,“script”等。
字符串变量:
字符串变量的类型符为String,定义形式如下:
stringstr1,str2;
5)引用类型
定义引用变量:
变量类型变量名,如:
IntTaga;
//定义整型引用变量
使用引用变量:
a=&
intTag;
//将引用变量a指向工程中定义的整型变量intTag。
6)数组类型
一维数组定义:
类型说明符[常量表达式]数组名
一维数组引用:
数组名[下标]
2、支持的运算符
支持的运算符包括:
算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符等,具体介绍请参见用户手册
3、支持的脚本语句
支持的脚本语句包括:
赋值语句:
变量(变量的可读写域)=表达式;
跳转语句:
Return、Break、Continue
分支语句:
If语句、switch语句
循环语句:
while语句、do-while语句、for语句
二、脚本分类:
KingSCADA3.51脚本从可见性上可以分成全局和局部事件脚本;
全局事件脚本包括:
1、应用程序脚本:
指在工程启动时、关闭时或在程序运行期间周期执行的脚本程序。
2、报警事件脚本:
指当报警事件产生时执行的脚本程序。
3、用户事件脚本:
指当用户操作事件(包括:
用户登录和用户注销)产生时执行的脚本程序。
4、数据改变脚本:
指链接的变量或变量域,在变量或变量域变化到超出数据字典中所定义的变化灵敏度时,被触发执行的脚本程序。
5、事件脚本:
指在某件事情发生时、消失时或存在期间周期执行的脚本程序。
6、热键脚本:
被链接到指定的热键上,工程运行期间,用户随时按下热键都可以执行这段脚本程序。
7、自定义函数脚本:
提供用户自定义函数,用户可以根据KingSCADA3.51的基本语法及提供的函数自己定义各种功能更强的函数,通过这些函数能够实现工程特殊的需要。
8、定时脚本:
指在工程运行期间,根据指定的时间,定时触发的脚本程序。
局部事件脚本包括:
1、画面脚本:
指画面打开时、画面关闭/隐含时或画面运行时周期执行的脚本程序。
2、画面图素脚本:
指鼠标触敏该图素时执行的脚本程序。
3、控件的事件脚本:
指Windows通用控件和ActiveX控件的事件所触发的脚本程序。
我们在本章主要介绍前面监控画面动态功能实现所用到的脚本程序,其他脚本程序例如报警事件脚本、用户事件脚本等我们会在以后介绍其他功能的时候来讲解。
课后练习:
1、熟悉其他动画连接的设置,并实现如下功能:
在画面上添加一个风扇,可以控制风扇的旋转。