张宝霞,陈无畏
(合肥工业大学机械与汽车工程学院,安徽合肥230009)
三菱PLC编程口通信在监控中的应用研究
张宝霞,陈无畏
(合肥工业大学机械与汽车工程学院,安徽合肥230009)
利用三菱PLC编程口通信协议,使用Visual Basic编程语言编程,实现计算机对PLC的监控,对于简单的小型单机控制系统具有应用价值。
PLC;编程口通信;VB;监控
日本三菱公司的FX系列PLC是我国应用较为广泛的一种PLC,许多单机控制系统都使用它。但其编程口在传输程序后就处于闲置状态,与计算机通信却另外配置模块,对于简单的小型单机控制系统来说,这样无疑增加了硬件成本。
目前,一些控制系统的计算机监控界面主要由工业组态软件生成,其功能强大、界面友好,但软件价格昂贵,适用于中大型控制系统。对于简单的小型单机控制系统,利用Windows通用编程语言编写监控软件更为经济。
本文研究的就是用Visual Basic编程语言编写符合三菱FX1N系列PLC编程口通信的简单监控程序,以实现对控制系统的监控。这种监控方式对简单的小型单机控制系统,成本较低,有一定的参考和应用价值。
图1 系统组成简图
本文的控制系统由计算机和三菱FX1N型PLC组成,如图1所示,两者之间通过SC-09编程电缆连接。SC-09编程电缆平时用于FX1N型PLC的程序传输,这里还用于PLC与计算机的通信,这样就省去了FX1N型PLC与PC的专用通信模块FX-232AW,减少了硬件费用。
FX1N编程口通信采用三菱的专有通信协议。通信时,PLC不用为通信编写程序,计算机按规定格式向PLC发出各种指令,PLC根据指令返回信息。计算机向PLC发送的指令有四种,本文计算机的任务是监控PLC,是计算机读取PLC中寄存器的内容,报文格式如下:
PLC向PC读指令发送的确认回答报文格式如下:
以上报文格式中,STX是信息帧开始标记,ASCII码为02H,读指令代码为“0”,首地址即为所读取的PLC寄存器的开始地址,字节数即为所读数据的长度,ETX为信息帧结束标记,ASCII码为03H,报文采用的是总和校验方式。
返回报文中的数据即为寄存器的内容,个数与命令报文中的字节数相同。通过编程,可以取出这些数据,并显示出来,达到监控的目的。
计算机一般监控PLC的输入输出状态和数据寄存器的内容,本文以计算机实时读取三菱FX1N-24MR的X0-X7、Y0-Y7、D1和D2为例,设计了一种简单的监控界面,以介绍软件的设计过程。监控界面如图2所示。实际系统的监控界面可根据要求修改名称并相应增减其他一些复杂的指示控件即可。
图2 监控界面
图中三个Frame中是要监控的对象,最下一行的四个定时器控件和一个通讯控件是程序设计的主要控件,用来实现周期性读取PLC寄存器内容并显示在监控界面上的任务。
要使用MSComm控件,首先需要对此控件的属性和方法、事件进行相应初始化,然后再进行简单的编程操作,就可以容易地实现串口通信。定时器控件的使能属性为真后,系统开始计时。计时时间到后,定时器控件触发Timer事件,在该事件过程中可以编写读取PLC寄存器的内容,以便显示在监控界面上。四个定时器实现了对四种寄存器的内容周期性的读取。
程序设计关键的一步是根据任务要求进行程序结构设计。根据结构可以容易和较为准确地设计程序。这样设计出的程序阅读和修改方便,易于以后的扩展。
本文监控软件程序结构如图3所示。分为两大部分,一是主流程,另一是主要的子过程,是被主流程中的事件过程所调用的。主流程主要分为五步。首先通过对MSComm控件的属性赋值,设置通信参数,使上位机与PLC能够通信,同时第一个定时器使能,系统开始计时。计时时间到后,触发Timer事件,调用读取X0-X7过程。在此过程中接收转换数据并显示。调用结束后,第一个定时器禁止使能,第二个定时器使能工作,系统又开始计时。第二个计时器时间到后,又触发Timer事件,这次调用读取Y0-Y7过程。调用结束后,第二个定时器禁止使能,第三个定时器使能工作。如此循环不止,直至退出程序。
图3 程序结构简图
1、设置通信参数代码
2、定时器1事件代码
3、读X0-X7指令代码
4、读D1指令代码
经过实际连接运行表明,在数据变化较慢的控制系统中,VB语言编写的监控程序通过三菱PLC编程口能比较可靠、稳定地显示系统状态的变化。该方案节约了控制系统的成本,对于控制规模很小的单机控制系统,具有较高的性价比,具有一定的参考价值和应用价值。
[1]李江全等.Visual Basic串口通信与测控应用技实战详解术[M].北京:人民邮电出版社,2007.
[2]周昭亮.三菱PLC编程口通信技术在机械手远程控制中的应用[J].内蒙古科技与经济,2008,(18).
[3]刘辉等.工控机与三菱FX2N系列PLC编程口通信的实现[J].机械与电子,2007,(4).
TP274+.2
A
1671-5993(2011)01-0060-03
2011-01-16
张宝霞(1971-),女,安徽滁州人,合肥工业大学硕士在读,滁州职业技术学院机电系讲师。