当前位置:新励学网 > 秒知问答 > 485通讯校验码计算举例说明

485通讯校验码计算举例说明

发表时间:2024-07-27 22:08:52 来源:网友投稿

①读指令的校验码计算方法

要读参数的代号x256+82+ADDR。

例如:ADDR为1,要读的参数代号为00,则:00x256+82+1=83(16进制为0053H)。然后调整为低字节在前,高字节在后,即为5300。

②写指令的校验码计算方法

以下公式做16位二进制加法计算得出的余数(溢出部分不处理):要写的参数代号x256+67+要写的参数值+ADDR。

例如:ADDR为1,要读的参数代号为00,要写的参数值为1000。则:00x256+67+1000+1=1068(16进制为042CH)。然后调整为低字节在前,高字节在后,即为2C 04。

注意:以上公式中ADDR为仪表地址参数值,范围是0-80(注意不要加上80H)。校验码为以上公式做二进制16位整数加法后得到的余数,余数为2个字节,其低字节在前,高字节在后。要写的参数值用16位二进制整数表示。

③返回校验码

为PV+SV+(报警状态x256+MV)+参数值+ADDR,按整数加法相加后得到的余数。计算校验码时,每2个8位字节组成1个16位二进制整数进行加法运算,溢出数忽略,余数作为校验码。

例如:E3 00 FA 00 64 60 FA 00 3C 63。PV=227,SV=250,报警状态=96,MV=100,参数值=250,ADDR=1,则:227+250+(96x256+100)+250+1=25404(16进制为633CH),然后调整为低字节在前,高字节在后,即为3C63。

免责声明:本站发布的教育资讯(图片、视频和文字)以本站原创、转载和分享为主,文章观点不代表本网站立场。

如果本文侵犯了您的权益,请联系底部站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!