Mi a PLC?

Ez a kérdés gyakran merül fel. Mivel az ember az általa jól ismert eszközökkel próbálja megoldani a felmerülő problémákat, érthető, hogy elektronikában és mikrovezérlők alkalmazásában jártas szakemberek, akik rendszerint a PLC-ket elméletben ismerik, de nincs velük kézzelfogható tapasztalatuk, a vezérléstechnikai feladatokat mikrovezérlővel akarják megoldani.
Alább elkövetem azt a hibát, hogy megpróbálok ezekre a kérdésekre válaszolni.

A PLC egy programozható vezérlő. Nem, nem PIC, nem mikrovezérlő, hanem egy készülék mikroprocesszorral (esetleg mikrovezérlővel) ki és bemenetekkel, kommunikációs porttal.
A PLC-ket elsősorban az iparban használják, gépek, berendezések, gyártósorok vezérlésére.
Digitális (két állapotú) és analóg ki és bemenetei vannak, amelyek iparban szabványos jelek fogadására és kiadására alkalmasak. (gyakori digitális jelek: 24V DC, 24V AC, 120/230V AC, gyakori analóg jelek: 0-10V, 0-20mA, 4-20mA, 0-5V, hőelemek, ellenállás hőmérők).
A digitális kimenetek közvetve vagy közvetlenül a berendezés beavatkozó szerveire kapcsolódnak. Pl. mágnesszelepek, villanymotorok. A digitális bemenetek a berendezés részeinek állapotáról (végállás kapcsolók, pozíció érzékelők, fotocellák) vagy kezelőszervekről jövő jeleket fogadnak (kapcsolók, nyomógombok).
Az analóg bemenetek mérőjeleket fogadnak (nyomás, áram, feszültség, hőmérséklet, áramlás, stb). Analóg kimenetek alkalmasak fokozatmentes szabályzó-beavatkozó szervek meghajtására (frekvenciaváltók, proporcionális szelepek, fűtőteljesítmény meghatározása, stb).

A PLC legfontosabb tulajdonságai, hogy valamilyen magasabb szintű programozási nyelven programozható, gyakorlaitlag  minden vezérlésben és szabályozásban használt  szabványos ipari jelhez közvetlenül illeszthető, vagy van már kész megoldás az illesztés fizikai megvalósítására. Saját, belső operációs rendszerrel rendelkezik, ami felügyeli a belső perifériákat és a bővítőmodulok működését, a kommunikációt (ha van), futtatja a felhasználó vezérlőprogramját és valamilyen szinten kezeli a hibákat.
Felépítését tekintve kétféle PLC-t szoktak megkülönböztetni:
    1. Kompakt
      Minden egyben van. A PLC tartalmazza a tápegységet, van be és kimenete, kommunikációs csatlakozója. Általában van bővítési lehetőség is, ha a beépített ki és bemenetek száma nem lenne elég. Egy gyártónál is rendszerint sokféle altípusa létezik különböző I/O számmal és fajtával. Kisebb feladatokra használják, ahol kicsi az I/O igény.
    2. Moduláris
      A komplett PLC részegységekből (modulokból) építhető fel. Van egy CPU, ami lényegében maga a vezérlő, de ki és bemenetek nélkül. Ehhez lehet különböző tápegységeket, ki és bemeneteket tartalmazó modulokat választani, amelyek egymáshoz csatlakoztatva adják a kész konfigurációt. Ezzel a megoldással a PLC skálázható az adott feladatra. Használható kevés, de nagyon sok ki és bemenet, vagy speciális modul. A közepes és nagyobb teljesítményű PLC-kre jellemző ez a kialakítás.
