大家好
是三菱的空调
rs485总线
看说明书,提到控制指令的说明如下:
(3) 传送格式
1数据组的传送格式构成如下所示。
STX ?| SA?| UA | 记录长度(可变长)?| ETX | ?BCC
① STX:测试开始字符
② SA:自身地址
③ UA:用户地址
④ 记录:最大20文字的测试(由指令?代码决定记录长度)
指令:9文字,监控要求:2文字,监控应答:20文字
⑤ ETX:测试结束字符
⑥ BCC:测试错误检出数据
从SA到ETX止的数据是以XOR数据作为BCC。
?
(2) 「监控要求」指令
Data№?? 项目??????????????????????????????????????????????????????????????????????????????????????????? ?? 数据构成????????????????????????????????????????????????????????????? ?代码?????????? ? 备注
1?????? ?STX (Start of Text)?????????????????????????????????????????????????????????? ???????????? 02h??????????????????????????????????????????????????????????????????????? ?HEX
2 SA (Self Address)????????????????????????????????????????????????????????????????????????????? ?00h (Host Address)????????????????????????????????????????????? HEX
3 UA (User Address)???????????????????????????????????????????????????????????????????????? ?01h~1Fh (Sub I/F Address)??????????????????????????????? HEX
4 未使用????????????????????????????????????????????????????????????????????????????????????????? ?? ?00固定?????????????????????????????????????????????????????????????????????? ?ASCII???? 旧I/F时是地址
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ,而本I/F是使用SA
5 未使用
13 ETX (End of Text)?????????????????????????????????????????????????????????????????????????? ?03h??????????????????????????????????????????????????????????????????????????????? ?HEX
14 BCC (Block Check Code) 从SA到ETX????????? xor之和??????????(计算)????????????????????????????????????????????????????????????????????????? ? H EX
?
请教:这个BCC怎么计算??因为从SA到ETX既有16进制的HEx又有ASCII ,需要把ASCII的字符(这里恒定是00)转换为16进制ASCII再进行Xor吗??还是世界用0参与计算???(其实就相当于不考虑)
?
谢谢
另外,有其他人开发过这个程序吗??怎么通过RS485总线转成IP虚拟串口通信无法建立???谢谢谢谢
?
请教:这个BCC怎么计算??因为从SA到ETX既有16进制的HEx又有ASCII ,需要把ASCII的字符(这里恒定是00)转换为16进制ASCII再进行Xor吗??还是世界用0参与计算???(其实就相当于不考虑)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------所有计算校验码,都要把ASCII转为其他进制来计算的,一般转为16进制。