Print

Role liniových schémat v budoucnu

-- 25.09.18

Devět hledisek při výběru programovacího jazyka: Liniová schémata upřednostňují výrobci v odvětvích s diskrétní logikou. Jejich užitečnost v porovnání s jinými programovacími jazyky IEC 61131-3 a programováním PC závisí na složitosti aplikace a dalších faktorech. 

Liniová schémata, primární programovací jazyk programovatelných automatů (Programmable Logic Controller – PLC), je jednoduchý jazyk graficky znázorněný jako reléové kontakty a cívky. Otázka však zní, jak dobře mohou liniová schémata vyhovovat komplexním automatizačním potřebám v přítomnosti a v budoucnosti v porovnání s jinými programovacími jazyky? Odpověď je složitější než jen kontakty a cívky. 

Historické kořeny liniových schémat

Automatizace existovala ještě před PLC a jako mozek aplikace často využívala síť relé. Tehdy ještě neexistovala role programátora – byl zde konstruktér, který navrhl obvod, a elektrotechnik, který jej sestavil. Obvod byl dokumentován ve standardní struktuře na papíře a připomínal příčky žebříku, a proto se mu začalo říkat „liniové schéma“ (viz obrázek 1).

Příchod PLC slibovat velký přínos pro automatizaci, ale nikdo nevěděl, jak je programovat. Pak někoho napadlo programovat PLC pomocí liniových schémat, což průmyslu umožnilo opětovně využít tento soubor dovedností pro programování. Konstruktéři a elektrotechnici dokázali číst a chápat programování a návrh automatizace mohl do značné míry využívat stejné vzory jako u relé.

Před příchodem PLC zabírala relé fyzický prostor ve skříni, byla drahá a vyžadovala určitý čas na propojení. Reléová logika byla navíc omezena na funkčnost sepnutí/rozepnutí, leč bez možnosti práce s analogovými daty, matematickými funkcemi nebo sběrem dat (mimo poměrně vzácně využívaná speciální relé s funkcemi časování a čítání). I ty největší a nejsložitější automatizační systémy byly omezeny fyzickou podstatou relé, takže nároky na jazyk liniových schémat nebyly příliš velké.

V současnosti využívaný procesorový čip uvnitř PLC dokáže více než relé, má menší prostorové nároky, jeho cena je nižší a implementace rychlejší. Programovací jazyky využívané v PLC byly proto bohatší, aby odrážely jejich zvýšené schopnosti. Liniová schémata dnes vykonávají mnohem více než dříve. PLC se běžně využívají pro analogové řízení, sledování dat o dílech (čárové kódy, výsledky testů, kalibrace), řízení polohování a spoustu dalších úkonů a liniová schémata jsou stále dominantním jazykem. Jenže tento jazyk se rozvinul, automatizace se stala složitější a programování PLC začalo být specializovanou rolí. Liniová schémata už nejsou jazykem, který mohou snadno číst a udržovat elektrotechnici, a nejsou ani běžnou dovedností nově nastupující pracovní síly. 

Jiné jazyky pro programování PLC

Programování v průmyslu ovlivňují dvě oblasti: norma IEC 61131-3 pro programování průmyslového řízení, kterou vydala organizace International Electrotechnical Commission, a pak programování PC. Tyto jazyky se obvykle považují za doplnění liniových schémat, nikoli za jejich opozici. 

IEC 61131-3

S rostoucí popularitou řídicích prvků PLC vyvstala v průmyslu potřeba standardů upravujících programování. Komise IEC tuto potřebu řešila standardem IEC 61131, konkrétně programovacími jazyky v části 3 (IEC 61131-3). Zde byly definovány čtyři programovací jazyky, které byly obecně zaměnitelné (liniová schémata, funkční bloky, strukturovaný text a seznam instrukcí), a také jazyk pro organizaci programů označovaných jako sekvenční funkční diagramy.

Každý jazyk má své přednosti a slabiny; všechny jazyky lze používat společně v rámci jednoho programu, aby byla zajištěna co nejlepší podpora různým funkcím programu. Jistě lze diskutovat o tom, který jazyk je pro který úkon nejvhodnější (viz obrázek 2). Proces obecně běží jako diskrétní nebo kontinuální. I automatizace se přiklání většinou k digitálním vstupům/výstupům (I/O) nebo analogovým I/O. 

Jazyky PC

Jazyky, které přišly do automatizace ze světa PC, se obvykle využívají pro speciální/periferní aplikace. To může zahrnovat rozhraní s databázemi nebo programování automatizačních periferií, jako jsou kamery a roboty. Strukturovaný text (definovaný ve standardu IEC 61131) je velmi podobný jazyku Pascal, obvyklému programovacímu jazyku PC v době uvedení standardu IEC 61131. Jazyk Pascal od té doby vyšel z módy, ale je skvělým příkladem toho, jak si automatizační průmysl v minulosti vypůjčoval z oblasti PC. K současným příkladům jazyků PC v automatizaci patří C++, Java a C#. Tyto jazyky jsou výkonné, ovšem v oblasti automatizace si nezískaly příliš silné místo. 

