You are on page 1of 157

Konecsny Ferenc

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.

Szerző: dr. Konecsny Ferenc


egyetemi docens

Lektor: dr. Benyó Balázs PhD


egyetemi docens

© Konecsny Ferenc, 2006


Számítógépes folyamatirányítás A dokumentum használata
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 3 ►

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.

Pozícionálás a könyvjelzőablak segítségével


A bal oldali könyvjelző ablakban tartalomjegyzékfa található, amelynek
bejegyzéseire kattintva az adott fejezet/alfejezet első oldalára jutunk. Az
aktuális pozíciónkat a tartalomjegyzékfában kiemelt bejegyzés mutatja.

A tartalomjegyzék és a tárgymutató használata


Ugrás megadott helyre a tartalomjegyzék segítségével
Kattintsunk a tartalomjegyzék megfelelő pontjára, ezzel az adott fejezet
első oldalára jutunk.
Keresés a szövegben
A dokumentumban való kereséshez használjuk megszokott módon a
Szerkesztés menü Keresés parancsát. Az Adobe Reader az adott pozíció-
tól kezdve keres a szövegben.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 3 ►


Számítógépes folyamatirányítás Tartalomjegyzék
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 4 ►

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

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 4 ►


Számítógépes folyamatirányítás Tartalomjegyzék
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 5 ►

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

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 5 ►


Számítógépes folyamatirányítás Bevezetés
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 6 ►

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

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 6 ►


Számítógépes folyamatirányítás A feladat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 7 ►

0. A feladat

0.1. Irányítás, vezérlés, szabályozás


Az anyagi javak, termékek előállítására irányuló technológiai folyama-
tok célszerűen működő technológiai rendszerekben mennek végbe. E
folyamatok célja az, hogy a kiindulási anyagokból előírt minőségi muta-
tókkal előírt minőségi mutatókkal rendelkező, további felhasználásra al-
kalmas produktumokat hozzanak létre.
A technológiai rendszerek környezetük befolyása alatt állnak és mű-
ködésük érzékeny a környezeti feltételek változásaira. A környezeti válto-
zások mindig zavaró hatásként jelentkeznek, hiszen megváltoztatva a
rendszer működésmódját, befolyásolják a végtermék minőségét. Ebből
következik, hogy egy technológiai rendszer magára hagyva, spontán mó-
don általában nem működhet kielégítően. A kívánt működés biztosításá-
hoz olyan külső beavatkozás szükséges, amely kompenzálni képes a kör-
nyezeti változások hatását (vagyis: képes a rendszert dinamikusan elszige-
telni a környezettől). A technológiai folyamat működésének eme
kompenzatórikus módosítása a folyamathoz illesztett irányító rendszer
feladata.
Irányítás alatt egy folyamat adott cél elérése érdekében történő befo-
lyásolását értjük. Irányítási művelet egy folyamat elindítása, fenntartása,
megváltoztatása, leállítása. Eme funkciókat az irányító rendszer látja el. Az
irányító rendszernek nincs közvetlen technológiai funkciója, hiszen nem
vesz részt az anyag- és energiaátalakítási folyamatban, a végtermék létre-
hozásában. Szerepe mégis nélkülözhetetlen, mert megléte biztosítja, hogy
a technológiai rendszer a környezetből eredő zavarok ellenére kielégítően
működjön.
A technológiai és az irányító rendszert élesen megkülönbözteti egy-
mástól a bennük lezajló folyamatok jellege. A technológiai folyamatok
anyag- és energiaáramokon végrehajtott műveletek sorozatai, ezzel szem-
ben az irányító rendszerekben kizárólag az információ áramlásának van
szerepe; az irányítási folyamat pedig nem más, mint anyagi hordozóra ülte-
tett információkon - jeleken - végrehajtott manipulációk sorozata. Ebből
adódik, hogy míg a technológiai rendszerek berendezései a folyamat jelle-
gétől függően igen változatosak, a különböző irányítási rendszerek elemei
- ha szerkezeti kialakításukat tekintve nem is - funkcionálisan nagyon ha-
sonlók.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 7 ►


Számítógépes folyamatirányítás A feladat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 8 ►

Az irányítás három, okságilag egymást követő aktus eredményeként


jön létre. E három mozzanat:
• az információszerzés,
• a döntéshozatal és
• a beavatkozás.
Az információszerzés célja az, hogy az irányító rendszer megismerje
a technológiai folyamat (irányított rendszer), vagy a folyamatot befolyáso-
ló környezet aktuális állapotát, más szavakkal: hogy felmérje a tényállapo-
tot.
A döntéshozatal során az irányító rendszer összehasonlítja az aktuá-
lis, tényleges állapotot az elérni kívánt, vagy előírt állapottal. Ha a két álla-
pot nem azonos - vagyis nem az van, aminek kellene lennie - az eltérés
irányától és mértékétől függően, adott algoritmus alapján létrejön a be-
avatkozási parancs.
Ennek hatására megtörténik a beavatkozás, melynek során az irányító
rendszer úgy módosítja a technológiai folyamat állapotát, hogy az az irá-
nyítási célként kitűzött, előírt állapot felé közelítsen.
Az irányítási rendszer általános, elvi felépítését, valamint az egyes ak-
tusok kapcsolatát a 0-1. ábra szemlélteti.

0-1. ábra

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 8 ►


Számítógépes folyamatirányítás A feladat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 9 ►

Egy folyamat irányítása megvalósulhat emberi közreműködéssel, vagy


anélkül. Az előbbi esetben kézi, az utóbbiban automatikus irányításról
beszélünk. Ha az irányító rendszer szerepét ember tölti be, az irányítás
fiziológiai folyamatok közreműködésével történik. E folyamatok azonban
- lényegüket tekintve - éppúgy információátviteli, illetve -feldolgozási fo-
lyamatok, mint más irányító rendszerek esetében, csak itt az információ-
áramlást speciálisan kémiai hordozó biztosítja.
Kézi irányítás esetén az információszerzés konkrét fizikai eszközei az
érzékszervek. A tényállapotot tükröző információ, mint ingerület, végigfut
a szenzoros idegpályákon (mint információátviteli csatornákon) és a köz-
ponti idegrendszerbe jut. Ez utóbbi képes arra, hogy elemi logikai művele-
tek végrehajtásával összehasonlítsa a beérkezett információt az idegsejtek
bizonyos rendszerében - mint memóriában - tárolt, a kívánt állapotot rep-
rezentáló információval. Eltérés esetén az agy a motoros idegpályák
(ugyancsak, mint csatornák) közvetítésével ingerli a mozgásszervek izmait,
létrehozva ezzel a mozgást, a beavatkozást.
Automatikus irányítás esetén az előbb említett emberi szerveket olyan
gépi berendezésekkel, eszközökkel kell helyettesíteni, amelyek - ha más
fizikai elvek szerint működnek is - az információátvitel szempontjából
ugyanazokat a funkciókat képesek ellátni. Így minden automatikus irányító
rendszernek kell tartalmaznia érzékelő szervet (mérőműszer, jeladó) az
információszerzés céljára, valamilyen ítéletalkotó szervet (különbségkép-
ző) a döntéshozatalhoz, beavatkozó szervet (pl. motor, szelep) a beavat-
kozáshoz, információátviteli utakat (vezetékek, csövek) az egyes szervek
összekapcsolásához. Ezeken kívül szükség lehet valamilyen memória-
jellegű elemre a kívánt állapotot reprezentáló információ tárolásához.
Eddig az irányításról az általánosság szintjén beszéltünk. Az alábbiak-
ban különbséget fogunk tenni két alapvető módja, realizációs formája kö-
zött, és ezek jellegzetességeit vizsgáljuk meg.

Az irányításhoz szükséges primer információk forrása - a korábbiak sze-


rint - lehet maga az irányított folyamat, vagy annak környezete. Ha a be-
avatkozást kiváltó információ az irányított rendszer környezetéből szár-
mazik, akkor vezérlésről, ha pedig a folyamatból, akkor szabályozásról
beszélünk.

Az irányítás célja mindkét esetben azonos, nevezetesen: biztosítania


kell, hogy a folyamat (és mindig a folyamat) állapota a külső zavaró hatá-

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 9 ►


Számítógépes folyamatirányítás A feladat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 10 ►

sok ellenére megegyezzen az előírt állapottal, vagy legalábbis minél jobban


megközelítse azt. E célt a két irányítási mód különbözőképpen éri el. (Na-
gyon fontos: a beavatkozás mindig a folyamatra hat, csak az azt kiváltó
információ származhat különböző helyről.)
A vezérlésnél az irányító rendszer (itt vezérlő rendszernek hívják) a
környezet és csak a környezet állapotát (a külső hatásokat) figyeli. Ha
ebben valamilyen - a referenciafeltételekben rögzítettekhez képesti - válto-
zást észlel megindítja a változás hatását kompenzáló beavatkozást, amely
úgy igyekszik befolyásolni a folyamatot (a vezérelt rendszert), hogy az a
megváltozott környezetben is a kívánt célnak megfelelően működjön.

Az előbb mondottak arra az esetre vonatkoznak, amikor a vezérlő rend-


szernek zavaró, káros külső hatást kell elhárítania. Sokszor azonban a kül-
ső hatás szándékos, és célja a vezérelt rendszer működésének, üzemmód-
jának megváltoztatása (pl. bekapcsolás, leállítás, munkapontváltás). Ilyen-
kor a beavatkozásnak nem kompenzálnia kell a külső hatást, hanem éppen
annak érvényre jutását kell elősegítenie.

Nagyon fontos tény, hogy a vezérlő rendszer semmilyen információval


nem rendelkezik a vezérelt folyamatról, így nem tudja értékelni a beavat-
kozás hatását, eredményét. Ha a beavatkozás sikertelen volt, vagy nem
volt kellően hatásos, a folyamat a vezérlés ellenére a továbbiakban is hibá-
san fog működni. A vezérlés másik fontos jellemzője, hogy kizárólag azo-
kat a zavaró hatásokat tudja elhárítani, melyek érzékelésére a vezérlő rend-
szer - szerkezeti kialakításából adódóan - alkalmas. A vezérlő rendszer
tervezésekor figyelmen kívül hagyott zavaró hatások később akadálytalanul
befolyásolhatják a vezérelt folyamatot. Végül megemlítjük, hogy a vezérlé-
si folyamat során az információ nyílt lánc mentén terjed, hiszen a környe-
zetből indul ki és a vezérelt rendszerbe fut be. Ebből adódik, hogy a ve-
zérlés un. egyszeri lefutású folyamat, amely a beavatkozás megtörténte
után - annak eredményétől függetlenül - befejeződik és újabb kiváltó ok
(újabb környezeti változás) megjelenéséig nem működik. A vezérlési fo-
lyamat vázlatát és a hatások számozott oksági sorrendjét a 0-2. ábra mu-
tatja.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 10 ►


Számítógépes folyamatirányítás A feladat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 11 ►

0-2. ábra

A szabályozásnál az irányító rendszer (itt szabályozó rendszernek


hívják) kizárólag magának a technológiai folyamatnak (itt: szabályozott
rendszer) az állapotát figyeli. Ha ez eltér egy - az irányítási cél által meg-
határozott - előírt állapottól, a szabályozó rendszer az eltérés okától füg-
getlenül (azt nem is ismerve!) megindítja az eltérést csökkenteni igyekvő
beavatkozást. A szabályozó rendszernek nincs semmilyen információja a
környezetről, az eltérést okozó zavaró körülményekről külön-külön, vi-
szont mindent tud ezek együttes hatásáról. A beavatkozás ebből adódó-
an nem specifikus egyik vagy másik, ilyen vagy olyan zavarra, hanem azok
együttes hatásának kiküszöbölésére irányul. (Ezt úgy is mondhatjuk, hogy
míg a vezérlés csak szelektív zavarelhárításra képes, a szabályozás univer-
zálisan teszi ugyanezt.) E körülmény a szabályozások tervezése szempont-
jából igen kedvező, amennyiben szükségtelenné teszi a szabályozott rend-
szerre ható zavarforrások előzetes felderítését.
Minthogy a szabályozó rendszer közvetlenül a folyamat állapotát érzé-
keli, módjában áll a beavatkozás hatásosságának folyamatos elemzése,
vagyis saját tevékenységének ellenőrzése és korrigálása. Ha a beavatkozás
nem volt elégséges (ami abban tükröződik, hogy a folyamat tényleges álla-
pota még mindig eltér a kívánt állapottól), a szabályozó rendszer továbbra
is fenntartja, esetleg növeli vagy csökkenti a beavatkozás mértékét. A sza-
bályozási folyamat tehát addig működik, amíg az eltérés meg nem szűnik,
viszont csak akkor indulhat meg, ha az eltérés már fennáll, azaz, ha a zavar
már kifejtette hatását a szabályozott rendszerre. Először tehát hibának kell
keletkeznie ahhoz, hogy működésbe léphessen a hibát elhárító folyamat; a
hiba fellépte viszont saját maga megszüntetése irányába hat. (Megjegyez-
zük, hogy a vezérlés esetében a beavatkozás elvileg már akkor megkez-
dődhet, amikor a zavar még nem fejtette ki teljes hatását a vezérelt rend-

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 11 ►


Számítógépes folyamatirányítás A feladat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 12 ►

szerre, így a zavar hatása olykor megelőzhető. Szabályozásnál ez kizárt, de


a vezérlésnél is inkább csak elvi lehetőség.)
A szabályozás topológiai jellegzetessége, hogy az információ zárt hu-
rokban terjed, hiszen a beavatkozást kiváltó információ a szabályozott
rendszer állapota és a beavatkozás ugyancsak a rendszer állapotára hat. A
szabályozási rendszerben tehát visszacsatolás érvényesül: az állapotjel-
lemző mennyiségek saját magukra hatnak vissza. A visszacsatolás pedig
negatív, mert egy állapotjelző mennyiség bármilyen irányú megváltozása a
változást megszüntetni, illetve visszafordítani igyekvő folyamatot indít
meg. A szabályozási folyamat vázlatát és a hatások oksági sorrendjét a 0-3.
ábra mutatja.

0.2. Jelek, jelátvitel


Az irányítási műveletek információátviteli, illetve -átalakítási művele-
tek, ami azt jelenti, hogy az irányító rendszer működésében csak az infor-
mációáramlásnak van szerepe, az anyag- és energiaáramoknak csak annyi-
ban, amennyiben azok információt hordoznak. Másfelől, lévén az infor-
máció absztrakt, matematikai fogalom, önmagában, közvetlenül sem át
nem vihető, sem fel nem dolgozható, így azt valamilyen, fizikailag manipu-
lálható anyagi hordozóhoz kell kapcsolni. A fizikai hordozóra ültetett,
materializálódott információ a jel.
Információ hordozására minden mérhető fizikai mennyiség alkalmas.
A jel valamely mérhető fizikai mennyiség olyan értéke vagy értékváltozása,
melynek információtartalmat tulajdonítunk. Fontos hangsúlyozni, hogy
egy fizikai mennyiség értéke önmagában még nem jel. Jellé csak akkor és
azáltal válik, ha érzékeljük és ha számunkra jelent valamit, hogy az értéke
ennyi vagy annyi, ha tehát értelmezzük. Ezt úgy is fogalmazhatjuk, hogy
míg egy fizikai mennyiségnek minden körülmények között van valamek-
kora értéke (legalábbis a klasszikus fizika szerint: ami van, az valamekkora
is), ez az érték nem mindig képvisel egyúttal jelet is.
A jeleknek az irányítási rendszerben betöltött szerepük szerint két cso-
portját különböztetjük meg. Az egyik csoportot azok alkotják, amelyek az
irányító rendszerhez kötődnek és csak akkor léteznek, ha az irányítási
rendszer is létezik, illetve működik. A másik csoportba az irányított rend-
szer és a környezet állapotát tükröző jelek tartoznak. Ezek az irányítástól
függetlenül - anélkül is - léteznek (pl. ha csak mérjük őket). Az ilyen jeleket
megkülönböztetésül jellemzőknek nevezik.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 12 ►


Számítógépes folyamatirányítás A feladat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 13 ►

A jelek időben létező, időben változó objektumok. Az egyszerűbb je-


lek matematikailag egyváltozós valós függvényként írhatók le: J=J(t), ahol
a független változó mindig az idő, a függvényérték pedig a jelhordozó
fizikai mennyiség értéke.
A jeleknek igen sok fajtája létezik. Feloszthatók időbeli lefolyásuk, ér-
tékkészletük, az általuk hordozott információ megjelenési formája, értékük
meghatározottsága, stb. szerint. Az irányítási rendszerek konkrét felépíté-
sét és működési módját alapvetően a bennük terjedő jelek tulajdonságai
determinálják, így az alább következő osztályozás nem csak a jelek, hanem
részben az irányítási rendszerek osztályozásának is tekinthető.
A) Az időbeli lefolyás (értelmezési tartomány) szerint egy jel lehet fo-
lyamatos vagy szaggatott. A jel akkor folyamatos, ha egy adott időin-
tervallum minden pillanatában létezik, tehát folyamatosan fennáll. Ha a
jel értelmezési tartománya nem folytonos halmaz, azaz vannak olyan
pillanatok, vagy intervallumok, amikor a jelhordozó fizikai mennyiség
értékét nem értelmezzük és így a jel nem létezik, szaggatott jelről be-
szélünk. Folyamatos jel pl. számunkra egy óra számlapján a mutatók
helyzete, ha állandóan nézzük (és látjuk) az órát. Szaggatott jelet ka-
punk, ha csak időnként pillantunk az órára, vagy egy sötét szobában
megszakítás nélkül nézzük ugyan, de csak időnként villan fel a lámpa.
B) Az értékkészlet szerint folytonos és szakaszos jeleket különbözte-
tünk meg. Folytonos egy jel akkor, ha - legalábbis egy adott interval-
lumon belül - bármilyen értéket felvehet. Ha az értékkészlet néhány
(esetleg végtelen sok) diszkrét értékből áll, a jel szakaszos. Folytonos
jelre példa a lázmérő higanyszálának hossza a 35ºC…42ºC tartomány-
ban, míg szakaszos jelek pl. a logikai áramkörök kétállapotú jelei
(ugyanis a logikai szintek közötti átmenet feszültségértékeit nem ér-
telmezzük).
C) Az információ megjelenési formája szerint megkülönböztetünk
analóg és digitális jeleket. Analóg jelről akkor beszélünk, ha a jel - a
jelhordozó fizikai mennyiség értéke - közvetlenül képviseli az informá-
ciót. A digitális jel esetében a jelhordozó értéke (vagy az értékek egy
sorozata) csak közvetve képviseli az információt: az érték maga elsőd-
legesen csak egy kódot határoz meg. Ezt egy adott szabály (algoritmus)
szerint meg kell fejteni (dekódolni kell) ahhoz, hogy az információ bir-
tokába jussunk. A kód maga rendszerint számjegyekből áll, de ez nem
szükségszerű (lehet pl. színkód is). Analóg jel pl. egy bolti mérleg mu-
tatójának kitérése, amely közvetlenül megadja az áru súlyát. Ha viszont

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 13 ►


Számítógépes folyamatirányítás A feladat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 14 ►

patikai mérleggel mérünk, a mérendő súlyt elsődlegesen a mérleg ki-


egyensúlyozásához szükséges etalondarabok száma (vagy színe, alakja,
stb.), mint kód fogja jellemezni. Ebből pl. egy táblázat alapján megha-
tározhatjuk a mérendő tárgy tényleges súlyát (dekódolás). Eben az
esetben az etalonsúlyok száma (színe, alakja) digitális jel.
D) Az érték meghatározottsága szempontjából determinisztikus és
sztochasztikus jeleket különböztetünk meg. Determinisztikus a jel
akkor, ha minden esetben azonos, egyértelműen megadható időfügg-
vény szerint fut le. A sztochasztikus jelnek nincs határozott időfügg-
vénye, alakja minden egyes lefutáskor véletlenszerűen változik. Az
ilyen jelek esetében a jelalak fogalma értelmét veszti, a jelet csak való-
színűségelméleti módszerekkel lehet leírni, csak statisztikus jellemzőit
(középérték, szórás, stb.) lehet megadni. Nem lehet azt mondani, hogy
a jel „ilyen”, hanem csak azt, hogy „adott valószínűséggel ilyen szokott
lenni”. Determinisztikus jel pl. egy adott paraméterekkel (amplitúdó,
impulzusszélesség) rendelkező négyszög alakú feszültségimpulzus (fel-
téve, hogy a paraméterek értékét nem befolyásolják véletlenszerű ef-
fektusok). Ugyanakkor sztochasztikus jel pl. a júniusi napi középhő-
mérsékletek sorozata, minthogy az évről-évre véletlenszerűen ingado-
zik.
Képezhető még a jeleknek egy természetes, ám triviális felosztása: a jel-
hordozó mennyiség szerinti osztályozás. E vonatkozásban annyiféle jelről
beszélhetünk, ahányféle fizikai mennyiség létezik. Az irányítástechnikai
gyakorlatban a leggyakrabban (és egyre inkább) villamos jeleket (feszült-
ség, áram, impedancia) használnak. Ebből aztán úgy tűnik, hogy az irányí-
tástechnika a villamos szakma inherens része, és irányítani csak villamosan
lehet. Ez egyáltalán nem így van; a villamos jelek nagyfokú dominanciájá-
nak oka az, hogy ezek átvitele és feldolgozása sokkal egyszerűbb és gazda-
ságosabb, mint más jeleké, és a jelfeldolgozás technikai apparátusa jelenleg
itt a leggazdagabb és a legkifinomultabb (pl. elektronikus számítógép).
Az irányítási rendszerben a működés során az információ okságilag
szigorúan meghatározott irányban - az un. hatásirányban - áramlik. Az
irányító rendszer egyes szerkezeti részei, (berendezései, szervei) elemi jel-
feldolgozó, jelátalakító műveleteket végeznek. Ezek összességének ered-
ményeként valósul meg az irányítás. A rendszer működésének elméleti
vizsgálatakor az egyes szerkezeti elemeket olyan absztrakt modellel helyet-
tesítik, amely nem ad számot az elem felépítésének és fizikai működésének
konkrét jellemzőiről, hanem csak a jelátviteli tulajdonságokra terjed ki. Ezt

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 14 ►


Számítógépes folyamatirányítás A feladat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 15 ►

a modellt tagnak nevezik. Az egyes tagokat információátviteli csatornák -


jelvezetékek - kapcsolják össze egymással, így az irányítási rendszer funk-
cionálisan egy jelátviteli hálózatnak tekinthető. Az információáramlás kö-
tött iránya miatt minden tag két kitüntetett, fel nem cserélhető ponttal - a
bemenettel és a kimenettel - rendelkezik. A jel a bemeneti ponton lép be
a tagba, majd a tag által megváltoztatva a kimeneten távozik (0-4. á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.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 15 ►


Számítógépes folyamatirányítás A feladat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 16 ►

0.3. A szabályozási kör


Az alábbiakban részletesebb kvalitatív elemzéssel közelebbről is meg-
vizsgáljuk a szabályozási rendszer működését.
A technológiai folyamatok szabályozása az un. szabályozási körben va-
lósul meg. (Az elnevezés arra utal, hogy az információ zárt hurokban
áramlik.) A szabályozási kör (Hiba! A hivatkozási forrás nem találha-
tó.) a szabályozott és a szabályozó rendszer összekapcsolt együttese. A két
rész kapcsolatát jeláramlás biztosítja.

0-4. ábra

A szabályozott rendszer a technológiai célt, működést megvalósító


berendezések, objektumok összessége, amely a szabályozó rendszerrel
szemben elsődleges és eleve adott. Ezért a szabályozó rendszert úgy kell
megtervezni, hogy az illeszkedjék a meglévő technológiai folyamathoz.
A szabályozó rendszer több szerkezetileg és funkcionálisan külön-
böző szervből épül fel. Ezek közül az érzékelő, a különbségképző és a
beavatkozó szerv alapvető fontosságú és minden szabályozási körben nél-
külözhetetlen, hiszen ezek az irányítás három aktusát realizálják. A többi
szerv (a szabályozó, vagy más néven: jelformáló, valamint a végrehajtó
szerv) bár gyakorlatilag fontos, elvileg csak másodlagos funkciót lát el, így
esetenként (a jelformáló csak igen ritkán) nélkülözhető.
A szabályozásnak - mint minden irányításnak - az a célja, hogy a fo-
lyamat kívánt állapotát előidézze, illetve fenntartsa. A folyamat állapota
gyakran (de nem mindig!) kielégítően jellemezhető egyetlen fizikai mennyi-
ség, egyetlen állapotjelző aktuális értékével, így a kívánt állapot is jelle-
mezhető ugyanennek a fizikai mennyiségnek egy adott értékével. A fo-

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 16 ►


Számítógépes folyamatirányítás A feladat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 17 ►

lyamat állapotának e leglényegesebb, a végtermék minősége szempontjából


alapvető jellemzőjét szabályozott jellemzőnek, e mennyiség előírt, kívánt
értékét pedig alapértéknek nevezzük. Új fogalmainkkal a szabályozás
lényegét a következőképpen határozhatjuk meg:

a szabályozás célja az, hogy a szabályozott jellemző a zavaró hatások elle-


nére az alapértéken stabilizálódjék, vagy minél jobban, alakhűen kövesse
az alapérték szándékolt, üzemszerű változásait.

A mondottakban implicite az is bennfoglaltatik, hogy a szabályozott


jellemző következmény, tehát kimenőjel (a szabályozott rendszer kimenő-
jele). Felmerül a kérdés: mik a szabályozott rendszer bemenőjelei. Nos,
nyilván az okok, vagyis azok a mennyiségek, amelyek a szabályozott jel-
lemző értékét befolyásolják. A befolyásolásnak a technológiai folyamat
szempontjából két módja lehet. Egyrészt nem kívánatos, káros hatás,
másrészt a cél irányában ható szándékos befolyás. A szabályozott jellemző
általában mindig több változó függvénye. Ezek közül mindig kiválasztha-
tunk (és ki is kell választanunk) egyet, melynek változtatását a szabályozó
rendszer hatáskörébe utaljuk, amellyel tehát a szabályozó rendszer a kívánt
irányban és mértékben változtatja a szabályozott jellemzőt. E változót
módosított jellemzőnek nevezzük, ez az, amely által létrejön a beavat-
kozás. A szabályozott jellemzőt befolyásoló többi változó egyike sem áll a
szabályozó rendszer felügyelete alatt, azok értékét és változását a környe-
zet determinálja. E mennyiségek változása a szabályozott jellemző nem
kívánatos megváltozását eredményezi, ezért ezeket zavarójellemzőknek
nevezzük.
A szabályozott jellemzőre ható változók (jelek) közül lényegében ön-
kényesen választhatjuk ki azt, amelynek a módosított jellemző szerepét
szánjuk. A kiválasztásnál azonban két szempontot feltétlenül figyelembe
kell vennünk. Egyrészt, módosított jellemző csak olyan mennyiség lehet,
amelyet a szabályozó rendszer képes változtatni (pl. egy szoba hőmérsék-
letének szabályozásakor nem lehet módosított jellemző a külső hőmérsék-
let); másrészt, célszerű olyan mennyiséget választani, melynek változására
a szabályozott jellemző eléggé érzékeny (amely tehát hatékony beavatko-
zást biztosít). A módosított jellemző kiválasztása után az összes többi
olyan változó, amely a szabályozott jellemzőre hat, zavarójellemzővé válik.
A szabályozott rendszerre tehát bemenőjelként hat az xm módosított
jellemző, valamint az xzi zavarójellemzők. A rendszer kimenőjele az xs sza-

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 17 ►


Számítógépes folyamatirányítás A feladat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 18 ►

bályozott jellemző. Ennek pillanatnyi értékét (tényállapot) az érzékelő


szerv érzékeli és az aktuális értékre jellemző információt - esetleg más
fizikai hordozóra ültetve - eljuttatja a különbségképző szervhez. Az érzé-
kelő szervvel szemben támasztott alapvető követelmény, hogy kimenőjele
- az xe ellenőrző jel - arányos legyen a szabályozott jellemzővel és hűen
kövesse annak változásait. A különbségképző szerv feladata az alapjel
(xa) és az ellenőrző jel összehasonlítása, és a két jel különbségének továb-
bítása. Az alapjel az alapértékkel arányos, és lehet időben állandó vagy
változó. Az alapjel a szabályozási körre kívülről ható jel (a szabályozási kör
bemenőjele), amely külső referencia-jelforrásból származik. A különbség-
képzés feltétele az alapjel és az ellenőrző jel összehasonlíthatósága. Ez
csak akkor teljesül, ha mindkét jelet azonos fizikai mennyiség képviseli.
Az alapjel és az ellenőrző jel különbsége a rendelkező jel (xr), amely
arányos az alapérték és a szabályozott jellemző különbségével, és így a
köztük fennálló eltérés (hiba) irányára és mértékére jellemző. A rendelke-
ző jel a szabályozó szerv bemenőjele. A szabályozó szerv feladata a ren-
delkező jel erősítése, illetve bizonyos - a zárt kör dinamikai tulajdonságait
módosító - jelformáló funkciók ellátása. A szabályozó szerv kimenőjele a
végrehajtójel (xv), amely, ha elegendő teljesítményű és alkalmas jelhordo-
zójú, közvetlenül működtetheti a beavatkozó szervet. Ha nem, akkor a
végrehajtójel a végrehajtó szervre kerül, amely felerősíti, vagy más, al-
kalmas jelhordozóra ülteti. A végrehajtó szerv kimenőjele a beavatkozó
szervet közvetlenül működtető beavatkozó jel (xb). A beavatkozó szerv
létrehozza a módosított jellemző megfelelő értékét, az pedig közvetlenül
befolyásolja a szabályozott jellemzőt. Ezzel elérkeztünk kiindulási he-
lyünkre és bezárult a szabályozási hurok.
Újra leírjuk, mert rendkívül fontos:

A szabályozási körök általános strukturális jellegzetessége a szabályozott


jellemző negatív visszacsatolása. Ez eredményezi azt, hogy a szabályozott
jellemző bárminemű, bármilyen okból eredő, bármilyen irányú megválto-
zása olyan folyamatot indít meg, amely e változás ellen hat, azt csökkente-
ni, illetve visszafordítani igyekszik.

Az Olvasó életet lehelhet a szabályozási kört bemutató ábrába, és


nyomon követheti a hurok működését, ha gondolatban megváltoztatja a
szabályozott jellemző értékét. Meggyőződhet róla, hogy az visszaállni
igyekszik. Ugyanúgy meggyőződhet arról is, hogy ha az alapjelet változtatja

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 18 ►


Számítógépes folyamatirányítás A feladat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 19 ►

meg, akkor ez húzza magával a szabályozott jellemzőt. E gondolatkísérle-


tek alapján megtapasztalhatjuk, hogy a szabályozás értéktartásra és jelköve-
tésre egyaránt alkalmas.
A teljesség kedvéért lerajzoltuk még a vezérlési folyamat általános mű-
ködési vázlatát is (0-5. ábra).

0-5. ábra

Úgy véljük, a korábban mondottak fényében a működés nyilvánvaló, így


megjegyzést nem fűzünk hozzá.

0.4. A szabályozások fajtái


Noha a szabályozási körök működésének általános elvi jellemzői min-
den esetben azonosak, a felépítés és a működés konkrét formái többfélék
lehetnek. Az alábbiakban a teljesség igénye nélkül, néhány alapvető szem-
pont szerint csoportosítjuk a szabályozásokat.
A) Működési mód (a szabályozási körben terjedő jelek időbeli lefolyása
és értékkészlete) szerint az alábbi típusokat különböztetjük meg:
• A folytonos-folyamatos (klasszikus analóg) szabályozás estén a
szabályozási kör összes jele folytonos értékkészletű és minden pil-
lanatban fennáll.
• A szakaszos-folyamatos szabályozásokat szokás állásos szabá-
lyozásoknak is nevezni, utalva arra, hogy a szabályozási kör bizo-
nyos jelei csak diszkrét értékeket vehetnek fel.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 19 ►


