余姚精创系列温度仪表MODBUS-RTU通信详细说明(适用二次开发)

2018/12/16

一.MODBUS通信协议:

典型的消息形式是由从主服务器(如PLC)发送的请求(查询消息)和从服务器(精创温控仪表)的应答(响应消息)组成。
当主机开始数据传输时,一组数据以固定的顺序发送到从机。当接收到数据时,从设备对其进行解码,采取必要的操作,并将数据返回给主设备。

二.精创仪表通信参数列表:

二.主从机通信格式:

三.主从机通信示例:向从机读写指定寄存器

四.CRC-16校验算法:

uint16 calculate_crc(byte *z_p, unit16 z_message_length)

{
uint16 CRC= 0xffff;
uint16 next;
uint16 carry;
uint16 n;
uint8 crch, crcl;
while (z_messaage_length--) {
next = (uint16) *z_p;
CRC ^= next;
for (n = 0; n < 8; n++) {
carry = CRC & 1;
CRC >>= 1;
if (carry) {
CRC ^= 0xA001;
}
}
z_p++;
}
crch = CRC / 256;
crcl = CRC % 256
z_p [z_messaage_length++] = crcl;
z_p [z_messaage_length] = crch;
return CRC;
}

五.在确认接线和接口没有问题的情况下从机没有响应原因分析:

1.查询消息中从机地址不正确
2.主机的CRC代码与从机的CRC代码不一致。
3.在查询消息中发现诸如溢出、数据位、奇偶校验等传输错误。
4.第一条主从机应答完成和下一条主从机答的间隔小于250ms