0
我想從COM端口讀取modbus寄存器我正在使用NModbus4寄存器,但使用readHoldingRegister時,它將簡單地凍結在那裏。 這是我的源代碼:nmodbus ReadHoldingRegisters freeze
public static void ModbusSerialAsciiMasterReadRegisters()
{
using (SerialPort port = new SerialPort("COM4"))
{
// configure serial port
port.BaudRate = 9600;
port.DataBits = 8;
port.Parity = Parity.None;
port.StopBits = StopBits.One;
port.Open();
var adapter = new SerialPortAdapter(port);
var factory = new ModbusFactory();
// create modbus master
IModbusSerialMaster master = factory.CreateAsciiMaster(adapter);
byte slaveId = 1;
ushort startAddress = 8193;
ushort numRegisters = 5;
// read five registers
try
{
ushort[] registers = master.ReadHoldingRegisters(slaveId, startAddress, numRegisters);
for (int i = 0; i < numRegisters; i++)
{
Console.WriteLine($"Register {startAddress + i}={registers[i]}");
}
}
catch(Exception ex)
{
Console.WriteLine(ex);
}
}
}
}