Számítógépes folyamatirányítás A feladat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 20 ►

• A folytonos-szaggatott szabályozásoknál egyes jelek csak diszkrét


időpontokban vagy rövid időintervallumokban léteznek. Az ilyen
működést mintavételes működésnek is nevezik.
• Szakaszos-szaggatott működésről beszélünk, ha a szabályozási
kör egyes jeleinek nem csak az értelmezési tartománya, hanem az
értékkészlete is diszkrét halmaz. A digitális számítógépekkel meg-
valósított szabályozások mind ilyenek, mert a számítógép egyrészt
periodikus időpontokban vett jelmintákkal dolgozik, másrészt e
jelmintákat a gép - véges szóhosszúsága következtében - csak
diszkrét számértékek véges halmazára tudja leképezni.
B) Az alapjel időbeli lefolyása szerint megkülönböztetünk értéktartó és
követő (szervo) szabályozásokat. Az első esetben az alapjel időben ál-
landó, a másodikban pedig változó. A követő szabályozások alapjele
változhat valamilyen előre meghatározott program szerint, de változ-
hat egy külső jel (vezetőjel) hatására is.
C) A szabályozott jellemzők száma szerint a szabályozás lehet egyvál-
tozós vagy többváltozós. Az egyváltozós szabályozásnak egy szabá-
lyozott jellemzője és egy - azt befolyásoló - módosított jellemzője van;
a többváltozósnak mindkettőből több, de azonos számú. Többválto-
zós szabályozásra akkor van szükség, ha a technológiai folyamat álla-
pota nem jellemezhető kielégítően egyetlen állapotjelző mennyiséggel,
vagyis, ha egyidejűleg több mennyiséget kell állandó értéken tartani,
vagy előírt módon változtatni. Egy többváltozós szabályozást auto-
nómnak (függetlennek) nevezünk akkor, ha minden módosított jel-
lemző kizárólag a hozzá rendelt szabályozott jellemzőre hat. Ha ez
nem teljesül, a szabályozást kapcsoltnak mondjuk. A kapcsolt szabá-
lyozásoknál minden olyan módosított jellemző, amely több szabályo-
zott jellemzőt befolyásol, a sajátján kívül az összes többire nem kívána-
tos hatást gyakorol, így azok szempontjából zavarójellemzőként visel-
kedik. A többváltozós szabályozások megvalósítása során az elsődleges
feladat a szabályozott folyamat un. szétcsatolása, vagyis az említett ká-
ros, parazita jelkapcsolatok megszüntetése (ha ez egyáltalán lehetsé-
ges).

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 20 ►


Számítógépes folyamatirányítás A rendszer
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 21 ►

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. A számítógépes folyamatirányítás szintjei


A technológiai folyamatok működésének szervezeti kerete a vállalat, a
gyár. Ez a keret a kezelt információk szempontjából eléggé élesen két kü-
lönböző hierarchia-szintre tagolható (1-1. ábra).

1-1. ábra

A felső szintet a gazdasági irányítás vagy termelésirányítás szintje


képviseli. Az itt kezelt információk a vállalati tevékenység egészére, alapve-
tően annak globális, gazdasági aspektusaira jellemzők. Olyan információk
ezek, amelyek a vállalati tervezésre, a piacelemzésre, a beszerzésre, a kész-
letgazdálkodásra, az értékesítésre, a termelésprogramozásra, a pénzügyi
helyzetre, a munkaerő-gazdálkodásra, stb., stb. vonatkoznak. Ezeket az

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 21 ►


Számítógépes folyamatirányítás A rendszer
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 22 ►

információkat természetesen általában számítógépek dolgozzák fel, ám


ezek a számítógépek szokványos ügyviteli feladatokat látnak el és kevés,
vagy semmi közük a technológiai folyamat olajszagú világához.
Az alacsonyabb hierarchia-szint a technológiai irányítás szintje.
Ezen a szinten a technológiai folyamat működésével közvetlenül kapcsola-
tos, fizikai információk forgalma zajlik. Ide futnak be a folyamat, illetve a
környezet fizikai állapotát jellemző jelek és innen indulnak ki a folyamat
állapotát módosító beavatkozások. Ez a szint tovább tagolható bizonyos
alszintekre:
A) Felül helyezkedik el a felügyelői irányítás alszintje. Ennek feladatköre
megfelel a hagyományos vezénylőtermi funkcióknak. E szinthez az
alábbi feladatok kötődnek:
• analóg és digitális folyamatjelek mérése és regisztrálása,
• ellenőrzések,
• számított mennyiségek képzése,
• adattárolás és archiválás,
• adatmegjelenítés,
• adat- és eseménynaplózás,
• kezelői beavatkozások, beállítások, munkapontváltások,
• parancsok kiadása az alacsonyabb szint számára.
B) A felügyelői irányítás szintje alatt helyezkedik el egymás mellett a sor-
rendi irányítás, valamint a szabályozó irányítás alszintje.
• A sorrendi irányítás alszintjén valósul meg a vezérlő rendszerek
működtetése (bekapcsolás, kikapcsolás, léptetés, programváltás,
stb.). Ez a szint főként az un. szakaszos technológiákra jellemző,
ahol a végtermék szerelési lépések sorozatán keresztül, adagokban,
darabokban keletkezik
• A szabályozó irányítás alszintjéhez a szabályozási körök működte-
tése (vagy működése) kapcsolódik. A szabályozó irányítás főként
az un. folytonos technológiákra jellemző, ahol a termék folyamatos
átalakulás során képződik. Itt a fő cél a technológiai működés fo-
lyamatosságának fenntartása, bizonyos állapotjelzők állandóságá-
nak biztosítása, így a jellemző irányítási mód a szabályozás.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 22 ►


Számítógépes folyamatirányítás A rendszer
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 23 ►

Szűkebb, de igazibb értelemben akkor beszélünk számítógépes folyamat-


irányításról, ha a számítógép a technológiai irányítási szint valamely
alszintjén helyezkedik el, vagyis az ott megjelenő információkat dolgozza
fel, illetve az ott jelentkező feladatokat látja el.

A hierarchia-szintek és az elvégzendő feladatok jellemzői között bizo-


nyos összefüggés észlelhető. Általában egyre magasabb szinteken egyre
kevesebb a rutin-jellegű, periodikus feladat (vagy hosszabbak a periódus-
idők), egyedibb feldolgozási igények jelennek meg, egyre nagyobb a kezelt
adathalmaz és egyre nagyobb horderejű döntések születnek.
Egészen a közelmúltig általában a felügyelői irányítási szint számítógé-
pesítése volt a jellemző. Ennek fő oka az, hogy a hagyományos vezénylő-
termi irányítás infrastruktúrája, műszerbázisa már ki volt építve, így a szá-
mítógép ennek szerepét könnyebben vehette át. Újabban azonban egyre
inkább megfigyelhető, hogy a számítógép alsóbb szinten is megjelenik és a
sorrendi irányítás, valamint a szabályozó irányítás feladatkörét is átveszi
(részben vagy egészében kiszorítva a hagyományos vezérlő és szabályozó
berendezéseket).
Akárhol helyezkedik is el a számítógép a folyamatirányítás hierarchikus
rendszerében, real-time működésűnek kell lennie. Ez mindennél fonto-
sabb, alapvető követelmény.

Akkor mondjuk, hogy egy rendszer real-time (valós idejű) működésű, ha


az érzékelt adatok alapján meghozott döntés eredményeképpen létrejövő
beavatkozás még időszerű (vagyis hatásos).

(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).

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 23 ►


Számítógépes folyamatirányítás A rendszer
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 24 ►

1-2. ábra

Közvetett működés esetén mind a folyamat érzékelői (É) és a számí-


tógép bemenetei (I), mind a számítógép kimenetei (O) és a folyamat be-
avatkozó szervei (B) között kezelőszemély (K) tart kapcsolatot. A kezelő
leolvassa a folyamatjelek műszerrel mért értékeit, az adatokat valamilyen
hagyományos géptermi periféria segítségével beviszi a számítógépbe. A
számítógép előállítja a beavatkozási utasításokat, amelyeket szintén valami-
lyen hagyományos periférián közöl a kezelővel, aki ennek megfelelően
működteti a beavatkozó szerveket.
Ha a számítógép és a folyamat között legalább egy irányban közvetlen
kapcsolat van on-line működésről beszélünk. A csak egy irányú közvetlen
kapcsolatot (on-line open loop) általában az érzékelő ágban szokták ki-
alakítani. Itt a számítógép speciális input perifériákon keresztül kapja az
információt, míg a „veszélyesebbnek” tekintett beavatkozási művelet vég-
rehajtása továbbra is a kezelőszemély feladata (és felelőssége). Ha a be-
avatkozó ág is közvetlenné válik és a számítógép speciális output periféri-
ákon keresztül maga végzi a beavatkozást, zárt hurkú közvetlen üzem-

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 24 ►


Számítógépes folyamatirányítás A rendszer
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 25 ►

módról (on-line closed loop) beszélünk. Napjaink számítógépes folya-


matirányító rendszereire egyre inkább ez a kialakítás jellemző. A kezelő
személy tehát folyamatosan kiszorul az irányítási láncból, egyre inkább
csak szemlélővé válik, feladata arra korlátozódik, hogy felügyelje a műkö-
dés zavartalanságát, észlelje az esetleges meghibásodásokat és - némi
malíciózus túlzással - üzemzavar vagy katasztrófa esetén legyen kit lecsuk-
ni.
A kezelő szerepének eme rohamos csökkenése egyébként teljesen ért-
hető, ha arra gondolunk, hogy az idők során a számítógépek és egyéb be-
rendezések megbízhatósága rohamosan nőtt, és mára a korábban oly meg-
bízhatónak tűnő ember vált a rendszer legkevésbé megbízható elemévé,
legfőbb veszélyforrásává.
A perifériára szorult kezelőt a kezelő helyére került periféria pótolja…
A számítógép és a folyamat kapcsolatának egyre szorosabbra fűződé-
sét, majd közvetlenné válását egy új perifériacsalád megszületése és kifej-
lődése kísérte. Az un. folyamatperifériákról van szó, amelyek különböz-
nek minden más addigi perifériától, és amelyek input és output irányban
egyaránt lehetővé teszik a folyamat és a számítógép illesztését (a találko-
zást).
A szabályozó irányítás alszintjén a közvetlen zárt hurkú üzemmódnak
három, egyre szorosabb kapcsolatot képviselő realizációs formája van:
• A leglazább kapcsolatot az alapjel-állító irányítás (Set Point Control,
SPC) jelenti (1-3. ábra). Itt a számítógép még nem része a szabályozási
körnek, hanem a meglevő hagyományos, analóg szabályozási körök
számára ad alapjelet az aktuális igényeknek megfelelően.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 25 ►


Számítógépes folyamatirányítás A rendszer
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 26 ►

1-3. ábra

Szorosabb kapcsolatot jelent az a struktúra, melyben a számítógép belép a


szabályozási körbe, elvégzi a különbségképzést és a még mindig meg-
levő analóg szabályozók (jelformálók) számára előállítja a rendelkező
jelet (1-4. ábra). A zárt kör dinamikai profilját meghatározó jelformálás
itt még hagyományos eszközökkel (PID-szabályozó) történik.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 26 ►


Számítógépes folyamatirányítás A rendszer
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 27 ►

1-4. ábra

• A legszorosabb kapcsolatot a közvetlen digitális irányítás (Direct


Digital Control, DDC) valósítja meg (1-5. ábra). Itt a számítógép már
nem csak a különbségképző, hanem a jelformáló szerv szerepét is át-
veszi, kiszorítva a hagyományos analóg szabályozókat. A jelformálás
többé már nem fizikai eszközökkel, hanem algoritmikus úton, számítá-
sokkal valósul meg, a korábbiaknál lényegesen nagyobb lehetőségeket
teremtve.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 27 ►


Számítógépes folyamatirányítás A rendszer
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 28 ►

1-5. ábra

Megjegyezzük, hogy az érzékelő és a beavatkozó szervek önálló létét a


számítógép nem veszélyezteti; ezek mindig is meg fognak maradni, mert
feladatukat (folyamatos jelekkel való közvetlen kapcsolat) a digitális számí-
tógép nyilvánvalóan nem tudja átvenni.

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-

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 28 ►


Számítógépes folyamatirányítás A rendszer
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 29 ►

ipar) még egy-egy részfolyamatot önmagában is több számítógépből kiala-


kított un. szavazó rendszer irányít a biztonság növelése érdekében.
A több, összekapcsolt számítógépből álló rendszer adatátviteli háló-
zatnak tekinthető. Az adatátviteli hálózat információközlő (adó) és infor-
mációfogadó (vevő) egységek átviteli utakkal összekapcsolt, adott topoló-
giájú együttese. Folyamatirányító rendszerekben adó pl. az érzékelő, a táv-
adó, a számítógép kimenete, stb.; vevő pl. a beavatkozó szerv, a kijelző
műszer, a számítógép bemenete, stb. Ugyanaz a berendezés adó és vevő
funkciót is elláthat (pl. a számítógép).
Az alábbiakban áttekintjük a jellegzetes topológiai struktúrákat, megje-
gyezve, hogy itt most struktúraképző elemeknek csak komplett (periféri-
ákkal ellátott) számítógépeket tekintünk. Ezeket a jelen kontextusban szo-
kás ’állomás’-nak vagy ’terminál’-nak nevezni. A tárgyalás során röviden
megvizsgáljuk a meghibásodások hatásait és a bővítési lehetőségeket. (Bő-
vítésen csak struktúratartó bővítést értünk, amely megőrzi az
alaptopológia jellemzőit.)
A) A pont-pont struktúra (1-6. ábra) két állomás egyetlen lehetséges kap-
csolata. Ha az átviteli közeg megsérül, a rendszer atomizálódik, a kap-
csolatot igénylő funkciók kiesnek, de a részfunkciók épek maradnak.
Ha állomás esik ki, a rendszer-szintű, valamint a kiesett állomás által
ellátandó funkciók egyaránt megszűnnek. Struktúratartó bővítés nem
lehetséges (ugyanis akkor már három állomás lenne).

1-6. ábra

B) A busz struktúra esetében egy közös átviteli eszközre több állomás


párhuzamosan csatlakozik. Két változat létezik: a hierarchikus és a
nem-hierarchikus busz.
• A hierarchikus struktúrában (1-7. ábra) van egy kitüntetett (vezér-
lő) állomás, a többi pedig alárendelt. Az alárendelt állomások közti
kommunikációt a vezérlő állomás szervezi, időrendben, vagy prio-

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 29 ►


Számítógépes folyamatirányítás A rendszer
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 30 ►

ritás szerint. Ha alállomás esik ki, részfunkciók szűnnek meg. Ha a


vezérlő állomás esik ki, a rendszer szétesik, de a részfunkciók
megmaradnak. Ha a busz sérül meg, a vezérlő terminált tartalmazó
rész-busz ép marad, de a leszakadt rész elérhetetlensége miatt a
rendszer-szintű funkciók csorbulnak.
• A nem-hierarhikus struktúrában (1-8. ábra) nincs előre meghatá-
rozott kitüntetett egység. Itt bármely állomás átveheti a busz vezér-
lését, így mindig csak aktuális vezérlő van. Ez a szervezés az előző-
nél lényegesen bonyolultabb, ugyanis az állomásoknak állandóan
figyelniük kell egymás üzemkészségét (jelenlétét) és valamilyen al-
goritmus alapján ki kell választaniuk az aktuális vezérlőt. Viszont a
rendszer hibatűrőbb; a rendszer-szintű sérülések kisebb hatókörű-
ek. Ha az aktuális vezérlő kiesik, helyébe lép egy másik, így rend-
szer-szintű funkcióvesztés alig következik be. Aktuálisan nem-
vezérlő terminál kiesésekor a helyzet a hierarchikus buszéhoz ha-
sonló. Ha az átviteli közeg szakad meg, a rendszer két, önmagában
működőképes részre hasad.
Mindkét fajta busz telepítése viszonylag olcsó, bővítésűk egyszerű.

1-7. ábra

1-8. ábra

C) A csillag struktúrában (1-9. ábra) egy kitüntetett egységhez (központ)


külön-külön, önálló adatátviteli utakkal kapcsolódnak az egyes termi-

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 30 ►


Számítógépes folyamatirányítás A rendszer
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 31 ►

nálok. Az adatforgalmat a központ szervezi, bármely két terminál csak


a központon keresztül léphet kapcsolatba egymással. A buszhoz ké-
pest igen nagy előny, hogy itt egyidejűleg több állomás-pár kommuni-
kálhat. Ha a központ meghibásodik, a rendszer szétesik, vagyis a rend-
szer-szintű funkciók megszűnnek. Ha állomás esik ki, az általa ellátott
részfunkciók szűnnek meg. Ha az átviteli közeg sérül, akkor egy vagy
több terminál kiszakad a rendszerből, de ezek saját feladataikat to-
vábbra is ellátják. A csillag struktúra telepítése és bővítése egyaránt
igen költséges.

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-

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 31 ►


Számítógépes folyamatirányítás A rendszer
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 32 ►

het egy hierarchikusan rétegzett technológiai struktúrának. Ám ez in-


kább esztétikai szempont, mint közvetlen, gyakorlati előny.) A meghi-
básodások hatásának elemzése is bonyolult, nem választható szét a
gyökérelem és a végelem kiesése, minthogy a fa belsejében minden ál-
lomás mindkettő egyben. Általánosságban annyit lehet mondani, hogy
minél magasabb szintű (alacsonyabb sorszámú) elem hibásodik meg,
annál nagyobb a rendszert érő funkcionális veszteség. A kommuniká-
ciót úgy kell tervezni, hogy az egymással gyakori kapcsolatot igénylő
terminálok topológiailag közel essenek egymáshoz, azaz lehetőleg kö-
zös gyökérelemhez tartozzanak. A fa telepítésére és bővítésére ugyanaz
vonatkozik, mint a csillagéra. (Egyébként is a csillag egyszintes fának
tekinthető.)

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.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 32 ►


Számítógépes folyamatirányítás A rendszer
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 33 ►

Ilyenkor irányváltással bonyolítható le az adatforgalom. Ebből adódik


a hurok kiemelkedő hibatűrő képessége, hiszen egy szakadást (állo-
máskiesést) lényegében rendszer-szintű funkcióvesztés nélkül elvisel.
Telepítési és bővítési költségei nagyjából a buszéihoz hasonlók.

1-11. ábra

F) A teljesen összekapcsolt struktúrában (1-12. ábra) minden állomást


minden másikkal külön, önálló átviteli eszköz köt össze. Két állomás
között így nem csak a közvetlen út használható, hanem más állomáso-
kon áthaladó közvetett utak sokasága is. Egy-egy terminál kiesése a
többi struktúránál említettekhez hasonló következményekkel jár (loká-
lis funkcióvesztés), viszont egy, vagy akár több átviteli út sérülése észre
sem vehető. Így ez a struktúra rendkívül hibatűrő. Ennek azonban
nagy ára van, mert a telepítése és a bővítése egyaránt roppant költsé-
ges.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 33 ►


Számítógépes folyamatirányítás A rendszer
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 34 ►

1-12. ábra

Kell még szólni az egységek közötti adatátvitel eszközeiről és módjai-


ról. Itt a meghatározó szempont az, hogy milyen típusú (analóg vagy digi-
tális) jelet, mekkora távolságra, milyen irányú kapcsolattal és mekkora se-
bességgel kell átvinni.
Minthogy a jelfeldolgozás tipikusan villamos, a jelátviteli utak is villa-
mos vezetékek. Ezek lehetnek már meglévő, vagy kiépítendő vezetékek. A
meglévők a távíró és a távbeszélő vonalak. A távíró vonalakon a kétálla-
potú jelek közvetlenül (áram megléte, áram hiánya) vihetők át, ám vi-
szonylag kis sebességgel. A távbeszélő vonalon a bináris jel valamilyen
300…3400Hz közötti vivőjel modulálásával vihető át. A modulációhoz és
a jel visszaállításához (demoduláció) külön eszközök - modemek - haszná-
latosak. Az igényesebb, főként a nagyobb sebességű jelátvitelhez koaxiális
kábelek felhasználásával szélessávú, távolsági vezetékeket építenek ki.
Ezek igen drágák, viszont az átviteli sebesség a nagy sávszélességből adó-
dóan 105 bit/sec is lehet. Újabban egyre inkább terjednek az optikai ká-
belek is, azonban drágaságuk miatt alkalmazásuk még nem általános. Van
még egy különleges és érdekes jelátviteli eszköz, a közös memória. Ezt
egymáshoz közel levő (max. 1-2 méter) intelligens berendezések közti
adatátvitelre használják. Ez a megoldás (az un. memóriacsatolás) jellemző
a multiprocesszoros számítógépek felépítésére is. Az átviteli sebesség itt
rendkívül nagy, a rendszerbusz frekvenciájának megfelelő.
A felsorolt átviteli eszközök mind vezetékes jellegűek. A vezeték nél-
küli információátvitel a folyamatirányításban nem jellemző. Ennek oka

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 34 ►


Számítógépes folyamatirányítás A rendszer
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 35 ►

feltehetőn az, hogy az áthidalandó távolságok - egy-két kivételtől (pl. olaj-


távvezetékek szivattyúállomásai) eltekintve - általában kicsik.
Az egyidejűleg átvitt információ mennyisége szerint párhuzamos, illet-
ve soros átvitelt különböztetünk meg. A párhuzamos átvitel során a teljes
információ egyidejűleg halad át a csatornán. Analóg jeleknél más fajta átvi-
teli mód nem is lehetséges. Kódolt (digitális) információ esetén a párhu-
zamos átvitel azt jelenti, hogy a kódszó egyes bitjei külön vezetékeken,
egyszerre vivődnek át. A soros átvitelnél az egyes bitek egy vezetéken,
egymás után haladnak át. A párhuzamos átvitellel lényegesen nagyobb
sebesség érhető el, viszont megvalósítása jóval drágább.
Nagyobb adatmennyiség (több bájt vagy szó) a csatornán egymás után,
bizonyos ütemezéssel halad át. Az időzítés (ütemezés) szempontjából
szinkron, illetve aszinkron átviteli módot különböztetünk meg. A szink-
ron átvitelnél az adó és a vevő rögzített sebességgel, adott ütemfrekvencia
szerint működik az egyes információ-egységek átvitele között mindig azo-
nos idő telik el. Az aszinkron módban két adatelem átvitele között tetsző-
leges, változó hosszúságú időtartam telhet el, ezért ilyenkor az adateleme-
ket speciális bitekkel (start, stop bit) keretezni kell, hogy a vevőben egyér-
telműen azonosíthatók és szétválaszthatók legyenek.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 35 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 36 ►

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):

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 36 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 37 ►

2-1. ábra

• analóg bemeneti jelek,


• digitális bemeneti jelek,
• digitális kimeneti jelek
• analóg kimeneti jelek.
Az alábbiakban e jelek természetével, fajtáival foglalkozunk. Megje-
gyezzük, hogy az elkövetkezendő, hosszadalmas osztályozás egyáltalán
nem öncélú rendcsinálás, rakosgatós játék, ugyanis egy jel hovatartozása
alapvetően meghatározza az őt fogadni, vagy kiküldeni képes periféria
típusát, valamint a számítógépes feldolgozás módját. Egy konkrét számí-
tógépes folyamatirányító rendszer tervezésének egy korai fázisában el kell
készíteni az un. input- és output-listákat, melyekben fel kell sorolni min-
den egyes kezelendő folyamatjelet, annak fajtáját és a hozzá kapcsolódó
feldolgozási igényeket. (Egy-egy ilyen lista több száz, esetleg több ezer
tételt is tartalmazhat!) E nélkül még a rendszer konfigurálása sem képzel-
hető el.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 37 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 38 ►

2.1.1. Az analóg bemeneti jelek


E csoportba a folyamat analóg állapotjelzőiből jelátalakítással előállí-
tott egyenáram-, egyenfeszültség-, impedancia-, illetve frekvencia-
hordozójú jelek tartoznak. Az ’egyenáram’ és az ’egyenfeszültség’ kifeje-
zés természetesen nem stabilizált DC-t jelent, hanem lassan változó ára-
mot, illetve feszültséget.
Az egyenáram jelek szokásos, részben szabványos tartományai:
• 0….5 mA
• 0…20 mA
• 4…20 mA
A leggyakrabban alkalmazott un. élőnullás (4…20mA) áramtartomány
diagnosztikai eszközt biztosít, ugyanis a 0mA illegális jelérték és előfordu-
lása egyértelműen vezetékszakadásra utal.
Az egyenfeszültség jelek lehetnek:
• kis szintűek (1V alatt)
• nagy szintűek (1V felett)
Sok jelátalakító (pl. a hőelem) eredendően igen kis szintű (µV, mV nagy-
ságrendű) jelet szolgáltat, amely továbbítás előtt még erősítést igényel.
A feszültség- és az áramjelet szolgáltató jelátalakítók un. aktív átalakí-
tók, amelyek áramköri modellben generátornak tekintendők.
A legtöbb jelátalakító azonban passzív, ami azt jelenti, hogy a mérendő
mennyiséget valamilyen impedancia-jellemzőre (ellenállás, kapacitás, in-
duktivitás) képezi le, így az információt az impedancia értéke hordozza. E
mennyiségek csak segédenergiával táplált áramkörben mérhetők, így végül
is az impedancia-változás feszültségváltozásban jut kifejezésre (pl. mérő-
híd kimeneti feszültsége).
Néhány jelátalakító frekvencia jelet szolgáltat (a tipikus jeltartomáy:
10Hz…100kHz). E jeltípus előnyös tulajdonsága, hogy könnyen digitali-
zálható és kevéssé zavarérzékeny.
Talán szükségtelen, mégis megjegyezzük, hogy az analóg jeleket a szá-
mítógépes feldolgozás előtt digitalizálni kell. A digitalizáló eszköz (A/D
átalakító) bemenetére általában csak meghatározott tartományba eső fe-
szültség kapcsolható. Ezért az egyenfeszültség jel kivételével az összes
előbb említett villamos jelet még egy további átalakítási művelettel feszült-
séggé kell transzformálni. Ez az átalakítás általában már a számítógép ana-
lóg bemeneti perifériáján történik.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 38 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 39 ►

2.1.2. A digitális bemeneti jelek


E csoportba a folyamat digitális állapotjelzőiből előállított villamos je-
lek tartoznak. Ezek több szempont szerint osztályozhatók.
A) Időbeli lefolyás szerint megkülönböztetünk állapotjelet és impul-
zusjelet. Állapotjelről akkor beszélünk, ha az információt a jel ak-
tuális logikai értéke (0 vagy 1) képviseli (pl. az ajtó most csukva
van). Az állapotjel rendszerint tartósan fennáll és ritkán változik.
Az impulzusjel esetében az információ a kétállapotú jel állapot-
változásában (felfutó vagy lefutó él), illetve az egymás utáni álla-
potváltozások számában van (pl. az ajtó most becsukódott). Az
állapotjelet a feldolgozáskor elég lekérdezni, az impulzusokat vi-
szont a feldolgozásig tárolni kell, vagyis meg kell őket számolni.
Állapotjelként értelmezhető pl. egy végálláskapcsoló jele, impul-
zusként pl. a nyomógombok, darabszámlálók jelei.
B) Megjelenési forma szerint feszültségszint-, illetve kontaktusjelet
különböztetünk meg. A feszültségszint jelnél a két logikai értéket
meghatározott feszültségek képviselik, míg a kontaktusjelnél egy
érintkező nyitott vagy zárt állapota. A kontaktusjel érdekessége,
hogy az tekinthető áramjelnek (nyitott kontaktus - nem folyik
áram, zárt kontaktus - folyik áram), vagy akár impedancia-jelnek is
(nyitott kontaktus - nagy ellenállás, zárt kontaktus - kis ellenállás).
C) A jel értelmezése szempontjából szokás beszélni független bitek-
ről és összefüggő, kódolt bitcsoportról. A digitális jelek a számító-
gépbe általában nem külön-külön, hanem csoportokba rendezve
érkeznek. E csoportokat úgy alakítják ki, hogy méretük kompatibi-
lis legyen a gép szóhosszúságával. Független bitekről akkor be-
szélünk, ha a csoport egyes bitjei önálló jelentéssel bírnak. Ha bi-
zonyos bitek csak együtt értelmezhetők, vagyis egyedileg nincs je-
lentésük, akkor kódolt bitcsoportot alkotnak. Független bitek
képviselik pl. nyolc ajtó állapotát egy bájtban, míg kódolt bitcso-
port pl. két BCD-számjegy ugyancsak egy bájtban.
D) A jel funkciója szerint megkülönböztetünk ellenőrzött digitális je-
let, valamint megszakításjelet. A számítógépbe egy digitális jel két-
féleképpen kerülhet be. A legtöbb esetben a gép kezdeményez: a
feldolgozási folyamat egy adott fázisában lekérdezi a jelet. Azokat
a jeleket nevezzük ellenőrzött jeleknek, amelyek így kerülnek be a
számítógépbe. Vannak azonban olyan esetek (tipikusan: vészálla-
potok), amelyek tudomásulvétele, illetve a rájuk való reagálás nem

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 39 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 40 ►

