Irányítástechnika | Felsőoktatás » Konecsny Ferenc - Számítógépes folyamatirányítás

Alapadatok

Év, oldalszám:2006, 157 oldal

Nyelv:magyar

Letöltések száma:164

Feltöltve:2016. augusztus 05.

Méret:1 MB

Intézmény:
-

Megjegyzés:

Csatolmány:-

Letöltés PDF-ben:Kérlek jelentkezz be!



Értékelések

Nincs még értékelés. Legyél Te az első!


Tartalmi kivonat

Konecsny Ferenc SZÁMÍTÓGÉPES FOLYAMATIRÁNYÍTÁS Készült a HEFOP 3.31-P-2004-09-0102/10 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 | Tartalomjegyzék | Irodalomjegyzék A dokumentum használata Vissza ◄ 3 ► A dokumentum használata Mozgás a dokumentumban A dokumentumban való mozgáshoz a Windows és az Adobe Reader megszokott 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 tartalomjegyzékre, valamint a tárgymutatóra. A ◄ és a ► nyilakkal az előző és a következő 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 A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Tartalomjegyzé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ői68 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ák106 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ása116 5.2 Számítások 130 5.3 Ellenőrzések133 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 A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Tartalomjegyzék Vissza ◄ 5

► 6. A dinamika 143 6.1 A real-time monitor és a taskok144 6.2 A szinkronizációs elemek 148 6.3 Az erőforrás152 6.4 Az I/O hívások154 6.5 Egy megjegyzés a taskok türelméről 155 6.6 A monitor működése155 Irodalomjegyzék.157 A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 5 ► Számítógépes folyamatirányítás A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Bevezetés 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 tartalmazza. 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 jelentő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 illeszkedik: • 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 Elektronika, Programozás, Digitális hálózatok, Irányítástechnika, Digitális rendszerek, 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 fejezet 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ástechnikát. Az

Olvasóról feltételezem, hogy egyben Hallgató is, abban az értelemben, hogy jár az előadásokra, melyek az anyag verbális közvetítésén túlmenő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 lektori 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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A feladat 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 folyamatok 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 mutatókkal előírt minőségi mutatókkal rendelkező, további felhasználásra alkalmas 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áltozá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örnyezeti változások hatását (vagyis: képes a rendszert dinamikusan elszigetelni 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ő befolyá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étrehozá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 egymástól a bennük lezajló folyamatok jellege. A technológiai folyamatok anyag- és energiaáramokon végrehajtott műveletek sorozatai, ezzel szemben 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

ültetett 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 jellegé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 hasonló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ásoló környezet aktuális állapotát, más szavakkal: hogy felmérje a tényállapotot. 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 állapot 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 beavatkozá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 aktusok 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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A feladat 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 folyamatok, 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özponti idegrendszerbe jut. Ez utóbbi képes arra, hogy elemi logikai műveletek 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 reprezentá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épző) a döntéshozatalhoz, beavatkozó szervet (pl. motor, szelep) a beavatkozá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óriajellegű 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ábbiakban 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 szerint - lehet maga az irányított folyamat, vagy annak környezete. Ha a beavatkozást kiváltó információ az irányított rendszer környezetéből származik, 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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A feladat 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 (Nagyon 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áltozá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ő rendszernek zavaró, káros külső hatást kell elhárítania. Sokszor azonban a külső hatás szándékos, és célja a vezérelt rendszer működésének, üzemmódjának megváltoztatása (pl bekapcsolás, leállítás, munkapontváltás) Ilyenkor 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 beavatkozá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 azokat a zavaró hatásokat tudja elhárítani, melyek érzékelésére a vezérlő rendszer - 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örnyezetből indul ki és a vezérelt rendszerbe fut be Ebből adódik, hogy a vezé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 folyamat vázlatát és a hatások számozott oksági sorrendjét a 0-2 ábra mutatja 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 meghatározott - előírt állapottól, a szabályozó rendszer az eltérés okától függetlenü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, viszont 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 univerzálisan teszi ugyanezt.) E körülmény a szabályozások tervezése szempontjából igen kedvező, amennyiben szükségtelenné teszi a szabályozott rendszerre 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 állapota 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 szabá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. (Megjegyezzük, hogy a vezérlés esetében a beavatkozás elvileg már akkor megkezdő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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A feladat 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 hurokban 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 állapotjellemző 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űveletek, ami azt jelenti, hogy az irányító rendszer működésében csak az információáramlásnak van szerepe, az anyag- és energiaáramoknak csak annyiban, amennyiben azok információt hordoznak. Másfelől, lévén az információ

absztrakt, matematikai fogalom, önmagában, közvetlenül sem át nem vihető, sem fel nem dolgozható, így azt valamilyen, fizikailag manipulá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 valamekkora é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 csoportjá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 rendszer é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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A feladat Vissza ◄ 13 ► A jelek időben létező, időben változó objektumok. Az egyszerűbb jelek 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, érté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 folyamatos vagy szaggatott. A jel akkor folyamatos, ha egy adott időintervallum 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 beszé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 kapunk, 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öztetünk meg. Folytonos egy jel akkor, ha - legalábbis egy adott intervallumon 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ºC42ºC tartományban, 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 értelmezzü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ődlegesen 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ó birtoká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 mutató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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A feladat Vissza ◄ 14 ► patikai mérleggel mérünk, a mérendő súlyt elsődlegesen a mérleg kiegyensú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 meghatá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üggvény szerint fut le. A sztochasztikus jelnek nincs határozott időfüggvé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 (feltéve, hogy a paraméterek értékét nem befolyásolják véletlenszerű effektusok).

Ugyanakkor sztochasztikus jel pl a júniusi napi középhőmérsékletek sorozata, minthogy az évről-évre véletlenszerűen ingadozik Képezhető még a jeleknek egy természetes, ám triviális felosztása: a jelhordozó 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ültsé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 gazdasá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 jelfeldolgozó, jelátalakító műveleteket végeznek. Ezek összességének eredmé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 helyettesí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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A feladat 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 funkcioná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 összehasonlí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 modelljé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 megvizsgá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 való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álható) 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önbö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élkü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 folyamat kívánt állapotát előidézze, illetve fenntartsa. A folyamat állapota gyakran (de nem mindig!) kielégítően jellemezhető egyetlen fizikai mennyiség, egyetlen állapotjelző aktuális értékével, így a kívánt állapot is jellemezhető 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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A feladat 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 ellené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 jellemző é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álaszthatunk (é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 beavatkozá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örnyezet 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 önké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ékletének szabályozásakor nem lehet módosított jellemző a külső hőmérséklet); 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 beavatkozá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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A feladat 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ábbí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égké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 rendelkező jel a szabályozó szerv bemenőjele A szabályozó szerv feladata a rendelkező 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 jelhordozó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, alkalmas 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 helyü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áltozása olyan folyamatot indít meg, amely e változás ellen hat, azt csökkenteni, 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érletek alapján megtapasztalhatjuk, hogy a szabályozás értéktartásra és jelköveté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 minden 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ő szempont 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 pillanatban 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 bizonyos 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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A feladat 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 megvaló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

