发表于:2013/12/1 14:50:36
#0楼
网上收到1篇文章介绍三菱PLC编程口协议,而下面又讲了专用协议。难道编程口有两种格式的协议?大家来讨论下。我试了编程口协议,文章开头介绍的格式能正确读出PLC数据。然而实在不明白怎么又跑出个专用协议,该以哪个为准,以及专用协议的作用。然后按专用协议一览表搞出来的字符串输入串口调试助手,竟然回复全是错误代码15,这是为什么?难道这协议是某人随便编出来骗人的?大家讨论一下。
该协议实际上适用于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
波特率: 9600bps
奇偶: even
校验: 累加方式(和校验)
字符: ASCII
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;
累加和超过两位取低两位
1、DEVICE READ(读出软设备状态值)
计算机向PLC发送:
始 命令 首地址 位数 终 和校验