Hi i have some simple code which reads and writes to a Sofar inverter. Its written C# using NModbus. Yesterday it was working fine but today its giving me an error when writing to an address. Acceptable values should be 0 to 3, 0 works but 1,2&3 give an invalid data format error. Given it was working yesterday but not today i'm a bit lost...
public void TestWriteRegister()
{
SerialPort port = new("COM2")
{
// configure serial port
BaudRate = 9600,
DataBits = 8,
Parity = Parity.None,
StopBits = StopBits.One
};
port.Open();
ModbusFactory factory = new();
IModbusMaster master = factory.CreateRtuMaster(port);
var res = master.ReadHoldingRegisters(1, 0x1200, 1);
master.WriteMultipleRegisters(1, 0x1200, [(ushort)1]);
res = master.ReadHoldingRegisters(1, 0x1200, 1);
}
public void TestWriteRegister()
{
SerialPort port = new("COM2")
{
// configure serial port
BaudRate = 9600,
DataBits = 8,
Parity = Parity.None,
StopBits = StopBits.One
};
port.Open();
ModbusFactory factory = new();
IModbusMaster master = factory.CreateRtuMaster(port);
var res = master.ReadHoldingRegisters(1, 0x1200, 1);
master.WriteMultipleRegisters(1, 0x1200, [(ushort)1]);
res = master.ReadHoldingRegisters(1, 0x1200, 1);
}