Az első PLC-k a huzalozott relés vezérlések kiváltására készültek. Ilyen feladatra a mai PLC-k is alkalmasak, de rengeteg további funkcióval is bővültek a generációk fejlődése során. Ilyen funkció pl. az analóg jelek kezelése (szabályozási feladatok ellátására), a speciális ki és bemenetekkel való bővíthetőség lehetősége (pl. számláló bemenet, szervó vezérlő kimeneti modul, PWM kimenet, stb).
A PLC előnye már a huzalozott vezérlés helyettesítése esetén is nyilvánvaló, ha a vezérlés bonyolultsága meghalad egy bizonyos fokozatot.
A huzalozott, relés logikai kapcsolatokhoz rengeteg relé kell, a kapcsolási rajz bonyolult, a számtalan kontaktus fokozza a kontakthibák kialakulásának esélyeit. A huzalozott vezérlés működését csak a huzalozás módosításával, lehet módosítani, ami időigényes, a berendezés termelésből való hosszabb kiesésével jár, ami költséges.
PLC alkalmazásával rendszerint a PLC bemeneteire közvetlenül be vannak kötve a géppről és a kezelőtől érkező két állapotú információk. Ezek leggyakrabban mechankus vagy induktív végálláskapcsolók, nyomógombok, kapcsolók. A PLC kimenetei közvetlenül vagy mágneskapcsolók segítségével a berendezés mozgatását és működtetését végző beavatkozó elemekhez kapcsolódnak (villanymotorok, szelepek, visszajelző lámpák, stb). Az eredetileg relés vezérlés összes logikai kapcsolata a PLC-n belül, szoftveresen, annak programjában jön létre. A program módosítása könnyebb, mint a relés huzalozás módosítása. Előre elkészíthető, a berendezés nem esik ki a termelésből a módosítás miatt (ha a módosítás nem olyan mértékű, hogy magát a gépet is át kell építeni).
A PLC-vel vezérelt berendezéseken a hibakeresés is sokkal könnyebb. Erre a töbnyire PC-n futó fejlesztői környezet  mindig sok lehetőséget kínál.

A PLC programozása nem sok hasonlóságot mutat sem a PC-k különböző programozási nyelveivel, sem a mikrovezérlők (pl. PIC) programozásával. Meglehetősen egyedi, a PLC által ellátott feladatra tervezett programozási nyelveket és módszereket használ.
A relés vezérlések kiváltását célzó eredeti elképzelés eredménye egy áramutas rajzhoz hasonlatos, grafikus "programozási nyelv", a létradiagram. A létradiagram logikai kapcsolatok leírására való elsősorban.
Nézzünk egy példát:

 
Az ábra egy egyszerű huzalozott irányváltó kapcsolás áramutas rajza.
Három nyomógomb van benne. S1 bekapcsol egy motort előre irányba, S2 bekapcsolja a motort hátra irányba, S3 kikapcsolja a motort. A kapcsolás egy bekapcsolásra késleltető időrelét is tartalmaz, ami a járó motort a kikapcsoló gomb megnyomása nélkül is leállítja 1 perc üzem után. A KM1 és KM2 a motor mágneskapcsolója, ami a motornak feszültséget ad. A kapcsolásban keresztreteszelés akadályozza meg, hogy egyszerre mindkét irány mágneskapcsoló be tudjon kapcsolni (az ugyanis zárlatot okozna a kapcsolt áramkörben).
Egy ilyen egyszerű kapcsolást ugyan nem szoktak PLC-vel megvalósítani, mert nem lenne gazdaságos. A példa kedvért azonban nézzük meg ugyanezt a kapcsolást PLC-vel:


Az ábrán látható, hogy a nyomógombok a PLC bemeneteire vezetnek feszültséget. A PLC kimenetein megjelenő feszültségek pedig bekapcsolják a KM1 és KM2 mágneskapcsolót. Az időrelének nyoma sincs. Azt és a nyomógombok és a mágneskapcsolók közötti kapcsolatot a PLC programja hozza létre.
A PLC be és kimeneteit számokkal (címekkel) különböztetjük meg egymástól. Ezek formája jellemzően egy betűjel, (I=Input, Q=Output) és két, egymástól ponttal elválasztott szám. A pont előtti szám a kimeneti byte vagy word számát azonosítja, a pont utáni szám a bitet. A különböző gyártók PLC-inél a címek írásmódja eltérhet, de mindegyiknél hasonló módon vannak megkülönböztetve egymástól a ki és bemenetek.
A PLC-n belül, azaz a programban a nyomógombokra és a mágneskapcsolókra a be és kimenetek címével kell hivatkoznunk. A ki és bemenetek funkcióit tehát az határozza meg, hogy mit kötöttünk rájuk kívül. A funkciók és címek közötti kapcsolatot a szimbólum tábla, vagy I/O lista adja meg. A fenti példa listája az alábbi:



A táblázat (mint fent is) általában tartalmazza az adattípus azonosítóját és egy szimbólumnevet is. A szimbólum bizonyos szabályokat betartva tetszőlegesen választott név, amivel helyettesíthető a cím a programban. Vagyis megadhatjuk egy be vagy kimenet címe helyett annak szimbolikus nevét is.
A program létradiagramban ezek után így áll össze:



Nem nehéz felfedezni a hasonlóságot az áramutas rajz és a létradiagram között. A feladatnak több megoldása is létezik, mivel eltérő "kapcsolástechnikával" máshogy is megoldható.
A létradiagrammal gyakorlatilag minden PLC programozható. Szabvány módszernek nevezhető, de ez a szabvány nem annyira szigorú, hogy minden PLC fajtánál teljesen azonos legyen a létradiagramos programozás. A PLC-k közötti (néha nagy) különbségek áthidalására a LAD nem képes. Ezért az érintkező és tekercs szimbólumokon túl pl. az időzítő (időrelé) megjelenése és paraméterezése már rendszerint eltérő. A speciális utasításokról már nem is beszélve. Tehát ha jól ismerjük "X" PLC-t, de az ismeretlen "Y"-ra kell programot írni, szükség lesz "Y" programozási segédletének lapozgatására.
A PLC-ket nem csak létrában lehet programozni. Van pl. a "hagyományos" programozásnak megfelelő módszer is. A programozás módjairól egy korábban készített oldal ad áttekintést.

A PLC belső operációs rendszere elfedi a felhasználói program elől a hardver igazi mélységeit. A mikrovezérlő hívők itt most felszisszentek :)
Pedig ennek a "butításnak" megvan a létjogosultsága. Elsősorban az, hogy ha valamit nem jól csinálunk (programhiba), akkor nem fagy csontra a rendszer és a watchdog nem kezdi újraéleszteni csak azért, hogy megint csontra fagyjon, hanem jobb esetben kapunk valamiféle hibaüzenetet, ami (kis szerencsével) segít a hiba kiderítésében. Másodsorban pedig nem kell az alacsony szintű rendszerközeli, kötelezően elvégzendő feladatokkal törődnünk, azokat megírnunk, elvégzi helyettünk a PLC rendszerprogramja.
A gyártók arra törekednek, hogy a PLC-iket a lehető legkönnyebben lehessen programozni és a lehető legtöbb feladatra fel lehessen használni (ez elég ellentmondásos célkitűzés, ami nem egy érdekes megoldást szült már eddig is).
Amikor tényleg csak vegytiszta logikai kapcsolatokat kell létrehozni, ami kb. a relés vezérlés alternatívája, akkor a szakinak könnyű dolga van. A megfelelő vezérléstechnikai ismeretekkel, de  minimális programozási és rendszerismeret mélkül is, képesek megoldani a feladatot. Erről szól pl. a Siemens S7-200-as PLC-jéhez letölthető magyar nyelvű dokumentáció is. Az S7-200 kézikönyvébe belepillantva azonban hamar kiderül, hogy a létradiagramos programozás még messze nem használja ki egy PLC lehetőségeit (az S7-200 pedig "csak" egy kis rendszer).

