首页 > 编程知识 正文

modbus功能码,modbus通讯协议01功能码

时间:2023-05-04 01:13:35 阅读:179093 作者:3248

01H-读线圈状态1 )说明:读从动线圈寄存器,位操作,可单个或多个读取;

2 )发送命令:

读取从站地址0x01、寄存器开始地址0x0023、抵制寄存器结束0x0038,共计21个线圈。 协议图如下。

3 )响应:

返回与数据位对应的线圈状态,1-ON,0-OFF。 下图;

上表的data1表示0x0023-0x002a的线圈状态,data1的最低位表示最低地址的线圈状态,可以理解为小端序模式;

data2表示地址0x002b-0x0033的线圈状态,如下表所示。

data3表示地址0x0034-0x0038的线圈状态,小于8位,字节的高位用0填充。 下表:

02H-读离散输入状态1 )离散输入寄存器读、位操作、单个或多个可读,协议与功能码0X01协议相似,但这里省略;

03H-读保持寄存器1 )说明:读出保持寄存器、字节命令操作、可进行单次或多次读出;

2 )发送命令:

读出从动地址0x01、保持寄存器开头地址0x0032、两个保持寄存器

3 )响应:

数据的存储顺序

04H-读输入寄存器1 )说明:读输入寄存器、字节命令操作、单个或多个可读;

2 )发送命令)同03H;

3 )应答)同03H;

05H-写单个线圈1 )说明:写一个线圈。 位操作只能写一个。 写为0xff00时打开线圈状态,写为0x0000时关闭线圈状态

2 )发送命令:

打开0x0032线圈;

3 )响应:

同送指令;

06H-写单个保持寄存器1 )说明:写单一保持寄存器,字节指令操作,只能写一个;

2 )发送命令:

0x0032保持寄存器写为0x1232;

3 )响应)同步发送命令

0FH-写多个线圈1 )描述:写多个线圈寄存器。 数据区域的某个值为“1”时,要求的相应线圈的状态为ON,mdty位值为“0”时,状态为OFF。

2 )发送命令:

线圈地址为0x04a5,写12个线圈,

上图中的DATA1为0x0c,表示以下情况。

DATA2为0x02,不到8位。 字节的高位用0填充:

3 )响应:

10H-写多个保持寄存器1 )记述:可以进行多个保持寄存器、字节命令操作、多个写入;

2 )发送命令:

将寄存器的起始地址保存在0x0034中,写入两个寄存器的4字节数据;

3 )响应:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。