一、RS232-DB通信串口设置:
如图
BaudRate:9600
DataBits:7
Parity:Even
StopBits:1
校验:SUM, 2BIT
DTR
二、获取数据命令格式
如下以ACSII码举例(获取D304数据):
请求报文:/STX 0 1260 02 /ETX 5E
应答报文:/STX 1E 00 /ETX D9
详细解释:
FX 系列PLC 有4 条通信命令,分别是读命令、写命令、强制通命令、强制断命令。
通信控制字符
FX 系列PLC 采用面向字符的传输规程,用到5 个通信控制字符,如表7-3 所示。
表 7-3 FX 系列PLC 通信控制字符表控制字符
ASCⅡ码
功能说明
ENQ
05H
PC 发出请求
ACK
06H
PLC 对ENQ 的确认回答
NAK
15H
PLC 对ENQ 的否认回答
STX
02H
信息帧开始标志
ETX
03H
信息帧结束标志
标识
代码(16进制)
VB格式
描述
STX
02H
Chr( 2 )
开始发送字符
ETX
03H
Chr( 3 )
结束发送字符
EOT
04H
Chr( 4 )
结束传输
ENQ
05H
Chr( 5 )
询问字符
ACK
06H
Chr( 6 )
应答字符正确
LF
0AH
Chr( A )
线路忙
CL
0CH
Chr( C )
清除
CR
0DH
Chr( D )
返回
NAK
15H
Chr( 15 )
应答字符错误
报文格式
计算机向 PLC 发送的报文格式如下: STX
CMD
数据段
ETX
SUMH
SUML
其中,STX 为开始标志:02H;ETX 为结束标志:03H;CMD 为命令的ASCⅡ码;SUMH、SUML 为按字节求累加和,溢出不计。由于每字节十六进制数变为两字节的ASCⅡ码,故校验和为SUMH 与SUML。
数据段格式与含义如下:
注:写命令的数据段有数据,读命令数据段则无数据。
如:请求报文:/STX 0 1260 02 /ETX 5E
/STX:为开始标记
0:CMD命令 读
1260:数据段地址,D304的地址 计算方法:Addr=D 原件号*2+1000H
02:字节长度
/ETX:结束标记
5E:累加校验(02H+30H+31H+32H+36H+30H+30H+32H+03H)=5EH
应当报文:/STX 1E 00 /ETX D9
/STX:为开始标记
1E :D304 存放数据
00:D305 存放数据
/ETX:为结束标记
D9:累加校验
三:累加校验位算法
求和校验码
求和校验码是保证串行通讯正确的一种方法,这里所说的求和是指要通讯的数据除报头外ASCII码以16进制数形式相加,并取两位16进制。