代码之家  ›  专栏  ›  技术社区  ›  SPandya

“modBusSerialMaster”由于其保护级别而无法访问

  •  0
  • SPandya  · 技术社区  · 6 年前

    我正在使用nmodbus创建rtu。

    在包管理器控制台中使用以下命令安装nmodbus包

    Install-Package NModbus
    

    现在,我正在创建RTU通过以下行。

    IModbusSerialMaster master = ModbusSerialMaster.CreateRtu(Port);
    

    但我错了

    “modBusSerialMaster”由于其保护级别而无法访问

    是什么原因以及如何创建modbus rtu来读取和写入多个寄存器。

    提前谢谢。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Jon Skeet    6 年前

    是的,因为 ModbusSerialMaster 是一个内部类,如您在 source 是的。

    浏览代码,我猜你想要这样的东西:

    IModbusFactory factory = new ModbusFactory();
    IModbusSerialMaster = factory.CreateMaster(transport);
    

    …在哪里? transport 是一种工具 IModbusSerialTransport 是的。

    或者,如果你不需要 IModbusSerialMaster 但是 IModbusRtuTransport 你会打电话来的 CreateRtuTransport 以下内容:

    IModbusFactory factory = new ModbusFactory();
    IModbusRtuTransport = factory.CreateRtuTransport(resource);
    

    …在哪里? resource 是一种工具 IStreamResource 是的。

    对于任何进一步的事情,我可能只是克隆源代码,并浏览它,找出你可以做什么和你需要什么。