tűr halasztást. A jel kikényszerítheti a számítógép azonnali figyel-


mét oly módon, hogy megszakítást (interrupt) okoz. Ilyenkor a fu-
tó program felfüggesztődik és a számítógép egy, a megszakítási
okhoz rendelt programot hajt végre, így reagálva a rendkívüli ese-
ményre. A megszakítást előidézni képes jelek a megszakításjelek.
2.1.3. A digitális kimeneti jelek
A digitális kimeneti jelekkel a számítógép olyan beavatkozásokat kez-
deményez, amelyeket kétállapotú jelekkel működtethető beavatkozó szer-
vek (pl. léptetőmotor, vezérelhető kapcsoló, stb.) hajtanak végre. A digitá-
lis bemeneti jelek kapcsán említett osztályozási szempontok - az utolsó
kivételével - értelemszerűen alkalmazhatók a kimeneti jelekre is.
Időbeli lefolyás szerint egy digitális kimeneti jel lehet fenntartott jel,
vagy impulzus. A fenntartott jel az állapotjel kimeneti megfelelője. Fenn-
tartott jelet igényelnek az olyan beavatkozó szervek, amelyek csak folya-
matos jellel működtethetők (pl. mágneskapcsoló, stb.). Impulzussal mű-
ködtethetők azok a digitális beavatkozó szervek, melyek bemenetén szám-
láló van, valamint azok az analóg beavatkozó szervek, melyek integráló
bemenettel rendelkeznek.
Megjelenési forma szerint itt is beszélhetünk feszültségszint-, illetve
kontaktus-jelről; míg értelmezés szerint független bitekről, illetve össze-
függő bitcsoportról. E jeltípusok értelmezése és jellemzői azonosak a
megfelelő bemeneti jelekéivel.
2.1.4. Az analóg kimeneti jelek
Analóg kimeneti jellel a folyamat analóg beavatkozó szervei működ-
tethetők. E jeleket két csoportba sorolhatjuk, vannak az un. valóságos
analóg kimeneti jelek és a digitális kimeneti jelből származtatott analóg
jelek.
A valóságos analóg jeleket a számítógép analóg output perifériáin lé-
vő D/A átalakítók kimenetén megjelenő feszültségek képviselik. Vagy
maguk ezek a feszültségek jutnak el beavatkozó szervekhez, vagy - alkal-
mas áramtartományba transzformálva - szabványos áramjelek formájában
működtetik a beavatkozókat. Tipikus értéktartományaik:
• egyenfeszültség:
• 0….5V,
• 0…10V;
• egyenáram:

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 40 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 41 ►

• 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.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 41 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 42 ►

Félreértés ne legyen: nem a technológiai folyamatra ható zavarokkal fog-


lalkozunk, hiszen ezek semlegesítése éppen az irányítás feladata. Mi itt az
irányító rendszert támadó zavarjeleket vizsgáljuk. Talán elsőre furcsa, de
egy olyan jel, amely a technológiai folyamatra zavarként hat, a vezérlő
rendszer számára hasznos jel (vagyis: folyamatjel), hiszen annak éppen ezt
a jelet kell érzékelnie.

A zavarjelek tanulmányozása és az elhárításukra irányuló törekvés ko-


rántsem csak a számítógépes folyamatirányítást érinti, egyáltalán nem e
szakma sajátos belterülete. Itt azonban fokozott jelentőségre tesz szert,
mert
• a számítógépes folyamatirányító rendszerekkel szemben nagyobbak a
minőségi elvárások, mint a hagyományosakkal szemben;
• a digitális jelfeldolgozás diszkrét-idejű jelmintákat, pillanatértékeket
kezel, a zavarok pedig elsősorban a pillanatértékeket torzítják;
• a hagyományos irányító rendszerekhez képest a kis helyre befutó jelek
száma lényegesen nagyobb, a megnövekedett jelsűrűség fokozza a jelek
kölcsönhatását, ami zavarként jelentkezik (egy jelnek ugyanis az a dol-
ga, hogy magát képviselje és nem az, hogy a másikra hasson!).
Az irányító rendszer - mint már említettük - információátviteli rend-
szernek is tekinthető, ennek megfelelően jelforrásokból, jelvevőkből és
csatornákból épül fel (2-3. ábra).

2-3. ábra

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 42 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 43 ►

A jelforrás kibocsátja a hasznos jelet, az áthalad a csatornán, ahol csatolás


révén bekerült zavar szuperponálódik rá, így a jelvevőhöz már torzult in-
formáció érkezik. (A zajforrást tekinthetjük parazita jelforrásnak, a csato-
lást pedig parazita csatornának is.) Az ábrából kiolvashatók a zavarelhárí-
tás elvi lehetőségei is: a zajforrás vagy a csatolás megszüntetésével meg-
akadályozható a zavarjel bejutása a mérőrendszerbe, a már bekerült zavar-
jel pedig a jelvevő elé tett szűrő segítségével eltávolítható. Eme lehetősé-
gek egyike sem realizálható ideális módon; általában mindegyiket meg kell
kísérelni, mert csak együttes alkalmazásuk hozhatja meg a kívánt ered-
ményt.
A fentieket villamos jelátviteli rendszerekre (a továbbiakban: mérő-
rendszerek) konkretizálva a következőket mondhatjuk. A jelforrás és a
zajforrás áramköri szempontból generátor, a jelvevő, a csatorna és a csato-
lás pedig impedancia. A csatorna és a jelvevő döntően rezisztív (ellenállá-
sos) jellegű, míg a csatolás a domináns fizikai hatás természetének megfe-
lelően konduktív, induktív, illetve kapacitív jellegű (vagy ezek kombináció-
ja) lehet.
A konduktív csatolás a zajforrás és a jelátvivő hálózat rendszerint átve-
zetés révén létrejövő rezisztív kapcsolata. Ennek csökkentése a jelve-
zetékek jó szigetelésével lehetséges.
• Az induktív csatolás a környező mágneses tér időbeli változásait köz-
vetíti; hatására a jelvezetékek alkotta vezető hurokban parazita feszült-
ség indukálódik. Az induktív csatolást a külső mágneses teret kizáró
mágneses árnyékolással lehet csökkenteni. A mágneses árnyékolás jó
mágneses vezetőből (ferromágneses anyagból) készült csővel vagy do-
bozzal alakítható ki (2-4. ábra).

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 43 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 44 ►

2-4. ábra

• A kapacitív csatolás a jelvezetékek és a környezet elektrosztatikus


kapcsolatát jelenti, vagyis azt, hogy a környezetben létrejövő töltés-
mozgások időben változó villamos teret hoznak létre, amely a jelveze-
tékekben is töltésmozgást eredményez. Ez a hatás elektrosztatikus
árnyékolással csökkenthető. Az árnyékolás nagyon jó villamos veze-
tőből készült fóliával alakítható ki (Gauss-kamra).
A mérőrendszerbe bekerült zaj eltávolítása (a hasznos jelről való utóla-
gos leválasztása) szűréssel kísérelhető meg. A szűrhetőség általános felté-
tele az, hogy a jel és a zaj domináns spektrális tartományai elkülönüljenek
egymástól. Ha ez nem teljesül, a zaj nem szűrhető.
2.2.1. A zavarjelek típusai
A zavarjeleket - a hasznos jelekhez hasonlóan - több szempont szerint
több típusba sorolhatjuk. Az alábbiakban ezeket tekintjük át.
2.2.1.1 Időbeli változás
Időbeli változás (vagy spektrumtartomány) szerint megkülönböztetünk
egyenfeszültségű (vagy kisfrekvenciás), váltakozó feszültségű, valamint
tranziens (nagyfrekvenciás) zavarokat.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 44 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 45 ►

• Az egyenfeszültségű zavarok (például, de nem mindig) a techno-


lógiai folyamat állapotának véletlenszerű, igen lassú ingadozásaiból
eredő, a mérőkörben megjelenő zavarok. Tipikus frekvenciatarto-
mányuk: 0…10-3Hz. E zavarokat a szabályozási folyamat maga ki-
szűri, így ezeket szabályozható zavaroknak is szokás nevezni. Lé-
nyegesen nagyobb gondot jelentenek a 10-3…1Hz tartományba
eső, lassú de már a szabályozás által el nem távolítható zavarok.
Ezek rendkívül nehezen szűrhetők, mivel frekvenciájuk közel esik
a technológiai folyamat jeleinek (hasznos jelek) frekvenciájához és
így a spektrális elkülönülés feltétele alig, vagy sehogy sem teljesül.
• A váltakozó feszültségű zavarjelek tipikusan hálózati eredetűek.
Frekvenciájuk a hálózati frekvencia, illetve annak néhány felhar-
monikus frekvenciája. Ezek jól szűrhetők, mert már lényegesen
gyorsabbak a folyamatjeleknél.
• A folyamatirányításban alig okoznak gondot a gyors (nagyfrekven-
ciás), un. tranziens zavarok. Ezek egyszerű eszközökkel, nagyon
jól szűrhetők, könnyen leválaszthatók a hasznos jelekről. (Ennek
kapcsán érdekes észrevenni a távközléstechnika és az irányítás-
technika világa között feszülő spektrális ellentétet. Ami az egyik te-
rületen említésre sem méltó, az a másikon súlyos gondok forrása,
és fordítva. Ezt szinte jelképesen tükrözi az a tény, hogy míg az
irányítástechnika erősítői tipikusan egyenfeszültség-erősítők, a táv-
közléstechnika erősítőinek bemenetén ott a soros kondenzátor a
kisfrekvenciás világ kizárására.)
2.2.1.2 A mérőkörben való megjelenés
A 2-5. ábra egy zajmentes mérőrendszert ábrázol.

2-5. ábra

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 45 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 46 ►

A jelforrás egy feszültséggenerátor, melynek forrásfeszültsége az UH


hasznos jel. A jelvevő, ha nagy bemeneti impedanciájú (ami általában tele-
sül), az UH feszültséget érzékeli. A hasznos jel változása a jelvevő bemene-
ti pontjainak potenciálját ellentétes irányban változtatja, vagyis a hasznos
jel un. ellenfázisú jel.
Ezt a mérőrendszert a zavarjelek két módon (két helyen) támadhatják
meg.
Ha a zavarjel generátora a jelforrással sorosan kapcsolódik (2-6. ábra),
akkor a zavarjel (UEF) a hasznos jelhez hasonlóan, ellenfázisban ve-
zérli a jelvevő bemeneti pontjait. Az ilyen módon ható zavart el-
lenfázisú (vagy soros) zavarnak nevezik.

2-6. ábra

A másik esetben (2-7. ábra) a zavargenerátor a hasznos jelet szállító két


jelvezeték közös pontja és valamilyen külső referenciapont közé
kacsolódik. (A referenciapont rendszerint a jelvevőnél lévő föld-
pont, az un. rendszerföld, RF.) A zavargenerátor UAF feszültségé-
nek változása a jelvevő bemeneti pontjainak potenciálját azonos
irányban tolja el, úgy mondjuk: azonos fázisú vezérlést képvisel. Az
ilyen módon ható zavart azonos fázisú zavarjelnek nevezzük.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 46 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 47 ►

2-7. ábra

Minthogy a jelvevő a bemeneti pontjai közé eső feszültséget érzékeli


(ezt értelmezi „hasznos jelnek”), az azonos fázisú zavarjel mindaddig ve-
szélytelen, míg a bemeneti pontok potenciálját azonos mértékben tolja el.
A két potenciál bemeneti pontok közé eső különbsége ilyenkor nulla, te-
hát a jelvevő semmit nem érez az azonos fázisú zavarjelből. Sajnos azon-
ban ez a feltétel a két jelvezeték mentén elhelyezkedő impedanciák egyen-
lőtlenségéből eredő aszimmetriák miatt soha nem teljesül, vagyis a két
bemeneti potenciál nem azonos mértékben tolódik el. Ekkor különbségük
már nem zérus, és ellenfázisú jelként jelentkezik, vagyis a hasznos jelre
szuperponálódik. Az azonos fázisú zavarjel tehát hajlamos ellenfázisú za-
varrá alakulni.
Az ellenfázisú zavarjeleknek két fajtáját különböztetjük meg. Vannak
az un. elsődleges (primer) ellenfázisú zavarjelek, amelyek már eleve
ellenfázisúként keletkeznek és épülnek be a mérőkörbe, és vannak az un.
másodlagos (szekunder) ellenfázisú zavarjelek, amelyek azonos fázisú
zavarjel átalakulásával jönnek létre.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 47 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 48 ►

2-8. ábra

Az említett zavarjelek adott, konkrét áramkörben (dezaktivizált jelfor-


rás mellett) mérhetők is, pontosabban két jól mérhető feszültségből (U1 és
U2) számíthatók (2-8. ábra):
U EF = U1 − U2
U1 + U 2
U AF ≈
2
A mérési eljárás során UEF összegzett értéke mérhető, egyes összetevői
nem választhatók külön. UAF-re a fenti képlet csak akkor ad jó közelítést,
ha UEF<<UAF.
Az azonos fázisú zavarjel ellenfázisúvá alakulásának mértékét egy vi-
szonyszámmal, a közösjel-elnyomással (Common Mode Rejection, CMR)
szokás jellemezni. Definíciója:
U AF
CMR = 20 lg [dB]
Uef
ahol Uef-be csak a szekunder ellenfázisú zavarjelek számítandók be. Zérus
CMR érték azt jelenti, hogy a teljes UAF ellenfázisú zavarként hat. Ha pl.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 48 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 49 ►

1V azonos fázisú zavarból 1mV ellenfázisú zavar keletkezik, a CMR 60dB.


Nyilvánvaló, hogy egy mérőrendszer annál jobb, minél nagyobb a CMR
értéke. Az ideális érték végtelen nagy lenne, de ez természetesen nem ér-
hető el.
Az alábbiakban néhány példát mutatunk a CMR számítására. A példák
egyrészt tanulságosak, mert a zavarelhárítással kapcsolatban fontos, álta-
lános következtetések vonhatók le belőlük, másrészt útmutatásul szolgál-
nak a gyakorlatban felmerülő, konkrét esetek áramköri elemzéséhez.
• Aszimmetrikus földelt jelforrás és aszimmetrikus földelt jelvevő
kapcsolata (2-9. á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

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 49 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 50 ►

függ a környezeti viszonyoktól (páratartalom, vegyi hatások, stb.) Az


ábra alapján, a feszültségosztó képletet alkalmazva, Uef-re az alábbi
összefüggést kapjuk:
R be
Uef = U AF (2.1)
R be + r + R H
A gyakorlatban fennálló nagyságrendi viszonyokat (r,RH igen kicsi, Rbe
igen nagy) figyelembe véve azt kapjuk, hogy
Uef ≈ UAF
vagyis
CMR=0!
Ez drámai eredmény. Ha a hasznos jel millivolt nagyságrendű (ami
nem ritka), a földpotenciál-különbség pedig volt nagyságrendű (ami
még óvatos becslés), akkor felmerül a kérdés, hogy a jelvevő tulajdon-
képpen mit is mér.

Levonható általános tanulság: aszimmetrikus mérőrendszert TILOS két


pontban leföldelni!

Akkor ne földeljük le két pontban a rendszert, szüntessük meg a jelvevőt a


rendszerföldhöz kötő galvanikus kapcsolatot! Így jutunk az egy pont-
ban földelt aszimmetrikus mérőrendszerhez (2-10. ábra).

2-10. ábra

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 50 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 51 ►

Az ábrán r1 és r2 a két vezeték - nem feltétlenül azonos - ellenállása, C11


és C22 pedig a vezetékek és a rendszerföld közötti kapacitív csatolás ki-
fejezői, a vezetékek mentén elosztott szórt kapacitások koncentrált-
paraméterű helyettesítői. A jelvevő és a rendszerföld galvanikus kap-
csolatának megszüntetésével ugyanis nem szüntettük meg az egyéb, ti-
pikusan kapacitív jellegű parazita leföldelődést. Ezen kívül még átveze-
tés is lehetséges a nem tökéletesen szigetelt vezetékek és a föld között,
különösen kémiailag agresszív környezetben.

Megtörtént eset: egy hallgatóleányka ártatlan angyalarccal megkérdezte,


miért nem veszik ki a generátorokból a belső ellenállást, ha az annyi gon-
dot okoz?

Nos, az előbb említett parazita elemeket sem lehet kivenni, mert be


sem tették őket. Ezek az elemek egy hatás kifejezői, és a hatás nem
szüntethető meg. A hatás nem azért lép fel, mert betettünk valamit;
hanem: azért, mert a hatás érvényesül, úgy kell gondolni, hogy ott van
valami, ami azt kifejezi.
A 2-10. ábra átrajzolásával egy számításra alkalmas áramköri modellt
kapunk (2-11. ábra).

2-11. ábra

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 51 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 52 ►

A pusztán nagyságrendi tájékozódást elősegítő, egyszerűbb számítás


érdekében feltételezzük, hogy a jelvevő bemeneti impedanciája végte-
len nagy, továbbá, minthogy nem kívánjuk vizsgálni a CMR frekven-
ciafüggését, Z11 és Z22 kifejezésében a frekvenciát egy közelebbről meg
nem határozott, alkalmas állandónak tekintjük. A 2-11. ábra alapján:
Uef=U1-U2,
azaz
⎛ Z11 Z22 ⎞
Uef = U AF ⎜ − ⎟=
⎝ Z1 + Z11 Z2 + Z22 ⎠
Z11Z2 − Z22 Z1
= U AF .
(Z1 + Z11 )(Z2 + Z22 )
Igazak az alábbi nagyságrendi becslések:
Z11 ≈ Z22
valamint
Z1,Z2 << Z11, Z22
A kapacitív impedanciákat Z-vel, a Z2-Z1 különbséget (aszimmetria-
impedancia) ∆Z-vel jelölve azt kapjuk, hogy
ΔZ
Uef ≈ U AF , (2.2)
Z
vagyis
Z
CMR = 20 lg
ΔZ
Az előző esethez képest a CMR radikális javulása tapasztalható (most
már elfogadható érték is lehet). Két módon is növelhető: a föld-
levezető impedanciák (Z) növelésével, illetve az aszimmetria impedan-
cia (∆Z) csökkentésével. Az előbbi jól szigetelt, kapacitásszegény veze-
ték alkalmazásával, az utóbbi az áramkör minél szimmetrikusabb ki-
alakításával érhető el. Látható, hogy a CMR végtelen nagy lenne, ha
nem lennének parazita impedanciák (vagyis ideális szakadás lenne a
vezetékek és a föld között), vagy ha a mérőkör teljesen szimmetrikus
lenne. Talán mondanunk sem kell, hogy mindkét lehetőség csak az
ideák világában létezik. Eleve aszimmetrikus rendszerben legalább arra

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 52 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 53 ►

kell törekedni, hogy újabb aszimmetriát ne vigyünk be, tehát például


egy egyszerű feszültségosztót a 2-12. ábra szerint kell kialakítani.

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

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 53 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 54 ►

A 2-13. ábra új elemei: rá a jó vezetőből készült külső védőárnyékoló


fólia ellenállása, Cv a belső védőárnyékolás és a földelt fém ház közti
szórt kapacitás. A C11 és a C22 nem új elemek, de ezek most nem a ve-
zetékek és a rendszerföld, hanem a vezetékek és a védőárnyékolás köz-
ti szórt kapacitások Értékük az előzőnél nagyobb lehet (ami nem ked-
vező), mert itt az elektródák közelebb vannak egymáshoz. A GU
(guard) jelöli a külső és a belső védőárnyékolás csatlakozási pontját.

2-14. ábra

Az áramkör teljes egészében magába foglalja a 2-11. ábra áramkörét,


ami azt jelenti, hogy Uef ugyanúgy számítható, mint ott. Ám most az
Uef nem a teljes UAF-ből, hanem annak csak egy drasztikusan leosztott
hányadából, UAF’-ből jön létre. Az UAF szempontjából Zá és Zv egy -
lényegében terheletlen - feszültségosztót képvisel (Z<<Z11,Z22 ). Tehát
2.2 szerint:
ΔZ
Uef = U′AF ,
Z
de
Zá Z
U′af ≈ U AF ≈ U AF á
Zá + Z v Zv

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 54 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 55 ►

hiszen Zá a jól vezető árnyékolás kis ellenállása, Zv pedig a belső ár-


nyékolás és a külső ház közti szórt kapacitásból származó igen nagy
impedancia. Így
Z ΔZ
Uef = U AF á ⋅ ,
Zv Z
azaz
Z Z
CMR = 20 lg v ⋅ ,
Z á ΔZ
vagy

Zv Z
CMR = 20 lg + 20 lg .
Zá ΔZ

A második tag az előző példában kiszámított CMR érték. Az első tag


az árnyékolás hatásaként létrejött nyereség, amely rossz esetben is leg-
alább 40…60dB. Így ennél a megoldásnál összességében kb.
120…140dB CMR érhető el, ami már nagyon jónak mondható.
Az áramköri modellből (2-14. ábra) azonnal látható, hogy a védőár-
nyékolást hogyan lehet tönkretenni, hatástalanítani:
• A GU pont leföldelése. (Ez Zv rövidrezárását jelenti, így
UAF’=UAF.)
• A külső és a belső védőárnyékolás össze nem kötése. (Ekkor Zá
helyett szakadás lesz, így UAF’=UAF.)
• A külső árnyékoló fólia megsértése. (Zá helyett szakadás lesz,
így UAF’=UAF.)
• Az árnyékolás le nem földelése FF-nél. (Zá helyett szakadás
lesz, így UAF’=UAF.)
Nos, akkor pontosan ezek ellenkezőjét kell tenni a hatásos árnyékolás
kialakítására!
Végül felrajzoljuk az ideális, tejesen szimmetrikus mérőrendszer áram-
köri modelljét (2-15. ábra):

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 55 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 56 ►

2-15. ábra

Itt az átviendő hasznos jel a szimmetrikus generátor két forrásfeszült-


ségének különbsége: UH=UH1-UH2, a jelvevő két (1 és 2) bemenete kö-
zött pedig ezzel arányos feszültség jelenik meg. Könnyen belátható,
hogy Uef akkor is nulla, ha a mérőrendszer RF-nél is és FF-nél is le van
földelve. Így itt a CMR két-pont földelés esetén is végtelen nagy.
2.2.1.3 Eredet
A következőkben a teljesség igénye nélkül áttekintjük a villamos mérő-
rendszerekben megjelenő zavarok tipikus okait; azokat a jelenségeket,
amelyek a leggyakrabban felelősek a zavarok kialakulásáért.
A) Csatlakozási potenciál: Különböző fémek érintkezésekor para-
zita helyi galvánelemek alakulnak ki, melyek egyenfeszültségű el-
lenfázisú zavarjeleket generálnak.
B) Termikus potenciál: Különböző fémek érintkezésekor (pl. for-
rasztási pontokon) az érintkező fémek eltérő hőmérséklete esetén
termofeszültség keletkezik (parazita hőelem), mely szintén primer
ellenfázisú zavarjel.
C) Átmeneti ellenállás: Bizonytalan érintkezés esetén az érintkező
felületek között ellenállás ingadozás lép fel, amely feszültséggene-
rátoros esetén időben változó soros zajt okoz. Különösen veszé-
lyes ez a jelenség digitális jelek továbbításakor, mert parazita im-

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 56 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 57 ►

pulzusokat kelthet, illetve a logikai szintek eltolódását eredmé-


nyezheti. Hasonlóan kritikus a földelési pontokon, valamint az ár-
nyékolás csatlakozásainál kialakuló érintkezési bizonytalanság.
Ilyenkor az áramkör hol leföldelődik, hol nem, illetve az árnyékoló
hatás váltakozva érvényesül, vagy nem.
D) Átvezetés: Hibás vagy megkopott szigetelőrétegek nemkívánatos
fémes érintkezéseket okozhatnak, vagy csökkenthetik az azonos
fázisú bemeneti impedanciákat (földlevezető impedanciák) és így
ronthatják a CMR értékét.
E) Elektromágneses indukció: Villamos teljesítmény vezetékek,
vagy erősáramú gépek hálózati frekvenciás, váltakozó mágneses tér
jön létre. Ez a mérőrendszerben - mint vezető hurokban - váltako-
zó feszültségű ellenfázisú zajfeszültséget indukál.
F) Elektrosztatikus kölcsönhatás: Egymáshoz közeli vezetékek
között szórt kapacitások révén jelentős elektrosztatikus csatolás
léphet fel. Az érintett vezetékek áramköri helyzetétől függően ez a
hatás megnyilvánulhat mind ellenfázisú, mind azonos fázisú zavar
formájában. E jelenség különösen nagyfrekvenciás jelek továbbítá-
sakor (modulációs jelátvitel) jelentős.
G) Be-, illetve kikapcsolási jelenségek: Nagy teljesítményű villa-
mos gépek indításakor, vagy leállításakor nagy áram-, illetve fe-
szültségváltozások jönnek létre. Ezek impulzusszerűen változó
elektromágneses teret gerjesztenek, amely csatolások révén zava-
rokat kelt a mérőkörben. E zavarok tipikusan rövid ideig tartó,
nagyfrekvenciás spektrális komponenseket tartalmazó un. tranzi-
ens zavarok.
H) Tápfeszültség-változás (tápforrásból eredő zavarok): A mérő-
rendszer jeladói és jelvevői általában elektronikus eszközök (erősí-
tők), melyek működése tápfeszültséget igényel. Ha a tápegységre
valamilyen zavar hat, az a tápfeszültség megváltozását eredmé-
nyezheti, ez pedig befolyásolja a jeladó kimeneti feszültségét (a
hasznos jelet). Ez a torzító hatás a jelre közvetlenül
szuperponálódó ellenfázisú zavarként jelentkezik.
I) Földpotenciál-különbség, földáramkörök: A földpotenciál-
különbségről korábban már szóltunk és azt is említettük, hogy két
pont földelése esetén földáramkör alakul ki. A földáramkörökben
gyakran igen nagy áramok folynak, mert a bennük foglalt jelveze-
tékek ellenállása kicsi. A nagy földáramok a mérőrendszer vezeté-

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 57 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 58 ►

keit elégethetik. Azt is láttuk, hogy a mérőrendszerekben a földpo-


tenciál-különbség eredendően azonos fázisú zavarjelként jelentke-
zik, de a két pontban földelt áramkörökben teljes egészében ellen-
fázisú zavarrá alakul, pontosabban akként fejti ki hatását.
2.2.2. A zajcsökkentés módszerei
A bemutatott példák és a korábban mondottak alapján a zajcsökken-
tés lehetőségeit és módjait az alábbiakban rendszerezve tekintjük át.
A) A zajforrás megszüntetése: Lehetőleg teljes körűen fel kell tárni a
mérőrendszerekre ható zavarokat és azok forrásait, és a konkrét hely-
zet elemzése után meg kell tenni a zavarok természetének, jellegének
megfelelő, lehetséges intézkedéseket. A zavarforrások egyébként csak
igen ritka esetben küszöbölhetők ki, hiszen azok gyakran a folyamat
szerves és nélkülözhetetlen részei; a zavarok keletkezése pedig leg-
többször a technológiai folyamat bár nemkívánatos, ám szükségszerű
velejárója, mellékhatása. (A Világegyetemet nem lehet kikapcsolni a
zajmentes jelátvitel érdekében.)
B) Egyetlen pont földelése: A földelés nem más, mint egy - a rendszer
összes jelfeldolgozó készüléke számára közös - viszonyítási alap, egy
bázispotenciál rögzítése. Minden mérőkört csak egy pontban szabad,
de egy pontban le is kell földelni. Az összes mérőkör számára egyet-
len, közös földpontot kell kialakítani, ahová a földelő vezetékek suga-
rasan (és nem sínezve!) futnak be.
C) Védőárnyékolás: A védőárnyékolás az elektrosztatikus kölcsönhatás-
ok kiküszöbölése, és a mérőrendszer legtöbbször kapacitív jellegű pa-
razita leföldelődésének hatástalanítása. A védőárnyékolást a jeladótól a
jelvevőig folytonosra kell kialakítani, és a közös földpontban le kell
földelni.
D) Szimmetrikus mérőkör kialakítása: A mérőrendszereket lehetőleg
szimmetrikus jeladóból és jelvevőből kell kialakítani és biztosítani kell
a vezetékágak szimmetriáját is. Tudomásul kell azonban venni, hogy ez
sokszor nem (ideálisan pedig soha sem) lehetséges. A szimmetrizálási
törekvések legfőbb akadályai az egyes jelátalakítók, jeladók. Sok olyan
jelátalakító van, amely az átalakítási folyamat fizikai természetéből
adódóan, egyszerűen aszimmetrikus generátorként szolgáltatja a hasz-
nos jelet. Ilyenkor nincs mit tenni, legfeljebb csak az, hogy gondos ki-
alakítással kerüljük a járulékos és nem szükségszerű aszimmetriák be-
építését az áramkörbe.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 58 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 59 ►

E) Galvanikus leválasztás: Ha egy mérőkört bármilyen oknál fogva


szükséges két pontban leföldelni, akkor gondoskodni kell arról, hogy
mégse alakulhasson ki földáramkör. Ez úgy érhető el, hogy a jeladó és
a jelvevő közti fémes kapcsolatot a jelátvivő csatorna egy adott pont-
ján megszakítjuk és az információt más fizikai hordozóhoz kapcsol-
juk. Ezt az eljárást galvanikus leválasztásnak nevezik. Sokféle galvani-
kus leválasztási mód létezik, az alábbiakban három jellegzetes és gya-
kori változatot mutatunk be.
• Repülőkondenzátoros leválasztás (2-16. ábra):

2-16. ábra

Ennél az eljárásnál a kondenzátor memória-tulajdonságát használ-


