Modbus浅析

Modbus协议名词

线圈寄存器:开关量,用一个bit的数据来表示,支持读写;
离散输入寄存器:开关量,用一个bit的数据表示,只读;
保持寄存器:存放具体的数据量,用两个byte表示,支持读写;
输入寄存器:存放具体的数据量,用两个byte表示,只读;

Modbus常用功能码

功能码名称位/字操作操作数
01读线圈寄存器位操作单个或多个
02读离散输入寄存器位操作单个或多个
03读保持寄存器字操作单个或多个
04读输入寄存器字操作单个或多个
05写单个线圈位操作单个
06写单个寄存器字操作单个
0F写多个线圈位操作多个
10写多个寄存器字操作多个

Modbus帧解析

从站号(1字节)功能码(1字节)起始地址(2字节)寄存器数量(2字节)校验码(2字节)
010312 0600 0161 73

上述帧表示主站请求帧。主站向从站1读取保持寄存器的值,被读取保持寄存器的地址为0x1206,读取寄存器数量为1个寄存器,1个寄存器对应两个byte。

从站号(1字节)功能码(1字节)字节数(1字节)寄存器值(N字节)校验码(2字节)
01030200 5E39 BC

上述帧为从站响应帧,寄存器的长度为2个字节,值为0x005E,响应帧寄存器值的字节数=请求寄存器数量*2。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值