脚本编程在工控软件中的应用
扫描二维码
随时随地手机看文章
1MCGS嵌入式组态软件概述
组态软件在工业控制领域得到了大量应用 ,本文以国内昆仑通态MCGs嵌入版软件为例 ,分析了几种常用的组态软件的脚本编程方法。MCGs嵌入版还带有一个模拟运行环境 ,用于对组态后的工程进行模拟测试 ,主要编程内容有基本逻辑运算、加减乘除赋值、布尔逻辑、位逻辑、条件判断IF。
2 脚本编程案例分析
图1是一个电气控制系统中的启动画面 , 当按下"调试模式"的时候设备会依次按顺序启动并进行检查 , 当按下"自动模式"时 ,系统会按编写好的要求自动完成所有工作 。调试模式控制系统自动开启并完成所有电机工作调试 ,该按钮的脚本编辑代码如下:
IF!Logon( )=0 THEN
调试模式.open( )
endif
m250=1
其中m250=1就是启动条件 ,该脚本编写完成了一键启动所有电机的任务 , 当点击进入菜单以后马上启动第一 台电机工作。
图1 启动选择画面
如果需要按照一 定顺序完成电机控制 ,就需要进入电机自动模式 ,代码如下:
IF!Logon( )=0 THEN
自动模式.open( )
Endif
m200=1
m201=1
m202=1
m203=1
m204=1
这些m是内部寄存器 , 当参数为1的时候电机就按这个次序依次启动。
在组态软件中需要于多个选项中选中一个并完成控制 ,例如图2中多个电机的调试模式 ,这是一 个多个电机控制画面 ,通过下拉菜单选中相应电机并控制启动。比如选中通风机然后点击"确定"键 , 电机就会启动并工作 , 同时触摸屏的相应显示灯光点亮。
图2 下拉菜单选择画面
相应的脚本程序如下:
1F!strComp(xlk, "压缩机" )=0 THEN
m200=1
else
m200=0
endif
1F !strComp(xlk, "冷凝风机1" )=0 THEN
m201=1
else
m201=0
endif
1F !strComp(xlk, "冷凝风机2" )=0 THEN
m202=1
else
m202=0
endif
1F!strComp(xlk, "通风机" )=0 THEN
m203=1
else
m203=0
endif
1F !strComp(xlk, "车辆电机" )=0 THEN
m204=1
else
m204=0
endif
该脚本程序使用了选择语句与比较语句 , 由于下拉菜单
中选项较多 ,所以判断语句1F和else反复使用多次 。需要注意的是 , 中文在脚本编程里面也是按照字符来看待的 。strComp 指令是比较字符型函数 , 比较两个字符串是否相等 ,返回值为0时相等就是选中了 ,否则不相等没有选中 。这是一种多电机可以不按次序来选中控制的方法。
如果需要单个按钮通过不断按下来循环控制多个电机 ,例如分别有四个电机需要通过一个按钮循环控制 , 则脚本编程的代码如下:
iftsall=0then tsal="选择调试按钮"
iftsall=1 thentsal="货物传送带电机"
iftsall=2 thentsal="托盘传送带电机"
iftsall=3 thentsal="伺服电机"
iftsall=4 thentsal="步进电机"
iftsall=5 then tsall=0
分析该程序可以看出 ,达到控制 目 的的方法是计算按钮按下的次数 ,tsall里面的数字就是按钮按下的次数的统计数字 ,按钮按下的次数可以借助PLC的计数器来计算 , 当PLC的计数器记下数字以后通过回传再把按下次数回传给存储器 ,脚本程序通过读取回传的数字再基于判断指令分别控制相应电机工作 。这种控制方式在按钮使用不多但需要循环控制电机工作的环境中大量使用 ,其优点是按键少 ,控制电机较多。
3 结语
以上脚本编程方法为几种基本的脚本编写方法 ,可以看出 ,通过以上方法配合其他电气设备可以完成复杂的电气控制 ,使得设备运行控制方法更多。脚本编程在使用时要特别注意编程软件语法与格式 ,通过编程完善电气控制的相关功能 。编程完成后 ,客户可以使用本文前面提到的模拟运行环境来模拟运行 ,检查脚本程序运行正确与否。