juk ki. A működés első fázisában a kondenzátor a jeladó kis kime-
neti ellenállásán keresztül T1=RHC időállandóval igen gyorsan fel-
töltődik az UH feszültségre. A jeladó+kondenzátor áramkör csak
egy pontban (FF) van földelve. A második fázisban a kondenzátor
átkapcsolódik a jelvevőre és annak nagy Rbe bemeneti ellenállásán
keresztül T2=RbeC időállandóval igen lassan sül ki (vagyis tartja a
jelet). A kondenzátor+jelvevő áramkör szintén csak egy pontban
(RF) van földelve. Az adó és a vevő között így egyik fázisban sem
alakul ki zárt földáramkör. Ez a megoldás főként viszonylag lassan
változó analóg jelek átvitelére használatos és járulékos funkcióként
még a folyamatos jel mintavételezését is elvégzi.
• Transzformátoros leválasztás (2-17. ábra):

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 59 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 60 ►

2-17. ábra

Váltakozó feszültségű jelek átvitelére a transzformátor közvetlenül


használható leválasztó eszköz. Egyenfeszültségű jelek átvitelénél
modulációs eljárást kell alkalmazni (lásd: ábra).
• Optikai leválasztás (2-18. ábra):

2-18. ábra

Az optikai leválasztás egy közös tokban elhelyezett fotodiódából és


fototranzisztorból álló un. optocsatolóval valósítható meg. Kétál-
lapotú jelek átvitelére használatos. Ha UH logikai „magas” szintű, a
dióda világít, a fototranzisztor vezet, így az A ponton logikai „ala-

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 60 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 61 ►

csony” szint lesz. Ha UH „alacsony” szintű, a dióda nem világít, a


tranzisztor lezár és az A ponton logikai „magas” szint jelenik meg.
E) Szűrés: A szűrés a mérőkörbe már bekerült zavarok utólagos, a jel
feldolgozását megelőző eltávolítása. Említettük, hogy a szűrhető-
ség feltétele a hasznos jel és a zavar spektrális elkülönülése. A szű-
rés megvalósítható fizikai elemekből felépített, megfelelő átviteli
karakterisztikájú áramkörökkel, vagy algoritmikus úton, digitalizált
jelmintákon végzett számítási műveletekkel. Az előbbi esetben
analóg, az utóbbiban digitális szűrésről beszélünk. A digitális
szűrés gyakran egy-egy analóg szűrő differenciálegyenletének nu-
merikus megoldása, vagy másképp fogalmazva: az analóg szűrő
működésének digitális szimulációja. Ennél azonban lényegesen
több is, mert algoritmikus úton olyan szűrési eljárások is megvaló-
síthatók, melyeknek analóg megfelelője fizikai realizálhatósági kor-
látok miatt nem készíthető el. A két módszer nem csak alternatívát
kínál, hanem bizonyos mértékig ki is egészíti egymást. Közép- és
nagyfrekvenciás jelek általában jól szűrhetők analóg eszközökkel
(pl. elfogadható méretű kondenzátorok használhatók), ugyanakkor
a digitális szűrésnél a mintavételi idővel kapcsolatos nehézségek
adódhatnak (lásd később). A kis frekvenciákon megvalósítandó
aluláteresztő jellegű szűrés (amely a folyamatirányításban felmerülő
leggyakoribb szűrési feladat) analóg módon csak nagyon körülmé-
nyesen valósítható meg (pl. hatalmas kondenzátorok szükségesek).
Itt a terep igazán a digitális szűrési eljárásoké.
A számítógépes folyamatirányító rendszerekben leggyakrabban al-
kalmazott analóg szűrők a nagyfrekvenciás zavarok (feszültségtüs-
kék) leválasztására kiválóan alkalmas, egyszerű, egy- vagy két-
időállandós, aluláteresztő RC alapkapcsolások (2-19. ábra). Ezeknél
bonyolultabb analóg szűrők rendszerint nem is szükségesek.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 61 ►


Számítógépes folyamatirányítás A folyamat
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 62 ►

2-19. ábra

Megemlítjük még, hogy a jel integrálása, pontosabban: integrál-


középértékének előállítása is szűrést jelent és ezt gyakran ki is
használják. Ennek egy tipikus alkalmazásáról később lesz szó (in-
tegráló A/D).

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 62 ►


Számítógépes folyamatirányítás A számítógép
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 63 ►

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.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 63 ►


Számítógépes folyamatirányítás A számítógép
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 64 ►

Tágabb és egyben gyakoribb értelmezés szerint (mondván: az előbb


említett gép nem jó semmire) a számítógép részének tekintik a rendszer-
busz külső meghosszabbítását a rá kapcsolódó perifériákkal és azok vezér-
lő egységeivel együtt. Az így értelmezett gép már komplett, képes adatok
fogadására és eredmények közlésére, vagyis nem csak magában és magá-
nak működik. (Eme utóbbi értelmezés szerint már részben jogos folya-
matirányító számítógépről beszélni.)
A perifériák a processzor és a külvilág kapcsolatát biztosító eszközök.
Két funkcionális elemből állnak: a perifériavezérlő egységből (control unit)
és a szűkebb értelemben vett perifériából. A vezérlő egység a
redszerbuszhoz kapcsolódik és logikai, valamint illesztési funkciókat lát el,
vezérli a periféria sajátos feladatát ellátó berendezést. A processzor a peri-
fériából csak a vezérlő egységet látja. A perifériavezérlők rendesen slave-
jellgűek, de egy-egy un. intelligens perifériavezérlő bizonyos rendszerek-
ben, bizonyos esetekben, masterré válhat. (Ilyenkor a processzor átmene-
tileg lemond a buszvezérlés jogáról és azt a perifériavezérlő egységre ru-
házza.) A szűkebb értelemben vett periféria elektromechanikus, vagy
elektronikus berendezés, nincs logikai funkciója, a perifériától elvárt sajá-
tos, konkrét tevékenységet végzi el (pl. nyomtat).

3.1. Rendszertechnikai struktúrák


A számítógép belső adatátviteli eszköze a rendszerbusz; a gép összes
funkcionális egysége a rendszerbusz köré szerveződik. A rendszertechni-
kai struktúrákat az egyes egységek buszhoz való viszonya jellemzi.
3.1.1. A buszrendszer
A busz egy vezeték-köteg, melynek egyes vezetékei adott logikai funk-
cióval bíró (adott jelentést hordozó), kétállapotú jeleket szállítanak. A busz
három részre tagolható: a címbuszra, az adatbuszra és a vezérlő buszra
(3-1. ábra).

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 64 ►


Számítógépes folyamatirányítás A számítógép
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 65 ►

3-1. ábra

A) A címbusz vezetékei a cím egyes bitjeit hordozzák. Szélessége a


megcímezhető (egyedileg azonosítható) elemek számától függ. Egy
n-szélességű címbusz esetén 2n eszköz azonosítható egyedi címmel.
A címbusz egyirányú, mindig az aktuális masterből (általában a
processzor) indul ki.
B) Az adatbusz vezetékei az adat egyes bitjeit hordozzák. Az adat-
busz szélessége a párhuzamosan átviendő bitek számától függ, és
kompatibilisnek kell lennie a processzor belső szóhosszúságával.
Potenciálisan kétirányú, aktuálisan mindig az éppen író (adó) esz-
közből indul ki és az olvasó (vevő) eszköz felé irányul.
C) A vezérlőbusz az adatforgalmat szinkronizáló és egyéb, sajátos je-
lentést hordozó jeleket szállító vezetékek összessége. Az egyes jelei
független biteket képviselnek. Szélességéről és a jelekről általános-
ságban nem sokat lehet mondani, az rendszerenként különböző.
Példaként bemutatunk egy múzeális, de tanulságos és máig nagyon
jellemző változatot, a mai processzor-csodák dédnagymamájával,
az Intel 8080 processzorral kialakított rendszer vezérlőbuszának
jeleit:
• RESET (be): a processzor alapállapotba hozása,
• Φ1, Φ2 (be): két, eltolt fázisú órajel,
• SYNC (ki): buszciklus kezdete (érvényes cím kiadva),
• READY (be): a megcímzett eszköz ’kész’ az adatátvitelre,

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 65 ►


Számítógépes folyamatirányítás A számítógép
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 66 ►

• WAIT (ki): a processzor vár a nem ’kész’ eszközre,


• HOLD (be): külső eszköz elkéri a buszvezérlés jogát,
• HOLD ACK (ki): a processzor átadja a buszvezérlés jogát,
• INT (be): külső eszköz megszakítást kér,
• INTE (ki): megszakítás engedélyezve,
• DBIN (ki): a processzor olvasni fog,
• WR (ki): a processzor írni fog.
3.1.2. A két-buszos struktúra
A korai számítógépekre jellemző, ma már nem használatos rendszer-
technikai kialakítás (3-2. ábra).

3-2. ábra

A memória és a külvilág felé két, önálló, egymástól elválasztott buszrend-


szer vezet. Az adatbuszok szélessége azonos, de a címbuszoké általában
különböző. A vezérlőbuszok sem egyformák, más-más jeleket hordoznak.
A processzor kénytelen minden adatátviteli folyamatban aktívan részt
venni, vagyis minden ilyen folyamatot neki kell szerveznie; a perifériák

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 66 ►


Számítógépes folyamatirányítás A számítógép
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 67 ►

nem férhetnek közvetlenül a memóriához. Ez a processzoridő felhaszná-


lása szempontjából kedvezőtlen, hiszen a processzor fő feladata nem az
adatforgalom szervezése. A periféria- és a memóriacímek formailag kü-
lönbözőek, így a processzor utasításkészlete heterogén, két nagy részhal-
mazra hasad. Vannak un. memóriareferenciás utasítások, ezek operandusai
csak memóriabeli szavak lehetnek, és vannak un. perifériareferenciás utasí-
tások, melyek operandusként csak perifériális regiszterekre hivatkozhat-
nak. Ez programozástechnikai szempontból kényelmetlen.
3.1.3. A közös-buszos (UNIBUS) struktúra
Ma már (régóta) ez az egyeduralkodó rendszertechnikai kialakítás (3-3.
á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ó-

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 67 ►


Számítógépes folyamatirányítás A számítógép
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 68 ►

barát számítógépek a DEC PDP-11 gépcsaládjának tagjai voltak (’70-es


évek közepe). A cég ma már nem létezik…

A számítógép összes funkcionális egysége egyetlen, közös buszra csat-


lakozik. A címtartomány egységes, bizonyos címek memóriabeli szavakat,
mások perifériális regisztereket azonosítanak (memóriába ágyazott I/O).
A perifériavezérlő egységek közvetlenül elérhetik a memóriát, így egyes
perifériák és a memória között olyan adatátviteli folyamatok is lebonyolít-
hatók, amelyek nem igénylik a processzor aktív közreműködését (DMA).
Ilyenkor a processzor jóváhagyásával valamelyik erre alkalmas perifériave-
zérlő időlegesen átveheti a busz vezérlését (masterré válhat) és az adatátvi-
tel ideje alatt a processzor olyan tevékenységeket végezhet, melyekhez
nem szükséges a busz (pl. számítási műveletek).
A processzor utasításkészlete egységes, elvileg bármely utasítás bár-
mely operandusa a rendszer bármely címezhető eleme lehet. Ez a körül-
mény programozástechnikai szempontból rendkívül előnyös.

3.2. A processzorok jellemzői


A processzorok számtalan jellemző tulajdonsága közül az alábbiakban
a felhasználói, programozástechnikai szempontból leglényegesebb jellem-
zőkkel foglalkozunk.
3.2.1. A szervezés
Szervezés alatt a processzor által az aritmetikai és a logikai műveletek
során egyidejűleg (párhuzamosan) feldolgozott bitek számát, a gépi szó
hosszúságát értjük. A processzorhoz csatlakozó memória szervezésének,
(az egy címen elérhető adat mennyiségének), valamint az adatbusz széles-
ségének ezzel kompatibilisnek kell lennie. (Így tulajdonképpen inkább a
számítógép szervezéséről beszélhetnénk.) Négy alapvető változat van: a
bit-, a bájt-, a szó- és a kombinált szervezés. A bitszervezésnek inkább
csak elvi jelentősége van. Szószervezésnél a gépi szó hosszúsága általában
binárisan kerek szám (16 bit, 32 bit, stb.) A szószervezés igen gyakori spe-
ciális esete a bájtszervezés, ahol a gépi szó hosszúsága 8 bit. Nemrég még
a folyamatirányítás területén az ilyen processzorok voltak a legelterjedteb-
bek. A kombinált szervezés azt jelenti, hogy a processzor bizonyos gépi
utasítások végrehajtása során rövidebb, míg más utasításoknál hosszabb
adatokkal dolgozik. A nagyobb adatelem hossza a rövidebbének általában
binárisan kerek számú többszöröse. A kombinált szervezésnél memória-

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 68 ►


Számítógépes folyamatirányítás A számítógép
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 69 ►

címzéskor elérhető a teljes adat és annak önállóan címezhető részei is.


Tipikus eset: 32 bites szó, 4 bájtra osztva.
3.2.2. Adatábrázolás
Az adat a gépi szóban elhelyezkedő bitek sorozata, melynek önmagá-
ban jelentése nincs. Értelmezése, valamint a gépi szó esetleges
struktúrálása a feldolgozó program feladata. (Ugyanaz a bitminta különbö-
ző programok számára különböző jelentéstartalmat hordoz.) Ilyen érte-
lemben az adatábrázolás kötetlen, a gépi szóban bármi lehet. Vannak
azonban olyan gépi utasítások, a bitsorozat bizonyos struktúráltságát, va-
gyis értelmezik az adatot. Az ilyen utasítások (pl lebegőpontos aritmetikai
műveletek) kötött adatformátumot igényelnek, vagyis a gépi szó bizonyos
helyein adott értelmű adatelemnek kell lennie. Ellenkező esetben az utasí-
tás végrehajtásakor hibás eredmény keletkezik.
3.2.3. A regiszterek
A regiszterek a processzorba integrált, gyors elérhetőségű belső
tárolóelemek. A gyors elérhetőség abból adódik, hogy olvasásukkor vagy
írásukkor nem kell időigényes buszciklust lebonyolítani. A regiszterek
hossza általában megegyezik a gépi szó hosszúságával, de vannak ennél
hosszabb és rövidebb regiszterek is. Léteznek un. általános célú, valamint
un. speciális célú regiszterek.
Az általános célú regiszterek tartalmát a processzor nem értelmezi
tehát bennük úgymond: bármi lehet, vagyis a programozó szabadon, akár-
milyen adat tárolására használhatja őket. Általános célú regiszterek nélkül
elképzelhető ugyan processzor, de az olyan is, hiszen a regiszterek rendkí-
vül hasznos programozástecnikai eszközök. Mondhatjuk, hogy egy pro-
cesszor annál jobb, minél több univerzális regisztert tartalmaz.
A speciális célú regiszterekkel más a helyzet. Ezek tartalmát a pro-
cesszor meghatározott módon értelmezi, tehát nem mindegy, hogy mi van
bennük. Az ilyen regiszterekhez a programozó csak speciális módon
(meghatározott utasításokkal) férhet hozzá, egyesekhez pedig sehogy.
Durva programhibák forrása lehet, ha nem az előírt módon és célra hasz-
náljuk őket. Speciális célú regiszterek nélkül nem képzelhető el működő-
képes processzor, és minél komplexebb egy processzor, annál több ilyen
regisztert tartalmaz.
A speciális regisztereket két csoportba szokás sorolni, vannak un. adat-
regiszterek és vannak un. címregiszterek. (Az elnevezés nem túl szeren-
csés, mert a cím is tekinthető adatnak.) Az adatregiszterek hossza meg-

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 69 ►


Számítógépes folyamatirányítás A számítógép
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 70 ►

egyezik a gépi szó hosszával, a címregisztereké pedig a címével. (Az utób-


biak általában hosszabbak, pl. bájt-szervezésű processzornál a cím rend-
szerint két-bájtos.)
Tipikus adatregiszterek:
• Akkumulátor (AC): az aritmetikai egység központi regisztere, az
aritmetikai és a logikai utasítások egyik (vagy egyetlen) operandusa.
• Utasításregiszter (Instruction Register, IC): az éppen folyamat-
ban lévő utasítás kódját tartalmazza.
Tipikus címregiszterek:
• Utasításszámláló (Program Counter, PC): a soron kövcetkező
utasítás címét tartalmazza.
• Stack-pointer (SP): a stack aktuálisan elérhető elemének (tetejé-
nek) a címét tartalmazza.
• Indexregiszterek: tömbelem elérésekor a tömb báziscímét (vagy
az elem indexét) tartalmazzák.
• Szegmensregiszterek: szegmentált memória alkalmazása esetén
az egyes memória-szegmensek báziscímét tartalmazzák.
Még egyéb speciális regiszterek is léteznek (az újabb processzorokban
egyre több van); az érdeklődő Olvasó egy-egy konkrét processzor felhasz-
nálói kézikönyvét tanulmányozva bőven találhat még példákat.
Megjegyezzük, hogy az említettek közül alapvető jelentőségű és min-
den processzorban elengedhetetlen az akkumulátor, az utasításregiszter és
az utasításszámláló megléte. A többi akkor szükséges, ha a processzor
hardveresen támogatja a stack-kezelést, a tömb-ábrázolást, illetve a memó-
riát logikai szegmensekre osztva használja. (A mai processzorok mind
ilyenek).
Vannak még különleges, egybites speciális regiszterek, ezek a fizikailag
egy-egy flip-floppal megvalósított un. jelzőbitek (flag-ek). Némelyikük az
aritmetikai műveletek eredményének jellegzetes tulajdonságait (előjel, nul-
laság, átvitel) jelzi, mások a processzor üzemállapotaival kapcsolatos, fon-
tos jelzéseket képviselik ( pl. megszakítás engedélyezve/tiltva, stb.). Álta-
lában az aritmetikai jelzőbitek képezik a programelágazásokat megvalósító
feltételes vezérlésátadó utasítások döntési alapját. Nélkülük nem lehetne
elágazó programot írni, ciklust szervezni, meglétük tehát elengedhetetlen.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 70 ►


Számítógépes folyamatirányítás A számítógép
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 71 ►

3.2.4. Utasításkészlet, utasítástípusok


Felhasználói (programozói) szempontból az utasításkészlet a procesz-
szor legfontosabb jellemzője. Egy gépi utasítás egy - a processzor által
közvetlenül elvégeztető - elemi művelet leírása. Az utasítások a gépi nyelv
szókészletét alkotják, minden, a gép számára értelmes mondat (végrehajt-
ható program) csak e szókészlet elemeivel fogalmazható meg.
Minden gépi utasítás két kérdésre: a MIT? és a MIVEL? (vagy HO-
VÁ?) kérdésekre válaszol. A MIT? kérdésre az utasítás kódrésze, a gépi
tevékenység leírása, a MIVEL? (HOVÁ?) kérdésre az operandusrész, a
műveletben résztvevő adatok kijelölése válaszol. Az utasításkészlet a gép
által közvetlenül elvégezhető műveletek összessége.
Egy program végrehajtása gépi utasítások egymás utáni végrehajtását
jelenti. A gépi működés alapegysége egy utasítás teljes végrehajtásának
tartama. Ezt utasításciklusnak nevezzük. Egy utasítás végrehajtása során
legalább egyszer, de - az utasítás jellegétől függően - gyakran többször is
kapcsolatba kell lépni a memóriával, vagy egy periféria-regiszterrel
(porttal). Az adatátvitel a rendszerbuszon zajlik le. Egy-egy ilyen átviteli
folyamat egy kisebb egységet képvisel, ezt gépi ciklusnak, vagy buszciklus-
nak nevezzük. A buszművelet meghatározott szabályok szerint zajlik le és
még kisebb egységekre tagolható. Ezzel elérkeztünk a gépi működés legki-
sebb egységéhez: az órajel-ciklushoz (vagy állapothoz). Ennél kisebb egy-
ség már nincs, hiszen a processzor egy szinkron sorrendi hálózat, és mint
ilyen, minden állapotváltozása az órajel valamelyik éléhez kötődik.
Tehát egy program végrehajtása: utasításciklusok sokaságának egymás
utáni végrehajtása. Egy utasításciklus végrehajtása: néhány gépi ciklus vég-
rehajtása. Egy gépi ciklus végrehajtása: néhány állapotváltozás lezajlása. A
programozó az utasításciklusig lát el; a gépi ciklusokat már nem, az állapo-
tokat pedig még kevésbé érzékeli. Ez azt jelenti, hogy a programozó az
utasításciklusokat, azok egymásutánját előírhatja (ez maga a programozás),
de a kisebb léptékű folyamatokra már nem lehet befolyása. Nagyon java-
soljuk az Olvasónak, hogy a fentiekhez kapcsolódóan tanulmányozza egy
konkrét processzor részletes felhasználói (vagy hardver) kézikönyvét.
Ajánljuk erre a célra az Intel 8080 processzort, amely ugyan ma már
múzeális darab, de még sok van használatban, és sokáig ő képviselte az
élvonalat. Különleges előnye, hogy rendkívül áttekinthető, és nagy tudo-
mánya ellenére is egyszerű a felépítése és a működése. Olyan, mintha ter-
vezésekor didaktikai szempontokat érvényesítettek volna.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 71 ►


Számítógépes folyamatirányítás A számítógép
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 72 ►

A gépi utasítások általánosságban nem túl sokat lehet mondani. Ahány


processzor, annyiféle utasításkészlet van. Természetesen minden alapvető
utasítást minden processzor megvalósít, de eltérő változatokban.
Az általánosan jellemző utasítások funkcionális szempontból az alábbi
csoportokba rendezhetők:
• adatmozgató utasítások,
• aritmetikai utasítások,
• logikai utasítások,
• forgató és toló utasítások,
• vezérlésátadó utasítások és
• egyéb utasítások.
Az adatmozgató utasítások adatátalakítást nem végeznek, csak az
adatok számítógépen belüli helyét jelölik ki, vagy változtatják meg. Szokás
ezt a csoportot (a tipikus mnemonikus nevek alapján) MOVE- vagy
LOAD-csoportnak is nevezni. Statisztikailag a leggyakoribb utasítások,
egy átlagos program utasításainak legalább a fele ilyen jellegű.
Operandusaik regiszterek, memóriarekeszek, perifériális regiszterek lehet-
nek, gyakran tetszőleges párosításban. Szimbolikus formájuk: S→D, ami
úgy értendő, hogy az S helyen (forrás) lévő adat átíródik a D helyre (cél).
Ebbe a csoportba tartoznak olyan speciális utasítások is, mint a stackbe
való írás (PUSH) vagy az onnan való olvasás (POP); ezek operandusa
általában csak regiszter lehet.
Az aritmetikai utasítások operandusaik között valamilyen aritmeti-
kai műveletet végeznek. Általában az egyik operandusnak a művelet előtt
az akkumulátorban kell lennie és az eredmény is ott keletkezik. A másik
operandus rendszerint bárhol lehet (regiszter, memória). A régebbi pro-
cesszorok aritmetikai készlete meglehetősen szegényes volt. Utasításszin-
ten csak fixpontos összeadást és kettes komplemens képzést tudtak vé-
gezni. E műveletek felhasználásával persze bármilyen aritmetikai művelet
megvalósítható, de csak viszonylag nagy és bonyolult programok segítsé-
gével, tehát nem közvetlenül, hanem szoftverrel. A mai processzorok már
mind a négy alapműveletet elvégzik, sőt, lebegőpontos aritmetikával is
rendelkeznek. Az aritmetikai csoport tipikus utasításai még a számláló
utasítások (inkrementálás, dekrementálás), ezek operandusa regiszter lehet.
A logikai utasítások operandusaik között logikai műveleteket végez-
nek. A művelet előtt itt is az egyik (vagy egyetlen) operandusnak az akku-
mulátorban kell lennie és az eredmény is ott keletkezik. Az operandusok

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 72 ►


Számítógépes folyamatirányítás A számítógép
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 73 ►

teljes gépi szavak és a művelet a szó minden bitjére végrehajtódik. Utasí-


tás-szintű szelektív bitkezelést általában nem valósítanak meg a processzo-
rok, így az ilyen feladatokat több utasítással (programmal) lehet megolda-
ni. A három logikai alapműveletet: az ÉS-, a VAGY-kapcsolatot, valamint
a negációt (komplementálás) minden processzor utasításkészlete tartal-
mazza. Ez azt jelenti, hogy a processzorok (természetesen) univerzális
logikai műveletvégző eszközök, hiszen a három alapművelettel bármilyen
logikai függvény megvalósítható. Ennek ellenére sok processzor utasítás-
készlete - redundáns módon - még egyéb logikai műveleteket is tartalmaz,
ami persze a programozó szempontjából kényelmes. Szinte általános pl. a
KIZÁRÓ-VAGY művelet megvalósítása.
A forgató és a toló (rotate, shift) utasítások operandusa mindig az
akkumulátor. Ezek az utasítások részben a szelektív bitkezelést segítik elő,
részben az aritmetikai utasítások kiegészítői, mert jól használhatók szorzó,
illetve osztó algoritmusok megvalósításában. A forgatás az akkumulátor
tartalmának saját magában, vagy az átvitel-biten (carry flag) keresztüli,
jobbra vagy balra történő, ciklikus eltolását jelenti. Az eltoláskor (shift) az
akkumulátor tolásirányú szélső bitje eltűnik és az ellenkező oldalon zérus-
bit kerül be.
A vezérlésátadó utasítások rendkívül fontos és általában népes cso-
portot alkotnak. Ide tartoznak azok az utasítások, melyek segítségével
program-elágazásokat lehet megvalósítani. Közös jellemzőjük, hogy az
utasításszámláló (PC) tartalmát módosítják (ez jelenti a vezérlésátadást).
Vannak ugró-típusú (JUMP-jellegű), szubrutinhívó (CALL-jellegű) és
szubrutinból való visszatérést biztosító (RETURN-jellegű) vezérlésátadó
utasítások. Rendszerint mindhárom típusnak vannak feltételes változatai,
sőt, van olyan processzor, amely - szinte pazarló módon - mindhárom
típus minden aritmetikai flag mindkét állapotára vonatkozó feltételes vál-
tozatát megvalósítja (pl. JZ: ugorj, ha zéró, JNZ: ugorj, ha nem zéró, CP:
szubrutinhívás, ha plusz, CM: szubrutinhívás, ha mínusz, stb.). Vannak
azért takarékosabb processzorok is. Több esetben csak a JUMP-nak van
feltételes változata, a CALL-nak és a RETURN-nek nincs.

Létezik még egy érdekes, indirekt megoldás. Egyes processzorokban csak


feltétel nélküli JUMP, CALL és RETURN van, viszont van feltételes uta-
sításkihagyó utasítás (SKIP). Itt úgy lehet feltételes elágazást létrehozni,

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 73 ►


Számítógépes folyamatirányítás A számítógép
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 74 ►

hogy a feltétel inverzét képviselő SKIP utasítással kihagyjuk, vagy sem a


feltétlen vezérlésátadó utasítást.

Például: JZ most_nulla = SNZ, JUMP most_nulla,

ahol JZ: ugorj, ha zéró, SNZ: hagyd ki, ha nem zéró.

Az egyéb utasítások csoportja különösen processzorspecifikus, hi-


szen ide olyan különleges utasítások tartoznak, amelyek az adott procesz-
szor speciális működési jellemzőivel kapcsolatosak. Ide sorolhatjuk (ha
vannak) a külön input/output utasításokat, a megszakítási rendszert enge-
délyező/tiltó utasításokat, a memóriaszegmenseket beállító utasításokat,
stb. És ide tartozik a minden processzorban meglevő „ne csinálj semmit”
utasítás (NOP) is. Ez a lázas semmittevés utasítása, mert a processzornak
ezt a semmit-tevést izzadva végre kell hajtania.
Újra javasoljuk az Olvasónak egy konkrét processzor gépkönyvének
alapos tanulmányozását. E nélkül ugyanis nem fogja eléggé megérteni és
egyáltalán nem fogja megérezni egy processzor lüktető működését. Az
utasításvégrehajtás mechanizmusának és a gépi utasításoknak az ismerete
manapság nem azért szükséges, hogy gépi nyelven programozzunk, hanem
azért, hogy megértsük a processzort. A magas szintű nyelvek steril csúcsai-
ról mindebből semmi nem látszik. És ha nem is jár közvetlen haszonnal,
az semmiképpen nem káros, ha valaki megért valamit.
3.2.5. A címzési módok
Az utasításokkal kapcsolatban korábban említett MIVEL? (HOVÁ?)
kérdésre az operandusok kijelölése, a címzés ad választ. Az operandusokat
különféleképpen adhatjuk meg, ennek lehetséges formái a címzési módok.

Ha meggondoljuk, egy két-operandusú utasítás (pl. összeadás) végrehajtá-


sához négy címet kellene megadni: a két operandus címét, az eredmény
címét és a következő utasítás címét. Valóban, ez volt a helyzet az un.
négycímű gépeknél. (Volt, mert ma már ilyenek nincsenek.) E gépek hal-
latlan előnye az volt, hogy a program egyes utasításait nem kellett sorban
egymás után írni és a memóriába sem kellett sorban betölteni, hanem ösz-
sze-vissza lehetett dobálni, hiszen minden utasítás tartalmazta a következő
címét. Ha kikötjük, hogy a műveletvégzés előtt az egyik operandusnak már

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 74 ►


Számítógépes folyamatirányítás A számítógép
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 75 ►

az aritmetikai egység adatregiszterében, az akkumulátorban kell lennie,


akkor ennek megadása elmaradhat (háromcímű gép). Ha azt is kikötjük,
hogy az eredmény is az akkumulátorban marad (hiszen úgyis ott keletke-
zik), akkor ezt sem kell megadni (kétcímű gép). Végül, ha bevezetünk egy
speciális regisztert, amely nyilvántartja, hogy a program végrehajtása hol
tart (vagyis kijelöli a következő utasítás címét), és amelyet a processzor az
utasításciklus során automatikusan inkrementál (ez az utasításszámláló, a
PC), akkor már csak egy operandust kell megadni. Ez a jelenlegi, un. egy-
című gép. Természetesen itt külön utasításokkal kell gondoskodni az egyik
operandus akkumulátorba-töltéséről, illetve az eredmény áthelyezéséről.

Az egyes processzorok által biztosított különböző címzési lehetősége-


ket a programozó nagyon jól kihasználhatja: növelheti az adatelhelyezés
rugalmasságát, áttekinthetőségét, az adathalmaz strukturáltságát, javítva
ezáltal a program hatékonyságát. A címzési módoknak különböző szem-
pontok szerint több csoportja létezik. (Természetesen nem minden pro-
cesszor biztosít minden lehetőséget.)
A) Az operandus elhelyezésének szabadságfoka szerint
• azonnali (immediate),
• közvetlen (direct) és
• közvetett (indirect)
címzésről beszélünk.
Az azonnali címzésnél az operandus értéke az utasítás része. Ez az
érték a program írásakor rögzül és futáskor végig állandó marad.
A direkt címzésnél az operandus memóriabeli helyét (az operandust
tartalmazó memóriarekesz címét) adjuk meg. Futáskor az adat helye ál-
landó marad, de értéke változhat.
Az indirekt címzésnél egy pointert adunk meg, amely az adat helyére
mutat, vagyis a cím címét határozzuk meg. Futáskor itt már nem csak
az adat értéke, hanem helye is változhat.
B) Attól függően, hogy a cím egészét, vagy csak egy részét adjuk meg,
beszélünk abszolút, illetve relatív és indexelt címzésről.
Az abszolút címzésnél az operandus teljes címét adjuk meg.
A relatív és az indexelt címzés hasonló; mindkettőnél a címnek csak
egy részét, egy báziscímhez képesti eltolást kell megadni. A teljes címet
a processzor futás közben automatikusan generálja a báziscímből és az
eltolás értékéből. Relatív címzésről akkor beszélünk, ha a báziscímet

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 75 ►


