请教一下各位Modbus协议中解码顺序1234,3412是什么意思啊?12代表高位还是低位啊???
1、假设上位机要读01,02寄存器内的数据(浮点数)上位机发送命令:01 03 00 00 00 02 85 CA(校验码不一定对)
返回的数据为01 03 04 06 51 3F 9E 3B 32(校验码不一定对),返回的数据为1.234567,3F 9E 06 51四个字节即为1.234567的IEEE754格式单精度浮点形式。那么这个的解码顺序应该是什么呢????
2、假设上位机要读25,26寄存器内的数据(32位整数)上位机发送命令01 03 00 18 00 02 44 0C(校验码不一定对)
返回的数据为01 03 04 3F 31 00 0C A7 ED(校验码不一定对),返回的数据为802609,其4字节16进制表示为00 0C 3F 31,
那么这个的解码顺序应该是什么呢????
3、现在我同时读取1、2寄存器(浮点数)和25、26寄存器(32位整数)内的数据,我用串口调试工具拦截的数据如下:
08 03 00 01 00 19 D5 59 当我把读取寄存器的地址加1或者减1的时候第一个地址是对的,第二个地址不对,就是第六个字节不对。请高手指点。

解决方案 »

  1.   

    MODBUS协议中文版详解.pdf网上找找,比较详细
      

  2.   

    01 03 04 06 51 3F 9E 3B 32(01 主机号
    03 功能号,读字
    04 返回字节数为4
    06 51  第一个字:06高字节,51低字节
    3f 9e 同上3B 32 CRC16  低字节  高字节 
      

  3.   


    通信协议就是MODBUS协议啊
    我就是想知道一个小数,比如0.52,转换成单精度浮点数是怎么存放的???
      

  4.   

    你用mudbos通讯软件直接读,可以直接看到寄存器中的数!