PLC a ich programovanie – 1. Čo je to PLC ?

21. Apríl, 2010, Autor článku: Mrafko Leo, Elektrotechnika
Ročník 3, číslo 4 This page as PDF Pridať príspevok

Prvá časť seriálu o PLC sa venuje pojmu PLC, histórii ich vzniku, ich vlastnostiam, architektúre a spôsobom programovania. Článok si kladie za cieľ oboznámiť i širšiu laickú verejnosť so základnými princípmi práce s PLC.

Čo je to PLC ?

„Programovateľný logický automat“ – anglicky „Programmable logic controller (PLC)” – nemecky „Speicherprogrammierbare Steuerung (SPS)“ je prístroj, ktorý slúži na riešenie komplexných úloh riadenia v automatizácii. Ide o užívateľsky programovateľný číslicový počítač, ktorý má oproti bežným počítačom niektoré špecifické vlastnosti, ktoré ho posúvajú do cieľovej oblasti jeho nasadenia. Aby sme si objasnili motiváciu pre aplikáciu týchto vlastností do riadiacich systémov typu PLC, je vhodné obzrieť sa do minulosti až k vzniku prvých PLC.

Historicky sa vznik prvého PLC datuje do roku 1968, kedy spoločnosť General Motors, konkrétne divízia Hydramatic zadala výberové konanie na vývoj a dodávku elektronického riadiaceho systému ako náhrady za dovtedajšie automaty realizované prostredníctvom relé. V tom čase realizované riadiace systémy sa vyznačovali mnohými nevýhodami – hlavne finančnou náročnosťou, vysokým množstvom kabeláže, relé, časovačov, ktoré zvyšovali poruchovosť systému, čím sa zvyšovala náročnosť údržby a značne komplikovala možnosť zmeny riadiaceho algoritmu. Automobilový priemysel potreboval flexibilnejšie riešenie, aby bolo možné realizovať každoročnú zmenu výrobného programu efektívnejším spôsobom. Súťažné požiadavky boli doručené najskôr 4 spoločnostiam – 3I, DEC, Allen Bradley a Century Detroit, následne ďalším 3 vrátane spoločnosti Bedford Associates na čele s Richardom Morleym. A práve produkt spoločnosti Bedford Associates s kódovým číslom 084 súťaž vyhral. „Dick“ Morley je preto považovaný za „otca“ prvého PLC.


Obr. 1: Historická fotografia – zľava: Dick Morley, Tom Boissevain, MODICON 084, George Schwenk, Jonas Landau.

V marci 1968 mal Morley pripravený funkčný prototyp s kódovým názvom „Stupid“. Čoskoro si uvedomil možný veľký obchodný potenciál tohto artiklu a založil spoločnosť, venujúcu sa vývoju, predaju a servisu tohto produktu pod názvom Modicon (MOdular DIgital CONtroller). V názve sa i v tomto prípade prejavila vtedajšia obchodná stratégia „Don’t call it a computer“ – vtedajšie počítače boli neuveriteľne drahé, preto na prekonanie počiatočnej nedôvery klientov bolo vhodné slovko „počítač“ radšej nespomínať. V roku 1972 už existoval asi tucet dodávateľov s cca 20timi typmi PLC. Boom PLC, ktorý tak začal v 70tych rokoch pokračuje až dodnes vďaka vlastnostiam PLC, ktoré sú dané primárne požiadavkami trhu.

Vlastnosti PLC

Súčasné PLC prekonali teda už vyše 40 rokov vývoja. Vymenujme si hlavné vlastnosti, ktoré ich predurčujú pre nasadenie do priemyselných aplikácií:

  • hardvérová a softvérová flexibilita – modulárnosť, jednoduchosť a efektivita zmien programu
  • prevádzková stabilita a odolnosť – schopnosť bezporuchovej činnosti v náročných priemyselných podmienkach
  • jednoduchá údržba v prevádzke – údržba a diagnostika pomocou štandardných nástrojov
  • flexibilita a recyklovateľnosť – možnosť jednoduchého rozširovania a opätovného využitia v inej aplikácii
  • podpora vstupno-výstupných jednotiek so spracovaním štadardných a unifikovaných signálov