Számítógépes folyamatirányítás A számítógép
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 76 ►

tartalmazó regiszter az utasításszámláló (PC), indexelt címzésről pedig


akkor, ha a báziscím egy indexregiszter tartalma.
Talán szükségtelen, mégis megjegyezzük, hogy működés közben a
címbuszon mindig teljes címnek kell megjelennie. A fentiek csak arra
vonatkoznak, hogy a teljes cím meghatározása egészében, vagy csak
rézben a programozó feladata.
C) Végül, ha az aktuális címet előállító regiszter tartalmát a processzor
felhasználás előtt automatikusan eggyel csökkenti, vagy felhasználás
után eggyel növeli, autodekrementáló, illetve autoinkrementáló
címzésről beszélünk. E mód programozó általi előírása előnyösen
használható pl. egy táblázat elemein való végiglépkedés során. A
stackre vonatkozó műveletek is implicit autodekrementáló (PUSH) és
autoinkrementáló (POP) címzési módot használnak.
A fenti három szempont szerinti különböző csoportokba tartozó címzési
módok a processzor által biztosított keretek között egy mással kombinál-
hatók. Így pl. beszélhetünk indirekt, indexelt címzésről, ahol az operandus
címének a címe van megadva (indirekt), de ez a cím egy táblázat adott
indexű eleme (indexelt).

3.3. Kiemelkedő jelentőségű programozástechnikai


eszközök
Mindenek előtt, elnézést kérek a semmitmondó és nyögvenyelős cí-
mért. Sokat gondolkoztam rajta, nem találtam jobbat. De ez a kisebb baj.
A nagyobb az, hogy ráadásul az érintett témák kiválogatása, minősítése és
egy fejezetbe foglalása több, mint vitatható, talán még átgondolatlannak,
légbőlkapottnak, sőt, szakszerűtlennek is nevezhető. De ha a számítógépes
folyamatirányítás sajátos igényeire és szempontjaira utalok, erős kohézió
lép működésbe, amely szinte varázsütésre talpraállítja a széthullani készülő
fejezetet, és még az is kiderül, hogy az egymástól távoleső témák együvé
kerülése szükségszerű. A cím viszont ettől még rossz marad…
3.3.1. Fontos adatstruktúrák
Két fontos adatstruktúráról kell szólnunk: a zsákról és a sorról.
A) A zsák (stack, LIFO) olyan soros elérésű adatstruktúra, melybe
azonos hosszúságú adatelemek (rendszerint gépi szavak) írhatók
be és amelyből az adatok a beírási sorrenddel ellentétes irányban
olvashatók ki (vagyis a legutoljára beírt adat olvasható ki legelő-
ször). Erre utal a LIFO (Last In First Out) elnevezés. A stack egy

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 76 ►


Számítógépes folyamatirányítás A számítógép
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 77 ►

olyan falhoz hasonlítható, amelyet téglák egymásra rakásával eme-


lünk és mindig a legfelső tégla levételével bontunk le. A stack ak-
tuális tetejére (az éppen hozzáférhető elemre) egy dinamikus muta-
tó, a stack-pointer (SP) mutat. Az újabb processzorok (sőt, a már
nem is olyan újak is) szinte kivétel nélkül hardveresen támogatják a
stack-kezelést, ami azt jelenti, hogy van olyan gépi utasításuk,
amely lehetővé teszi a beírást (PUSH) és a kiolvasást (POP) anél-
kül, hogy a programozónak ismernie kéne a stack pillanatnyi hely-
zetét. Az ilyen processzorokban a stack-pointer egy speciális re-
giszter, melynek kezdeti értékét a programozó állítja be, a procesz-
szor pedig íráskor, illetve olvasáskor automatikusan aktualizálja.
Maga a stack a memória tetszőleges területe és mérete potenciáli-
san korlátlan. Minthogy a stack egyébként közönséges memória,
semmi sem akadályozza meg, hogy egy akármilyen, memóriára hi-
vatkozó utasítással - lényegében illegálisan - mélyebb rétegeihez is
hozzáférjünk. Ezt azonban igen körültekintően szabad csak meg-
tenni, mert - finoman fogalmazva - komoly mellékhatások léphet-
nek fel. Egyébként is, ha valaki stacket akar használni, azt kezelje
szabályosan.
B) A sor (queue, FIFO) olyan soros elérésű adatstruktúra, melybe
azonos hosszúságú adatelemek írhatók be és amelyből az adatok a
beírási sorrenddel megegyező irányban olvashatók ki (vagyis a leg-
korábban beírt adat olvasható ki legelőször). Erre utal a FIFO
(First In First Out) elnevezés. A sor egy olyan falhoz hasonlítható,
amelyet téglák egymásra rakásával emelünk és mindig a legalsó tég-
la kihúzásával bontunk le (talán nem omlik össze). De inkább ha-
sonlítható egy alagúthoz, melybe először a mozdony lép be és a
végén is először a mozdony jön ki. A FIFO két pointerrel és egy, a
méretét korlátozó ütközővel kezelhető (mindegyik egy-egy címet
tartalmaz). Az un. beíró pointer a legutóbb beírt (legújabb) elemre,
az un. kiolvasó pointer pedig az aktuálisan kiolvasott elemre mutat
(3-4. ábra).

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 77 ►


Számítógépes folyamatirányítás A számítógép
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 78 ►

3-4. ábra

Ha a kiolvasó pointer eléri a beíró pointert az azt jelenti, hogy a


FIFO kiürült; ilyenkor mindkettő a FIFO elejére ugrik. Üres
FIFO-ból nem lehet olvasni. Ha a beíró pointer eléri az ütközőt,
további beírás nem lehetséges. A felütközés nem jelenti azt, hogy a
sor tele van, csak azt, hogy tovább nem nyújtható. Látható, hogy a
FIFO kezelése meglehetősen bonyolult, talán ez az oka annak,
hogy a processzorok utasítás-szinten nem valósítják meg, így azt
programmal kell megoldani.
Mindkét adatsruktúra rendkívül fontos. A stack a szubrutinhívásnál, a
megszakításkezelésnél, és a real-time monitor task-átkapcsolási műveletei-
nél, a sor pedig a processzor és a perifériák működésének aszinkronitását
kiegyenlítő adatpufferek kialakításánál kap főszerepet.
3.3.2. A szubrutinok
A programokban gyakran előfordulnak viszonylag önálló, jól körülha-
tárolható funkciójú, többször ismétlődő utasítás-sorozatok. Ezeket ki le-
het emelni a programtörzsből, elegendő egy példányban, külön elhelyezni
a memóriában, a programokból pedig szükség esetén, adott ponton csak
hivatkozni kell rájuk. Az ilyen programrészeket szubrutinnak, a rájuk való
hivatkozást (aktivizálásukat) pedig szubrutinhívásnak nevezzük. A szubru-
tin helyfoglalás szempontjából nem, csak időben ékelődik a hívó prog-
ramba, az un. főprogramba (3-5. ábra).

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 78 ►


Számítógépes folyamatirányítás A számítógép
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 79 ►

3-5. ábra

Híváskor a szubrutint el kell látni az aktuális adatokkal (bemenő para-


méterek), ezeket a szubrutin feldolgozza, előállítja az eredményeket (ki-
menő paraméterek), melyeket visszatéréskor átad a főprogramnak. Más-
kor, más helyen, más adatokkal ugyanez a folyamat ismétlődik.
A szubrutinhívás formailag egy vezérlésátadás a szubrutin elejére (kez-
dőcímére, belépési pontjára). Ez megoldható lenne egy közönséges ugró
utasítással (JUMP). A szubrutin végén vissza kell térni a hívó programba,
ám nem mindig ugyanarra a helyre, hanem mindig máshová: a mindenkori
hívás helyét követő első utasításra. Erre már nem alkalmas az egyszerű
ugró utasítás, mert annak immediate operandusa van, ami nem változtat-
ható. A 3-5. ábra mutatja, hogy az A helyről való híváskor (A+1)-re, míg a
B helyről való híváskor (B+1)-re kell az R pontról visszatérni. Ugró utasí-
tás címrészeként nem adható meg egyszer (A+1), egyszer meg (B+1). A
szubrutinnak (pontosabban: a processzornak) valahogyan tudnia kellene a
mindig más visszatérési címet. A híváskor ez a cím már ismert, hiszen az a
főprogram soron következő utasításának a címe és az utasításszámlálóban
(PC) pontosan ez van. Viszont a PC tartalma a híváskor meg fog változni,
mert a szubrutin kezdőcíme fog beleíródni (éppen ez jelenti a hívást). Ha
tehát a hívással egyidejűleg a processzor valahová elmentheti a PC eredeti

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 79 ►


Számítógépes folyamatirányítás A számítógép
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 80 ►

tartalmát, majd a szubrutin végén, az R ponton azt előveheti, továbbá, ha


van egy olyan utasítás, amely ugrás-jellegű, de nem rögzített operandusú,
akkor a visszatérés meg van oldva.
Nos, a processzornak van olyan utasítása, amely ugrás előtt automati-
kusan elmenti a PC tartalmát. Ez a szubrutinhívó utasítás, a CALL, amely
egy közönséges ugrásnak és az említett PC-mentési műveletnek az egyesí-
tése. És van olyan utasítás is, a RETURN (röviden: RET), amely a szubru-
tin végén az elmentett PC-tartalmat veszi elő és azt tekinti ugrási címnek.
A RET tehát szintén egy ugrás, de olyan, melynek implicit operandusa
van. Már csak az a kérdés, hogy a CALL hová menti el, és a RET honnan
veszi elő a visszatérés helyét meghatározó PC-tartalmat.
A korai processzorok idején még nem ismerték az automatikusan ke-
zelt stacket. A processzorban kialakítottak egy regisztert (un. csatoló re-
giszter), ebbe mentette el a CALL a PC-t és a RET innen vette elő. Ám a
szoftveresek szerettek volna szubrutinból is hívni szubrutint (több szintes,
egymásba ágyazott szubrutinhívás, 3-6. á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.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 80 ►


Számítógépes folyamatirányítás A számítógép
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 81 ►

szintre való visszatérés még biztosított, de az 1. szintről a főprogramba


már nem. Akkor kell még egy csatoló regiszter, de akkor kell egy jelzőbit
is, melynek 0-értéke jelzi, hogy a főprogramból (0. szint) történt a hívás és
az első csatolóregisztert kell használni, 1-értéke pedig azt, hogy az 1. szint-
ről történt a hívás, tehát a második csatolóregisztert kell használni (mert az
első már foglalt). A 2. szintről való visszatéréskor a második regiszter tar-
talma felhasználódik, a jelzőbit pedig 1-ről 0-ra vált, jelezve, hogy most
már a 0. szintre kell visszatérni, vagyis az első csatolóregiszter tartalmát
kell címnek tekinteni. A jelzőbit tehát egy dinamikus pointer, amely az
éppen használandó csatolóregiszterre mutat. Vegyük észre, hogy ez az
együttes már egy 2-hosszúságú stack egy egybites pointerrel.
A mai processzorokban már nincsenek csatolóregiszterek, van viszont
hasonlóan működő, automatikusan kezelt, memóriába ágyazott stack. A
CALL utasítás a stack aktuális tetejére menti a PC-t, a RET pedig onnan
veszi elő. Magasabb szintű híváskor az előző cím fölé íródik az újabb és
így tovább. Ily módon akárhány szintes, egymásba ágyazott hívás-lánc
megvalósítható, mert - a stack lényegéből adódóan - visszatéréskor az egy-
másra rétegzett címek éppen fordított sorrendben használódnak fel, így a
visszatérés Ariadné-fonala sehol sem szakad el.
3.3.3. A megszakítás (interrupt)
Ha van valami, ami a folyamatirányító számítógépekkel kapcsolatban a
legfontosabb jellemzőnek, illetve követelménynek mondható, akkor az a
megszakítás, illetve a megszakításrendszer megléte.
A megszakítás azt jelenti, hogy a számítógép egy tőle független, külső
eseményre azonnal és úgy reagál, hogy az éppen futó programot
felfüggeszti és egy olyan programot hajt végre, amely az eseményre vonat-
kozó válaszreakció leírását tartalmazza. Ezt a programot megszakítási ru-
tinnak (IT-rutin) szokás nevezni. A megszakítási rutin lefutása után a szá-
mítógép visszatérhet eredeti tevékenységéhez, azaz folytathatja a korábban
felfüggesztett program végrehajtását.
Egy folyamatirányító számítógépnek legalább egy megszakítást, az óra-
interrutot feltétlenül kezelnie kell. Az óra-interrupt egy periodikusan je-
lentkező impulzus, amely gép működését a külső, valós időhöz szinkroni-
zálja. Az erre adandó válaszreakció - sok egyéb mellett - az, hogy a számí-
tógép aktualizálja a belső, un. szoftver-órát. Erről és egyebekről a 6. feje-
zetben még bőven lesz szó.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 81 ►


Számítógépes folyamatirányítás A számítógép
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 82 ►

Az egyes megszakítási okok fontossági sorrendbe állíthatók, vagyis


minden okhoz prioritás rendelhető. Egy magasabb prioritású megszakítási
ok megszakíthat egy alacsonyabb szinten futó (kisebb prioritású okhoz
tartozó) megszakítási rutint is (3-7. ábra).

3-7. ábra

Vannak olyan processzorok, amelyek eleve prioritásos megszakításrend-


szerrel rendelkeznek, vannak olyanok, amelyekhez megfelelő külső hard-
ver-eszközt kell illeszteni a prioritásos kezelés megvalósításához, és van-
nak olyan esetek, melyeknél a prioritást az operációs rendszer (tehát a
szoftver) rendeli az egyes okokhoz. A megszakításrendszerek általános
vizsgálatakor sokszor igen nehéz megtalálni azt a határt, ameddig a hard-
ver, és ahonnan a szoftver (az operációs rendszer) szabja meg a működést,
ezért itt is konkrét megoldások tanulmányozása ajánlatos.
A legegyszerűbb eset az, amikor egy megszakítás-vezeték van és csak
egy megszakítási ok. Ilyenkor a megszakítási folyamat pontosan úgy zajlik
le, mint egy szubrutinhívás, csak a hívó utasítás nincs beírva a programba
(nem is lehet!), ugyanis itt a hívást nem utasítás, hanem a megszakításjel
megjelenése váltja ki. A processzor automatikusan a stackbe menti a meg-
szakított program PC-jét, majd átadja a vezérlést egy adott címre (itt kell
kezdődnie a megszakítási rutinnak). A rutin lefut, majd egy RET utasítás-
sal a stackből elővett cím alapján visszatér a megszakított programba. Ez a

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 82 ►


Számítógépes folyamatirányítás A számítógép
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 83 ►

folyamat teljes egészében processzor-szinten zajlik le, sem kiegészítő


hardver eszközt, sem az operációs rendszer közreműködését nem igényli.
Ha egy megszakítás-vezeték van, de azon több, különböző okból ere-
dő megszakításkérés jöhet be, akkor azonosítani kell az okot, mert ettől
függ a válaszreakció. A processzor itt is elmenti a megszakított program
PC-jét és átadja a vezérlést egy címre. Ez a cím azonban most nem a meg-
szakítási rutin kezdőcíme (nem is lehet az, hiszen még nem tudni, melyik
rutinnak kell lefutnia), hanem az operációs rendszer (egyik) belépési pont-
ja. Az ok azonosítása az operációs rendszer feladata. Erre két megoldás
van: a lekérdezéses (polling) és a vektoros módszer.
• A pollingos módszernél az operációs rendszer végigkérdezi az összes
potenciális megszakítás-generáló külső eszközt. Amelyiknél kiderül,
hogy ő okozta az interruptot, a rendszer az ahhoz rendelt megszakítási
rutinnak adja át a vezérlést. A rutin, lefutása után - a szoftver szervezé-
sétől függően - vagy az operációs rendszerbe, vagy közvetlenül a meg-
szakított programba tér vissza. Az első esetben az operációs rendszer-
nek kell gondoskodnia a megszakított program folytatásáról, a máso-
dik esetben ez automatikusan megtörténik.
• A vektoros megoldásnál a megszakítást okozó külső eszköz a megsza-
kításjellel egy időben egy egyedi, azonosító kódot (mondhatjuk: a név-
jegykártyáját) helyez az adatbuszra. Ilyenkor nincs szükség lekérdező
ciklusra, mert az eszköz maga felfedi kilétét. Az azonosító kód az un.
megszakításvektor, ez célszerűen egy olyan címtáblázat indexe, mely az
egyes okokhoz (eszközökhöz) rendelt megszakítási rutinok kezdőcí-
meit tartalmazza. Az index alapján az operációs rendszer kiválasztja a
megfelelő címet, és átadja a vezérlést a megfelelő rutinnak. A rutinból
való visszatérés az előző pontban leírtak szerint zajlik le.
Olyan - az előzőnél direktebb - vektoros megszakítás is van, ahol a
megszakításvektor egy CALL-jellegű rövid utasítás kódja, a kódban
foglalt implicit címmel. Beérkezésekor a processzor ezt azonnal végre-
hajtja, mint egy közönséges szubrutinhívást. A visszatérés közvetlenül
a megszakított programba történik. Ez a folyamat is teljes egészében
processzor-szinten zajlik le, nincs szükség az operációs rendszer köz-
beékelődésére.
A prioritásos megszakításrendszereknek biztosítaniuk kell, hogy egy
megszakítás bekövetkeztekor (annak kiszolgálása közben) nála alacso-
nyabb szintű megszakítások ne juthassanak érvényre. Ez a megszakítások

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 83 ►


Számítógépes folyamatirányítás A számítógép
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 84 ►

szelektív tiltását jelenti, amely részben hardver-, részben szoftver-


eszközökkel valósítható meg. Ennek részleteire itt nem térünk ki.
A megszakítási rutinok formailag közönséges szubrutinok. A szubru-
tinhívás és a megszakítás között van azonban egy nagyon lényeges, elvi
különbség. Az ugyanis, hogy a szubrutinhívás programozott, a megszakí-
tás viszont nem. A programozó a program írásakor pontosan tudja, hogy
melyik szubrutint, hol akarja aktivizálni, és azt és ott fogja meghívni. A
megszakítást viszont a külvilág aszinkron módon és véletlenszerűen gene-
rálja. A programozó erre nem készülhet fel, mert nem láthatja előre, hogy
a programját majdan, futás közben mikor, illetve mely ponton fogja egy
külső esemény megszakítani. A programozó tehát nem írhatja elő a prog-
ramban, hogy mi a teendő akkor, ha azt megszakítják. (Ezért nagyon
rossz, a lényeget elködösítő kifejezés a „programozott megszakítás”.)
Van egy kérlelhetetlenül szigorú elv: okozza bármi a megszakítást, le-
gyen bármilyen a megszakításrendszer, a megszakított programnak nem
szabad észrevennie, hogy megszakították. A megszakítás alatt a program
ájultan hever, és amikor magához tér, mindent úgy kell találnia, ahogyan
ájulata előtt volt, ellenkező esetben a továbbiakban hibásan fog működni.
Kevésbé plasztikusan, de pontosabban fogalmazva ez a következőket je-
lenti. Minden program felépít maga körül egy adatkörnyezetet (context),
amely a program futása közben, annak hatására változik. A megszakítási
rutin ettől idegen, tehát működésével nem szabad, hogy befolyásolja a
megszakított program contextjét. Ezért azt megszakításkor el kell menteni
és a vezérlés visszaadása előtt vissza kell állítani. A megszakításrendszer
kialakításától függően ez vagy az operációs rendszer, vagy a megszakítási
rutin feladata, sőt kötelessége. Csak az a kérdés, mi alkotja a contextet, mit
kell elmenteni, mert nyilván az egész memóriát nem lehet. A válasz elég
egyszerű: minden olyan regiszter tartalmát, amelyet az operációs rendszer
és/vagy a megszakítási rutin használ. A kettő együtt valószínűleg mindet
használja, úgyhogy legjobb minden regisztert elmenteni. A stack-
tartalmakat nem kell, mert az újabb adatok a régiek fölé rétegződnek, így a
régiek megmaradnak (nem íródnak felül). Viszont a stack szintjét a meg-
szakítás előtti állapotba kell hozni, tehát a stack-pointer tartalma nem kü-
lönbözhet a megszakítás előtti értéktől. Végül, a megszakítási rutin nem
használhat (pontosabban: nem írhat) olyan memóriaterületet, melyet a
program is használ. Ez nem jelentős megszorítás, a mai számítógépekben
elég nagy a memória és a megszakítási rutinoknak rendszerint nincs is
szükségük nagy munkaterületekre.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 84 ►


Számítógépes folyamatirányítás A számítógép
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 85 ►

3.3.4. Az újrahívhatóság (reentrant code)


Ez a kérdés (ha eltekintünk a rekurzív szubrutinhívástól) csak olyan
számítógépes rendszerek kapcsán merül fel, ahol virtuálisan párhuzamos
módon több program fut egy időben. A számítógépes folyamatirányító
rendszerek pontosan ilyenek.
A problémát egy példa kapcsán elemezzük. Tegyük fel, hogy van két
program, A és B, valamint egy S szubrutin. A szubrutin olyan műveleteket
végez, melyekre mind a két programnak szüksége van, vagyis mindkét
program valahol meghívja. Tegyük fel, hogy éppen az A program fut és
éppen meghívta a szubrutint, vagyis S most A adataival A-nak dolgozik.
Még nem fejezte be a tevékenységét, amikor az operációs rendszer
felfüggeszti A futását és B-t engedi futni. B szintén meghívja S-et, akinek a
contextje A félig kész adataival van tele. S elkezd B adataival B-nek dol-
gozni, eközben az A számára korábban készült adatok felülíródnak.
Mondjuk S befejezi a munkát B-nek, így B, aki újrahívta S-et, jó eredmé-
nyeket kap. Most az operációs rendszer visszaadja a vezérlést A-nak, aki
előzőleg S-ben futott és természetesen ott is folytatódik a futása. De S
contextje most már B adatait tartalmazza, így A számára hibás eredmé-
nyeket fog előállítani. Azt mondjuk, hogy S ebben az esetben nem volt
újrahívható.
Ha S contextje csak a regiszterekre (és a stackre) korlátozódna, vagyis
munkaterületként csak ezeket használná, akkor az újrahívás nem járna a
fent bemutatott mellékhatással, mert az operációs rendszer két program
közti átkapcsoláskor elmenti a felfüggesztett program regisztertartalmait,
visszakapcsoláskor pedig visszaállítja. Így amikor S A-nak folytatja a mun-
kát, azokkal az adatokkal folytathatná, amelyekkel abbahagyta, és nem
lehetne észrevenni, hogy közben B-nek is dolgozott. Példánkban S
contextjének nyilván olyan elemei is voltak, amelyeket átkapcsoláskor nem
mentett el az operációs rendszer. Ez pedig csak S által saját célra, munka-
területként lefoglalt fix memóriaterület lehet.
A fentiekből levonható az általános következtetés: ha egy szubrutin
munkaterületként csak a regisztereket és a stacket használja, akkor újra-
hívható, ha fix helyen lévő memóriát is használ, akkor nem. Ha a szubru-
tinnak szüksége van memóriaterületre, akkor az ne állandó helyen legyen,
hanem azt a mindenkori hívó program jelölje ki számára, mert akkor nyil-
ván különböző hívók különböző területeket fognak kijelölni és így nem
következhet be ütközés (adat-felülírás).

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 85 ►


Számítógépes folyamatirányítás A számítógép
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 86 ►

Megemlítjük még, hogy egy szubrutint akkor is használhat több prog-


ram, ha nem újrahívható, de akkor szigorúan csak időben egymás után és
nem közvetlen hívással, hanem egy - a kölcsönös kizárást biztosító - más-
fajta mechanizmus segítségével, amiről majd a 6. fejezetben lesz szó.

3.4. Az input-output kezelés (I/O)


Az input-output kezelés alatt a számítógép és a perifériák közötti kap-
csolat szervezésének módjait értjük.
A számítógépes folyamatirányításban az I/O kezelés fokozott jelentő-
ségre tesz szert azáltal, hogy itt általában lényegesen több perifériát kell
kezelni, mint másutt, és az I/O folyamatoknak az egyéb feldolgozásokhoz
viszonyított relatív súlya lényegesen nagyobb, mint más rendszerekben.
A számítógép és a perifériák közötti adatáramlás un. portokon keresz-
tül valósul meg. A portok címezhető logikai elemek, melyek fizikailag a
perifériavezérlő egységek regiszterei formájában jelennek meg. Funkcioná-
lis szempontból háromféle port van:
• az állapotport (STATUS),
• a vezérlőport (CONTROL) és
• az adatport (DATA).
Állapot- és adatport minden perifériához tartozik, vezérlőportja viszont
csak a többfunkciós, változtatható üzemmódú, programozható (un. intel-
ligens) perifériáknak van.
Az állapotporton a periféria aktuális állapotával kapcsolatos informá-
ció jelenik meg. Ennek egyes bitjei diagnosztikai jelentőségűek, bizonyos
periféria-specifikus hibaokokhoz vannak rendelve (pl. nincs papír a nyom-
tatóban, nincs festék a nyomtatóban, stb.). Mindig van azonban köztük
egy - a periféria fajtájától független - általános, univerzális készültség-bit
READY), melynek 1-es értéke a periféria adatátvitelre való alkalmasságát,
0-értéke pedig alkalmatlanságát jelenti. READY=1 esetén a diagnosztikai
biteknek nincs jelentőségük. A READY állapot input perifériánál egyben
arra is utal, hogy van érvényes adata, amit be lehet olvasni róla, output
perifériánál pedig arra, hogy képes fogadni a kiküldött adatot. A állapot-
port a processzor szempontjából mindig input-jellegű.
A vezérlőporton a periféria számára az aktuális üzemmódot kijelölő és
annak paramétereit beállító parancsok küldhetők ki. Például egy mágnes-
lemezes háttértároló vezérlőegységével közölni kell, hogy a processzor
írni, vagy olvasni akar, valamint meg kell adni az adat lemezen értelmezett

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 86 ►


Számítógépes folyamatirányítás A számítógép
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 87 ►

fizikai címeit. A vezérlőport a processzor szempontjából mindig output-


jellegű.
Maga az adatforgalom az adatportokon zajlik le. Az adatportok a peri-
féria jellegétől függően lehetnek input- vagy output-portok.
A ki-/bevitel szervezésének három különböző módja van:
• a programozott I/O,
• a megszakításos I/O és a
• a közvetlen memória-hozzáférés (Direct Memory Access, DMA).
A programozott I/O esetén az átvitelt kezdeményező program leol-
vassa a kiválasztott periféria állapot-portját és megvizsgálja, hogy a perifé-
ria READY-állapotban van-e. Ha igen, végrehajtja az adatátvitelt: bevitel
esetén beolvassa az adatport tartalmát, kivitelkor pedig kiküldi az adatot az
adatportra.. Ha a periféria nem „kész”, a program potenciálisan végtelen
várakozási hurokba kerül, egészen addig, amíg a READY-bit 1-es nem
lesz. A várakozás ideje alatt a program folyamatosan olvassa az
állapotportot és vizsgálja a READY-bitet. Ez az aktív várakozás kitölti a
processzor teljes idejét, így az semmilyen hasznos tevékenységet nem tud
végezni (holott futtathatna olyan programokat, melyeknek pillanatnyilag
nincs szüksége az adott perifériára). Ezért az input/output ilyen szervezé-
se több-felhasználós rendszerekben (és ilyen a folyamatirányító rendszer
is) szigorúan tilos.
A megszakításos I/O szervezésnél a program nem várakozhat aktí-
van a nem-kész perifériára. Az operációs rendszer felfüggeszti a futását és
a processzor használatát más programnak engedélyezi. Ha közben a
felfüggesztett program által igényelt periféria READY-állapotba kerül, azt
megszakítással jelzi. Ekkor az operációs rendszer visszaadja a vezérlést a
felfüggesztett programnak, amely most már késedelem nélkül lebonyolít-
hatja az I/O-műveletet.
A DMA során a processzor már egyáltalán nem vesz részt az adatátvi-
telben. Egy buszvezérlésre alkalmas (un. intelligens) perifériavezérlő egy-
séget annak vezérlő portján keresztül ellát a szükséges információkkal (az
érintett memóriaterület kezdőcíme, az átviendő szavak darabszáma, az
átvitel iránya, a periférián értelmezett fizikai címek). Ezek alapján a perifé-
riavezérlő a processzor működésével virtuálisan párhuzamosan (un. ciklus-
lopásokkal), vagy ténylegesen párhuzamosan (olyankor, amikor a procesz-
szor éppen belső műveleteket végez és nem igényli a buszt) önállóan le-
bonyolítja az adatátvitelt. A folyamat befejeződését egy megszakítással jelzi

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 87 ►


Számítógépes folyamatirányítás A számítógép
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 88 ►

a processzornak. A DMA megvalósíthatóságának három feltétele van:


