A 15. fejezet („Sorrendi funkcióterv (SFC)") gyakorlatainak részletes megoldásai és a tudáspróba megoldókulcsa. Előbb dolgozd ki magad, csak utána ellenőrizz!
Gyakorlatok — megoldások
15.1. feladat — Rajzold át a folyamatábrát
Értékelési szempontok
A jó megoldásban a megfeleltetés következetes:
| Folyamatábra | SFC |
|---|---|
| elemi tevékenység (téglalap) | akció a lépéshez rendelve |
| döntés (rombusz) | átmenet feltétele |
| a végrehajtás egy szakasza | lépés |
| ciklus (visszavezető ág) | visszatérés egy korábbi lépéshez |
Az utolsó kérdés a lényeges: a folyamatábrán nincs jelölés a párhuzamosságra. Ha a gépeden két dolog egyszerre történik (fűtés és keverés), azt a folyamatábra csak egymás utáni lépésekként tudta ábrázolni — az SFC párhuzamos ága viszont pontosan ezt fejezi ki (15.4).
⚠ Gyakori hiba: minden folyamatábra-téglalapból külön lépést csinálni. Több egymás utáni, feltétel nélküli tevékenység egyetlen lépés akciói is lehetnek.
15.2. feladat — Építsd meg a keverőtartályt
Értékelési szempontok
A várt tapasztalat: a lánc ciklusonként egy lépést halad, ezért gyors taskkal a lépések
„átfutnak” a szemünk előtt. t#500ms-os taskkal a lépésváltás követhetővé válik, és látszik,
hogy mindig pontosan egy lépés aktív (az alternatív ágban), illetve ágankénti egy-egy
lépés a párhuzamos szakaszban.
Ez a lassítás kizárólag megfigyelési célú: éles működésnél a task idejét a folyamat igénye szabja meg.
15.3. feladat — Próbáld ki a minősítőket
Megoldás — a várt viselkedés
| Minősítő | Mikor indul? | Meddig fut? |
|---|---|---|
N |
a lépés aktiválásakor | amíg a lépés aktív |
S |
a lépés aktiválásakor | resetig — a lépés deaktiválása után is |
L (2 s) |
a lépés aktiválásakor | a lépés deaktiválódásáig vagy a 2 s leteltéig |
D (1 s) |
1 s késleltetés után, ha a lépés még aktív | amíg a lépés aktív |
P |
a lépés aktiválásakor és deaktiválásakor | pontosan kétszer fut le |
A P a feladat tárgya: kétszer fut le, nem egyszer. Ha csak belépéskor akarsz valamit
elvégezni, belépési akció kell helyette.
⚠ Gyakori hiba: a D minősítőnél megfeledkezni arról, hogy a késleltetés letelte után a
lépésnek még aktívnak kell lennie. Rövid lépésnél a D-vel jelölt akció soha nem fut le.
15.4. feladat — Az elfelejtett reset
Értékelési szempontok
A várt tapasztalat: az S minősítővel indított akció az „Alaphelyzet” lépésben is fut — a
folyamat visszatért a kiindulásba, az adagolás mégis tart.
Valódi adagolószeleppel ez azt jelentené, hogy a szelep nyitva marad: a tartály túltöltődik, az anyag kifolyik. Ez a hiba a beüzemelésnél gyakran csak akkor derül ki, amikor a folyamat másodszor fut le.
Javítás: R minősítővel ugyanarra az akcióra, egy későbbi lépésben (jellemzően az
alaphelyzetbe visszatérő lépésben).
15.5. feladat — Alternatív ág sorrendje
Megoldás
Ha mindkét feltétel egyszerre igaz, a kiértékelési sorrendben előbb álló ág fut le — a másik nem. Az ágak felcserélése után a másik ág fut. Tanulság: az alternatív ágak sorrendje része a logikának, nem rajzi véletlen.
Ebből két gyakorlati szabály következik:
- Az alternatív ágak feltételeit egymást kizáróra kell megfogalmazni (
iRecept = 1,iRecept = 2— nemiRecept >= 1ésiRecept >= 2). (A receptszám egész érték, ezért a könyv névkonvenciója szerintielőtaggal írandó.) - Ha az átfedés nem zárható ki, akkor a prioritást tudatosan kell megválasztani, és a dokumentációban rögzíteni: „a hibaág megelőzi a normál ágat”.
⚠ Gyakori hiba: a párhuzamos ággal összekeverni. Az alternatív ágnál egy ág fut, a párhuzamosnál mindegyik — és a párhuzamos ág csak akkor záródik, ha minden ág befejeződött (15.4).
Tudáspróba — megoldókulcs
| # | Válasz | Indoklás | Szakasz |
|---|---|---|---|
| 1 | a | A kezdőlépés jelölése a dupla keret. | 15.2 |
| 2 | b | Az átmenet feltétele logikai eredményt adó kifejezés. | 15.2 |
| 3 | c | Az N (non-stored) minősítőnél az akció addig aktív, amíg a lépés. |
15.3 |
| 4 | d | Az S-sel indított akciót csak egy R minősítőjű akció állítja le. |
15.3 |
| 5 | a | A P (pulse) minősítőjű akció egyszer fut le. |
15.3 |
| 6 | b | Alternatív ágnál a rendszer balról jobbra vizsgál, és az első igaz ágban lép tovább. | 15.4 |
| 7 | c | Párhuzamos ág után akkor lép tovább, ha minden ág utolsó lépése aktív, és az átmenet igaz. | 15.4 |
| 8 | d | Az átmenetek vizsgálata a feldolgozási sorrend utolsó (hatodik) lépése. | 15.5 |
| 9 | a | Az IEC-akciók ábécésorrendben futnak — ezért az elnevezés a sorrendet is meghatározza. | 15.5 |
| 10 | b | A szabvány szerint az SFC grafikus és egyenértékű szöveges elemek készlete a program belső szervezésére. | 15.8 |