Print

Srovnání liniových schémat a objektově orientovaného programování

-- 25.09.18

Mnoho mladých automatizačních pracovníků je dobře obeznámených s objektově orientovaným programováním (OOP), nicméně standardem pro aplikace průmyslové automatizace zůstávají liniová schémata. Přečtěte si o jejich výhodách a nevýhodách. 

Mnoho mladých lidí působících v oblasti vědy, technologie, strojírenství a matematiky (Science, Technology, Engineering, Math – STEM) i v dalších technických programech vyššího vzdělávání používalo nebo programovalo mikrořadiče Raspberry Pi, Arduino nebo podobné. Většina z nich se samozřejmě učí programovat pomocí objektově orientovaného programování určitého druhu, a proto k němu tíhnou, když přejdou do praxe.

Nicméně průmyslová automatizace se již téměř 50 let opírá o liniovou logiku, označovanou také jako liniová schémata. Programátoři s desítkami let zkušeností průmyslového programování s nimi rádi pracují. Ti zde však nebudou věčně a do průmyslu neustále přicházejí mladší pracovníci, kteří jsou již dobře obeznámeni s OOP. Jak můžeme tuto nově příchozí pracovní sílu seznámit s liniovými schématy?

I když má OOP své výhody a nevýhody, je dobrým výchozím bodem pro liniová schémata. 

Porozumění OOP

OOP má delší historii než liniová schémata, je zde již od počátku šedesátých let minulého století. Současný hardware a software dostupný na trhu výrobců jeho popularitu ještě zvyšuje. Příkladem mohou být špičkové mikrořadiče, jako je Arduino a Raspberry Pi (obrázek 1).

Hardware mikrořadiče Arduino obvykle využívá základní formu programování v jazyce C. Raspberry Pi je systémem na bázi operačního systému Linux s mnoha platformami pro programování OOP, jako je Python a Java. Tyto levné mikrořadiče a platforma Microsoft .NET zpřístupnily OOP těm, kteří se je chtějí učit. 

Výhody OOP

V porovnání s liniovými schématy má OOP následující výhody: 

  • kód je přenositelný a snadno opětovně použitelný;
  • snadno se zde pracuje s matematickými funkcemi, smyčkami atd.;
  • učí se téměř v každém kurzu počítačového programování;
  • kód lze provozovat na nejrůznějších hardwarových platformách. 

OOP využívá objekty – pro pochopení tohoto programování je nezbytné rozumět koncepci objektů a jejich používání. Jakmile byl napsán objekt nebo modulární třída, je snadné je opětovně použít a mnohokrát vyvolávat. Když je například vytvořen objekt pro řízení motoru, stará se o všechny vstupy, výstupy a chyby. Tento jednotlivý objekt pak lze používat mnohokrát jako instanci, když je nutno řídit několik motorů. Je vyvolán v případě potřeby a při použití vytváří instanci.

Každá instance pro každý motor má své vlastní charakteristiky, jako je vypnutí motoru, běh motoru, otáčky motoru, přetížení motoru atd. Většina programátorské práce je provedena při prvním vytvoření objektu. Jde o jiný způsob uvažování než u liniových schémat a je efektivnější, protože jakmile je objekt vytvořen, je snadné jej používat, a to i opakovaně.

OOP rovněž výrazně usnadňuje provádění složitých matematických funkcí, výpočtů smyček, polí a vnořených podprogramů. Také se vyučuje téměř na každém kurzu počítačového programování na středních a vysokých školách a on-line. Vytvořený kód je přenositelný a lze jej provozovat na různých hardwarových platformách. 

Nevýhody OOP

V porovnání s liniovými schématy má OOP následující nevýhody: 

  • vyšší provozní nároky;
  • delší křivka učení;
  • obtížnější odstraňování chyb pro údržbáře;
  • obvykle se musí kompilovat, aby se mohl zdrojový kód nahrát do procesoru. 

OOP může mít vyšší provozní nároky než liniová schémata, protože obvykle potřebuje více paměti a výpočetního výkonu. Také křivka učení u programování OOP může být delší. Pro pochopení hlavních koncepcí může být zapotřebí značný čas, procvičování, testování a používání, nejspíš v učebně.

V případě OOP musí programátor pro sledování logické linie často kód studovat pomocí traceru nebo debuggeru. U tohoto programování vysoké úrovně může být obtížné provádět monitorování v reálném čase.

