Budapesti Műszaki Főiskola Bánki Donát Gépészmérnöki Főiskolai Kar
Dr. Bencsik Attila Felker Péter
DIGITÁLIS TECHNIKA (A MECHATRONIKA ALAPJAIHOZ)
BUDAPEST 2003 1. KIADÁS
Szerkesztette:
Dr. Bencsik Attila
Lektorálta:
Nagy István
Terjeszti:
STUDENT Kft.
Nyomdai munkák:
ERICOM Kft.
TARTALOMJEGYZÉK ELŐSZÓ 1. A DIGITÁLIS RENDSZEREK MATEMATIKAI ALAPJAI 1.1. A számrendszerek 1.2. Az elemek száma szerinti legkedvezőbb alapszám meghatározása 1.3. Műveletek bináris számokkal 1.4. Kódolás, dekódolás 2. DIGITÁLIS RENDSZEREK MŰKÖDÉSÉNEK LEÍRÁSA 2.1. Diagramok és táblázatok 2.2. A logikai algebra alapjai 3. A LOGIKAI FÜGGVÉNYEKHEZ TARTOZÓ ALAPFOGALMAK 3.1. A logikai függvény fogalma 3.2. Logikai függvények a változók száma szerint 3.3. Szabályos alakok 3.4. Kifejtési tételek 3.5. Logikai függvények minimalizálási eljárásai 3.5.2. A Quine – Mc Cluskey féle numerikus egyszerűsítési módszer 4. LOGIKAI FÜGGVÉNYEK REALIZÁLÁSA 4.1. Ideális és valóságos működés 4.2. Áram-logikás (-utas) hálózatok 4.3. Feszültség-logikás hálózatok 4.3.1. Követők, inverterek 4.3.2. Összefüggés a feszültség és áramlogikák között 4.4. Függvénymegvalósítások a különféle műszaki rendszerekben 5. LOGIKAI HÁLÓZATOK 5.1. Kombinációs hálózatok 5.1.1. Kombinációs hálózatok kialakítása 5.1.2. A késleltetések hatása a kombinációs hálózatoknál 5.1.2.1. Sztatikus hazárd 5.1.2.2. Dinamikus hazárd és kiküszöbölése 5.1.2.3. Funkcionális hazárd –3–
5.1.3. Kódoló és dekódoló 5.1.4. Jelváltó áramkörök 5.1.5. Arritmetikai áramkörök 5.2. Szekvenciális hálózatok 5.2.1. Szinkron szekvenciális hálózatok 5.2.2. Aszinkron szekvenciális hálózatok 5.2.3. Elemi szekvenciális hálózatok, tárolók 5.2.4. Szekvenciális hálózatok kialakítása 5.2.5. Léptető regiszterek. regiszterek 5.2.6. Számlálók áramkörök 5.3. Félvezető alapú tároló áramkörök 5.4. Programozható logikai áramkörök 5.4.1. PLA, FPLA áramkörök 5.4.2. PAL áramkörök 5.4.3. FPGA áramkörök 6. LOGIKAI HÁLÓZATOK MEGVALÓSÍTÁSA KÜLÖNFÉLE ELEKTRONIKUS ESZKÖZÖKKEL 6.1. Digitális integrált áramkörök 6.1.1. A kis- és közepes integráltságú áramkör családok 6.1.2. A nagyintegráltságú áramkörök áttekintése 6.2. Logikai hálózatok realizálása különféle integráltságú áramkörökkel 7. A MIKROKONTROLLEREK 7.1. A mikrokontrollerek felépítése, elterjedt típusok 7.1.1. Az Intel 8048 nyolcbites mikrokontrollercsalád 7.1.2. Az Intel 8051 nyolcbites mikrovezérlő sorozat 7.1.3. A Microchip cég nyolcbites PIC mikrovezérlői 7.2. A mikrokontroller programozása, vezérlési alkalmazása 8. PC-VEL MEGVALÓSÍTOTT VEZÉRLŐ EGYSÉG 8.1. Korai PC-k processzorai 8.2. Az utasításkészlet és a feldolgozás fejlődése 8.3. Vezérlés PC-vel
–4–
9. PROGRAMOZHATÓ VEZÉRLŐK ................................................................ 194 9.1. PLC-k rendszerfelépítése és funkciói ....................................................... 196 9.2. Programozható vezérlők hardver felépítése .................................................. 199 9.2.1. Bitprocesszor alapú programozható vezérlők .................................... 200 9.2.2. Bájt- ill. szóprocesszor alapú programozható vezérlők ..................... 203 9.2.3. PLC-k be- és kimeneti egységei a galvanikus leválasztáshoz.................. 206 9.3. Programozható vezérlők programozása.................................................... 207 9.3.1. A PLC-k programjai és feladataik ..................................................... 208 9.3.2. PLC programnyelvek ......................................................................... 209 9.3.2.1. Strukturált programozási nyelv (ST).......................................... 209 9.3.2.2. Utasításlistás programozási nyelv (IL)....................................... 211 9.3.2.3. Létradiagramos programozási nyelv (LD) ................................. 214 9.3.2.4. Funkcióblokkos programozási nyelv (FBD) .............................. 217 9.3.2.5. Sorrendi folyamatábra (SFC) ..................................................... 218 9.3.4. Programozási példák.......................................................................... 222 FELHASZNÁLT IRODALOM............................................................................ 229
–5–
9. PROGRAMOZHATÓ VEZÉRLŐK A digitális technikában az irányítástechnikai feladat megoldása a jelfeldolgozás nezőpontjából több féle lehet. A huzalozott programozású megoldás leginkább az elektromechanikus (relés) és a pneumatikus megvalósításokra jellemző. Az elektronika úgynevezett tárolt programú megoldásokat alkalmaz, melynek tároló áramköréről (ROM, EPROM, RAM, stb) a korábbiakban már szóltunk. A különféle programozási lehetőségek összefoglalását a 9.1. ábrán láthatjuk.
9.1. ábra. A digitalis jelfeldolgozás lehetséges megoldásai
A programozható vezérlők ma csaknem kizárólagos alkalmazást nyertek az ipari folyamatok vezérlésénél. A programozható vezérlők olyan vezérlőberendezések, amelyek a vezérlési (esetleg szabályozási) funkciókat szoftver útján valósítják meg és beviteli, kiviteli egységek révén a technológiai folyamatok tárolt programú vezérlésére közvetlenül alkalmasak. A programozható vezérlők megalkotására az 1960-as évek végén merült fel az igény. A követelményeket röviden az alábbiak szerint foglalhatjuk össze: 1. a vezérlés legyen könnyen és lehetőleg az üzemben programozható; 2. karbantartása legyen egyszerű; 3. megbízhatósága haladja meg a relés vezérlésekét; – 194 –
4. helyigénye és ára legyen kisebb azokénál; 5. tudjon adatokat küldeni a központi adatgyűjtő rendszernek; 6. be- és kimenetei hálózati feszültségre legyenek alkalmasak. Az első a fentiekben körvonalazott feladatra (relés vezérlések kiváltása) szánt eszközök 1969. elejére jelentek meg és programozható logikai vezérlő (PLC: Programmable Logic Controller) néven váltak ismertté. A PLC a felhasználók részéről szokatlanul gyors elfogadásra talált, gyártói pedig egyre újabb, a relék egyszerű helyettesítésén túlmutató feladatok ellátására tették alkalmassá. E fejlesztési folyamat néhány lépése: • Számkijelzők alkalmazása a kezelő tájékoztatása céljára (1971). • Matematikai műveletek (összeadása, kivonás, összehasonlítás) elvégzése (1972) • A PLC számítógép által ellenőrzött – befolyásolt – működtetésének lehetősége (1972) • Számítógép-típusú műveletek (szorzás, osztás, adatátvitel, nyomtatóvezérlés, stb.)(1974). • Analóg jelek fogadása és kiadása, PID szabályozás (1975). • Nagy rendszerekben több, párhuzamosan működő processzor (1976). • Mikroprocesszort tartalmazó PLC (1977). A továbbfejlesztés eredményeként a PLC tevékenységi területe egyre kevésbé korlátozódik a kétállapotú jelekkel kapcsolatos műveletekre (vezérlésre). A fejlődés során a programozható vezértök funkciói nagymértékben közeledtek a számítógép funkcióihoz. Így mára a PLC olyan ipari számítógépnek tekinthető, amely speciális hardver egységei és felhasználói programja réven a technológiai folyamatok tárolt programú vezérlésére és intelligens kommunikációs felület révén hierarchikus és/vagy osztott folyamatirányító rendszerek létrehozására alkalmas. A programozható vezérlők előnyei: a szabad strukturálhatóság, a gyakorlatilag végtelen kapcsolási szám, a telepítési költségek csökkenése, a rendszerbe szervezhetőség lehetősége. A szabad strukturálhatóság felhasználói programozhatóságot jelent, amelynek révén a felhasználó a tárolt, egyedi program révén az univerzális hardvert a feladat realizálására alkalmassá teszi. A PLC-k alkalmazása különösen az új beruházásoknál bír kiemelkedő előnnyel azon tulajdonósága révén, hogy segítségével a telepítési, beüzemelési idő nagymértékben lerövidíthető. – 195 –
A PLC-k alkalmazásánál az áramköri tervezésszintű ismeretek helyett a rendszertechnikai, programozási, informatikai alkalmazásszintű ismeretek lépnek előtérbe.
9.1. PLC-K RENDSZERFELÉPÍTÉSE ÉS FUNKCIÓI A mai PLC-ket a kivitelük alapján két nagy csoportba sorolhatjuk: [4] • kompakt felépítésű PLC-k, • moduláris felépítésű PLC-k. A kompakt PLC jellemzője, hogy hardver struktúrája nem módosítható, kizárólag megfelelő védettségű ipari tokozásban készül és kis helyigényű. Felhasználási területei a sorozatban gyártott gépek, berendezések automatikái, illetve a PLC műszaki jellemzői által lefedhető egyedi vezérlések. A kompakt PLC-k speciális típusát jelentik az ún. mikro-PLC-k, amelyek az ember-gép kapcsolat hardver és szoftver feltétetet is tartalmazzák. A moduláris felépítésű programozható logikai vezérlők jellemzője, hogy a vezérlőberendezés valamely speciális funkciót önmagában ellátó modulokból épül fel. A modulok fizikai megjelenése rendszerint az áramköri kártya, dugaszolható csatlakozóval. A modulok ún. rackbe dugaszolhatók, miáltal a rendszer konfigurációja tág határokon belül bővíthető. A rack-ek megfelelő védettségű műszerdobozba vagy műszerszekrénybe szerelhetők. A moduláris felépítésű PLC-ket közepes ill. nagy méretű rugalmas gyártó rendszerek vagy ipari folyamatok irányítására fejlesztették ki. Ha a gépek egymás közötti kommunikációit vizsgáljuk, akkor egyedi, a környezettől elhatárolt vagy más gépekkel (PLC!) együttműködni képes, rendszerbe szervezhető gépeket találunk. Ha a felhasználói programok futásának problémáit vizsgáljuk, itt döntő szempont a futás időbeni szervezettsége. Ez szerint három feldolgozási mód, a sorrendi (stap by step vagy szekvenciális) a ciklikus és az aciklikus feldolgozási mód fordul elő. Az utóbbi, az előző két feldolgozási módot egyébként magában foglaló, mód a legújabb nagykapacitású, már az osztott intelligenciája rendszerek felé mutató, PLC jellemző sajátossága. A fentiek szerint a PLC-k rendszerfelépítését tehát három szempont, az architektúra, a kommunikációs lehetőségek és a felhasználói programok jellege szerint vizsgálhatjuk. – 196 –
Kompakt felépítésű PLC A piacon kapható PLC-k egy része az összes PLC funkciót magába hordozó komplett egységekként kapható. A felhasználó számára külön kiegészítő (pl. programozó) egység nélkül beépíthető és üzemeltethető, karbantartást nem igényel, javítása csere útján lehetséges. A hozzá csatolt források nem teszik lehetővé, hogy a gyárilag tervezett funkciókat kiegészítve a felhasználó szélesebb területen is felhasználja. E tulajdonságai alapján a vásárló készülékként veszi meg, amelynek tulajdonságait igyekszik is maximálisan kihasználni. A kompakt architektúrájú gépek fő jellemzői a következők: • Kis I/O szám meghatározott darabszámmal. • Kontaktus vagy tranzisztoros típusú I/O • 110/230 V 50/60 Hz tápfeszültség. • Korlátozott hatáskörű kommunikáció más gépekkel. • Ráépített programozó billentyűzet és megjelenítő. • Sorrendi és /vagy ciklikus programfeldolgozás. Egyedi gépek Az egyedi (stand alone) PLC jellemzője az, hogy a benne levő CPU nem képes mai PLC-k CPU-ival közvetlen kapcsolatot teremteni, velük együttműködni online üzemben. Ez azt jelenti, hogy sínrendszere nem kapcsolható össze sem közvetlen, sem közvetett módon más gépekével, mert vagy nincs megfelelő illesztő egység, vagy a működés annyira egyedi, hogy nem is képzelhető el busz-szintű együttműködés. Ezek a PLC-k általában közepes méretű, általános célú gépek, amelyeknél nem lett volna gazdaságos az együttműködés kialakítása, vagy olyan speciális gépek, kis vagy közepes mérettel, amelyek speciális alkalmazási területe nem tette szükségessé a kommunikációs kapcsolat megteremtését. Figyelmet érdemel, hogy egyes gépek képesek korlátozott együttműködésre. Rendszerbe szervezhető gépek A rendszerbe szervezhető PLC-k főbb tulajdonságai: • Két (vagy több) PLC központi feldolgozó egysége képes közvetlenül befolyásolni a másik működését közvetlenül a busz rendszerek valamilyen összekapcsolásán keresztül.
– 197 –
•
Az összeköttetés megvalósítható: a, Az együttműködő gépek buszrendszerének összekapcsolásával. Ez a multiprocesszoros kapcsolat. Az összekapcsolódó CPU-k képesek elérni egymás funkcionális egységeit. P1.: csoportvezérlő gép, amely egy fontos technológiai vezérlő CPU-jának feladatait átveszi annak meghibásodásakor. b, Kommunikációs funkcionális egységek felhasználása. A CPU egy speciális- általában intelligens, azaz mikrogépet tartalmazó és a buszra csatlakozó kommunikációs berendezésen keresztül.
9.2. ábra. Programozható vezérlőberendezés vázlata
Eszerint a PLC-k az alábbi főbb egységekből épülnek fel: • Központi logikai ill. Feldolgozó egység (LU, CPU, stb.), • Program memória (ROM, EPROM, EEROM), • Adatmemória (RAM), • Bemeneti (input) egységek (digitális ill. Analóg), • Kimeneti (output) egységek (digitális ill. Analóg), • Kommunikációs egységek. – 198 –
A programozható vezérlők központi egysége a bemenetek és a kimenetek közötti, többnyire logikai kapcsolatokat időrendben sorosan és ciklikusan hajtja végre a program memóriában tárolt program alapján. A soros jellegű adatfeldolgozásból eredően a ciklikus feldolgozást nagy sebességgel kell végrehajtani, hogy a működés „kifelé” párhuzamosnak (valós idejűnek) tűnjék. A programozható vezérlő tehát az alábbi funkciók ellátására képes: • Jel/adat feldolgozási funkció (signal/data processing), • Technológiai interfész funkció az érzékelők kezelésére ill. Beavatkozók működtetésére, • Kommunikáció funkció (PLC-PLC; PLC-számítógép; PLC-hálózat), • Ember-gép interfész funkció (man-machie interface – MMI), • Programozási, tesztelési, dokumentálási funkció, • Tápellátási funkció
9.2. PROGRAMOZHATÓ VEZÉRLŐK HARDVER FELÉPÍTÉSE A programozható vezérlők hardvere univerzális, amelynek fő rendeltelése a vezérlési algoritmust biztosító program végrehajtása. Ehhez az adatok beolvasására, feldolgozására és az eredmény kivitelére van szükség. E három művelet végzéséhez az alábbi hardver egységek szükségesek: bemeneti egység, központi feldolgozó egység és kimeneti egység. Az említett egységek közül a központi feldolgozó egység fejlődött a legdinamikusabban és főként ez a fokozat határozza meg a PLC szolgáltatásait. [4] Az első PLC-k központi feldolgozó egysége még kis és/vagy közepes mértékben integrált digitális áramkörökből (SSI/MSI) épült fel. Az integrálási technológia fejlődésével a huzalozott logikájú központi egységeket felváltották az úgynevezett bitprocesszorok (szokásos elnevezések még: Boole processzor, logikai processzor), amelyek funkcionálisan nem, csak méretbeli és áramköri jellemzők szempontjából jelentettek előnyt az előzőekhez képest. A nagymértékben integrált áramkörök (LSI) elterjedésével az általános célú mikroprocesszorok váltak a PLC-k központi feldolgozó egységévé. Ez a technológiai váltás minőségi változást is jelentett. A bájt ill. szóprocesszorok alkalmazása révén a Boole műveleteken túlmenően a következő funkciók váltak általánossá a programozható vezérlőkben: aritmetikai műveletek végzése, szabályozási funkció ellátása, szabványos kommunikáció biztosítása, stb. – 199 –
Ebben a fejezetben mindkét típusú központi feldolgozó egység, valamint a kétállapotú bemeneti, kimeneti egységek hardver felépítését a felhasználói igények szerinti mélységben mutatjuk be. 9.2.1. BITPROCESSZOR ALAPÚ PROGRAMOZHATÓ VEZÉRLŐK A bitprocesszor alapú programozható vezérlők jellemzői: • csak egy bites, Boole jellegű logikai műveletek végzése, • kevés számú utasítás, • kis méretű memóriakezelési lehetőség, • mikroprogramozott vezérlési architektúra, • névkódon alapuló (esetleg gépi kódú) programozás, • alacsony szintű pont-pont jellegű kommunikáció. A mára elavultnak tekinthető bitprocesszor alapú PLC-k bemutatása egyrészt didaktikai szempontokkal indokolható, ugyanis felépítésük és működésük egyszerű és szinte „bitenként” követhetd, másrészt az ún. PLC nyelvek és a korai bitszervezésű architektúrák között igen szoros összefüggés van.
9.3. ábra. Egy bitprocesszor alapú PLC vázlatos felépítése
– 200 –
Az egyes egységek funkciói: • bemeneti multiplexer: a bemeneti logikai változók kiválasztása és az adat – bekapuzása a programmemóriában tárolt bemeneti cím alapján, • programozható logikai egység: a bemenetére jutó bitek között a programmemóriában tárolt mikrokód által meghatározott logikai művelet végzése, • akkumulátor: egy bites operandus – és eredményregiszter, • kimeneti demultiplexer és tároló: a LU által végrehajtott logikai művelet eredményének (1 bit) kijuttatása a program memória által meghatározott kimenetre és az adat tárolása, • adatmemória: a logikai műveletek részeredményeinek tárolása. A bitprocesszor alapú PLC további elemei és azok funkciói, – rendszerint külső elemként kerülnek kialakításra: PLC Bitszervezésű kétfokozatú bemeneti egységét szemlélteti a 9.4. ábra. A kétállapotú kapcsolók jele az optoleválasztású bemeneti fokozatra kerül, majd a zavaró jeleket szűrő fokozaton keresztül kapcsolódik a PLC által címezhető beviteli elemre, amely lehet port vagy multiplexer. Látható, hogy a bemeneti fokozat nem tartalmaz tároló elemet. A bemeneti fokozatban tároló elem akkor szükséges, ha fontos az azonos időben történő mintavételezés. Ilyenkor egy parancs (utasítás) hatására a PLC összes bemenetének állapota egy RAM memóriában tárolásra kerül. Ilyen bemeneti fokozatot használnak a gyorsan változó jelek feldolgozásánál. Bitszervezésű kétfokozatú kimeneti egységet mutat a 9.5. ábra. E szerint az adat a CPU-tót a mikroprocesszor kiviteli pontján át egy tároló elemre kerül (D flip-flop, D latch). A kimeneti fokozathoz a tároló elem elengedhetetlen, ez tárolja ugyanis a program által előírt és a CPU által létrehozott eredményt (1 bit) két mintavételezés között.
– 201 –
9.4. ábra. Kétfokozatú bitszervezésű beviteli egység felépítése
9.5. ábra. Bitszervezésű kétfokozatú kimeneti egység felépítése
– 202 –
9.2.2. BÁJT- ILL. SZÓPROCESSZOR ALAPÚ PROGRAMOZHATÓ VEZÉRLŐK A programozható vezérlők által nyújtott szolgáltatások az általános célú mikroprocesszorok (bájt- ill. szóprocesszorok) beépítése révén minőségileg megváltoztak. [4] Az első mikroprocesszorok a 70-es évek elején jelentek meg. Ezek a mikroprocesszorok a digitális számítógépek központi feldolgozó egység funkcióinak ellátásra alkalmas nagymértékben integrált áramkörök voltak egyetlen lapkán kialakítva. Ezek főbb egységei: • központi feldolgozó egység (Central Processor Unit, CPU), • memóriák (RAM, ROM), • beviteli, kiviteli egység (Input/Output, I/O), • sínrendszer. Közös jellemzőik: • egyik részről biztosítják a be/ki elem csatlakoztatását a mikroszámítógép buszrendszeréhez a szükséges adat, cím és vezérlő vezetékek révén; • rendszerint programozható felépítésük révén igen rugalmasan alkalmazkodnak csatlakoztatandó eszközhöz. A beviteli/kiviteli eszközök beállítását (inicializálását) a rendszer bekapcsolása után a programból kell letölteni. Tipikus „szabványos” beviteli/kiviteli elemek: • programozható párhuzamos perifériaillesztő egység, • programozható soros illesztő egység, • programozható időzítő/számláló egység. A mikroprocesszor bázisú PLC központi egysége 8, 16 ill. 32 bites általános célú processzor ill. mikrovezérlő (microcontroller) egyaránt lehet. Ehhez szükség van a mikroszámítógép szokásos elemeire (CPU, RAM, ROM), valamint a külvilággal való kapcsolattartás eszközeire. A bemeneti ill. kimeneti vonalak kezelésére négyféle módszer terjedt el: 1. a bemeneti/kimeneti eszközök a processzor párhuzamos periféria illesztőin keresztül kapcsolódnak a cím-, adat és vezérlősínre, 2. a bemeneti/kimeneti vonalak kezelésére egy külön I/O sínt állítanak elő, amely kifejezetten az I/O kezelésre van kialakítva, tekintettel a moduláris felépítés esetén a be/ki vonalak nagy számára, a terhelési viszonyokra stb., – 203 –
3. távoli I/O kezelés, 4. terepi, soros jellegű buszrendszer szervezésű I/O kezelés. Az 1. szerinti megoldást főként kompakt PLC-knél használják, ahol a kevés be/ki vonal miatt a külön I/O sín kialakítása nem indokolt. Egy tipikus, mikroprocesszor alapú PLC hardverének sémáját mutatja be a 9.6. ábra.
9.6. ábra. Egy mikroprocesszor alapú PLC általános sémája – 204 –
Látható, hogy a be/ki vonalak kezelésére egy külön I/O sín használatos. Az ábra egyes blokkjai korábban egy-egy fizikai egységet alkottak (egy-egy kártya), ma viszont az integrálási technológia fejlődésével elérhető, hogy a CPU, RAM, ROM, I/O meghajtó egyetlen kártyán kerül elhelyezésre, miáltal a CPU buszrendszere előnyösebben és biztonságosabban alakítható ki. A bájtszervezésű processzorral felépített PLC bemeneti fokozatát a 9.7. ábrán, kimeneti fokozatát a 9.8. ábrán mutatjuk be. Az ábrán látható, hogy mind a bemenetek, mind a kimenetek az ún. I/O RAM-on keresztül kerülnek lekezelésre. Az I/O RAM-ok írása a program végén PE jellel ciklikusan történik.
9.7. ábra. Bájt szervezésű bemeneti fokozat
9.8. ábra. Bájt szervezésű kimeneti fokozat – 205 –
9.2.3. PLC-K BE- ÉS KIMENETI EGYSÉGEI A GALVANIKUS LEVÁLASZTÁSHOZ A 9.9. ábra az egyenáramú galvanikus leválasztást mutatja. Az R ellenállás a tápfeszültség értékétől függ és a LED dióda áramának beállítására szolgál. Rendszerint 5 V, 12 V, 24 V, ill. 48 V tápfeszültséget használnak. [4]
9.9. ábra. Egyenáramú bemeneti fokozat
A 9.10. ábra váltakozó áramú jel galvanikus leválasztását mutatja. Az R1 a megfelelő áram beállítására szolgál, míg az R”, C’ a váltakozó komponens szűrését végzi (50 ms). A PLC bemeneti kártyájának előlapján a bemeneti állapot információt rendszerint LD diódával visszajelzik.
9.10. ábra. Váltakozó áramú bemeneti fokozat
Galvanikus leválasztású tranzisztoros kimeneti fokozatot szemléltet a 9.11. ábra.
9.11. ábra. Galvanikus leválasztású tranzisztoros kimeneti fokozat – 206 –
Az ábrán a kellő erősítés miatt Darlington fokozat került alkalmazásra. A D1 dióda az ellentétes áramimpulzus vágását végzi. A PLC I/O kártyán rendszerint 16 vagy 32 ilyen kimeneti egységet helyeznek el. Megjegyezzük, hogy a különböző kimeneti szervek villamos sajátosságait a felhasználónak figyelembe kell venni, pl.: izzólámpa esetén a hőmérséklettel változó ellenállás, induktív terhelés (relé, mágnes-kapcsoló) esetén a kikapcsoláskor fellépő feszültség visszalökés stb. Váltakozó áramú galvanikus leválasztású kimeneti fokozatot szemléltet a 9.12. ábra, amelyen kimeneti kapcsolóként triak került alkalmazásra. A triak a váltakozó feszültség „0” átmeneténél kapcsol ki, így csökkenti az induktív terhelés kikapcsolásánál fellépő nemkívánatos zavaró jeleket.
9.12. ábra. Triak-os felépítésű kimeneti fokozat felépítése
A váltakozó áramú hálózatokban egyre elterjedtebben használják a félvezető reléket (Solid State Relay - SSR). A félvezetős relék (FR) egyfázisú kivitelben készülnek.
9.3. Programozható vezérlők programozása A PLC-k hardvere univerzális, amely önmagában nem, csak a felhasználói program révén válik a konkrét irányítási feladatra alkalmassá. A bitprocesszoros PLC-k esetén a programozási nyelv szabályai és a hardver struktúra jellegzetessége között igen szoros kapcsolat volt. Az ilyen programozható vezérlők program memóriája kizárólag csak a felhasználói programot tartalmazta, mivel a PLC egyetlen funkciója a vezérlési algoritmus biztosítása volt. A bájt- ill. szóprocesszor felépítésű PLC-knél a szolgáltatás minőségi javulását részben a hardver; de igen nagymértékben a szoftver biztosítja. Ez a szoftver a felhasználói programon túlmenően számos további funkciót lát el.
– 207 –
9.3.1. A PLC-K PROGRAMJAI ÉS FELADATAIK A korszerű PLC-k szoftvere funkciója alapján az alábbi két csoportra osztható: • alapszoftver, • felhasználói program. Az alapszoftver az állandó (rezidens), a felhasználói program pedig a változó részt képviseli. A PLC alapszoftverét – hasonlóan valamennyi mikroszámítógépes berendezéshez - az operációs rendszer biztosítja. A PLC alapszoftvere igen erősen gyártó ill. típusfüggő, így egyedi. Ennek ellenére megfogalmazhatók az alábbi közös funkciók, amelyek szinte valamennyi korszerű típusnál felfedezhetők. Interpreter funkció, amely a felhasználói program értelmezésére és végrehajtására alkalmas szoftver. Ebből következik, hogy a PLC nyelven megírt egyetlen utasítás az adott mikroprocesszor esetén rendszerint több gépi utasítás révén hajtódik végre. Státusz szógenerálás. Ez a funkció szinte valamennyi mikroszámítógépes berendezésben megtalálható. A státusz szó generálásának célja a processzor által végzett műveletről történő információszolgáltatás. Önteszt funkció, amely a PLC egyes funkcióinak ellenőrzését végzi, amelyek lehetnek hardver (pl. Tápfeszültség, stb.) ill. szoftver jellegűek. A PLC-kben a felhasználói programok memóriabeli elhelyezkedése és végrehajtása az adott mikroszámítógép felépítésétől, típusától és az alapszoftverétől (interpreter) függ. Az interpreter tehát egy közbenső szoftver eszköz a vezérléstechnikai nyelv és a PLC processzora között. Valamennyi felhasználói programnyelv tulajdonképpen a vezérléstechnikai (irányítástechnikai) feladatnak az interpreter számára érthető formába szervezéséhez szükséges szabályok összefoglalása. Napjainkra a különböző felhasználói programnyelvek széles körét alkalmazzák, ami az egyes gyártó cégek eszközei közötti kompatibilitást lehetetlenné teszi. Ezért egyre nagyobb igény jelentkezik úgy a gyártók, mint a felhasználók részéről egységes nemzetközi szabványokban rögzített felhasználói programnyelvek kifejlesztésére.
– 208 –
9.3.2. PLC PROGRAMNYELVEK IEC 1131-3 sz. nemzetközi szabvány az egész világra kiterjedően egységesíteni kívánja a felhasználói programnyelveket és ezek jelöléseit. Ez a szabvány nem új programnyelveket hoz létre, hanem a korábban használt, közös jellemvonásokkal bíró, de nem egységes nyelveket igyekszik egységesíteni. A PLC programozási nyelvek fő jellemvonása, hogy vezérléstechnikai (újabban irányítástechnikai) orientáltságú. Az említett szabvány a PLC felhasználói programnyelveket két osztályba sorolja: 1. szöveges rendszerű programnyelvek 2. grafikus szimbólumokat alkalmazó programnyelvek Az 1, szerinti szöveges rendszerű programnyelveknek két megvalósítási formáját használjuk. A magas szintű programnyelvekkel (Pascal vagy C) támogatott strukturált felhasználói programnyelvet, amelynek az angol jelölése: ST (Structured Text). Ez esetben a vezérlési feladatot megvalósító felhasználói program leírása megegyezik a Pascal vagy C nyelven megírt programmal. Ennek a módszernek az a célja, hogy a magas szintű nyelvet ismerők képesek legyenek PLC program készítésére. Ennek ellenére ez a programozási nyelv a PLC technikában eddig nem terjedt el, de napjainkban a népszerűsége egyre növekszik. A másik szöveges rendszerű programnyelv az utasítás-listás programnyelv, amelynek az angol jelölése: IL (Instruction List). Az utasításlistás felhasználói programnyelv az assembly nyelvű programozásból alakult ki, és a bitszervezésű PLC-knél erősen kötődött a hardver struktúrához. A grafikus szimbólumokkal leírt és megszerkesztett vezérlési feladat egy compiler révén kerül a PLC-be letölthető formátummá. A 1131-3 szabvány három féle grafikus szimbólumokat alkalmazó programnyelvet javasol: • létradiagramos (Ladder Diagram – LD), • funkcióblokkos (Function Block Diagram – FBD), • folyamatábrán alapuló programozási nyelv (Sequental Flow Chart – SFC) 9.3.2.1. STRUKTURÁLT PROGRAMOZÁSI NYELV (ST) A strukturált programozási nyelv egy magas szintű nyelv a vezérlési és szabályozási funkciók leírására, többek között az IF...THEN, CASE, FOR, WHILE, REPEAT, stb. parancsok segítségével. Anélkül, hogy a szabvány szerinti adattípusokat és kulcsszavakat leírnánk néhány programrészletet mutatunk be, ezzel érzékeltetve az ST programnyelv szerkezeti felépítését. – 209 –
Bemeneti és kimeneti változók definiálása: PROGRAM_Program név VARINPUT (*valamennyi bemeneti változó listája és adattípus deklarálása*) END_VAR VAROUTPUT (*valamennyi kimeneti változó listája és adattípus deklarálása*) END_VAR VAR (*valamennyi, a programban használt belső változó és funkció blokk listája*) END_VAR (*a főprogram*) END_PROGRAM_BLOCK
Az ST nyelven definiált funkció blokk (szubrutin) más PLC nyelvekben is felhasználható (hívható), amennyiben ennek szoftver feltételei a kérdéses PLC-nél adottak. Funkció blokk definiálása: FUNCTION_BLOCK_Funkció név VARINPUT (*a funkció blokk bemeneti változóinak listája és azok adattípusa*) END_VAR VAROUTPUT (*a funkció blokk kimeneti változóinak listája és azok adattípusa*) END_VAR VAR (*belső változók deklarálása*) END_VAR (*a funkció blokk algoritmusát realizáló alprogram*) END_FUNCTION BLOCK
Egy funkció blokk (szubrutin) definiálása tehát a bemeneti, kimeneti és belső változók deklarálásából és az ismétlődő programrészből áll. Az operátorok közösek a modern magas szintű nyelvekben definiáltakkal. Ezek: • • • •
aritmetikai műveletek (ADD, MUL, SUB, DIV); összehasonlító műveletek (GT azaz >, GE azaz > _, EQ azaz =, LE azaz > _, LT vagy < és NE azaz < >); bitműveletek (AND, OR, XOR, NOT); a SIN, COS, TAN, SQRT és LOG funkciók szintén definiálva vannak. – 210 –
Példa: IF/THEN/ELSE struktúrára (HA/AKKOR/EGYÉBKÉNT) IF < (a Boole kifejezés igaz) > állapot ELSE < állapot > END_IF
Példa: CASE struktúra CASE < (egész kifejezés) > OF < lista > : < állapotok > < lista > : < állapotok > … ELSE < állapotok > END_ CASE
Az ST nyelv három megoldást biztosít a ciklusszervezésre. Ezek:
• FOR...DO ciklusszervezés FOR < index > : = < start > TO < vég > BY < növelés > DO < állapotok > END_FOR • WHILE...DO ciklus (AMIG struktúra) WHILE < (a Boole kifejezés igaz) > DO < állapotok > END_WHILE • REPEAT...UNTIL ciklus (ISMÉTELD...AMIG) REPEAT < állapotok > UNTIL < (a Boole kifejezés hamis) > END_REPEAT
Az ST programozási nyelv előnye a nagyfokú rugalmassága, de alkalmazása magas szintű nyelvi programozási ismeretekei és gyakorlatot igényel. 9.3.2.2. UTASÍTÁSLISTÁS PROGRAMOZÁSI NYELV (IL) Az utasításlistás programozási nyelv a PLC kialakulásával egyidős és a bitszervezésű programozható vezérlők esetén az utasításkészlet nagymértékben függött az adott feldolgozó egységtől (processzortól). Az ilyen felépítésű PLC-kben egy-egy utasítás a memória egy címén helyezkedett el. Az utasítások száma széles határok között változott. Gyártottak 8, 16 ill. 32 utasítást értelmező vezérlőket. Napjainkban az általános célú processzorok esetén a PLC utasítások típusa kevésbé függ a CPU-tól, azt a CPU és az alapszoftverben elhelyezett interpreter együtt határozzák meg. – 211 –
Az utasításlistás programnyelvvel megvalósított felhasználói programvezérlési parancsok (utasítások) sorozatából áll. Egy-egy utasítás a műveleti (operációs) részből az egy operaadus részből áll. A műveleti rész (utasítás) azt határozza meg, hogy a CPU-nak milyen műveletet kell végezni. Az egyes műveletet rendszerint az utasítás nevének rövidítésével jelölik (pl.: OR, AND, stb.). Az operaadus rész arra a kérdésre ad választ, hogy a műveleti részben definiál műveletet, mivel kell elvégezni.
A példa szerint az utasítás a 34-es bemeneti (I) bit (B) negáltjának (N) ÉS kapcsolatát végzi az akkumulátorral. A fenti programszó az operandust abszolút módon definiálja, de az adott PLC megengedi az operandusok szimbolikus megadását is definiált szöveges operandusokkal is. 9.1. táblázat. IEC 1131 javasolt néhány IL utasítás Operandus Leírás típusa
Ssz.
Utasítás
Kiegészítés
1
LD
N
Bármely
Operaadus betöltése az akkumulátorba (Pl. LD % IX1)
2
ST
N
Bármely
Akkumulátor tartalmának kivitele (Pl. ST % QX2)
3
S
Boole
Operaadus 1-be állítása
4
R
Boole
Operaadus törlése
5
AND
N és ( )
Boole
Logikai ÉS művelet
6
OR
N és ( )
Boole
Logikai VAGY művelet
7
XOR
N és
Boole
Logikai VAGY művelet
8
ADD
()
Bármely
Összeadás
9
SUB
()
Bármely
Kivonás
10
MUL
()
Bármely
Szorzás
11
DIV
Bármely
Osztás
– 212 –
Az IEC nemzetközi szabványtervezet az utasítások jelölésére az angol és a német megnevezések kezdőbetűit engedélyezi. Az IEC 1131-3-as szabványban ajánlott néhány utasítást a 9.1. táblázatban foglaltuk össze. Természetesen az utasítások programmá szervezésére léteznek szintaktikai szabályok, de ezek PLC típustól is függenek. Nézzünk meg egy példát logikai műveletekre. Legyen
Y 5 = I1 + I 3 ⋅ I 2 + I 4 Utasításlistás (IL) program: LD
I1
betöltés
ORN
I3
logikai VAGY
ST
M1
akkumulátor tartalom kivitele
LDN
I2
betoltés I 2
ORN
I4
logikai VAGY I 4 -al
AND
M1
ST
Y5
(I 3) -al
( )
( ) logikai ÉS (M 1) -el Eredmény (kivitele)
Példa a zárójel alkalmazására és bájt jellegű műveletre: LD
X BYTE
(Az X bájt betöltése az akkumulátorba)
GT()
A BYTE
Tesztelés: X GT(A+B)
ADD
B BYTE
Vagy: X > (A+B)
A jelenleg gyártott PLC-k a leírttól eltérő utasításokat is értelmeznek és végrehajtanak. Érdemes megjegyezni, hogy míg korábban a PLC utasítások szinte kizárólag a bitműveletekre korlátozódtak, a mai készülékeknél a bájt ill. szóműveletek is természetesek. Napjainkban egyaránt találkozhatunk az utasítások számának csökkentésére irányuló törekvésekkel, de 100 utasítás szám feletti típusokkal is. Az utasításlistás programozás során egyrészt a programozó hozhat létre funkcióblokkokat, másrészt használhat könyvtári funkcióblokkokat is. – 213 –
9.3.2.3. LÉTRADIAGRAMOS PROGRAMOZÁSI NYELV (LD) A létradiagramos programozási nyelv (Ladder Diagram – LD) az áramúttervből alakult ki, így a létradiagramok az áramúttervek szoftver megfelelői. Az érintkezős vezérlések elvi rajzát általában áramutas rendszerben készítik. Ennek lényege, hogy a tápfeszültség párhuzamosan haladó két vezetéke közé rajzoljuk a működtető érintkezők és a működtetett készülékek soros vagy vegyes kapcsolású láncait, lehetőleg a működésüknek megfelelő sorrendben. Ez az ábrázolási mód természetesen azzal jár, hogy az egy szerkezeti egységet alkotó elemek nem kerülnek egymás mellé. Az áramút rajzon tehát nem törekszünk a relé vagy mágnes-kapcsoló működtető elektromágnesének és a hozzátartozó érintkezőknek, illetve a más módon működtetett kapcsolók együtt mozgó érintkezőinek egymás mellé rajzolására. Az áramút rajzon minden elem nyugalmi (raktári) állapotban van feltüntetve. Az áramutakat – az említett két függőleges vonal között – vízszintes egyenes mentén ábrázoljuk. Az áramutak ábrázolásánál a vonalak (áramutak) kereszteződését kerülni kell. Az áramköröket úgy kell csoportosítani, hogy a működési sorrendben egymást követő áramkörök lehetőleg a rajzon is kövessék egymást. A kapcsoló elemek összetartozásának felismerését a rajzjelek, valamint a betű és számcsoportból álló tervjelek biztosítják. Rajzjelen az elem szimbolikus képét értjük. A tervjel a rajzjel mellé írt betű és számcsoport, amely az elem azonosítására szolgál. Példaként nézzük meg a motorvezérlés áramúttervét
9.13. ábra. Háromfázisú váltakozó áramú motor vezérlésének villamos kapcsolási rajza – 214 –
A motor be- ill. kikapcsolását kézi nyomógombokkal (NB - be, NK - ki) végezzük, a K jelű mágnes-kapcsoló meghúz, ha NB-t megnyomjuk, és segédérintkezője tartásba hozza, valamint a működés jelzését az L jelzőlámpa világítása mutatja. Ez az állapot mindaddig fennmarad, amíg az NK – ki nyomógombot nem működtetjük. A villamos kapcsolásnak megfelelő áramútterv rajztechnikával a 9.14. ábrán látható.
9.14. ábra. Tartóáramkörös motorvezérlés áramút rajza
A létradiagramok az áramúttervek programozási megfelelői, lényeges különbség közöltük, hogy csak logikai egyenletek leírására szolgálnak, nem tartalmaznak speciális, és csak az érintkezős hálózatokra jellemző összevonásokat és elemei csak az adott I'LC Funkcionális szoftver elemei lehetnek. A létradiagramok főbb elemei • kontaktusok, • huzalozás, • logikai kimenetek (Output, Flag, MERKER), • időzítők, • számlálók, • különleges elemek (pl. léptető regiszter, > ~ blokk, stb.). Az IEC szabvány főbb LD grafikus szimbólumait a 9.2. táblázatban foglaltuk össze. A létradiagram szimbólumok tulajdonképpen az áramútterv rajzjeleiből alakultak ki. Fontos különbség azonban, hogy a létradiagramon az egyes elemek csak a funkció ill. viselkedés alapján vannak megkülönböztetve, hiszen a létradiagram szimbólumai nem valódi elemek (érintkezők, beavatkozók), hetem szoftver ele– 215 –
mek. Ezért nincsenek megkülönböztetve, pl. a nyomógombok, a relé érintkezők vagy a termikus relé érintkezője, illetve a relé ill. mágnes-kapcsoló. A létradiagram készítésének szabályai hasonlóak az áramútterv készítésének szabályaihoz, kivéve a speciálisan hardver jellegű vonatkozásokat. IEC grafikus szimbólum --| |--
Leírás Záró munka érintkező
--|/|--
Bontó n u almi érintkező
--|P|--
0 → 1 átmenetet adó érintkező
--|N|--
1 → 0 átmenetet adó érintkező
--( )--
Tekercs
--(/)--
Negált működésű tekercs
--(S)--
RS FF beíró tekercs
--(R)--
RS FF törlő tekercs
--(M)--
Tápfeszültség kimaradáskor állapotát megtartó tekercs
--(SM)--
Tápfeszültség kimaradáskor állapotát megőrző RS FF beíró tekercs
--(RM)--
Tápfeszültség kimaradásakor állapotát megőrző RS FF törlő tekercs
--(P)--
0 → 1 élre működő ON tekercs
--(N)--
1 → 0 élre működő (OFF) tekercs
A létradiagram szemléltetésére a tartóáramkörös kapcsolás LD megfelelőjét a 9.15. ábrán rajzoltuk meg. A létradiagram a bájt ill. szó műveletek programozásánál is használható megfelelő funkcióblokkok beiktatásával. A létradiagramos programozásra példák kapcsán visszatérünk.
9.15. ábra. Tartóáramkör létdiagramja – 216 –
9.3.2.4. FUNKCIÓBLOKKOS PROGRAMOZÁSI NYELV (FBD) A funkció blokk diagram (Function Block Diagram: - FBD) tulajdonképpen a huzalozott logikában az SSI, MSI áramköröknél használt szimbólumokból kialakított, erősen hardver orientált nyelv. Egy funkció blokk bal oldalán a bemenetek, jobb oldalán a kimenetek vannak feltüntetve. A jelfolyam iránya az előző fokozat kimenetétől a következő fokozat bemenete felé halad (balról jobbra). Így az FBD szintaktikai szabályai a huzalozott, feszültséglogikájú hálózatok hardver kialakítási szabályaival egyeznek meg, néhány kivétellel (pl. belső terhelési viszonyok, FAN OUT, FAN IN, stb). A fontosabb IEC szabványú funkció blokkokat a 9.3. táblázatban foglaltuk öszsze.
9.3. táblázat. IEC szabványos funkció blokkok – 217 –
9.3.2.5. SORRENDI FOLYAMATÁBRA (SFC) Már a huzalozott vezérlések idején felmerült egy szoftver orientált vezérlési feladat leírási mód, mivel az áramútrajz ill. a logikai szimbólumos leírási módszerek erősen kötődtek egy-egy realizálási módhoz. Így került kifejlesztésre a Grafcet szabvány, amely eredetét tekintve francia nemzeti szabvány. A PLC-k programozására használatos sorrendi folyamatábra (Sequential Flow Chart: SFC) tulajdonképpen a Grafcet továbbfejlesztésének tekinthető. Mivel a PLC-k programozásánál a Grafcet ill. SFC egyaránt használatos, ezért a két leírási módot egyaránt bemutatjuk. Grafcet A Grafcet vezérléstechnikai orientált feladat leírási módszert a számítástechnikában használt folyamatábra és a digitális technika jelölésrendszere alapján dolgozták ki. A működési tervek tartalmazzák a digitális technikában bevezetett szabványos jelöléseket, vagyis a logikai eszközök jele négyzet vagy téglalap alakíj, a hatásvonal fentről lefelé ill. balról jobbra halad. Az ettől eltérő haladási irányt nyíllal kell jelölni. A 9.16. ábra bemutat néhány, a szabvány által megengedett, a logikai áramköri ábrázolásokban nem szokványos, a működési tervekben gyakran használt jelölési módot. Látható, hogy a jel bármely oldalára együttesen is kerülhet be- ill. kimenet, valamint össze lehet a jelölésben vonni a be- ill. kimeneteket.
9.16. ábra. A vezérléstechnikában használatos, nem szokványos jelölések
A számítógépes programok folyamatábra készítésekor megszokott kapcsolójelek itt is alkalmazhatók, ha az áttekinthetőség megkívánja (lásd 9.17. ábrát).
9.17. ábra. A számítástechnikából átvett kapcsolójelek
– 218 –
A működési tervek más szabványban nem alkalmazott jelölései és fogalmai a következők: • utasítás: ebben a szabványban az utasítás, egy állapot megváltoztatására irányuló rendelkezés, • lépés: a lépés az irányítási rendszer összetartozó állapotait fogja össze. Lehetőséget ad az állapotok sorrendjének kijelölésére. A 9.18. ábra mutatja az utasítás grafikus jelét.
9.18. ábra. Az utasítás általános szimbóluma
Az A mezőbe az utasítás fajtája kerül, ami a következő lehet: • D késleltetett (önállóan nem használt), • S tárolt, • SD tárolt késleltetett, • NS nem tárolt, • NSD nem tárolt és késleltetett, • SH tárolt, még energia kiesés idejében is, • T időben korlátozott (önállóan nem használt), • ST tárolt és időben korlátozott. A B mezőbe az utasítás hatását írjuk be. Ha az utasítás hatása nem egyértelmű, akkor zárójelbe tesszük: A C mezőbe az utasítás kimenet csatlakozási pontjának jelét írjuk, amire hivatkozva nem kell hatásvonallal odavezetni az utasítás kimenetét egy későbbi ábra részlethez. A bemenetek közül a betűvel jelöltek jelentése: • F feltétel bemenet, az utasítás végrehajtását akkor engedélyezi, ha értéke 1, • R törlő bemenet, amely az utasítás törlését eredményezi.
– 219 –
A kimenetek közül a betűvel jelölt jelentése: • RC ezen kimenet értéke akkor 1, ha a beavatkozó szerv, amire az utasítás vonatkozott, olyan állapotban van, amit az utasítás előírt. A nem jelölt kimenet akkor 1, ha az utasítás élő, végrehajtandó. Ez önmagában nem jelzi, hogy ténylegesen végrehajtódott-e. A 9.19. ábra mutatja a lépés grafikus jelét, egy példát és a hozzátartozó működést magyarázó leírást.
9.19. ábra. Lépés szimbólum (a, b) és vezérléstechnikai értelmezése (c)
Az A mezőben áll a lépés sorszáma, amely szabadon választható. A B mezőben szöveg helyezhető el (pl. 1. Töltés). Egy lépést ill. jelet akkor tárolunk ebben az egységben, ha a törlő bemenet kivételével az összes bemenete 1. A lépés vagy más néven ugrás jel bevitele után a kimenet értéke 1. Az i-edik lépést rendszerint az előző lépés elérése készíti elő és a további feltételek teljesülése esetén aktiválódik ill. leggyakrabban a következő (i+l) lépés beírásával törlődik. Az R-rel jelölt bemenet törlő bemenet, ez megengedett, de csak speciális esetekben célszerű alkalmazni. A lépést emellett utasításokkal is ki lehet váltani, ill. oltani. – 220 –
Sorrendi folyamatábra (SFC) Az IEC 1131 szabvány szerinti sorrendi folyamatábra igen hasonlít a Grafcethez. Az SFC i-edik sejtjét szemlélteti a 9.20. ábra.
9.20. ábra: A sorrendi folyamatábra (SFC) általános sejtje
A folyamatábrán a sorrendi hálózat egy-egy belső állapotát, az ezen állapotba kerülés feltételeit, valamint az állapothoz rendelt kimeneti eseményeket tüntetik fel. Szükséges a következő állapotot előidéző feltételek mellett az előző állapot törlését is. Az n. lépés (MERKER) visszaállítását szemlélteti a 9.21. ábra.
9.21. ábra. Az n-ik lépés törlése az (n+1)-ik lépés elérésekor
A törlési feltétel rendszerint a következő állapot (n+l) beírási feltétele, de elvileg további feltételei is lehetnek az n. lépés törlésének. Az n. lépés törlését csak az utóbbi esetben szokták feltüntetni. A folyamatábrás leírás esetén szigorú szabályok rögzítik az n. lépésről az n+1. lépésre történő előrehaladásnak a rendjét. Egy átmenet átlépését jelentő előrehaladás akkor jöhet létre, ha az adott átmenet érvényes – 221 –
(elért) és a hozzákapcsolódó átmeneti feltétel teljesül. Ezek együttes teljesülésekor az átlépés kötelező. Átlépéskor a PLC ciklusideje alatt az átmenetet követő lépés aktívvá válik és az átmenetet megelőző lépés inaktiválódik. 9.3.4. PROGRAMOZÁSI PÉLDÁK Az előzőekben leírtak illusztrálására néhány rutin jellegű példát mutatunk be. Létdiagramos és utasításlistás programozás A példák könnyű követhetősége céljából csak néhány utasítást tartalmazó PLCt választottunk. A példáknál használt PLC utasításkészlete: LD
Betöltés, ágkezdet
OUT
Kivitel
AND
ÉS művelet, soros kapcsolás
OR
VAGY művelet, párhuzamos kapcsolás
…|
Kiegészítő operátor: invertálás művelet
ORB
VAGY művelet párhuzamos ág kezdettel
ANB
ÉS művelet soros ág kezdettel
A további utasításokat a típus feladatok kapcsán ismertetjük. Bemenetek és kimenetek hozzárendelése: • bemenetek: X400…407; X410…X413 • kimenetek: Y430…Y437; Y500…Y507.
– 222 –
9.1. példa VAGY (9.22. ábra) ill. ÉS (9.22. ábra) kapcsolat programozása.
9.22. ábra. VAGY (a) ill. ÉS (b) kapcsolat programozása létdiagrammal és utasításlistával
9.2. példa NOR ill. NAND függvények programozása (9.23. ábra)
9.23. ábra. NOR (a) ill. NAND kapcsolat programozása létdiagrammal és utasításaival
– 223 –
9.3. példa MERKER memória használata segédreléként
9.24. ábra. Öntartó áramkör LD-on
A kapcsolás felhasználható a tápfeszültség kimaradás figyelésére és ettől függően a további ágak engedélyezésére. A másik alkalmazási lehetőség a közös hálózat kiemelése a 9.25. ábra szerint.
9.35. ábra. Közös áramkör rész kiemelésére használt MERKER funkció
Az M101 MERKER 3 ág által realizált hálózatot reprezentál és kontaktusa tetszőleges bemenettel sorba köthető, így jelentős program egyszerűsítés érhető el a közös rész kiemelésével. Harmadik alkalmazásként az állapotát tápfeszültség kimaradásakor is megtartó funkciót szemlélteti a 9.26. ábra. Az M300 MERKER teleppel védett RAM területen van elhelyezve.
– 224 –
9.26. ábra. Tápfeszültség hibától védett MERKER funkció
9.4. példa RS FF programozása RS FF programozása látható a 9.27. ábrán. Az S ill. R program ágak természetesen nem közvetlenül követik egymást és a vezérlési feltételt is biztosítani kell. Megjegyezzük, hogy egyes PLC-k beírásra ill. törlésre elsőbbséget biztosító RS FF-ot is értelmeznek.
9.27. ábra. RS flip-flop programozása létdiagramon
9.5. példa Időzítések programozása a, Impulzuskésleltetés programja (a) és idődiagramja (b) látható a 9.28. ábrán.
– 225 –
9.28. ábra. 1 → 0 átmenetre billenő monostabil multivibrátor programozása
9.6. példa Számlálási funkciók programozása A számlálási funkciót létdiagramon a 9.24. ábra szerinti általános séma szerint lehet programozni. A programban gondoskodni kell a számláló törléséről, valamint az impulzus bemenetről.
9.29. ábra. Számlálási funkció programozásának sémája létdiagramon
– 226 –
Az ábrán a számláló (C460) törlését az X402 bemenet végzi. A számláló az X403-as bemeneten megjelenő jelváltozásokat (M100) számlálja. A K8 a programozott számláló végértéke (8 impulzus). A C460-as kimeneten a végérték elérésekor jelenik meg a jel és ez működteti az Y430-as kimenetet. Egy számláló konkrét programja látható a 9.30. ábrán. A számláló törlését az X406 végzi, illetve a végérték elérésekor (5) automatikusan törlődik (ismétlő számláló). Az első két ág az X405 „jelformálását” végzi. A számláló az X405-ös bemeneten megjelenő jelváltozásokat számolja és minden ötödik impulzus után jelenik meg jel az Y430-as kimeneten. Számlálók esetén ügyelni kell arra, hogy a tápfeszültség kiesése esetén visszatérő jel ne okozzon hibás működést (pl. törlés, felejtés). A számláló MERKEREI rendszerint a teleppel védett CMOS RAM területen vannak elhelyezve. A számláló törlését illetve léptetését gyakran időzítő tagokkal kombinálják. A számláló modulok az OUT kimenet felhasználásával bővíthetők.
9.30. ábra. Előre számláló programozása létdiagramon és utasításlistával
– 227 –
9.7. példa Előre/hátra számláló programozása Előre/hátra számláló létdiagramja látható a 9.31. ábrán. Az előre beállított érték betöltése a LOAD kontaktussal történik.
9.31. ábra. Előre/hátra számláló programja
– 228 –
FELHASZNÁLT IRODALOM [1] Dr. Bencsik Attila – Dr. Madarász László: Digitális jelek digitális áramkörök, FIOM, Budapest, 1998. [2] Dr. Bencsik Attila – Felker Péter – Fűrész Ferenc – Dr. Harkay Gábor – Kerekes Sándor: Laboratóriumi gyakorlatok és feladatok, BDMF, Budapest, 1996. [3] Dr. Ajtonyi István: Digitális rendszerek, Miskolci Egyetemi Kiadó, Miskolc, 1998. [4] Dr. Ajtonyi István: Vezérléstechnika, Miskolci Egyetemi Kiadó, Miskolc, 2002. [5] Dr. Szittya Ottó:Digitális és analóg technika informatikusoknak, I. kötet, Gábor Dénes Főiskola, Budapest, 2000. [6] M.Morris Mano – Charles R. Kime: Logic and computer design fundamentals, Prentice-Hall International, New Jersey, 1997.
– 229 –