Hogyan fordítunk le egy prózában megírt működési igényt egyértelmű, végrehajtható logikára — 60 perc alatt, a vizsgán is.
- 5.1 Mi a folyamatábra, és miért ezt kéri a vizsga?
- 5.2 A jelölések
- 5.3 Az öt szerkesztési szabály
- 5.4 A három algoritmikus szerkezet
- 5.5 A vizsgamódszer: négy lépés 60 perc alatt
- 5.6 Első kidolgozott példa: futószalag indítás–leállítás
- 5.7 További kidolgozott példák
- 5.8 Más algoritmusleíró eszközök
- Gyakorlatok
- Összefoglalás
- Ellenőrző kérdések
- Tudáspróba
- A fejezet forrásai
Ez a fejezet az írásbeli vizsga 2. vizsgarészének teljes tárgya: „Megadott technológiai leírás alapján a folyamat értelmezése, folyamatábra készítése” — 60 perc, és az írásbeli értékelés 20%-a (10% folyamatértelmezés + 10% folyamatábra-készítés).
De nem csak vizsgaanyag. Ez a legelső lépés minden valódi PLC-feladatnál: az ügyfél vagy a technológus prózában mondja el, mit szeretne, neked pedig ebből kell egyértelmű, hézagmentes logikát csinálnod. Aki ezt jól csinálja, annak a programírás már csak gépelés.
5.1 Mi a folyamatábra, és miért ezt kéri a vizsga?
A folyamatábra „nem más, mint algoritmusok grafikus megjelenítése”.1 Az elemi lépéseket alakzatokkal jelenítjük meg, majd nyilakkal kötjük össze, amelyek meghatározzák a végrehajtás sorrendjét.
A vizsga azért ezt kéri, mert ez méri a legjobban azt a képességet, amit a programkövetelmény így fogalmaz meg: a jelölt „a technológiai tervdokumentáció alapján az irányítandó rendszer vagy berendezés működését tanulmányozza, folyamatábrát készít”, és „meghatározza a szükséges be- és kimenetek számát”.
A folyamatábra nem ST, nem LD és nem SFC — hanem a gondolat. Ugyanaz a folyamatábra megvalósítható bármelyik nyelven. Ezért érdemes vele kezdeni: ha az ábra hibás, a program is az lesz, bármilyen nyelven írod meg.
5.2 A jelölések
| Alakzat | Név | Jelentése |
|---|---|---|
| ellipszis | Start / Vége (terminátor) | az algoritmus kezdete és vége1 |
| téglalap | elemi tevékenység (művelet) | „egyszerű és egyértelmű lépést” tartalmaz, például értékadást1 |
| paralelogramma | be- és kimenet | bemenet: adat fogadása; kimenet: információ közlése1 |
| csúcsára állított rombusz | feltétel / döntés | „logikai kifejezés” szerepel benne, két kimenettel (igaz / hamis ág)1 |
| dupla oldalú téglalap | alprogram / beágyazás | korábban már definiált utasítássorozatra hivatkozik1 |
| kis kör | oldalon belüli összekötő | ugyanazon a lapon lévő pontok összekapcsolása3 |
| ötszög | oldalak közötti összekötő | több lapra tördelt ábra összekapcsolása3 |
| nyilak | összekötő | a végrehajtás sorrendjét jelzik1 |
Az itt bemutatott jelölésrendszer a nemzetközi gyakorlatban elterjedt alakzatokat követi. A vonatkozó nemzetközi szabvány az ISO 5807:1985 („Information processing — Documentation symbols and conventions for data, program and system flowcharts…”), amely ötféle ábrához ad jelöléseket; a vizsga szempontjából a programfolyamábra a lényeges.3 A szabvány szövege nyilvánosan nem hozzáférhető, ezért a könyv nem állítja, hogy az alakzatok pontosan a szabvány szerintiek — a szakmai gyakorlatban azonban ezek használatosak, és a vizsgán ezeket várják.
5.3 Az öt szerkesztési szabály
Ezt az öt szabályt érdemes fejből tudni, mert a legtöbb pontveszteség ezekből ered:1
- Egy start, több vég. „Egy folyamatábrában maximum egy start szimbólum lehet, viszont több vég szimbólum is előfordulhat.”
- Irány. A nyilak egyértelműen meghatározzák a végrehajtási sorrend irányát. (A hagyományos olvasási irány fentről lefelé, illetve balról jobbra.)
- Ki- és bemenő nyilak. Egy tevékenységhez általában egy kimenő nyíl tartozik; több bemenő nyíl viszont találkozhat egy pontban.
- Elágazások visszazárása. „Két ág egyesülnie kell azután, hogy divergáltak.”
- Ciklus. Az egyik ág visszavezet a feltételhez — ez adja a hurokszerkezetet.
A döntésből pontosan két ág indul, és a két ágnak később egyesülnie kell. A kezdők leggyakoribb hibája, hogy az egyik ág „elveszik”: van olyan állapot, ahonnan nincs továbbhaladás. Egy ilyen ábra nem algoritmus, mert nem határozza meg, mi történjen minden esetben.
Az elágazások visszazárásához hasznos a gyűjtőcsomópont fogalma: ez az a pont, ahol az ágak összefutnak, és amelyen „való áthaladás nem módosít a program állapotán”.2 Rajzban gyakran egy kis kör vagy egyszerűen egy találkozási pont jelöli.
5.4 A három algoritmikus szerkezet
Minden algoritmus felépíthető három szerkezetből. Az egyetemi tananyag megfogalmazása szerint „strukturált programnak” azokat a programokat nevezzük, amelyek csak három algoritmikus szerkezetet tartalmaznak: szekvencia, elágazás és ciklus.2
| Szerkezet | Folyamatábrán | ST-nyelvi megfelelője (12. fejezet) |
|---|---|---|
| szekvencia | egymás alá kötött téglalapok | egymás után írt utasítások |
| elágazás | rombusz két ággal, majd egyesülés | IF … THEN … ELSE … END_IF, CASE |
| ciklus | visszavezető ág a feltételhez | WHILE, REPEAT, FOR |
- Algoritmuselméleti értelemben a strukturált program az, amely csak szekvenciát, elágazást és ciklust használ.2 Ez a most tanult fogalom.
- A PLC-világban — és a programkövetelmény 9.1/4. pontjában — a „strukturált felépítésű program” mást jelent: több programegységre (POU-ra) bontott, hívási hierarchiába szervezett programot, szemben a lineáris felépítéssel.
A kettő nem ugyanaz. A PLC-értelmezéssel a 11. fejezet foglalkozik. A vizsgán figyelj arra, hogy a kérdés melyik jelentésre vonatkozik!
5.5 A vizsgamódszer: négy lépés 60 perc alatt
A vizsgán kapsz egy technológiai leírást, és 60 perced van. Ez a négy lépés végigvezet rajta.
1. lépés — Aláhúzás
Olvasd végig a leírást, és két különböző színnel húzd alá:
- bemenetek: minden, amit a rendszer érzékel (nyomógomb, kapcsoló, érzékelő, végállás, hőmérséklet, szint);
- kimenetek: minden, amit a rendszer működtet (motor, szelep, lámpa, mágneskapcsoló, jelzés).
Ez a lépés önmagában megoldja a feladat felét, mert a technológiai leírás szavai szinte mindig megfeleltethetők egy-egy I/O-pontnak.
2. lépés — I/O-lista
Készíts táblázatot, és számold meg a be- és kimeneteket. A programkövetelmény ezt kifejezetten megköveteli: a jelölt „meghatározza a szükséges be- és kimenetek számát”.
| Jel | Típus | Megnevezés | Megjegyzés |
|---|---|---|---|
| DI1 | digitális bemenet | Start nyomógomb | záró érintkező |
| DI2 | digitális bemenet | Stop nyomógomb | bontó érintkező |
| … | … | … | … |
| DO1 | digitális kimenet | Szalagmotor mágneskapcsoló | 24 V DC tekercs |
Ipari gyakorlat: a leállító funkciót bontó (NC) érintkezővel valósítjuk meg. Így ha a vezeték elszakad, a rendszer leáll — nem pedig „nem lehet leállítani”. Ezt a gondolatot a 24. fejezet (biztonság) viszi tovább.
3. lépés — Vázlat
Először rajzold fel a fő működési sorrendet (szekvenciát), utána építsd be a feltételeket. Ne próbáld egyszerre megcsinálni: a legtöbb hiba abból ered, hogy valaki azonnal a részletekkel kezd.
4. lépés — Ellenőrzés
Kérdezd meg magadtól:
- Minden ág visszazár? Nincs „elveszett” ág?
- Van-e olyan állapot, ahonnan nincs kiút?
- Mi történik vészleállításkor? (Erre a leírás gyakran nem tér ki, de a vizsgabizottság értékeli, ha gondolsz rá.)
- Mi történik bekapcsoláskor? Elindul-e a gép magától? (Nem szabad!)
- Egyértelmű minden feltétel? Egy rombuszban csak egy logikai kérdés legyen.
5.6 Első kidolgozott példa: futószalag indítás–leállítás
Technológiai leírás. „A futószalag a Start gomb megnyomására indul el, és a Stop gomb megnyomására áll meg. A vészgomb megnyomása bármikor azonnali leállást eredményez.”
1. lépés — aláhúzás. Bemenetek: Start gomb, Stop gomb, vészgomb. Kimenet: futószalag (motor).
2. lépés — I/O-lista.
| Jel | Típus | Megnevezés | Érintkező |
|---|---|---|---|
| DI1 | bemenet | Start nyomógomb | záró (NO) |
| DI2 | bemenet | Stop nyomógomb | bontó (NC) |
| DI3 | bemenet | Vészgomb visszajelzés | bontó (NC) |
| DO1 | kimenet | Szalagmotor | – |
Összesen: 3 bemenet, 1 kimenet.
3–4. lépés — a folyamatábra.
A vészgomb nem egy a feltételek közül: minden állapotból a leállításhoz kell vezetnie, és a legmagasabb prioritást élvezi. Ezért van a rombusza a ciklus elején, és ezért vezet a kimenete közvetlenül a „Szalag KI” lépéshez.
Ugyanakkor: a 24. fejezetben látni fogod, hogy a vészleállítást hardveresen, a PLC-től függetlenül kell megvalósítani. A folyamatábrán szereplő vészgomb-ág a program reakciója — a valódi biztonsági funkciót biztonsági relé végzi.
5.7 További kidolgozott példák
2. példa — Két szivattyú váltakozó üzeme
Leírás. „Egy tartályt két szivattyú tölt. Egyszerre csak az egyik működhet. Az alsó szintkapcsoló jelzésére indul a soron következő szivattyú, a felső szintkapcsoló jelzésére leáll. A szivattyúk felváltva dolgoznak, hogy egyenletesen kopjanak.”
Kulcskérdések, amelyeket a leírás nem mond ki, de tisztázni kell:
- Honnan tudja a rendszer, melyik szivattyú következik? (Egy tárolt állapot kell hozzá.)
- Mi történik, ha az egyik szivattyú hibás? (A leírás nem tér ki rá — kérdezni kell.)
- Mi történik bekapcsoláskor, ha a tartály félig van? (Definiálni kell a kiindulási állapotot.)
I/O-lista: 2 bemenet (alsó és felső szintkapcsoló), 2 kimenet (1. és 2. szivattyú) — plusz a gyakorlatban üzemzavar-visszajelzések.
Az ábra szerkezete: a fő ciklusban egy döntés vizsgálja az alsó szintet; ha aktív, egy további döntés dönti el, melyik szivattyú következik (a tárolt állapot alapján), majd elindítja azt, és átbillenti a tárolt állapotot a következő indításhoz.
Amikor a leírásban ilyen szó szerepel — következő, felváltva, körben —, az mindig azt jelenti, hogy a rendszernek emlékeznie kell valamire két esemény között. A folyamatábrán ez egy tárolt állapot, a programban egy változó (10. fejezet), amely a ciklusok között megőrzi az értékét.
3. példa — Darabszámlálás és csomagolás
Leírás. „A szalagon érkező termékeket egy érzékelő számolja. Minden 12. termék után a csomagoló egy ciklust végez, majd a számláló nullázódik. A számlálót kézzel is lehet nullázni.”
Amit észre kell venni: a „minden 12. termék után” fordulat számlálót igényel; a „nullázódik” pedig azt jelenti, hogy a számláló értékét a ciklus végén vissza kell állítani. A kézi nullázás egy külön bemenet.
I/O-lista: 2 bemenet (termékérzékelő, kézi nullázás), 1 kimenet (csomagolóciklus indítása) — és a gyakorlatban egy visszajelzés arról, hogy a csomagoló befejezte a ciklust.
4. példa — Kézi és automata üzemmód
Leírás. „A gép kézi és automata üzemmódban működhet, egy kulcsos kapcsolóval választva. Kézi üzemmódban a kezelő az egyes mozgásokat külön gombokkal vezérli. Automata üzemmódban a gép a Start gombra végigfut a teljes cikluson. Üzemmódot váltani csak álló gépnél szabad.”
A kritikus mondat az utolsó. Az „üzemmódot váltani csak álló gépnél szabad” kikötés azt jelenti, hogy az üzemmódváltás feltételhez kötött — a folyamatábrán ez egy külön döntés, amely a gép állapotát vizsgálja.
Szerkezet: a fő ciklus elején egy döntés vizsgálja az üzemmódot, és két külön ágra vezet. Ez a példa alprogram-jelölést is használhat: „Kézi vezérlés” és „Automata ciklus” alprogramként jelölve, hogy a fő ábra áttekinthető maradjon.
5. példa — Hőmérséklet-tartás kétállású szabályozással
Leírás. „A kemencét 180 °C-on kell tartani. A fűtés bekapcsol, ha a hőmérséklet 178 °C alá esik, és kikapcsol, ha 182 °C fölé emelkedik. Ha a hőmérséklet 200 °C fölé megy, riasztás lép működésbe, és a fűtés lekapcsol.”
Amit ez tanít: a leírásban két különböző kapcsolási pont szerepel (178 és 182 °C), nem egy. Ez a hiszterézis: ha egyetlen kapcsolási pont lenne, a fűtés a határérték körül másodpercenként ki-be kapcsolna, és tönkremenne a mágneskapcsoló.
I/O-lista: 1 analóg bemenet (hőmérséklet), 2 kimenet (fűtés, riasztás).
Az 1. fejezet fogalmaival: ez zárt hatáslánc, mert a mért hőmérséklet visszahat a beavatkozásra — tehát szabályozás. De kétállású (ki–be) szabályozás, nem folytonos. A folytonos, PID-alapú megoldás analóg kimenetet igényelne.
5.8 Más algoritmusleíró eszközök
A folyamatábra nem az egyetlen lehetőség. Az algoritmusleíró eszközök között szerepel a folyamatábra, a struktogram, a Jackson-diagram, a leírás fával, a leírás programozási nyelven, a leírás mondatokkal, a leírás mondatszerű elemekkel és a leírás absztrakt függvényekkel.2
A könyv a folyamatábrát tárgyalja részletesen, mert a vizsga ezt kéri. Érdemes viszont tudni a struktogramról (Nassi–Shneiderman-diagram): ez dobozokba ágyazva ábrázolja ugyanazt a három szerkezetet, és nem használ nyilakat — ezért nem is lehet benne „elveszett ág”.
A 15. fejezetben megismered a sorrendi funkciótervet (SFC), amely lényegében egy végrehajtható sorrendi ábra: lépések és átmenetek sorozata. Aki jól rajzol folyamatábrát, annak az SFC szinte magától jön — a folyamatábra „lépés” doboza az SFC lépése, a döntése pedig az átmenet feltétele lesz.
Gyakorlatok
Készíts folyamatábrát az alábbi leírás alapján, és add meg az I/O-listát a be- és kimenetek számával!
„A garázskapu a távirányító gombjának megnyomására nyílni kezd. A felső végálláskapcsoló elérésekor a mozgás megáll. Újabb gombnyomásra a kapu záródni kezd, az alsó végálláskapcsolóig. Ha záródás közben a fénysorompó jelez, a kapu azonnal megáll, és visszanyílik a felső végállásig.”
Külön gondold végig: mi történjen, ha a gomb mozgás közben szólal meg?
Vedd elő az 1.2. feladatban készített leírást és I/O-listát a saját, ismert gépedről. Készíts hozzá folyamatábrát a fejezet négylépéses módszerével! Ellenőrizd az öt szerkesztési szabály szerint, és írd le, hol kellett a leírást pontosítanod, mert nem volt egyértelmű.
Az alábbi leírás egy hibás folyamatábráról szól. Mondd meg, melyik szerkesztési szabályt sérti, és hogyan javítanád:
„A döntés »igen« ága elindítja a motort, majd a Vége szimbólumhoz vezet. A »nem« ága visszatér a döntéshez. A motor leállítására nincs ág.”
Hány hibát találsz? (Legalább három van.)
Összefoglalás
A folyamatábra algoritmusok grafikus megjelenítése: alakzatok, amelyeket nyilak kötnek össze a végrehajtás sorrendjében. A legfontosabb jelölések az ellipszis (start/vége), a téglalap (művelet), a rombusz (döntés, két ággal), a paralelogramma (be-/kimenet) és a dupla oldalú téglalap (alprogram).
Öt szerkesztési szabály van: egy start, több vég; egyértelmű irány; egy kimenő nyíl tevékenységenként; a divergált ágaknak egyesülniük kell; a ciklus visszavezet a feltételhez. A leggyakoribb hiba az „elveszett ág”.
Minden algoritmus felépíthető három szerkezetből: szekvencia, elágazás, ciklus. Vigyázz: a „strukturált” szó az algoritmuselméletben mást jelent, mint a PLC-programozásban — utóbbiról a 11. fejezet szól.
A vizsgamódszer négy lépése: aláhúzás (bemenetek és kimenetek külön színnel) → I/O-lista megszámolva → vázlat (előbb a szekvencia, aztán a feltételek) → ellenőrzés (visszazárnak-e az ágak, mi történik vészleállításkor és bekapcsoláskor).
Öt kidolgozott példán keresztül láttad, hogyan derülnek ki a leírásból a rejtett követelmények: a tárolt állapot („soron következő”), a számláló („minden 12. után”), a feltételes üzemmódváltás („csak álló gépnél”) és a hiszterézis (két kapcsolási pont).
Ellenőrző kérdések
- Mi a folyamatábra, és mi a szerepe a PLC-programozás folyamatában?
- Sorold fel a hat leggyakoribb folyamatábra-jelölést és a jelentésüket!
- Hány start és hány vég szimbólum lehet egy folyamatábrában?
- Hány ág indul ki egy döntésből, és mi a szabály ezekre az ágakra nézve?
- Hogyan ábrázoljuk a ciklust folyamatábrán?
- Mi a három algoritmikus szerkezet?
- Mit jelent a „strukturált program” kifejezés az algoritmuselméletben, és miben tér el ettől a PLC-s jelentése?
- Sorold fel a négylépéses vizsgamódszer lépéseit!
- Miért bontó (NC) érintkezővel valósítjuk meg a Stop funkciót?
- Mi a hiszterézis, és miért van rá szükség kétállású szabályozásnál?
- Milyen rejtett követelményre utal a leírásban a „felváltva” vagy „soron következő” szó?
- Mi a különbség a folyamatábra és a struktogram között?
Tudáspróba
Válaszd ki az egyetlen helyes választ!
1. A folyamatábrán a döntést jelölő alakzat: a) csúcsára állított rombusz b) téglalap c) ellipszis d) paralelogramma
2. A be- és kimenetet jelölő alakzat: a) hatszög b) paralelogramma c) kis kör d) ellipszis
3. Egy folyamatábrában: a) egy start és egy vég lehet; b) több start és egy vég lehet; c) maximum egy start, de több vég is lehet; d) tetszőleges számú start és vég lehet.
4. A döntésből kiinduló ágakra igaz, hogy: a) tetszőleges számú ág indulhat; b) egy ág indul, a másik opcionális; c) két ág indul, és külön-külön a Vége szimbólumhoz kell vezetniük; d) két ág indul, és ezeknek később egyesülniük kell.
5. A három algoritmikus szerkezet: a) szekvencia, elágazás, ciklus; b) bemenet, feldolgozás, kimenet; c) start, művelet, vég; d) érzékelés, döntés, beavatkozás.
6. A ciklust folyamatábrán úgy ábrázoljuk, hogy: a) két Vége szimbólumot rajzolunk; b) az egyik ág visszavezet a feltételhez; c) az alprogram-jelölést használjuk; d) kettős nyilat rajzolunk.
7. A vizsgamódszer helyes sorrendje: a) vázlat → aláhúzás → I/O-lista → ellenőrzés; b) i/O-lista → vázlat → aláhúzás → ellenőrzés; c) Aláhúzás → I/O-lista → vázlat → ellenőrzés; d) ellenőrzés → aláhúzás → vázlat → I/O-lista.
8. A Stop nyomógombot azért kötjük bontó érintkezővel, mert: a) így kevesebb vezeték kell; b) így gyorsabb a reakció; c) a szabvány így írja elő minden bemenetre; d) vezetékszakadás esetén a rendszer leáll, nem pedig leállíthatatlanná válik.
9. A „minden 12. termék után” megfogalmazás a programban: a) számlálót igényel; b) időzítőt igényel; c) analóg bemenetet igényel; d) semmilyen külön elemet nem igényel.
10. A hiszterézis (két kapcsolási pont) célja: a) a mérés pontosságának javítása; b) a beavatkozó gyakori ki-be kapcsolásának megakadályozása; c) a ciklusidő csökkentése; d) az analóg jel szűrése.
A megoldókulcs a B függelékben található.
A fejezet forrásai
-
Dr. Varga Imre: 3. A folyamatábra. In: Algoritmusok és a programozás alapjai. Debreceni Egyetem, Informatikai Kar. Elérés:
irh.inf.unideb.hu/~vargai/APA/Flowchart_hu.html(2026-07-29). ↩↩↩↩↩↩↩↩ -
Programozási alapismeretek — algoritmusleíró eszközök. ELTE, TÁMOP-4.1.2.A/2-10/1. Elérés:
progalapfsz.elte.hu/downloads/seged/eTananyag/lecke4_lap1.html(2026-07-29). ↩↩↩↩ -
ISO 5807:1985 — Information processing: Documentation symbols and conventions for data, program and system flowcharts, program network charts and system resources charts. Ismertető: Pacific Certifications. (2026-07-29) A szabvány szövege nyilvánosan nem hozzáférhető; a könyv csak a szabvány címét, tárgyát és az általa lefedett ábratípusokat közli. ↩↩↩