Esempio n. 1
0
        public byte[] Build(DNP3CommandParameters param)
        {
            byte[] header = new byte[10];

            Buffer.BlockCopy(BitConverter.GetBytes(IPAddress.HostToNetworkOrder((short)param.Start)), 0, header, 0, 2);
            header[2] = param.Length;
            header[3] = param.Control;
            Buffer.BlockCopy(BitConverter.GetBytes((short)param.Destination), 0, header, 4, 2);
            Buffer.BlockCopy(BitConverter.GetBytes((short)param.Source), 0, header, 6, 2);
            ushort crc = 0;

            for (int i = 0; i < 8; i++)
            {
                CrcCalculator.computeCRC(header[i], ref crc);
            }
            crc = (ushort)(~crc);
            Buffer.BlockCopy(BitConverter.GetBytes((short)crc), 0, header, 8, 2);

            return(header);
        }
Esempio n. 2
0
 public WriteAnalogOutput(DNP3CommandParameters commandParameters) : base(commandParameters)
 {
     headerBuilder = new MessageHeaderBuilder();
 }
Esempio n. 3
0
 public Read(DNP3CommandParameters commandParameters) : base(commandParameters)
 {
     headerBuilder = new MessageHeaderBuilder();
 }
Esempio n. 4
0
 public DNP3Function(DNP3CommandParameters commandParameters)
 {
     this.commandParameters = commandParameters;
 }