diff --git a/src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj b/src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj index b3232bef323..a21ef3ea185 100644 --- a/src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj +++ b/src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj @@ -81,10 +81,10 @@ - - + + - + diff --git a/src/BootstrapBlazor.Server/Components/Samples/Modbus/ModbusFactories.razor b/src/BootstrapBlazor.Server/Components/Samples/Modbus/ModbusFactories.razor index fca509da1ff..67d73af6810 100644 --- a/src/BootstrapBlazor.Server/Components/Samples/Modbus/ModbusFactories.razor +++ b/src/BootstrapBlazor.Server/Components/Samples/Modbus/ModbusFactories.razor @@ -78,6 +78,28 @@ private IModbusFactory? ModbusFactory { get; set; }
  • 保持寄存器 (Holding Registers) 最大读取数量: 125, 最大写入数量: 123
  • +

    IModbusClient 所有读取返回值均为 IModbusResponse 实例

    其定义如下: + +
    public interface IModbusResponse
    +{
    +  // 获得 原始数据
    +  ReadOnlyMemory<byte> RawData { get; }
    +
    +  // 获得 Longbow.Modbus.IModbusMessageBuilder 实例
    +  IModbusMessageBuilder Builder { get; }
    +}
    + +

    通过调用其扩展方法或者 Builder 属性 IModbusMessageBuilder 实例方法

    + +
      +
    • ReadBoolValuesIModbusResponse 实例中 RawData 转换成布尔数组
    • +
    • ReadUShortValuesIModbusResponse 实例中 RawData 转换成无符号短整型数组
    • +
    + +

    通过接口 IModbusResponse 获得到其原始数据 RawData 可以通过自定义扩展非常方便的扩展出符合自己业务的数据类型。如通过连续 2 个寄存器存储的数据,得到遵循 IEEE 754 标准的 32 位 浮点数

    + +

    注意:在将 RawData 转换为自定义类型(如 32 位浮点数)时,需要注意字节序(Endianness)。字节序会影响数据的解释方式,错误的字节序可能导致解析结果不正确。请根据实际设备或协议规范选择合适的字节序进行转换。

    +

    项目包含 Benchmark 基准测试工程

    private const int NumberOfTask = 10;