Example #1
0
        public static ModbusHeader FromNetworkBuffer(byte[] buffer)
        {
            var header = new ModbusHeader();

            int size = Marshal.SizeOf(header);
            var ptr  = Marshal.AllocHGlobal(size);

            Marshal.Copy(buffer, 0, ptr, size);

            header = (ModbusHeader)Marshal.PtrToStructure(ptr, header.GetType());
            Marshal.FreeHGlobal(ptr);

            header.Length                = IPAddress.NetworkToHostOrder(header.Length);
            header.ProtocolIdentifier    = IPAddress.NetworkToHostOrder(header.ProtocolIdentifier);
            header.TransactionIdentifier = IPAddress.NetworkToHostOrder(header.TransactionIdentifier);

            return(header);
        }
Example #2
0
 public ModbusBase()
 {
     Header = new ModbusHeader();
 }