nOffset | (Long) Określa pozycję odczytywanej wartości w bloku danych.
Cała odczytywana wartość musi znajdować się w bloku danych. Pozycja zostanie odczytana albo w całości lub wogóle. >= 0 - Indeks (w bajtach, indeksowane od 0) w bloku danych.
-4 - Zostanie zastosowana wewnętrzna automatyczna pozycja (patrz właściwość AutoOffset), która wskazuje ostatnią odczytywaną lub zapisywaną wartość.
Operacja ta przesunie wewnętrzną automatyczną pozycję za odczytywaną/zapisywaną wartość. Jeżeli pozycje są odczytywane/zapisywane po kolei za sobą, wtedy nie trzeba ręcznie określać pozycję, ale jest lepiej zastosować automatyczne pozycjonowanie. |
---|---|
nEncoding | [opcjonalne] (Long) Kolejność zapisania bajtów jednej wartości w pamięci (Little-endian/Big-endian) w bloku danych. Little-endian oraz Big-endian posiadaja wzajemnie odwrotną kolejność zapisu bajtów wartości. Nie jest to zależne od systemu operacyjnego ale od platformy komputera.
W systemie PROMOTIC (na komputerach z procesorami x86) jest stosowany Little-endian. W procesorach ARM stosowany jest Big-endian (zazwyczaj jest stosowany do komunikacji ze sterownikami PLC). Big-endian może być wymagany do wymiany danych z innym systemem (np. sterownik PLC). |
var oBuf = Pm.CreatePmBuffer();
oBuf.SetUint32(-2, 2147483647);
oBuf.SetUint32(-2, -11);
var val0 = oBuf.GetUint32(0);
var val1 = oBuf.GetUint32(4);
// val1 = 0
// lub
oBuf.AutoOffset = 0;
var val0 = oBuf.GetUint32(-4);
var val1 = oBuf.GetUint32(-4);
// val1 = 0