állandó, a másodikban pedig változó A követő szabályozások alapjele változhat valamilyen előre meghatározott program szerint, de változhat 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áltozó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áltozós szabályozásra akkor van szükség, ha a technológiai folyamat állapota 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 autonómnak (függetlennek) nevezünk akkor, ha minden módosított jellemző 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ályozott jellemzőt befolyásol, a sajátján kívül az összes többire nem kívánatos hatást gyakorol, így azok szempontjából zavarójellemzőként viselkedik 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özvetlenü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, alapvető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észletgazdá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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A rendszer 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 kapcsolatos, 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 sorrendi 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ödteté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 folyamatossá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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A rendszer Vissza ◄ 23 ► Szűkebb, de igazibb értelemben akkor beszélünk számítógépes folyamatirá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 bizonyos összefüggés észlelhető. Általában egyre magasabb szinteken egyre kevesebb a rutin-jellegű, periodikus feladat (vagy hosszabbak a periódusidő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 fontosabb, 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 esernyő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) szerint 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 beavatkozó 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 valamilyen 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 kialakí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égrehajtása továbbra is a kezelőszemély feladata (és felelőssége). Ha a beavatkozó á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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A rendszer Vissza ◄ 25 ► módról (on-line closed loop) beszélünk. Napjaink számítógépes folyamatirá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 lecsukni. A kezelő szerepének eme rohamos csökkenése egyébként teljesen érthető, ha arra gondolunk, hogy az idők során a számítógépek és egyéb berendezések megbízhatósága rohamosan nőtt, és mára a korábban oly megbí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 kifejlődése kísérte. Az un folyamatperifériákról van szó, amelyek különböznek 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álkozá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 meglevő 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 átveszi, 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 folyamat 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 rohamos csökkenésével. A funkciómegosztás, illetve a területi széttagolás lehetővé teszi, hogy egy-egy számítógépnek csak kisebb adatmennyiséget kelljen 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ényegesen 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 kialakí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 informá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ávadó, 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,

megjegyezve, 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 szoká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 kapcsolata Ha az átviteli közeg megsérül, a rendszer atomizálódik, a kapcsolatot 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érlő) á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érlé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 algoritmus 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 rendszer-szintű funkcióvesztés alig következik be Aktuálisan nemvezérlő terminál kiesésekor a helyzet a hierarchikus buszéhoz hasonló 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 kommunikálhat Ha a központ meghibásodik, a rendszer szétesik, vagyis a rendszer-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 tová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 legalább egy (ha azonos gyökérelemhez tartoznak), de lehet, hogy több állomás közvetítésével teremthet csak kapcsolatot egymással A fa struktúrában - a csillaghoz hasonlóan - egyidejűleg több állomás-pár kommunikálhat A fa meglehetősen bonyolult; különösebb előnyös tulajdonsá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 inkább esztétikai szempont, mint közvetlen, gyakorlati előny) A meghibá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 állomá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 mindegyiké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 feldolgozza 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 jelenti, 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 (állomá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ásokon á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ódjairól. Itt a meghatározó

szempont az, hogy milyen típusú (analóg vagy digitális) jelet, mekkora távolságra, milyen irányú kapcsolattal és mekkora sebességgel kell átvinni Minthogy a jelfeldolgozás tipikusan villamos, a jelátviteli utak is villamos 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állapotú jelek közvetlenül (áram megléte, áram hiánya) vihetők át, ám viszonylag kis sebességgel A távbeszélő vonalon a bináris jel valamilyen 3003400Hz 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élkü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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A rendszer Vissza ◄ 35 ► feltehetőn az, hogy az áthidalandó távolságok - egy-két kivételtől (pl. olajtávvezetékek szivattyúállomásai)

eltekintve - általában kicsik Az egyidejűleg átvitt információ mennyisége szerint párhuzamos, illetve 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 átviteli mód nem is lehetséges Kódolt (digitális) információ esetén a párhuzamos á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 szinkron á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 azonos 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 adatelemeket speciális bitekkel (start, stop bit) keretezni kell, hogy a vevőben egyértelmű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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A folyamat 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 folyamat szempontjából. Vonatkoztatási pontként most és a későbbiekben is

a számítógépet tekintjü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é, kimeneti 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 folyamatjeleknek, a torzító hatású jeleket zavarjeleknek nevezzük 2.1 A folyamatjelek A technológiai folyamat állapotát jellemző, valamint az állapotot befolyá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. Emiatt 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 szakterület, a nem-villamos mennyiségek villamos méréstechnikáján alapuló folyamatmű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áljuk, 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. Megjegyezzü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 minden 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épzelhető el. A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 37 ► Számítógépes folyamatirányítás A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A folyamat Vissza ◄ 38 ► 2.11 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 frekvenciahordozójú jelek tartoznak. Az ’egyenáram’ és az ’egyenfeszültség’ kifejezés természetesen nem stabilizált DC-t jelent, hanem lassan változó áramot, illetve feszültséget Az egyenáram jelek szokásos, részben szabványos tartományai: • 0.5 mA • 020 mA • 420 mA A leggyakrabban alkalmazott un. élőnullás (420mA) áramtartomány diagnosztikai eszközt biztosít, ugyanis a 0mA illegális jelérték és előfordulá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 nagysá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, induktivitá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: 10Hz100kHz). E jeltípus előnyös tulajdonsága, hogy könnyen digitalizá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ő feszü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ültséggé kell transzformálni. Ez az átalakítás általában már a számítógép analó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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A folyamat Vissza ◄ 39 ► 2.12 A digitális bemeneti jelek E csoportba a folyamat digitális állapotjelzőiből előállított villamos jelek tartoznak. Ezek több szempont szerint osztályozhatók A) Időbeli lefolyás szerint megkülönböztetünk állapotjelet és impulzusjelet.

