Ktoré PLC programovacie jazyky najviac používame?

Programovať PLC môžeme rôznymi spôsobmi. Každý spôsob je vhodný pre iný druh aplikácie. Základné programovacie jazyky definuje norma IEC 61131-3.

Cieľom tohto článku je opísať jednotlivé programovacie jazyky, s ktorými sa môžeme pri programovaní PLC stretnúť.

Norma IEC 61131-3 definuje programovacie jazyky pre programovateľné automaty (PLC). Táto norma je pod kontrolou CODESYS (Controller development system). Znamená to, že ide o vývojové prostredie pre programovanie aplikácií PLC podľa medzinárodnej normy IEC 61131-3.

Základné programovacie jazyky definuje norma IEC 61131-3.

CODESYS vyvíja a predáva nemecká softvérová spoločnosť 3S-Smart Software Solutions so sídlom v bavorskom meste Kempten. Verzia 1.0 bola vydaná v roku 1994. Licencie CODESYSbezplatné a je možné ich legálne inštalovať bez ochrany proti kopírovaniu na ďalšie pracovné zariadenia.

Vďaka Norme IEC 61131-3 môžeme vytvárať jednotné dátové a programové štruktúry a mechanizmy riadenia nezávisle od výrobcu, typu PLC, a bez ohľadu na použitý hardware.


5 najrozšírenejších programovacích jazykov PLC

  1. Ladder Diagram (LD) – Jazyk kontaktných/reléových schém
  2. Sequential Function Charts (SFC) – Vývojový diagram
  3. Function Block (FBD) – Funkčné bloky
  4. Structured Text (ST) – Štruktúrovaný text
  5. Instruction List (IL) – Postupnosť inštrukcií
IEC 61131-3 umožňuje programátorom PLC vytvárať jednotné dátové a programové štruktúry riadenia nezávisle od výrobcu


1. Ladder Diagram (LD) – Jazyk kontaktných/reléových schém

Pre väčšinu PLC je toto základný programovací prostriedok a zároveň patrí aj k najrozšírenejším. Ide o grafické znázornenie v ktorom sú bitové operácie znázornené ako postupnosť vzájomne prepojených ovládacích a výstupných kontaktov relé. Zložitejšie príkazy a funkcie typu čítač, časovač, presun dát či aritmetické operácie sú vkladané v podobe „obdĺžnikov“ s vývodmi.

Historicky LD zápis programu vychádza z čias reléovej logiky, keď sa využívala namiesto procesorov, alebo integrovaných logických obvodov typu NAND, NOR či XOR sústava vzájomne prepojených relé. A práve pomocou reléových schém sa ľahko tieto logické sústavy „zapisovali“. 

Svojou štruktúrou je LD ideálny pre rýchle a prehľadné spracovanie veľkého množstva logických vstupov a výstupov a ich čítanie a časovanie. Tiež je vhodný pre jednoduché vyhodnotenie hodnôt analógových signálov.

Ladder Diagram (LD) – Jazyk kontaktných/reléových schém

Hlavnou výhodou tohto zápisu je však jasne definovaná postupnosť programu a teda aj veľká prehľadnosť, ktorá však niekedy býva na úkor kompaktnosti.

U väčších a zložitejších programov či pri masívnejšom nasadení niektorých funkcií môže dĺžka zápisu dosť rýchlo narastať až sa zápis začne stávať neprehľadným. Vhodné je tak častejšie členenie do podprogramov a vo väčšej miere využívanie komentárov.

Na druhú stranu u menších programov či menších častí veľkého programu (podprogramov) s veľkým zastúpením logických operácií je LD režim výhodný.

Medzi výhody LD patria

  • Jasne definovaná postupnosť zápisu.
  • Prehľadnosť zápisu (zvlášť u menších programov).
  • Veľmi rýchle programovanie logických operácií s funkciami čítanie a časovanie.
  • Možnosť zdokumentovať komentáre, ktoré sú ľahko viditeľné.
  • Možnosť čítania schémy elektrikármi (v podstate ide o elektrické zapojenie).
  • Podpora online úprav.

Nevýhody LD

  • Menej vhodný pre aritmetické operácie a prácu s dátami (ASCII znaky/reťazce).


2. Sequential Function Charts (SFC) – Vývojový diagram

Programovací jazyk SFC je graficky orientovaný zápis určený pre jednoduché definovanie správania programu, tzn. jeho beh a reakcie na rôzne rozhodovacie situácie. Zabezpečuje definovať správanie programu prostredníctvom všeobecne známeho vývojového diagramu, teda vetvenie programu na základe splnenia rozhodovacích podmienok.

Tento režim je vhodný pre definovanie postupnosti volania jednotlivých častí programov (podprogramov), ktorý je napísaný v danom programovacom jazyku na základe hodnôt stavových premenných.

Sequential Function Charts (SFC) – Vývojový diagram

Výhody SFC

  • Prehľadný zápis správania programu.
  • Procesy sa môžu rozdeliť do hlavných krokov, vďaka ktorým je riešenie problémov rýchlejšie a jednoduchšie.
  • Prehľadné definovanie a ošetrenie rôznych stavov programu – k logike máme priamy prístup, aby ste videli, kde došlo k poruche zariadenia.
  • Vhodný pre jednoduchú prácu s ASCII reťazcami.

