Пример #1
0
 protected RequestItem(PlcArea area, ushort dbNumber, ushort numberOfItems, int offset, DataTransportSize transportSize, ushort elementSize, Memory <byte> address)
 {
     Area          = area;
     DbNumber      = dbNumber;
     NumberOfItems = numberOfItems;
     Offset        = offset;
     TransportSize = transportSize;
     Address       = address;
     ElementSize   = elementSize;
 }
Пример #2
0
 private static ushort TransportSizeToElementSize(DataTransportSize t) => t switch
 {
Пример #3
0
        protected void DetermineTransportAndElementSize(PlcArea area, ItemDataTransportSize t)
        {
            if (area == PlcArea.CT || area == PlcArea.TM)
            {
                TransportSize = DataTransportSize.OctetString;
                ElementSize   = 2;
                return;
            }

            switch (t)
            {
            case ItemDataTransportSize.Bit:
            {
                TransportSize = DataTransportSize.Bit;
                ElementSize   = 1;
            }
            break;

            case ItemDataTransportSize.Byte:
            case ItemDataTransportSize.Char:
            {
                TransportSize = DataTransportSize.Byte;
                ElementSize   = 1;
            }
            break;

            case ItemDataTransportSize.Word:
            {
                TransportSize = DataTransportSize.Byte;
                ElementSize   = 2;
            }
            break;

            case ItemDataTransportSize.Int:
            {
                TransportSize = DataTransportSize.Int;
                ElementSize   = 2;
            }
            break;

            case ItemDataTransportSize.Dword:
            {
                TransportSize = DataTransportSize.Byte;
                ElementSize   = 4;
            }
            break;

            case ItemDataTransportSize.Dint:
            {
                TransportSize = DataTransportSize.Dint;
                ElementSize   = 4;
            }
            break;

            case ItemDataTransportSize.Real:
            {
                TransportSize = DataTransportSize.Real;
                ElementSize   = 4;
            }
            break;

            default:
            {
                TransportSize = DataTransportSize.Byte;
                ElementSize   = 1;
            }
            break;
            }
        }
Пример #4
0
 internal WriteRequestItem(PlcArea area, ushort dbNumber, ushort numberOfItems, int offset, DataTransportSize transportSize, ushort elementSize, Memory <byte> address, Memory <byte> data)
     : base(area, dbNumber, numberOfItems, offset, transportSize, elementSize, address)
 {
     Data = data;
 }