kategória | ||||||||||
|
||||||||||
|
||
Programozható vezérlők hardverfelépítése
A programozható vezérlők hardvere univerzális. Fő rendeltetése a vezérlési program végrehajtá-
sa, amihez az adatok beolvasására, feldolgozására és az eredmény kivitelére van szükség. Ezt a
három műveletet az alábbi hardveregységek végzik: bemeneti egység, központi feldolgozóegy-
ség és kimeneti egység. A felsoroltak közül a központi feldolgozóegység fejlődött a legdinami-
kusabban, és főként ez határozza meg a PLC szolgáltatásait.
2.1. ábra. A programozható vezérlő három fő egysége
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 (Small Scale Integration, SSI; Medium Scale Integration, 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
ún. 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. Ezek alkották a programozható vezérlők első generációját.
A nagymértékben integrált áramkörök (Very/Large Scale Integration, V/LSI) elterjedésé-
vel az általános célú mikroprocesszorok váltak a PLC-k központi feldolgozóegységévé, ami
egyben minőségi változást is jelentett. A bájt-, ill. szóprocesszorok alkalmazása révén a Boole-
műveletek mellett a következő funkciók váltak általánossá a programozható vezérlőkben: aritme-
tikai műveletek végzése, szabályozási funkció ellátása, szabványos kommunikáció biztosítása
stb. A mikroprocesszor alapú programozható vezérlők, amelyek napjainkra szinte egyeduralko-
dóvá váltak, tekinthetők a PLC-k második generációjának.
2.1. Bitprocesszor alapú programozható vezérlők
A bitprocesszor alapú programozható vezérlők jellemzői
− csak egybites, Boole jellegű logikai műveletek végzése;
− kevés számú utasítás;
− kismé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-
lag indokolható, mivel felépítésük és működésük egyszerű és szinte "bitenként" követhető, más-
részt az ún. PLC-nyelvek és a korai bitszervezésű architektúrák között igen szoros összefüggés
van. A bitprocesszor rendszerint a következő egységeket tartalmazza: bemeneti multiplexer,
programozható logikai egység (Logical Unit, LU), egybites akkumulátor, kimeneti tároló és
demultiplexer, véletlen hozzáférésű memória (Random Access Memory, RAM) és a szükséges
adat-, cím- és vezérlővonalak (2.2. ábra).
2.2. ábra. Egy bitprocesszor alapú PLC felépítése
Az egyes egységek funkciói
− bemeneti multiplexer: a bemeneti logikai változók kiválasztása és az adat kapuzása a
programmemóriában tárolt bemeneti cím alapján;
− 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: egybites 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 programmemó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 külső elemei és azok fun 525i81f kciói
− programmemória: a vezérlési algoritmust realizáló program tárolása,
programszámláló: a programmemória egymás utáni címkombinációinak előállítása az
óragenerátorról kapott impulzusok hatására.
A mikrokód által programozott logikai egység legegyszerűbb felépítését szemlélteti a 2.3. áb-
ra.
2.3. ábra. A mikrokód által programozott logikai egység
A logikai egység a két bemeneti változón (A, B) négyféle logikai műveletet hajt végre, de
a kimeneti multiplexer révén a C, D bemenetek (műveleti kód) által kiválasztott eredmény jut a
kimenetekre (Y) az alábbiak szerint:
Mikrokód
Függvény
C
D
Y
A & B
A B
A & B
A B
A 2.2., ill. 2.3. ábrák alapján követhető a bitszervezésű PLC működése. A programmemó-
riában tárolt operandusmező közvetlenül címezi a bemeneti, kimeneti, ill. RAM-elemeket, a mű-
veleti kód pedig a programozható logikai egység által végzendő műveletet definiálja. A logikai
egység mindig az akkumulátor és a másik operandus (bemenet, vagy RAM bit) között hozza
létre az előírt logikai műveletet, például a kétváltozós ÉS kapcsolatot. A programmemóriában
tárolt programot a PLC az órajel-generátor által működtetett számláló révén, növekményes sor-
rendben egymás után ciklikusan hajtja végre. A kimenetre juttatott eredményeket a flipflopok
tárolják két ciklus között.
A programozható vezérlőkben kétféle funkciójú memóriát alkalmaznak: program- és
adatmemóriát. A programmemória a vezérlőprogramot tartalmazza, amely a vezérlési algorit-
must realizálja. A bitprocesszor alapú PLC-k esetén a programmemória szóhossza nem szükség-
képpen igazodik a szóprocesszoroknál ismert 8/16/32 bites szóhosszhoz. A programmemória
szóhosszúságát egyrészt az utasítások számának bináris kódja, másrészt a be/ki címtartomány
határozza meg.
Példaként egy 12 bit szóhosszú memória funkcióit szemlélteti a 2.4. ábra, ahol az utasí-
tásbitek száma 3 (2 =8 utasítás), a be/ki címbitek száma 9 (2 = 512 be/ki cím, pl. 256 bemenet,
256 kimenet).
2.4. ábra. Egy utasítás elhelyezése a programtárolóban
Programmemóriaként korábban egyszer programozható, csak olvasható memóriát hasz-
náltak (Programmable Read-Only Memory, PROM), míg napjainkban törölhető, programozható,
csak olvasható (Erasable PROM, EPROM), ill. elektromosan törölhető, újraprogramozható, csak
olvasható (Electrically EPROM, EEPROM) memóriát alkalmaznak. Utóbbi előnye, hogy a prog-
ram módosítása a memóriacsip kivétele nélkül közvetlenül megoldható (in system
programming). Főként a felhasználói programok belövésekor jól használhatók programmemóri-
aként a teleppel védett CMOS RAM-ok (Complementary Metal-Oxid Semiconductor, CMOS).
A programfutás közben keletkező változók tárolására írható-olvasható memóriák (RAM)
szolgálnak, amelyek a tápfeszültség bekapcsolásakor telepes védelem nélkül tetszőleges értéket
(0, ill. 1) vehetnek fel.
A RAM-memóriák a következő célorientált funkciókat látják el a programozható vezér-
lőkben
− a közbenső adattárolók funkciója hasonló a hagyományos vezérlés segédreléihez. Ezek
a tárolók valósítják meg az ún. MERKER funkciókat (a programban M betűvel jelölik). Erre van
szükség a diszjunktív alakú függvényekben szereplő VAGY kapcsolatok részeredményeinek
tárolásánál vagy a sorrendi hálózatokban a lefutó vezérlés belső állapotainak 1 az n-ből jellegű
állapot kódolására. A MERKER memória bitprocesszor alapú PLC-k esetén bitszervezésű;
− az I/O RAM funkció a bemeneti, ill. kimeneti változók tárolását jelenti, szintén bitszer-
vezésű;
− az időzítők (timer) és számlálók (counter) értékének átmeneti tárolása (bájt vagy szó jel-
legű).
Napjainkban szinte kizárólag teleppel védett CMOS RAM csipeket használnak RAM-
memóriaként. Egy tipikus bitprocesszor alapú PLC felépítését szemlélteti a 2.5. ábra [10]. Látha-
tó, hogy a logikai egység operandusai lehetnek: egy bemenet (I), egy kimenet (O), egy merkerbit
(M), egy időzítőkimenet (T) vagy számlálókimenet (C). A bemeneti változót kivéve valamennyi
változó a logikai egységgel, a program futtatásával módosítható.
2.5. ábra. Bitszervezésű PLC felépítése
2.2. Bájt- vagy szóprocesszor alapú programozható vezérlők
A programozható vezérlők szolgáltatásai az általános célú mikroprocesszorok (bájt- vagy szó-
processzorok) beépítésével minőségileg megváltoztak. A szóprocesszorok felépítése nagymér-
tékben hasonlít a bitprocesszorokéhoz.
Az első mikroprocesszorok a 70-es évek elején jelentek meg. A mikroprocesszorok a di-
gitális számítógépek központi feldolgozóegysége funkcióinak ellátására alkalmasak, nagymér-
tékben integrált áramkörök, egyetlen lapkán kialakítva. Az első mikroszámítógép-rendszer már a
Neumann-féle modell valamennyi elemét tartalmazta (2.6. ábra):
- központi feldolgozóegység (Central Processor Unit, CPU);
- memóriák (RAM, ROM);
- beviteli/kiviteli egység (Input/Output, I/O);
- sínrendszer.
2.6. ábra. A mikroszámítógép felépítése
2.2.1. A mikroprocesszor
A mikroprocesszor a számítógép funkcióit ellátó digitális, igen nagy mértékű integráltságú
áramkör (Very Large Scale Integration, VLSI), amelynek három fő része van: időzítő-vezérlő
egység, aritmetikai-logikai egység (Arithmetical and Logical Unit, ALU) és regiszterek (2.7.
ábra).
2.7. ábra. Az egyes részegységek funkciói
Az egyes részegységek funkciói
Az időzítő-vezérlő egység feladata a program utasításai vagy külső kérések (megszakítás,
tartás, várakozás) alapján a gép részeinek irányítása. Ez egyrészt az ALU műveleteinek vezérlé-
sét, az egyes adatútvonalak nyitását, zárását, a sínek működtetését, másrészt a külső egységek: a
memória és az I/O egységek vezérlését jelenti.
Az utasítások végrehajtása többnyire mikroprogram alapján történik. Minden utasítás
műveleti kódja egy kis kapacitású ROM-tárban, azaz a mikroprogramtárban elhelyezett progra-
mot indít el. A mikroprocesszor időbeni működését biztosító órajelet az időzítőegység fogadja. A
vezérlőegység fontos része az utasításregiszter, amely a programmemóriából az utasításlehívási
ciklusban beolvasott utasítás kódját tárolja, amíg az utasításdekódoló és értelmező logika meg-
határozza az elvégzendő műveletet és elindítja a végrehajtást vezérlő mikroprogramot. A korsze-
rű processzorokban az IR szerepét az adatcsatornás (pipeline) regiszter váltotta fel.
A vezérlőegység fontos funkciója a különböző aszinkron jellegű kérések (programmeg-
szakítás, tartáskérés, várakozáskérés) fogadása és az ezekhez tartozó vezérlés.
A mikroprocesszor másik fontos egysége az aritmetikai-logikai egység (ALU), amely az
utasításokban meghatározott aritmetikai és logikai műveleteket hajtja végre.
Az ALU-hoz szorosan hozzátartozik az akkumulátorregiszter, ill. az állapotregiszter
(flagregiszter). A processzorok általában csak néhány aritmetikai műveletet (összeadás, kivonás,
szorzás) képesek elvégezni, ezért a korszerű mikroprocesszorokhoz ma már nélkülözhetetlenül
hozzárendelnek egy aritmetikai társprocesszort (co-processzor).
A mikroprocesszorok speciális és általános célú regisztereket tartalmaznak.
Speciális célú regiszterek: utasításszámláló regiszter (Program Counter, PC vagy
Instruction Pointer, IP), utasításregiszter (Instruction Register, IR), állapotregiszter (Flag
Register, FR), veremmutató (Stack Pointer, SP). Ezek szinte valamennyi mikroprocesszorban
megtalálhatók, de az egyes típusok további különleges célú regisztereket tartalmazhatnak, pl.
indexregiszter, báziscímregiszter.
Az utasításszámláló regiszter mindig a soron következő utasítás memóriacímét tartalmaz-
za. A PC kezdő értékét, azaz a program első utasításának helyét az operációs rendszer jelöli ki. A
mikroprocesszor törlésbemenetét (reset) hatásosan vezérelve a PC-be a 0000hex cím töltődik. A
PC tartalma vagy minden memória-hozzáférés után eggyel nő, vagy vezérlésátadó utasítás esetén
(JUMP, CALL, RETURN stb.) a vezérlőegység a PC-be az új címet tölti be.
Az állapotregiszter ún. jelzőbiteket (feltételbiteket), ill. más vezérlő-, ellenőrző biteket
tartalmaz. Korábban a flagbitek az ALU-műveletekhez voltak hozzárendelve, pl. átvitelbit
(carry), az eredmény nulla voltát jelző bit (zero), túlcsordulásbit (overflow). Az újabb mikropro-
cesszorok esetén számos vezérlési információt jelzőbitek tárolnak, pl. megszakítás kiszolgálásá-
nak letiltása, memórialapozás engedélyezése.
A veremmutató speciális regiszter, a veremtár legfelső elemének címét tartalmazza. A ve-
remtároló az adatmemória (RAM) egy lefoglalt területe. Adatokat csak a verem tetejére lehet
tenni, és csak onnan lehet levenni. Ezt a memóriakezelési módot "utoljára be, elsőre ki" (Last-
In-First-Out, LIFO) kezelésnek nevezik. A veremmutató minden verem (stack) betöltésekor a
betöltött bájtok számával csökken (dekrementálódik), ill. kiolvasáskor növekszik (inkrementáló-
dik).
Adatbetöltéskor a veremmutató először dekrementálódik és aztán következik be az adat
beírása, kiolvasáskor először a processzor olvas, aztán a veremmutató inkrementálódik. Ezért
gyakran predekrementáló, ill. posztinkrementáló jellegűnek tekintik a veremműveletet. Egy
nyolcbites mikroprocesszor regisztereit a 2.8. ábra szemlélteti.
2.8. ábra. Nyolcbites mikroprocesszor regiszterei
A 2.8. ábrán A az akkumulátort, F a flagregisztert (5 bit), a B és C, a D és E, a H és L a
regiszterpárba is szervezhető nyolcbites regisztereket jelöli. A kérdéses mikroprocesszor esetén a
jelzőbitek funkciói: CY átvitel a legmagasabb helyértékű (Most Significant Bit, MSB) biten, S
előjelbit, Z zérus bit, P paritásbit, AC dekád átvitelbit. A jelzőbitek RS flipflopok, amelyeket az
ALU módosít aritmetikai vagy logikai műveletek után és az eredmény a flipflopokba íródik.
A regiszterek a tápfeszültség bekapcsolásakor véletlenszerű értéket vehetnek fel.
A CPU fontos részét képezi a sínrendszer. Ezen a belső egységek, valamint a külső egy-
ségek (memória, I/O) közötti adatforgalom bonyolódik. A sínrendszer funkcionálisan háromféle
sínt foglal magában: adatsínt (data bus), címsínt (address bus) és vezérlősínt (control bus).
A sínrendszer funkciói, jellemzése:
− címsín: megoldja az adatforgalomban részt vevő eszközök kijelölését; egyirányú, há-
romállapotú, a processzortól függően 16/32 bit szélességű (azaz ennyi vezeték), amely meghatá-
rozza a címezhető memória és I/O tartományt;
− adatsín: biztosítja az adatok útját; kétirányú, háromállapotú, a processzortól függően
8/16/32 bit szélességű; az adatsínvezérlés meghatározza az adatátvitel irányát;
− vezérlősín: összehangolja a kapcsolatban részt vevő eszközök működését; egyirányú,
háromállapotú, a processzortól függően 5-15 bit szélességű (azaz ennyi vezeték).
A legegyszerűbb vezérlősín ötbites:
− memóriaolvasás (Memory Read, MR);
− memóriaírás (Memory Write, MW);
− beviteli/kiviteli eszköz olvasása (Input/Output Read, I/OR);
− beviteli/kiviteli eszköz írása (Input/Output Write, I/OW);
− megszakítás (interrupt).
A vezérlősín révén lehet az azonos címen lévő memória-, illetve I/O műveleteket megkü-
lönböztetni.
A külső sínrendszer lehet helyi sín (local bus), amely a processzorhoz közvetlenül kap-
csolódik, ill. lehet rendszersín (system bus), amely a processzor sínmeghajtásán keresztül kap-
csolódik a rendszer elemeihez. A sínrendszer használatának előnye, hogy a szabványosított jel és
vezetékkiosztás miatt az egyes részegységek könnyen cserélhetők. A rendszer bemenetei hard-
verjelleggel terhelik a sínrendszert, ezért kell bizonyos számú modul esetén sínmeghajtást hasz-
nálni. A mikroprocesszoros rendszerekben használatos sín párhuzamos sínnek tekinthető.
2.2.2. A mikroprocesszor tipikus műveletei
A CPU működése ciklikus: utasításlehívás, végrehajtás, lehívás, végrehajtás stb. Ezt a pontos
sorrendiséget a rendszeróra vezérli. A CPU működésében a legelemibb időegység a gépi állapot,
amely rendszerint egy órajel periódusa alatt játszódik le. Egy gépi állapothoz egy jól definiált
művelet tartozik: pl. a címinformáció kijuttatása a címsínre. Általában több gépi állapot alkot
egy gépi ciklust, ami egy összetettebb műveletet jelent.
Tipikus gépi ciklusok: egy memóriarekesz olvasása (MR), ill. írása (MW) vagy I/O esz-
köz írása, ill. olvasása (I/OW, I/OR), utasításlehívás (fetching) stb. Egy utasítás lehívásának és
végrehajtásának együttes művelete az utasításciklus, amely 1...8 gépi ciklusból állhat az utasítás
bonyolultságától függően. Általában egy utasításciklus annyi gépi ciklusból áll, ahányszor a
CPU-nak a memóriához vagy I/O-hoz kell fordulnia. Minden utasításciklus utasításlehívási gépi
ciklussal kezdődik (fetch), a további gépi ciklusok olvasási vagy írási jellegűek.
2.2.2.1. Tipikus gépi ciklusműveletek
Minden utasításciklus első gépi ciklusa egy utasítás lehívása a programmemóriából.
Utasításlehívás folyamán a CPU:
− kijuttatja az utasításszámláló tartalmát a címsínre;
− az adatsínt bemeneti állapotba állítja;
− kiad egy memóriaolvasás- (MR-) jelet a vezérlősínre;
− az adatsínen megjelenő információt az utasításregiszterbe tölti;
− az utasításszámláló tartalmát 1-gyel növeli.
Ha több-bájtos utasításról van szó, akkor a többi bájt beolvasása hasonló művelettel (MR)
történik, de az adatok nem az utasításregiszterbe kerülnek. A mai gépek utasításlehívása ettől
némileg eltér.
Memóriaolvasás folyamán a CPU
− kiadja a kiolvasandó memória címét a címsínre;
− az adatsínt bemeneti állapotba állítja;
− kiad egy memóriaolvasás- (MR-) jelet a vezérlősínre;
− az adatsínen lévő információt valamelyik regiszterébe tölti.
Memóriaírás folyamán a CPU
− kiadja a memóriacímet a címsínre;
− az adatsínt kimeneti állapotba állítja;
− kiadja a beírandó adatokat az adatsínre;
− kiad egy memóriaírás- (MW-) jelet a vezérlősínre.
A memóriaírás művelete hasonló a memóriaolvasáshoz a viszonyok értelemszerű cseréjé-
vel. A regiszterírási és -olvasási műveletek tipikus gépi ciklusok, rendszerint az utasításlehívási
ciklusba vannak ágyazva.
Beviteli/kiviteli eszköz olvasásának (I/OR) és írásának (I/OW) folyamata:
A beviteli/kiviteli eszköz olvasása és írása igen hasonlít a memóriaolvasás és -írás műve-
letéhez, a folyamat a memóriaszavak I/O-ra cserélésével leírható. Az azonos című memória-
vagy I/O egység írását, ill. olvasását a vezérlősínen lévő eltérő vezérlőjel különbözteti meg és
így elkerülhető a sínkonfliktus.
2.2.2.2. Több gépi ciklusból álló műveletek
A veremmemória olvasása (Stack Read), a veremmemória írása (Stack Write) és a programmeg-
szakítás (Interrupt) műveletek rendszerint több sajátos gépi ciklusból állnak.
Veremmemória olvasása és írása: ez a két művelet megegyezik az MR-, MW-
műveletekkel, azzal a különbséggel, hogy a memória címét a veremmutató adja és a vezérlőegy-
ség biztosítja annak automatikus növelését, ill. csökkentését. A FETCH-, MR-, Stack Read-
ciklusok csak a mikroprocesszor belsejében lévő információforrásokban és célhelyekben térnek
el egymástól, kívülről a sínrendszeren csak a pontos memóriacím ismeretében lehet megállapíta-
ni, hogy melyik művelet zajlik a sínen.
Programmegszakítás: a számítógépes feldolgozás közben igen gyakran következnek be
olyan események, amelyek a feldolgozás szempontjából váratlannak tekintendők, pl. egy irányí-
tórendszer esetén valamely érzékelő hibát jelez (tűzérzékelő, füstérzékelő, feszültségkimaradás),
amelyek közel azonnali feldolgozást igényelnek. Az ilyen események feldolgozására szolgál a
mikroszámítógép megszakításrendszere (interrupt system), ami lehetőséget ad, hogy egy hard-
vereszköz (pl. érzékelő) programmegszakítást kérjen.
A megszakításkérelem egy jelzés a processzor számára valamely fontos esemény bekövet-
keztéről, amely valamilyen kiszolgálóprogrammal reagál ezen aszinkron jellegű eseményre. A
megszakításkérést a processzor egy speciális gépi ciklus szerint fogadja el, amit a megfelelő ki-
meneten (INTA) jelez vissza. A megszakítási funkció ellátására egy hardver-szoftver együttes
szolgál, amely együttesen végzi el a kérelem kiértékelését és annak végeredményeként a szüksé-
ges tevékenységet. A megszakításokat mikroprocesszoron belüli események is kiválthatják (pl. 0-
val való osztás esetén).
A megszakításkéréseket, amit indíthatunk szoftverből is, a processzor szubrutin jelleggel
hajtja végre. Több megszakításkérés esetén a megszakításokat prioritási sorrendjük alapján dol-
gozza fel a processzor. A hardvermegszakítások rendszerint maszkolhatók, ami azt jelenti, hogy
pl. nyolc megszakítási szint közül csak az ötös szintűt engedélyezzük vagy tiltjuk. Ugyanakkor
van nem maszkolható megszakításkérés (Non Maskable Interrupt, NMI) is, ami szoftverúton nem
tiltható le Az NMI funkciót rendszerint valamilyen súlyos hardverhibához (pl. feszültség-
kimaradás) rendelik.
A mikroszámítógép hatékony megszakításrendszere feltétele a mérés-, ill. irányítástechniká-
ban, távközléstechnikában elengedhetetlenül fontos valós idejű (real-time) adatfeldolgozásnak.
2.2.2.3. A processzor állapotai
Egy processzor működése rendszerint a következő állapotokból áll
− futó (run) állapot, amikor a processzor a programmemória által meghatározott utasítá-
sokat egymás után hajtja végre;
− várakozó (wait) állapot, amely a gépi cikluson belül valósul meg;
− tartás- (hold-) állapot, amely gépi ciklusok között aktualizálható;
− leállás- (halt-) állapot, amikor egy HALT utasítás hatására a processzor leáll, nem vé-
gez műveletet és ezen állapotból csak engedélyezett megszakítás hatására lép ki.
Várakozás
A CPU tevékenységét egy kvarcoszcillátor vezérli. Egy mikroszámítógép- rendszert úgy
terveznek, hogy a CPU és a memóriák azonos sebességgel (frekvencián) működjenek. Előfordul
azonban, hogy ez nem áll fenn, pl. ha egy rendszerben a CPU-t gyorsabbra, vagy kényszerűség-
ből a memória egy részét lassúbbra választják. Itt arról az esetről van szó, ha a memóriának csak
egy kisebb részének nagyobb a hozzáférési ideje, mint a CPU gépi állapotának az ideje. Ugyanis,
ha a teljes memóriatartomány lassabban működik, akkor csökkenteni kell a CPU oszcillátorának
frekvenciáját. Előnytelen a rendszer sebességét csökkenteni, mert az az optimális, ha csak akkor
működik lassabban a rendszer, ha lassúbb memóriával (vagy I/O-val) kommunikál. Erre dolgoz-
ták ki a READY-WAIT funkciót.
A READY-WAIT funkció lényege, hogy egy a címsínre csatlakozó logika (dekódoló) fel-
ismeri a címkombinációból annak a memóriablokknak a címét, amelyik egy gépi állapotnál több
időt igényel, és kimenete várakozást kér a processzor megfelelő (pl. Ready) bemenetén. Ezt a
kérést elfogadva a CPU ún. "wait" állapotba kerül, amit a megfelelő kimeneten jelez. A "wait"
állapot azt jelenti, hogy a CPU a címsínen, az adatsínen és a vezérlősínen hagyja az előző infor-
mációt egy (újabb kérés esetén több) gépi állapot idejére. Ha a CPU gépi állapot ideje 500 ns és
a memória-hozzáférés 650 ns, akkor egy Ready-kérés kétszer 500 ns hozzáférési időt biztosít a
memóriának, ami már bőségesen elegendő.
A címdekódoló logikára pedig azért van szükség, hogy ez a várakozás csak a lassú me-
mória esetén lépjen fel. A "wait" állapotot az ún. egylépésű üzemmód kialakítására is felhasznál-
hatjuk, ami a hibakeresésnél előnyös. A mikroprocesszor-technikában a várakozás miatt kiesett
gépi állapotokat elengedett ütemeknek is nevezik.
Tartás
A mikroszámítógépben a memória- és be/ki eszköz közötti adatforgalom csak két lépés-
ben történhet: memória és CPU, ill. CPU és be/ki eszköz, és viszont. Ez nagy mennyiségű adat
esetén megduplázza az adattranszfer idejét, amit a processzor HOLD állapota csökkent.
A CPU rendelkezik egy tartáskérés-bemenettel (HOLD vagy BUSRQ). Amennyiben
ezen a bemeneten tartáskérés jelenik meg, azt a processzor egy belső folyamat után a megfelelő
kimeneten nyugtázza (HLDA vagy BUSACK), ami egyben azt jelenti, hogy a sínrendszerét
nagyimpedanciás (Z) állapotba helyezi. Ezután egy külső eszköz rákapcsolódhat a sínrendszerre,
és közvetlen adatforgalmat bonyolíthat a memória és a be/ki egységek között. Az ilyen memória-
hozzáférést direkt memóriakezelésnek (Direct Memory Access, DMA) nevezik.
Azt az eszközt, amely az adatforgalom vezérlését végzi, DMA vezérlőnek nevezik (DMA
controller). DMA adatátvitelt alkalmaznak hajlékonylemez- (floppydiszk-) kezeléshez, vagy
többprocesszoros rendszerekben a közös memóriakezeléshez. A HOLD állapot szinte kizárólag
hardverfolyamat, így kezelése nem jár a CPU belső állapotának megváltozásával, ellentétben a
megszakításkérés kiszolgálásával. HOLD állapotban a processzor lehetőséget biztosít a prog-
rammegszakításra. A mikroprocesszor működését rendszerint folyamatábrán adják meg, amely
gépi állapotokra bontva biztosítja a szinkron jellegű működést és az aszinkron kérések (megsza-
kítás, várakozás stb.) végrehajtását.
2.2.3. Beviteli/kiviteli elemek
A mikroszámítógép beviteli, ill. kiviteli elemei [13] a központi feldolgozóegység és a külvilág
(ember, gép, technológia, számítógép) közötti kapcsolat kialakításának lehetőségét biztosítják. A
be/ki elemek típustól függően párhuzamos, ill. soros kommunikációra alkalmasak.
Közös jellemzőik: biztosítják a be/ki elem csatlakoztatását a mikroszámítógép buszrend-
szeréhez a szükséges adat-, cím- és vezérlővezetékekkel; rendszerint programozható felépítésük
miatt igen rugalmasan alkalmazkodnak a 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. Néhány beviteli/kiviteli áramkör: programozható párhuzamos perifé-
riaillesztő egység (Progammable Peripheral Interface, PPI); programozható soros illesztőegység
(Universal Synchronous-Asynchronous Receiver Transmitter, USART); programozható időzítő-
és számlálóegység (COUNTER/TIMER).
2.2.4. Mikroprocesszor alapú PLC-k hardverfelépítése
A mikroprocesszor bázisú PLC központi egysége 8, 16, ill. 32 bites általános célú processzor
vagy mikrovezérlő (microcontroller) egyaránt lehet. Ehhez szükség van a mikroszámítógép szo-
ká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:
− a bemeneti/kimeneti eszközök a processzor párhuzamos perifériaillesztőin keresztül
kapcsolódnak a cím-, adat- és vezérlősínre;
− a bemeneti/kimeneti vonalak kezelésére egy külön I/O sínt állítanak elő kifejezetten az
I/O kezelésére, tekintettel a moduláris felépítés be/ki vonalainak nagy számára, a terhelési viszo-
nyaira stb.;
− távoli I/O kezelés (lásd a 2.2.5. szakaszban);
− terepi, soros jellegű buszrendszer szervezésű I/O kezelés (lásd a 4.6. alfejezetben).
Az első megoldást főként kompakt PLC-khez 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ét mu-
tatja a 2.9. ábra.
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ót egyetlen kártyán
helyezik el, miáltal a CPU buszrendszere előnyösebben és biztonságosabban alakítható ki.
2.9. ábra. Egy mikroprocesszor alapú PLC általános sémája
Az általános célú mikroprocesszor alapú PLC-k hardverét szemlélteti a 2.10., ill. 2.11.
ábra három példája gyártott készülékek alapján. A 2.10a ábrán Z180 típusú mikroprocesszorral
működő, kompakt kategóriájú PLC egyszerűsített vázlata látható [11]. A PLC 32 darab bitenként
programozható digitális be/ki vonalat és négy analóg bemenetet tartalmaz. A kártya külön be/ki
sínt nem tartalmaz, a konfiguráció nem bővíthető.
A 2.10b ábrán egy 68340 típusú mikroprocesszor felépítésű kompakt PLC hardvere látha-
tó [12].
2.10. ábra. Egy Z180 (a) és egy 68340 (b) típusú mikroprocesszoros kompakt PLC
hardverfelépítése
P Program, TX Text (szöveg), F Flags (flegek), T Timers (időzítők), CLOCK Real-time Clock (valós idejű óra),
Vol Volatile (felejtő), DB Data Bloks (adatblokkok), C Counters (számlálók), NVol Non-volatile (nem felejtő),
R Registers (regiszterek)
A 2.10. ábrából jól kivehetők a mikroszámítógép-rendszer fő elemei: CPU, memóriák,
flegek, időzítők, számlálók, megszakításkezelő egység, valós idejű óra, be/ki elemek stb. A be/ki
vonalak kezelését itt is külön I/O BUS-szal oldották meg.
Az említett PLC főbb hardverjellemzői:
− processzor típusa: µC 68340;
− I/O-k száma: max. 128 digitális;
− felhasználói memória: min. 32 kB RAM a program-, szöveg- és adatblokk tárolására;
− flegek: 8192 1 bit (programozható felejtő-, ill. nemfelejtő-változatra);
− adatregiszterek: 4096 32 bit (nemfelejtő);
− gyors változású bemenetek: 2 megszakításkérés a gyorsszámláláshoz (max. 1 kHz);
− kimenetek: 0,5 A / 24 Vdc.
A moduláris felépítésű programozható vezérlőre példaként egy 80C167 típusú mikropro-
cesszorral gyártott típus hardverét mutatja a 2.11. ábra [10], amelyen a négy 16 bites általános
célú regiszter és a négy jelzőbit (N előjel, O túlcsordulás, C végső átvitel, Z zérus) is található,
amelyek a programozó által elérhetők.
2.11. ábra. A 80C167 típusú mikroprocesszorral gyártott PLC hardvere
A rendszer alapkonfigurációja 128 kbájt RAM-ot és 128 kbájt Flash EPROM-ot tartal-
maz. A RAM az alábbi funkciók ellátására szolgál: merker (M), időzítés (T), számlálók (C),
adatmező (DB), rendszer-RAM funkció, stack-RAM funkció. A be/ki egységek itt is külön I/O
buszra csatlakoznak. A moduláris PLC rack-jének hátlapján kialakított rendszersín (SYSTEM
BUS) további hardveregységek csatlakoztatására szolgál. A központi egység három megszakí-
táskérés kezelését biztosítja. A példabeli PLC a be-, ill. kimeneteket I/O RAM egységen keresz-
tül kezeli.
A nagyméretű és bonyolult rendszerek irányításához rendszerint több processzort alkal-
maznak, amelyek egy-egy speciális funkciót látnak el. Egy ilyen többprocesszoros PLC felépíté-
sét szemlélteti a 2.12. ábra, ahol a főprocesszor (Main Processor) 16 bites szóprocesszor.
2.12. ábra. A többprocesszoros PLC felépítése
A matematikai műveleteket a matematikai processzor, a kommunikációs funkciókat a
kommunikációs processzor vezérli. Emellett a nagyszámú távoli I/O kezelést és a PID szabályo-
zási algoritmust is külön processzor végzi. Ezek a processzorok rendszerint mester-szolga
(master-slave) kapcsolatban állnak a főprocesszorral. A mester-szolga rendszerű kommunikáció
esetén a szolgaprocesszorok csak a mesterrel állnak kapcsolatban, egymással nem. Napjainkban
a decentralizált irányítási módszerek kerülnek előtérbe.
2.2.5. Távoli be/ki modulok
A programozható vezérlők speciális kiegészítő egységei a távoli be/ki (I/O) modulok. A távoli
I/O kezelés (Remote I/O, RIO) a nagyszámú be/ki vonal esetén indokolt, különösen akkor, ha az
I/O eszközök távol vannak a PLC-től. Ilyenkor a központi PLC rack rendszerint tartalmaz egy
távolsági I/O rack-et (remote I/O rack), amely soros kommunikációval kezeli a távoli be/ki vona-
lakat. A távoli I/O modulokkal ellátott PLC felépítését szemlélteti a 2.13. ábra.
2.13. ábra. Távoli be/ki vonalak kezelése (RIO)
A soros kezelésű távolsági I/O modulok által kezelt be/kimenetek feldolgozási ideje és
válaszideje nagyobb, mint a normál be/ki jeleké. A távoli I/O-k kezeléséhez rendszerint szükség
van egy járulékos egységre, amint azt a 2.14. ábra mutatja [6].
2.14. ábra. Járulékos egység a RIO-hoz
A PLC adatfeldolgozása és a távoli I/O rack-ek soros lekezelése rendszerint nincs szink-
ronizálva.
2.3. Kétállapotú bemeneti és kimeneti egységek
A PLC-k központi műveletvégző egysége kétfokozatú beviteli/kiviteli egységen keresztül tartja a
kapcsolatot a külvilággal, azaz a technológiai folyamat jeladó ill. beavatkozószerveivel. A CPU-
val rendszerint egy belső be/ki egység (multiplexer vagy I/O port) révén, a sínrendszeren keresz-
tül történik az adatforgalom. A belső I/O egységek tápfeszültsége megegyezik a CPU tápfeszült-
ségével.
A belső I/O egységek bemeneteire kapcsolódhatnak:
− a PLC-hez kapcsolódó kétállapotú eszközök, amelyek táplálása közvetlenül a CPU táp-
feszültségéről történik, ezért galvanikus leválasztást nem igényelnek (pl. kezelőszervek, billen-
tyűzet);
− a technológiáról érkező terepi jellegű eszközök, amelyekre jellemző, hogy táplálásuk
nem egyezik meg a CPU táplálásával. Amíg a CPU központi processzora rendszerint 5-15 V,
addig a működtetőszervek ettől rendszerint eltérő táplálást igényelnek (pl. 24 Vdc, 48 Vdc, ill.
24 Vac, 230 Vac). A különböző feszültségek keveredésének megakadályozása céljából galvani-
kus leválasztású bemeneti, ill. kimeneti illesztőket használnak. A galvanikus leválasztást
optocsatolóval oldják meg. Ennek főként zavarvédelmi, villamos és biztonságtechnikai (érintés-
védelmi) előnye van. A bitprocesszor, ill. szóprocesszor alapú PLC-k bemeneti, ill. kimeneti
egységei csak a szervezés módjában térnek el. A bitprocesszor a be-, ill. kimeneteket bitenként, a
szóprocesszor bájtonként/szavanként kezeli.
Bitszervezésű kétfokozatú bemeneti egységet szemléltet a 2.15. ábra.
2.15. ábra. Kétfokozatú bitszervezésű beviteli egység felépítése
A kétállapotú kapcsolók jele a zavarójeleket szűrőfokozaton át az optoleválasztású be-
meneti fokozaton keresztül továbbítja a PLC által címezhető beviteli elemre, amely lehet port
vagy multiplexer. Látható, hogy a bemeneti fokozat nem tartalmaz tárolóelemet. Tárolóelem
akkor szükséges, ha fontos az azonos idejű mintavételezés. Ilyenkor egy parancs (utasítás) hatá-
sára a PLC összes bemenetének állapotát egy RAM-memória tárolja. Ilyen bemeneti fokozatot
használnak a gyorsan változó jelek feldolgozásakor.
2.16. ábra. Bitszervezésű kétfokozatú kimeneti egység felépítése
Bitszervezésű kétfokozatú kimeneti egységet mutat a 2.16. ábra, ahol az adat a CPU-tól a
mikroprocesszor kiviteli portján át egy tárolóelemre kerül (D flipflop, D latch). A kimeneti fo-
kozathoz 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.
A bájtszervezésű processzorral felépített PLC bemeneti fokozatának illusztrálására a 2.11.
ábrán bemutatott PLC bemeneti fokozatát a 2.17. ábrán [10], kimeneti fokozatát a 2.18. ábrán
[10] mutatjuk be.
2.17. ábra. Bájtszervezésű bemeneti fokozat
2.18. ábra. Bájtszervezésű kimeneti fokozat
A 2.18. ábrán látható, hogy mind a bemeneteket, mind a kimeneteket az ún. I/O RAM-on
keresztül kezelik. Az I/O RAM-ok írása a program végén PE (page-end character, lap vége) jel-
lel ciklikusan történik.
A galvanikus elválasztás − azaz a működtetőfeszültségek közös vonatkoztatási pontjának
szétválasztása − zavarvédelmi tulajdonságát a következők alapján érthetjük meg. A bemeneti, ill.
kimeneti eszközök rendszerint a technológiai berendezések (motorok, mágneskapcsolók, szele-
pek stb.) közelében (a terepen) vannak elhelyezve, így induktív és kapacitív úton különböző za-
varójelek szuperponálódnak ezen vezetékekre. Galvanikus elválasztás nélkül ezek a zavarójelek
a CPU tápfeszültségére jutnának.
A CPU-t egy kristályoszcillátor működteti. Galvanikus elválasztás nélkül a zavaróimpul-
zusok katasztrofális hibát okozhatnak a CPU működésében (pl. akaratlan memóriaírás, -olvasás).
A 2.19. ábra szerinti szétválasztás a bemeneti és kimeneti oldalon védetté teszi a CPU működését
a külső zavaroktól és véd az esetleges áramütéstől.
2.19. ábra. A galvanikus elválasztás elve
Az optocsatoló (optoizolátor) egy közös tokba épített fényemittáló diódából és egy fotó-
tranzisztorból áll. Optoleválasztású bemeneti fokozatot szemléltet a 2.20. ábra.
2.20. ábra. Egyenáramú és váltakozó áramú bemeneti fokozat
A 2.20a ábra az egyenáramú galvanikus elválasztást mutatja. Az R ellenállás a tápfe-
szü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.
A 2.20b ábra váltakozó áramú jel galvanikus elválasztását mutatja. Az R1 a megfelelő
áram beállítására szolgál, míg az R2, C1 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óját rendszerint LED-diódával visz-
szajelzik.
Galvanikus elválasztású tranzisztoros kimeneti fokozatot szemléltet a 2.21. ábra.
2.21. ábra. Galvanikus elválasztású tranzisztoros kimeneti fokozat
A 2.21. ábrán a kellő erősítéshez Darlington-fokozatot alkalmaznak. A D1 dióda az ellen-
té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. A különböző kimeneti szervek villamos sajátosságait a felhasználónak
figyelembe kell vennie, pl. izzólámpa esetén a hőmérséklettel változó ellenállás, induktív terhe-
lés (relé, mágneskapcsoló) esetén a kikapcsoláskor fellépő feszültség-visszalökés.
Váltakozó áramú galvanikus leválasztású kimeneti fokozatot szemléltet a 2.22. ábra, ame-
lyen kimeneti kapcsolóként triakot alkalmaznak. 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.
2.22. ábra. Triakos 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ő relék (FR) egyfázisú kivitelben készülnek. Blokksémasze-
rű felépítésüket a 2.23. ábra szemlélteti.
2.23. ábra. Félvezető relével megvalósított kimeneti fokozat
A vezérlőkör zajszűrőkből és optikai csatolóból áll. A szűrőkör feladata annak megakadá-
lyozása, hogy a rövid idejű zavaróimpulzusok bekapcsolják az FR-t. A vezérlőjel (3... 24 V kö-
zötti egyenfeszültségű jel) az optocsatolón át a zérusdetektorra jut, amely annak megjelenését
követően a hálózati feszültség első nullátmeneténél kapcsolja be a triak vagy a szembekapcsolt
tirisztor vezérlésével a terhelést. Az FR a hálózati feszültségre szuperponált túlfeszültség-
impulzusok korlátozása céljából túlfeszültség-védelemmel is el van látva. A félvezető relé gyu-
fásdoboznyi méretű eszköz, jó hővezető tulajdonságú, de villamosan szigetelő műgyantával van
kiöntve és csatlakozókapcsai kiv telével feszültségmentes. Félvezető relékke kapcsolt áromfá-
zisú fogyasztót szemléltet a 2.24. ábra.
2.24. ábra. Háromfázisú fogyasztó működtetése félvezető relékkel
A közepes teljesítményű félvezető kapcsolóelemek közül régebben a bipoláris tranzisz-
tort alkalmazták a leggyakrabban. Különösen előnyösek az egy tokba integrált kapcsolóerősítők,
amelyek közül példaként a TOSHIBA típusának jellemző adatai:
− kapcsolt áram 100 A;
− kapcsolt feszültség 300 V;
− áramerősítés 100.
A tranzisztoros kimeneti fokozatot rendszerint rövidzárvédelemmel látják el.
A bipoláris tranzisztorokat egyre inkább kiszorítják az utóbbi években megjelent térve-
zérlésű teljesítménytranzisztorok (POWER FET-ek), amelyek VMOS technikával készülnek és
igen jelentős műszaki előnyei vannak. Bekapcsolt állapotban az ellenállásuk hőmérséklet-
tényezője pozitív, ezért melegedés hatására ellenállásuk nő és korlátozza az áramot, így nem
léphet fel a bipoláris tranzisztorokra jellemző "termikus megfutás". Ezek a tranzisztorok közvet-
lenül párhuzamosan kapcsolhatók. További előny a több nagyságrenddel nagyobb áramerősítés
a
p
ményigény, ezért logikai jelekkel közvetlenül vezérelhetők.
2.4. Számlálási/időzítési funkciók
A számlálási funkció megvalósítására a PLC-k fejlődése során szoftver-, ill. hardverúton megva-
lósuló számlálók születtek. Ez a két megoldás a strukturális különbözőségen túl a számlálható
frekvencia maximális értékében is eltér a hardveres megoldás javára.
A szoftverúton történő számláló hardverfeltétele egy, a mikroprocesszor által kezelt
RAM-memória (esetleg regiszter). Ezt szemlélteti a 2.25a ábra, amelyen egy-egy számlálót (C0,
C1, C2...) a RAM-memória bájtja vagy szava reprezentálja. Az ábrán a számláló működtetéséhez
szükséges funkciók is láthatók: számlálóbemenet (C), törlésbemenet (R), párhuzamos feltöltés
(L).
Különböző megoldásokat dolgoztak ki az időzítési funkciókra is. Korábban a PLC kime-
nete által működtetett analóg/digitális időzítőket, hosszabb idejű késleltetéshez kapcsolóórákat
alkalmaztak.
Napjainkban az időzítési funkciókat a PLC óragenerátor frekvenciájának szoftverúton
történő osztására vezetik vissza. Ennek hardverfeltétele megegyezik a számlálóéval, azaz a CPU
által kezelt és erre a célra fenntartott RAM memóriaterület a hozzá tartozó indítási (S), ill. a
kezdetiérték-betöltési (L) funkció biztosításával (2.25b ábra) [10].
2.25. ábra. Számláló- (a) és időzítő- (b) funkciók a RAM-ban
A számlálási, ill. időzítési funkciók hardverfeltételéhez nagymértékben hasonlít a
MERKER-memória kezelése is. Ezt szemlélteti a 2.26. ábra.
2.26. ábra. MERKER-memória illesztése a buszvonalhoz
A fenti funkciókat rendszerint a 2.27. ábra szerint, a RAM-memória részeként adják meg.
Természetesen a RAM-térképek további funkciókat is tartalmaznak.
2.27. ábra. PLC RAM térkép
Irodalomjegyzék
Ajtonyi I.: Vezérléstechnika II.
Budapest, Tankönyvkiadó, 1985.
Juhász G., Nagy I. (ford): Informatika és ipari elektronika.
Budapest, Műszaki Könyvkiadó, 1997.
Demmel L., Molnár T., Török B., Vágvölgyi G.: Programozható logikájú vezérlések.
Budapest, Mérnöktovábbképző Intézet, 1989.
Tverdota M., Harkay T.: Villamos vezérléstechnika.
Budapest, KKMF, 1998.
E. A. Parr: Programmable Controllers - An Engineer's Guide.
Newness, 1996.
Ian G. Warnock: Programmable Controllers Operation and Application.
Prentice Hall International, 1988.
IEC-1131/I-IV. szabvány, 1992.
OMRON: CPM PLC Felhasználói kézikönyv, 1999.
SIEMENS: SIMATIC S7-200 Programmable Controller System Manual, 1999.
[10] BOSCH: PLC gépkönyv, 1997.
[11] Z'WORLD: BL1500 User's Manual, 1990.
[12] SAIA: Process Control Devices PCD2 Series, 1993.
[13] Ajtonyi I.: Digitális rendszerek.
Miskolc, Egyetemi Kiadó, 1998.
Találat: 4010