Állapotjelről akkor beszélünk, ha az információt a jel aktuá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 állapotváltozásában (felfutó vagy lefutó él), illetve az egymás utáni állapotváltozások számában van (pl. az ajtó most becsukódott) Az állapotjelet a feldolgozáskor elég lekérdezni, az impulzusokat viszont a feldolgozásig tárolni kell, vagyis meg kell őket számolni. Állapotjelként értelmezhető pl. egy végálláskapcsoló jele, impulzuské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 bitekrő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 kompatibilis legyen a gép szóhosszúságával Független bitekről akkor beszélünk, ha a csoport egyes bitjei önálló jelentéssel bírnak Ha bizonyos bitek csak együtt értelmezhetők, vagyis egyedileg nincs jelentésük, akkor kódolt bitcsoportot alkotnak Független bitek képviselik pl. nyolc ajtó állapotát egy bájtban, míg kódolt bitcsoport 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 jelet, valamint megszakításjelet. A

számítógépbe egy digitális jel kétfé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állapotok), 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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A folyamat Vissza ◄ 40 ► tűr halasztást. A jel kikényszerítheti a számítógép azonnali figyelmét oly módon, hogy megszakítást (interrupt) okoz Ilyenkor a futó 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 eseményre. A megszakítást előidézni képes jelek a megszakításjelek 2.13 A digitális

kimeneti jelek A digitális kimeneti jelekkel a számítógép olyan beavatkozásokat kezdeményez, amelyeket kétállapotú jelekkel működtethető beavatkozó szervek (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 Fenntartott jelet igényelnek az olyan beavatkozó szervek, amelyek csak folyamatos jellel működtethetők (pl mágneskapcsoló, stb) Impulzussal működtethetők azok a digitális beavatkozó szervek, melyek bemenetén számlá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 összefüggő bitcsoportról. E jeltípusok értelmezése és jellemzői azonosak a megfelelő bemeneti jelekéivel. 2.14 Az analóg kimeneti jelek Analóg kimeneti jellel a folyamat analóg beavatkozó szervei működtethető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 - alkalmas á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, • 010V; • 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, • 020mA, • 420mA. 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 arcát mutatja a számítógép felé, hanem rút vonásai is lépten-nyomon kiütkö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 folyamatjelekkel. 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 foglalkozunk, 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 korá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 dolga, 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 rendszernek 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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A folyamat 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 információ érkezik. (A zajforrást tekinthetjük

parazita jelforrásnak, a csatolá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 megakadályozható a zavarjel bejutása a mérőrendszerbe, a már bekerült zavarjel 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 eredmé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 csatolá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 megfelelő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 átvezetés révén létrejövő rezisztív kapcsolata. Ennek csökkentése a jelvezeté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özvetíti; hatására a jelvezetékek alkotta vezető hurokban parazita feszültsé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 dobozzal 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ésmozgások időben változó villamos teret hoznak létre, amely a jelvezeté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 vezető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ólagos 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.21 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.211 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 technológiai folyamat állapotának véletlenszerű, igen lassú ingadozásaiból eredő, a mérőkörben megjelenő zavarok. Tipikus frekvenciatartományuk: 010-3Hz E zavarokat a szabályozási folyamat maga kiszűri, így ezeket szabályozható zavaroknak is szokás nevezni Lényegesen nagyobb gondot jelentenek a 10-31Hz 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 felharmonikus 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 (nagyfrekvenciá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ástechnika világa között feszülő spektrális ellentétet. Ami az egyik terü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ávközléstechnika erősítőinek bemenetén ott a soros kondenzátor a kisfrekvenciás világ kizárására.) 2.212 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 telesül), az UH feszültséget érzékeli A hasznos jel változása a jelvevő bemeneti 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 vezérli a jelvevő bemeneti pontjait. Az ilyen módon ható zavart ellenfá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öldpont, 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 veszé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, tehát a jelvevő semmit nem

érez az azonos fázisú zavarjelből. Sajnos azonban ez a feltétel a két jelvezeték mentén elhelyezkedő impedanciák egyenlő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ú zavarrá 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 jelforrá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 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 viszonyszámmal, a közösjel-elnyomással (Common Mode Rejection, CMR) szokás jellemezni. Definíciója: U AF ≈ U AF [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 CMR = 20 lg 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 érhető 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, általános következtetések vonhatók le belőlük, másrészt útmutatásul szolgálnak 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 kapcsa é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 impedanciája), r a vezetékek ellenállása Rbe

pedig a jelvevő bemeneti impedanciá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ő tulajdonké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 pontban 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 kifejezői, a vezetékek mentén elosztott szórt kapacitások koncentráltparaméterű helyettesítői. A jelvevő és a rendszerföld galvanikus kapcsolatának megszüntetésével ugyanis nem szüntettük meg az egyéb, tipikusan kapacitív jellegű parazita leföldelődést Ezen kívül még átvezeté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 gondot 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égtelen nagy, továbbá, minthogy nem kívánjuk vizsgálni a CMR frekvenciafü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 ⎠ = U AF Z11Z2 − Z22 Z1 . (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 (aszimmetriaimpedancia) ∆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öldlevezető impedanciák (Z) növelésével, illetve az aszimmetria impedancia (∆Z) csökkentésével Az előbbi jól szigetelt, kapacitásszegény vezeték alkalmazásával, az utóbbi az áramkör minél szimmetrikusabb kialakí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. 6080dB CMR érhető el, ami azt jelenti, hogy 1V UAF-ből 10,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ő villamos 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 vezetékek és a rendszerföld, hanem a vezetékek és a védőárnyékolás közti szórt kapacitások Értékük az előzőnél nagyobb lehet (ami nem kedvező), 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ő árnyé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 CMR = 20 lg Zv Z . + 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 legalább 4060dB. Így ennél a megoldásnál összességében kb 120140dB 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őárnyé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 áramkö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ültsé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.213 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 parazita helyi galvánelemek alakulnak ki, melyek egyenfeszültségű ellenfázisú zavarjeleket generálnak. B) Termikus potenciál: Különböző fémek érintkezésekor (pl. forrasztá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éggenerá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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék D) E) F) G) H) I) A folyamat Vissza ◄ 57 ► pulzusokat kelthet, illetve a logikai szintek eltolódását eredményezheti. Hasonlóan kritikus a földelési pontokon, valamint az árnyé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. Á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. 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áltakozó feszültségű ellenfázisú zajfeszültséget indukál 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 Be-, illetve kikapcsolási jelenségek: Nagy teljesítményű villamos gépek indításakor, vagy leállításakor nagy áram-, illetve feszültségváltozások jönnek létre. Ezek impulzusszerűen változó elektromágneses teret gerjesztenek, amely csatolások révén zavarokat kelt a mérőkörben. E zavarok tipikusan rövid ideig