Mint minden jól nevelt mikroprocesszoros rendszernek, így a PLC-nek is vannak memóriaterületei. Némelyiknek sokféle. A felhasználói programot tároló memória is egy ilyen terület, de ahhoz a PLC belső rendszere nem engedi hozzáférni a felhasználói programot. PLC-re nem lehet tehát pl. önmagát átíró trükkös programokat írni. Speciális memóriaterületek a ki és bemeneti biteket tartalmazó terület is, vagy a programok belső használatára elkülönített memóriaterület. Bizonyos PLC-kben külön, megkülönböztetett memóriaterületen vannak a rendszerbeállítások és rendszerváltozók, vagy az adattárolásra használható memória.
Ezek a memóriaterületek akkor kapnak fokozott jelentőséget, amikor a PLC-vel összetettebb feladatokat kell megoldani. Ilyen alkalmazásokhoz pontosan ismerni kell a PLC többi sajátosságait is (pl. utasításkészlet, az említett memóriaterületek mibenléte, stb).

Egyszerű, vagy bonyolult?

A PLC-k a relés vezérlések kiváltására készültek, de a tudományuk itt nem állt meg. Inkább itt kezdődött.
A gyakorlati alkalmazások számtalan példája azt mutatja, hogy a PLC programokban nem csak azokat a funkciókat valósítják meg amit egy hagyományos huzalozott vezérléssek valósítanának meg (ugyanarra a feladatra értve), hanem sokkal többet.
Így lesz egy berendezés agya egyszerő huzalozott vezérlés helyett bonyolult PLC-s "rendszer". Maga a vezérlés fizikai része, a huzalozás továbbra is egyszerű marad, ám a PLC programja számos olyan funkciót tartalmaz, amit a vezérlés huzalozott változatában soha nem valósítottak volna meg.
Ennek az az oka, hogy a PLC-vel a lehetőségek jelentősen kitágulnak, a PLC szinte követeli az extra funkciók megírását.

Lássunk egy egyszerű példát:
Legyen a feladat egy gyár vízellátásának biztosítása. Ehhez adott egy 4000 literes víztartály, egy töltő vízvezetékkel, rajta egy mágnesszeleppel. Amikor a szelep bekapcsol, a tartállyba a töltő vezetéken keresztül víz áramlik. A tartályban egy szintkapcsoló van, ami kikapcsol ha a víz szintje elég magas és be, ha a tartályt tölteni kell.
A víztartály egy szivattyút táplál, aminek a nyomó ága egy nyomástartó tartályba van bekötve egy visszacsapó szelepen keresztül. A nyomástartón egy nyomáskapcsoló van, ami bekapcsol, ha a tartályban 4 bar alatt van a nyomás.



A feladat két egymástól független, rendkívül egyszerű részből áll.
  1. Biztosítani kell,hogy a 4000 literes tartályból ne fogyjon el a víz: Ha a szintkapcsoló bekapcsol (amikor a szint alacsony) ki kell nyitni a töltő szelepet, amíg a szintkapcsoló ki nem kapcsol.
  2. Biztosítani kell a nyomástartó tartályban a nyomást. Ha a nyomáskapcsoló bekapcsol, el kell indítani a szivattyút, amíg a nyomáskapcsoló ki nem kapcsol.
Huzalozott vezérlésnél egyszerűen sorbakötjük a szintkapcsoló ériintkezőjét a töltő szeleppel, a nyomáskapcsoló érintkezőjét pedig a szivattyú mágnsekapcsolójával.
Ha a feladat csak ennyi és egy centivel sem több, nincs értelme tovább bonyolítani. De ha ez a rendszer felügyelet nélkül üzemel és fokozott üzembiztonság szükséges (megszakítás nélküli vízellátás) akkor az alábbi funkciókkal lehet bonyolítani a működést:
Két áramlás érzékelő beépítésével a plusz funkciók megoldhatók. Egyet a szivattyú szívó ágába, egyet a töltő vezetékre kell telepíteni. Ha a töltő szelep kinyit és 1-2 másodpercen belül az áramlás érzékelő nem jelez áramlást, hibát kell jelezni. A szivattyú szívó ágában hasonlóképpen, ha a szivattyú üzemel, de az áramlás érzékelő nem érzékel áramlást, hibajelzést kell adni és a szivattyút le kell állítani.

A hibák jelzésére használt áramlás érzékelő is meghibásodhat, ami megakadályozhatja a hiba észlelését. Lehet ugyan redundanciával is védekezni az ilyen eset ellen (több áramlás érzékelő) de ne essünk annyira nagy túlzásokba.
Szoftveres megoldással az áramlás érzékelők hibáját is ki tudjuk küszöbölni. Figyelni kell, hogy álló szivattyú, illetve kikapcsolt töltő szelep mellett a "nincs áramlás" jelzés jön-e be és bekapcsolt szivattyú / töltő szelep mellett a "van áramlás" jelzés jön-e a megfelelő érzékelőről. Minden más esetbe hibajelzést adunk (de késleltetve). Ezzel a módszerrel a felakadt, átkötött, megszakadt, áramlás érzékelő hibája is kiderül. Kérdés persze, hogy amikor ez megtörténik, akkor a kezelő tud-e, akar-e foglalkozni a hiba kiküszöbölésével, vagy más módon törekszik majd arra hogy a vízellátás működjön (az emberi tényező az automata rendszerek egy másik nagy problémája, de nem tartozik szorosan a cikk témájához :).

Ha megmérjük, hogy a szintkapcsoló bekapcsolása és a töltés befejeződése között mennyi idő telik el működés közben, további biztonsági funkciót építhetünk a rendszerbe: A mért időre ráhagyást számolunk (megnöveljük 20-60%-al). Ha a töltő szelep folyamatosan be van kapcsolva ennyi ideig, a hibajelzést bekapcsoljuk. Ez az idő ugyanis csak akkor tud letelni, ha töltéskor van vízáramlás (mivel ha nincs eleve hibára megy az áramlás érzékelő miatt), de a szükségesnél kevesebb víz folyik a tartályba pl. a szükségesél alacsonyabb nyomás miatt.

Ezekkel a védelmi funkciókkal felvértezve a vízellátó hibajelzéssel figyelmezteti a kezelőt, a hibára még a vízellátás teljes leállása előtt. Így emberi beavatkozással még a hiba következményeinek kialakulása előtt lehetőség van a hiba elhárítására, ami növeli az üzembiztonságot. Ennyi funkció megoldásához már érdemes lehet egy kis teljesítményű PLC-t alkalmazni.
Mint látható, egyszerű feladatot is el lehet bonyolítani. Persze szükségtelenül nem érdemes...

Ipari kommunikáció, buszok, speciális modulok, megjelenítés (HMI)

A nagyobb, bonyolultabb PLC-s vezérlések nem csupán digitális ki és bemeneteket kezelnek.
Ma már analóg szabályzásokat, analóg méréseket, adatgyűjtést, pozícionálást is végeznek. Megjelentek az ipari kommunikációs buszok. Ezekből sokféle van, igyekszik minden valamirevaló gyártó kifejleszteni egyet, amit aztán el akar terjeszteni. Ezért többféle buszrendszer is jelen van a piacon (Modbus, CAN busz, Profibusz, ASI busz, Industrial ethernet, stb). Itt van egy kisebb gyűjtemény a field buszokról: The Fieldbus Reference List
De nem csak a buszok fizikai kialakítása, hanem természetesen a protokoll is eltérő. Ezen a téren viszonylag nagy a káosz. Mégis kezd valamilyen egységesség kialakulni.