Nevýhody SFC

  • Nie je najvhodnejší pre spracovanie veľkého počtu logických signálov a pre programovanie zložitých algoritmov.


3. Function Block (FBD) – Funkčné bloky

FBD je veľmi blízky procesnému priemyslu. FBD vyjadruje správanie funkcií, funkčných blokov a programov ako súbor vzájomne previazaných grafických blokov. Všetko je organizované do riadkov (v líniách) podobne ako v režime LD.

Dalo by sa dokonca povedať, že FBD je svojim spôsobom LD jazyk, v ktorom sa u logických operácií namiesto sériovo-paralelného zapájania symbolov kontaktov relé využívajú štandardné značky hradiel AND, OR a pod.

Function Block (FBD) – Funkčné bloky

Výhody FBD

  • Najväčšou výhodou je, že môžeme mať veľa programovacích riadkov a vložiť ich do jedného alebo viacerých funkčných blokov.
  • Prehľadný zápis programu – vizuálna metóda je pre niektorých používateľov jednoduchšia.
  • Vhodný pre spracovanie veľkého počtu logických signálov (vstupov / výstupov).

Nevýhody FBD

  • Pomocou tohto PLC programovacieho jazyka sa kód môže zdať ako nezorganizovaný, pretože funkčné bloky sa môžu umiestniť kdekoľvek na hárok. To môže byť nekomfortné napríklad pri riešení problémov.


4. Structured Text (ST) – Štruktúrovaný text

Je veľmi výkonný programovací jazyk, ktorý má korene v známych jazykoch ako je Pascal a jazyk „C“. Obsahuje všetky podstatné prvky moderného programovacieho jazyka, vrátane vetvenia (IF-THEN-ELSE a CASE OF) a slučky (FOR, WHILE a REPEAT). Tieto prvky môžu byť aj vsunuté.

Tento jazyk je vynikajúcim nástrojom pre definovanie komplexných funkčných blokov, ktoré potom môžu byť použité v akomkoľvek inom programovacom jazyku.

Zápis jazyka ST je ideálny pre prácu s dátami, reťazcami, databázami a pre naprogramovanie zložitých výpočtových algoritmov. Je vhodný pre náročné spracovanie analógových signálov, ako napríklad pre realizáciu digitálnych filtrov, linearizáciu signálov a zložité riadiace algoritmy.

Structured Text (ST) – Štruktúrovaný text

Medzi výhody jazyka štruktúrovaného textu ST patria

  • Veľmi dobrá organizácia a vhodnosť pri výpočte veľkých matematických výpočtov.
  • Umožňuje nám pokryť niektoré inštrukcie, ktoré nie sú dostupné v niektorých iných jazykoch, ako napríklad v LD.
  • Vhodný pre realizáciu a spracovanie dátovej komunikácie.

Nevýhody ST

  • Pre niekoho môže byť náročná syntax – je nutné poznať príkazy a presnú syntax zápisu.
  • Prehľadnosť zápisu logických operácií.
  • Menej vhodný pre prehľadné spracovanie veľkého množstva logických signálov (vstupov / výstupov)


5. Instruction List (IL) – Postupnosť inštrukcií

Zápis programu v jazyku IL je najzákladnejší popis programu a veľmi sa podobá na programovanie mikro-kontrolérov v základnom jazyku Assembler. Pri IL sa program skladá z postupnosti jednoduchých operácií tvorených základnými inštrukciami a elementmi reprezentujúcimi jednotlivé registre a pamäťové miesta.

Tento spôsob programovania sa vyznačuje dokonalým prehľadom a nadvládou programátora nad konštrukciou a štruktúrou programu. Umožňuje tak čo najviac optimalizovať program z pohľadu jeho veľkosti a rýchlosti vykonávania. Program môžeme vytvoriť bez rôznych zbytočných presunov dát, odskokov a volaní.

Instruction List (IL) – Postupnosť inštrukcií

Výhody IL

  • Jazyk je užitočný pre aplikácie, ktoré potrebujú kompaktný a časovo kritický kód.
  • Výsledný program môže byť úsporný z pohľadu pamäťového priestoru a rýchlosti spracovania.

Nevýhody IL

  • Je nevyhnutné poznať alebo sa dobre orientovať v príkazoch a archívoch.
  • Nie práve najvhodnejšia prehľadnosť a orientácia v programe


Záver

Flexibilita programovacích jazykov v CODESYS je relatívne veľká. Samozrejme každému vývojárovi vyhovuje niečo iné. Niekto rád kóduje a píše texty, iní zasa uprednostňujú prehľadnosť, alebo logické grafické usporiadanie.

V každom prípade, ak ste dočítali až sem, tak dúfame, že sa vám článok páčil. Cieľom bolo popísať jednotlivé programovacie jazyky, s ktorými sa môžeme pri programovaní PLC stretnúť. Tak veríme, že článok splnil tento cieľ.

Mimochodom, klasické PLC programovacie jazyky nemusia vždy postačovať a riadiace algoritmy sa preto vyvíjajú aj v moderných objektových jazykoch, ako sú C ++ či C #.

Nezabudnite si pozrieť nižšie video.

PLC programovacie jazyky

Automatizacia365.sk

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *