PLC与扩展模块之间的通讯接口及通讯协议

PLC与扩展模块之间的通讯接口及通讯协议

1、通讯接口
以松下FP1系列为例来阐述PLC与扩展模块之间的通讯,FP1系列PLC的通讯接口采用标准9芯RS232接口,它与扩展模块之间的接线如图所示。

图1 扩展模块与PLC的通讯连接
· 扩展模块的RXD端与PLC的TXD端联接,使扩展模块接收到PLC发出的数据;
·扩展模块的TXD端与PLC的RXD端联接,使扩展模块发出的数据被PLC接收到;
· 扩展模块的地与PLC的SG端互联,使两者的工作基准地电平相同。
上面采用的是RS232接口,PLC一次只能扩展一个模块。假如要扩展多个模块,可以采用RS485接口,现代的PLC一般都带有RS485接口。
2、通讯协议
松下FP1系列PLC与扩展模块之间的通讯协议为松下公司专用的MEWTOCOL-COM协议,该协议采用异步通讯方式,其波特率有1200、2400、4800、9600、19200、38400、57600、115200bps等多种可选,且报文长度可变可固定。该协议格式分为命令消息(Command Message),正常响应消息(Response Message-normal),出错响应消息(Response Message-error)三种。

其中:%为起始符,标记每一帧报文的开始;CR为结束符,标记每一帧报文的结束;
AD为PLC的站地址,为两位16进制数,如00则表示第一台PLC;
#、$、!标注该帧报文为何种类型。
Command code为命令代码,如例1中的“RD”,表示读数据区。Response code为响应代码一般返回接收到的命令消息中的命令代码。Error(H)和Error(L)为出错代码,是两位16进制数, 可根据其值在协议中查出错误的描述。
Text code为命令参数,如例1命令消息中“D 01105 01107”,“D”表示数据寄存器,“01105 01107”表示第1105号至1107号,而在例1响应消息中,“6300 4433 0A00”则表示DT1105至DT1107中数据分别为6300、4433、0A00。
BCC(H)和BCC(L)为前面字符串的BCC校验码的高、低位,为两位16进制数。其初值为0,然后从起始符开始与该帧报文中每一字节按位进行异或运算得到。
例1:读取DT1105至DT1107中的数据的命令消息如下:
%   01  #  RD      D01105      01107   57  CR
若DT1105至DT1107中数据分别为6300、4433和0A00,PLC返回的响应消息如下:
%   01  $  RD   6300     4433   0A00   62  CR
那么, 模拟量输进扩展模块与PLC通讯的报文可如下:
%   01  #  WD   D   01105  01105 0fff  32  CR
表示1号模拟量输进扩展模块把模拟量采样值0FFF存进PLC的第1105个数据寄存器
模拟量输出扩展模块与PLC通讯的报文可如下:
%   01  #  RD   D   01106  0110F  02       CR
表示1号模拟量输出扩展模块请求把PLC中第1106个数据寄存器保存的模拟量输出值读进。
若DT1106中数据为0fff,PLC返回的响应消息如下:
%   01  $  RD   0fff    45   CR
1号模拟量输出扩展模块就把接收到的数字量0fff转换成模拟量输出。

PLC与扩展模块之间的通讯接口及通讯协议

相关文章:

你感兴趣的文章:

标签云: