在每个PLC循环中存储变量值



是否可以在每个PLC循环中存储一个变量值?我每次都需要前10个值来进行一些计算。我正在使用OpenPCS平台和ST进行编程。

您可以创建一个值数组,然后将其存储为数组值

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将给定值递增1,直到其达到32,然后重置为1。

相关内容

  • 没有找到相关文章

最新更新