Zdrojový kód se musí před nahráním do řídicího prvku kompilovat. Zdrojový kód často není přítomen v paměti procesoru. To znamená, že je nutno zdrojový kód pečlivě zálohovat, protože kompilovaný kód obvykle není editovatelný.

V případě OOP je nutno připojit knihovny k dalším zdrojům využívaným během kompilace programu. V případě nedostatečného pochopení připojení a zdrojů bude obtížné program zprovoznit. 

Učení se liniových schémat

Liniová schémata jsou jednoduchou a samodokumentující metodou kódování a někteří si dokonce kladou otázku, zda je to vůbec programovací jazyk. Následuje formát elektrických schémat příčkového typu využívaný v řídicích systémech na bázi relé; většina lidí se je dokáže rychle naučit. V oblasti automatizace strojů byly jediným programovacím jazykem s průmyslovou odolností a jsou stále hlavním programovacím jazykem využívaným v automatizačním průmyslu (obrázek 2).

V průběhu času, kdy do průmyslu přicházeli různí lidé z různých oblastí, se do sady nástrojů průmyslové automatizace začaly přidávat i další jazyky. Patří k nim funkční bloky, strukturovaný text, programování stavu a sekvenční funkční diagramy. Tyto čtyři jazyky a liniová schémata jsou obsahem standardu IEC 61131-3 pro programovací jazyky od organizace International Electrotechnical Commission (IEC).

Standard IEC 61131 vychází z toho, že pokud by každý výrobce tento standard dodržoval (nebo alespoň do určité míry), pracovníkovi by pak stačilo jednou se naučit pět jazyků a mohl by se snadno pohybovat mezi různými platformami od různých výrobců. Nicméně realita vypadá jinak.

Základní liniová logika – např. použití reléových kontaktů a cívek – je stejná, ale syntaxe a způsob práce při programování a podrobnosti ohledně používání programovací platformy je nutno se pro každého výrobce naučit.

Navzdory této nedostatečné standardizaci mají liniová schémata oproti OOP následující výhody: 

  • vhodnost pro řízení strojů i procesu;
  • snadná pochopitelnost díky přirozenému samodokumentování;
  • snadné použití pro odstraňování chyb řízeného systému;
  • snadné odlaďování (debugging);
  • zdrojový kód často lze uložit v procesoru. 

Liniová schémata jsou vhodná pro řízení stroje i procesu, zejména u automatizačních systémů s mnoha diskrétními vstupy/výstupy (I/O). Liniová schémata byla v průběhu let modifikována, aby mohla pracovat také s analogovými I/O, díky čemuž jsou vhodná pro mnoho aplikací řízení procesu, které mívají vyšší poměr analogových I/O ve srovnání s aplikacemi řízení strojů.

Liniová schémata se může rychle naučit široká řada kvalifikovaných a technických pracovníků, protože jejich použití je jednodušší než u OOP. Logika je velmi systematická a uspořádaná, a proto je díky jejímu přirozenému samodokumentování snazší ji sledovat a chápat. Každý řádek kódu musí mít logickou hodnotu „pravda“, než něco zapne. Pokud máte pět motorů, obvykle je nejméně pět řádků kódu, což poskytuje vysokou míru zjednodušení. 

Snadnější na naučení

Liniová schémata jsou intuitivní pro elektrotechniky a pracovníky údržby. I když liniová schémata vyžadují jiný koncepční přístup než OOP, dají se snadno naučit; také porozumět kódu napsanému někým jiným trvá kratší dobu. Pokud je logika jednoznačná, jsou velmi přehledná. Sepnuté nebo rozepnuté kontakty, cívky pod napětím, porovnání proměnných a běžné matematické funkce se dají snadno následovat, dokonce i pro někoho s omezenými zkušenostmi s programováním (obrázek 3).

Snadnost jejich použití zjednodušuje odstraňování chyb i odlaďování. Jsou přímočaré a při monitorování logiky snadno vidíte, co se odehrává. Není nutno být vystudovaným odborníkem na software nebo pokročilým programátorem. U liniových schémat je pro údržbový a technický personál snadné sledovat tok a chápat, co se děje. Na liniová schémata lze pohlížet jako na pravdivostní tabulku. Je-li logika na levé straně pravdivá, pak se logika na pravé straně vyřeší nebo zapne.