tartó, nagyfrekvenciás spektrális komponenseket tartalmazó un. tranziens zavarok 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. Földpotenciál-különbség, földáramkörök: A földpotenciálkü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 jelvezeté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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A folyamat Vissza ◄ 58 ► keit elégethetik. Azt is láttuk, hogy a mérőrendszerekben a földpotenciál-különbség eredendően azonos fázisú zavarjelként jelentkezik, de a két pontban földelt áramkörökben teljes egészében ellenfázisú zavarrá alakul, pontosabban akként fejti ki hatását 2.22 A zajcsökkentés módszerei A bemutatott példák és a korábban mondottak alapján a zajcsökkenté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 helyzet 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 legtö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 egyetlen, közös földpontot kell kialakítani, ahová a földelő vezetékek sugarasan (és nem sínezve!) futnak be C) Védőárnyékolás: A védőárnyékolás az elektrosztatikus kölcsönhatások kiküszöbölése, és a mérőrendszer legtöbbször kapacitív jellegű parazita 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 hasznos jelet. Ilyenkor nincs mit tenni, legfeljebb csak az, hogy gondos kialakí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 pontján megszakítjuk és az információt más fizikai hordozóhoz kapcsoljuk. Ezt az eljárást galvanikus leválasztásnak nevezik Sokféle galvanikus leválasztási mód létezik, az alábbiakban három jellegzetes és gyakori 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áljuk ki. A működés első fázisában a kondenzátor a jeladó kis kimeneti ellenállásán keresztül T1=RHC időállandóval igen gyorsan feltö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állapotú 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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A folyamat 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 numerikus 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 korlá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 alkalmazott analóg szűrők a nagyfrekvenciás zavarok (feszültségtüskék) leválasztására kiválóan alkalmas, egyszerű, egy- vagy kétidőá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álkö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ó (integráló A/D) A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 62 ► Számítógépes folyamatirányítás A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A számítógép 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őszereplő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 folyamatirá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 folyamatirányító rendszereket tervező szakembernek minden említett oldalró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ékenység éles szétválasztása, és ahol a mérnök a legkevésbé engedheti meg magá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 dolog 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 ezeket eltávolítjuk mellőle, illetve

belőle, éppen olyan „csak számítógép” marad, 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 értettü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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A számítógép 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 rendszerbusz külső meghosszabbítását a rá kapcsolódó perifériákkal és azok vezérlő 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 folyamatirá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 perifériából csak a vezérlő egységet látja A perifériavezérlők rendesen slavejellgűek, de egy-egy un intelligens perifériavezérlő bizonyos rendszerekben, bizonyos

esetekben, masterré válhat (Ilyenkor a processzor átmenetileg lemond a buszvezérlés jogáról és azt a perifériavezérlő egységre ruhá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 rendszertechnikai struktúrákat az egyes egységek buszhoz való viszonya jellemzi 3.11 A buszrendszer A busz egy vezeték-köteg, melynek egyes vezetékei adott logikai funkció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 adatbusz 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ó) eszkö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 jelenté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ánossá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 • Φ1, Φ2 • SYNC • READY (be): (be): (ki): (be): a processzor alapállapotba hozása, két, eltolt fázisú órajel, buszciklus kezdete (érvényes cím kiadva), 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 • • • • • • • WAIT (ki): HOLD (be): HOLD ACK (ki): INT (be): INTE (ki): DBIN (ki): WR (ki): Vissza ◄ 66 ► a processzor vár a nem ’kész’ eszközre, külső eszköz elkéri a buszvezérlés jogát, a

processzor átadja a buszvezérlés jogát, külső eszköz megszakítást kér, megszakítás engedélyezve, a processzor olvasni fog, a processzor írni fog. 3.12 A két-buszos struktúra A korai számítógépekre jellemző, ma már nem használatos rendszertechnikai 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 buszrendszer 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észhalmazra 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 hivatkozhatnak Ez programozástechnikai szempontból kényelmetlen 3.13 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éretű stack, többszintes,

vektoros megszakításrendszer, stb.) a cég aranybetű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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A számítógép 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 csatlakozik. 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ítható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ériavezérlő időlegesen átveheti a busz vezérlését (masterré válhat) és az adatátvitel 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ármely operandusa a rendszer bármely címezhető eleme lehet. Ez a körülmé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 jellemzőkkel foglalkozunk. 3.21 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élessé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 speciá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 legelterjedtebbek. 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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A számítógép 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.22 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 értelemben 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, vagyis é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.23 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ármilyen 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 processzor 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 processzor 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 haszná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. adatregiszterek és vannak un címregiszterek (Az elnevezés nem túl szerencsé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 dokumentum használata | Tartalomjegyzék |

Irodalomjegyzék A számítógép Vissza ◄ 70 ► egyezik a gépi szó hosszával, a címregisztereké pedig a címével. (Az utóbbiak általában hosszabbak, pl bájt-szervezésű processzornál a cím rendszerint 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 folyamatban 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 felhaszná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 minden 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, nullaság, átvitel) jelzi, mások a processzor üzemállapotaival kapcsolatos, fontos jelzéseket képviselik ( pl. megszakítás engedélyezve/tiltva, stb)

Általá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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A számítógép Vissza ◄ 71 ► 3.24 Utasításkészlet, utasítástípusok Felhasználói (programozói) szempontból az utasításkészlet a proceszszor 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égrehajtható 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 HOVÁ?) 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 buszciklusnak 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 legkisebb

