Modbus协议基本知识点集锦

您所在的位置:网站首页 知识集锦是什么意思 Modbus协议基本知识点集锦

Modbus协议基本知识点集锦

2024-04-09 11:56| 来源: 网络整理| 查看: 265

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

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

功能码定义:01(0x01)读 - 线圈02(0x02)读 - 离散量输入03(0x03)读 - 保持寄存器04(0x04)读 - 输入寄存器05(0x05)写 - 单个线圈06(0x06)写 - 单个寄存器15(0x0F)写 - 多个线圈16(0x10)写 - 多个寄存器 同理,各类地址的数据区的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博客

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3