您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 05第五章动画连接与脚本程序
第五章动画连接与脚本程序北京亚控科技发展有限公司1第五章动画连接与脚本程序本章内容基本动画连接脚本程序概述为了使设计的画面与现场设备情况同步动起来,就要进行动画连接。动画连接主要实现监视与控制功能。所谓动画连接就是建立画面的图素与数据库变量的对应关系,使得变量数值的改变会反应到图形对象的外观的变化,这就是监视;将用户的动作与系统的行为联系起来,以便改变某些监控变量的值或执行一段动作,这就是控制。第一节基本动画连接前面一章我们在讲精灵图和图形模型的制作时已经用到了动画连接了,不同的图素动画连接也不一样。下面我们就有选择的介绍几种动画连接,在这里没有介绍到的动画连接请大家课后参考操作手册自己练习使用。水泵以及阀门的状态指示:本培训工程中有三个水泵,我们以水泵2为例,在水泵上制作一个指示灯来动态显示水泵的启停状态。我们在水泵上面画一个圆作为指示灯的图素,设置Brush属性,属性设置完成后我们设置动画连接,选择右侧“连接”或者双击图素,如图5-1所示,选择“属性-画刷”,弹出如图5-2所示动画连接画面,选择变量类型为离散类型变量。点击选择变量\\local\催化剂罐.泵控制。然后进行配置,条件为“true”图5-1动画连接时,选择颜色为绿色,为“false”时,选择颜色为红色。如图5-2所示。配置完成后点击确定完成水泵状态的颜色指示设置。同样的方式我们可以设置其他的水泵以及阀门的状态指示。注意关联的变量不要错了。第五章动画连接与脚本程序北京亚控科技发展有限公司2图5-2动画连接设置液位的报警指示:我们做一个原料罐与催化剂罐的液位的报警指示灯。我们利用闪烁与隐含的动画连接来实现。首先画一个圆作为报警灯的图素,然后选择右侧的“连接”或者双击图素,选择“闪烁-画刷闪烁”,弹出动画连接配置画面,点击选择变量,如图5-3所示,选择变量:原料罐.液位,然后点击变量域,选择变量的报警域Alarm,选择完成后点击OK,这样动画连接关联的变量为:\\local\原料罐.液位.Alarm,然后配置闪烁的速度,闪烁时画刷的颜色改变,配置完成后动画连接如图5-4所示:图5-3选择变量域第五章动画连接与脚本程序北京亚控科技发展有限公司3图5-4画刷闪烁动画连接配置完闪烁动画连接后我们再配置隐含的动画连接,选择右侧的“连接”或者双击图素,点击,选择“基本-可见性”,弹出动画连接对话框,然后选择关联的变量:\\local\原料罐.液位.Alarm。配置条件为真时显示即可。同样的方式设置催化剂罐的液位报警指示。我们也可以使用其他动画连接来实现闪烁的功能,例如使用“闪烁-可见性闪烁”的动画连接功能,关联变量为:\\local\原料罐.液位.Alarm。大家可以自己练习一下看效果与我们前面使用的动画连接有什么不同。阀门开闭控制:我们通过按钮做一个控制阀门开闭的功能。我们在出料阀门3旁边做一个按钮,然后修改“Caption”属性为“控制”,完成后选择右侧的“连接”或者双击按钮,选择“值输入-按钮输入”动画连接,弹出如图5-5所示动画连接,表达式类型选择离散类型,选择变量:\\local\反应釜出料阀门,操作选择“触变转换”。下面介绍一下各个操作表示的意思:直接设定:离散变量从0变为1,再恢复为0,也就是一个上升脉冲信号。取反设定:离散变量从1变为0,再恢复为1,也就是一个下降脉冲信号。触变转换:离散变量在0,1之间切换。置位:置1。置反:置0。第五章动画连接与脚本程序北京亚控科技发展有限公司4图5-5动画连接设置完成后点击确定即完成了此动画连接的设置。这样阀门开闭控制就完成了。注释文本显示:我们可以利用鼠标的触敏特效来实现当鼠标移动到一个物体上面后显示我们规定好的一串文本提示信息。我们以原料罐为例来说明实现的方式。选中原料罐模型对象,选择右侧的属性窗口,将属性“EnableTooltip”设置为“True”。需要注意的是图素此属性默认值为“False”。选择右侧的“连接”,或者双击原料罐,选择“动作-动态Tooltip”动画连接,弹出如图5-6所示动画连接对话框,我们可以在表达式编辑框中直接输入字符串变量或者通过双引号引起来的字符串内容,也可以将字符串内容与非字符串变量结合起来使用。例如我们输入:当前液位高度:+\\local\原料罐.液位。则在运行系统下,当鼠标移动到原料罐上面后会显示:当前液位高度:51.94,如图5-7所示:第五章动画连接与脚本程序北京亚控科技发展有限公司5图5-6动画连接图5-7运行状态显示画面切换:我们在一个工程中会有许多画面,可以通过按钮来实现各个画面的切换。我们前面定义的“监控画面”的大小为1024*700,我们新建一个“切换画面”,起始位置为Left:0,Top:700,Width:1024,Height:68。新建画面完成后,我们在画面上面做一个按钮,修改按钮的“Caption”属性为“监控画面”,然后选择右侧的“连接”或者双击按钮,选择“鼠标-左键按下”,弹出脚本编写对话框,在脚本编辑区输入:ShowPicture(监控画面);。这样就可以在运行环境下点击此按钮切换到“监控画面”画面了。我们在执行某些功能的时候会经常用到软件系统提供的各种函数,具体函数的意义请参考函数手册。以上介绍了部分动画连接的设置方法,关于其他没有介绍的动画连接请参考KingSCADA3.0用户手册。第五章动画连接与脚本程序北京亚控科技发展有限公司6第二节脚本程序KingSCADA3.0除了在定义动画连接时支持连接表达式,还允许用户编写脚本程序来扩展应用程序的功能,KingSCADA3.0提供的脚本是一种在语法上类似C语言的程序,工程人员可以利用这些程序编写逻辑控制程序,从而增强应用程序的灵活性。一、脚本语法:KingSCADA3.0支持的数据类型、运算符以及控制语句。一、支持的数据类型1、布尔类型:布尔常量:True,False布尔变量:布尔变量的类型符为bool,取值True和False2、整数类型整型常量:十进制整数,如123,-456,0。整型变量:有符号短整型和有符号长整型3、实数类型实型常量:十进制小数形式,如0.123、123.0、0.0。实型变量:单精度实型和双精度实型4、字符串类型字符串常量:使用双引号括起来的若干字符,如“kingview”,“script”等。字符串变量:字符串变量的类型符为String,定义形式如下:stringstr1,str2;5、引用类型定义引用变量:变量类型变量名,如:IntTaga;//定义整型引用变量使用引用变量:a=&intTag;//将引用变量a指向工程中定义的整型变量intTag。6、数组类型一维数组定义:类型说明符[常量表达式]数组名一维数组引用:数组名[下标]二、支持的运算符支持的运算符包括:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符等,具体介绍请参见用户手册三、支持的脚本语句支持的脚本语句包括:第五章动画连接与脚本程序北京亚控科技发展有限公司7赋值语句:变量(变量的可读写域)=表达式;跳转语句:Return、Break、Continue分支语句:If语句、switch语句循环语句:while语句、do-while语句、for语句二、脚本分类:KingSCADA3.0脚本从可见性上可以分成全局和局部事件脚本;全局事件脚本包括:1、应用程序脚本:指在工程启动时、关闭时或在程序运行期间周期执行的脚本程序。2、报警事件脚本:指当报警事件产生时执行的脚本程序。3、用户事件脚本:指当用户操作事件(包括:用户登录和用户注销)产生时执行的脚本程序。4、数据改变脚本:指连接的变量或变量域,在变量或变量域变化到超出数据字典中所定义的变化灵敏度时,被触发执行的脚本程序。5、事件脚本:指在某件事情发生时、消失时或存在期间周期执行的脚本程序。6、热键脚本:被链接到指定的热键上,工程运行期间,用户随时按下热键都可以执行这段脚本程序。7、自定义函数脚本:提供用户自定义函数,用户可以根据KingSCADA3.0的基本语法及提供的函数自己定义各种功能更强的函数,通过这些函数能够实现工程特殊的需要。8、定时脚本:指在工程运行期间,根据指定的时间,定时触发的脚本程序。局部事件脚本包括:1、画面脚本:指画面打开时、画面关闭/隐含时或画面运行时执行的脚本程序。2、画面图素脚本:指鼠标触敏该图素时执行的脚本程序。3、控件的事件脚本:指Windows通用控件和ActiveX控件的事件所触发的脚本程序。三、脚本应用:我们在本章主要介绍前面监控画面动态功能实现所用到的脚本程序,其他脚本程序例如报警事件脚本、用户事件脚本等我们会在以后介绍其他功能的时候来讲解。下面我们用脚本程序实现水泵启停控制。水泵启停控制:我们做一个按钮来控制水泵的启动停止控制,例如控制水泵3,要求是:当前为启动状态时按钮颜色为“绿色”,按钮文本为“停止”,当前为停止状态时按钮颜色为“红色”,按钮文本为“启动”。这样我们就需要根据水泵的状态来修改按钮的文本与颜色。按钮的文本可以修改“Caption”属性,按钮的颜色可以修改“Background”属性。为了修改“Background”属性,我们需要先定义两个颜色的内部参数。点击画面的空白处,然后选择右侧的“内容”,然后选择“内容”下面的“属性”,点击右键,弹出“添加属性”菜单,添加一个新的属性,如图5-8所示:属性名称为“红色”,类型为“Brush”,默认的颜色选择为“红色”。同样的方法增加绿色属性。第五章动画连接与脚本程序北京亚控科技发展有限公司8图5-8增加属性对话框颜色属性定义完成后我们在水泵3的图素旁边画一个按钮,选中按钮,然后修改“MemberAccess”属性为“true”。然后双击此按钮,选择“鼠标-左键按下”动画连接,弹出鼠标左键按下时的脚本编辑对话框。如图5-9所示,在脚本编辑框中编写脚本程序如下:if(\\local\反应釜出料水泵==1){\\local\反应釜出料水泵=0;Button1.Caption=启动;Button1.Background=红色;}else{\\local\反应釜出料水泵=1;Button1.Caption=停止;Button1.Background=绿色;}第五章动画连接与脚本程序北京亚控科技发展有限公司9图5-9鼠标左键脚本程序点击确定即可完成此脚本程序的编写。这样水泵启停控制就完成了。需要注意的是我们这里使用的是按钮脚本来控制水泵的启停,此脚本只有当按钮左键按下时才执行,其他时间是不会触发执行的,这样就会产生一个问题,当一进入运行系统时,按钮上面的颜色和文字可能与当前水泵状态不符,如何解决这个问题呢?我们可以使用“画面脚本”。画面脚本只有当画面打开或者关闭/隐藏或者显示时执行,如果此画面现在是关闭状态则不会执行。在此画面中不选中任何图素,点击右侧的“连接”,弹出如图5-10所示的画面,选择“基本-打开时”的画面脚本程序,然后编写如下脚本程序来控制按钮在画面打开时显示的文字和颜色。如图5-11所示:图5-10画面属性连接if(\\local\反应釜出料水泵==1){Button1.Caption=停止;Button1.Background=绿色;}else{Button1.Caption=启动;第五章动画连接与脚本程序北京亚控科技发展有限公司10Button1.Background=红色;}图5-11画面属性打开时脚本这样水泵启停控制脚本就完成了。课后练习:1、熟悉其他动画连接的设置,并将未完成的阀门、泵、液位等等动画连接完成,让监控画面动起来。
本文标题:05第五章动画连接与脚本程序
链接地址:https://www.777doc.com/doc-3118225 .html