西门子200请教通信校验问题

有个仪表通讯格式是这样的
//0x24        1BYTE, 启始码
//地址     1BYTE
//命令        1BYTE,0x00—OFF, 0X01—ON, 0X02—复位
//暂停     1BYTE,0x01—暂停
//加料许可    1BYTE,固定为0X01,
//设定重量    3BYTE,高位在前,转成十进制后低两位为小数位。(0C8H)200
//预留     1BYTE,固定为0X00.
//异或校验码  1 BYTE(从’0x24~预留’的每个数据的异或运算后的值)
//累加校验码  1 BYTE(从’0x24~预留’的每个数据进行累加后的低8位数据)
根据以上格式我写了段报文,但不知道和面的校验怎么写。
24H 01H /01H 01H/ 01H 00H /C8H 01H/
请问后面的校验是多少,是怎么算的,有公式吗。还的麻烦你详细解答。谢谢
我用的是西门子200PLC如果知道PLC程序的可否贴段程序

问题补充:
24H  01H  01H  00H  01H  00H 00H 0C8H 00H 0C9H 0CBH

不知能否看明白,在说几句:
1、从’0x24~预留’是不进入校验计算的
2、累加校验不吧异或校验进行累加
3、第四字节00H 不暂停
4、注意累加如果产生进位,不能影响低位的异或校验值
5、C9 为异或校验,CB为累加校验

请问C9和CB是怎么计算的呢
还望大侠给个计算方式

最佳答案

你如果要简单一点就求和累加校验,24H +01H+01H+ 01H+01H 00H +C8H+ 01H=F1H,F1H就是你的校验码,其实程序里面你就用加法就可以了,然后取低位数据就可以了

提问者对于答案的评价:
谢谢

专家置评

可以参考wb210xa的回复。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc309664.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日
下一篇 2020年11月1日

相关推荐