使用 Modbus RTU 时的响应代码指示

Response code indication while using Modbus RTU

我正在使用 Modbus RTU 协议读取数据。我有从站 ID = 1 和 Modbus 地址 = 40023。我正在配置起始地址 = 22。我的 Modbus 地址是否正确?

如果我配置以下详细信息:

Slave Id= 1 Baud Rate = 19200 Stop Bits = 2 Data Bits = 8 Parity = None Start Address = 22

我正在使用以下代码读取数据

var master = ModbusSerialMaster.CreateRtu(port);
ushort[] registers = master.ReadHoldingRegisters(slaveId, startAddress, 1);  //2 is number of points

根据这些详细信息,我在控制台中收到此响应: 信息 Modbus.IO.ModbusSerialTransport - TX: 1, 3, 2, 0, 0, 184, 68

在上面的回复中我只知道其中一些他们表示的是第一个数字1表示Slave Id,3表示功能代码,22表示起始地址,2表示点数。

谁能解释一下剩下的代码?它们表示什么?

谢谢!

起始地址编码为两个字节 (0, 22)。寄存器的数量也用两个字节 (0, 2) 编码。 (37, 207) 是 CRC,在所有 Modbus RTU 帧中都需要。

我认为你的控制台文本是一个请求包。

其含义如下图