组态王图形显示与动画功能范例
本文通过几个图形显示与动画功能典型实例,来证实组态软件亚控组态王Kingview强大的图形功能,而图形功能是组态软件的核心部分,也是计算机数据采集与控制系统人机界面HMI的核心部分。
1、概述
当前,一个学习和应用工控组态软件的热潮正在兴起![1,2]基于PC(PC-based)的自动化以及电子技术的现代化日益受到人们的注意和青睐,并深刻地改变着自动化及电子世界的面貌,而基于PC和Windows的组态软件区别于C++和VB等通用计算机语言,它是一种适合工业和实验室的实时语言,是工程师、科学工作者、教学工作者和工人们的日常工作语言,因此格外受到欢迎,这种语言也可称为工业及实验室实时语言IALTL(IndustryandLaboratoryTimeLanguage),这种语言日益成为高等学校理工类学生必修的语言,正如办公自动化语言Office是所有大学生必修的语言一样。这种语言本身由C++和VB开发而成,因而层次更高,使用更方便。组态软件具备强大的图形处理、信息处理、通讯、数学运算、数据采集、数据处理和数据存储功能,特别适合于映射工业对象动作和各种特性以及电子信号的图形显示和动画处理,也具备较强的控制功能。相对而言,根据国际电气标准IEC61131-3规定的PLC的5种语言[基于图形的功能块图FBD(FunctionBlockDiagram)、梯形图LD(LadderDiagram)、顺序功能图SFC(SequentialFunctionChart),基于文本的指令表IL(InstructionList)和结构化文本ST(StructuredText)]是当今功能最强大的进行逻辑与过程控制的工业实时语言,相对于普通组态软件进行控制时常采用的类C和类BASIC语言,PLC语言的可视性和可读性要强得多。据此,某些组态软件将原本属于PLC的5种语言嵌入进来,形成“软PLC”,并支持插在PC机ISA和PCI插槽中的各类I/O卡,这时候的PC机或基于PC的IPC也可称为广义PLC。事实上,当今一些著名的PLC厂商已经开发出软硬件基于PC的完全开放式的PLC产品。这样,可将组态软件有关控制的职能移交给内置的“软PLC”,而如何进一步完善、加强和应用作为主体的图形显示、动画处理、信息处理和数据存储等功能显得格外迫切,尤其是图形显示和动画处理,即人机界面HMI最为重要。现流行的组态软件种类繁多(事实上,如虚拟仪器语言Labview和仿真软件MATLAB均属于组态软件范畴),北京亚控自动化公司的组态王Kingview是优秀国产组态软件,与其配套的为外置式亚控“软PLC”KingACT。本文试图列举若干个组态王的图形功能基本范例,来展示组态王的图形风采。
2、组态王的图形及动画功能
组态王工具箱中的基本图素:直线、扇形、填充图形(封闭图形,内部可填充色彩,有:椭圆和圆角矩形)、折线、管道、多边形、文本、按钮和点位图,它们均具有图形及动画功能。它们中填充图形类动画连接框如图1所表示,其余图素的动画连接框结构相同,只是某些动画属性选项略有差异。
图1填充图形类(椭圆和圆角矩形)动画连接框
从图1中可知填充类图形(椭圆和圆角矩形)无属性文本色和输出值各选项,而基本图素之一的文本无属性变化中的线属性和填充属性,也无位置与大小变化中的填充、缩放和旋转属性,却有属性文本色和输出值各选项,各对象各有特点。什么是动画连接?所谓“动画连接”就是建立画面的图素与数据库变量的对应关系。建立动画连接后,根据数据库中变量的变化,图形对象可以按动画连接的要求进行改变。数据库中的变量可以是内存变量,也可以是I/O变量。I/O变量是工业控制过程和科学实验中的各种物理量。若按物理量的数学形态分类有:数字式开关量和连续式物理量;若按物理量的物理形态分类有:开关的通断、位移、速度、加速度、质量、大小、颜色、电压、电流、温度、压力、流量、液位、物质浓度、亮度、酸碱度、种类繁多的化学及生物物理量。这样,工业控制过程和科学实验五彩缤纷的客观世界就可呈现在计算机屏幕上,这是人们梦寐以求的,因为“一幅画可抵得上千言万语”。
3、组态王的图形及动画功能设计范例
例1“属性变化”、“位置与大小变化”、组合图素、合成单元和图形工具命令语言的简单应用。
启动组态王工程管理器,新建一个工程。图形画面如图2(运行时)所示,画面底版用圆角矩形制作,并应用了过渡色。
图2图形功能设计范例画面(运行时)
(1)填充与自制棒图选取线属性(表达式取常数0,运行时线的粗细和颜色不随时间而变)、填充属性(动画连接表达式取填充0,事先定义的变量,内存实数,要分段设置画刷和颜色,不妨设:0—红,20—黄,40—绿,60—青,80—兰,100—紫色。运行时调节游标,可得变色棒图)和填充(表达式取:填充0),用图库中的游标(表达式取:填充0)控制。
(2)缩放选取线属性(表达式取0)、填充属性(表达式取0)和缩放(表达式取:缩放0),用游标控制。
(3)旋转0选取旋转(表达式取:旋转0),用游标控制。
(4)旋转1选取旋转(表达式取:旋转1),用启动和停止按钮(它们用椭圆和文本制成组合图素)控制。启动和停止按钮弹起时的命令语言分别为:
\\本站点\旋转启停0=1;
和
\\本站点\旋转启停0=0;
画面命令语言显示时的代码为:
\本站点\旋转1=10;/*刚进入运行时,图形初始转角为36度*/
存在时的代码为:
if(\\本站点\旋转启停0==1)\\本站点\旋转1=\\本站点\旋转1+1;else\\本站点\旋转1=\\本站点\旋转1;if(\\本站点\旋转1==101)\\本站点\旋转1=0;
(5)水平移动和垂直移动可以将水平移动连接和垂直移动连接结合使用,选取水平移动(表达式取:水平移动0)和垂直移动(表达式取:垂直移动0),分别用两个游标控制。
(6)自制软按钮和软灯软灯用椭圆制作,填充属性(表达式取:自制软按钮0),自制软按钮用圆角矩形和文本制成合成单元,应该注意圆角矩形在合成单元前就要动画连接。“按下时”的命令语言:
\\本站点\自制软按钮0=1;/*软灯的填充属性阈值为1。也可用100赋值,这时填充属性阈值为100(默认值)*/
弹起时的命令语言:
\\本站点\自制软按钮0=0;
例2模拟值输入连接。过程控制系统中设定温度(期望值)在线实时运行修改。
图形画面仍如图2所示。模拟输入图形对象为用圆角矩形和文本制成的合成单元,应该注意圆角矩形在合成单元前就要动画连接。运行时,模拟值键盘输入对话框如图3所示。
图3模拟值键盘输入对话框(运行时)
例3滑动杆(滑杆、游标)输入连接和文本值输出的简单应用。首先定义变量:水平滑动杆输入坐标X设定0,垂直滑动杆输入坐标Y设定0,内存实数。用合成单元技术建立一个XY坐标系,在原点设置具有水平和垂直两种滑动杆输入连接性能的圆,以此圆作为滑动杆,并设置两个接收文本,以显示XY坐标值,文本值输出取模拟值输出。图形画面仍如图1所示。
例4特殊动画连接闪烁和隐含的简单应用:灯光的闪烁,位图一棵树及“退出运行系统”按钮的隐含。首先定义变量:闪烁0,隐含0,内存离散。图形画面仍如图1所示。
(1)灯光的闪烁8条光线选择闪烁连接,闪烁条件取“闪烁0==1;”,闪烁速度500ms,其中左上、右上、左下和右下4条光线在组态王开发系统中设置时只能水平放置,故还要进行旋转连接,表达式取12.5(对应45度),同时要考虑顺时针或反时针方向问题。由于工具箱中按钮的字体不能任意放大,故用合成单元技术将按钮与文本建立成一个“闪烁/停止”按钮,其“按下时”的程序码为:
/*若原来不闪烁,则按下“闪烁/停止按钮”就开始闪烁;反之,按下“闪烁/停止按钮”就停止闪烁,如此等等*/
if(\\本站点\闪烁0==0)\\本站点\闪烁0=1;else\\本站点\闪烁0=0;
(2)位图一棵树及“退出运行系统”按钮的隐含位图一棵树取自WINDOWS图片/自然界,可通过WORD编辑等方法获取,“退出运行系统”按钮后面要叙述。隐含条件取“隐含0==1;”。用合成单元技术建立一个“隐含/复现”按钮,其“按下时”的命令语言代码为:
/*若原来不隐含,则按下“隐含/复现按钮”就开始隐含;反之,按下“隐含/复现按钮”就停止隐含而复现,如此等等*/
if(\\本站点\隐含0==0)\\本站点\隐含0=1;else\\本站点\HMTX隐含0=0;
例5组态王图库中的元素称为“图库精灵”。之所以称为“精灵”,是因为它们具有自己的“生命”。图库精灵在外观上类似于组合图素,但内嵌了丰富的动画连接和逻辑控制。用户可以根据自己工程的需要,将一些需要重复使用的复杂图形做成图库精灵,加入到图库管理器中。组态王提供两种方式供用户自制图库。一种是编制程序方式,即用户利用亚控公司提供的图库开发包,自己利用VC开发工具和组态王开发系统中生成的精灵描述文本制作,生成*.dll文件。关于该种方式,详见亚控公司提供的图库开发包。另一种是利用组态王开发系统中建立动画连接并合成图素的方式直接创建图库精灵。在此将对第二种方式做详细说明。现举一个制作图库精灵的例子。画面上一个按钮,代表一个开关,开关打开时按钮为绿色,开关关闭后变为红色,并用这个按钮控制一个软灯。所设计出的图形画面仍如图1所示。
在设计时,首先要用合成单元技术制作一个绿色按钮(开)和一个红色按钮(关),用一个变量(取为:图库精灵开关0)和它们连接,红色按钮的隐含条件表达式为:“图库精灵开关0==1;”,“弹起时”的命令语言代码;
\\本站点\HMTX图库精灵开关0=1;
绿色按钮的隐含条件表达式为:“HMTX图库精灵开关0==0;”,“弹起时”的命令语言代码;
\\本站点\HMTX图库精灵开关0=0;
最后把它们叠在一起,并制成合成单元,红色按钮在上面(图3-61中显示为“开”,因为已经用鼠标按下弹起了一次),这就是“按钮精灵”
。由于两个按钮大小相同,叠在一起并制成合成单元较复杂,方法为:叠在一起以后,先将底板(非原始底板)移动到别处,激活红色按钮,将其“图素后移”,按下ctrl键,激活绿色按钮,将绿色按钮“图素后移”,红色按钮又在上面,而后合成单元。松开ctrl键,打开图库,经图库管理器/编辑,创建新图库,取名“自制图库”,关闭图库管理器,激活合成按钮,经标题条图库/创建图库精灵/新的图库图名称,取名“自制按钮0”,确认后,出现图库管理器,选取其中的“自制图库”,将“按钮精灵”放到“自制图库”中。如此,制作“自制图库”和“按钮精灵”全部完毕。这样工程人员只要把“按钮精灵”从图库拷贝到画面上,它就具有了“打开为绿色,关闭为红色”的按钮功能。
图库中的几乎每个精灵都有类似的已经定义的动画连接,所以使用图库精灵将极大地提高设计界面的效率。例如使用第一种方式即用VC编制程序制作的图库精灵具有自动控制图形外观和进行变量设置等的向导功能。用第二种方式制作的图库精灵放到画面上以后,双击之,出现“内容替换”框,可以根据用户具体需求改变变量名称,替换动画连接属性。这是第二种方式“图库精灵”的使用特点。
图1中,软灯用4个矩形块组成,设置“填充”属性,再同大矩形块合成单元。
例6运行系统中三个画面的切换与运行画面的全部退出。设当前画面“图形功能HMTX”与隐含画面“多功能IO卡HMIO”及画面“可编程控制器PLCHMPLC”相互之间要切换,并具有退出“组态王运行系统”功能。所设计出的图形画面仍如图1所示。
首先用合成单元技术制作4个按钮:退出本画面、IO卡画面、PLC画面和退出运行系统按钮,它们的“弹起时”命令语言代码分别为:
“ClosePicture("图形功能HMTX");”,“ShowPicture("多功能IO卡HMIO");”,“ShowPicture("可编程三菱PLCHMPLC");”,“Exit(0);”。
退出运行系统画面按钮还设置了隐含属性,隐含条件表达式取“隐含0==1;”(见例4)。代码“Exit(0);”:若改成“Exit(1);”,表示计算机总安全关机;若改成“Exit(2);”,表示退出运行系统,Windows重新启动。当退出运行系统按钮被隐含时,鼠标操作失效;但当用别的图形遮盖时,即使合成单元,鼠标操作也不失效。在进行画面安全操作性能设计时要考虑这些因素。
4、结束语
本文所举的几个图形设计范例均是最简单的,但却是最基本的,而复杂的图形画面和动画一般是这些基本功能的复合和嵌套。图形和文字处理功能是当今计算机日益普及的基石。组态王支持各种I/O卡、PLC和智能化仪表及电器,可以预料带有网卡的家用电器也将不断涌现,这样,基于PC和Windows的五彩缤纷的组态画面将工厂、学校和家庭的大大小小的设备融合在一起,进而同其它Windows应用程序画面融合在一起。
文章版权归西部工控xbgk所有,未经许可不得转载。