Modbus RTU 无法读取所有数据

问题描述 投票:0回答:1

我正在使用

modbus
开发
RS485
协议。我的框架是
01 03 00 00 00 61 84 22
。通过此框架时,我可以看到响应,但如果我设置我的框架
01 03 00 00 00 62 C4 23
我没有得到任何响应。

var items = new byte[]{ Convert.ToByte(iterations.hex), 0x03, 0x00, 0x00, 0x00, 0x61 };
var crc = BitConverter.GetBytes(ModRTU_CRC(items, items.Length));
port.BaseStream.Write(dataItems, 0, dataItems.Length);

            receivedBytes = port.BaseStream.Read(buffer, 0, (int)buffer.Length);
            var receiveData = BitConverter.ToString(buffer, 0, receivedBytes);

这里我的

recieveBytes
0
。我已经尝试了一切,但仍然无法获得所有必需的数据。我的总帧数是
01 03 00 00 00 78 45 E8
,但大于
61
的计数没有给我任何反应。

更新1

以下是我的要求和回复。

请求框架:

01 03 00 00 00 61 84 22

响应框

01 slave id
03 function code
B4 further bytes
00 20 97 01 msn
00 01 slave 
25 80 baud rate
3F 82 8F 5C Hardware ver
3F 80 00 00 Soft ver
00 00 // unknown-not required
44 7A 00 00 // unknown-not required
00 05 // unknown-not required
01 01 // unknown-not required
00 05 // unknown-not required
43 61 E6 66 L1 volt
00 00 00 00 L2 volt
00 00 00 00 L3 volt
42 47 28 F6 Grid freq
40 24 7A E1 L1 curry
00 00 00 00 L2 curry
00 00 00 00 L3 curry
3F 14 7A E1 Total act pow
3F 14 7A E1 T1
00 00 00 00 T2
00 00 00 00 T3
3B A3 D7 0A Total react pow
3B A3 D7 0A T1
00 00 00 00 T2
00 00 00 00 T3
3F 14 7A E1 Total apprt pow
3F 14 7A E1 T1
00 00 00 00 T2
00 00 00 00 T3
3F 80 00 00 Total pow fac
3F 80 00 00 T1
00 00 00 00 T2
00 00 00 00 T3
02 20 15 04 // unknown-not required
09 07 20 00 // unknown-not required
00 00 // unknown-not required
75 A3 // unknown-not required
41 E7 EB 85 Total act eng
41 E7 EB 85 T1
00 00 00 00 T2
00 00 00 00 T3
41 E7 EB 85 Fwd act enrg
41 E7 EB 85 T1
00 00 00 00 T2
00 00 00 00 T3
00 00 00 00 Rev act enrg
00 00 00 00 T1
00 00 00 00 T2
00 00 00 00 T3
3E 8F 5C 29 Total react eng
3E 8F 5C 29 T1
00 00 00 00 T2 
00 00 00 00 T3
C3 FE 

剩余值: 数不胜数的正向无功电能和反向无功电能

61

c# serial-port console-application modbus
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.