Súčasné PLC by sme mohli rozdeliť do skupín podľa veľkosti a náročnosti aplikácie na:

  • malé – vhodné pre riadenie samostaných strojov s malým počtom vstupov a výstupov. Majú obmedzenú rozšíriteľnosť a komunikačné možnosti, vačšinou teda existujú v kompaktnej forme.
  • stredné – vhodné pre aplikácie pri riadení výrobných buniek, liniek až celých prevádzok. Zrejme najčastejšie nasadzované sytémy.
  • veľké – vhodné na riadenie výrobných liniek, prevádzok, náročné aplikácie s požiadavkou na vysokú rýchlosť odozvy.


Obr. 2: Niektoré zo súčasných PLC

Architektúra PLC

Architektúra súčasných PLC sa principiálne nelíši od pôvodných PLC z 80tych rokov, avšak samozrejme jednotlivé súčasti prekonali značný vývoj. Základom PLC je centrálna procesorová jednotka – CPU, v ktorej beží firmvér PLC a samotný uživateľský program. Firmvér – operačný systém PLC zabezpečuje fungovanie celého PLC, vykonávanie uživateľského programu, komunikáciu s jednotlivými modulmi a s prípadnými nadradenými systémami. Užívateľský program a údaje sú uložené v operačnej pamäti, častokrát s možnosťou zálohovania buď s pomocou akumulátorovej batérie alebo s využitím pamäti typu Flash pre zálohovanie údajov i pri úplnom výpadku napájania. PLC by však nebolo PLC bez rozhrania pre prístup k údajom z „reálneho sveta“. Preto je možné k jednotke CPU prostredníctvom systémovej zbernice prípájať rôzne vstupno-výstupné moduly, ktoré umožnia zber informácií z riadeného systému a naopak realizáciu akčného zásahu.

Súčasťou PLC môžu byť i rôzne komunikačné moduly, ktoré zabezpečia komunikáciu s inými systémami, hlavne so systémami pre vizualizáciu a ovládanie technologických procesov. Toto všetko samozrejme potrebuje i napájanie, preto býva v neposlednom rade súčasťou PLC i napájací zdroj. V prípade modulárnej konštrukcie sú jednotlivé moduly umiestnené v ráme PLC – racku, ktorý môže byť realizovaný buď proprietárnou formou, alebo napr. vo forme štadardnej DIN lišty, ktorá umožní jednoduché umiestnenie celého systému do rozvádzača. Samozrejme existujú i prevedenia do náročnejšieho prostredia s vyšším krytím. Podrobnejšie sa hardvéru PLC budeme venovať v tretej časti nášho seriálu.


Obr. 3: bloková schéma vnútornej štruktúry PLC

Operačný cyklus

V súčasnosti v zjednodušenom pohľade PLC rôznych výrobcov vo väčšine prípadov pracujú so vstupno-výstupnými signálmi na základe rovnakého princípu – s využitím „obrazu procesu“ – „Process image“. Ide o obraz stavov vstupov a výstupov v špeciálnej oblasti operačnej pamäte. Vo väčšine prípadov štandardný užívateľský program pracuje práve s touto pamäťovou oblasťou, nepristupuje priamo na jednotlivé vstupno-výstupné moduly. Spracovanie vstupno-výstupnej informácie zabezpečí transparentne a automaticky samotná jednotka CPU a to v závislosti od nakonfigurovanej hardvérovej konfigurácie. Aktualizácia obrazu procesu je realizovaná v rámci sledu operácií, ktoré vykonáva firmvér PLC a ktorý nazývame operačný cyklus procesora.