Mire jók a buszok?
Természetesen adatok továbbítására, a gyártósor eszközei közötti adatcserére. Nagyon jellemző példa a buszok használatára a remote I/O pontok kialakítása.
Ez azt jelenti, hogy nem minden ki és bemeneti modul van fizikailag a PLC-re csatlakoztatott modulon, hanem egy távolabbi helyen, ahol a kimenetek beavatkoznak és a bemenetek jelei keletkeznek, telepítenek egy távoli elérési pontot, ahol egy kommunikációs vezérlőre kapcsolódnak a ki és bemeneti modulok. A PLC pedig kommunikációs buszon keresztül éri el a ki és bemeneti modulokat.
Ez a decentralizálás nagy kiterjedésű berendezésnél csökenti a kábelezési költséget és installálási időt. Nem kell nagy távolságról nagy mennyiségű jelet a PLC-hez vezetni sok-sok kábelen, a jeleket a távoli I/O pontok fogadják és adják ki, a PLC-hez csak egyetlen speciális buszkábel fut be.
Buszt használnak hajtásvezérlők, mérőtávadók, vezérlésére és kiolvasására is, továbbá speciális funkciókat ellátó perifériákhoz. Frekvenciaváltókhoz, RFID-hez (rádiófrekvenciás azonosító rendszerek) távadókhoz, mérőállomásokkal való kapcsolódáshoz. Ezeknél ideális a kommunikációs busz alkalmazása analóg vagy digitális jelek helyett a nagy továbbítandó információmennyiség miatt.
Ez az oldal részletesen (magyarul) leírja egy konkrét frekvenciaváltó típus profibuszos vezérlésének módját.

Ugyancsak kommunikációs buszon keresztül kapcsolódnak a PLC-hez az ún. HMI egységek. A HMI (Human Machine Interface) egy terminál általában LCD kijelzővel és nyomógombokkal. Az a feladata, hogy kezelőfelületet adjon, amivel a berendezés paramétereit lehet módosítani a működést nyomon követni, üzeneteket kijelezni. A HMI tartja a kapcsolatot az ember és a vezérlés között.

         
A régi vezérlésekben ezt a kapcsolatot vezérlőpultokon és paneleken elhelyezett kapcsoló és visszajelzőlámpa rengeteg látta el.
A HMI egységek választéka is elképesztően széles. A választék a legegyszerőbb néhány karakteres szöveges kijelzőt és 5-6 gombot tartalmazó HMI paneltől a nagy felbontású színes, grafikus kijelzővel ellátott, érintőképernyős típuson át a számítógépes SCADA rendszerekig terjed. A PLC-s rendszerben általában nem csak egy HMI lehet, hanem több is. Pl. egy egyszerűbb a gépet kezelő személy számára és egy nagyobb teljesítményű (esetleg PC-s) a diszpécser vagy adatgyűjtő állomás számára. A kombinációk száma kimeríthetetlen.
A HMI-k nagy mértékben kiterjesztik a rendszer képességeit. A megjelenítő panelek jóvoltából a berendezés beállítása, kezelése és diagnosztizálása (javítása) egyszerűvé válik. Korábbi hibaüzenetek, mérési eredmények, grafikonok, jeleníthetők meg. Gyors áttekintést adhatnak a rendszerről, működéséről és állapotáról.
Ezeket a HMI paneleket is programozni kell az adott felhasználáshoz. A programozás PC-n futó fejlesztőrendszerrel történik, de nem programnyelv alapú, sokkal inkább vizuális módszerrel.
Ezen az oldalon néhány kép található ezekről a fejlesztőprogramokról. Itt pedig egy HMI panel grafikonjának megjelenítéséről olvashatunk részleteket.
Egy nagyobb PLC-s rendszerben ezek az eszközök vegyesen és nagy számban fordulnak elő. Sok száz (esetleg több ezer) ki és bemeneti pont, egy vagy több busz, egy vagy több HMI megjelenítőpanel, buszra kapcsolódó remote I/O-k, hajtásvezérlők és egyéb buszos perifériák.

