对于用结构化文本编写的PLC程序,我需要一个以ASCII值开头的字符串0x01 0x01 0x01 0x00 0x12.
在Java中,我会这样做:
String literal = "\x01\x01\x01\x0\x12";
Run Code Online (Sandbox Code Playgroud)
如何在PLC的结构化文本中实现相同的功能?
你能给我一个例子来说明如何在我的库中声明函数指针吗?如何将函数指针传递给外部库?
我使用 CODESYS 制作了一个功能块来执行电能计量。该功能块的输入是电流和电压,输出是能量。现在,我们需要有 1000 个该功能块的实例来运行我们拥有的 1000 米的代码。编写(可能还有复制和粘贴)这些实例似乎并不是最有趣的工作。想知道是否有人有更聪明的方法来进行如此众多的实例化。
例如,以下是 2 个实例的代码(在 CODESYS 中)的样子:
meter_instance1(CURRENT:=I1, VOTAGE:=V2);
Energy1:= meter_instance1.ENERGY;
meter_instance2(CURRENT:=I2, VOTAGE:=V2);
Energy2:= meter_instance2.ENERGY;
Run Code Online (Sandbox Code Playgroud)
我们希望有 1000 个实例。任何想法都会受到高度赞赏。
这就是我现在的情况
TYPE MyType: STRUCT
name: STRING[20];
input: INT;
output: INT;
END_STRUCT
END_TYPE
Run Code Online (Sandbox Code Playgroud)
PROGRAM PLC_PRG:
VAR
struct: MyType;
struct_NULL: MyType;
error: BOOL;
END_VAR
IF error THEN
struct := struct_NULL;
END_IF
END_PROGRAM
Run Code Online (Sandbox Code Playgroud)
是否有另一种方法可以使结构无效,而无需声明和使用struct_NULL