太阳集团tcy8722

当前位置: 首页 >应用方案 >科普视频 >

【物联科普】Modbus协议之常见功能码的作用详解




Modbus协议分享第四集——常见功能码的作用

modbus协议常识分享系列中我们介绍了modbus协议概述、modbus协议优势分享、modbus协议数据格式解析、modbus协议三种数据传输方式详解等章节内容,这周我们来解析modbus协议中常用的各个操作功能码。

功能码分类

功能码按照类别来分可以分为两类,分别是读操作和写操作。读操作功能码(16进制)有01、02、03、04功能码,写操作的功能码(16进制)有05、06、0F、10功能码。接下来我们分别来讲述这些功能码的功能。

读操作:

01功能码是读线圈状态的功能码,使用这个功能码可以读取从设备的线圈或离散量输出的状态,即各DO的ON/OFF状态。从机返回的数据(转为2进制)中的每一位都代表从设备的线圈状态,状态为1代表打开,状态为0代表关闭。

02功能码是该功能码用于读取从设备的离散输入即DI的ON/OFF状态,如果从设备接受主设备的请求则回复功能码02,并返回离散量输入各离散量的当前状态。

03功能码用于读取从设备保持寄存器的内容,该功能码不支持广播,读取到的数据的意义和内容由modbus设备厂家自行规定。

04功能码用于读取从设备输入寄存器的内容,不支持广播。输入寄存器中各地址的具体内容和意义,则由modbus设备厂家自行规定,市面上一般是用于读取模拟量AI输入值。

写操作:

05功能码用于将单个线圈寄存器状态设置为ON或OFF,向寄存器写入 0xFF00表示ON状态,写入0x0000表示OFF状态。其他所有值均是非法的,并且对寄存器不起作用,写入将会返回异常响应码。

06功能码用于更新从设备的单个保存寄存器的值,其写入数值的规则由modbus厂家自行规定。

15(0F)功能码用于将连续的多个线圈输出设置为ON/OFF状态,支持广播,如使用广播,所有从站设备的同一地址被统一修改为相同输出状态。

16(0x10)功能码是写多个保持寄存器,该功能码用于将数值写入从设备的多个保持寄存器,支持广播,使用广播模式时,所有从站设备的同一地址中存放的值将被统一修改。

下周我们将探讨Modbus应用领域以及分享Modbus协议在不同领域的应用详解,我们下周不见不散!


今天的分享就到这里啦,EBYTE每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多串口服务器、数传电台、lora模块等无线数传模块产品更多资料,感兴趣的小伙伴可以登录我们的太阳集团tcy8722官网和企业公众号(微信号:cdebyte进行了解,也可以直接拨打400电话咨询技术专员!


MODBUS协议相关文章推荐:

ModBus通信中RTU、ASCII、TCP协议有什么区别?

ModBus通信中RTU/ASCII/TCP协议选哪种模式更好

ModBus协议入门级讲解,想不懂都难!

Modbus协议调试软件工具仿真演示教程



太阳集团tcy8722