是否可以在每个 PLC 循环中存储一个变量值?我每次都需要前 10 个值来执行一些计算。我正在使用 OpenPCS 平台和 ST 进行编程。
问问题
111 次
1 回答
0
您可以创建一个值数组,然后存储为数组值
VAR
aBuffer : ARRAY[1..32] OF WORD;
init:BOOL; (* Init array *)
rest:BOOL; (* Reset *)
val:WORD; (* Value *)
iCount:INT; (* Array index *)
END_VAR
VAR_TEMP
iTmp : INT;
END_VAR
iTmp := UINT_TO_INT(N) - 1;
IF NOT init OR rest THEN
init := TRUE;
FOR iCount := 1 TO iTmp DO
aBuffer[iCount] := val;
END_FOR;
END_IF
iCount := INC1(iCount, 32);
aBuffer[iCount] := val;
这是一个创建 32 个元素数组的代码示例,每个新的 PLC 循环分配新元素并旋转。
之后,您可以计算平均值或最小值和最大值。
INC1 将给定值加一,直到达到 32,然后重置为 1。
于 2020-04-16T10:39:03.230 回答