使用PLC st声明POU中结构体数组的值



结构声明如下:

TYPE board:
STRUCT
number: INT;
color: DWORD;
END_STRUCT
END_TYPE

我想声明一个数组的这些结构与开始值在POU。我是这样做的:

Program PLC_PRG
VAR
arr1: ARRAY[1..61] OF board;
board: board;
arr1[1].color := 16#FF0000;
END_VAR

但我得到一个错误,说:"错误4024:PLC_PRG(10):期望':'之前'['";

有人知道怎么解决这个问题吗?

您没有指定平台,但我假设是TwinCAT。要初始化结构数组,必须在变量声明行中完成所有操作。

arr1: ARRAY[1..61] OF board := [(number:=7, color:=16#FF0000), (number:=5, color:=16#FF0001)];

这个例子将初始化数组的元素1和元素2。据我所知,你不能有选择地初始化单个数组元素,尽管你可能想这样做。当然,你可以使用像arr1[17].color := 16#FF0000这样的语句,但它必须在变量声明块之外。

相关内容

  • 没有找到相关文章

最新更新