VAR_INPUT
E : ARRAY[array_begin..array_end] OF BOOL;
T : ARRAY[array_begin..array_end] OF TIME;
END_VAR
damit definierst du , das du bei "e" und "t" ein Datenarray übergibst, also eigentlich nur zwei variablen die jeweils ein datenarray darstellen
und das datenarray solltest du natürlich vorher mit sinnvollen daten füllen
dann kannst du nicht hergehen, und plötzlich alle array-elemente einzeln als parameter übergeben
timer (E[0] := ja,
T[0] := T#5s,
Q[0] => test_flag_1
E[1] := ja,
T[1] := T#10s,
Q[1] => test_flag_2,
E[2] := ja,
T[2] := T#15s,
das entspricht nicht der definition
da muesstest du beim scheduler_3x dann folgendes machen
VAR_INPUT
E0 : BOOL;
T0 : TIME;
E1 : BOOL;
T1 : TIME;
usw... machen
END_VAR
damit du das so einzeln übergeben kannst, das ist aber ein blödsinn, weil es den code nur unnötig aufbläht, und du alle timer extra programmieren musst, und keine schleife zur abarbeitung nutzen kannst
das kann nur mit deiner zweiten variante funktionieren !!