Professional Documents
Culture Documents
SZÁMÍTÓGÉPES
FOLYAMATIRÁNYÍTÁS
Készült a HEFOP 3.3.1-P.-2004-09-0102/1.0 pályázat támogatásával.
A dokumentum használata
Mozgás a dokumentumban
A dokumentumban való mozgáshoz a Windows és az Adobe Reader meg-
szokott elemeit és módszereit használhatjuk.
Minden lap tetején és alján egy navigációs sor található, itt a megfelelő
hivatkozásra kattintva ugorhatunk a használati útmutatóra, a tartalomjegy-
zékre, valamint a tárgymutatóra. A ◄ és a ► nyilakkal az előző és a követ-
kező oldalra léphetünk át, míg a Vissza mező az utoljára megnézett oldalra
visz vissza bennünket.
Tartalomjegyzék
Bevezetés............................................................................................ 6
0. A feladat.......................................................................................... 7
0.1. Irányítás, vezérlés, szabályozás................................................................... 7
0.2. Jelek, jelátvitel .............................................................................................12
0.3. A szabályozási kör ..................................................................................... 16
0.4. A szabályozások fajtái ...............................................................................19
1. A rendszer ..................................................................................... 21
1.1. A számítógépes folyamatirányítás szintjei .............................................. 21
1.2. Rendszerstruktúrák.................................................................................... 28
2. A folyamat..................................................................................... 36
2.1. A folyamatjelek........................................................................................... 36
2.2. A zavarjelek................................................................................................. 41
3. A számítógép ................................................................................ 63
3.1. Rendszertechnikai struktúrák................................................................... 64
3.2. A processzorok jellemzői..........................................................................68
3.3. Kiemelkedő jelentőségű programozástechnikai eszközök................... 76
3.4. Az input-output kezelés (I/O)................................................................. 86
4. A találkozás................................................................................... 89
4.1. Az analóg bemeneti perifériák ................................................................. 90
4.2. A digitális bemeneti perifériák ...............................................................101
4.3. A digitális kimeneti perifériák.................................................................106
4.4. Az analóg kimeneti perifériák ................................................................109
5. A funkciók ................................................................................... 114
5.1. Az analóg folyamatjelek mérése és előfeldolgozása............................116
5.2. Számítások ................................................................................................130
5.3. Ellenőrzések..............................................................................................133
5.4. Az adattárolás ...........................................................................................136
5.5. A kezelői kapcsolat ..................................................................................139
5.6. A DDC irányítás elve ..............................................................................140
6. A dinamika ..................................................................................143
6.1. A real-time monitor és a taskok.............................................................144
6.2. A szinkronizációs elemek .......................................................................148
6.3. Az erőforrás..............................................................................................152
6.4. Az I/O hívások........................................................................................154
6.5. Egy megjegyzés a taskok türelméről .....................................................155
6.6. A monitor működése...............................................................................155
Irodalomjegyzék..............................................................................157
Bevezetés
Jelen jegyzet a győri Széchenyi István Egyetem Villamosmérnöki (BSc)
szak Automatizálási szakiránya, valamint a Mechatronikai mérnöki (BSc)
szak hallgatói számára készült, és a hasonló című tantárgy anyagát tartal-
mazza. A tantárgy a számítógépek folyamatirányításban való közvetlen
alkalmazásának lehetőségeivel, módjával foglalkozik, és remélhetően jelen-
tősen hozzájárul a hallgatók irányítástechnikai ismereteinek bővítéséhez,
szemléletének formálásához. A tárgy előadása mindkét szakon az oktatás
5. félévében kerül sorra.
A tárgy a Villamosmérnöki szakon az alábbi tantárgyi vonulatba illesz-
kedik:
• előzmények: Programozás, Digitális hálózatok, Szabályozástechnika,
Elektronika, Számítógép-hálózatok;
• egyidejűleg oktatott, illetve ráépülő tárgyak: Minőség és megbízható-
ság, Intelligens irányító rendszerek, Programozható logikai vezérlők,
Ipari buszrendszerek.
A Mechatronikai mérnöki szakon a tantárgy kontextusát az Elektroni-
ka, Programozás, Digitális hálózatok, Irányítástechnika, Digitális rendsze-
rek, Programozott vezérlések c. tantárgyak alkotják.
A jegyzet 6+1 fejezetre tagolódik. A számítógépes irányítással hat feje-
zet foglakozik, míg a 0. fejezet egy rövid irányítástechnikai összefoglaló
azzal a céllal, hogy a jegyzetet olyanok is haszonnal olvashassák, akiket
érdekel a számítógép-alkalmazás eme területe, de nem tanultak irányítás-
technikát.
Az Olvasóról feltételezem, hogy egyben Hallgató is, abban az értelem-
ben, hogy jár az előadásokra, melyek az anyag verbális közvetítésén túl-
menően a jegyzet egyes - terjedelmi korlátokból adódó - aránytalanságait is
hivatottak korrigálni, és amelyek megtanítják a Hallgatót a sorok között is
olvasni.
Kívánom, hogy az Olvasó sok örömet leljen e varázslatosan sokszínű
szakterület megismerésében, és elmélyült munkáját siker kísérje.
Köszönöm Dr. Benyó Balázs PhD, egyetemi docens lelkiismeretes lek-
tori munkáját és hasznos észrevételeit.
A szerző
Győr, 2006. november
0. A feladat
0-1. ábra
0-2. ábra
0-3. ábra
A tagokat az a) ábrán látható szimbólummal szokás jelölni. A nyilak az
információáramlás irányát és egyúttal az információátviteli utakat jelölik. A
tag bemenőjele xb, kimenőjele xk . A nyílirány meghatározza a hatásirányt,
vagyis a jelek oksági kapcsolatát. A tag jelébe írt kifejezés a tag funkciójára
utal. A b) és a c) ábra két különleges tagot, egy jelösszegzőt és egy kü-
lönbségképzőt ábrázol. Az összegző két vagy több jel összegét képzi, a
különbségképző pedig alkalmas két bemenőjele különbségének előállításá-
ra. A szabályozó rendszerekben a különbségképző alapvető jelentőségű,
amennyiben képes a kívánt és a tényleges állapotot jellemző jelek összeha-
sonlítására és az eltérés mértékének előállítására. A d) ábra egy jel-elágazást
mutat. Ennek jellegzetessége, hogy az elágazási pontba befutó információ
minden kimeneti irányban csorbítatlanul terjed tovább. A fenti elemek
felhasználásával megalkothatjuk a teljes irányítási rendszer jelátviteli mo-
delljét (az un. hatásvázlatot), amely a működés kvantitatív vizsgálatának
alapvető eszköze.
0-4. ábra
0-5. ábra
1. A rendszer
Számítógépes folyamatirányításról általában akkor beszélünk, ha a
technológiai folyamat irányításában a számítógép közvetve vagy közvetle-
nül részt vesz. Ez igen tág értelmezés és a későbbiekben le is fogjuk szűkí-
teni.
1-1. ábra
(Ha egy számítógép a mai adatok alapján a holnapi napra vonatkozó időjá-
rási prognózist csak holnaputánra számítja ki, akkor nem real-time műkö-
désű, mert csak holnapután dönthetünk arról, hogy holnap vigyünk-e es-
ernyőt.) A rel-time jelleg relatív fogalom. Nem egyszerűen gyors működést
jelent, hanem elég gyorsat (olyant, hogy a folyamat változásainak és a szá-
mítógép feldolgozási műveleteinek időléptéke azonos legyen).
A számítógép és a folyamat jelkapcsolatának jellege (szorossága) sze-
rint közvetett (off-line), illetve közvetlen (on-line) kapcsolatról szokás
beszélni (1-2. ábra).
1-2. ábra
1-3. ábra
1-4. ábra
1-5. ábra
1.2. Rendszerstruktúrák
Az eddigiekben általában ’számítógép’-ről, egyes számban. Újabban
azonban csak igen ritkán fordul elő, hogy egy technológiai folyamatot
egyetlen számítógépet tartalmazó centralizált rendszer irányít. Ha egy fo-
lyamat kicsit is összetettebb, vagy térben kiterjedtebb, irányítását több
számítógépből álló, összekapcsolt struktúra, számítógép-hálózat látja el.
Ez a tendencia csak részben magyarázható a számítógépek árának roha-
mos csökkenésével. A funkciómegosztás, illetve a területi széttagolás lehe-
tővé teszi, hogy egy-egy számítógépnek csak kisebb adatmennyiséget kell-
jen kezelnie, kevesebb feladatot kelljen ellátnia, így könnyebb biztosítani a
real-time működéshez szükséges (esetleg kritikus) ciklusidők betartását.
Még fontosabb az a tény, hogy egy többgépes elosztott rendszer lényege-
sen megbízhatóbb. Egy számítógép kiesésekor csak egy résztechnológia
marad irányítatlanul (duplikált gépek esetén még az sem!) és nem omlik
össze a teljes irányító rendszer. Veszélyes technológiáknál (pl. nehézvegy-
1-6. ábra
1-7. ábra
1-8. ábra
1-9. ábra
D) A fa struktúra (1-10. ábra) úgy épül fel, hogy egy állomáshoz, mint
gyökérelemhez (0. szint) önálló átviteli utakkal újabb állomások (1.
szint), majd ezekhez még újabbak és még újabbak… kapcsolódnak.
Minden állomás az előző szint végeleme és egyben egy újabb szint (ha
van ilyen) gyökéreleme. A fa struktúrában bármely két terminál leg-
alább egy (ha azonos gyökérelemhez tartoznak), de lehet, hogy több ál-
lomás közvetítésével teremthet csak kapcsolatot egymással. A fa struk-
túrában - a csillaghoz hasonlóan - egyidejűleg több állomás-pár kom-
munikálhat. A fa meglehetősen bonyolult; különösebb előnyös tulaj-
donsága nincs. (Legfeljebb az, hogy adekvát adatátviteli megfelelője le-
1-10. ábra
E) A hurok (1-11. ábra) zárt átviteli út, mely a ráfűzött állomások mind-
egyikén áthalad. Az információáramlás úgy szerveződik, hogy a hurok
valamely állomása címzett adatcsomagot indít el a célállomás felé. A
csomag minden közbülső terminálon áthalad. A nem érintett (nem
megcímzett) állomások a csomagot továbbadják egészen addig, amíg
az a célállomáshoz nem ér. Ez már nem adja tovább, hanem feldol-
gozza az adatot. A hurokban nincs kitüntetett állomás, mindegyik
egyenrangú, és bármelyik kezdeményezhet adatforgalmat. A hurok
mentén két irányban lehetséges a kommunikáció, van egy un. direkt és
egy un. kerülő irány. A két irány egyenrangú, és bármikor sor kerülhet
irányváltásra. Egy terminál kiesése egyben a hurok megszakadását is je-
lenti, mert a hibás állomás nem tud részt venni az adattovábbításban.
1-11. ábra
1-12. ábra
2. A folyamat
A folyamatirányító számítógép számára a technológiai folyamat kizáró-
lag jelek halmazát jelenti. A folyamat és a környezet aktuális állapotát jelek
közvetítik. Másfelől, a folyamat a számítógép irányító hatását is jeleken
keresztül érzékeli, vagyis a számítógép maga is csak egy jelhalmaz - a fo-
lyamat szempontjából.
Vonatkoztatási pontként most és a későbbiekben is a számítógépet te-
kintjük, így azokat a jeleket, melyek a folyamatból származnak, bemeneti
jeleknek, azokat pedig, melyeket a számítógép küld ki a folyamat felé, ki-
meneti jeleknek fogjuk nevezni.
A jelek hordozhatnak hasznos információt (ez a kívánatos eset és a
természetes igény), de előidézhetnek információtorzító, káros hatást is (ez
a nemkívánatos, de valóságos helyzet). A hasznos jeleket folyamatjelek-
nek, a torzító hatású jeleket zavarjeleknek nevezzük.
2.1. A folyamatjelek
A technológiai folyamat állapotát jellemző, valamint az állapotot befo-
lyásolni képes jelek az esetek nagy többségében nem villamos jelek, vagy
ha azok is, nem alkalmasak közvetlen számítógépes feldolgozásra, a számí-
tógép kimeneti jelei pedig nem alkalmasak közvetlen beavatkozásra. Emi-
att a számítógép és a folyamat közé mindkét irányban egy jelátalakítókból
álló kiterjedt és népes készülék-komplexum ékelődik, amely a folyamat és
a számítógép „nyelvét” kölcsönösen lefordítja egymásra. E jelátalakítók
fajtáival, működésükkel nem foglalkozunk; az egy önálló műszaki szakte-
rület, a nem-villamos mennyiségek villamos méréstechnikáján alapuló fo-
lyamatműszerezés kompetenciája. Mi feltételezzük, hogy a számítógép
közelébe (a gépterembe) már csak megfelelően átalakított, villamos jelek
érkeznek; és nem foglalkozunk a számítógép által kiadott, beavatkozásra
szánt villamos jelek további sorsával sem. Tehát magyarán: nem vizsgál-
juk, hogyan lesz a kazánban lévő gőz nyomásából villamos feszültség, vagy
fordítva, hogyan lesz feszültségből szelepszár-elmozdulás.
A folyamatjeleket megjelenési formájuk szerint az analóg és a digitális
jelek osztályába soroljuk, így négy nagy csoportjukat különböztetjük meg
(2-1. ábra):
2-1. ábra
• 0….5mA,
• 0…20mA,
• 4…20mA.
Analóg beavatkozás azonban kétállapotú jelekkel is megvalósítható, ha
a számítógép digitális kimenete és a beavatkozó szerv bemenete között
valahol van egy integrátor, vagy maga a beavatkozó szerv integráló jellegű.
A digitális kimeneti periférián megjelenő kétállapotú jelből az integráló
elem képez analóg jelet (2-2. ábra). Ilyenkor beszélünk származtatott
analóg jelről.
2-2. ábra
2.2. A zavarjelek
Sajnálatos módon a folyamat és főként a környezet nem csak szép ar-
cát mutatja a számítógép felé, hanem rút vonásai is lépten-nyomon kiüt-
köznek. Ezek a rút vonások a zavarjelek. Figyelemreméltó tény, hogy a
zavarjelekkel lényegesen többet lehet (és kell) foglalkozni, mint a folyamat-
jelekkel.
2-3. ábra
2-4. ábra
2-5. ábra
2-6. ábra
2-7. ábra
2-8. ábra
2-9. ábra
Egy eszköz aszimmetriája azt jelenti, hogy két ki- vagy bemeneti kap-
csa és egy referenciapont között mérhető impedanciák különbözőek.
Az ábrán RH a jelgenerátor belső ellenállása (a jeladó kimeneti impe-
danciája), r a vezetékek ellenállása Rbe pedig a jelvevő bemeneti impe-
danciája. Ezek nem feltétlenül rezisztív jellegűek, ha nem azok, akkor
természetesen frekvenciafüggők. RF jelöli a műszerszoba földjét
(rendszerföld), FF pedig a folyamat közelében használatos földpontot
(felhasználói, vagy technológiai föld). A két földpont között tekintélyes
távolság lehet, így nem meglepő, ha potenciáljuk nem azonos. A két
földpotenciál közötti különbség azonos fázisú zavarjelként (UAF) hat.
Értéke több volt, sőt, több tíz volt is lehet, és nem is állandó, hanem
2-10. ábra
2-11. ábra
2-12. ábra
A példának megfelelő esetben kb. 60…80dB CMR érhető el, ami azt
jelenti, hogy 1V UAF-ből 1…0,1mV Uef keletkezik.
• További CMR növekedés érhető el, ha szimmetrikus, földfüggetlen
jelvevőt és védőárnyékolást alkalmazunk. A védőárnyékolás hatása
abban áll, hogy a mérőrendszer árnyékolt részéből kizárja a külső vil-
lamos tér befolyását. Az árnyékolt mérőrendszer vázlatát a 2-13. ábra,
az átrajzolt hálózati modellt pedig a 2-14. ábra mutatja be.
2-13. ábra
2-14. ábra
Zv Z
CMR = 20 lg + 20 lg .
Zá ΔZ
2-15. ábra
2-16. ábra
2-17. ábra
2-18. ábra
2-19. ábra
3. A számítógép
Jelen fejezetben a számítógépes folyamatirányítás névadójával, fősze-
replőjével: a számítógéppel foglalkozunk. Ha azt mondjuk, hogy ezt nem a
teljesség igényével tesszük, akkor rendkívül erőtlenül fogalmaztunk. A
számítógépekkel kapcsolatos gigantikus méretű ismerethalmazból néhány
morzsát ragadunk ki, olyanokat, melyek általában is fontosak, de a folya-
matirányításban való alkalmazás szempontjából kiemelt jelentőségűek. Úgy
tűnhet majd, hogy a tárgyalásmód meglehetősen kusza, összekeverednek
rendszertechnikai, hardver és szoftver kérdések, mindenhonnan egy kicsi.
Ez részben igaz, de mentségül szolgál az a tény, hogy a számítógépes fo-
lyamatirányító rendszereket tervező szakembernek minden említett oldal-
ról kell ismeretekkel rendelkeznie, legalábbis annyira, hogy adott esetben
meglássa, mely területen kell igazán elmélyülnie. És az is igaz, hogy az
egész számítógép-alkalmazástechnikának ez az a területe, ahol a mérnöki
munka során a legkevésbé lehetséges a hardveres és a szoftveres tevékeny-
ség éles szétválasztása, és ahol a mérnök a legkevésbé engedheti meg ma-
gának, hogy kijelentse: „én ezen, vagy azon az oldalon állok”.
Egy terminológiai kérdést tisztázandó, kijelentjük, hogy ’folyamatirá-
nyító számítógép’ nincs. Olyan programozható, univerzális számítógép
van, amely pillanatnyilag éppen folyamatot irányít. Az ilyen gépet két do-
log különbözteti meg a többiektől: a prifériális környezet speciális jellege
és a benne futó programrendszer. Egyik sem a számítógép sajátja. Ha eze-
ket eltávolítjuk mellőle, illetve belőle, éppen olyan „csak számítógép” ma-
rad, mint a többi. Mégis beszélünk folyamatirányító számítógépről azért,
hogy egyben röviden utalhassunk az alkalmazási körülményekre is.
Ha szűkebb értelemben említjük a számítógépet (ahogyan az előbb ér-
tettük), akkor három fő funkcionális egység összességének tekintjük. Ezek
-a processzor,
-az operatív memória és
-a rendszerbusz.
A processzor az aktív elem, ő végzi az adat-átalakítást. A memória passzív,
ő az adattárolás eszköze. Az adatforgalom a rendszerbuszon zajlik le. A
buszvezérlés kizárólagos joga a processzort illeti, ő a master, a memória a
slave.
3-1. ábra
3-2. ábra
3-3. ábra
Itt meg kell állnunk egy pillanatra, és meg kell emlékeznünk az amerikai
DEC (Digital Equipment Corporation) cégről. Az UNIBUS valamikor
márkanév volt, a DEC védett márkaneve. Ezzel és még sok más kardinális
jelentőségű rendszertechnikai újítással (hardveresen kezelt, korlátlan mére-
tű stack, többszintes, vektoros megszakításrendszer, stb.) a cég aranybe-
tűkkel írta be a nevét a számítástechnika emlékkönyvébe. Talán nem túlzás
azt állítani, hogy az első igazán korszerű, rendkívül hatékony, könnyen
rendszerbe illeszthető, nagyteljesítményű és mindemellett: programozó-
3-4. ábra
3-5. ábra
3-6. ábra
Ehhez nem elég egy csatoló regiszter, mert az a 2. szintű szubrutin hívása-
kor felülíródik az 1. szintű szubrutin PC-értékével. Így a 2. szintről az 1.
3-7. ábra
4. A találkozás
A számítógép és a külvilág találkozási pontjai a perifériák. Az idők so-
rán a perifériáknak három nagy családja alakult ki. A számítógép és az
ember (kezelő) kapcsolatát az un. hagyományos (vagy más néven: gépter-
mi) perifériák biztosítják. Ide tartoznak pl. a nyomtatók, monitorok, bil-
lentyűzetek, egerek, stb., de ide szokás sorolni a háttértárakat is. A máso-
dik csoportot a számítógépek egymással való összekapcsolását lehetővé
tevő un. hálózati (vagy: kommunikációs) perifériák alkotják. Végül a har-
madik csoport a minket itt most egyedül érdeklő folyamatperifériák cso-
portja, amely a számítógép és a folyamat jel-illesztését biztosító perifériák-
ból áll.
A folyamatperifériák megjelenésüket tekintve nem formatervezett cso-
dák, hanem szabványos méretű, nyomtatott-áramköri kártyák, amelyek
csatlakozósorokkal felszerelt rack-szekrényekbe helyezhetők. Rendszerint
többcsatornás kivitelűek, ami azt jelenti, hogy egy kártya nem egy, hanem
több (olykor sok) azonos típusú jelet kezel. Általános, elvi felépítésüket a
4-1. ábra mutatja be.
4-1. ábra
4-2. ábra
4-3. ábra
4-4. ábra
4-5. ábra
4-6. ábra
4-7. ábra
4-8. ábra
4-9. ábra
4-10. ábra
4.1.5. A vezérlőegység
A vezérlőegység feladata a számítógépből érkező parancsok kártya-
szintű végrehajtása, illetve a periféria állapot-információinak előállítása. Az
egység a CONTROL-porton keresztül megkapja az aktuális csatorna-
számot (multiplexer-cím) és a beállítandó erősítés-értéket. Ezek alapján
bekapcsolja a kívánt multiplexer-bemenetet és a megfelelő erősítő-
ellenállást. Elindítja az A/D átalakítást, majd annak befejeztével az álla-
potport READY-bitjét beállítva jelzi a digitalizált jel rendelkezésre állását.
4-11. ábra
4-12. ábra
4-13. ábra
4-14. ábra
4-15. ábra
4-16. ábra
4-17. ábra
4-18. ábra
4-19. ábra
Az ábra alapján
I0 I
I = b0n −1
+ b1 n0− 2 + ... + bn −1I 0 ,
2 2
ahol bi a szám i-edik helyen álló bitjének értéke.
Egy konkrét megoldást a 4-20. ábra mutat be.
4-20. ábra
4-21. ábra
4-22. ábra
5. A funkciók
Eddig jórészt a számítógépes folyamatirányító rendszerek strukturális
jellemzőivel, felépítésével, berendezéseivel, mondhatni: anatómiájával fog-
lalkoztunk. Mostantól az érdekel minket, hogy ez a strukturális keret mi-
lyen életjelenségeket mutat, milyen tevékenységeket végez, milyen felada-
tokat hajt végre, milyen tipikus funkciókat lát el. Tipikus funkciókat emlí-
tettünk, mert a technológiai folyamatok nagyfokú változatossága az irányí-
tási feladatokban alig tükröződik, vagyis, ha eltekintünk az adatok konkrét
technológiai tartalmától, akkor elszürkül a kép, mert az adatok feldolgozá-
sában nagymértékű funkcionális egyöntetűség tapasztalható. Tehát mond-
hatjuk, hogy a legkülönbözőbb technológiák irányítása során szinte ugyan-
azok a feladatok adódnak.
Már az előző fejezet bevezetőjében láttuk, hogy a folyamatirányító
számítógép három arccal néz a külvilág felé. Egyik arcát egy másik számí-
tógép, egy másikat a kezelő, a harmadikat pedig a folyamat felé fordítja. A
gép által elvégzendő feladatok is ezt a hármas tagozódást mutatják (5-1.
ábra).
5-1. ábra
5.1.1. A mintavételezés
A digitális számítógép a folyamatos analóg jelet közvetlenül nem tudja
feldolgozni, csak a jel diszkrét időpontokban vett, digitalizált mintáit képes
kezelni. A mintavételezést és a digitalizálást hardver eszköz végzi: a minta-
vevő (pl. a multiplexer) és az A/D átalakító. (Ezeket a műveleteket szoft-
verrel el sem lehetne végezni, hiszen annak a programnak, amely ezt csi-
nálná, az eredeti, folyamatos analóg jellel kéne manipulálnia, ami lehetet-
lenség.) A mintavételezésnek azonban van egy rendkívül fontos algoritmi-
kus vonatkozása: a mintavétel gyakoriságának meghatározása. Ezt ugyanis
nem a mintavevő eszköz szabja meg, hanem az analóg bemeneti csatorná-
kat lekérdező program.
5-2. ábra
5-3. ábra
5-4. ábra
5-5. ábra
5-6. ábra
Egy kis érdekesség: A hajdan volt KGST belső árait minden évben az
aktuális világpiaci ár és a megelőző öt év belső árainak felhasználásával
állapították meg. Ez az árképzési mechanizmus egy ötödrendű digitális
szűrőként működött, ahol xn a mindenkori világpiaci ár volt, yn-i (i=1…5)
pedig a megelőző öt év belső árai. A szűrőkonstansokat nem ismerem.
yn=yn-1
Ha a nagy eltérés (az (5.8) egyenlőtlenség) meghatározott számú min-
tavételi perióduson át tartósan fennáll, akkor a kiugró érték már való-
színűleg nem zajra, hanem a jel tartós megváltozására (pl.
munkapontváltás) utal. Ekkor xn-et tekintik szűrt értéknek és az algo-
ritmus ezzel az értékkel számol tovább.
Az elnevezés onnan származik, hogy a szűrő alkalmazkodik az átlagos
zajokhoz, vagyis ilyenekkel szemben közönséges elsőrendű szűrőhatást
fejt ki, viszont a kiugró zavarokat különlegesen kezeli. A ’logikai’ jelző
pedig arra utal, hogy működés közben logikai döntéseket kell hozni (az
(5.8) reláción alapuló feltételes elágazás, valamint a kiugró érték tartós-
ságának vizsgálata).
D) Az átlagoló szűrő
Az átlagoló szűrő kimenete az aktuális és a megelőző N-1 darab nyers
minta számtani középértéke:
1 N −1
y n = ∑ xn−i , N ≥ 2
N i =0
A működés azt az elgondolást tükrözi, hogy a lassú jelre
szuperponálódó nagyobb frekvenciájú, véletlenszerű zavarkomponen-
sek az egyes mintavételi időpontokban valószínűleg különböző elője-
lűek, így átlagoláskor várhatóan megsemmisítik egymást.
5.1.5. Átszámítás fizikai értékre
A számítógép a jelfeldolgozási műveletek során kiválóan elboldogul a
folyamatváltozók fizikai tartalomtól megfosztott, binárisan kódolt,
dimenziótlan értékeivel, ha viszont az adatokat a kezelő számára meg kell
jeleníteni, akkor megfelelő mértékegységben kifejezett decimális értékké
kell alakítani őket (vagyis vissza kell állítani az adat fizikai jelentését). Ez az
átalakítási művelet a fizikai értékre való átszámítás.
Tegyük fel, hogy a mért fizikai érték - útban a számítógép felé - mind-
végig lineáris karakterisztikájú jelátalakítókon halad át, vagyis, hogy a jel
fizikai skálája lineárisan képeződik le az A/D kimeneti számtartományára,
a digitális skálára (5-7. ábra).
5-7. ábra
F − Fa D − Da
=
Ff − Fa Df − Da
Ebből az aktuális fizikai érték (F) az A/D kimenetén megjelenő D szám-
ból kiszámítható:
F − Fa
F= f (D − Da ) + Fa (5.9)
Df − D a
Az (Ff-Fa)/(Df-Da) együtthatót skálafaktornak, az Fa tagot nullpontelto-
lásnak nevezik. E két érték analóg csatornánként külön-külön előre meg-
határozható, a memóriában konstansként tárolható, így a számítógép a
képlet alapján minden csatornára kiszámíthatja a jel fizikai értékét.
Nézzünk egy egyszerű példát. Légköri nyomáson lévő tartályban vizet
melegítenek. A víz hőmérséklete 10°C és 100°C között változhat. A hő-
mérsékletet platina ellenálláshőmérő érzékeli és alakítja át ellenállás-
értékké úgy, 10°C-hoz 104 ohm, 100°C-hoz 140 ohm tartozik. Az ellenál-
lást mérőhídban mérik, a híd kimenete egy áramtávadóhoz csatlakozik,
amely a 104…140 ohm ellenállástartományt 4…20 mA áramtartományra
képezi le. A távadó árama megérkezik egy analóg bemeneti periféria egyik
csatornájára. A csatorna jelformáló áramköre (áram-feszültség átalakító és
szinteltoló) a 4…20 mA áramtartományból 0…5 V feszültségtartományt
hoz létre, mert az A/D ezt igényli. Az A/D egypolaritású és 8-bites, tehát
a 0…5 V feszültség-intervallumot a 0…255 számtartományra képezi le.
Kérdés: mekkora a víz hőmérséklete, ha az A/D kimenetén az 10011001
bináris szám jelenik meg? (Mondjuk, nincs zaj és így nincs szükség a digi-
tális érték szűrésére.) Ha minden közbülső átalakítási lépés lineáris volt,
amit jogosan feltételezünk, mert gyakrabban igaz, mint nem, akkor ezeket
nem kell végigkövetni, mert ilyenkor az SF és az SD skála között közvet-
lenül is lineáris a kapcsolat, tehát használhatjuk az (5.9) képletet:
Ff=100°C, Fa=10°C, Df=255, Da=0, D=10011001=153
100 − 10
F= (153 − 0) + 10 = 64 °C
255 − 0
A fizikai értékre való átszámítás természetesen akkor is lehetséges, ha a
fizikai és a digitális skála közötti kapcsolat (valamilyen közbülső jelátalakí-
tó nemlinearitása következtében nem lineáris, de akkor (5.9) helyett egy - a
nemlinearitás konkrét formáját megadó - bonyolultabb formula haszná-
landó.
5.2. Számítások
Ezt a fejezetet elintézhetnénk egy nem is túl alaptalan kijelentéssel: „A
számítógép bármilyen képletet ki tud számítani, ha a szükséges bemenő
adatok rendelkezésre állnak; a kiszámítandó képletek az irányítandó fo-
lyamatra specifikusak; konkrét esetben a technológus-mérnök adja meg
őket, és ki lesznek számítva.” Ráadásul eddig is foglalkoztunk számítások-
kal, mert a digitális szűrés, a méréskorrekció és a fizikai értékre való át-
számítás is számítás volt. Akkor itt milyenekről lesz szó? Nos, olyanokról,
amelyek még elég általánosak, szinte minden irányító rendszerben szüksé-
gesek és még mindig függetlenek a konkrét technológiai tartalomtól.
Olyan, számított folyamatváltozók képzéséről lesz szó, amelyek nem, vagy
csak körülményesen mérhetők közvetlenül, de igen fontos információt
hordoznak. Két műveletet tárgyalunk: az idő szerinti differenciálást és az
idő szerinti integrálást.
5.2.1. Az idő szerinti differenciálás
Az idő szerinti differenciálás, pontosabban az időderivált adott pilla-
natbeli értékének meghatározása bármilyen folyamatos analóg jellel kap-
csolatban felmerülhető, mindig értelmes feladat. Az időderivált ugyanis
egy mennyiség változási sebességét adja meg és ennek ismerete bármilyen
folyamatváltozó esetében fontos lehet.
A digitális számítógép természetesen nem tudja analitikusan előállítani
a jel deriváltját és meghatározni annak helyettesítési értékét, hanem csak a
differenciálhányadost adott pillanatban közelítő differenciahányadost tudja
kiszámítani a jelminták alapján. Az, hogy ez a közelítés elfogadható-e, vagy
teljesen hibás, a mintavételi törvény betartásától függ. Ha a mintavételi
feltétel teljesül, akkor a differenciahányados valóban az eredeti folyamatos
jel differenciálhányadosát közelíti, ha viszont nem, akkor a kiszámított
érték csak semmitmondó, üres (vagy félrevezető és veszélyes!) adat. Ezt az
5-2. ábrán már szemléltettük.
A legegyszerűbb deriválási képlet az un. kétpontos formula, ahol a
differenciahányadost a pillanatnyi és a megelőző minta alapján számítjuk:
dx(t) x − x n −1
≈ n (5.10)
dt t =t n τ
ahol τ a mintavételi idő. A számlálóban két minta különbsége szerepel. Ha
a jel lassú változású, a differenciahányadosnak közel zérus értékűnek kell
lennie. Ha a jelre a szomszédos mintavételi időpontokban ellentétes elője-
5-8. ábra
Az 5-8.a ábrán egy zavarral terhelt állandó jel kétpontos, a b ábrán pe-
dig négypontos differenciálását szemléltetjük. (A deriváltnak természete-
sen nullának kellene lennie, mert a jel állandó.) A b ábrán a külső minták-
ból számított meredekség (K) és a belső mintákból számított meredekség
(B) átlaga már inkább zérus.
Igen ritkán szükség lehet egy jel másodrendű időderiváltjának (gyorsu-
lásának) meghatározására is. Ennek közelítő formuláját a másodrendű
szűrő tárgyalásakor már megadtuk.
5.2.2. Az idő szerinti integrálás
Míg az idő szerinti differenciálás - mint említettük - minden jellel kap-
csolatban értelmes művelet lehet, ez nem mondható el az idő szerinti in-
tegrálásról. Például egy kazánban lévő gőz nyomását lehet ugyan integrál-
ni, de milyen fizikai (vagy technológiai) jelentés tulajdonítható az így ka-
pott értéknek?
Az integrálás általában akkor értelmes feladat, ha a mért, integrálandó
jel valamilyen extenzív fizikai mennyiség árama (idő szerinti deriváltja).
Ilyen pl. a villamos áram, a tömegáram, a térfogatáram, de ilyen a teljesít-
mény is (energiaáram). Az ilyen, un. általános áramok időintegrálja egy
bázisidőponttól számítva megadja a teljes átáramlott (felhasznált) mennyi-
séget, a fogyasztást.
A digitális számítógép természetesen nem tudja előállítani a primitív
függvényt, majd annak a határokon vett helyettesítési értékeiből kiszámí-
tani az integrál értékét. Az integrálás numerikusan, közelítőleg végezhető
el: a jelmintákból és a mintavételi időből számítható elemi jelterületek ösz-
szegzésével. A numerikus analízis számtalan integrálási eljárást kínál; mi itt
a két legegyszerűbbet mutatjuk be, amelyek azonban a folyamatirányítás
igényeit általában kielégítik.
A) Téglányszabály:
tn n
I n = ∫ x(t)dt ≈ ∑ x i τ
0 i =1
x n −1 + x n
I n = I n −1 + τ
2
Az integrálás - a differenciálással ellentétben - nem zavarérzékeny, sőt,
szűrő hatású. Ez pontosabban azt jelenti, hogy ha egy jelre szinuszos, vagy
bármilyen más, zérusátlagú periodikus zavar szuperponálódik, a periódus-
idő egész-számú többszörösére számított integrálból a zavar teljesen eltű-
nik.
5.3. Ellenőrzések
Az ellenőrzési funkciók közé az analóg jelek határérték-vizsgálatát és a
digitális jelek változásfigyelését soroljuk.
5.3.1. A határérték-vizsgálat
Az analóg folyamatváltozók értéke normális üzemmenet esetén bizo-
nyos intervallumba kell, hogy essen. Ha a változó ebből a tartományból
kilép, az eseményt jelent, amit detektálni és amire reagálni kell. A változó
aktuális értékét folyamatosan össze kell hasonlítani az intervallumhatáro-
kat kijelölő értékekkel (határértékek), és ha az aktuális érték nagyobb a
felső, vagy kisebb az alsó határértéknél, jelzést kell generálni a kezelő szá-
mára. Ez a jelzés akkor szüntethető meg, ha a kezelő tudomásul vette
(nyugtázta), vagy ha a túllépés időközben megszűnt.
A határértékeknek különböző aspektusból különböző típusai léteznek.
Az alábbiakban ezeket tekintjük át.
Az un. statikus határértékek a folyamatváltozó értékének, a dinami-
kus határértékek pedig a jel változási sebességének (időderiváltjának)
megengedett tartományait jelölik ki. Elképzelhető olyan eset, hogy a jel
még a megengedett intervallumban van (tehát nincs statikus határérték
túllépés), de olyan gyorsan változik, hogy a jelsebesség a dinamikus határ-
értéket túllépi. Ez a tény a normálistól eltérő, esetleg veszélyes üzemálla-
pot közelgő kialakulására utalhat.
Az igényelt válaszreakciótól függően van un. normál üzemi határérték,
vészhatárérték, és hihetőségi határérték.
A normál üzemi határérték túllépése figyelmeztető jelzést generál.
Ez a túllépés nem jelent különleges állapotot és csak bizonyos, üzemszerű
beavatkozást igényel, amit vagy maga a számítógép hajt végre automatiku-
san, vagy a kezelő végez el. Például egy olajtartály töltésekor észre kell
venni, ha a tartály megtelik (szinthatár-túllépés történik) és le kell állítani a
töltő szivattyút.
5-9. ábra
5.4. Az adattárolás
A számítógépes folyamatirányító rendszereknek a működés során igen
nagy mennyiségű adatot kell kezelniük és tárolniuk. Az adatok egy része a
folyamatból származó bejövő, mért érték, más része feldolgozott, számí-
tott adat. Más vonatkozásban egy részük változó, más részük állandó. Vál-
tozó adatok a jelminták és a számított folyamatváltozók, állandók pl. a
fizikai címadatok, a számítási műveletekhez szükséges paraméterek, stb. A
legtöbb adat úgymond közérdeklődés tárgya, vagyis több programnak
szüksége lehet rá. Egyes programok írják (módosítják), mások olvassák
őket. Az adatok tárolásának módja, az adathalmaz elhelyezése, szerkezete,
az adatokhoz való hozzáférés semmiképpen nem lehet egy-egy program
belügye.
A rendszer változó és állandó adatait egy logikailag strukturált halmaz-
ban, az un. adatbázisban kell elhelyezni, és biztosítani kell, hogy az egyes
programok csak egy szabványos felületen keresztül férhessenek hozzájuk.
A szabványos felület alatt két dolgot értünk:
• a programok az adatnak csak a logikai azonosítóját, nevét ismerik és
adhatják meg;
• van egy olyan program - az adatbáziskezelő - amelytől az adatot kérni,
vagy amelynek átadni kell, mert a memória adattábláihoz fizikailag csak
ő férhet hozzá, vagyis a logikai azonosítót ő tudja fizikai memória-
címmé konvertálni.
5-10. ábra
• adatrekord olvasás,
• adatrekord írás.
A adatbázis-inicializáló rutint a rendszer indításakor, egyszer kell lefuttatni.
Itt paramétert nem kell megadni, a rutin a lemezről automatikusan feltölti
az adatbázis leíró rekordjait. A többi szubrutin hívásakor a típust, az alcí-
met és a hívó által kijelölt puffer kezdőcímét kell megadni.
A leíró-rekordok a megfelelő adatrekordhoz kapcsolódó feldolgozási
műveletek által igényelt konstansokat, az adatrekordok magukat az adato-
kat tartalmazzák. Például analóg jelek esetében a leíró-rekord az alábbiakat
tartalmazhatja:
• feldolgozás engedélyezés/tiltás,
• kártyacím,
• csatornacím,
• erősítés,
• szűrőkonstans (α),
• skálafator,
• skálanullpont,
• mértékegység (ASCII karakterek),
• alsó határérték,
• felső határérték,
• hiszterézis;
az adatrekord pedig:
• aktuális szűrt érték,
• előző szűrt érték,
• fizikai érték ,
• határérték-túllépés jelzés.
5-11. ábra
6. A dinamika
A számítógépes folyamatirányító rendszerek a valós időhöz szinkroni-
zált, eseményvezérelt rendszerek. Ez azt jelenti, hogy az egyes feladatokat
meghatározott időben, vagy bizonyos események bekövetkeztekor kell
elvégezni. A rendszerben mindig annak a programnak programoknak) kell
futnia, amely éppen aktuális feladatot lát el, vagy azért, mert most érkezett
el az ideje, vagy azért, mert most következett be egy választ igénylő ese-
mény. Az irányítás akkor működik megfelelően, hatásosan, ha a technoló-
giai folyamat úgy érzi, hogy a számítógép mindig azt csinálja, amit szüksé-
ges, és mindig akkor, amikor kell. A folyamatban egyidejűleg több állapot-
változás következhet be, több olyan esemény, amely választ igényel. Emel-
lett a legkülönbözőbb folyamatváltozókat folyamatosan kell mérni és fel-
dolgozni. Mindez együtt azt jelenti, hogy a számítógépen egy adott pilla-
natban több programnak kellene futnia. A párhuzamos programfuttatás
egyprocesszoros rendszerben nem valósítható meg, így olyan működés-
módot kell biztosítani, amely a párhuzamosságot szimulálja, annak tényle-
ges megvalósítása nélkül. Tehát egyfajta optikai csalódást eredményez, a
párhuzamosság látszatát kelti, de mégsem az. Ezt a működésmódot virtuá-
lisan párhuzamos programfuttatásnak nevezzük. Úgy vélem, elég nyilván-
való, hogy az irányítandó folyamat szempontjából - és itt ez a kizárólagos
szempont - teljesen közömbös, hogy a programok futása ténylegesen, vagy
„csak” látszólagosan párhuzamos, ha minden feladat a megfelelő időben
végrehajtódik.
A virtuális párhuzamosság a processzoridő felosztásával (szeletelésé-
vel) és az egyes időszeleteknek ciklikusan más-más programokhoz rende-
lésével valósítható meg. Ha az időszeletek elég rövidek, akkor egy program
sűrűn jut processzoridőhöz, és ez olyan látszatot kelt, mintha mindig ő
futna. Minthogy minden program ezt érzi, úgy tűnik, hogy mindig mind-
egyik fut, tehát párhuzamosan működnek. Ha az időszeletek nőnek, ez a
látszat fokozatosan eltűnik. Az időszeletek azonban nem lehetnek túl rö-
videk sem. A programok közti átkapcsolást az operációs rendszer végzi.
Az átkapcsolás bizonyos adminisztrációt igényel (context-mentés, stb.), ha
túl gyakran kerül rá sor, az operációs rendszer gyakran fut és sok procesz-
szoridőt felemészt. El lehet érni egy olyan határt, amikor már csak az ope-
rációs rendszer fut (de minek?) és a felhasználói programoknak egyáltalán
nem jut idő.
6-1. ábra
• állapot,
• kezdőcím (belépési pont),
• kezdeti stack-szint (kezdeti SP),
• mentett PC,
• mentett SP,
• időzítés,
• time-out.
A felsorolás nem teljes, az általánosság szintjén nem is lehet teljes felsoro-
lást adni.
Itt jegyezzük meg, hogy mindaz, amit a monitorról, funkcióiról, mű-
ködéséről itt és a későbbiekben mondunk, egy konkrét, megvalósított
monitorra vonatkozik, de ugyanakkor szinte teljesen általánosan jellemző.
Másrészt a mondottak kizárólag a lényeget kívánják bemutatni és megér-
tetni, és nagyon távol állnak attól, hogy az említett monitor felhasználói
kézikönyv-szintű leírását adják. Ennek nem is lenne értelme.
A monitor a taskok számára bizonyos szolgáltatásokat nyújt: eszközö-
ket biztosít az egymás közti információcsere szervezéséhez, működésük
egymáshoz-igazításához (szinkronizáció), egymás állapotának befolyásolá-
sához, a rendszer erőforrásainak használatához, az I/O csatornák kezelé-
séhez, stb. E szolgáltatásokat un. monitorhívásokkal (executive-hívások,
rendszerhívások) lehet igénybe venni. A monitorhívások formailag szub-
rutinok, tehát a szolgáltatások a taskokból megfelelően paraméterezett
szubrutinhívásokkal érhetők el. Ezekre később bőven látunk példákat.
A 6-1. ábrán néhány taskot is feltüntettünk. A taskokat megszámoztuk.
Sok rendszerben a sorszám (azonosító) egyben a prioritást is megszabja
oly módon, hogy a kisebb sorszámú task a magasabb prioritású. A legma-
gasabb (0.), valamint a legalacsonyabb (n.) prioritású task nem része a fel-
használói rendszernek, vagyis nem lát el folyamatirányítási funkciót. Eze-
ket szokás a monitor kiegészítő részeinek is tekinteni. A 0. un. system-task
futásakor a teljes felhasználói rendszer blokkolt állapotba kerül, hiszen
minden más task prioritása kisebb. Így a 0. task felhasználható diagnoszti-
kai célokra (konzol-rutinként), a megmerevedett rendszer állapotának
vizsgálatára, illetve az állapotváltozások nyomon követésére. Ez a funkció
főként a rendszer telepítésének, üzembeállításának szakaszában, az elke-
rülhetetlen kezdeti hibák felderítésében és elhárításában rendkívül hasz-
nos. A legalacsonyabb prioritású, un background task akkor futhat, ha
egyetlen másik task sem fut. Mondhatjuk, hogy ő használja fel a procesz-
6-2. ábra
taskot az éppen futó task által kiadott, az alvóra vonatkozó RQACT (akti-
válás), vagy RQCYC (ciklikus aktiválás) monitorhívással lehet aktív álla-
potba vinni. A határozott idejű alvó állapotban lévő taskot az idő lejárta-
kor a monitor aktiválja. A futó task RQSLP, vagy RQDLE monitorhívás-
sal kérheti alvó állapotba helyezését. Az RQSLP határozatlan, Az RQDLE
határozott idejű elaltatást eredményez. Az utóbbi hívásnál az alvás kért
időtartamát is meg kell adni.
A taskok állapotának megváltoztatása (az állapotátmenetek lebonyolí-
tása) a monitor kztárólagos joga. A monitor két esetben fut: óra-
interruptkor, illetve monitorhíváskor. Ez azt jelenti, hogy bármilyen álla-
potváltozás csak ilyenkor következhet be. Ha eltekintünk a nem túl gyako-
ri monitorhívásoktól (hiszen említettük: a taskok az idő nagy részében
autonóm módon működnek), akkor mondhatjuk, hogy a rendszer állapot-
változásainak gyakorisága megegyezik az óra-interrupt frekvenciájával. Így
a rendszer természetes időegysége az óraperiódus és az összes időzítést
ennek egész-számú többszöröseként lehet (és kell) megadni.
6-3. ábra
6-4. ábra
6.3. Az erőforrás
Az erőforrás egy névvel azonosítható kétállapotú logikai elem, amely
lehet „szabad”, vagy „foglalt” állapotban. Ez eddig a két állapot elnevezé-
sétől (ami egyébként lényegtelen) eltekintve azonos a flag és a postaláda
kapcsán mondottakkal, és fogalmunk sincs, hogy mi az erőforrás. Ha a
lényeget akarjuk megragadni, a következőt kell mondanunk.
Az erőforrás olyan logikai elem, amely egyidejűleg csak egy task birto-
kában lehet, de amelyet ugyanakkor több task konkurens módon igényel.
Ebből már látható, hogy az erőforrás olyan valami (bármi), amiből adott
időben kevesebb van, mint amennyi kellene, ezért versenyezni kell érte.
Az erőforrás tehát a rendszer szűk keresztmetszeteit leképező, illetve azok
kezelését lehetővé tevő elem. Abban a pillanatban, amikor a valamiből
annyi lesz, amennyi kell, a valami elveszíti erőforrás jellegét, mert minden
igénylőnek meglesz a saját valamije és senki nem verseng már érte.
(Egyébként a rendszer legfőbb erőforrása a processzoridő, de ezt a moni-
tor saját hatáskörén belül osztja el.)
Az erőforrást lehet igényelni (lefoglalni) és elengedni (visszaadni, fel-
szabadítani). E műveletekre két monitorhívás van:
• RQRES: lefoglalás,
• RQRLS: elengedés.
Mindkét hívásnál paraméterként meg kell adni az erőforrás azonosítóját.
Az RQRES híváskor, ha az erőforrás szabad, a hívó task megkapja
(ezzel az erőforrás foglalttá válik), és futhat tovább. Ha az erőforrás nem
szabad, a hívó WAIT állapotba kerül és a monitor bejegyzi az adott erő-
forrásra várakozók prioritás szerinti láncába. Ha az erőforrás felszabadul,
akkor a rá váró tskok közül a legmagasabb prioritású kapja meg, a többi-
nek pedig tovább kell várnia. Az RQRLS a task visszaadja az általa birto-
kolt erőforrást. Ez a hívás nem viheti WAIT állapotba ataskot.
Egy task csak általa birtokolt (megelőzőleg lefoglalt és megkapott) erő-
forrást engedhet el, vagyis nem lehet egy RQRLS hívással egy másik
tasktól elvenni az erőforrást.
A tasknak a már nem használt erőforrást azonnal fel kell szabadítania.
Egy task egyszerre csak egy erőforrást foglalhat le, és amíg el nem en-
gedte, másikat nem igényelhet. (Ezt a monitor nem ellenőrzi ugyan, de
kötelező betartani.) Ellenkező esetben un. holtpont alakulhat ki és a sza-
bályszegő task soha többé nem fog futni. Vizsgáljuk meg ezt részleteseb-
ben! Az A task fut, lefoglalja és megkapja az α erőforrást. Fut tovább és α
előzetes elengedése nélkül kéri a β erőforrást. Ám az foglalt, egy B task
foglalja, így A WAIT állapotba kerül. Egyszer csak B-re kerül a sor, ő fut,
és mielőtt β-t elengedné, kéri α-t. Ám α foglalt az A által, így B is WAIT
állapotba kerül. Most már mind a ketten várakoznak, és mivel sem α-t,
sem β-t más nem szabadíthatja fel, örökre várakozni is fognak.
Néhány példa az erőforrás alkalmazására:
• Több task akar nyomtatni, de csak egy nyomtató van. Hogy ne keve-
redhessenek össze az egyes szövegek karakterei, csak sorban egymás
után nyomtathatnak. A nyomtatóhoz egy erőforrást kell rendelni.
• Egy nem újrahívható szubrutint is használhat több task, ha erőforrás
van hozzárendelve. Egy-egy hívó előbb lefoglalja, majd a szubrutin le-
futása után elengedi, így azt nem lehet újrahívni. Viszont az erőforrás-
jellegű szubrutint tilos közönséges szubrutinként hívni!
• A flaggel kapcsolatban bemutatott példa elegánsabb megoldása: a kö-
zös memóriaterületet erőforrásnak tekintjük. Az író task írás előtt le-
foglalja, az írás végén felszabadítja (így írás alatt nem lehet beleolvasni).
Az olvasó task olvasás előtt lefoglalja, utána felszabadítja (így nem le-
het olvasás közben beleírni). Az ottani példában a kölcsönös kizárást
két flaggel lehetett biztosítani, itt ugyanaz elérhető egy erőforrással.
Irodalomjegyzék
Megyeri József: Számítógépes folyamatirányítás,Tankönyvkiadó, Budapest,
1980.
Dr. Csáki Frigyes (szerk.): Számítógépes folyamatirányítás, Tankönyvki-
adó, Budapest, 1975.
Marschik Iván: Mikroprocesszorok, mikrogépek, KSH Nemzetközi Szá-
mítástechnikai Oktató Központ, Budapest, 1979.
Leventhal, L.: 8080A/8085 Assembly Language Programming, Osborne,
Berkeley, California, 1978.
Digital Equipment Corporation: PDP11 processor handbook, Maynard,
Massachusetts, 1979.