我正在使用如下命令:“$02WSLD00000$03”,我知道它的校验和应该是“=”char 或 61 dec 或 3D 十六进制。 我正在尝试使用 OSCAT 库中的 CRC_GEN 函数,但它根本不起作用。 该网站给出了正确的值:https://www.scadacore.com/tools/programming-calculators/online-checksum-calculator/
我能做什么?
这就是我现在正在尝试的:
IF StartCheckSum THEN
CommandARRAY := MAXSTRING_TO_BYTEARR(GVL_SERIAL.HexCommand1);
CheckSumResult := CRC_GEN (ADR(GVL_SERIAL.HexCommand1), SIZEOF(GVL_SERIAL.HexCommand1),16#1021,16#8F,16#0000,REV_IN,REV_OUT,16#0000);
END_IF
StartCheckSum := FALSE ;