Obr. 4: Zjednodušený operačný cyklus procesora

V rámci cyklu sa teda najskôr načíta obraz nakonfigurovaných vstupných signálov do vstupnej časti obrazu procesu, následne prebieha vykonanie užívateľského programu, ktorý na testovanie stavu signálov používa takto vytvorený obraz vstupov. Užívateľský program reaguje na prípadné zmeny v stave vstupov akčným zásahom, ktorý zapíše do výstupnej oblasti obrazu procesu. V ďalšom kroku je táto výstupná oblasť prenesená na reálne výstupné moduly, čiže je realizovaná aktualizácia výstupov. V prípade, že je potrebné realizovať komunikáciu napr. so zariadením pre vizualizáciu technologického procesu, je táto vykonaná v ďalšej fáze cyklu. V poslednej fáze nastáva aktualizácia systémových premenných, časovačov, stavových premenných a príprava na nový cyklus. Takýto cyklus sa v bežných situáciách neustále opakuje v rýchlom slede za sebou. Čas trvania operačného cyklu procesora sa nazýva čas cyklu a vo vačšine aplikácií sa pohybuje rádovo v desiatkach až stovkách milisekúnd. Čas cyklu je ovplyvnený počtom vstupov a výstupov, zložitosťou programu – teda počtom inštrukcií a ich výpočtovou náročnosťou.

Využívanie obrazu procesu nám prináša v zásade 2 hlavné výhody – v prvom rade si treba uvedomiť, že v programe môže nastať situácia, že v rámci jedného cyklu bude potrebné mnohokrát testovať stav určitých vstupov. Určite si viete predstaviť, že takéto testovanie, ak by malo prebiehať z CPU prostredníctvom systémovej zbernice na jednotlivé vstupné moduly až po ich jednotlivé signálové svorky by zabralo oveľa viac času ako jednoduché otestovanie stavu bitu alebo číselnej premennnej v operačnej pamäti. Preto sa častokrát ušetrí značné množstvo strojového času využitím blokového prenosu stavu signálov na začiatku cyklu a následné programové testovanie signálov v obraze procesu, čím sa môže v niektorých prípadoch značne skrátiť operačný cyklus. Samozrejme výrobcovia vo vačšine prípadov naďalej umožňujú i priamy prístup na periférne obvody, čo je možné využiť na rýchle testovanie určitých signálov v prípade potreby. V druhom a neposlednom rade nám prístup do obrazu procesu prináša výhodu konzistencie obrazu vstupov počas celého behu programového cyklu, čo v niektorých prípadoch môže značne zjednodušiť programovanie užívateľského programu.

Programovanie PLC

Jednou z požiadaviek na PLC už od ich vzniku bola možnosť jednoduchého preprogramovania na vykonávanie žiadaných úloh. Bolo požadované, aby takýto systém mohol preprogramovať skúsený elektrotechnik a keďže v tých časoch boli zaužívané riadiace systémy na báze reléových systémov, prvé jazyky pre programovanie PLC vychádzajú práve z možnosti prepisu reléových schém na program pre PLC. Súbor inštrukcií najstarších PLC bol teda veľmi obmedzený – obsahoval len základné logické funkcie ako testovanie stavu vstupu, funkcia AND – sériové zapojenie kontaktov, OR – pralelné zapojenie kontaktov, NOT – rozpínací kontakt, zápis výsledku – stavu cievky relé, pamäťové funkcie – klopný obvod R-S, časovače – oneskorené zopnutie a vypnutie, čítače a niektoré pomocné funkcie. Takejto náhrade pevnej logiky zodpovedala i realizácia prístrojov na programovanie PLC a ich grafický programovací jazyk. Pre tento jazyk sa ustálilo pomenovanie „Ladder Logic Diagram“ – jazyk kontaktných (reléových) schém. Postupom času s rozširovaním možností PLC však začali pribúdať ďalšie inštrukcie napr. na spracovanie číselných hodnôt, aritmetické inštrukcie, komunikačné inštrukcie atď. Dlho neexistoval štandard v oblasti jazykov pre PLC – výrobcovia rozširovali pôvodný inštrukčný súbor jazyka kontaktných schém a zavádzali proprietárne jazyky s vlastnými inštrukciami.