Zdrojový kód a deskriptory liniových schémat jsou často uloženy v řídicím prvku. To může odstranit frustraci programátora, když se snaží pochopit kompilovaný program bez přístupu ke zdrojovému kódu, k čemuž obvykle dochází u OOP. Nicméně ve srovnání s OOP mohou liniová schémata být:

 

  • neznámá pro počítačové programátory, pracovníky IT atd.;
  • obtížně použitelná pro matematické funkce, text a manipulaci s daty;
  • závislá na době skenování;
  • mohou pro svůj běh vyžadovat speciální hardware, například programovatelný automat PLC. 

Liniová schémata jsou symbolickým jazykem neznámým pro počítačové programátory a pracovníky IT, protože to není něco, co se typicky učí ve škole. Práce s matematickými funkcemi, textovými řetězci a daty může být v liniových schématech obtížná, protože nebyla pro tyto funkce původně určena. 

Závislost na době skenování

Liniová schémata jsou také závislá na době skenování. Skenování větších programů a řešení logiky trvá déle. U liniových schémat se čtou vstupy, skenuje se logika, aktualizuje se datová tabulka a výstupy, provede se související komunikace a cyklus se opakuje. Lze implementovat funkce, jako jsou přerušení a další programovací metody, abyste zajistili rychlejší provedení určitých příček.

Přestože mohou PLC na bázi softwaru s liniovými schématy běžet na PC, často je hardware, jako je PLC, spárován s určitým programovacím softwarem, přičemž oba jsou zakoupeny od stejného výrobce. To zaručuje kompatibilitu, nicméně omezuje kombinování s jinými výrobci.

Kromě porovnání výhod a nevýhod liniových schémat a OOP by měli uživatelé vyhodnotit i stávající používání těchto jazyků v prostředí, kde budou nasazeny. Pokud je závod standardizován na používání liniových schémat, nedoporučuje se používat OOP, i kdyby bylo pro danou aplikaci vhodnější. Využívání OOP je však stále širší a očekává se, že v následujících dekádách bude koexistovat společně s liniovými schématy. Začínajícímu odborníkovi na automatizaci se vyplatí naučit se oba jazyky. 

Jerry Reaves je produktový manažer pro PLC Silo společnosti AutomationDirect. Upravil Mark T. Hoske, obsahový ředitel, Control Engineering, CFE Media, mhoske@cfemedia.com.


Sponzorované odkazy

 
Aktuální vydání
Reklama

Navštivte rovněž

  •   Události  
  •   Katalog  

Události

PROMOTIC Semináře
2018-10-23 - 2018-10-23
Místo: Trnava
ÚDRŽBA 2018
2018-10-24 - 2018-10-25
Místo: Liblice
PROMOTIC Semináře
2018-10-24 - 2018-10-24
Místo: Praha
Školení pro uživatele kalibrátorů a kalibračního software Beamex
2018-10-30 - 2018-10-31
Místo: Jelínkova vila, Třebíčská 342/10, 594 01 Velké Meziříčí
Bezpečnost v průmyslu
2018-10-31 - 2018-10-31
Místo: Brno

Katalog

BALLUFF CZ s.r.o.
BALLUFF CZ s.r.o.
Pelušková 1400
19800 Praha
tel. 724697790

COGNEX
COGNEX
Emmy-Noether-Str. 11
76131 Karlsruhe
tel. 720 981 181

B+R automatizace, spol. s r.o.
B+R automatizace, spol. s r.o.
Stránského 39
616 00 Brno
tel. +420 541 4203 -11

Schneider Electric CZ, s. r. o.
Schneider Electric CZ, s. r. o.
U Trezorky 921/2
158 00 Praha 5
tel. 00420737266673

Mitsubishi Electric Europe B.V.
Mitsubishi Electric Europe B.V.
Pekařská 621/7
155 00 Praha 5
tel. +420 251 551 470

všechny firmy
Reklama


Tematické newslettery




Anketa


Na internetu
V tištěných médiích
Na veletrzích a výstavách
Jinde

O nás   |   Reklama   |   Mapa stránek   |   Kontakt   |   Užitečné odkazy   |   Bezplatné zasílání   |   RSS   |   
Copyright © 2007-2018 Trade Media International s. r. o.
Navštivte naše další stránky
Trade Media International s. r. o. Trade Media International s. r. o. - Remote Marketing Továrna - vše o průmyslu Control Engineering Česko Řízení a údržba průmyslového podniku Inteligentní budovy Almanach produkce – katalog firem a produktů pro průmysl Konference TMI