我正在使用 TwinCAT 3.
我正在尝试通过 MODBUS TCP 读取浮动变量。 读取的变量在一个字数组中。如何将 2 字转换为浮点数/实数?我的意思是这两个词首先要结合起来,然后另存为另一个变量,如 DWORD。 此外,我什么时候必须进行交换?
您可以创建一个包含 2 个 WORD 的数组,并使用 MEMCPY 直接将内存与 REAL 类型交换,因为它们都是 4 个字节。 例子:
主要程序
无功函数
真实价值:真实;
单词:单词数组 [0..1];
第一个字:字; //从modbus读取
第二个字:字; //从modbus读取
END_VAR
字[0] := firstWord;
单词[1] := secondWord;
MEMCPY(ADR(RealValue), ADR(words), 4);
MEMCPY分别取3个输入;目标地址、源地址和要传输的字节数。