1、DEVICE READ(读出软设备状态值)
计算机向三菱PLC发送:
始 | 命令 | 首地址 | 位数 | 终 | 和校验 |
STX | CMD | GROUP ADDRESS | BYTES | ETX | SUM |
例子:从D123开始读取4个字节数据
02h | 30h | 31h,30h,46h,36h | 30h,34h | 03h | 37h,34h |
地址算法:address=address*2+1000h
再转换成ASCII
31h,30h,46h,36h
三菱PLC返回
STX | 1ST DATA | 2ND DATA | ..... | LAST DATA | ETX | SUM |
注:最多可以读取64个字节的数据
例子:从指定的存储器单元读到3584这个数据
02h | 33h | 35h | 38h | 34h | 03h | 44h,36h |
2、DEVICE WRITE(向PLC软设备写入值)
始 | 命令 | 首地址 | 位数 | 数据 | 终 | 和校验 |
STX | CMD | GROUP ADDRESS | BYTES | 1ST DATA | 2ND DATA | ...... | LAST DATA | ETX | SUM |
例子:向D123开始的两个存储器中写入1234,ABCD
02h | 31h | 31h,30h,46h,36h | 30h,34h | 33h,34h,31h,32h,43h,44h,41h,42h | 03h | 34h,39h |
PLC返回
ACK (06H) 接受正确
NAK (15H) 接受错误
3、位设备强制置位/复位
FORCE ON置位
始 | 命令 | 地址 | 终 | 和校验 |
STX | CMD | ADDRESS | ETX | SUM |
02h | 37h | address | 03h | sum |
FORCE OFF复位
始 | 命令 | 地址 | 终 | 和校验 |
STX | CMD | ADDRESS | ETX | SUM |
02h | 38h | address | 03h | sum |
PLC返回
ACK(06H) 接受正确
NAK(15H) 接受错误
设备强制中的地址公式:Address=Address/8+100h
说明:
1.帧中的BYTES表示需要读取或者写入的字节数。
2.地址算法上有说明。
3.累加和是从STX后面一个字节开始累加到ETX的和。
三菱FX系列PLC编程口通信协议总览
该协议实际上适用于三菱PLC编程端口以及 FX-232AW 模块的通信。 通讯格式: 命令 命令码 目标设备 DEVICE READ CMD "0" X,Y,M,S,T,C,D DEVICE WRITE CMD "1" X,Y,M,S,T,C,D FORCE ON CMD " 7" X,Y,M,S,T,C FORCE OFF CMD "8" X,Y,M,S,T,C 传输格式: RS232C 16进制代码: ENQ 05H 请求 ACK 06H PLC正确响应 NAK 15H PLC错误响应 STX 02H 报文开始 ETX 03H 报文结束 帧格式: STX CMD DATA ...... DATA ETX SUM(upper) SUM(lower) 例子: STX ,CMD ,ADDRESS, BYTES, ETX, SUM 02H, 30H, 31H,30H,46H,36H, 30H,34H, 03H, 37H,34H SUM=CMD+......+ETX; 30h+31h+30h+46h+36h+30h+34h+03h=74h; 累加和超过两位取低两位
波特率: 9600bps
奇偶: even
校验: 累加方式(和校验)
字符: ASCII
