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