192091. lajstromszámú szabadalom • Állandóan aktív programfutást ellenőrző felülgyeleti rendszertechnikai elrendezés, előnyösen szerszámgépvezérlésekhez
1 A találmány tárgya állandóan aktív programfutást ellenőrző felügyeleti rendszertechnikai elrendezés, előnyösen szerszámgépvezérlésekhez. Folyamatirányítási feladatoknál pl. szerszámgépvezérléseknél követelmény az üzembiztos működés, mert egy tévesen beolvasott utasítás (kód vagy cím), vagy egy nem megfele.lő helyre kiadott output, ill. input utasítás katasztrofális következményekkel, akár géptöréssel is járhat. Ennek érdekében a folyamatirányítás ellenőrzésére van szükség. Ismert megoldásként említjük az időzítő és hibafigyelő áramkörrel megvalósított ellenőrzést, amelynek blokkvázlata az 1. ábrán látható. Az 1 mikroproceszszoros központi vezérlő rendszer kimenetén keresztül un. felhúzó jelet szolgáltat az 5 időzítő és hibafigyelő áramkör részére. Mindaddig amíg a felhúzó jel folyamatosan, real-time időn belül ismétlődik, az irányított folyamat zavartalanul működhet, mivel az 5 időzítő és hibafigyelő áramkör kimenetén lévő jel ezt engedélyezi. Ha a felhúzó jel nem ismétlődik folyamatosan, akkor az 5 időzítő és hibafigyelő áramkör egyrészt közli a hibát az 1 mikroprocesszoros központi vezérlő rendszerrel, másrészt pedig az irányított folyamatot leállítja. Az ismertetett megoldás hiányossága, hogy megbízható hibaészlelés csak az alapvető feltételek hiánya esetén (pl. óragenerátor leállás, tápfeszültség kimaradás, processzor ,,HALT" állapotba történő „merevedése”, kiépítetlen tárterületre való elugrás, stb.) történik, s ez a megoldás nem véd pl. elektromágneses zavarok hatására esetleg bekövetkező „elugrások" ellen, amely kiépített tárterületen jön létre. Ebben az esetben, mivel a 5 időzítő és hibafigyelő áramkör továbbra is felhúzó jelet szolgáltat, a bekövetkezett állapot ellenőrizhetetlen, követhetetlen, nem tartható kézben. Ez az ismert megoldás csak egyszerű, az alapvető feltételek meglétét vizsgáló folyamatellenőrzésre alkalmas. A találmány szerinti megoldás célul tűzte ki az ismert megoldás hiányosságainak megszüntetését és olyan ellenőrző, felügyeleti rendszertechnikai elrendezés létrehozását, amely állandóan aktív programfutás vizsgálatára alkalmas, a folyamatot úgy vezérli, hogy minden lehetséges tévesztés, zavar esetén real-time időn belül hibajelzést adjon, t védje a folyamatot a helytelen program lépések bői adódó katasztrofális meghibásodásoktól. A találmány szerinti megoldás azon a felismerésen alapul, hogy ha a mikroprocesszoros központi vezérlő rendszerhez az időzítő és hibafigyelő áramkörön kívül szubrutin azonosító egységet, azonosítást és kódösszehasonlítást végző egységet és ellenőrző kódtároló egységet csatlakoztatunk, akkor állandóan aktív programfutás ellenőrzés valósítható meg, s működés közben vizsgálható, hogy a végrehajtott programszakasz az elvárható programszakasznak felel-e meg. Az ismert és a találmány szerinti megoldást rajzok alapján ismertetjük, melyek a következők: az 1. ábra az ismert megoldás blokkvázlatát, a 2. ábra a találmány szerinti rendszertechnikai elrendezés blokkvázlatát ábrázolja. A 2. ábrán látható rendszertechnikai elrendezés tartalmaz 1 mikroprocesszoros központi vezérlő rendszert, amelynek hibajelző 15 bemenetére 5 időzítő és hibafigyelő áramkör hibajelző 53 kimenete csatlakozik. Az 5 időzítő és hibafigyelő áramkörnek lassú hibejelző. Hl. folyamatleállító 52 kimenete van. A rendszertechnikai elrendezésre jellemző, hogy tartalmaz továbbá 2 szubrutin azonosító egységet, amelynek 2 azonosító kódot lekérdező 21 kimenete az 1 mikroprocesszoros központi vezérlő rendszer azonosító kódot lekérdező 11 bemenetére van kötve. Az 1 mikroprocesszoros központi vezérlő rendszer kódközlő 13 kimenete 3 azonosítást és kódösszehasonlítást végző egység kódközlő 31 bemenetére, a 3 azonosítást és kódösszehasonlítást végző egység gyors hibajelző, ill. folyamatleállító 32 kimenete az 1 mikroprocesszoros központi vezérlő rendszer gyors hibajelző ^bemenetére, frissítő 33 kimenete az 5 időzítő és hibafigyelő áramkör frissítő 51 bemenetére, tárolt kódot közlő 34 bemenete 4 ellenőrző kódtároló egység tárolt kódot közlő 42 kimenetére, a ellenőrző kódtároló egység ellenőrző 41 bus a az 1 mikroprocesszoros központi vezérlő rendszer ellenőrző 14 bus ára csatlakozik. A találmány szerinti rendszertechnikai elrendezés működése a következő: A 2 szubrutin azonosító egységben összeállítjuk a szubrutin azonosító kódtáblázatot úgy, hogy a szubrutinokat, programrészieteket azonosító kóddal látjuk el. Biztosítjuk továbbá, hogy a 4 ellenőrző kódtároló egység az ellenőrzés indulásakor nullázódjon és a hozzátartozó ellenőrző pointer beállításra kerüljön. A programfutás ellenőrzése három részfeladatra osztható, amelyet a program végrehajtása során szintén szubrutinként hívunk meg. Ezek a következők: 1) Ellenőrző set szubrutin, melynek az a feladata, hogy új szubrutin hívás esetén, ellenőrzés után a hívó szubrutin kódját a 4 ellenőrző kódtároló egységben tárolja le. Ennek elvégzéséhez ellenőrizni kell, hogy a végrehajtás alatt lévő program kódja van-e a 4 ellenőrző kódtároló egységben. Ez úgy történik, hogy az 1 mikroprocesszoros központi vezérlő rendszer belső regiszteréből a kódközlő 13 kimeneten keresztül a 3 azonosítást és kódösszehasonlítást végző egységbe kerül a végrehajtás alatt lévő szubrutin kódja, illetve a 4 ellenőrző kódtároló egységből a tárolt kódot közlő 42 kimeneten keresztül szintén a 3 azonosítást és kódösszehasonlltást végző egységbe kerül az ellenőrző pointer által kijelölt helyen tárolt kód között eltérés van úgy a 3 azonosítást és kódösszehasonlítást végző egység a gyors hibajelző, ill. folyamatleállító 32 kimeneten keresztül hibát jelez és a folyamatot leállítja. Amennyiben a végrehajtás alatt lévő szubrutin kódja és az ellenőrző pointer által kijelölt helyen tárolt kód megegyezik, úgy a 2 szubrutin azonosító egység azonosító kódot lekérdező 21 kimenetén keresztül a szubrutin azonosító kódot be kell tölteni a 1 mikroprocesszoros központi vezérlő rendszer belső regiszterébe, vizsgálni kell, hogy a 4 ellenőrző kódtároló egység címén „0" található-e, az 1 mikroprocesszoros központi vezérlő rendszer belső regiszterében lévő azonosító kódot le kel) tárolni a 4 ellenőrző kódtároló egység címére és az ellenőrző pointert növelni kell 1-gyel. 2.) Ellenőrző frissítés szubrutin, melynek az a feladata, hogy a rendszertechnikai elrendezéshez alkalmazkodó real-time időn belül a 3 azonosítást és kódösszehasonlítást végző egység frissítő 33 kimenetén keresztül frissítő jelet adjon az 5 időzítő és hibafigyelő áramkör részére. Ennek elvégzéséhez Ismét össze kell hasonlítani a 4 ellenőrző kódtárofó egységben a végrehajtás alatt lévő szubrutin kódját az ellenőrző pointer által kijelölt helyen tárolt kóddal. Amennyiben a két kód megegyezik, akkor a 3 azonosítást és kódösszehasonlítást végző egység frissítő 33 kimenetén keresztül frissítő jelet ad az 5 időzítő és hibafi-192.091 5 10 15 20 25 30 35 40 45 50 55 60 2