|nOffset||(Long) Defines the position of written value in the data block. |
The whole written item muyst be inside the data block, or the whole item is added to the end of the data block. The item is written either whole or not read at all.
>= 0 - Index (in bytes, zero-based index) in data block.
-2 - The whole item is added to the end of the data block. The size of the data bloc is then increased by the written item.
-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.
|nValue||(Long) Written value.|
|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(1); //val1 = 0
oBuf.AutoOffset = 0;
var val0 = oBuf.GetUint32(-4);
var val1 = oBuf.GetUint32(-4); //val1 = 0