A PLC és a mikrovezérlő

Mivel az ember az általa jól ismert eszközökkel próbálja megoldani a felmerülő problémákat, érthető, hogy elektronikában és mikrovezérlők alkalmazásában jártas szakemberek, akik rendszerint a PLC-ket elméletben ismerik, de nincs velük kézzelfogható tapasztalatuk, a vezérléstechnikai feladatokat mikrovezérlővel akarják megoldani.
Pedig a mikrovezérlő és a PLC nem egy súlycsoportban vannak. Ezért összehasonlítani se nagyon lehet őket. Ugyanakkor hasonló feladatok megaoldására találták ki mindkettőt.


Ez itt egy PLC (Omron C1000H)

Ez pedig egy mikrovezérlő (AVR Atmega 128)

Gyakorlatilag minden olyan feladat amit egy PLC-vel meg lehet oldani, mikrovezérlővel is meg lehet, de nem minden mikrovezérlős feladat oldható meg PLC-vel. Hogy akkor mire is való a PLC?
Nos ha egy berendezést, gyártósort mikrovezérlővel akarunk automatizálni, komoly fejlesztésre van szökség. A programot közvetlenül a mikrovezérlő nyelvén, vagy olyan magasabb szintű nyelven kell megírni, amit a fordító a mikrovezérlő gépi kódjára fordít le. A fejlesztőnek mindent magának kell megoldania (persze ha nem először fejleszt, akkor visszanyúlhat már bevált rutinjaihoz, amiket belegyúrhat az új projectbe, de azzal is meg  kellett izzadnia már korábban) kezdve a HW-es hibakezeléstől, a program teszteléséig lépésről lépésre. A vezérlő szoftver kifejlesztése ezért nehéz és időigényes. A vezérlőprogram nehezen kezelhető "monolit" lesz. legalábbis mások számára. A működő berendezés esetleges programmódosítása problémás és időigényes lesz (márpedig ilyesmire minden új berendezésnél sor kerül). A módosítást csak a fejlesztő, vagy a fejlesztő cég emberei tudják végrehajtani. Ez sokszor jó a fejlesztő cégnek bevétel szempontjából, de nem jó a megrendelőnek. A módosítás és annak tesztelése miatt a berendezést egy időre le kell állítani.
A mikrovezérlős megoldásnak komoly hardveres fejlesztési igénye is van. A mikrovezérlő kimeneteit a berendezéshez illesztő elektronikát fel kell építeni a vezérlő köré, ezt elkerülni nem lehet. Meg kell építeni a túlfeszültségek elleni védelmet, a kimenetek zárlat és túláram védelmét. Meg kell oldani a zavarszűrés sokszor rendkívül kemény problémáját. Ezek nélkül a rendszer nem lesz üzembiztos. Egy bizonytalanul működő, berendezés pedig előbb-utóbb a kukában végzi. A fejlesztő általában nem adja át a megrendelőnek sem a vezérlő kapcsolási rajzát, sem a vezérlőprogram forrását.
Ezért a berendezés vezérlése zárt fekete dobozként üldögél a berendezés szívében. Ez önmagában nem is okoz problémát, de ha meghibásodik, vagy a fentebb már említett módosítás igénye merül fel, akkor majd okoz. Méghozzá sokat.
Az ilyen mikrovezérlős rendszer a zártsága és a feladatorientáltsága miatt rugalmatlan lesz, csak arra az egy feladatra lesz alkalmas, amire építették. Más feladatra csak jelentős hardver átalakítás és a program teljes újraírásával lehetne alkalmassá tenni. Ha egy gyártónál több ilyen egyedi, de más-más feladatra készített rendszer is üzemel, a vezérlők nem lesznek csereszabatosak (felcserélhetőek). Az ilyen vezérlők nehezen bővíthetők.