egységéhez: az órajel-ciklushoz (vagy állapothoz) Ennél kisebb egysé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égrehajtá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 állapotokat 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 javasoljuk 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 tudománya ellenére is egyszerű a felépítése és a működése Olyan, mintha tervezé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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A számítógép 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 lehetnek, gyakran tetszőleges párosításban. Szimbolikus formájuk: SD, 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 aritmetikai 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 processzorok aritmetikai készlete meglehetősen szegényes volt Utasításszinten 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égeznek. A művelet előtt itt is az egyik (vagy egyetlen) operandusnak az akkumulá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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A számítógép 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 processzorok, így az ilyen feladatokat több utasítással (programmal) lehet megoldani 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 tartalmazza. 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áské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érusbit kerül be. A vezérlésátadó utasítások rendkívül fontos és általában népes csoportot 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áltozatá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 utasí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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A számítógép 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, hiszen ide olyan különleges utasítások tartoznak, amelyek az adott proceszszor 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 engedé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úcsairó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.25 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 hallatlan 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 öszsze-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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A számítógép 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 keletkezik), 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 egycí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égeket 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ő szempontok szerint több csoportja létezik (Természetesen nem minden processzor 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 állandó 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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A számítógép 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álható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.31 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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A

számítógép Vissza ◄ 77 ► olyan falhoz hasonlítható, amelyet téglák egymásra rakásával emelünk és mindig a legfelső tégla levételével bontunk le. A stack aktuális tetejére (az éppen hozzáférhető elemre) egy dinamikus mutató, 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élkül, hogy a programozónak ismernie kéne a stack pillanatnyi helyzetét. Az ilyen processzorokban a stack-pointer egy speciális regiszter, melynek kezdeti értékét a programozó állítja be, a proceszszor pedig íráskor, illetve olvasáskor automatikusan aktualizálja Maga a stack a memória tetszőleges területe és mérete potenciálisan 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 hivatkozó 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 megtenni, mert - finoman fogalmazva - komoly mellékhatások léphetnek 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 legkorá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égla kihúzásával bontunk le (talán nem omlik össze). De inkább hasonlí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űveleteiné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.32 A szubrutinok A programokban gyakran előfordulnak viszonylag önálló, jól körülhatárolható funkciójú, többször ismétlődő utasítás-sorozatok. Ezeket ki lehet 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 szubrutin helyfoglalás szempontjából nem, csak időben ékelődik a hívó programba, 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ő paraméterek), ezeket a szubrutin feldolgozza, előállítja az eredményeket (kimenő paraméterek), melyeket visszatéréskor átad a főprogramnak. Máskor, 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 (kezdő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áltoztatható. 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 automatikusan 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 szubrutin 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 kezelt stacket. A processzorban kialakítottak egy regisztert (un csatoló regiszter), 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ásakor 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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A számítógép 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. szintrő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 tartalma 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 egymá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.33 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 vonatkozó válaszreakció leírását tartalmazza. Ezt a programot megszakítási rutinnak (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 órainterrutot feltétlenül kezelnie kell. Az óra-interrupt egy periodikusan jelentkező impulzus, amely gép működését a külső, valós időhöz szinkronizá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

fejezetben 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ásrendszerrel rendelkeznek, vannak olyanok, amelyekhez megfelelő külső hardver-eszközt kell illeszteni a prioritásos kezelés megvalósításához, és vannak 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

hardver, é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 megszakí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ással 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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A számítógép 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 eredő 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 megszakí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 pontja. 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 megszakított programba tér vissza Az első esetben az operációs rendszernek kell gondoskodnia a megszakított program folytatásáról, a második esetben ez automatikusan megtörténik • A vektoros megoldásnál a megszakítást okozó külső eszköz a megszakításjellel egy időben egy egyedi, azonosító kódot (mondhatjuk: a névjegyká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égrehajtja, 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özbeé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 alacsonyabb 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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A számítógép Vissza ◄ 84 ► szelektív tiltását jelenti, amely részben hardver-,

részben szoftvereszkö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 szubrutinhí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 generá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 programban, 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,

legyen 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 jelenti. 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 stacktartalmakat 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 megszakí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 dokumentum használata |

Tartalomjegyzék | Irodalomjegyzék A számítógép Vissza ◄ 85 ► 3.34 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 dolgozni, 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 munká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, munkaterü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 újrahívható, ha fix helyen lévő memóriát is használ, akkor nem. Ha a szubrutinnak 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 nyilvá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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A számítógép Vissza ◄ 86 ► Megemlítjük még, hogy egy szubrutint akkor is használhat több

program, 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ásfajta 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 kapcsolat 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 keresztü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. intelligens) 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 nyomtató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 állapotport 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ágneslemezes 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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A számítógép Vissza ◄ 87 ► fizikai címeit. A vezérlőport a processzor szempontjából mindig outputjellegű Maga az adatforgalom az adatportokon zajlik le. Az adatportok a perifé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 leolvassa 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íthatja az I/O-műveletet. A DMA során a processzor már egyáltalán nem vesz részt az adatátvitelben. Egy buszvezérlésre alkalmas (un intelligens) perifériavezérlő egysé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 cikluslopásokkal), vagy ténylegesen

párhuzamosan (olyankor, amikor a proceszszor éppen belső műveleteket végez és nem igényli a buszt) önállóan lebonyolí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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A számítógép 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ériavezé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 adatokhoz. (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 legtöbb periféria eleve nem alkalmas a DMA-ra Ugyanakkor, ha nagy adatmennyiség mozgatására van szükség (pl képernyőfrissítés, lemezműveletek), 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 sorá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éptermi) perifériák biztosítják Ide tartoznak pl a nyomtatók, monitorok, billentyűzetek, egerek, stb, de ide szokás sorolni a háttértárakat is A második 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 harmadik csoport a minket itt most egyedül érdeklő folyamatperifériák csoportja, amely a számítógép és a folyamat jel-illesztését biztosító perifériákból áll A folyamatperifériák megjelenésüket tekintve nem formatervezett csodá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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A találkozás Vissza ◄ 90 ► A vezérlő áramkör a periféria vezérlő egysége (control unit), amely tartalmat 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ű, belső 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 ► ◄ 91 ► 4-2. ábra 4.11 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 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ű feszültségjelek leosztására szolgálnak Az egyszerű R-C szűrők a nagyfrekvenciá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ápforrá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.12 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 csatorná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 kapcsolók jobb minőségűek (kisebb átmeneti ellenállás zárt, illetve nagyobb ellenállás nyitott állapotban), viszont nagyok, rázkódás-érzékenyek, és lényegesen lassúbbak (kapcsolási idejük: 12 msec) Az elektronikus kapcsolók (általában FET-ek) ellenállás-értékei kb egy nagyságrenddel roszszabbak, 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.13 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 programozható erősítőket úgy alakítják ki, hogy egy műveleti erősítő visszacsatoló á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ényező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.14 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étpolaritású A/D-k Az egypolaritású A/D bemenetére csak egyféle feszültsé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 05V, illetve 010V, • 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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A találkozás Vissza ◄ 97 ► egypolaritású, 010V bemeneti feszültségtartományú A/D 8-bites kimenet 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őfordulnak BCD-kimenetű A/D átalakítók

is) Az A/D átalakítókat működési módjuk szerint két csoportba sorolhatjuk. Vannak a pillanatértékre érzékeny (un gyors) A/D-k és az átlagértékre é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 órajelet. 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 tartalma befagy. Ezzel az átalakítás befejeződött: a számláló befagyott tartalma 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 magassá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ültsé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 UXet integrálja és kimeneti feszültsége (Uk) T 1 I 1 Uk = U X dt

