Смотрится это так:
Код: Выделить всё
#n0 := LOWER_BOUND(ARR := #A, DIM := 1);
#n99 := UPPER_BOUND(ARR := #A, DIM := 1);
FOR #i := #n0 TO #n99 DO
#err:= MOVE_BLK_VARIANT(SRC:=#A, COUNT:=1, SRC_INDEX:=#i, DEST_INDEX:=0, DEST=>#r);
#r[0] := #r[0] + #X;
#err := MOVE_BLK_VARIANT(SRC := #r, COUNT := 1, SRC_INDEX := 0, DEST_INDEX := #i, DEST => #B);
// #B[#i] := #A[#i] + #X;
END_FOR;
для S7-1500 достаточно вместо 3-х строчек написать #B[#i] := #A[#i] + #X;