Alla on esimerkki sekvenssistä, joka
Sekvenssi käynnistyy asettamalla Int-tyyppinen muuttuja Step nollaksi ja asettamalla tämän jälkeen Bool-tyyppinen muuttuja SeqRun ykköseksi.
Esimerkki on ensin TIA Portalista kaapattuna kuvana ja alempana tekstimuotoisena kopioitavaksi omaan projektiin.
Esimerkkisekvenssi on sijoitettu Cyclic interrupt -lohkoon (OB31), joka on määritetty suorittumaan 100 ms välein. Sekvenssi voisi olla myös OB1-lohkossa, mutta Cyclic interrupt -lohkossa suoritettuna se kuormittaa CPU:ta huomattavasti vähemmän. Sekvenssillä tyypillisesti ohjataan harvakseltaan muuttuvia ohjauksia, joten suoritusnopeus ei ole lainkaan kriittinen. Jos suoritusnopeus on kriittinen, sovellus yleensä toteutetaan muulla kuin sekvenssirakenteella.
(* Sequence Application in SCL *)
IF "SeqRun" THEN
CASE "Step" OF
0: (* If sequence is started but still in step 0
initialize to step 1 *)
"Step" := 1;
"Timer1In" := FALSE; (* Reset timer inputs *)
"Timer2In" := FALSE;
1: (* Step 1 ACTIONS - Open V-102
Set LIC-100 to automatic
Reset S2TimerIn *)
"V-102" := TRUE;
"LIC-100.ma" := FALSE;
IF "V-102.o" THEN (* Step 1 CONDITIONS -
Only check that V-102
has opened *)
"Step" := "Step" + 1; (* Go to next step *)
END_IF;
2: (* Step 2 ACTIONS - Start 6 second timer *)
"IEC_Timer_0_DB".TON(IN := "Timer1In",
PT := T#6s,
Q => "Timer1Out");
"Timer1In" := TRUE; (* Activate timer *)
IF "Timer1Out" THEN (* Step 2 CONDITIONS -
Timer ready *)
"Step" := "Step" + 1;
END_IF;
3: (* Step 3 ACTIONS - Close V-102
Reset S2Timer *)
"V-102" := FALSE;
"Timer1In" := FALSE;
IF "V-102.c" THEN (* Step 3 CONDITIONS -
V-102 closed *)
"Step" := "Step" + 1; (* Go to next step *)
END_IF;
4: (* Step 2 ACTIONS - Start 6 second timer *)
"IEC_Timer_1_DB".TON(IN := "Timer2In",
PT := T#10s,
Q => "Timer2Out");
"Timer2In" := TRUE; (* Activate timer *)
IF "Timer2Out" THEN (* Step 2 CONDITIONS -
Timer ready *)
"Step" := 1; (* Jump to step 1 *)
END_IF;
END_CASE;
END_IF;
<< Edellinen (9) Ehto-osa | Sivu 10/10 | Takaisin ensimmäiseen >> (1) Sekvenssiohjaus FB-lohkolla (TIA Portal V14) |