Až v roku 1993 medzinárodná normalizačná organizácia pre elektrotechniku IEC vydala normu 1131, ktorá je venovaná programovateľným logickým automatom. Kôli existencii rôznych lokálnych štandardov a ich číslovania sa neskôr národné normalizačné organizácie zhodli na celosvetovej harmonizácii a norma bola vydaná v novom vydaní ako medzinárodný štandard v roku 2003 pod označením IEC 61131. Jej tretia časť, teda IEC 61131-3 definuje štandardy jazykov pre programovanie PLC. K programovacím jazykom PLC a norme 61131-3 sa vrátime vo štvrtej časti nášho seriálu.

„Pikoška“ na záver: vedeli ste, že riadiace automaty sa spočiatku zvykli označovať skratkou „PC“ ? Až prudký rozvoj osobných počítačov v 80tych rokoch spôsobil, že kancelárske počítače „ukradli“ túto skratku priemyselným počítačom. Preto sa zaviedla skratka PLC.

Nabudúce: PLC, PAC, DCS – kto z koho?

Poďakovanie

Tento príspevok vznikol za podpory Vedeckej grantovej agentúry MŠVVaŠ SR a SAV (VEGA), číslo grantu 1/0592/10.

Literatúra:

  1. ŠMEJKAL, L. : Tři desetiletí PLC a standard IEC 1131-3, Automatizace č. 12, 1998
  2. URBAN, L. : Programování podle normy IEC 1131-3, Automatizace č. 10, 1998
  3. http://en.wikipedia.org/wiki/Programmable_logic_controller
  4. http://de.wikipedia.org/wiki/Speicherprogrammierbare_Steuerung
  5. http://www.technolead.com/articles/?ID=15&SubID=231
  6. http://www.plcdev.com/schneider_electric_modicon_history
  7. http://www.ceasiamag.com/article-4616-specialreportcontrolsystems-Asia.html
  8. http://en.wikipedia.org/wiki/IEC_61131-3
  9. http://www.iec.ch/
  10. http://www.plcopen.org/

Spoluautormi článku sú Mrosko Marián a Körösi Ladislav, Ústav riadenia a priemyselnej informatiky, Fakulta elektrotechniky a informatiky, Slovenská technická univerzita v Bratislave

8 príspevky(ov) k článku “PLC a ich programovanie – 1. Čo je to PLC ?”

  1. Martin napísal:

    Kedy bude ďalšie pokračovanie tohto článku ? Tento je dosť zaujímavý, aj keď sa nevenuje dostatočne programovacím jazykom ;)
    Nabudúce: PLC, PAC, DCS – kto z koho? — teším sa na ďalší článok, alebo som ho len nenašiel ?

  2. Adam napísal:

    no pohnite si s tym pokracovanim

  3. Laco napísal:

    Bude zajtra rano :)

  4. igor napísal:

    kde by som nasiel pokracovania tohto clanku ??

  5. yetti4 napísal:

    Je to super, idem hľadať pokračovanie

  6. rodriguez napísal:

    slovensky sa mi to nepodarilo najst ale tu je anglicka verzia http://www.posterus.sk/?p=11925

  7. Wenca napísal:

    škoda, pěkný článek doufal jsem v pokračování :/

  8. Leo Mrafko napísal:

    Dobrý deň
    ďakujeme za ohlasy. Pokračovanie vyšlo v anličtine ako tu už bolo spomínané na http://www.posterus.sk/?p=11925. Tretí diel je ešte v štádiu prípravy.
    S pozdravom
    Leo Mrafko

Napísať príspevok