有个仪表通讯格式是这样的
//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