|nOffset||(Long) Defines the position of read value in the data block. |
The read value must be inside the data block. The item is read either whole or not read at all.
>= 0 - Index (in bytes, zero-based index) in data block.
-4 - The internal automatic position is used (see AutoOffset). It points behind the last read or written value and increases continually.
If the items are read/written one by one then it is not necessary to define the position, but it is better to use this automated positioning.
|nEncoding||[optional] (Long) Byte saving order in memory of a single value (Little-endian/Big-endian) in the data block. The Little-endian and Big-endian use different (reversed) order of the value bytes storage in memory. This is not depending on the operating systerm but on the computer platform. |
In the PROMOTIC system (on x86 PC CPUs) the Little-endian is used.
Big-endian is commonly used on ARM processors (often used for communication with PLC devices). Big-endian may be required for data exchange with another system (e.g. PLC device).
var oBuf = Pm.CreatePmBuffer();
var val0 = oBuf.GetUint32(0);
var val1 = oBuf.GetUint32(4); //val1 = 0
oBuf.AutoOffset = 0;
var val0 = oBuf.GetUint32(-4);
var val1 = oBuf.GetUint32(-4); //val1 = 0