= U XI TI ∫ RC 0 RC é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égre, 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ő impulzusszámban kifejezett értéke. Az Uref, és az NI állandó, így UXI arányos NXszel, 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álkö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. Minthogy 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űrhetők. Ezért ezt a fajta átalakítót - lassúsága ellenére

- nagyon gyakran alkalmazzá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 referenciajel 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étszeresét (40msec) szokás említeni (Természetesen konkrét esetekben, konkré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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A találkozás Vissza ◄ 101 ► 4.15 A vezérlőegység A vezérlőegység feladata a számítógépből érkező parancsok kártyaszintű 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 csatornaszá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 állapotport 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 alkalmasak. A belső áramkör kialakítására csak a jel időbeli lefutás szerinti, valamint 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ó áramkö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ű megszakításjelek fogadására. A jelformáló áramkörök részben a már korábban látottakhoz hasonlók (feszültségosztó, szűrő). Speciális (csak digitális perifériákban használatos) 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 szintjeivel. • 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 bizonytalanságainak kiszűrésére. Általában monostabil multivibrátorral alakítják ki 4.21 A digitális adatbemenetek E perifériák belső áramkörét egy bemeneti kapuáramkör, egy adatregiszter é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 adatbuszra kerül

Kiolvasás után a kiolvasó kapuk bezárulnak és az adatregiszter 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ásfigyelő (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. Enné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.22 A számláló bemenetek A számláló bemenetek (4-14. ábra) az ellenőrzött impulzusjelek fogadására, tárolására és megszámolására használatosak A periféria n-db impulzusjelet 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. Kiolvasás után a kiolvasó kapu lezár, a számláló nullázódik és a vezérlő áramkö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ástó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 engedélyezése/tiltása, a számláló törlése, a tároló törlése. 4.23 A megszakítás bemenetek Ez a periféria a megszakítás-típusú jelek fogadására alkalmas. A megszakításjelekről feltételezzük, hogy azok vagy impulzusok, vagy olyan állapotjelek, melyeknek statikus értéke nem, hanem csak a felfutó éle (01 á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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A találkozás Vissza ◄ 106 ► A megszakításjelek pillanatnyi értéke a bemeneti regiszterben

tárolódik. (Ezt a 2számú kiolvasó kapun keresztül a számítógép bármikor, megszakí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 állapotregiszter é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 állapotszó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 digitális jelekkel működtethető beavatkozó szervei számára kétállapotú jeleket küld ki. A beavatkozó szervek működtetése történhet - megfelelő jelformá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é valamilyen teljesítményerősítőt (végrehajtó szerv) kapcsolnak. A periféria blokkvá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 ► Vissza ◄ 107 ► 4-16. ábra A tipikus jelformáló áramkörök (4-17. ábra): A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék 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 visszaolvashatja 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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A találkozás 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ő áramkört az engedélyező kapu kinyitására, így a vezérlőjelek kijuthatnak a folyamatba 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 esetenké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ó szervekné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ő beavatkozó 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 lehetnek egy-polaritásúak, vagy két-polaritásúak A tipikus kimeneti feszültségtartományok: 05V, 010V, illetve ±5V, vagy ±10V Az áramkimenetűek 020mA, vagy 420mA 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ódszóban a neki megfelelő helyértéken 1-es áll (4-19. ábra) 4-19. ábra Az ábra alapján I0 I + b1 n0− 2 + . + bn −1I 0 , n −1 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 I = b0 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 pontossá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) keresztü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ímzett 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 folyamatos 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 egymá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 csatornakimenetre é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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A funkció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 foglalkoztunk. Mostantól az érdekel minket,

hogy ez a strukturális keret milyen életjelenségeket mutat, milyen tevékenységeket végez, milyen feladatokat 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 mondhatjuk, hogy a legkülönbözőbb technológiák irányítása során szinte ugyanazok 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 negyedik - 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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A funkció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ánvaló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áltozó 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özvetlenül nem mérhető adatok Az irányított változók a folyamatba kiküldö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 lehetnek periodikusak, vagy nem-periodikusak. A periodikus feladatokat realizáló programok ciklikus jellegűek és automatikusan ismétlődnek A nemperiodikus 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 jelentkeznek, 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 feladatokat 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

(hasznosítás) céljából bekerülnének a rendszer adatbázisába - az alábbi műveleteket 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.11 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 mintavevő (pl a multiplexer) és az A/D átalakító (Ezeket a műveleteket szoftverrel el sem lehetne végezni, hiszen annak a programnak, amely ezt csinálná, az eredeti, folyamatos analóg jellel kéne

manipulálnia, ami lehetetlenség) A mintavételezésnek azonban van egy rendkívül fontos algoritmikus 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 jelminták sorozata hűen képviselje az eredeti folyamatos jelet, vagyis az eredeti 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ételezé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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A funkció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 szomszé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 vannak, 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 magfelelő 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ávkorlá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álható, 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 (Fouriersor, 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 szinuszos jel két olyan minta alapján meghatározható, melyek időbeli távolsá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álható, 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 folyamatos 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állapí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 folyamatirá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 mintavé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 kisebb frekvenciájú jel (szaggatott vonal, J’) illeszthető. Ez a jel természetesen 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 periodikus jelre f(t)=f(t+nT). Általában is igaz, hogy azok a spektrális komponensek, 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 tartomá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üggvé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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A funkció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álasztá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 zajspektrum 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 érté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 analó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érdeznie. 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.12 Az átkódolás Az átkódolás egy kódrendszer valamely kódszavának egy másik kódrendszer 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 érdekében az egybites jeleket gyakran redundáns módon, több biten ábrázolják. Ebben az esetben az átkódolás a redundancia megszüntetését, az eredeti 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 fixpontoslebegőpontos konverziót

is végre kell hajtani. 5.13 A méréskorrekció A méréskorrekcióval a folyamat jelátalakítóinak - a referenciafelté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 mutatja be 5-6. ábra Az a) ábrán az előírt feltételek közt üzemelő átalakító statikus karakterisztiká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 kimeneti 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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A funkció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 karakterisztikák linearizálása („kiegyenesítése”) is. 5.14 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 (algoritmikus) 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 kivé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 tartomá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ó differenciaegyenletté, akkor olyan algoritmust kapunk, amely szűrőként viselkedik, 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: Ty(t) (5.1)  + y(t) = x(t) 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 frekvenciafü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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A funkciók Vissza ◄ 124 ► hogy a mintavételi időt (τ) helyesen választottuk meg és így a mintákból számított differenciahányados jól közelíti a folyamatos jel időderiváltját. Az (51)-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) lehet előállítani: az aktuális nyers és a megelőző szűrt adatból. Az algoritmus 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 zajspektrum 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 eltekintenek, é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ő érté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 nagyobbra, ha pedig erősen zajos, akkor kisebbre választani. A jel „zajossá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álegyenleté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) (5.4)  + y(t) = x(t) ahol T az időállandó és ζ az un. csillapítási tényező (0<ζ≤1) Az időderivá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 y(t)  ≈ n τ y n − y n −1 y n −1 − y n − 2 − y − 2y n −1 + y n − 2 τ τ = n y(t) ≈ τ τ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: yn = τ2 2T 2 + 2ζTτ T2 x + y − y n−2 n n −1 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 algoritmus rekurzív módon, az aktuális nyers és a két megelőző szűrt jelmintá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álasztá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=15) 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írható 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 = ∑ Di N i =n illetve 1 n −( N−1) (D i − D n )2 . ∑ N i =n Ha a bemeneti jelen (xn) nincs kiugró változás, azaz Dn − Dn −1 < 3σn −1 , σn = vagyis az aktuális zaj ( Dn ) a korábbi zajátlagnak ( Dn −1 ) megfelelő, akkor 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 veszik 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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A funkciók Vissza ◄ 127 ► yn=yn-1 Ha a nagy eltérés (az (5.8) egyenlőtlenség) meghatározott számú mintavé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 algoritmus 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óssá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ű zavarkomponensek az egyes mintavételi időpontokban valószínűleg

