多语言展示
当前在线:272今日阅读:2今日分享:38

PLC串口通讯中和校验如何计算

PLC串口通讯中,对于指令码都能理解,但是“和校验”第一次接触时,没有计算出来,网上资料都没有完整的计算过程,后来灵感迸现,明白了,记录如下。
方法/步骤
1

和校验:Temp = 命令位 + 数据位(首地址、字节数) + 报文结束位内容;取累加和数值Temp的低8位,将其装换为ASCII放入和校验位即可!

2

举例说明:02 30 31 32 41 42 30 32 03 37 42Temp = 0x30 + 0x31 + 0x32 + 0x41 + 0x42 + 0x30 + 0x32 + 0x03           = 0x17B取Temp的低8位,即为0x7B;

3

Temp的低8位为0x7B,装换为ASCII码为:7->'7'   = 55(10) = 0x37(16)   B->'B'   = 66(10) = 0x42(16)即填写入和校验位的是 0x37 0x42.

4

看这张图突然启发的,希望对还不懂,有点启发!

5

练习如题:PLC返回报文:和校验 = 数据位和结束位的累加和的低8位,转为ASCII后放入和校验位。PLC串口通讯接收到的数据:02 33 34 31 32 03 43 44

6

上题计算方式如下:PLC串口通讯接收到的数据:02 33 34 31 32 03 43 44则Temp = 0x33 + 0x34 + 0x31 + 0x32 + 0x03 = 0xCD C->'C'   = 67 =0x43;D->'D'   = 68 = 0x44;故和校验通过。

注意事项

具体协议,网上查询资料吧,暂时没写博客记录。

推荐信息