好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

浅谈宏指令在威伦触摸屏中的应用.doc

6页
  • 卖家[上传人]:第***
  • 文档编号:32848167
  • 上传时间:2018-02-12
  • 文档格式:DOC
  • 文档大小:320KB
  • / 6 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 浅谈宏指令在威伦触摸屏中的应用[摘 要] 威纶 MT500 系列触摸屏以其较高的性价比,出色的性能在国内 OEM 设备制造商中拥有较大的使用量,其宏指令功能大大扩展了该系列产品的实用性和功能范围本文通过实例描写如何通过 MT500 的宏指令功能实现触摸屏和 PLC 之间的数据交换以及触摸屏内部控制逻辑的建立[关键词] 触摸屏 PLC 宏指令 VBScript1 引言威纶 MT500 系列触摸屏以其较高的性价比,出色的性能在国内 OEM 设备制造商中拥有较大的使用量,其宏指令功能更大大扩展了该系列产品的实用性和功能范围(在某些品牌的触摸屏中该功能被称为脚本程序) 其宏指令使用了一种类似于 VBScript 语言的格式,很多语句在 VBScript 中都可以见到,如 “If……Then……Else if” , “For……Next”,“While……Wend” 等常用语句下面本文通过实例描写如何通过 MT506MV 的宏指令功能实现触摸屏和三菱 FX2n 系列 PLC 之间的数据交换以及触摸屏内部控制逻辑的建立其它型号的 MT500 实现方法相同2 设计方法2.1 设计目的我们需要实现两个目的:(1) 通过宏指令程序实现当 PLC 的输入继电器 X20 和 X21 同时为 ON 时,输出继电器Y0 也为 ON。

      2) 在每个月的 6 号系统给出提示,显示“今天是 6 号” 2.2 软件设计打开 EasyBulider,单击“工具---- 宏指令” ,在打开的对话框中点“添加” ,如图 1 所示,为第一个宏指令取名为输入输出控制图 1 建立第一个宏指令在宏指令编写的过程中,我们按以下步骤进行操作:首先定义变量,其次为输入型变量赋值,然后进行逻辑运算,最后写输出变量按照上面的思路,在宏指令编辑窗口中输入以下内容:Macro_Command main() bool Input1,Input2,OutputGetData(Input1 ,X_Binplc ,20,1)GetData(Input2 ,X_Binplc ,21,1)If Input1 And Input2 ThenOutput = TrueElse If Input1 == False Then Output = False Else If Input2 == False ThenOutput = False End IfSetData(Output ,Y_Binplc ,0,1) End Macro_Command如图 2 所示:图 2 宏指令正文在此定义了三个Bool型变量,分别为Input1,Input2和Output,它们代表X20,X21和Y0。

      每条指令的注释见“//”后面的文本由于V2.7.2版的EasyBulider不能在图2所示的窗口中输入中文注释(输入中文注释时会导致程序停止响应),故将详细注释罗列于下:bool Input1,Input2,Output // 定义3个Bool型变量;GetData(Input1 ,X_Binplc ,20,1) //将X20的值赋给变量Input1;GetData(Input2 ,X_Binplc ,21,1) //将X21的值赋给变量Input2;If Input1 And Input2 Then //如果变量Input1和Input2都为1,Output = True //变量Output的值就为1; Else If Input1 == False Then //如果变量Input1不为1;Output = False //变量Output的值就为0.Else If Input2 == False Then //如果变量Input2 不为1;Output = False //变量Output的值也为0.End If //If条件结束 .SetData(Output ,Y_Binplc ,0,1) //将变量Output的值赋给Y0.最后编译并保存宏指令。

      但要让宏指令正常运行,还需要设置运行条件在“元件—PLC控制”中添加一个控制事件为“执行宏指令”,设置宏指令名称为“输入输出控制”,读取地址为LB0这样一来当LB0为ON时,就会执行宏指令 “输入输出控制”了如图3 所示:图3 设置PLC控制LB0属于触摸屏内部软元件,不能在PLC的程序中进行控制,所以为了让LB0 实现触摸屏开机即置ON ,有必要在画面中放置一个位状态设定元件,使其在开机画面显示时就将LB0置ON,以便宏指令运行点击“元件—位状态设定”,新建一个位状态设定元件,设置其输出地址为LB0,类型为窗口打开时置为ON,并使用适当的图形和标签表示该元件(更多的时候并不需要为该元件设置图形和标签,其外形应为透明的)如图4所示:图4 为LB0 设置属性经过上述设置,我们已经实现了在触摸屏显示开机画面时就开始运行宏指令“输入输出控制”,其执行结果应达到以下梯形图程序实现的功能:LD X20 ;AND X21;OUT Y0需要注意的是,因为在此处使用宏指令驱动了Y0 的线圈,在 PLC程序中对Y0 线圈的驱动则应慎重处理,避免出现双线圈驱动的情况当然使用上述程序结构不仅可以驱动Y,还可以驱动M, LB等软元件,或为D,LW等软元件赋值。

      要实现在每月6号提示“今天是6 号”,需要新建立一个宏指令来实现该功能在这个宏指令中我们调用触摸屏的实时时钟来判断当前日期需要注意:实时时钟RW60005(年),RW60004(月), RW60003(日)及时分秒的数据格式为BCD,而非BIN ,所以在将实时时钟赋值给宏指令中的变量时,应该使用GetData(Day ,RW_Bcdplc ,60003,1)形式的语句新建一个宏指令,取名为“提示信息”,并输入以下内容:Macro_Command main() int Daybool DisplayGetData(Day ,RW_Bcdplc ,60003,1) If Day == 6 ThenDisplay = TrueElse If Day 6 ThenDisplay = FalseEnd IfSetData(Display ,LB_Binplc ,1,1) End Macro_Command这段宏指令通过库函数GetData将RW60003 的当前值传送给变量Day,然后判断Day 是否等于6 ,如果是,则令 Bool型变量Display等于1;否则,变量Display等于0 。

      最后将变量Display 的值赋给LB1 通过“元件—报警信息登录 ”为LB1登录一条报警消息,然后在屏幕上放置报警条如图5 所示:图5:为LB1登录报警消息要让宏指令正常运行,还需要设置运行条件在“元件—PLC 控制”中添加一个控制事件为“执行宏指令”,设置宏指令名称为“提示信息”,读取地址为LB0这样一来当LB0为ON时,就会同时执行宏指令“提示信息”和“输入输出控制”了如图6所示:图6:设置“提示信息”的执行条件执行结果如图7所示:图7: “提示消息”执行结果3,结束语通过上面的操作,分别实现了触摸屏和PLC之间的数据交换以及触摸屏内部控制逻辑的建立目前国内使用的大部分触摸屏,其脚本程序都是基于VB语言或VB Script的,随着触摸屏的广泛应用和工控自动化与IT技术的不断融合,掌握一些高级语言的编程方法是非常有必要的参考资料:《宏指令使用手册》 程志刚, 台湾威纶科技有限公司;《Microsoft® VBScript Step by Step》 Ed Wilson;《Visual Basic从入门到精通》。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.