FX PLC编程口通信协议分析
摘要:通过监视串口数据的收发,分析FX2N PLC编程口的通信协议,从而获得PLC底层通信的方法。该协议可用于PLC与上位机的直接通信。
关键词:FX2N PLC,通信协议,编程口
1 前言
三菱FX2N系列PLC的通信方式有多种:(1)N:N网络;(2)并行连接;(3)计算机链连接(使用专用协议);(4)无协议通信(使用RS485,RS指令);(5)编程口通信。这几种通信方式各有特点,前4种协议需要对PLC进行设置或采用专用指令,编程口通信协议无需对PLC进行编程就可以直接读写PLC。通过对三菱自带编程软件与PLC通信的监控与分析,可以得到PLC编程口通信的底层通信协议,从而获得PLC底层通信的方法,实现对PLC内部资源的访问。
2 分析思路
三菱FXGP编程软件是FX PLC的编程开发软件,PC机RS232通过 FX-232AW 模块与编程口直接通信。为了分析FXGP与PLC的通信协议,在PC与PLC之间插入一个检测器,实时截获PC机串口上的收发数据。根据编程手册,有关通信参数为:9600,7,E,1,ASCII码方式。检测线路见图1。
3 通信协议分析
FX PLC的内部数据主要包括:D寄存器(每个寄存器二字节长)、M(位地址)、S(位地址)、T(位地址)、C(位地址)、X(位地址)、Y(位地址)。
数据帧基本格式:
表1 FX2N PLC 数据帧基本格式
Tab.1 FX2N PLC basic protocol format
16进制控制码:
表2 FX2N PLC 控制码
Tab.2 FX2N PLC control code
3.1 读D寄存器
读PLC软设备的状态值。读命令码30h, 读命令数据帧格式:
表3 FX2N PLC 读命令数据帧格式
Tab.3 FX2N PLC protocol format of read data
例:从D123开始读取4个字节数据。计算首地址:123×2+1000h=104Fh
PC机向PLC发出下列命令数据串:
表4 FX2N PLC 读命令数据帧格式示例
Tab.4 A sample of read data from FX2N PLC
和校验:cmd+…+ETX=31h+30h+34h+46h+30h+34H+03h=74h,高位‘7’,低位‘4’
PLC返回值:
假设从D123读回3584这个数据,返回数据帧格式:
表5 FX2N PLC 读命令返回数据帧格式示例
Tab.5 A sample of retuned data from FX2N PLC
和校验:33h+35h+38h+34h+03h=D6h, 高位‘D’,低位‘6’
3.2 写D寄存器
向PLC软设备的写入值。
写命令码31h, 写命令数据帧格式:
表6 FX2N PLC 写命令数据帧格式
Tab.6 FX2N PLC protocol format of write data
例:向D123开始的存储器中写入1234、ABCD。
计算首地址:123×2+1000h=104Fh
PC机向PLC发出下列命令数据串:
表7 FX2N PLC 写命令数据帧格式示例
Tab.7 A sample of write data to FX2N PLC
和校验:cmd+…+ETX=31h+30h+34h+46h+30h+34H+33h+34h+31h+32h+43h+44h+41h+42h +03h=49h,高位‘4’,低位‘9’
每个D寄存器占2个字节,低8位在前高8位在后。
PLC返回值:
若成功写入,返回06h;若写入失败,返回15h。
3.3 位设备置位
FX PLC2N的位设备主要有:M、S、T、C、X、Y。
位设备置位命令码:37h,命令数据帧格式:
表8 FX2N PLC 位设备置位数据帧格式
Tab.8 Force on bit device of FX2N PLC
例:M1置位
计算地址:1×100h+8=0108h(四位地址),地址码:30h 31h 30h 38h
命令串:
表9 FX2N PLC 位设备置位数据帧示例
Tab.9 A sample of Forcing on bit device of FX2N PLC
和校验:cmd+…+ETX=37h+30h+31h+30h+38H+03h=03h,高位‘0’,低位‘3’
PLC返回值:
若成功写入,返回06h;若写入失败,返回15h。
3.4 位设备复位
位设备复位命令码:38h,命令数据帧格式:
表10 FX2N PLC 位设备复位数据帧格式
Tab.10 Force off bit device of FX2N PLC
例:M1复位
计算地址:1×100h+8=0108h(四位地址),地址码:30h 31h 30h 38h
命令串:
表11 FX2N PLC 位设备复位数据帧格式示例
Tab.11 A sample of Forcing off bit device of FX2N PLC
和校验:cmd+…+ETX=38h+30h+31h+30h+38H+03h=04h,高位‘0’,低位‘4’
PLC返回值:
若成功写入,返回06h;若写入失败,返回15h。
4 应用
4.1 PC与PLC直接通信
图2 为采用PLC编程口通信协议设计的上位机监控系统,编程设计语言采用VB或VC等软件。其优点是:无需购买组态软件,监控系统具有自主知识产权,PLC方无需编写通信指令。
4.2 单片机系统与PLC通信
图3 为采用PLC编程口通信协议设计的单片机应用系统。若以PLC为主机,单片机系统可以是PLC的人机界面(显示/键盘/触摸屏等)或是功能扩展(I/O、DA/AD等)。若以单片机系统为主机,PLC实现应用系统中的强电控制,是一种经济、有效的设计方法。
参考文献:
1、 User’ manual of FX Communication (RS232C,RS485), MITSUBISHI ELECTRIC
Protocol analysis of FX PLC programming port
Ge Huimin
(Zhejiang Institute of Mechanical & Electrical Engineering,
Hangzhou 310053,China)
Abstracts: By transparent monitoring the serial communication lines, all the data and communication statuses between PLC and PC must be watched and analyzed, and a new communication method was got. This protocol can be used for linking FX programmable controller and PC directly.
Keyword: FX2N PLC,protocol, programming port.
Reference:
1、User’ manual of FX Communication (RS232C,RS485), MITSUBISHI ELECTRIC
Related posts:
Did you enjoy this post? Why not and continue the conversation, or and get articles like this delivered automatically to your feed reader.