ГОСТ Р МЭК 61131-3—2016
Пример 1
А1:ARRAY[1..10] OFINT:= [10(1)];
А2: ARRAY[1..20. -2..2J OFINT:=[20(5(1])];
Ив соответствии с инициализацией массива, см. €.4.4.5.2
—
1
- 10
- 1
20
-
■2
- 2
—ошибка
LOWER_BOUND (A1, 1)
UPPER_BОUND (A1, 1)
LOWER_BOUND (A2. 1)
UPPER_BOUND (A2. 1)
LOWER_BOUND (A2. 2)
UPPER_BOUND (A2, 2)
LOWER_BOUND(A2, 0)
LOWER_BOUND (A2. 3)
—ошибка
Пример 2— Суммирование массивов
FUNCTIONSUM: INT;
VAR_IN_OUTA: ARRAYГ] OF INT; END_VAR;
VARi, sum2: DINT;END_VAR;
sum2:= 0;
FORi~ LOWER_BOUND(A,1) TO UPPER_BOUND(A,1)
sum2:= sum2 +A[i]; END_FOR;
SUM:= sum2; END_FUNCTION
//SUM (A1)-*10
HSUM(A2[2J) —5
Пример 3— Умножение матриц
FUNCTIONMATRIX_MUL
VARJNPUT
A: ARRAYC, *] OFINT;
B: ARRAYf, ’] OFINT;
END_VAR;
VAR_OUTPUTC:ARRAY[’] OFINT; END_VAR;
VARi,j, k, s: INT; END_VAR;
FOR/:= LOWER_BOUND(A, 1) TO UPPER_BOUND(A. 1)
FORj~ LOWER_BOUND(B, 2) TO UPPER_BOUND(B, 2)
0
s:= ;
FORk:= LOWER_BOUND(A,2) TO UPPER_BOUND(A, 2)
s:= s +A[i,k] *B[k,j];
END__FOR;
C[ij]:= s;
END_FOR;
END_FOR;
END_FUNCTION
40