Код:
PROGRAM PLC_PRG
VAR
ARR : ARRAY[0..100] OF INT :=
0, 55, 60, 61, 62, 62, 63, 65, 66, 68, 70, 71, 74, 76,
79, 81, 84, 87, 91, 94, 98, 102, 106, 110, 115, 119, 124,
129, 134, 140, 146, 151, 157, 163, 170, 176, 183, 190, 197,
204, 212, 220, 228, 236, 244, 252, 261, 270, 279, 288, 298,
307, 317, 327, 337, 347, 358, 369, 380, 391, 402, 413, 425,
437, 449, 461, 474, 486, 499, 512, 526, 539, 552, 566, 580,
594, 609, 623, 638, 653, 668, 683, 699, 714, 730, 746, 763,
779, 796, 812, 830, 847, 864, 882, 899, 917, 936, 954, 972,
991, 1000;
i : INT;
TT : WORD;
END_VAR
IF DI1 THEN
IF i <= 100 THEN
AO7 := ARR[i];
i :=LIMIT(0, i+1, 100);
TT := TT+1;
END_IF
ELSE
AO7 := ARR[i];
END_IF
IF DI2 THEN
IF i > 0 THEN
AO7 := ARR[i];
i := i-1;
ELSIF i = 0 THEN
AO7 := 0;
END_IF
ELSE
AO7 := ARR[i];
END_IF
В режиме эмуляции работает медленно. На контроллере -мигом. Это понятно. Есть ли какой-нибудь способ сделать вот это