timohei.net / Opintojaksot
/ Soveltava ohjelmointi
/ Structured Text -ohjelmointi
/
fbSekvenssi (ST)
Name | Data Type | Initial Value | Comment |
---|
Askelnumero | INT | 0 | Askel, jossa sekvenssi on juuri nyt |
vanhaKaynnistys | BOOL | FALSE | Edellisen suorituskierroksen iKaynnistys-tulon tila nousevan reunan ilmaisua varten |
| | | |
| | | |
| | | |
EN | BOOL | FALSE | Controls execution of the Function Block |
iKaynnistys | BOOL | FALSE | Sekvenssin käynnistävä tulo |
iKV_makasiinilla | BOOL | FALSE | Rajatieto |
iKV_alasolulla | BOOL | FALSE | Rajatieto |
i5s_viiveen_tila | BOOL | FALSE | |
EN | BOOL | FALSE | Indicates successful execution of the Function Block. Automatically TRUE |
oAja_alasolulle | BOOL | FALSE | Ohjauskäsky KV-toimilohkolle |
oAja_makasiinille | BOOL | FALSE | Ohjauskäsky KV-toimilohkolle |
oAskelnumero | INT | 0 | Näyttää aktiivisen askeleen pääohjelmassa |
o5s_viiveen_ohjaus | BOOL | FALSE | |
| | | |
| | | |
| | | |
| | | |
| | | |
Internals |
Inputs |
Outputs |
InOuts |
1| (* Sekvenssi, joka
2| 1. Aja kääntövarsi makasiinille
3| 2. 5 sekunnin viive
4| 3. Aja kääntövarsi alasolulle *)
5|
6| (* SEKVENSSIN KÄYNNISTYS
7| Askelnumero = 0 -> sekvenssi ei ole käynnissä
8| Askelnumero > 0 -> sekvenssi on käynnissä *)
9| IF NOT vanhaKaynnistys AND iKaynnistys AND Askelnumero = 0 THEN
10| Askelnumero:= 1;
11| o5s_viiveen_ohjaus:= FALSE;
12| END_IF;
13|
14| (* ASKEL 1 *)
15| IF Askelnumero = 1 THEN
16| (* Toimenpiteet: *)
17| oAja_makasiinille:= TRUE;
18| (* Ehdot: *)
19| IF iKV_makasiinilla THEN
20| Askelnumero:= 2;
21| END_IF;
22| END_IF;
23|
24| (* ASKEL 2 * - 5 sekunnin viive *)
25| IF Askelnumero = 2 THEN
26| oAja_makasiinille:= FALSE;
27| o5s_viiveen_ohjaus:= TRUE;
28| IF i5s_viiveen_tila THEN
29| o5s_viiveen_ohjaus:= FALSE;
30| Askelnumero:= 3;
31| END_IF;
32| END_IF;
33|
34| (* ASKEL 3 - Ajetaan kääntövarsi alasolulle *)
35| IF Askelnumero = 3 THEN
36| oAja_alasolulle:= TRUE;
37| IF iKV_alasolulla THEN
38| Askelnumero:= 4;
39| END_IF;
40| END_IF;
41|
42| (* ASKEL 4 - Lopetaan ajo alasolulle ja lopetetaan sekvenssi ilman etenemisehtoa eli ehdoitta *)
43| IF Askelnumero = 4 THEN
44| oAja_alasolulle:= FALSE;
45| Askelnumero:= 0; (* Selvenssin lopetus asettamalla askelnumeroksi nolla *)
46| END_IF;
47|
48| (* LOPPUHOMMAT *)
49| oAskelnumero:= Askelnumero; (* Näytetään tämänhetkinen askelnumero pääohjelmassa *)
50| vanhaKaynnistys:= iKaynnistys; (* iKaynnistys talteen nousevan reunan ilmaisua varten *)
Päivitetty 23.2.2023
© Timo Heikkinen | timo piste heikkinen at oamk piste fi