Skip to content

Commit 75a2d5e

Browse files
authored
doc(Modbus): add IModbusResponse documentation (#6772)
* chore: 更新依赖 * doc: 更新 IModbusResponse 文档 * doc: 代码格式化 * doc: 代码格式化 * doc: 增加注意事项
1 parent cedd988 commit 75a2d5e

File tree

2 files changed

+25
-3
lines changed

2 files changed

+25
-3
lines changed

src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,10 @@
8181
<PackageReference Include="BootstrapBlazor.VideoPlayer" Version="9.0.3" />
8282
<PackageReference Include="BootstrapBlazor.WinBox" Version="9.0.7" />
8383
<PackageReference Include="Longbow.Logging" Version="9.0.1" />
84-
<PackageReference Include="Longbow.Modbus" Version="9.0.6" />
85-
<PackageReference Include="Longbow.Sockets" Version="9.0.3" />
84+
<PackageReference Include="Longbow.Modbus" Version="9.0.9" />
85+
<PackageReference Include="Longbow.Sockets" Version="9.0.4" />
8686
<PackageReference Include="Longbow.Tasks" Version="9.0.2" />
87-
<PackageReference Include="Longbow.TcpSocket" Version="9.0.10" />
87+
<PackageReference Include="Longbow.TcpSocket" Version="9.0.11" />
8888
</ItemGroup>
8989

9090
<ItemGroup>

src/BootstrapBlazor.Server/Components/Samples/Modbus/ModbusFactories.razor

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,28 @@ private IModbusFactory? ModbusFactory { get; set; }</Pre>
7878
<li>保持寄存器 (Holding Registers) 最大读取数量: <code>125</code>, 最大写入数量: <code>123</code></li>
7979
</ul>
8080

81+
<p><code>IModbusClient</code> 所有读取返回值均为 <code>IModbusResponse</code> 实例</p> 其定义如下:
82+
83+
<Pre>public interface IModbusResponse
84+
{
85+
// 获得 原始数据
86+
ReadOnlyMemory&lt;byte&gt; RawData { get; }
87+
88+
// 获得 Longbow.Modbus.IModbusMessageBuilder 实例
89+
IModbusMessageBuilder Builder { get; }
90+
}</Pre>
91+
92+
<p>通过调用其扩展方法或者 <code>Builder</code> 属性 <code>IModbusMessageBuilder</code> 实例方法</p>
93+
94+
<ul class="ul-demo">
95+
<li><code>ReadBoolValues</code> 将 <code>IModbusResponse</code> 实例中 <code>RawData</code> 转换成布尔数组</li>
96+
<li><code>ReadUShortValues</code> 将 <code>IModbusResponse</code> 实例中 <code>RawData</code> 转换成无符号短整型数组</li>
97+
</ul>
98+
99+
<p>通过接口 <code>IModbusResponse</code> 获得到其原始数据 <code>RawData</code> 可以通过自定义扩展非常方便的扩展出符合自己业务的数据类型。如通过连续 2 个寄存器存储的数据,得到遵循 IEEE 754 标准的 32 位 <b>浮点数</b></p>
100+
101+
<p><b>注意:</b>在将 <code>RawData</code> 转换为自定义类型(如 32 位浮点数)时,需要注意字节序(Endianness)。字节序会影响数据的解释方式,错误的字节序可能导致解析结果不正确。请根据实际设备或协议规范选择合适的字节序进行转换。</p>
102+
81103
<p>项目包含 Benchmark 基准测试工程</p>
82104

83105
<Pre>private const int NumberOfTask = 10;

0 commit comments

Comments
 (0)