Tři otázky pro programování

Před porovnáváním liniových schémat s jinými potenciálními možnostmi je důležité pochopit, co má program skutečně dělat. Program musí umět provozovat automatizaci, což dokáže v podstatě jakýkoli jazyk, ale z praxe vycházejí i další požadavky. Do značné míry jde především o čitelnost. Položte si následující tři zásadní otázky k vašim programovacím jazykům. 

  • A. Dokáže se programátor nebo údržbový technik podívat na kód a rozumět, co dělá?
  • B. Lze problémy najít rychle, aby se minimalizovala doba odstávky stroje?
  • C. Jak snadné je program rozšířit, když je požadována nová funkčnost? 

Různé jazyky mají aspekty, které ovlivňují schopnost programátora vytvořit čitelný program.

Výběr programovacího jazyka může ovlivnit zejména následujících devět oblastí. 

1. Obecná znalost

Liniová schémata se široce využívají, což usnadňuje nalezení někoho, kdo je dokáže číst. Jiné jazyky standardu IEC 61131 mohou být v určitých odvětvích poněkud preferovány, ale nejsou tak všeobecně používané nebo známé. Jazyky PC používané v automatizaci jsou velmi populární a existuje k nim mnoho podpůrných zdrojů, avšak ne vždy v průmyslové komunitě, což snižuje jejich potenciální přínosy. 

2. Interní dokumentace

Pro každý jazyk existuje způsob, jakým programátor vysvětlí záměr programu ve srozumitelné češtině. V případě liniových schémat se to provádí prostřednictvím poznámek k jednotlivým „příčkám“ a poznámek ke značkám (tagům, proměnným), což funguje dobře pro jednoduché „příčky“, ale může být méně užitečné pro rozsáhlejší „příčky“ nebo matematické funkce.

U dalších jazyků standardu IEC 61131 to může být různé, ale obecně umožňují kvalitní dokumentování věcí, ve kterých jsou dobré. Například strukturovaný text umožňuje dobré dokumentování matematických funkcí a smyčkových struktur.

Jazyky PC mají obvykle k dispozici mnohem více funkcí s mnoha možnostmi interní dokumentace a někdy dokonce nabízejí automatické generování dokumentace ze zdrojového kódu, čímž vzniká manuál pro programátora nebo technika, k němuž se může vracet a rychle získat přehled o celkovém kontextu. 

3. Rozhodovací struktury a smyčky

Na jednoduché úrovni jde v programování o zásadu „jestliže se stane to, proveď ono“. Jde o rozhodovací strukturu označovanou jako „jestliže–pak“ a ta je snadno použitelná a pochopitelná ve všech zde popisovaných jazycích. Ale co když programátor chce provést něco více než jednou? Tyto struktury nejsou liniovými schématy dobře podporované, obvykle je výsledkem špatně čitelný kód. Na druhou stranu strukturovaný text a jazyky PC obvykle bývají velmi dobré pro všechny běžné rozhodovací a smyčkové struktury. 

4. Matematické funkce

Sčítání a odečítání jsou snadné a fungují dobře v každém jazyce, ale co v případě složitějších matematických funkcí? Liniová schémata podporují aritmetické a některé základní funkce, jako je absolutní hodnota nebo odmocnina, ale když výpočty zahrnují více čísel, bývají hůře čitelná. Poznámky jsou vizuálně oddělené od věcí, které dokumentují, a provádět stejnou matematickou operaci více než jednou nevypadá hezky, neboť i smyčky samotné příliš hezky nevypadají. Strukturovaný text a jazyky PC bývají s rozsáhlými matematickými funkcemi elegantnější. Jazyky PC rovněž nabízejí matematické funkce na vysoké úrovni v podstatě pro jakýkoli účel a jsou předem „zabaleny“ pro snadné použití. 

5. Přehlednost

Čtení neznámého programu je jako čtení dobrodružné knihy skrz papírovou trubku. Mezi různými částmi knihy musíte listovat tam a zpět a v každém okamžiku vidíte jenom kousíček stránky. Množství kódu, který se vejde na obrazovku, může ovlivnit schopnost programátora pochopit, co program dělá a jak. U liniových schémat se obvykle zobrazuje jedna až pět příček na obrazovce najednou. Kvůli své grafické povaze jsou poměrně chudé na informace a pro programátora je těžší „vidět“ celý program. Sekvenční funkční diagram, který má také grafický charakter, se tomuto problému vyhýbá tím, že je na vysoké úrovni a je ze své povahy omezený, podobně jako krátká kniha s tabulkou obsahu. Jazyky na bázi textu (strukturovaný text a jazyky PC) jsou zahuštěnější a zobrazují 30–50 řádků kódu na obrazovce najednou. 

6. Zapouzdření a opětovné použití kódu

