我正在使用NModbus创建RTU。
在软件包管理器控制台中使用以下命令安装了NModbus软件包
Install-Package NModbus
现在我通过以下行创建RTU。
IModbusSerialMaster master = ModbusSerialMaster.CreateRtu(Port);
但是我遇到了错误
'ModbusSerialMaster'由于其保护级别而无法访问
原因是什么,如何创建Modbus RTU来读取和写入多个寄存器。
谢谢。
答案 0 :(得分:2)
是的,因为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
的东西。
对于进一步的事情,我可能只是克隆源代码并浏览它以找出您可以做什么和需要什么。