UNIBUS-struktúra, megszakításrendszer megléte, intelligens perifériave-
zérlő.
Fel szokott merülni a kérdés: melyik jobb: a megszakításos I/O, vagy a
DMA? Azt lehet válaszolni, hogy a két szervezési mód nem ugyanarra
való. Ha csak néhány szó (bájt) átviteléről van szó, akkor a megszakításos
szervezés a jobb, mert a feldolgozó program közvetlenebbül jut az ada-
tokhoz. (Egy-két, vagy tíz-húsz bájtot DMA-val átvinni nevetséges és
roppant körülményes lenne.) És arról se feledkezzünk meg, hogy a leg-
több periféria eleve nem alkalmas a DMA-ra. Ugyanakkor, ha nagy adat-
mennyiség mozgatására van szükség (pl. képernyőfrissítés, lemezművele-
tek), akkor a DMA jobb, mert sokszorosan gyorsabb.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 88 ►


Számítógépes folyamatirányítás A találkozás
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 89 ►

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

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 89 ►


Számítógépes folyamatirányítás A találkozás
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 90 ►

A vezérlő áramkör a periféria vezérlő egysége (control unit), amely tar-


talmat egy címfelismerő áramkört, magába foglalja a periféria STATUS- és
CONTROL-portját, valamint tatalmaz egy olyan logikai hálózatot, amely a
CONTROL-porton át érkező parancsok dekódolásával kártya-szintű, bel-
ső vezérlőjeleket állít elő.
A kártya jelillesztő és jelátalakító funkcióját (ez a periféria voltaképpeni
feladata) a belső áramkör valósítja meg. Ez a periféria konkrét fajtájának
megfelelő áramkörökből épül fel.
A jelformáló áramkörök, melyeket néha külön kártyán helyeznek el, a
folyamatból érkező, illetve az oda kiküldendő jelek villamos illesztését
biztosítják, illetve a jeleken bizonyos kisebb módosításokat hajtanak végre.
A folyamatperifériákat az általuk kezelt folyamatjeleknek megfelelően
négy nagy csoportba soroljuk:
• az analóg bemeneti perifériák,
• a digitális bemeneti perifériák,
• a digitális kimeneti perifériák és
• az analóg kimeneti perifériák
csoportjába. Az alábbiakban velük fogunk közelebbről megismerkedni.

4.1. Az analóg bemeneti perifériák


Az egyenfeszültségű, vagy egyenáramú analóg bemeneti jelek fogadá-
sára és digitalizálására szolgálnak.
A periféria részei (4-2. ábra):
• a jelformáló áramkörök,
• a méréspontváltó (multiplexer),
• a programozható erősítő,
• az analóg-digitális átalakító (A/D),
• a vezérlőegység.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 90 ►


Számítógépes folyamatirányítás A találkozás
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 91 ►

4-2. ábra

4.1.1. A jelformáló áramkörök


A leggyakoribb jelformáló áramköröket a 4-3. ábra mutatja be.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 91 ►


Számítógépes folyamatirányítás A találkozás
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 92 ►

4-3. ábra

Áram-feszültség átalakító akkor szükséges, ha a folyamatjel áram, az A/D


átalakító pedig feszültség-bemenetű. A feszültségosztók a nagyszintű fe-
szültségjelek leosztására szolgálnak. Az egyszerű R-C szűrők a nagyfrek-
venciás zavarjeleket szűrik, a feszültségtüskéket vágják le. Ellenállás-jelet
általában mérőhídban szokás mérni. Az érzékelő-ellenállás természetesen
kint van a folyamatban, de a mérőhíd többi ellenállása, valamint a tápfor-
rás jelformáló áramkörként a periféria-kártyán is elhelyezhető. A mérőhíd
kimenetén az érzékelő ellenállással arányos feszültség jelenik meg. Egyes

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 92 ►


Számítógépes folyamatirányítás A találkozás
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 93 ►

jelformáló áramkörök kombinálhatók egymással, így még több változat is


elképzelhető.
4.1.2. A méréspontváltó (multiplexer)
A multiplexer olyan rendszertechnikai elem, amely több címezhető
bemenettel és egy kimenettel rendelkezik, és a kimenetre mindig egy - az
éppen megcímzett - bemenet jele kapcsolódik. Elvi vázlatát a 4-4. ábra
mutatja be.

4-4. ábra

Multiplexereket azért alkalmaznak, hogy ne kelljen minden analóg csator-


nába külön erősítőt és A/D átalakítót beépíteni. Ez a megoldás egyrészt
költség- és helykímélő hatású, másrészt, egy csatorna jelének digitalizálásá-
ra csak akkor van szűkség, ha a számítógép éppen vele foglalkozik, így a

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 93 ►


Számítógépes folyamatirányítás A találkozás
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 94 ►

sok A/D nagy részben kihasználatlan (mondhatni: teljesen fölösleges)


lenne.
A multiplexerek bármilyen vezérelhető kapcsolóval megvalósíthatók.
Tipikusan relés, vagy FET-es megoldásokat alkalmaznak. A relés kapcso-
lók jobb minőségűek (kisebb átmeneti ellenállás zárt, illetve nagyobb el-
lenállás nyitott állapotban), viszont nagyok, rázkódás-érzékenyek, és lé-
nyegesen lassúbbak (kapcsolási idejük: 1…2 msec). Az elektronikus kap-
csolók (általában FET-ek) ellenállás-értékei kb. egy nagyságrenddel rosz-
szabbak, viszont lényegesen gyorsabbak (kapcsolási idejük néhány μsec).
A 4-5. ábra egy FET-es, a 4-6. ábra pedig egy relés multiplexert mutat be.
Az utóbbi a repülőkondenzátoros kialakításból adódóan galvanikus levá-
lasztást is biztosít.

4-5. ábra

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 94 ►


Számítógépes folyamatirányítás A találkozás
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 95 ►

4-6. ábra

4.1.3. A programozható erősítő


A programozható erősítő (4-7. ábra) lényegében egy méréshatárváltó,
melynek feladata a multiplexer kimenetén különböző feszültségszintű jelek
illesztése az A/D átalakító bemeneti feszültségtartományához. (A mutatós
műszerek leolvasásához hasonlóan az A/D átalakítás is pontosabb, ha az
átalakító bemeneti feszültségtartománya jól ki van használva.) A progra-
mozható erősítőket úgy alakítják ki, hogy egy műveleti erősítő visszacsato-
ló ágába több, kapcsolható ellenállást iktatnak. Az ellenállások decimális,
vagy bináris nagyságrendi sorozatot alkotnak. Az aktuális erősítési ténye-
zőt az éppen bekapcsolt visszacsatoló ellenállás értéke szabja meg.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 95 ►


Számítógépes folyamatirányítás A találkozás
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 96 ►

4-7. ábra

4.1.4. Az A/D átalakító


Az A/D átalakító az analóg input perifériák legfontosabb műveleti
eleme, amely az analóg jel digitalizálását (bináris kóddá alakítását) végzi el.
Az A/D átalakítók általában feszültség-bemenetűek, vagyis csak előírt
intervallumba eső feszültséget tudnak átalakítani. Vannak egy- és két-
polaritású A/D-k. Az egypolaritású A/D bemenetére csak egyféle feszült-
ség kapcsolható és a kimeneten megjelenő digitális kód csak az analóg jel
nagyságát adja meg. A kétpolaritású A/D-k bemenetére mindkét irányú
feszültség kapcsolható, a kimeneti bináris kód pedig az előjelet is megadja.
A bemeneti feszültségtartomány:
• egypolaritású átalakítóknál 0…5V, illetve 0…10V,
• a kétpolaritásúaknál ±2,5V, ±5V, vagy ±10V.
Az A/D kimeneti jellemzői:
• a szolgáltatott digitális kódszó hossza (bitszáma) és
• kódolási formája.
Minél nagyobb a kimeneti szóhosszúság, annál nagyobb (finomabb) az
A/D felbontása. Például 8-bites szó esetén 256 különböző kódszó (szám)
generálható, 10-bites szónál már 1024. Ez azt jelenti, hogy egy

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 96 ►


Számítógépes folyamatirányítás A találkozás
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 97 ►

egypolaritású, 0…10V bemeneti feszültségtartományú A/D 8-bites kime-


net esetén csak két olyan feszültségértéket tud megkülönböztetni (vagyis
különböző számmal jelölni), melyek különbsége 10/256 V-nál nagyobb.
10-bites kimenet esetén a megkülönböztethető feszültségértékek minimá-
lis különbsége már csak 10/1024 V.
A kétpolaritású A/D átalakítók a kimeneti digitális értéket előállíthatják
• abszolutértékes-előjelbites,
• egyes komplemens,
• kettes komplemens, vagy
• eltolt nullpontú bináris
kódban. Leggyakoribb a kettes komplemens kód alkalmazása, mert ez a
számítógép belső számábrázolásával kompatibilis. (Nagyon ritkán előfor-
dulnak BCD-kimenetű A/D átalakítók is.)
Az A/D átalakítókat működési módjuk szerint két csoportba sorolhat-
juk. Vannak a pillanatértékre érzékeny (un. gyors) A/D-k és az átlagérték-
re érzékeny (un. integráló) A/D-k. A gyors átalakítók konverziós ideje
néhányszor 10μsec, míg az integrálóké néhányszor 10msec. Az utóbbiak
tehát kb. három nagyságrenddel lassúbbak. Ugyanakkor a gyors A/D-k
igen zavarérzékenyek, míg az integráló típusúak lassan, de megbízhatóan
dolgoznak, bizonyos frekvenciájú zavarokat teljesen kiküszöbölnek (az
integrálás szűrőhatása érvényesül). Az alábbiakban bemutatjuk a két típus
egy-egy jellegzetes és gyakori képviselőjét.
A D/A-visszacsatolásos (gyors) A/D

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 97 ►


Számítógépes folyamatirányítás A találkozás
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 98 ►

4-8. ábra

Ez az átalakító (4-8. ábra) a kompenzációs mérési elv alapján működik.


Fokozatosan létrehoz egy jelet (UB), ezt kivonja a mérendő jelből (UX) és
egy nullindikátorral érzékeli a különbség eltűnését. Ekkor a létrehozott jel
megegyezik a mérendővel (értéke a mérendő jel értékét képviseli).
Indításkor a vezérlő áramkör törli a számlálót, majd rákapcsolja az óra-
jelet. A számláló számolja az impulzusokat, tartalmát pedig a D/A átalakí-
tó feszültséggé konvertálja. Így a B ponton időben lépcsőzetesen növekvő
feszültség jelenik meg. Ha ez eléri az UX értékét, a komparátor átbillen, a
vezérlő áramkör lekapcsolja az óragenerátort a számlálóról, melynek tar-
talma befagy. Ezzel az átalakítás befejeződött: a számláló befagyott tartal-
ma az UX digitális kódja. Az átalakítás ideje függ az átalakítandó feszültség
nagyságától, az órajel frekvenciájától, valamint a feszültséglépcsők magas-
ságától. A zavarérzékenység is érzékelhető: ha UX-re zaj szuperponálódik,
a komparálás előbb, vagy később következik be, így a digitális érték torzult
lesz.
A kettős meredekségű (dual slope) integráló A/D

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 98 ►


Számítógépes folyamatirányítás A találkozás
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 99 ►

4-9. ábra

Az átalakító működési vázlatát a 4-9. ábra mutatja be. Az átalakítás két


fázisban megy végbe. Először az integrátor meghatározza a mérendő jel
(UX) fix időre vonatkozó integrál-középértékét (UXI), majd a második
fázisban az integrátor kondenzátorát egy állandó értékű referenciafeszült-
ség (-Uref) kisüti. A kisütési időtartam impulzusszámban kifejezett értéke
az UXI-vel arányos digitális jel.
Indításkor a K kapcsoló UX-re kapcsolódik. Az integrátor TI ideig UX-
et integrálja és kimeneti feszültsége (Uk)
T
1 I 1
Uk =
RC 0∫ U X dt =
RC
U XI TI

értékűre nő (UXI az UX integrál-középértéke). Az integrálás rögzített idő-


tartamának (TI) leteltekor az integrátor bemenete a -Uref kisütő feszültség-
re, ugyanekkor az óragenerátor jele a számlálóra kapcsolódik. Amikor a
kondenzátor teljesen kisült (Uk=0), a nullkomparátor átbillen, ennek hatá-
sára a vezérlő áramkör lekapcsolja az órajelet a számlálóról. Kisütéskor az
Uk korábbi (töltési) végértéke csökken nullára, így írhatjuk, hogy
1 1
U XI TI = U ref TX
RC RC
ahol TX a kisütési időtartam. Ebből
T N
U XI = U ref X = U ref X
TI NI
ahol NI a fix integrálási (átlagolási) idő, NX pedig a kisütési idő impulzus-
számban kifejezett értéke. Az Uref, és az NI állandó, így UXI arányos NX-
szel, vagyis a számlálóban lévő értékkel. A 4-10. ábra a fent leirt folyama-

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 99 ►


Számítógépes folyamatirányítás A találkozás
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 100 ►

tot szemlélteti két különböző értékű átalakítandó feszültségre. Látható,


hogy a töltési egyenesek meredeksége UX nagyságától függ, míg a kisütési
egyeneseké a -Uref által meghatározott állandó. Ez tükröződik az átalakító
elnevezésében.

4-10. ábra

Ismeretes, hogy egy szinuszos jel egy periódusra számított integrál-


középértéke nulla. Ha tehát a TI integrálási időt úgy állítjuk be, hogy az a
mérendő feszültségre szuperponálódó szinuszos zavarjel periódusidejével
megegyezzen, akkor az integrálás teljes egészében kiszűri a zavart. Mint-
hogy a folyamatirányításban az egyik leggyakoribb zavartípus a hálózati
eredetű zavar, ha az integrálási időt 20msec-nak (az 50Hz reciproka) vá-
lasztjuk, a hálózati zavarok felharmonikusaikkal együtt teljesen kiszűrhe-
tők. Ezért ezt a fajta átalakítót - lassúsága ellenére - nagyon gyakran alkal-
mazzák.
Az integráló A/D átalakítási ideje egy állandó (TI) és egy változó (TX)
időtartam összege. A változó komponens függ a mérendő jel és a referen-
ciajel nagyságától. A mérendő jel növekedése növeli (nagyobb értékről
indul a kisütés), a referenciafeszültség növelése csökkenti (meredekebb
kisütési egyenesek) a TX-et. Tipikus átalakítási időként általában TI kétsze-
resét (40msec) szokás említeni. (Természetesen konkrét esetekben, konk-
rét adatokkal a pontos érték is meghatározható.)

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 100 ►


Számítógépes folyamatirányítás A találkozás
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 101 ►

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.2. A digitális bemeneti perifériák


A digitális bemeneti perifériák a folyamatból érkező kétállapotú jelek
fogadására és illesztésére szolgálnak. A digitális bemeneti jelek - korábban
említett - különböző típusainak kezelésére különböző perifériák alkalma-
sak.
A belső áramkör kialakítására csak a jel időbeli lefutás szerinti, vala-
mint funkció szerinti hovatartozása van hatással. A megjelenési forma
(feszültségszint, vagy kontaktus) szerinti különbözőség a jelformáló áram-
körök megfelelő megválasztásával vehető figyelembe, a jel értelmezése
pedig nem a periféria dolga, azt a feldolgozó program határozza meg. Így
három különböző perifériatípusról beszélhetünk, ezek
• a digitális adatbemenetek, az ellenőrzött állapotjelek fogadására;
• a számláló bemenetek, az ellenőrzött impulzusjelek fogadására;
• a megszakítás bemenetek, az állapot-, vagy impulzus-jellegű meg-
szakításjelek fogadására.
A jelformáló áramkörök részben a már korábban látottakhoz hason-
lók (feszültségosztó, szűrő). Speciális (csak digitális perifériákban használa-
tos) jelformálók:
• Szintkonverter: akkor szükséges, ha a folyamatból érkező jel logikai
szintjei nem kompatibilisek a periféria belső áramkörének logikai szint-
jeivel.
• Kontaktus/feszültség átalakító (4-11. ábra)

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 101 ►


Számítógépes folyamatirányítás A találkozás
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 102 ►

4-11. ábra

• Optikai leválasztó (lásd korábban)


• Pergésmentesítő: nyomógombok, kapcsolók érintkezési bizonytalan-
ságainak kiszűrésére. Általában monostabil multivibrátorral alakítják ki.
4.2.1. A digitális adatbemenetek
E perifériák belső áramkörét egy bemeneti kapuáramkör, egy adatre-
giszter és egy kiolvasó kapuáramkör együttese alkotja (4-12. ábra). A kapu-
áramkörök és az adatregiszter bitszámának az adatbusz szélességével
kompatibilisnek kell lennie.

4-12. ábra

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 102 ►


Számítógépes folyamatirányítás A találkozás
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 103 ►

Lekérdezéskor a bemeneti kapuk kinyitnak és az állapotjelek aktuális


értékei beíródnak az adatregiszterbe. Ezután a bemeneti kapuk újra bezá-
rulnak, majd a kiolvasó kapuk nyitnak és az adatregiszter tartalma az adat-
buszra kerül. Kiolvasás után a kiolvasó kapuk bezárulnak és az adatregisz-
ter tartalma törlődik. A vezérlő áramkör feladata a kapuk szinkronizált
nyitása, zárása és az adatregiszter törlése.
Egy különleges, de gyakran alkalmazott adatbemenet az un változás-
figyelő (vagy más néven: eseményérzékeny) bemeneti periféria (4-13.
ábra).

4-13. ábra

Ezt a számítógépnek nem kell ciklikusan lekérdeznie, hanem csak akkor,


ha a folyamatjelek valamelyikének az állapota megváltozott. A jelváltozást
maga a periféria figyeli és bekövetkeztekor megszakításkérést generál. En-
nél a perifériánál az adatregiszter a kiolvasás után nem törlődik, hanem
megőrzi a tartalmát. Egy KIZÁRÓ-VAGY áramkör összehasonlítja ezt a
zárt bemeneti kapu előtti aktuális bitmintával. Ha a kettő között különbsé-
get tapasztal (bitváltozás), a periféria megszakításjelet generál. Erre válasz-

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 103 ►


Számítógépes folyamatirányítás A találkozás
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 104 ►

képpen a számítógép lekérdezi a megváltozott adatot. Lekérdezéskor elő-


ször a bemeneti kapu nyílik, és az adatregiszter tartalma aktualizálódik
(mostantól kezdve ez lesz a régi érték). Ezután a bemeneti kapu újra bezá-
rul és a kinyíló kiolvasó kapun keresztül az adatbuszra kerül az aktuális
regisztertartalom.
4.2.2. A számláló bemenetek
A számláló bemenetek (4-14. ábra) az ellenőrzött impulzusjelek foga-
dására, tárolására és megszámolására használatosak. A periféria n-db. im-
pulzusjelet fogad (n-csatornás). Az egyes jelek impulzusai egy-egy tárolón
keresztül egy-egy számlálóra jutnak (minden jelhez tartozik egy számláló).
A számlálók tartalma kiolvasó kapukon keresztül juthat az adatbuszra. Az
egyes számlálók k-bitesek. A k értékét úgy kell meghatározni, hogy két,
egymás utáni lekérdezés között a számláló ne csordulhasson túl.

4-14. ábra

Két lekérdezés között az impulzusok a számlálókba jutnak és léptetik


azokat. Lekérdezéskor a számlálás letiltódik, majd a kiolvasó kapu kinyit és
a számláló tartalma az adatbuszra kerül. A tároló arra szolgál, hogy a

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 104 ►


Számítógépes folyamatirányítás A találkozás
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 105 ►

számlálás letiltása után esetlegesen beérkező impulzus se vesszen el. Kiol-


vasás után a kiolvasó kapu lezár, a számláló nullázódik és a vezérlő áram-
kör újra engedélyezi a számlálást. Ekkor kerül a számlálóba a tárolóban
esetlegesen tárolt impulzus. Az egyes bemeneteket (számlálókat) egymás-
tól függetlenül, (akár különböző ciklusidővel is) lehet lekérdezni.
A vezérlő áramkör funkciói: a kapuk nyitása/zárása, a számlálás enge-
délyezése/tiltása, a számláló törlése, a tároló törlése.
4.2.3. A megszakítás bemenetek
Ez a periféria a megszakítás-típusú jelek fogadására alkalmas. A meg-
szakításjelekről feltételezzük, hogy azok vagy impulzusok, vagy olyan álla-
potjelek, melyeknek statikus értéke nem, hanem csak a felfutó éle (0→1
átmenete) jelent eredményez megszakítást. A megszakítás bemenet belső
áramköre egy bemeneti adatregiszterből, egy változásfigyelő áramkörből,
egy megszakítási állapot- és egy megszakítási maszkregiszterből, logikai
áramkörökből és két kiolvasó kapuáramkörből épül fel (4-15. ábra).

4-15. ábra

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 105 ►


Számítógépes folyamatirányítás A találkozás
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 106 ►

A megszakításjelek pillanatnyi értéke a bemeneti regiszterben tároló-


dik. (Ezt a 2.számú kiolvasó kapun keresztül a számítógép bármikor, meg-
szakítási folyamat nélkül is kiolvashatja.) Ha a változásfigyelő áramkör a
bemeneti regiszter valamelyik bitpozícióján (több ilyen is lehet) felfutó élt
érzékel, a megszakítási állapotregiszter megfelelő bitjébe 1-et ír. Az álla-
potregiszter és a maszkregiszter tartalma össze-ÉSelődik, így csak azok a
megszakításkérések juthatnak érvényre, amelyeket a maszk engedélyez. Ha
a maszkolás után van engedélyezett megszakításkérés (ezt állapítja meg a
VAGY-áramkör), akkor a vezérlő áramkör megszakításjelet generál. A
megszakítási folyamat során a vezérlő áramkör a számítógép utasítására az
1. számú kiolvasó kapun keresztül az adatbuszra helyezi a maszkolt álla-
potszót, melyből a számítógép megtudhatja, hogy melyik input jel okozta a
megszakítást. A mazskregiszter tartalmát a CONTROL-porton keresztül a
számítógépen futó programok tetszőlegesen beállíthatják, így szelektív és
dinamikus engedélyezés/tiltás valósítható meg.
A vezérlő áramkör nyitja/zárja a kiolvasó kapukat, beírja, illetve törli a
maszkregisztert, törli az állapotregisztert.

4.3. A digitális kimeneti perifériák


A digitális kimeneti perifériákon keresztül a számítógép a folyamat di-
gitális jelekkel működtethető beavatkozó szervei számára kétállapotú jele-
ket küld ki. A beavatkozó szervek működtetése történhet - megfelelő jel-
formálás után - közvetlenül (kisteljesítményű berendezések esetén), vagy
közvetve, úgy, hogy a digitális kimenet és a beavatkozó szerv közé valami-
lyen teljesítményerősítőt (végrehajtó szerv) kapcsolnak. A periféria blokk-
vázlatát a 4-16. ábra mutatja be.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 106 ►


Számítógépes folyamatirányítás A találkozás
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 107 ►

4-16. ábra

A tipikus jelformáló áramkörök (4-17. ábra):

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 107 ►


Számítógépes folyamatirányítás A találkozás
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 108 ►

4-17. ábra

A periféria belső áramköre egy beíró, egy kiolvasó és egy engedélyező


kapuáramkörből, valamint egy adatregiszterből áll. A periféria 4-16. ábra
szerinti kialakítása lehetővé teszi az un. kétfázisú (vagy más néven: ellen-
őrzött) vezérléskiadást. Az első fázisban (ez az un. vezérlés-előkészítés) a
számítógép által kiküldött bitminta a nyitott beíró kapun keresztül bekerül
az adatregiszterbe. Ezt követően a kiolvasó kapun át a számítógép vissza-
olvashatja az adatregiszter tartalmát, és a program ellenőrizheti, hogy az

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 108 ►


Számítógépes folyamatirányítás A találkozás
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 109 ►

megegyezik-e a kiküldött adattal. Ha igen, akkor a vezérlés érvényre juthat.


Ez történik a második fázisban (ez az un. vezérléskiadás), amikor a számí-
tógép a CONTROL-porton kiküldött paranccsal utasítja a vezérlő áram-
kört az engedélyező kapu kinyitására, így a vezérlőjelek kijuthatnak a fo-
lyamatba.
Ebben a kialakításban és mechanizmusban az az óvatosság tükröződik,
amely a közvetlen gépi beavatkozást még ma is övezi. Ez persze eseten-
ként indokolt is. A fentebb vázolt megoldás nem kerül semmibe, viszont
nem is ér sokat. Az ellenőrzés és a korrigálás együtt: negatív visszacsatolás.
A visszacsatolás kedvező hatása viszont csak a hurok elemeire terjed ki. Itt
a hurokban lényegében csak a rendszerbusz van. Nos, ha az adat már a
rendszerbuszon megsérül, a számítógépet ki lehet dobni. Az igazi, érdemi
ellenőrzés az (és kritikus esetekben ezt is csinálják), ha a jelet közvetlenül a
- gyakran több száz méterre levő - beavatkozó szerv bemenetéről olvassák
vissza. Ez azonban már nem úszható meg ilyen olcsón. A jeleket külön
vezetékeken kell visszahozni, és kell egy külön digitális adatbemenet a
fogadásukra. A vezérlés érvényre jutását pedig szintén a beavatkozó szer-
veknél kell engedélyezni.

4.4. Az analóg kimeneti perifériák


Az analóg kimeneti perifériák a folyamat analóg jelet igénylő beavatko-
zó szerveit működtetik. A kimeneti analóg jel típusa (feszültség, vagy
áram) a jelformáló áramkörök megfelelő kialakításával határozható meg. A
jelformáló áramkörök lehetnek feszültség-áram, áram-feszültség átalakítók,
vagy szinteltoló áramkörök (feszültség-kimenet esetén). A 4-18. ábra egy
egycsatornás analóg kimeneti perifériát ábrázol.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 109 ►


Számítógépes folyamatirányítás A találkozás
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 110 ►

4-18. ábra

Az ábrából látható, hogy az analóg kimenet egy digitális kimenet D/A


átalakítóval és egy alkalmas jelformálóval való egyszerű kiegészítése. A
D/A átalakítástól eltekintve működése is teljes egészében azonos a digitá-
lis kimenetével.
A D/A átalakító az adatregiszterben megjelenő digitális kódot (szám)
alakítja át feszültséggé, vagy árammá. A feszültség kimenetű D/A-k lehet-
nek egy-polaritásúak, vagy két-polaritásúak. A tipikus kimeneti feszültség-
tartományok: 0…5V, 0…10V, illetve ±5V, vagy ±10V. Az áramkimene-
tűek 0…20mA, vagy 4…20mA tartományba eső áramot generálnak. A
adatregiszter szokásosan 8, 10, 02 bites, tartalma egy-polaritású átalakító
esetén pozitív egész számnak értelmeződik, két-polaritású D/A-nál - az
átalakító működésétől függően - abszolútértékes előjeles, egyes
komplemens, vagy kettes komplemens kódú számként értelmezhető.
A D/A átalakítás elve az, hogy az átalakító bináris helyértékek szerint
súlyozott részjelekből állítja elő az analóg jelet. Például jól meghatározott
értékű áramkomponensek összegzésével létrehoz egy eredő áramot, amely
egy ellenálláson átfolyva feszültséget kelt: ez a D/A kimeneti jele. Egy

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 110 ►


Számítógépes folyamatirányítás A találkozás
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 111 ►

áramkomponens csak akkor vesz részt az összegzésben, ha a bináris kód-


szóban a neki megfelelő helyértéken 1-es áll (4-19. á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

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 111 ►


Számítógépes folyamatirányítás A találkozás
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 112 ►

Az áramkomponensek sorozata egy I0 áramból és annak binárisan kerek


számú törtrészeiből áll, Uref egy stabilizált referenciafeszültség, I0=Uref/R.
Az ellenállás-ágak kapcsolói általában FET-es kapcsolók, amelyeket az
adatregiszter egyes bitjeinek logikai szintjei vezérelnek. Az átalakítás pon-
tossága a referenciafeszültség stabilitásától és az ellenállások pontosságától
függ. A működés igen gyors, az átalakítási idő μsec nagyságrendű.
Többcsatornás analóg kimeneti periféria is kialakítható (4-21. ábra).

4-21. ábra

Ilyenkor a D/A kimeneti jele egy kimeneti kapcsolón (demultiplexer) ke-


resztül jut a megfelelő kimeneti csatornára. A demultiplexer (a multiplexer
inverze) olyan rendszertechnikai elem, melynek egy bemenete és több,
címezhető kimenete van, és a bemeneti jel mindig az aktuálisan megcím-
zett kimenetre kapcsolódik (4-22. ábra).

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 112 ►


Számítógépes folyamatirányítás A találkozás
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 113 ►

4-22. ábra

A demultiplexerek áramköri kialakítása a multiplexerekéhez hasonló (lásd


korábban).
A folyamat analóg működtetésű beavatkozó szervei általában folyama-
tos jelet igényelnek. A többcsatornás kimeneti perifériák D/A átalakítója
azonban csak rövid ideig kapcsolódik egy csatornára, hiszen időben egy-
más után, (ciklikusan) több csatornát kell kiszolgálnia. Ezért az átalakítás
szüneteire a jel fenntartásáról csatornánként gondoskodni kell. Ez az un.
tartószerv feladata. A tartószerv lehet a beavatkozó szerv része is, de ha
ott nincs, akkor a periférián kell elhelyezni. A tartószerv (analóg memória)
a legegyszerűbb esetben egy kondenzátor, amely az átalakítás ideje alatt a
D/A kimenetén keresztül feltöltődik, majd átkapcsolódik a csatorna-
kimenetre és tartja a feszültséget. Megjegyezzük, hogy a repülőkondenzá-
toros kialakítású demultiplexer egyben tartószerv is.
A többcsatornás analóg kimeneti kártyákon az aktuális csatorna kivá-
lasztása (a demultiplexer vezérlése) a vezérlő áramkör feladata.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 113 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 114 ►

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).

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 114 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 115 ►

5-1. ábra

Vannak a hálózati kommunikációval kapcsolatos feladatok (ezekkel e


tárgyban nem foglalkozunk), vannak az operátori (kezelői) kapcsolathoz,
és vannak a folyamatkapcsolathoz kötődő feladatok. De van még egy ne-
gyedik - befelé néző - arc is. Ezt olyan feladatok jellemzik, melyek csak
közvetve kapcsolódnak a külvilághoz (belső feldolgozások, számítások).
A feladatok hierarchia-szintekhez is köthetők. Egyesek a felügyelői
irányítás szintjén jelentkeznek, mások lejjebb, a szabályozó (DDC), vagy a
sorrendi irányítás szintjéhez kötődnek. E jegyzetben a DDC-irányítás
funkcióit csak érintjük, a sorrendi irányítás feladataival pedig egyáltalán
nem foglalkozunk. (Az utóbbiakat általában amúgy sem számítógéppel,
hanem PLC-vel szokás megoldani.)

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 115 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 116 ►

