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; } }
public RequestItem(PlcArea area, ushort dbNumber, ushort numberOfItems, int offset, ItemDataTransportSize transportSize, Memory <byte> address) { Area = area; DbNumber = dbNumber; NumberOfItems = numberOfItems; Offset = offset; Address = address; DetermineTransportAndElementSize(area, transportSize); }
public WriteRequestItem(PlcArea area, ushort dbNumber, ushort numberOfItems, int offset, ItemDataTransportSize transportSize, Memory <byte> address, Memory <byte> data) : base(area, dbNumber, numberOfItems, offset, transportSize, address) { Data = data; }