KURZUS: Számítógépes folyamatirányítás
MODUL: A funkciók
5.4. lecke: Az adattárolás, a kezelői kapcsolat és a DDC irányítás
Cél: A lecke célja, hogy a tananyag felhasználója megismerje: | |||
| |||
Követelmények: Ön akkor sajátította el megfelelően a tananyagot, ha | |||
| |||
Időszükséglet: 1 óra | |||
Kulcsfogalmak: | |||
| |||
1. 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. | |||
Jegyezze meg az adatbázis és az adatbázis- kezelő fogalmát és használatát. | |||
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: | |||
| |||
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 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 maga 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. modulban). | |||
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: | |||
| |||
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. | |||
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 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 1. ábra szemlélteti. | |||
| |||
Gondolja magát az adatbáziskezelő helyébe és szimulálja annak adat-elérési tevékenységét! Azaz: nagyon részletesen próbálja átgondolni, hogyan jut el mondjuk a 3. típus 4. elemének leíró-, és adatrekordjához! | |||
Az adatbáziskezelőt itt öt szubrutin alkotja: | |||
| |||
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: | |||
| |||
az adatrekord pedig: | |||
| |||
2. A kezelői kapcsolat | |||
Sorolja fel az adatmegjelenítés és a kezelői beavatkozás tipikus eszközeit, ismertesse a naplók fajtáit, és fogalmazza meg a kétgombos kezelés célját; | |||
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, 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őibeavatkozá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.). | |||
3. A DDC irányítás elve | |||
A DDC irányítást külön, önálló tantárgy keretében lehetne tárgyalni. 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 (2. á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 ismeretében kiszámítja a rendelkező jel rn mintáját: | |||
é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 | |||
(1) | |||
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 (1)-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: | |||
(2) | |||
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: | |||
(3) | |||
vagy az aktuális beavatkozó jelre kifejezve: | |||
(4) | |||
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ő. | |||
A (4) 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 a (3) szerint kell működnie. Ebben az esetben bn-1-et nem kell tárolni. Ez az utóbbi változat az un. sebesség-algoritmus. | |||
Lépjen ki a tananyagból! Gondolja át a lecke tartalmát, rekonstruálja a szerkezetét! Vegyen elő egy lapot és írja le a lecke vázlatát! Ne sajnálja az erre fordított időt! Ha gondosan megcsinálja, már majdnem tudja is az anyagot. |
Önellenőrző kérdések | |||||||||||||||||||||||||||||||
1. Mondja el az adatbázis és a adatbáziskezelő fogalmát! | |||||||||||||||||||||||||||||||
2. Mondja el részletesen az adatbáziskezelő funkcióit és használatának (hívásának) módját! | |||||||||||||||||||||||||||||||
3. Mondja el részletesen a leckében szereplő példa-adatbázis struktúráját és a logikai azonosítóval bíró adatelemek (rekordok) elérésének mechanizmusát (vagyis: az adatbázikezelő működését)! | |||||||||||||||||||||||||||||||
4. Válassza ki a helyes állításokat!
![]() | |||||||||||||||||||||||||||||||
5. Példa-adatbázisunkban valamely típus adatrekordjainak hossza 3 gépi szó. Az adatrekordok az 1000-es címen kezdődnek. (A címeket az egyszerűség kedvéért decimálisan adjuk meg.) Melyik címen van a 12 alcímű adatrekord utolsó szava?
![]() | |||||||||||||||||||||||||||||||
6. Mondja el az adat- és az eseménynapló fogalmát, és mutasson rá funkcionális különbözőségükre! | |||||||||||||||||||||||||||||||
7. Rajzolja fel az egyhurkos és egyváltozós DDC szabályozási rendszer vázlatát, sorolja fel a rendszer elemeit és azok funkcióit! | |||||||||||||||||||||||||||||||
8. A folyamatos-idejű PID-szabályozó (1) formulájának időbeli diszkretizálásával vezesse le a digitális PID-szabályozó algoritmusának rekurzív formuláját! |