示例#1
0
        public static WriteMultipleRegisters Decode(string message)
        {
            WriteMultipleRegisters response = JsonConvert.DeserializeObject <WriteMultipleRegisters>(message);

            byte[] msg = response.Encode();
            return(Decode(msg));
        }
示例#2
0
        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));
        }
示例#3
0
        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));
        }
示例#4
0
 public static ModbusMessage Create(byte unitId, ushort transactionId, ushort protocolId, ushort startingAddress, ushort[] data)
 {
     return(WriteMultipleRegisters.Create(unitId, transactionId, protocolId, startingAddress, data));
 }
示例#5
0
 public static ModbusMessage Create(byte slaveId, ushort startingAddress, ushort[] data)
 {
     //16
     return(WriteMultipleRegisters.Create(slaveId, startingAddress, data));
 }