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

来源:本站
导读:目前正在解读《PLC与扩展模块之间的通讯接口及通讯协议》的相关信息,《PLC与扩展模块之间的通讯接口及通讯协议》是由用户自行发布的知识型内容!下面请观看由(电工学习网 - www.9pbb.com)用户发布《PLC与扩展模块之间的通讯接口及通讯协议》的详细说明。
1、通讯接口
以松下FP1系列plc为例来阐述PLC与扩展模块之间的通讯,FP1系列PLC的通讯接口采用标准9芯RS232接口,它与扩展模块之间的接线如图所示。

PLC与扩展模块之间的通讯接口及通讯协议
图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)三种。

PLC与扩展模块之间的通讯接口及通讯协议
其中:%为起始符,标记每一帧报文的开始;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与扩展模块之间的通讯接口及通讯协议》最后刷新时间 2023-07-10 03:53:35,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《PLC与扩展模块之间的通讯接口及通讯协议》该内容的真实性请自行鉴别。