APP下载

利用组态软件开发PLC实验仿真程序的方法与技巧

2018-04-20金恬

教师·下 2018年2期
关键词:图符触摸屏元件

金恬

受资金、设备、场地等因素的影响,在PLC实验仿真程序教学中常常用LED来模拟实验结果,这样的实验缺乏直观性,激发不起学生的学习热情。因触摸屏的直观、生动、灵活,所以,很多教师都曾试过用组态软件MCGS开发PLC实验用的触摸屏仿真程序。但至今为止,利用触摸屏建立的PLC虚拟实验室却始终没有被大规模推广。其中一个非常重要的原因就是编写触摸屏程序的工作量太大,其原因主要有以下几个方面:

一、元件库里找不到需要的元件

组态软件MCGS拥有庞大的元件库,但元件库中能用于教学仿真实验的元件真的很少,其中能够完全合乎需求的元件更少。比如,常见的交通灯控制实验,因为在MCGS的元件库中有交通灯和汽车两大主要元件,所以这个实验是应用MCGS软件进行仿真最多的实验之一。但查看了流传的各种方案后,就会发现实验界面非常简陋。为什么呢?因为元件库里的交通灯和汽车都是二维图形,左右方向放置的交通灯和汽车看起来还好,上下方向看起来就非常别扭了。如果在仿真程序中还想添加其他东西美化一下画面,丰富一下动画效果,那就变得困难了,因为元件库里面没有所需要的元件。故而元件库中可用元件数量严重制约了仿真实验程序的编写。

二、MCGS的软件画图界面相当不友好

MCGS画图工具箱里可以用的东西不少,有6种基本的图形,还有其他27种常用图形,但问题是这些工具只适合画一些简单的二维图形。仿真实验程序要想吸引学生就必须生动形象,这就决定了仿真程序内需要大量的三维图形和复杂的二维图形。

常见画图软件中可以通过组合多个图形,然后擦除不需要部分的方式得到一个新的图形,并可以对新的图形的各个部分涂上需要的颜色。但糟糕的是MCGS软件中没有橡皮擦及其类似工具可操作,而且多个图形组合形成新图形之后,也没有办法填充颜色。如要画一个半圆,常规思路就是先画一根弧线,再在弧线两端分别画一根直线,就构成一个半圆,最后在半圆内填充上颜色就完工了。但是放到MCGS里来做就不行了,卡在了最后一步填充颜色上。因为MCGS中用多个图形组成一个新的图形候,只能用构成图符和合成单元两个工具,不管是新的图符还是单元都不能填充颜色。那怎么办呢?一般在MCGS中的处理方式是先用椭圆工具画个圆,在圆内部填充需要的颜色;再用矩形工具画一个矩形,去掉边线,把填充色设置为背景色,用矩形遮住半个圆,这样看上去就只剩半个圆了,最后再在剩下半圆的边上叠加一条直线,这样就完成了。

三、程序的标准化程度低

大量研究者设计程序时完全没有考虑通用性、标准化,导致一个仿真实验程序编完后,编写另一个时又要从头开始,这样就会带来巨大的工作量,所以不解决程序的标准化问题就会严重的影响PLC虚拟实验平台的推广。在经过大量研究之后,笔者发现可以从以下几个方面着手来解决问题。

1.编写程序标准化

标准化分为两部分,一是程序结构的标准化,尽可能统一程序的界面;二是常用程序段落的标准化,提高程序的重复利用率。

实验的界面大致可以分成三个部分:实验介绍界面、IO选择界面、动画演示界面。在这几个界面里面除了动画演示界面变化比较大,其他两个界面变动都不大。所以统一程序界面之后,每次编写新的实验程序,很多地方就不用再画图了,只需要更换文字即可,这样既可以大大节约编程时间,又可以为进一步美化程序界面提供必要条件。

MCGS的程序主要涉及两块,一个是IO口的链接脚本,还有一个是动画效果脚本。其中IO口的链接脚本完全可以标准化。标准化的IO口链接程序,将软件的IO口做成可选择的方式,大大增加了软件的灵活性。这样的界面看似比固定IO口要复杂,但是这样一来,不管哪一个实验,IO口的界面都统一了,教师不用再费心向学生介绍每一个IO口的具体链接情况了。这样就增加了学生学习PLC编程的灵活性,也节约了教师大量的上课时间。比如,实验点亮一盏灯,要把PLC程序里面的输出端口链接到触摸屏灯的动画上, 此时只需要做一个列表组合框,在数据关联里填“输出端口1”,在ID号关联里面填“OUTlink1”,在选项设置里第一行填“请选择”,第二行填“Y0”,第三行填“Y1”,其他行以此類推。这样用触摸屏在下拉菜单选择时,“输出端口1”这个字符型变量就对应选中端口的名字,可以用来自动生成IO分配表。而“OUTlink1”就会对应0、1、2等ID号。新建一个循环脚本,修改循环时间为30ms,脚本如下:“IF OUTlink1=1 THEN\n 灯发光=设备0_读写y0000 \n ENDIF \n IF OUTlink1=2 THEN\n 灯发光=设备0_读写y0001\n ENDIF \n IF OUTlink1=3 THEN\n 灯发光=设备0_读写y0002\n ENDIF\n IF OUTlink1=4 THEN\n 灯发光=设备0_读写y0003\n ENDIF”。该脚本可以根据选择的ID号将对应的PLC输出端口链接到MCGS的动画中去。标准化IO口链接程序肯定会增加大量额外的脚本程序,但是这些脚本程序是可以重复利用的,可谓一劳永逸。

2.充分利用软件自带的元件库

当在MCGS自带的元件库中找不到可用的元件时,如果从头来制作一个新的元件,工作量实在太大了,所以不妨换个思路来解决这个问题。看看有没有哪个元件和需要的元件比较相似,或者部分相似。可以通过分解单元和分解图符两个功能把元件库里的元件拆开,把不需要的删掉,再修改尺寸,添加一些缺少的部分,最后就可以通过构成图符和合成单元构成需要的元件。如下图(右)这一个瓶子,在元件库里是找不到瓶子的,但是我们可以找类似的元件来修改,下图(左)是元件库里面的一个反应器,如果倒过来看很像一个瓶子。要将它变成一个瓶子有四个步骤。第一步:选中元件,点右键,选中菜单里面的排列和下一级菜单的分解单元;第二步:将分解出来的多余的部件全部删除,比如刻度线、阀门之类;第三步:添加缺少的部件,瓶子盖,下图(中)是第二步完成之后的图形,可以看到只需要添加一个矩形就构成一个瓶子了;第四步:选中所有部件,点击右键,选择“排列”,再根据需要在二级菜单选择构成图符或者构成单元。总而言之,这就是一个分解、修改、打包的过程。这样做充分利用了原有的元件,大大减少了工作量。

在制作仿真程序过程中把一些应用很广的元件和动画部件保存下来是一个很好的习惯。长期累积下来,会使编程轻松许多。比如,如何使一个圆看上去在转动,最简单的就是在圆内部加一根弧线,让这根弧线不停转动。这个元件用处非常之广泛,比如在用到传送带时,可以叠加在传送带轴上;在用到轮子时,可以叠加在轮子上。

一个人的力量终究是有限的。在中国工控网的自动化论坛里面常有网友寻求帮助,希望获得一些MCGS的元件,也有很多网友伸出了慷慨之手。所以在专业论坛中与网友交换素材可以更快速地丰富自己的元件库。

参考文献:

[1]徐国林.基于MCGS环境下的PLC应用仿真实验教学[J].烟台职业学院学报,2007(2):90-92.

[2] 周美兰,周 封,王岳宇.PLC电气控制与组态设计[M].北京:科学出版社,2003.

猜你喜欢

图符触摸屏元件
PLC和触摸屏在卫生间控制系统的应用
QFN元件的返工指南
在新兴产业看小元件如何发挥大作用
论“坡芽歌书”符号形象的审美意蕴
计算机辅助飞机制造协调路线图设计研究
Cu4簇合物“元件组装”合成及其结构与电催化作用
投射式多点触控电容触摸屏
触摸屏项目移植在自动化系统升级中的应用
压力容器法兰的参数化绘制方法
电子图板的图库技术在化工设备设计中的应用