különböző előjelűek, így átlagoláskor várhatóan megsemmisítik egymást. 5.15 Á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é - mindvé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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A funkció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ámbó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 nullponteltolásnak nevezik. E két érték analóg csatornánként külön-külön előre meghatá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állást mérőhídban mérik, a híd kimenete egy áramtávadóhoz csatlakozik, amely a 104140 ohm ellenállástartományt 420 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 420 mA áramtartományból 05 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 05 V feszültség-intervallumot a 0255 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 digitá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özvetlenü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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A funkció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ó folyamatra 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ásokkal, mert a digitális szűrés, a méréskorrekció és a fizikai értékre való átszá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.21 Az idő szerinti differenciálás Az idő szerinti differenciálás, pontosabban az időderivált adott pillanatbeli értékének meghatározása bármilyen folyamatos analóg jellel kapcsolatban 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 öszszegző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 differenciá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 differenciahá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: dx(t) dt t =t n x n − x n −3 x n −1 − x n − 2 + x + 3x n −1 − 3x n − 2 − x n −3 3 τ τ ≈ = 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 pedig négypontos differenciálását szemléltetjük (A deriváltnak természetesen nullának kellene lennie, mert a jel állandó) A b ábrán a külső mintákbó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 (gyorsulá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.22 Az idő szerinti integrálás Míg az idő szerinti differenciálás - mint említettük - minden jellel kapcsolatban értelmes művelet lehet, ez nem mondható el az idő szerinti integrálásról. Például egy kazánban lévő gőz nyomását lehet ugyan integrálni, de milyen fizikai (vagy technológiai) jelentés tulajdonítható az így kapott é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ítmé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) mennyisé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 öszszegzé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 0 i =1 I n = ∫ x(t)dt ≈ ∑ x i τ vagy rekurzív formában: I n = I n −1 + x n τ B) Trapéz-szabály: tn n 0 i =1 I n = ∫ x(t)dt ≈ ∑ x i −1 + x i τ 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 τ 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ódusidő egész-számú többszörösére számított integrálból a zavar teljesen eltűnik. I n = I n −1 + 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.31 A határérték-vizsgálat Az analóg folyamatváltozók értéke normális üzemmenet esetén bizonyos 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árokat

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 dinamikus 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állapot 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 automatikusan, 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 automatikusan, 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ésvisszavoná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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A funkció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.32 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 (01: felfutó él, 10: 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 illeszteni 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 illeszteni 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 10 volt. Ha az eredmény nem zéró, akkor 01 á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ítheti 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 biteket é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 generá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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A funkció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áltozó 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 halmazban, 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óriací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ő bemenő paraméterek megadásával hívhatnak a felhasználói programok. E paraméterek az alábbiak: A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 136 ► Számítógépes folyamatirányítás A

dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A funkció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úsznak (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 ellené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 ellené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 lemezre szokás írni. Maga az adatbázis logikailag egy több-dimenziós tömb, melynek elemei adott hosszúságú (rendszerint több szóból álló) rekordok. Egy rekordot 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őleges 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 alcí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 adatrekordoknak 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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A funkció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 adatokat 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 beavatkozá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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A funkció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íthatatlanok 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övetelmények határozzák meg, míg formai megjelenésük tervezésekor pszicholó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ámkerekek, 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életlenü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 programrendszer működésébe való korlátozott beavatkozás lehetőségét is biztosí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 megfelelője nincs. A választék itt lényegesen gazdagabb, mint a hagyományos szabályozók esetében Példaként a diszkrét-idejű PID-algoritmust mutatjuk be. A folyamatos PID-szabályozó a beavatkozó jelet a t ⎛ 1 dr(t) ⎞ (5.11) b(t) = K ⎜ r(t) + ∫ r(t )dt + TD ⎟ 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 (511)-et a már ismert közelítő differenciáló és integráló formulák alkalmazásával átírhatjuk a jelmintákra vonatkozó alakba: ⎛ 1 n r −r ⎞ (5.12) bn = K ⎜ rn + ∑ ri τ + TD n n −1 ⎟ τ ⎠ TI i =1 ⎝ A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 141 ► Számítógépes folyamatirányítás A dokumentum használata |

Tartalomjegyzék | Irodalomjegyzék A funkciók Vissza ◄ 142 ► A jobboldal második tagja miatt ez a képlet rekurzív számításra nem alkalmas. Ezért bn-1-et is felírjuk, majd képezzük a két érték különbségét: ⎛ ⎞ τ T (5.13) bn − bn −1 = K ⎜ ( rn − rn −1 ) + rn + D (rn − 2rn −1 + rn − 2 ) ⎟ τ TI ⎝ ⎠ vagy az aktuális beavatkozó jelre kifejezve: ⎛ ⎞ τ T (5.14) bn = bn −1 + K ⎜ ( rn − rn −1 ) + rn + D (rn − 2rn −1 + rn − 2 ) ⎟ τ 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üldeni), 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égalgoritmus A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék Vissza ◄ 142 ► Számítógépes folyamatirányítás A dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A dinamika Vissza ◄ 143 ► 6. A dinamika A számítógépes folyamatirányító rendszerek a valós időhöz szinkronizá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ő esemé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 állapotváltozás következhet be, több olyan esemény, amely választ igényel Emellett a legkülönbözőbb folyamatváltozókat folyamatosan kell mérni és feldolgozni Mindez együtt azt jelenti, hogy a számítógépen egy adott pillanatban több programnak kellene futnia A párhuzamos programfuttatás egyprocesszoros rendszerben nem valósítható meg, így olyan működésmódot kell biztosítani, amely a párhuzamosságot szimulálja, annak tényleges 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ánvaló, 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 rendelé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 mindegyik 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 proceszszoridőt felemészt. El lehet érni egy olyan határt, amikor már csak az operá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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A dinamika Vissza ◄ 144 ► A fent vázolt működésmód az un. időosztásos (time-sharing) rendszerekre jellemző A folyamatirányító programrendszerek azonban nem ilyenek 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általá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 szempontjából a folyamatirányító rendszer egyes programjai névvel (számmal) azonosí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 elemei: a

szinkronizált kapcsolat és a konkurens jelleg (Úgy vélem, a ’felhasználói funkció’ jelentése az 5 fejezet elolvasása után nyilvánvaló) Minden 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ésszámlálóit. A monitortáblázatok a felhasználói programrendszer állapotára jellemző 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ó bejegyzé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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A dinamika 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 felsorolá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értetni, é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 szubrutinok, 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 legmagasabb (0), valamint a legalacsonyabb (n) prioritású task nem része a felhasználói rendszernek, vagyis nem lát el folyamatirányítási funkciót Ezeket 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ó diagnosztikai 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 elkerülhetetlen kezdeti hibák felderítésében és elhárításában rendkívül hasznos. 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 elmarad, 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 továbbfutása valamely feltételét. Ilyenkor várakozó (WAIT) állapotba kerül Akadályt jelenthet egy tilosra álló szemafor, egy meg nem kapott

erőforrás, egy meg nem érkezett üzenet, vagy egy pillanatnyilag végrehajthatatlan I/O-művelet A task addig marad várakozó állapotban, míg az akadály el nem hárul Ennek időtartama bizonytalan és a várakozó nem befolyásolhatja, ugyanis az akadályt csak futó task, vagy az I/O-rendszer állapotvá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 rendszer-indításkor ez a taskok alapállapota is Az alvó állapot tarthat határozatlan, 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 dokumentum használata |

Tartalomjegyzék | Irodalomjegyzék A dinamika Vissza ◄ 148 ► taskot az éppen futó task által kiadott, az alvóra vonatkozó RQACT (aktiválás), vagy RQCYC (ciklikus aktiválás) monitorhívással lehet aktív állapotba vinni. A határozott idejű alvó állapotban lévő taskot az idő lejártakor a monitor aktiválja A futó task RQSLP, vagy RQDLE monitorhívással 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: órainterruptkor, illetve monitorhíváskor Ez azt jelenti, hogy bármilyen állapotváltozás csak ilyenkor következhet be Ha eltekintünk a nem túl gyakori 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 állapotvá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 elemeket 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 szedü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üljenek. 6.21 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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A dinamika Vissza ◄ 149 ► A flaggel négy művelet végezhető, mindegyik művelet egy-egy monitorhí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érdezheti 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 monitortáblákban minden flaghez egy bájt tartozik, amely a flag állapotát tartalmazza (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 szempont 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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A dinamika Vissza ◄ 150 ► 6.22 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üldeni, 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üldenie. 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 fogyasztó 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 érvé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ő exchangeből nem kap üzenetet, így küldeni sem tud, és le fog fékeződni. (Egyébké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 forgalomban, 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észbő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 alkalmas memóriaterület (pl. két bájt, vagy egy szó) A monitor az üzeneteket 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 üzenetlá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éskor 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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A dinamika Vissza ◄ 153 ► Az erőforrás olyan logikai elem, amely egyidejűleg csak egy task birtoká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 monitor saját hatáskörén belül osztja el.) Az erőforrást lehet igényelni (lefoglalni) és elengedni (visszaadni, felszabadí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öbbinek pedig tovább kell várnia. Az RQRLS a task visszaadja az általa birtokolt 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 engedte, másikat nem igényelhet. (Ezt a monitor nem ellenőrzi ugyan, de kötelező betartani.) Ellenkező esetben un holtpont alakulhat ki és a szabályszegő task soha többé nem fog futni Vizsgáljuk meg ezt részletesebben! 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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A dinamika Vissza ◄ 154 ► • Több task akar nyomtatni, de csak egy nyomtató van. Hogy ne keveredhessenek ö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 lefutása után elengedi, így azt nem lehet újrahívni Viszont az erőforrásjellegű 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 lefoglalja, 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 lehet 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özvetí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árakozá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ó jellemző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 megszakí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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A dinamika 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 bekerü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 tudomá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, magyarul ú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 megkapta 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űjteni 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 dokumentum használata | Tartalomjegyzék | Irodalomjegyzék A dinamika Vissza ◄ 156 ► • Az IDLE állapotban levő időzített taskok időzítés-számlálóinak aktualizálása. Amelyiknek letelt az időzítése, annak aktív állapotba helyezé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 állapotba 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 engedé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áltoztatá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 futá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ó. Nagyon javasoljuk az Olvasónak, hogy néhány konkrét hívásra alaposan gondolja át a működés részleteit, vagyis töltse meg konkrét tartalommal a fenti, 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 A dokumentum használata | Tartalomjegyzék | Irodalomjegyzé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önyvkiadó, 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 ►