我想用初始化
声明一个指针数组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;
一切都按我的意愿运作。
答案 0 :(得分:1)
我认为POU变量声明不希望函数调用,甚至不希望变量分配给其他变量。
在声明中使用变量的唯一方法是使用VAR_CONSTANTs。你仍然需要做一些工作,但它可以使更大规模的替换更容易管理。
还有一种方法可以使用pragma来使用动态值(我从来没有真正使用过pragma,所以我不确定它有多强大)。
来自更多标准编程语言,这个编程语言具有与C类似的规则和结构,但没有那么多的灵活性,可怕的语法,甚至没有类似'void'类型。我最终使用python模板来帮助生成POU变量声明头,因为允许的语法非常严格,导致过于冗长的声明。