Mindezt el lehet kerülni, de ha olyan mikrovezérlős rendszert alkotunk, amelyik mentes a fenti problémáktól. A programja nem zárt, a programmódosításokat a fejlesztőktől független de megfelelően képzett, szakember is el tudja végezni, megbízhatóan működik, támogatja a hibakeresést és diagnosztikát, a programozása a rendszer vezérlőjének nyelvénél magasabb szinten, a vezérlő belső harver felépítésének konkrét ismerete nélkül is elvégezhető. Ha a vezérlő univerzális, sok, különböző feladatra is alkalmas a hardver módosítása nélkül. Ha bővíthető. (lásd moduláris PLC-k)
Tehát ha mindezt tudja, akkor PLC-t építettünk. Mivel azonban PLC-ket nagyobb cégek fejlesztőgárdái több év alatt hoznak létre, általában olcsóbban kapunk gyorasabb eredményt ha vásárolunk egyet, mint ha ilyen fejlesztésekbe belevágunk.

Lényegében tehát bármilyen PLC feladatát elláthatjuk mikrovezérlőkkel is, de a fenti problémákba mindenképpen bele fogunk ütküzni.
A mikrovezérlős fejlesztések létjogosultsága ennek ellenére sem jelentéktelen (azon kívül, hogy pl. akár PLC-t is építhetünk velük). A mikrovezérlő egyszerűen más kategória.
A Mikrovezérlők (AVR-ek, PIC-ek, stb) remekül elvannak automata mosógépekben, videó magnókban, CD lejátszókban, mobiltelefonokban, stb. Vagy ha az ipart vesszük, akkor a kompresszorok vezérlésében, nyomás és egyéb távadókban, panelműszerekben, szabályzókban, frekvenciaváltókban, egyéb hajtásvezérlőkben, kazán vezérlőben, és még felsorolhatatlanul sok készülékben.
Ezekben nem kell programot módosítani, nem kell hibát keresni. Ha elromlik egy távadó, vagy mobil telefon, akkor vagy visszaküldjük a gyártónak, hogy maga a fejlesztő javítsa meg, vagy veszünk egy ugyanolyan másikat és minden mehet tovább. Programmódosításra sincs szükség. A mikrovezérlős készülékek általában sorozatban készülnek, sok egyforma kerül piacra. Az egyszer megfelelően kifejleszetett egyedi program mindegyikben jól ellátja a feladatát.
Egy komplett gyártósor esetén nem járhatunk így el. Egy teljes gépsor (amely akár mikrovezérlőkkel vezérelt készülékekből, vagy kisebb berendezésekből is állhat) más. Az ilyesmit PLC-re bízzák, a program fejlesztése is rendszerint a helyszínen történik, kimondottan ahhoz a gyártósorhoz.

Hogy néz ki a PLC?

Mivel az ember vizuális lény, álljon itt néhány kép. :)
Persze csak a teljesség igénye nélkül, hisz a különböző gyártók sokasága és a gyártónként is nagy választék olyan sokféle PLC-t jelent, hogy fényképes bemutatásuk messze meghaladja ennek az oldalnak a kereteit.


Moeller Easy
Kis kategóriás, de nagy tudású logikai modul, kijelzővel és gombokkal.


A Siemens Logo nevű "programozható reléje", ami a fenti Easy-vel egy kategíriába tartozik.


Továbbra is a minimál PLC kategória. Az Omron Zen nevű vezérlője.


Egyel nagyobb kategória: Omron Sysmac CPM1 mini PLC


A Siemens S7-200-as PLC családja


Siemens S5 (kifutóban lévő széria)


Omron C200H


Omron CJ1 (Kis méret, nagy teljesítmény)


Siemens S5 (kifutóban lévő széria)


Siemens S7-300


Siemens S7-400 nagy teljesítményű PLC


Szirty