Co je odpovědí na rostoucí složitost? Abstrakce. Řidič při řízení automobilu neuvažuje o časování zapalování, řízení trakce nebo strategii chlazení motoru. Veškeré tyto záležitosti jsou abstrahovány, jsou samostatné a samy se řídí. V programování se to označuje jako „zapouzdření“ a kromě toho, že to usnadňuje pochopení na různých úrovních podrobnosti, to také znamená, že kód lze opětovně použít. Pokud je stroj naprogramován, aby počítal celkovou účinnost zařízení (Overall Equipment Effectiveness – OEE) pro každou hodinu dne, lze vytvořit kód pro výpočet OEE jen jednou a pak jej pro každou hodinu opětovně použít. Liniová schémata a další jazyky standardu IEC 61131 to dokážou dobře. Jazyky PC přidávají objektově orientované prvky, které tuto schopnost posilují. Standard IEC 61131 obsahuje ustanovení týkající se objektově orientovaných prvků, nicméně výrobci PLC je ne vždy implementují, což znamená, že je programátoři nemohou používat. 

7. Knihovny

Knihovny umožňují uživatelům posunout opětovné používání kódu na vyšší úroveň vložením kódu někoho jiného do programu v podobě zapouzdřených a vyzkoušených dílů. Tak jako v příkladu automobilu nemusejí uživatelé ani vědět, co je pod kapotou, aby to mohli využívat. Liniová schémata a jazyky standardu IEC tuto funkčnost podporují jen omezeně.

Jazyky PC mají rozsáhlou podporu knihoven, často i bezplatně. Nejsou určeny k tomu, aby pokrývaly funkce, v nichž jsou vynikající liniová schémata, ale často se využívají v oblastech, kde jsou liniová schémata méně použitelná, jako jsou matematické funkce, kontrola pomocí počítačového vidění a manipulace s daty. 

8. Analogové versus digitální

Argument analogové versus digitální se v mnoha směrech podobal argumentu u matematických funkcí. Logika liniových schémat funguje velmi dobře s digitálními signály a informacemi, ale v analogovém prostředí už poněkud zaostává. Funkční bloky, další jazyk standardu IEC 61131, fungují velmi dobře s analogovými signály, ale už nejsou tak šikovné s digitálními signály. Strukturovaný text a jazyky PC obvykle dobře zvládají obojí, ale protože jsou flexibilnější, programátor musí kód dobře zorganizovat, aby zajistil jeho čitelnost. 

9. Determinismus

V oblasti automatizace je obvykle důležité, aby řídicí prvek (PLC, PC) četl vstupy, provozoval program a zapisoval výstupy v opakovatelném časovém rámci (například každých 15 ms). To se označuje jako determinismus. Liniová schémata a všechny jazyky standardu IEC 61131 jsou deterministické. U jazyků PC je to různé. Například jazyk C++ může být deterministický, ale jazyky vyšší úrovně, jako je Java a C#, obecně nedokážou determinismus zajistit. 

Co je nejlepší volbou?

Jak si tedy liniová schémata vedou oproti ostatním? Preferuje je průmysl s diskrétní automatizací, kde jsou digitální vstupy a výstupy normou. Na druhou stranu ve zpracovatelském průmyslu, kde převažují analogové vstupy a výstupy, se pro takové části kódu hojně využívá jazyk funkčních bloků.

Nicméně nad preferencí podle odvětví stojí jen jedno z výše uvedených hledisek a tím je podpora.

Dostupná podpora je do značné míry vyjádřením historických norem, protože nedávná historie určuje, jaké zkušenosti má pracovní síla v současné době. Protože liniová schémata byla normou po tak dlouhou dobu, použití jiného jazyka může vzbuzovat obavy.

Noví absolventi mají zkušenosti s jazyky na textové bázi, nikoli s liniovými schématy. Společně s obměnou pracovní síly se preference v průmyslu pravděpodobně posune směrem k textovým jazykům, což bude souviset s tím, jak začne být k dispozici větší podpora. Nakonec se však pro provoz automatizace bude pravděpodobně využívat větší počet jazyků. Uvažování pouze v jednom jazyce může být pro dosahování těchto cílů brzdou.

PLC budou využívat jeden nebo více jazyků, stejně tak i periferie. Je důležité, aby programátor věděl, které jazyky jsou k dispozici, k čemu jsou dobré a jak je použít se záměrem vytvořit čitelný kód s možností dobré podpory. 

Jon Breen je zakladatel a vlastník společnosti Breen Machine Automation Services. Upravil Chris Vavra, redaktor časopisu Control Engineering, CFE Media, cvavra@cfemedia.com.


Sponzorované odkazy

 
Aktuální vydání
Reklama

Navštivte rovněž

  •   Události  
  •   Katalog  

Události

Automatizace a modernizace pivovarů 2019
2019-01-24 - 2019-01-24
Místo: Hotel Luční bouda, Pec pod Sněžkou
DIAGO 2019
2019-01-29 - 2019-01-30
Místo: Orea Resort Devět Skal ***, Sněžné - Milovy
Roboty 2019
2019-01-30 - 2019-02-01
Místo: Brno, hotel Avanti
Úspory v průmyslu
2019-03-05 - 2019-03-05
Místo: Hotel STEP ****, Praha
AMPER 2019
2019-03-19 - 2019-03-22
Místo: Výstaviště 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