Martin Kurka

Offline

Projektant automatizace a strojů
|
 |
« Odpověď #1 kdy: 15.09.2022, 13:30 » |
|
Některá PLC (Simatic, B&R...) mají možnost programování úseků pomocí "Síšarpů" jako nadstavbu pracující v koexistenci s "paralelně" běžícími bloky programů v IEC61131-3.
V tom problém není. Problém je v bezpečnosti programového vybavení. PLC byly původně vymyšlené tak, aby program běhal pravidelně v jedné odladěné smyčce se zaručeným koncem. Na začátku smyčky vždy načetl vstupy nacucnul si jejich otisk do lokálních proměnných, provedl výpočty v jednom cyklu a na jeho konci otisknul vnitřní proměnné do výstupů. Tomu celému průběhu se říkalo otočka. Dopředné skoky byly zakázány, cykly byly většinou hlídány na maximální čas. Mezní doba otočky, byla posvátná a dodnes je jedním z parametru rychlosti PLC.
Nemohlo se tedy stát, že by - program zabloudil v nekonečné smyčce - vstupy a výstupy se v jedné smyčce měnily podle stavu a času zpracování mezivýpočtů uvnitř cyklu - v programu byla syntaktická chyba, která by cykl úkonů zastavila - podmínka větvení byla nezacílena nebo neošetřena - nedostupná volaná periferie (tiskárna apod.) program zasekla
Ale když výkonné kroky budete volně programovat v C jazycích, musíte skoro vše výše uvedené ošetřit ručně a napsat a odladit kvalitní program.
Jako zákazník a investor bych do toho nešel ani náhodou. Úroveň bezpečnost stroje bude dána úrovní a hlubokými znalostmi bezpečného návrhu a zkušenostmi programátora. Už samotné programování v IEC61131-3 vyžaduje obrovskou úroveň zkušeností a znalostí, aby nedošlo k logickým chybám v algoritmu programu. Už jen odladění algoritmu najde tytp chyby, protože nedomyslíte všechny možné eventuality a kombinace. A zdánlivě nemožné kombinace v reále nastávají (jednopólový přepínač zapnutý do obou poloh najednou, nebo ani do jedné atd. výtah není v 1. ani v 2. patře, ale mezi nimi a přijel ze 3. atd.) A k tomu najednou ještě musíte hlídat, ošetřit samotný postup programu v C a to i podle HW nuancí daného PLC.
Buď bude program kvalitní a velmi drahý, nebo bude laciný s nemalými bezpečnostními riziky. Jakákoliv změna nebo doplnění programu jiným programátorem, může způsobit nebezpečné chování stroje z jiných důvodů než logické chyby.
Jazyky C jsou v PLC určeny pro snadné programování HMI. Grafické vizualizace, WEB stránek a WEB serverů, tisku, datové komunikace.... Tam je jejich síla a potřebnost. Ale na výkonné kroky a bezpečné řízení stroje je určen jazyk na bázi IEC61131-3.
A jestli zákazník stále požaduje jen C ,tak jste-li zodpovědný, musíte mu napálit cenu za programování nejméně na trojnásobek a i tak si sotva vyděláte na slanou vodu.
|