在CoDeSys中指向bool的指针数组

时间:2014-05-08 11:35:51

标签: plc codesys

我想用初始化

声明一个指针数组
Apb : array [0..2] of pointer to bool := adr(r0), adr(r1), adr(r2);

其中r0,r1,r2在Modbus中声明为按位保持寄存器。 我收到了一个错误:错误的初始值。

以防:

Apb : array [0..2] of pointer to bool;
Apb[0]^ := r0;

一切都按我的意愿运作。

1 个答案:

答案 0 :(得分:1)

我认为POU变量声明不希望函数调用,甚至不希望变量分配给其他变量。

在声明中使用变量的唯一方法是使用VAR_CONSTANTs。你仍然需要做一些工作,但它可以使更大规模的替换更容易管理。

还有一种方法可以使用pragma来使用动态值(我从来没有真正使用过pragma,所以我不确定它有多强大)。


来自更多标准编程语言,这个编程语言具有与C类似的规则和结构,但没有那么多的灵活性,可怕的语法,甚至没有类似'void'类型。我最终使用python模板来帮助生成POU变量声明头,因为允许的语法非常严格,导致过于冗长的声明。