Egy terminológiai megjegyzés: A ’funkció’ egy végrehajtandó feladat.


Az ’algoritmus’ a feladat lépéseinek és a végrehajtás sorrendjének egzakt
leírása. A ’program’ az algoritmus gépi realizációja. A három szó nyilván-
valóan különböző jelentést hordoz. Mi azonban az egyszerű szóhasználat
érdekében, és ha nem okoz félreértést, a három szót olykor szinonimaként
fogjuk használni.
A programok működésük során változó adatokat kezelnek. Ezeket az
adatokat szokás folyamatváltozónak nevezni, utalva arra, hogy ezek a
folyamat állapotát jellemzik, vagy működését befolyásolják. A folyamatvál-
tozó lehet mért, számított, vagy irányított. A mért folyamatváltozó olyan
adat, amely közvetlenül egy input folyamatperifériáról érkezett be. A szá-
mított változók a mért változókból számítási műveletekkel előállított, köz-
vetlenül nem mérhető adatok. Az irányított változók a folyamatba kikül-
dött, annak állapotát befolyásoló, rendszerint számításokkal előállított
adatok.
Az irányítás kapcsán felmerülő feladatok időbeli lefutás szerint lehet-
nek periodikusak, vagy nem-periodikusak. A periodikus feladatokat reali-
záló programok ciklikus jellegűek és automatikusan ismétlődnek. A nem-
periodikus feladatok aktiválódásuk módjától függően lehetnek időzítettek,
illetve eseményvezéreltek. Az előbbiek meghatározott időpontban jelent-
keznek, az utóbbiakat valamilyen folyamatesemény bekövetkezte aktiválja.
A következőkben a felügyelői irányítás szintjéhez kötődő tipikus fel-
adatokat tárgyaljuk.

5.1. Az analóg folyamatjelek mérése és


előfeldolgozása
Az analóg folyamatjeleken - mielőtt azok további feldolgozás (haszno-
sítás) céljából bekerülnének a rendszer adatbázisába - az alábbi művelete-
ket kell elvégezni:
• mintavételezés,
• átkódolás,
• méréskorrekció,
• digitális szűrés,
• átszámítás fizikai értékre.
E feladatok tipikus periodikus tevékenységek.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 116 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 117 ►

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.

A mintavételezéssel kapcsolatos alapvető követelmény az, hogy a vett jel-


minták sorozata hűen képviselje az eredeti folyamatos jelet, vagyis az ere-
deti jel által hordozott információt a mintasorozat is megőrizze.

Az 5-2. ábra két folyamatos jel (A és B) azonos gyakoriságú mintavéte-


lezését mutatja.

5-2. ábra

Az ábra alapján úgy tűnik, hogy az A esetben a mintavételezés megfelelő, a


B-ben viszont nem. Az, hogy a minta értéke mindkét függvény adott pilla-

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 117 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 118 ►

natbeli függvényértékével megegyezik, természetesen igaz, ám ez kevés. A


t1 pontban az A görbe lokálisan növekszik, a B viszont csökken. A szom-
szédos mintákból (t0, t1) számított közelítő derivált (differenciahányados) a
t1 pillanatban pozitív, ami helyesen tükrözi A növekedését, de félrevezet
B-t illetően. A mintasorozat tehát B-t nem jellemzi kielégítően, mert már
olyan egyszerű függvénytani tulajdonságra, mint a növekedés/csökkenés
sem lehet belőle következtetni. Mi a lényeges különbség a két jel között?
Az A lassan, a B viszonylag gyorsan változik. Ez más szavakkal azt jelenti,
hogy A spektrumában csak kisfrekvenciás harmonikus komponensek van-
nak, míg B spektruma nagyfrekvenciás összetevőket is tartalmaz. Látható,
hogy ha B-ből gyakrabban vennénk mintákat, akkor az a sorozat már mag-
felelő lenne. A folyamatos jel spektruma és a helyes mintavételi gyakoriság
között tehát összefüggés van, amelyet kvantitatív formában Shannon un.
mintavételi törvénye ad meg. Eszerint, ha a folyamatos jel sávkorlátozott
(vagyis van legnagyobb frekvenciájú harmonikus összetevője), és sávkor-
látja fh, akkor az eredeti jel visszaállíthatóságához szükséges mintavételi
frekvenciának 2fh-nál nagyobbnak kell lennie:
fτ > 2fh
ahol fτ a mintavételi frekvencia (a mintavételi periódusidő reciproka). A
tétel bizonyítása a jelelmélettel foglalkozó gazdag irodalomban megtalálha-
tó, az alábbiakban csak szemléltetjük a tartalmát.
A matematikából ismeretes, hogy bizonyos feltételeknek eleget tevő
függvények felbonthatók harmonikus (szinuszos) összetevőkre (Fourier-
sor, Fourier-integrál) és fordítva, a harmonikus komponensek szuperpozí-
ciójával visszaállíthító, rekonstruálható az eredeti függvény. Egyetlen szi-
nuszos jel két olyan minta alapján meghatározható, melyek időbeli távol-
sága rövidebb a periódusidő felénél. (Az egyenlőség azért nem engedhető
meg, mert akkor mindkét minta egybeeshet a függvény nullátmeneteivel és
az amplitúdó nem határozható meg.) Ha a jel sávkorlátozott, akkor van
legnagyobb frekvenciájú harmonikus összetevője, és ha ez rekonstruálha-
tó, akkor a jel összes többi komponense is meghatározható, vagyis a jel a
minták alapján teljesen visszaállítható. A számítógép természetesen nem
állítja vissza a folyamatos jelet (nem is tudna mit kezdeni vele; arról nem is
beszélve, hogy ha ez lenne a célja, akkor miért vett mintát, hiszen a folya-
matos jel megvolt), hanem csak a mintákkal dolgozik. De ha a mintavételi
feltétel teljesül, akkor a mintasorozat hűen képviseli a jelet és a minták
alapján biztosan lehet következtetni az eredeti jel tulajdonságaira.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 118 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 119 ►

Ha a jel nem sávkorlátozott, akkor a mintavételnek végtelen sűrűnek


kell lennie, de ez már nem mintavétel, hanem magának a folyamatos jelnek
az érzékelése.
A valóságos jelek általában nem sávkorlátozottak. Ez az előző megál-
lapításunk fényében tragikusan hangzik, hiszen ebből az derül ki, hogy a
valóságos jeleket nem lehet kielégítően mintavételezni. A helyzet azonban
nem ennyire rossz, ugyanis majdnem mindig kijelölhető egy olyan - a fo-
lyamatirányításban nem is túl nagy - frekvencia, amely fölött a spektrum
gyakorlatilag elenyészik. Ezt tekinthetjük gyakorlati sávkorlátnak, és a min-
tavételi frekvenciát ennek alapján írhatjuk elő.
A következőkben kvalitatíve megvizsgáljuk, hogy milyen hatással jár,
ha a mintavételi törvényt nem tartjuk be (5-3. ábra).

5-3. ábra

A mintavételezendő jel (J) egy T periódusidejű háromszögjel-sorozat.


(Szinuszos jelet illene választanunk, de ez könnyebben felrajzolható, és a
hatás ezen is tökéletesen demonstrálható.) A jelből ¾ periódusonként
veszünk mintákat, ahelyett, hogy periódusonként kettőnél többet vennénk.
A mintasorozatra egy, az eredeti jelhez hasonló, de annál lényegesen ki-
sebb frekvenciájú jel (szaggatott vonal, J’) illeszthető. Ez a jel természete-
sen nem létezik, de a minták alapján mi ezt érzékeljük (és a számítógép is
ezt érzékeli) valóságos jelnek, vagyis: egy káprázatot hiszünk valóságnak.
Még egy tanulságos példa: ha bármilyen periodikus jelből pontosan a peri-
ódusidőnek megfelelő gyakorisággal veszünk mintákat, akkor a minták
alapján állandó (zérus-frekvenciás) jelre következtetünk, hiszen egy perio-
dikus jelre f(t)=f(t+nT). Általában is igaz, hogy azok a spektrális kompo-
nensek, amelyek kívül esnek a gyakorlati sávkorláton, amelyekre tehát nem
teljesül a Shannon-feltétel, fiktív módon egy jóval kisebb frekvenciás tar-
tományban jelennek meg és eltorzítják a valóságos helyzetet. Ezért a gya-

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 119 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 120 ►

korlati sávkorlát megválasztásánál igen óvatosan kell eljárni, semmilyen


jelentősebb amplitúdójú jelkomponens nem kerülhet azon kívülre.
Az 5-4. ábra egy zajos jel spektrumát, az 5-5. ábra pedig a jel időfügg-
vényét mutatja.

5-4. ábra

5-5. ábra

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 120 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 121 ►

Kisfrekvenciás jelre jóval nagyobb frekvenciájú zaj szuperponálódik. A zaj


jól szűrhető, megtehetjük, hogy a mintavételezés előtt analóg szűrővel
leválasztjuk a jelről. Ebben az esetben a mintavételi frekvencia megválasz-
tása szempontjából fh1 tekinthető sávkorlátnak. De ha úgy döntünk, hogy a
zajt digitálisan szűrjük, akkor a zajos jelet kell mintavételezni, mégpedig
megfelelő gyakorisággal, tehát a sávkorlátot ki kell tolni úgy, hogy a zaj-
spektrum is belülre essen (fh2). Vagyis a mintavételi törvényt a zajra is
be kell tartani! (Ez persze lényegesen sűrűbb mintavételt igényel.) Ha ezt
nem tesszük, a zaj - hatását tekintve - a hasznos jel spektrális tartományá-
ban jelenhet meg és szűrhetetlenné válik.

Annak idején az egyetemen tanárom, Megyeri József így fogalmazott: „A


mintavételi törvény be nem tartása nem szűrés.” Ezt a tömör, de nagyon
jelentős megállapítást most eredeti formájában továbbadom.

A Shannon-törvény a mintavételi frekvencia minimálisan szükséges ér-


tékét írja elő. Ennél sűrűbben elméletileg nem kell, gyakorlatilag viszont
lehet, sőt, kívánatos mintát venni. Megint hangsúlyozzuk, hogy a számító-
gép nem az elméletileg visszaállított folyamatos jellel dolgozik, hanem csak
a mintákkal, és több minta gyakorlatilag jobban jellemzi a jelet, mint
kevesebb.
A számítógépes folyamatirányító rendszerek többségénél a mintavételi
törvény betartása nem problematikus, sokszor szinte magától megvalósul.
Ahol a helyzet egy-egy jel vonatkozásában kritikussá válik, ott a jelet ana-
lóg módon kell szűrni, önálló, gyors A/D-vel ellátott input periférián kell
behozni és természetesen az adatgyűjtő programnak sűrűbben kell lekér-
deznie.
Néhány gyakorlati mintavételi idő:
• áramló mennyiség tömegárama: 1 sec
• nyomás: 5 sec
• folyadékszint tartályban: 5 sec
• hőmérséklet: 20 sec
• összetételi változók (koncentráció, pH, stb.): 20 sec
5.1.2. Az átkódolás
Az átkódolás egy kódrendszer valamely kódszavának egy másik kód-
rendszer megfelelő szavára való konverzióját (lefordítását) jelenti. Az át-

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 121 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 122 ►

kódolás - mint feladat - digitalizált analóg és digitális jelekkel kapcsolatban


egyaránt felmerülhet.
A digitális jelek átvitele során az átvitel biztonságának növelése érde-
kében az egybites jeleket gyakran redundáns módon, több biten ábrázol-
ják. Ebben az esetben az átkódolás a redundancia megszüntetését, az ere-
deti bit-érték visszaállítását jelenti.
Analóg jeleknél akkor szükséges az átkódolás, ha az A/D átalakító által
használt számábrázolási mód nem felel meg a processzor számábrázolásá-
nak. Az A/D-ről leolvasott számokat általában kettes komplemens kódba
kell konvertálni, ha pedig a számítógép a számításokhoz lebegőpontos
adatokat igényel, akkor még egy fixpontos→lebegőpontos konverziót is
végre kell hajtani.
5.1.3. A méréskorrekció
A méréskorrekcióval a folyamat jelátalakítóinak - a referencia-
feltételektől eltérő üzemi körülmények közti működtetéséből eredő -
rendszeres hibái küszöbölhetők ki.
Az 5-6. ábra ugyanazon jelátalakító két statikus karakterisztikáját mu-
tatja be.

5-6. ábra

Az a) ábrán az előírt feltételek közt üzemelő átalakító statikus karakte-


risztikája látható. A karakterisztika lineáris,
y=ax,
ahol a az érzékenység. Az átalakító x0 bemeneti jel hatására y0=ax0 kimene-
ti jelet ad. Ez a helyes érték.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 122 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 123 ►

A b) ábra ugyanannak a jelátalakítónak az üzemi feltételek megváltozá-


sa következtében deformálódott statikus karakterisztikáját ábrázolja. Ez
y’= a’x+b
alakú lett, ahol a’ a megváltozott érzékenység, b pedig a nullponteltolódás.
Most az átalakító x0 hatására y0’=a’x0+b jelet szolgáltat. Ez az érték hibás.
Ha a, a’ és b ismert, a bejövő, hibás y’0-ból a helyes y0 kiszámítható:
y ,0 − b
y0 = a ,
a
Az a az átalakító műszerkönyvéből ismert, az a’ és a b értékét előzetesen
meg kell mérni és mindhármat tárolni kell a memóriában, hogy a számító-
gép elvégezhesse a mért érték korrigálását. Természetesen a korrekcióhoz
szükséges adatokat jelátalakítónként (analóg csatornánként) külön kell
megadni.
A korrekciós eljárások körébe tartozik a nemlineáris statikus karakte-
risztikák linearizálása („kiegyenesítése”) is.
5.1.4. A digitális szűrés
Míg a rendszeres mérési hibák korrekcióval, a véletlen, zajból eredő
hibák szűréssel küszöbölhetők ki (vagy legalábbis csökkenthetők). A szű-
résről általánosságban korábban már szóltunk, itt most a digitális (algorit-
mikus) szűrés néhány gyakori algoritmusát mutatjuk be.
Említettük már, hogy a folyamatirányításban a hasznos jelek szinte ki-
vétel nélkül egyenfeszültségű, vagy igen kis frekvenciás (lassan változó)
jelek. A szűrendő zavarok mindig nagyobb frekvenciájú spektrális tarto-
mányban jelennek meg, így aluláteresztő szűrőket kell alkalmazni.
Aluláteresztő szűrőnek minden minimumfázisú arányos tag megfelel. Ha
egy ilyen tag differenciálegyenletét átírjuk a jelmintákra vonatkozó diffe-
renciaegyenletté, akkor olyan algoritmust kapunk, amely szűrőként visel-
kedik, vagyis kimeneti értéke a jel szűrt mintájának tekinthető.
A) Az elsőrendű, exponenciális szűrő
Ez az egytárolós arányos tag szűrőhatását valósítja meg. A folyamatos
jelekre vonatkozó differenciálegyenlet:
 + y(t) = x(t)
Ty(t) (5.1)
ahol x(t) a bemeneti (nyers, zajos), y(t) a kimeneti (szűrt) jel, T az idő-
állandó, ponttal az idő szerinti differenciálást jelöltük. A frekvencia-
függvény un. törésponti körfrekvenciája (az a frekvencia, amelytől
kezdve a szűrőhatás érvényesül) az időállandó reciproka. Feltételezzük,

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 123 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 124 ►

hogy a mintavételi időt (τ) helyesen választottuk meg és így a minták-


ból számított differenciahányados jól közelíti a folyamatos jel időderi-
váltját. Az (5.1)-nek megfelelő differenciaegyenlet:
y − y n −1
T n + y n = xn (5.2)
τ
ahol xn az aktuális szűretlen (nyers) minta, yn az aktuális szűrt minta,
yn-1 a megelőző mintavételkor számított - a memóriában tárolt - szűrt
minta. A differenciaegyenletből yn-et kifejezve kapjuk, hogy
τ T
yn = xn + y n −1
T+τ T+τ (5.3)
Ez a képlet a szűrőalgoritmus. Eszerint tehát az aktuális szűrt értéket
két komponens lineáris kombinációjaként (súlyozott összegeként) le-
het előállítani: az aktuális nyers és a megelőző szűrt adatból. Az algo-
ritmus rekurzív, így indításakor a még nem létező yn-1=y0 önkényesen
kell megadni. Szokás y0-nak x0-t előírni
A (5.3) együtthatóiban szereplő τ mintavételi időt a zajspektrumra is
kiterjesztett sávkorlát alapján kell meghatározni (lásd fentebb), míg a
szűrő T időállandóját úgy kell megválasztani, hogy a megfelelő analóg
szűrő frekvenciafüggvényének törésponti körfrekvenciája a zaj
spektrális tartományának alsó határánál kisebb legyen, vagyis a zaj-
spektrum már a frekvenciafüggvény csillapító szakaszára essen. Mindig
igaz, hogy τ<T, sőt, általában τ<<T.
Nem helyes, de esetenként mégis mellőzik az előbbi megfontolásokat,
és a szűrőalgoritmust
y n = αx n + (1 − α )y n −1
formában írják fel, ahol az α együttható tartalmi vonatkozásaitól elte-
kintenek, értékét pedig bizonyos feltevések alapján, vagy empirikusan
határozzák meg. Nyilván 0<α<1. Ha α=0 lenne, a szűrő nem venné
figyelembe az aktuális nyers mintát, a kimenet megegyezne az előző ér-
tékkel és örökre állandó maradna. Ez a totális szűrést jelentené, amely
egyáltalán nem vesz tudomást a bemeneti jelváltozásokról. Ha α=1
lenne, akkor a szűrt érték megegyezne az aktuális nyers értékkel, tehát
egyáltalán nem lenne szűrőhatás. A képlet alkalmazásakor általában így
gondolkodnak: ha a jel viszonylag zajmentes, célszerű α értékét na-
gyobbra, ha pedig erősen zajos, akkor kisebbre választani. A jel „zajos-
ságának mértékét” megfigyelések alapján, becsléssel állapítják meg.
B) A másodrendű szűrő

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 124 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 125 ►

A másodrendű szűrőalgoritmus a kéttárolós arányos tag differenciál-


egyenletéből származtatható. E tag frekvenciafüggvényének abszolút
értéke a törésponti körfrekvencia fölött meredekebben csökken, így
ebben a tartományban az elsőrendű szűrőénél erőteljesebb szűrőhatás
érvényesül. A differenciálegyenlet:
T 2y(t) + 2ζTy(t)
 + y(t) = x(t) (5.4)
ahol T az időállandó és ζ az un. csillapítási tényező (0<ζ≤1). Az időde-
riváltakat itt is differenciahányadosokkal közelítjük, a második derivált
közelítő értéke két egymás utáni differenciahányados differenciahá-
nyadosa:
y − y n −1
 ≈ n
y(t)
τ
y n − y n −1 y n −1 − y n − 2

τ τ y − 2y n −1 + y n − 2
y(t) ≈ = n
τ τ2
E kifejezéseket (5.4)-be helyettesítve, némi rendezés után az aktuális
szűrt értékre a következő formulát kapjuk:
τ2 2T 2 + 2ζTτ T2
yn = x n + y n −1 − y n−2
T 2 + 2ζTτ + τ2 T 2 + 2ζ Tτ + τ 2 T 2 + 2ζ Tτ + τ 2
(5.5)
A jobboldalon szereplő együtthatók összege itt is 1-et ad. Az algorit-
mus rekurzív módon, az aktuális nyers és a két megelőző szűrt jelmin-
tából számítja ki az aktuális szűrt értéket, vagyis itt két megelőző szűrt
mintát kell tárolni. Az algoritmus indításakor yn-1=y0, illetve yn-2=y-1
önkényesen írandó elő. A mintavételi idő és a T időállandó megválasz-
tására vonatkozólag az elsőrendű szűrővel kapcsolatban mondottak
érvényesek.
Általában a k-adrendű digitális szűrő a szűrt értéket a pillanatnyi nyers
érték (xn) és k-darab megelőző szűrt minta lineáris kombinációjaként
állítja elő:
k
y n = α0 xn + ∑ α i y n −i 5.6)
i =1
ahol
k
α0 + ∑ α i = 1
i =1

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 125 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 126 ►

Az αi együtthatók konkrét kifejezései esetenként határozandók meg.

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.

C) A logikai adaptív szűrő


Az elsőrendű exponenciális szűrőalgoritmus (5.3) kis átalakítással átír-
ható az alábbi alakba:
y n = y n −1 + KDn 5.7)
ahol
τ
K=
T+τ
És
Dn = x n − y n −1
Ez utóbbi mennyiség az un. gradiens, a pillanatnyi nyers érték és a
megelőző szűrt érték különbsége, tehát a pillanatnyi zaj becsült értéke.
Az adaptív szűrő működése során folyamatosan kiszámítanak N-darab
gradienst (a pillanatnyi és N-1 megelőző értéket és képezik ezek aktuá-
lis átlagát és szórását:
1 n −( N −1)
Dn =
N i =n
∑ Di
illetve
1 n −( N−1)
σn = ∑
N i =n
(D i − D n )2 .

Ha a bemeneti jelen (xn) nincs kiugró változás, azaz


Dn − Dn −1 < 3σn −1 ,
vagyis az aktuális zaj ( Dn ) a korábbi zajátlagnak ( Dn −1 ) megfelelő, ak-
kor az yn kimenetet az (5.7) formula szerint számítják.
Ha a bemeneti jel hirtelen megnő (vagy lecsökken), vagyis
Dn − Dn −1 ≥ 3σn −1 (5.8)
akkor ezt a kiugró értéket (amely nagy amplitúdójú zajra utal) nem ve-
szik figyelembe és aktuális szűrt értéknek a megelőzőt tekintik:

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 126 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 127 ►

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).

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 127 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 128 ►

5-7. ábra

Az ábrán SF a fizikai skála, Ff annak felső, Fa pedig alsó végpontja (a


mennyiség üzemszerű értékeinek felső és alsó határa); SD a digitális skála,
Df és Da annak felső és alsó határa (az A/D által előállítható legnagyobb és
legkisebb szám). Az Ff-nek Df, az Fa-nak Da feleltethető meg. A két skála
közti lineáris leképezés azt jelenti, hogy valamely közbülső F és D értékre
igaz, hogy

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 128 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 129 ►

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ó.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 129 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 130 ►

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-

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 130 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 131 ►

lű zavarimpulzusok szuperponálódnak, a különbségképzéskor a közel


azonos értékű hasznos jelkomponens kiesik, míg a zavaramplitúdók ösz-
szegződnek! Így a differenciahányados nem a jelből, hanem a zavarokból
képződik és teljesen hamis értéket adhat. Ez még akkor is így lehet, ha a
zavarokra is betartjuk a mintavételi törvényt. Jegyezzük meg: a differenciá-
lás rendkívül zavarérzékeny művelet, ezért deriválni kizárólag csak szűrt
jelet szabad.
A zavarérzékenység mélyebb összefüggésben is megvilágítható. A dif-
ferenciálás a változásokra érzékeny, gyors változáskor ad nagy értéket. Ha
egy jel gyorsan változik, az arra utal, hogy spektrumában a nagyfrekvenci-
ás komponensek dominálnak. A differenciáló elem felüláteresztő jellegű,
ami azt jelenti, hogy ezeket a zajból eredő komponenseket nemhogy nem
csillapítja, hanem kiemeli.
Kevésbé zavarérzékeny az un. négypontos formula. Itt a differencia-
hányadost négy egymás utáni mintából számítják úgy, hogy a két szélső és
a két belső mintából adódó differenciahányadosok átlagát képezik:
x n − x n −3 x n −1 − x n − 2
+
dx(t) 3 τ τ x + 3x n −1 − 3x n − 2 − x n −3
≈ = n
dt t =t n 2 6τ

(Vegyük észre, hogy itt a szélső és a belső differenciahányadosok átlagoló


szűrése valósul meg, így el is várhatjuk, hogy javuljon a helyzet.)

5-8. ábra

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 131 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 132 ►

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

vagy rekurzív formában:


I n = I n −1 + x n τ
B) Trapéz-szabály:
tn n
x i −1 + x i
I n = ∫ x(t)dt ≈ ∑ τ
0 i =1 2
illetve a rekurzív formula:

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 132 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 133 ►

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.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 133 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 134 ►

A vészhatárérték túllépése veszélyes üzemállapot létrejöttére utal.


Ilyenkor vészjelzés generálódik és a veszélyeztetett részfolyamatot (esetleg
az egész technológiát) azonnal le kell állítani. A leállítás történhet automa-
tikusan, vagy kezelői beavatkozással. Az előző példát folytatva: a szivattyú
nem állt le, az olajszint elérte a tartály tetejét, az olaj rögtön kiömlik, vagy
már ki is ömlött. A tartály töltőnyílását tolózárral azonnal el kell zárni és
hívni kell a tűzoltókat.
A hihetőségi határértékek a jelátalakítók, a bemeneti perifériák és a
feldolgozó programok helyes működése során létrejöhető legkisebb és
legnagyobb jelértékeket adják meg. Ha egy jel e határok valamelyikét túllé-
pi, az egyértelműen a feldolgozó rendszer valamely elemének hibás műkö-
désére utal. Ilyenkor a jel további feldolgozását le kell tiltani. Példánkban:
a 10m magas tartály szintmérőjéről hirtelen olyan jel érkezik be, amely
12m-es szintre utal. Most nem a tűzoltókat, hanem a műszerészeket kell
hívni.
Az utóbb felsorolt három határérték-típus mindegyike egyaránt lehet
statikus, vagy dinamikus jellegű.
A folyamatváltozók értéke a határérték szűk környezetében ingadozhat
(pl. a tartályban az olaj felszíne hullámzik). Így a határérték-túllépés egyik
pillanatban fennáll, másikban nem (5-9. ábra).

5-9. ábra

Hogy az ismétlődő túllépések ne váltsanak ki ismétlődő jelzést és jelzés-


visszavonást, a határértékhez (FH) egy hiszterézis-sávot (H) szokás ren-

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 134 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 135 ►

delni. Ebben az esetben a túllépés-jelzés visszavonása csak akkor történik


meg, ha a jel értéke a normál üzemi tartomány felé haladva már a
hiszterézissel módosított határértéket is átlépte.
5.3.2. A digitális bemeneti jelek változásfigyelése
A digitális bementi jelek (többnyire független bitek) feldolgozása során
jelző, vagy beavatkozó tevékenység rendszerint csak a bitek megváltozásá-
hoz kötődik, így gyakran elegendő csak a bitek változását figyelni, vagyis a
beérkezett bithalmazból csak a megváltozottakkal foglalkozni.
Említettük, hogy több bit együtt, nagyobb egységekbe, gépi szavakba
rendezve érkezik be. A gépi szóból ki kell választani azokat a bitpozíció-
kat, ahol változás történt, és meg kell állapítani a változás irányát (0→1:
felfutó él, 1→0: lefutó él). A változás észleléséhez a szó megelőző (az elő-
ző lekérdezéskor bejött) értékét tárolni kell.
Az azonosító algoritmus a következőképpen működik. Először a régi
és az új szó tartalmát KIZÁRÓ-VAGY kapcsolatba kell hozni. Ennek
eredményeképpen létrejön egy változás-szó, melynek azon helyein lesz
logikai 1-érték, ahol változás történt. Ezután annyi szelektív maszkot kell
létrehozni, ahány bites a szó. Minden ilyen maszk csak egy biten tartalmaz
1-es értéket. Ezek után egy ciklusban minden egyes maszkot rá kell illesz-
teni a változás-szóra (logikai ÉS-művelet). Amely maszknál a művelet zé-
rus eredményt ad, ott a maszk által kijelölt biten nem volt változás. Ha az
eredmény nem nulla, akkor változás történt. Ekkor a maszkot rá kell il-
leszteni az új adatszóra is. Ha az eredmény zéró, akkor a változás helyén
az új szóban 0 érték van, tehát a változás 1→0 volt. Ha az eredmény nem
zéró, akkor 0→1 átmenet zajlott le. Így az összes bitváltozás helye és irá-
nya megállapítható. Az algoritmus befejeződése után a régi szót felül kell
írni az újjal, mert a következő lekérdezéskor már ez képviseli a régi értéket.
A digitális bemeneti perifériák tárgyalásakor szóltunk a változás-
érzékeny adatbemenetről. Az ilyen bemenet alkalmazása nem helyettesít-
heti a fenti algoritmust, mert a periféria nem bit-szelektív, csak a változás
tényét és helyeit észleli, de nem azonosítja egyenként a megváltozott bite-
ket és nem határozza meg a változások irányát sem. Az ilyen perifériák
alkalmazásával csak annyit nyerhetünk, hogy a változás megszakítást gene-
rál, tehát felhívja magára a figyelmet, továbbá nem kell a régi adatszót tá-
rolni és KIZÁRÓ-VAGY művelettel létrehozni a változás-szót, mert az
beolvasható a perifériáról.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 135 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 136 ►

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.

Olyan ez, mint a könyvtár: nem megyünk be a 3. terembe és nem vesszük


le a 12. polcon balról a 4. könyvet, hanem a könyvtárostól kérjük Arany
János Toldiját és majd ő bemegy a 3. terembe és kihozza a 12. polcon
balról a 4. könyvet, ha éppen más már korábban el nem kérte, tehát ha
odaadhatja. Mi egyébként nem is tudjuk, hogy a kért könyv hol van!

A felhasználói programoknak szigorúan tilos az adatbáziskezelő megkerü-


lésével, fizikai címmel hivatkozni egy-egy adatra. Ezt persze nem ellenőrzi
és nem akadályozza meg semmi, de a programozónak tudnia kell, hogy az
ilyen hivatkozások rendkívül súlyos programhibákat, adatkárosodásokat
eredményezhetnek.
Az adatbáziskezelő formailag egy szubrutin, amelyet megfelelő beme-
nő paraméterek megadásával hívhatnak a felhasználói programok. E pa-
raméterek az alábbiak:

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 136 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 137 ►

• az elérni kívánt adat logikai azonosítója,


