nOffset | (Long) Určuje pozici čtené hodnoty v datovém bloku. Platí, že celá čtená hodnota musí ležet uvnitř datového bloku. Položka se vyčte buď celá nebo vůbec. >= 0 - Index (v bajtech, indexováno od 0) v datovém bloku. -4 - Použije se vnitřní automatická pozice (viz AutoOffset), která ukazuje za poslední čtenou nebo zapisovanou hodnotu. |
---|---|
nSize | (Long) Velikost čteného datového bloku. Hodnota -1 (přednastaveno) znamená, že se vyčte datový blok od zadané pozice až do konce. |
sType | (String) Typ kontrolní sumy: "crc1" - CRC-16-CCITT, 2 bytes Cyclical Redundancy Check with CCITT polynomial [0x1021 = x16+x12+x5+1]. Kontrolní polynomiální součet bajtů. Výsledkem je hodnota typu Integer, tzn. hodnota na 2 bajty. Tato kontrolní suma je použita například u komunikace protokolem PmSBUS. "crc2" - CRC-16-IBM, 2 bytes Cyclical Redundancy Check with CCITT polynomial [0xA001 = x16+x15+x2+1]. Kontrolní polynomiální součet bajtů. Výsledkem je hodnota typu Integer, tzn. hodnota na 2 bajty. Tato kontrolní suma je použita například u komunikace protokolem Modbus. "crc3" - CRC-16-IBM, 2 bytes Cyclical Redundancy Check with CCITT polynomial [0x8005 = x16+x15+x2+1]. Kontrolní polynomiální součet bajtů. Výsledkem je hodnota typu Integer, tzn. hodnota na 2 bajty. Tato kontrolní suma je použita například u komunikace protokolem PmABradleyDF1. "sum1" - Bajtový součet hodnot. Výsledkem je hodnota typu Byte (součet modulo 256). Tato kontrolní suma je použita například u komunikace protokolem PmIEC8705, PmMBus, PmAdam, PmTeco, PmInmat66. "sum2" - Bajtový součet hodnot. Výsledkem je hodnota typu Integer, tzn. hodnota na 2 bajty (součet modulo 65536). "xor1" - Bitový XOR všech bajtových hodnot. Výsledkem je hodnota typu Byte. Tato kontrolní suma je použita například u komunikace protokolem Pm3964. "md5" - MD5 hash všech bajtových hodnot. MD5 hash má velikost 16 bajtů, tzn. výsledný HexaString má velikost 32 znaků. "sha256" - SHA-256 hash všech bajtových hodnot. SHA-256 hash má velikost 32 bajtů, tzn. výsledný HexaString má velikost 64 znaků. "sha512" - SHA-512 hash všech bajtových hodnot. SHA-512 hash má velikost 64 bajtů, tzn. výsledný HexaString má velikost 128 znaků. |
var oBuf = Pm.CreatePmBuffer();
oBuf.SetInt32(-2, 0x10203040);
oBuf.SetInt16(-2, 0x5060);
oBuf.SetUint8(-2, 0x70);
var n = oBuf.CalcCheckSum(0, -1, "crc1");
var sMd5, sSha256;
var oBuf = Pm.CreatePmBuffer();
oBuf.SetStringVar(-2, "Test string", 1, 1);
sMd5 = oBuf.CalcCheckSum(0, -1, "md5");
sSha256 = oBuf.CalcCheckSum(0, -1, "sha256");