首页 > 化工知识 > Modbus常用功能码解释及示例(2)

Modbus常用功能码解释及示例(2)

时间:2020-09-28 来源:方正智芯 浏览:

前面一篇文章我们介绍了Modbus常用功能码01H和02H,今天我们来介绍下功能码03H、04H和05H。

1、功能码:03H
1)功能:读取远程从站若干个保持寄存器(Holding Register)的数值;
2)操作方式:每个保持存储器的数值以字(2个字节)的形式进行应答;
3)发送指令:
假设要读取从机地址0x03的108~110保持存储器的数值,其寄存器地址范围为:0x006B~0x006D,指令格式如下图所示:

4)应答:
从站应答数据包括:从站地址+功能码+应答字节数+寄存器1高字节+寄存器1低字节+...+寄存器N高字节+寄存器N低字节
假设编号108~110保持寄存器的数值如下图所示:

则应答帧如下图所示:

2、功能码04H
1)功能:读1~125个连续输入寄存器(Input Register)的数值;
2)操作方式:每个输入寄存器存储器的数值以字(2个字节)的形式进行应答;
3)发送指令:
假设要读取从机地址0x03的9~10号输入存储器的数值,其寄存器地址范围为:0x0008~0x0009,指令格式如下图所示:

4)应答:
从站应答数据包括:从站地址+功能码+应答字节数+寄存器1高字节+寄存器1低字节+...+寄存器N高字节+寄存器N低字节(与功能码03H类似)
假设寄存器的数据如下图所示:

应答帧如下图所示:

3、功能码05H
1)功能:对单个线圈进行写操作。线圈编号从1开始,地址从0开始。写值0xFF00表示将线圈置为ON,写值0x0000表示将线圈置为OFF,其它值是无效的;
2)操作方式:位操作
3)发送指令:
假设要将从站地址0x03的第33个线圈(地址:0x0020)的值设置ON,指令如下图所示:

4)应答:
从站应答数据包括:从站地址+功能码+寄存器地址+写入值
如果数据成功写入,则应答数据与请求数据一样,如下图所示:

好了,关于Modbus功能码03H、04H及05H就先介绍到这里

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