• egy nemóriaterület kezdőcíme (az a hely, ahol a kész, beírandó
adat található, vagy ahová a program az adat kiolvasását kéri),
• a hozzáférés módja (írás, vagy olvasás).
A logikai azonosító és az adatbázis struktúrája ismeretében az
adatbáziskezelő előállítja az adat fizikai címét, majd végrehajtja az átírást a
program által kijelölt terület és az adatbázis között.
Egy adatot értelemszerűen egy program ír (módosít), de több program
olvashat. Az írást és az olvasást szét kell választani, vagyis biztosítani kell,
hogy éppen írt adatot ne lehessen olvasni, vagy éppen olvasott adatot ne
lehessen írni. Az adatbáziskezelő elvileg nem lehet újrahívható szubrutin,
hiszen olyan memóriaterületet használ, amely több (az összes) program
számára közös: ez mag az adatbázis. Ezért biztosítani kell, hogy egy-egy
adat beírásának, vagy kiolvasásának teljes ideje alatt az adatbáziskezelő
zavartalanul működhessen, ezért a memóriahozzáférés idejére le kell tiltani
a megszakításrendszert. Ekkor viszont a számítógép az óra-interruptról
sem vesz tudomást, és ha ez gyakran megtörténik, a szoftver órák elcsúsz-
nak (késni fognak). A zavartalan működés úgy is biztosítható, hogy az
adatbáziskezelőt erőforrásnak tekintjük és a szubrutint bevonjuk a rel-time
operációs rendszer erőforráskezelő mechanizmusának hatáskörébe (lásd a
6. fejezetben).
A számítógépes folyamatirányító rendszerek adatbázisai a sok adat el-
lenére sem túl nagyok, mert az egyes, logikailag azonosítható (egy adatbá-
zis-művelettel elérhető) adatelemek általában rövidek. Így az adatbázis
legtöbbször elfér az operatív memóriában (memóriarezidens). Ennek elle-
nére háttértárolókra is szükség van, két okból:
• az állandókat tartalmazó adatterületeket a rendszer indításakor fel kell
tölteni (adatbázis-inicializálás),
• a teljes adatbázist - archiválás céljából - bizonyos periodicitással lemez-
re szokás írni.
Maga az adatbázis logikailag egy több-dimenziós tömb, melynek ele-
mei adott hosszúságú (rendszerint több szóból álló) rekordok. Egy rekor-
dot annyi logikai cím azonosít, ahány dimenziós a tömb (dimenziónként
egy). A logikai azonosítók az adott dimenzió szerinti indexek. Egy adatbá-
zis-művelettel egy rekord érhető el. A rekordok belső szerkezete tetszőle-
ges lehet (pontosabban: azt a felhasználói programok szabják meg).
Példaként bemutatunk egy egyszerű kétdimenziós adatbázist, amelyet
egy konkrét, működő rendszerben alakítottak ki.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 137 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 138 ►

Az egyik dimenziót az un. „típus”, a másikat az un. „alcím” jelenti.


Minden rekord két logikai azonosítóval rendelkezik, a típussal és az al-
címmel. Egy {típus-alcím} párhoz azonban nem egy, hanem két rekord
tartozik, egy un. leíró-rekord és egy adatrekord. Ezek összetartoznak és
csak együtt értelmezhetők. Egy típuson belül mind a leíró- mind az adat-
rekordoknak azonos hosszúságúaknak kell lenniük, de a leíróhossz és az
adathossz egymástól eltérhet. A különböző típusokba sorolt rekordok
száma különböző lehet. Az adatbázishoz tartozik egy típusleíró táblázat,
amely minden definiált típusra megadja
• a definiált alcímek darabszámát,
• a 0. alcímű leíró-rekord fizikai címét,
• a leíró-rekordok hosszát,
• a 0. alcímű adatrekord fizikai címét,
• az adatrekordok hosszát.
A típusleíró táblázat az un adatbázis-fejen keresztül érhető el. Az adatbá-
zis-fej tartalmazza a típusleíró táblázat kezdőcímét, valamint a definiált
típusok darabszámát. Az adatbázis szerkezetét az 5-10. ábra szemlélteti.

5-10. ábra

Az adatbáziskezelőt itt öt szubrutin alkotja:


• adatbázis-inicializálás,
• leíró-rekord olvasás,
• leíró-rekord írás,

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 138 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 139 ►

• 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.5. A kezelői kapcsolat


E csoportba két feladat tartozik: az adatmegjelenítés és a kezelői be-
avatkozások végrehajtása.
Az adatmegjelenítés tipikus eszközei a nyomtatók, a monitorok és -
ma már egyre ritkábban - a sématáblák. A nyomtatók a folyamat esemé-
nyeit, valamint egyes jellemző mennyiségeinek értékeit rögzítő naplókat
állítják elő. Az eseménynaplózás az esemény bekövetkeztekor felmerülő,
eseti feladat, míg az adatnaplók bizonyos periodicitással (pl. óránként,

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 139 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 140 ►

műszakokként) készülnek. Főként az eseménynaplózásnál olyan körülmé-


nyeket kell biztosítani, hogy a naplók bizonylati értékűek, azaz hamisítha-
tatlanok legyenek. A folyamat állapotát vizuálisan tükröző információk
monitorképeken jelennek meg. E képek tartalmát a technológiai követel-
mények határozzák meg, míg formai megjelenésük tervezésekor pszicho-
lógiai és ergonómiai szempontokat kell érvényesíteni (és azt is tudomásul
kell venni, hogy ehhez mindenki „ért”, és ebbe mindenki beleszól).
A kezelői beavatkozás eszközei a nyomógombok, kapcsolók, számke-
rekek, potenciométerek, illetve - újabban már - a billentyűzetek egerek,
gömbök, fényceruzák. A kezelői beavatkozásokat, vagyis egyes beavatkozó
szervek kezelői működtetését ellenőrzött módon kell végrehajtani, vagyis a
kezelői szándék véglegességére rá kell kérdezni. Veszélyes kezeléseknél
régebben un. kétgombos megoldást alkalmaztak, hogy ne lehessen véletle-
nül, visszavonhatatlan parancsot kiadni. Ez a mód a mai eszközökkel is
megvalósítható, szimulálható (pl. egérrel bizonyos időintervallumon belül
a képernyő különböző helyeire kell kattintani). A kezelő számára a prog-
ramrendszer működésébe való korlátozott beavatkozás lehetőségét is biz-
tosítani kell (pl. egy-egy folyamatjel feldolgozásának engedélyezése/tiltása,
egyes paraméter-értékek módosítása, stb.).

5.6. A DDC irányítás elve


A DDC irányítást külön, önálló tantárgy keretében lehetne ismertetni.
Itt csak az elvi alapok vázolására térünk ki.
DDC (Direct Digital Control) irányításról akkor beszélünk, ha a szá-
mítógép a szabályozási kör jelformáló szervének a szerepét is átveszi, és
így a folyamatos jeleken végzett hagyományos, fizikai jelformálás helyébe
diszkrét idejű jelminták digitalizált értékein végzett algoritmikus jelformá-
lás lép(5-11. ábra).

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 140 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 141 ►

5-11. ábra

Az ábrán a, e, b, s rendre a folyamatos alapjel, ellenőrző jel, beavatkozó jel


és a szabályozott jellemző; an, en, bn a megfelelő jelek digitalizált mintái, É
az érzékelő, B a beavatkozó szerv, a D/A magába foglalja a tartószervet is.
A számítógép az an és az en kiszámítja a rendelkező jel rn mintáját:
rn = a n − e n
és a jelformáló algoritmus ebből állítja elő a beavatkozó jel bn mintáját.
Az algoritmus megvalósíthatja (szimulálhatja) a klasszikus PID-szabályozó
működését, de olyan jelformálást is végezhet, melynek folytonos megfele-
lője nincs. A választék itt lényegesen gazdagabb, mint a hagyományos sza-
bályozók esetében.
Példaként a diszkrét-idejű PID-algoritmust mutatjuk be. A folyamatos
PID-szabályozó a beavatkozó jelet a
⎛ 1
t
dr(t) ⎞
b(t) = K ⎜ r(t) + ∫ r(t )dt + TD ⎟ (5.11)
⎝ TI 0 dt ⎠
formában állítja elő, ahol K az arányos átviteli tényező, TI az integrálási,
TD pedig a differenciálási időállandó. (Megjegyezzük, hogy a differenciáló
hatás nem lehet ideális, de ettől most eltekintünk.) Az (5.11)-et a már is-
mert közelítő differenciáló és integráló formulák alkalmazásával átírhatjuk
a jelmintákra vonatkozó alakba:
⎛ 1 n r −r ⎞
bn = K ⎜ rn + ∑ ri τ + TD n n −1 ⎟ (5.12)
⎝ TI i =1 τ ⎠

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 141 ►


Számítógépes folyamatirányítás A funkciók
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 142 ►

A jobboldal második tagja miatt ez a képlet rekurzív számításra nem al-


kalmas. Ezért bn-1-et is felírjuk, majd képezzük a két érték különbségét:
⎛ τ T ⎞
bn − bn −1 = K ⎜ ( rn − rn −1 ) + rn + D (rn − 2rn −1 + rn − 2 ) ⎟ (5.13)
⎝ TI τ ⎠
vagy az aktuális beavatkozó jelre kifejezve:
⎛ τ T ⎞
bn = bn −1 + K ⎜ ( rn − rn −1 ) + rn + D (rn − 2rn −1 + rn − 2 ) ⎟ (5.14)
⎝ TI τ ⎠
Ez azt jelenti, hogy a beavatkozó jel aktuális mintája a jel előző mintájából,
valamint a rendelkező jel aktuális és két megelőző mintájából rekurzív
módon, a minták lineáris kombinációjaként képezhető.
Az (5.14) az un. pozíció algoritmus, amely a teljes beavatkozó jel-
értéket kiszámítja. Ha a beavatkozó szerv integráló (inkremens) jellegű,
akkor csak a beavatkozó jel megváltozását kell meghatározni (és kikülde-
ni), vagyis az algoritmusnak az (5.13) szerint kell működnie. Ebben az
esetben bn-1-et nem kell tárolni. Ez az utóbbi változat az un. sebesség-
algoritmus.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 142 ►


Számítógépes folyamatirányítás A dinamika
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 143 ►

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ő.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 143 ►


Számítógépes folyamatirányítás A dinamika
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 144 ►

A fent vázolt működésmód az un. időosztásos (time-sharing) rendsze-


rekre jellemző. A folyamatirányító programrendszerek azonban nem ilye-
nek. Itt nem kell mindig minden programnak futnia, hanem - az aktuális
feladatoktól függően - csak néhánynak. Így az időt nem lehet statikusan,
állandó hosszúságú szeletekre osztani, hanem minden program akkor és
annyi időt kell, hogy kapjon, amikor és amennyire szüksége van. Az idő
felosztását prioritásos vezérléssel kell kombinálni, ami azt jelenti, hogy
adott pillanatban a futtatandó programok közül a fontosabb több időt
kaphat, mint a kevésbé fontos, amelyiknek pedig nem kell futnia, az egyál-
talán nem kap időt.
A folyamatirányító rendszer programjainak a fenti elvek szerinti mű-
ködtetését az un. real-time monitor valósítja meg.

6.1. A real-time monitor és a taskok


A monitor a real-time operációs rendszer része. A monitor szempont-
jából a folyamatirányító rendszer egyes programjai névvel (számmal) azo-
nosított, adott prioritással rendelkező logikai elemek (un. taskok). (Az
operációs rendszerekkel foglalkozó irodalomban a taskot folyamatnak
[process] nevezik.) Az egyes programok konkrét funkciói a monitor szá-
mára ismeretlenek és érdektelenek, a programok csak dobozok, melyeket
rakosgatni lehet, vagyis lehet engedélyezni a futásukat, vagy meg lehet
tőlük vonni a futás jogát.
Pontosabban fogalmazva: a task egy viszonylag önálló felhasználói
funkciót ellátó, önmagában soros működtetést (futtatást) igénylő program,
amely működése nagy részében autonóm módon fut, időnként azonban
szinkronizált információcserét bonyolít le más taskokkal és a többi taskkal
együtt verseng a processzorért. E bonyolult definíció leglényegesebb ele-
mei: a szinkronizált kapcsolat és a konkurens jelleg. (Úgy vélem, a ’fel-
használói funkció’ jelentése az 5. fejezet elolvasása után nyilvánvaló.) Min-
den taskhoz prioritást kell rendelni; a prioritás lehet statikus (állandó),
vagy dinamikus (változó). A real-time programrendszer felépítését a 6-1.
ábra mutatja be.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 144 ►


Számítógépes folyamatirányítás A dinamika
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 145 ►

6-1. ábra

A monitor szűkebb értelemben egy program, tágabb értelemben há-


rom elem:
• az un. ütemező program,
• a monitortáblázatok és
• a monitorhívások szubrutinjainak
összessége.
Az ütemező program kezeli az óra-megszakítást, valamint az idő és a
rendszerállapot ismeretében engedélyezi egy task futását. Az óra-interrupt
egy periodikus megszakítás, amely pl. 100msec-onként érkezik be és a
rendszer számára a valós idő múlását jelzi. Beérkezésekor az ütemező
program aktualizálja a szoftver-órát és az időzített taskok időzítés-
számlálóit.
A monitortáblázatok a felhasználói programrendszer állapotára jel-
lemző információkat tartalmazzák. Van az un. task-tábla és vannak a
szinkronizációs elemek táblázatai. A task-tábla egy taskhoz tartozó bejegy-
zése (például) az alábbi elemeket tartalmazza:
• task szám (név),
• prioritás,

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 145 ►


Számítógépes folyamatirányítás A dinamika
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 146 ►

• á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-

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 146 ►


Számítógépes folyamatirányítás A dinamika
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 147 ►

szoridő maradékát. Valami olyan tevékenységet lehet rábízni, ami ha elma-


rad, sem történik semmi baj (pl. memóriateszt).
Egy task három különböző állapot valamelyikében lehet(6-2. ábra).

6-2. ábra

Aktív (ACT) állapotban van egy task, ha futásának minden feltétele


adott. A monitor mindig a legmagasabb prioritású aktív taskhoz rendeli a
processzort. Egyidejűleg több task lehet aktív de csak egy futhat.
A futó task futása közben akadályba ütközhet, vagyis elveszítheti to-
vábbfutása valamely feltételét. Ilyenkor várakozó (WAIT) állapotba ke-
rül. Akadályt jelenthet egy tilosra álló szemafor, egy meg nem kapott erő-
forrás, egy meg nem érkezett üzenet, vagy egy pillanatnyilag végrehajtha-
tatlan I/O-művelet. A task addig marad várakozó állapotban, míg az aka-
dály el nem hárul. Ennek időtartama bizonytalan és a várakozó nem befo-
lyásolhatja, ugyanis az akadályt csak futó task, vagy az I/O-rendszer álla-
potváltozása háríthatja el. Ha az akadály megszűnt, a várakozó task újra
aktív állapotba kerül, és ha történetesen a legmagasabb prioritású az aktí-
vak között, akkor a processzort is megkaphatja.
A harmadik állapot az alvó, vagy nyugvó (IDLE) állapot. Ebbe a futó
task saját kérésére kerülhet (pl. akkor, ha befejezte a működését), de rend-
szer-indításkor ez a taskok alapállapota is. Az alvó állapot tarthat határo-
zatlan, vagy határozott ideig. A határozatlan idejű alvó állapotból egy

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 147 ►


Számítógépes folyamatirányítás A dinamika
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 148 ►

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.2. A szinkronizációs elemek


A taskok működésük összehangolására, egymás futásának átmeneti,
kölcsönös kizárására a monitor által biztosított un. szinkronizációs eleme-
ket használhatják. Két ilyen elem van: a flag és a postaláda.
A szinkronizációs elemek (de a később tárgyalandó erőforrások is)
névvel (számmal) azonosítható logikai elemek. A ’logikai elem’ terminus
azt jelenti, hogy fizikailag nem léteznek. Akármilyen kis darabokra sze-
dünk szét egy számítógépet, nem fogjuk megtalálni őket. Létük az általuk
kiváltott hatásban van, és ez a hatás nagyon is valóságos. A hatás úgy jön
létre, hogy pontosan betartjuk a kezelésükre vonatkozó szabályokat, vagyis
adott esetben nem tehetünk meg akármit, hanem csak úgy cselekedhetünk,
hogy közben e fiktív objektumokra vonatkozó játékszabályok ne sérülje-
nek.
6.2.1. A flag (szemafor)
A flag egy névvel azonosítható kétállapotú logikai elem, amely lehet
SET („szabad”) és RESET („tilos”) állapotban. Egy flag (például) egy
esemény leképezésére alkalmas: ha az esemény bekövetkezett, a flag SET,
ha még nem, akkor RESET állapotú. Az esemény tartalma a flag kezelése
szempontjából teljesen érdektelen, azt csak a taskoknak kell ismerniük.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 148 ►


Számítógépes folyamatirányítás A dinamika
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 149 ►

A flaggel négy művelet végezhető, mindegyik művelet egy-egy moni-


torhívás:
RQSTF: szabadra állítás (SET),
• RQCLF: tilosa állítás (RESET),
• RQASK: a flag állásának lekérdezése,
• RQWTF: várakozás a flag SET állapotára.
Minden monitorhívásnál paraméterként meg kell adni a flag számát.
Egy flag közvetítésével mindig két task kerül kapcsolatba egymással. A
taskok viszonya flaghez aszimmetrikus: az egyik állítja, a másik vizsgálja,
illetve várakozik a SET állapotra. Az RQSTF, RQCLF és az RQASK hí-
vások nem vihetik WAIT állapotba a hívó taskot. Az RQWTF hívásnál a
hívó várakozni kényszerül, ha a flag tilosra áll és csak akkor kerülhet újra
aktív állapotba, ha a másik szabadra állítja a szemafort. Egy task lekérdez-
heti egy flag állapotát (RQASK). Ez nem okozhat várakozást, viszont tilos
szemafor esetén a task nyilván nem csinálhatja azt a továbbiakban, amit
szabad szemafor esetén csinálna.
A flag használatára nézzünk egy egyszerű példát. Két task közösen
használ egy memóriaterületet, az egyik (I) írja, a másik (O) olvassa. Amíg I
be nem fejezte az írást, O nem olvashat, és fordítva. A kölcsönös kitárásra
két flaget használnak: IE az írás engedélyező, OE az olvasás engedélyező
flag. Az IE-t O állítja és I vizsgálja, az OE-t I állítja és O vizsgálja. I az
írást csak akkor kezdheti meg, ha IE szabadra áll. Az írás megkezdése előtt
OE-t tilosra, befejezésekor pedig szabadra kell állítania. O az olvasást csak
akkor kezdheti, ha OE szabadra áll. Az olvasás megkezdése előtt IE-t
tilosra, befejezésekor pedig szabadra kell állítania. A példa nagyon jól
szemlélteti a flagek használatát, de maga a feladat más eszközökkel sokkal
elegánsabban megoldható.
A monitor több (64, 128,…) flaget biztosít a taskok számára. A moni-
tortáblákban minden flaghez egy bájt tartozik, amely a flag állapotát tar-
talmazza. (Az állapotinformáció tárolására egy bájt pazarlóan sok, viszont
a szelektív bitkezelés igen hosszadalmas művelet és a monitor gyors mű-
ködése még a hajdani, memóriaszűkös világban is sokkal fontosabb szem-
pont volt, mint a memóriatakarékosság.)

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 149 ►


Számítógépes folyamatirányítás A dinamika
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 150 ►

6.2.2. A postaláda (exchange)


A postaláda egy névvel azonosítható kétállapotú logikai elem, amely
lehet „üres” és „nem-üres” állapotban. A postaládába lehet üzenetet kül-
deni, vagy (ha nem üres) lehet belőle üzenetet venni.
Az exchange kezelésére két monitorhívás szolgál:
• RQSEN: üzenetküldés,
• RQWTE: üzenetvétel.
Mindkét hívásnál paraméterként meg kell adni a postaláda számát, ezen
kívül az RQSEN-nél a küldendő üzenet kezdőcímét. Az RQWTE hívás,
ha van üzenet, annak kezdőcímét adja vissza.
Az RQSEN hívásnál a hívó task nem kerülhet WAIT állapotba, az
RQWTE-nél - üres postaláda esetén - igen. A várakozó állapotból a task
akkor szabadul, ha üzenet érkezik az exchangebe.
Az üzeneteket, ahogy a postán a leveleket, borítékban kell küldeni. A
borítéknak itt az elhasznált (feldolgozott) üzenet felel meg. Így a küldőnek
először kell vennie egy elhasznált üzenetet, annak tartalmát felül kell írnia
az új adatokkal (aktualizálni kell), és ezt kell érvényes új üzenetként elkül-
denie. A vevő, miután feldolgozta a kapott üzenetet, nem dobhatja el,
hanem elhasznált üzenetként el kell küldenie egy erre a célra fenntartott
postaládába.
A vázolt üzenetforgalom két task között két postaláda közvetítésével
szervezhető meg (6-3. ábra).

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 150 ►


Számítógépes folyamatirányítás A dinamika
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 151 ►

6-3. ábra

A két task szerepe nem szimmetrikus. Az egyik a termelő (T), ő küldi a


feldolgozandó üzeneteket, a másik a fogyasztó (F), ő dolgozza fel a kapott
üzeneteket. Az egyik postaládában (X1), a másikban (X0) az elhasznált
üzenetek gyülekeznek. A termelő X0-ból vesz és X1-be küld, a fogyasztó
X1-ből vesz és X0-ba küld.
A körforgásban résztvevő üzenetek száma állandó. Ezt a számot a fo-
gyasztó szabja meg oly módon, hogy a rendszer indulásakor adott számú
üres borítékot („elhasznált” üzenetet) küld X0-ba. Később a borítékok
száma már nem változhat, bármely időpontban az üzenetek egy része ér-
vényes, más része elhasznált. Ha sok üzenet van forgalomban, a gyorsabb
task megszaladhat a lassúbbhoz képest. Mivel azonban az üzenetek összes
száma állandó, egy idő után észre fogja venni, hogy a megfelelő exchange-
ből nem kap üzenetet, így küldeni sem tud, és le fog fékeződni. (Egyéb-
ként a gyorsabb task - lassúbb task szereposztás nem örök érvényű, azt
számtalan változó körülmény befolyásolja és dinamikusan változhat.) A
forgalomban lévő üzenetek számának növelése rugalmasabbá, csökkentése
merevebbé teszi a két task kapcsolatát. Ha csak egy üzenet van forgalom-
ban, akkor a kölcsönös kitárás esete valósul meg.
Maga az üzenet egy adott hosszúságú memóriaterület, amely két rész-
ből, az üzenetfejből és az üzenettörzsből áll. Az üzenetfejet a monitor

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 151 ►


Számítógépes folyamatirányítás A dinamika
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 152 ►

használja, a taskoknak szigorúan tilos megváltoztatni. Az üzenettörzs az


üzenet tartalmi része, ennek értelmezése az érintett taskok belügye.
A postaláda egy, az üzenetfejjel azonos méretű, egy cím tárolására al-
kalmas memóriaterület (pl. két bájt, vagy egy szó). A monitor az üzenete-
ket láncolt FIFO-ba rendezve csatolja a postaládához oly módon, hogy
minden üzenetfej a következő üzenet pointere (6-4. ábra).

6-4. ábra

Az utolsó üzenet fejében un. láncvég-jel van. A postaláda az első üzenetre


mutat. Ha a postaláda üres, akkor ő tartalmazza a láncvég-jelet. Az üzenet-
lánc FIFO jellege biztosítja, hogy a vevő task a küldés sorrendjében kapja
meg az üzeneteket.
A láncolási mechanizmus a következőképpen működik: üzenetküldés-
kor a monitor a lánc utolsó üzenetének fejéből kiveszi a láncvég-jelet és a
küldött üzenet címét helyezi bele, míg a láncvég-jel az újonnan becsatolt
üzenet fejrészébe íródik.. Üzenetvételkor a postaládában lévő címet kapja
meg a hívó, majd a postaládába a kicsatolt üzenet fejében lévő cím íródik.
A monitor a taskok számára több (64, 128,...) postaládát biztosít.

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.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 152 ►


Számítógépes folyamatirányítás A dinamika
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 153 ►

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:

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 153 ►


Számítógépes folyamatirányítás A dinamika
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 154 ►

• 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.

Szokás az erőforrást is a szinkronizációs elemek közé sorolni. Mi azért


választottuk külön, mert más a funkciója. A szinkronizációs elemek közve-
títésével rendszerint két task lép egymással kapcsolatba, míg az erőforrás
esetében egy task az összes konkurens partnerével úgy, hogy átmenetileg
kizárja őket a működésből.

A monitor több (64, 128,…) erőforrást bocsát a taskok rendelkezésére.


A monitortáblákban minden erőforráshoz egy állapotbájt (szabad/foglalt),
egy, az aktuális birtokos task számát tartalmazó bájt, és az igénylők vára-
kozási sora tartozik.

6.4. Az I/O hívások


Az I/O kezelés a real-time monitorok legkevésbé általánosítható jel-
lemzője. Több monitor a perifériakezelő programok (un. handlerek) bő
választékát tartalmazza, míg másokhoz ezeket külön meg kell írni és meg-
szakítás által aktivált task-ként, bizonyos előírások betartásával a monitor
alá kell generálni.
Ami többé-kevésbé általános, az a következő: A handlerek a perifériá-
kat megszakításosan kezelik, a beérkező, illetve kiküldendő adatokat a
monitor csatornánként input, illetve output FIFO-kba gyűjti. A taskok a
perifériákat egyáltalán nem látják, sőt, a FIFO-khoz is csak monitorhívá-
sokkal férhetnek hozzá.
Két tipikus I/O-kezelő monitorhívás van:

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 154 ►


Számítógépes folyamatirányítás A dinamika
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 155 ►

• RQINP: egy bájt beolvasása adott csatornáról,


• RQOUT: egy bájt kiküldése adott csatornára.
Mindkét monitorhívásnál meg kell adni a csatornaszámot.
Az RQINP-nél a task várakozó állapotba kerül, ha az input FIFO üres,
ha nem, megkapja a legrégibb adatot és futhat tovább. Az RQOUT-nál
paraméterként meg kell adni a kiküldendő adatot. A hívás után a task vá-
rakozó állaotba kerül, ha a FIFO tele van, ha még van hely, az adat beke-
rül a sorba és a task futhat tovább.

6.5. Egy megjegyzés a taskok türelméről


A tárgyalt monitorhívások között van négy olyan (az RQWTF, az
RQWTE, az RQINP és az RQOUT), amelyek hívásakor a hívó tasknak
paraméterként meg kell adnia egy időtartamot is, mellyel a monitor tudo-
mására hozza, hogy WAIT állapotba kerülése esetén legfeljebb mennyi
ideig hajlandó várakozni. Ezt az időtartamot time-out-nak nevezik, magya-
rul úgy mondhatjuk: türelmi idő. A time-out lehet végtelen, valamilyen
véges érték, vagy zérus.
Ha a time-out végtelen, a task, amikor újra aktív állapotba kerül, biztos
lehet abban, hogy a monitortól kért szolgáltatás rendben teljesült. Ha pl.
üzenetre várt (RQWTE), továbbfutáskor biztos lehet abban, hogy meg-
kapta az üzenetet.
Ha a time-out nem végtelen, továbbfutáskor a tasknak tudnia kell,
hogy most azért futhat, mert időközben teljesült a továbbfutás feltétele,
vagy csak azért, mert a türelmi idő lejárt. A két különböző esetben ugyanis
a task nyilvánvalóan nem folytathatja azonos módon a tevékenységét. A
monitor ilyenkor visszaadott paraméterben közli a továbbfutás körülmé-
nyeit, és a taskra van bízva, hogy mit tesz.

6.6. A monitor működése


Említettük, hogy a monitor két esetben fut: óra-interruptkor, illetve - a
köztes időben - monitorhíváskor. Most, amikor megkíséreljük összegyűj-
teni a monitor konkrét tevékenységeit, a korábbiakra támaszkodva már
igen egyszerű helyzetben vagyunk.
A) Óra-interrupt: Az összes időtől függő tevékenység ekkor zajlik le.
• A futó task megállítása, de aktív állapotban hagyása.
• A szoftver-óra aktualizálása.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 155 ►


Számítógépes folyamatirányítás A dinamika
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 156 ►

• Az IDLE állapotban levő időzített taskok időzítés-számlálóinak ak-


tualizálása. Amelyiknek letelt az időzítése, annak aktív állapotba he-
lyezése.
• A WAIT állapotban levő véges time-outos taskok time-out számlá-
lóinak aktualizálása. Amelyiknek letelt a time-outja, annak aktív ál-
lapotba helyezése, és a nem-normális aktiválás jelzése.
• A legmagasabb prioritású aktív task kiválasztása és futásának enge-
délyezése.
B) Monitorhívás: Időtől függő tevékenység nincs, az megtörtént az előző
óra-interruptnál.
• A hívó task megállítása, de (egyelőre) aktív állapotban hagyása.
• A monitorhívás jellegének megfelelő tevékenységek és állapotvál-
toztatások végrehajtása. Ha az állapotváltoztatás WAIT állapotban
levő véges time-outos task aktiválásával jár, annak jelzése, hogy az
aktiválás normális, tehát nem a time-out lejárta miatt következik
be.
• Az aktív taskok közül a legmagasabb prioritású kiválasztása és fu-
tásának engedélyezése.
A második tevékenységsor leírása nagyon általánosnak és felületesnek
tűnik (pedig éppen olyan pontos, mint az első). Ez természetes is, mert
nem mondtuk meg, hogy milyen konkrét monitorhívásról van szó. Na-
gyon javasoljuk az Olvasónak, hogy néhány konkrét hívásra alaposan gon-
dolja át a működés részleteit, vagyis töltse meg konkrét tartalommal a fen-
ti, nagyon általánosan megfogalmazott utalásokat. Ennek kapcsán azt is
gondolja át, hogy egy olyan ártatlan monitorhívásnál, amely biztosan nem
viheti WAIT állapotba a hívót, vajon biztosan ő fog-e tovább futni, vagy
olyan eset is előfordulhat, hogy csak aktív marad, de mégsem ő fut....

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 156 ►


Számítógépes folyamatirányítás Irodalomjegyzék
A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 157 ►

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.

A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 157 ►

You might also like