当前位置:网站首页 > 编程语言 > 正文

104和modbus的区别(modbus 102)



1、读线圈寄存器(01H)[对应的写入功能码是05]、读离散输入寄存器(02H)

主机发送报文格式:

从机地址(1字节)+功能码(1字节)+起始地址(2字节,大端格式)+读取数量(2字节,大端格式)+CRC校验(2字节,小端格式)

从机回复报文格式:

从机地址(1字节)+功能码(1字节)+数据长度(1字节)+数据(长度不固定,按顺序,每8个位组成一个字节)+CRC校验(2字节,小端格式)

例1:从机编号为1,自19(0X13)号线圈开始读取27(0X1B)个线圈的状态,从机返回这27个线圈的状态分别是:0XCD 0X6B 0XB2 0X05

主机发送:01 01 (00 13) (00 1B) (8D C4)

从机回复:01 01 04 (CD 6B B2 05) (00 02)

例2:从机编号为2,读取3、4、5号线圈(1开始)的状态,从机返回这3个线圈的状态分别是:1、0、0

主机发送:02 01 (00 02) (00 03) (DD F8)

从机回复:02 01 01 (01) (90 0C)

2、写单个线圈(05H)

报文格式(主从机报文内容一致):

从机地址(1字节)+功能码(1字节)+写入地址(2字节,大端格式)+写入数据(2字节,大端格式)+CRC校验(2字节,小端格式)

例1:从机编号为2,将5号(1开始)IO点设置为吸合(吸合:FF00,断开:0000)

主、从机报文内容:02 05 (00 04) (FF 00) (CD C8)

例2:从机编号为1,将27号(1开始)线圈设置为吸合

主、从机报文内容:01 05 (00 1A) (FF 00) (AD FD)

3、读保持寄存器(03H)[对应的写入功能码是06]、读输入寄存器(04H)

主机发送报文格式:

从机地址(1字节)+功能码(1字节)+起始地址(2字节,大端格式)+读取数量(2字节,大端格式)+CRC校验(2字节,小端格式)

从机回复报文格式:

从机地址(1字节)+功能码(1字节)+数据长度(1字节)+数据(按顺序每个寄存器的结果大端格式)+CRC校验(2字节,小端格式)

例1:从机地址为18,从第17个(1开始)寄存器开始读取2个寄存器的值,结果分别是:259、68

主机发送:12 03 (00 10) (00 02) (C7 6D)

从机回复:12 03 (04) (01 03) (00 44) (29 3D)

例2:从1号从机的108号(1开始)寄存器开始读取2个寄存器的值

主机发送:01 03 (00 6B) (00 02) (B5 D7)

从机回复:01 03 (04) (00 C8) (01 2C) (7B 80)

4、写单个寄存器(06H)

报文格式(主从机报文内容一致):

从机地址(1字节)+功能码(1字节)+写入地址(2字节,大端格式)+写入数据(2字节,大端格式)+CRC校验(2字节,小端格式)

例1:将1号从机的17号寄存器(1开始)设为768

主、从机报文内容:01 06 (00 10) (03 00) (88 FF)

总结:

  1. 主机写入单个线圈或单个寄存器的报文格式一致,报文长度固定是8个字节
  2. 在modbus报文中,除了CRC校验是小端格式,其余全是大端格式。

到此这篇104和modbus的区别(modbus 102)的文章就 介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • .net反混淆(net反混淆解密)2025-10-22 14:18:05
  • 新加坡驾照怎么换国内驾照(2021新加坡驾照换中国驾照)2025-10-22 14:18:05
  • 2258xt和2259xt区别(2258和2258xt)2025-10-22 14:18:05
  • 华为机考防作弊(华为机考防作弊怎么关闭)2025-10-22 14:18:05
  • 进程控制块的作用具体表现在哪几个方面(进程控制块的作用具体表现在哪几个方面上)2025-10-22 14:18:05
  • 颜色代码转换工具下载(颜色代码 转换)2025-10-22 14:18:05
  • max30102能测温度吗(max30102能测血压吗)2025-10-22 14:18:05
  • jfla是什么意思(ja表示什么意思)2025-10-22 14:18:05
  • 字体图标只显示方框(字体显示方块)2025-10-22 14:18:05
  • 配置ssh免密登录(配置ssh免密登录失败)2025-10-22 14:18:05
  • 全屏图片