C# Modbus通信从入门到精通(16)——Modbus ASCII(0x04功能码与C#代码实现)

1、04(0x04)读输入寄存器

使用该功能码能从远程地址中读取1到125个输入寄存器的值,每个输入寄存器都占两个字节,读取的输入寄存器数量由主站读取时指定。

2、发送报文格式

在这里插入图片描述

更详细的格式如下:
起始符+从站地址+功能码+起始地址高位+起始地址低位+寄存器数量高位+寄存器数量低位+LRC+结束符,一共17字节,其中LRC计算时排除了开始符、结束符。

3、返回报文格式

72bdbbb181f4ef19b5744e92702dae7.png)

更详细的格式如下:
开始符+从站地址+功能码+寄存器所占字节数+寄存器值低字节+…+寄存器值高字节+LRC+结束符,假设寄存器数量为N,则一共需要4N+11个字节

4、案例

从站地址:1
起始地址:0
寄存器数量:3
假设要读取从站地址为1,起始地址为0的3个寄存器的值,那么

4.1 发送报文如下:

0x3a、0x30、0x31、0x30、0x34、0x30、0x30、0x30、0x30

猜你喜欢

转载自blog.csdn.net/qq_34059233/article/details/131858365