public static WriteMultipleRegisters Create(byte slaveAddress, ushort startingAddress, ushort[] data) { WriteMultipleRegisters request = new WriteMultipleRegisters() { SlaveAddress = slaveAddress, FunctionCode = 16, StartingAddress = startingAddress, QuantityOfRegisters = (ushort)(data.Length), ByteCount = (byte)(data.Length * 2), Data = data, Protocol = ProtocolType.RTU }; byte[] rtuEncoded = request.Encode(); return(WriteMultipleRegisters.Decode(rtuEncoded)); }
public static WriteMultipleRegisters Create(byte unitId, ushort transactionId, ushort protocolId, ushort startingAddress, ushort[] data) { WriteMultipleRegisters request = new WriteMultipleRegisters() { Header = new MbapHeader() { ProtocolId = protocolId, TransactionId = transactionId, UnitId = unitId }, SlaveAddress = unitId, FunctionCode = 16, StartingAddress = startingAddress, QuantityOfRegisters = (ushort)(data.Length), ByteCount = (byte)(data.Length * 2), Data = data, Protocol = ProtocolType.TCP }; byte[] encoded = request.Encode(); return(WriteMultipleRegisters.Decode(encoded)); }