Modbus协议基本知识点集锦

Modbus地址区的0x、1x、3x、4x各代表什么?如何区分和应用?

0x、1x、 3x、4x各是一片数据区,是Modbus协议规定的地址范围,各类地址是互相对应的,有些资料就以其第一个数字区分各类地址,即:
0x :离散量输出,可读/可写【对应PLC: DO】线圈类地址:00000~09999。使用功能码:01、05、15
1x :离散量输入16位,只读【对应PLC: DI】触点类地址:10000~19999。使用功能码:02
3x :输入寄存器16位,只读【对应PLC: AI】模拟输入地址:30000~39999。使用功能码:04
4x :保持寄存器,可读/可写【对应PLC: AO】模拟输出地址:40000~49999。使用功能码:03、06、16

功能码定义:
01(0x01 / 01H)读 - 线圈
02(0x02 02H)读 - 离散量输入
03(0x03 03H)读 - 保持寄存器
04(0x04 04H)读 - 输入寄存器
05(0x05 / 05H)​​​​​​​写 - 单个线圈
06(0x06 06H)​​​​​​​写 - 单个寄存器
15(0x0F / 0FH)​​​​​​​写 - 多个线圈
16(0x10 10H)写 - 多个寄存器
同理,各类地址的数据区的Modbus功能码也是规定好的,不能乱用。如要操作0x地址数据区,就只能用规定的功能码01、05,而不能用其他功能码。所以,从各类地址的前缀就能知道它的数据区及功能码,反之亦然。
上述这些地址称为Modbus数据区地址,它是5位十进制地址。但在实际编程中,由于前缀的区分作用,所以只需说明后4位数,而且需转换为4位十六进制地址。
在单片机中实现时,需要定义4个数据区对应上述各类地址(长度可以缩短,视单片机RAM大小)。处理Modbus事务时,根据数据祯中的功能吗,再对对应的数据区进行操作(置位、复位、读数或写入数据)。具体过程看Modbus事务流程图。

常用modbus功能码:01、02、03、04、05、06、15、16共8个
这8个功能码可以操作四块分区,其中两块boolean(布尔变量)寄存器,两块整数寄存器。

4个分区有只读区和读写区,并且命名为 : 0x、1x、3x、4x

0x:形象的叫做线圈(coil status),意味着可读可写(获取状态,设置状态),用功能码01,05,15操作这部分的寄存器
1x:离散输入(inputs status),很明显这是一块只读区。只能用功能码02 操作
3x:输入寄存器(input registers),也是一块只读区,只能用功能码04操作
4x:保持寄存器(holding registers),这是一块可读可写的数据区,用功能码03、06、16 操作这部分的寄存器

两块整数寄存器可以按位操作,使用一个字节表示8位,每一位1代表开,0代表关

Modbus协议基础知识:Modbus通讯协议学习 - 认识篇_485modebus协议 4字节数据怎么表示-CSDN博客



 

Modbus协议手册是一本详细介绍Modbus协议的文档。Modbus协议是一种通信协议,用于工业自动化领域中的设备通信。该协议由Modicon公司(现在是施耐德电气公司的一部分)于1979年创建,并成为工业领域中最常用的通信协议之一。 Modbus协议手册包含了详细的协议规范通信规则,以帮助开发人员理解实施Modbus协议。该手册通常包括以下内容: 1. 协议介绍:对Modbus协议的起源、发展应用进行简要介绍,帮助读者了解该协议的背景重要性。 2. 协议架构:详细描述Modbus协议的结构组成部分,包括消息帧、寄存器地址功能码等。 3. 通信方式:介绍Modbus协议支持的不同通信方式,包括串口通信、以太网通信无线通信等。还可能涉及如何建立维护通信连接以及数据传输的速率可靠性等方面的内容。 4. 功能码:列出并解释Modbus协议支持的各种功能码,它们用于读取写入设备的寄存器数据,并执行特定的控制操作。 5. 寄存器映射:给出设备寄存器的地址功能的详细说明,以便开发人员正确地读取写入设备的数据。 6. 错误处理:讨论如何处理通信错误异常情况,以确保通信的稳定性可靠性。 7. 应用示例:提供一些使用Modbus协议进行通信控制的实际应用示例,帮助开发人员理解如何在实际项目中应用该协议。 总之,Modbus协议手册对于开发人员来说是一本重要的参考资料,它提供了关于Modbus协议的详细说明指南,帮助开发人员正确地使用该协议进行设备通信控制。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值