Print

Jazyk funkčních bloků

-- 31.03.08

Obrázek řekne víc než tisíc slov – známé pořekadlo, které tvrdí, že složité příběhy lze říci jedním statickým obrázkem nebo že obrázek může mít větší vliv než značné množství textu. Příhodně také charakterizuje cíle vizuálního softwaru při průmyslovém řízení.

Jazyk funkčních bloků (FBD – function block diagram) dokáže nahradit tisíce řádků textového programu. Grafické programování je intuitivním způsobem specifikace funkčnosti systému pomocí sestavování a propojování funkčních bloků. První dva díly tohoto seriálu byly zaměřeny na liniová schémata a textové programování, jakožto varianty výpočetních modelů. V tomto dílu popíšeme a porovnáme přednosti a slabiny jazyka funkčních bloků.

Jazyk funkčních bloků byl zaveden normou IEC 61131-3 za účelem nápravy nedostatků textového programování a liniových schémat. Síť FBD primárně tvoří propojené funkce a funkční bloky vyjadřující chování systému. Funkční bloky byly zavedeny pro řešení potřeby opětovného používání běžných úkolů, jako je proporcionální, integrační a derivační regulace (PID), čítače a časovače na různých místech aplikace nebo v různých projektech. Funkční blok je „zabalený“ softwarový prvek, který popisuje chování dat, strukturu dat a externí rozhraní definované jako soubor vstupních a výstupních parametrů.

 

Řízení provádění funkčních bloků v síti FBD
je dáno pozicí funkčního bloku v rámci FBD.

 

Funkční bloky jsou v mnoha ohledech srovnatelné s integrovanými obvody používanými v elektronických zařízeních. Funkční blok je zobrazován jako obdélníkový blok se vstupy z levé strany a výstupy z pravé strany. Viz obrázek typického funkčního bloku se vstupy a výstupy. Klíčovými vlastnostmi funkčních bloků je zachování dat mezi prováděními, zapouzdření a skrytí údajů. Zachování dat je dosahováno vytvořením samostatných kopií funkčních bloků v paměti pokaždé, když jsou volány. Zapouzdření zachází se souborem softwarových prvků jako s jednou jednotkou a skrytí údajů omezuje vnější přístup k datům a vnější procedury v rámci zapouzdřeného prvku. Díky zapouzdření a skrytí údajů nejsou návrháři vystaveni riziku nechtěné modifikace programového kódu nebo přepsání vnitřních dat při kopírování programového kódu z předchozího řešení řízení.

Funkce, jazyk funkčních bloků

Funkce je softwarový prvek, který, pokud je proveden s určitým souborem vstupních hodnot, vytváří jeden primární výsledek a nedisponuje žádným interním ukládáním dat. Pojem „funkce“ je často zaměňován s pojmem „funkční bloky“, které však mají interní ukládání dat a mohou mít více výstupů. Příklady funkcí jsou trigonometrické funkce, např. sin() a cos(), aritmetické funkce, jako je sčítání a násobení, a funkce pro manipulaci s řetězci. K funkčním blokům patří PID, čítače a časovače.

Jazyk funkčních bloků je program vytvořený propojením více funkčních bloků a funkcí s výsledným vytvořením jednoho bloku, který se stane vstupem pro další blok. Na rozdíl od textového programování nejsou pro přechod dat z jednoho podprogramu do druhého potřeba žádné proměnné, protože spoje propojující různé bloky automaticky zapouzdřují a přenášejí data.

Jazyk funkčních bloků lze používat pro vyjádření chování funkčních bloků, stejně jako programů. Lze je používat také pro popis kroků, akcí a přechodů v rámci sekvenčního funkčního grafu.

Funkční blok není hodnocen, dokud nejsou k dispozici všechny vstupy přicházející z jiných prvků. Když se funkční blok provede, vyhodnotí všechny své proměnné, včetně vstupních a interních proměnných, a výstupní proměnné. Algoritmus během svého provádění vytváří nové hodnoty pro výstupní a interní proměnné. Jak již bylo uvedeno, stavebními kameny jazyka funkčních bloků jsou funkce a funkční bloky. V jazyce funkčních bloků jde signál z výstupů funkcí nebo funkčních bloků do vstupů dalších funkcí nebo funkčních bloků.

Výstupy funkčních bloků jsou aktualizovány v důsledku vyhodnocování funkčních bloků. Změny stavů signálu a hodnot proto v síti FBD přirozeně přicházejí zleva doprava. Signál lze také vracet z výstupů funkčních bloků do vstupů předchozích bloků. Cesta zpětné vazby předpokládá, že hodnota v rámci cesty je zachována poté, co je síť FBD vyhodnocena a použije se jako počáteční hodnota při příštím vyhodnocování sítě. Viz obrázek sítě FBD.

Řízení provádění funkčních bloků v síti FBD je dáno pozicí funkčního bloku v rámci FBD. Například na obrázku „Síť FBD…“ je funkce „simulátor závodu“ vyhodnocována po funkčním bloku „Řízení“. Pořadí provádění lze řídit povolením funkčního bloku pro provádění a nastavením výstupních svorek, které mění stav po dokončení provádění. Provádění sítě FBD se považuje za dokončené až tehdy, když jsou všechny výstupy všech funkcí a funkčních bloků aktualizovány.

Silné stránky jazyka funkčních bloků

Jazyk funkčních bloků má následující silné stránky.

Je intuitivní a snadno se programuje. Protože jazyk funkčních bloků je grafický, návrháři systémů mohou snadno pochopit a programovat řídicí logiku bez nutnosti rozsáhlého školení. To je praktické pro odborníky v dané sféře, kteří nemusejí být zběhlí v psaní specifických řídicích algoritmů v textových jazycích, ale chápou logiku řídicího algoritmu. Mohou využívat stávající funkční bloky pro snadné vytváření programů pro pořizování a zpracování dat a diskrétní řízení.

Rozsáhlé možnosti opětovného používání programového kódu. Jedním z hlavních přínosů funkčních bloků je opětovné používání programového kódu. Jak již bylo uvedeno, návrháři systémů mohou používat stávající funkční bloky, jako jsou PID a filtry, pro zapouzdření zákaznické logiky a snadné opětovné používání tohoto kódu v rámci programů. Vzhledem k tomu, že se při každém vyvolání těchto funkčních bloků vytvoří samostatné kopie, návrháři systémů neriskují nechtěné přepsání dat. Funkční bloky lze vyvolávat také z liniových schémat a dokonce i textových jazyků, jako je například strukturovaný text, a proto jsou vysoce přenositelné mezi různými výpočetními modely.

Paralelní provádění. Díky uvedení multiprocesorových systémů mohou nyní programovatelné řídicí automaty a osobní počítače provádět několik funkcí zároveň. Grafické programovací jazyky, jako je jazyk funkčních bloků, mohou účinně reprezentovat logiku paralelního zpracování. Zatímco programátoři textových jazyků používají pro paralelní zpracování specifické knihovny pro vytváření toků a časování, jazyk funkčních bloků a jazyky datových toků (např. LabView společnosti National Instruments) mohou automaticky provádět paralelní funkční bloky v různých tocích. To je užitečné v aplikacích vyžadujících pokročilé řízení, včetně několika paralelních regulátorů PID.

Sledovatelnost provádění a snadné ladění. Grafické znázornění toku dat v jazyce funkčních bloků umožňuje snadné ladění, protože návrháři systémů mohou procházet po spojích mezi funkcemi a funkčními bloky. Mnoho programových editorů jazyka funkčních bloků (např. Step 7 společnosti Siemens) nabízí také animaci ukazující tok dat, a tím ladění ještě více usnadňují.

Slabiny jazyka funkčních bloků

Níže jsou uvedeny některé slabiny jazyka funkčních bloků.

Vývoj algoritmu. Nízkoúrovňové funkce a matematické algoritmy jsou tradičně zastoupeny textovými funkcemi; dokonce i algoritmy pro funkční bloky jsou psány pomocí textového programování. Funkční bloky navíc abstrahují od složitosti algoritmu, a pro odborníky v příslušné sféře je proto těžké dozvědět se podrobnosti pokročilého řízení a technik zpracování signálu.

Omezené řízení provádění. Provádění sítě FBD probíhá zleva doprava a je vhodné pro spojité chování. I když návrháři systémů mohou provádění sítě řídit pomocí konstruktů „skoku“ a využíváním datové závislosti mezi dvěma funkčními bloky, FBD nejsou ideální pro řešení problémů sekvenčního řazení. Například přechod ze stavu „plnění nádrže“ do stavu „míchání nádrže“ vyžaduje vyhodnocení všech současných stavů. V závislosti na výstupu se musí před přechodem na další stav provést přechodová akce. I když toho lze dosáhnout pomocí datové závislosti funkčních bloků, může toto sekvenční řazení vyžadovat značný čas a úsilí.

Integrace IT. S tím, jak podniky stále více hledají způsoby propojení základní řídicí úrovně moderních závodů s podnikem, se připojení k internetu a databázím stalo mimořádně důležité. Zatímco textové programy disponují schopností databázového protokolování a funkcemi kontroly zdrojového kódu, jazyky funkčních bloků obecně nelze s IT systémy nativně integrovat. IT manažeři jsou navíc školeni pouze v textovém programování.

Potřeba školení. I když je datový tok intuitivní, běžně se jako výpočetní model nevyučuje. Ve Spojených státech se inženýři učí používat textové jazyky, jako je C++, Fortran a Visual Basic a technici jsou školeni v oblasti liniových schémat a elektrických obvodů. Jazyky funkčních bloků vyžadují dodatečné školení, protože představují nový přístup při psaní řídicího programu.

Jazyky funkčních bloků jsou grafickou reprezentací řídicího programu a jsou programovacím modelem datových toků. Díky své intuitivnosti, snadnosti používání a možnosti opětovného používání programového kódu jsou jazyky funkčních bloků u techniků velmi oblíbené. Jazyky funkčních bloků jsou ideální pro složité aplikace s paralelním prováděním a pro průběžné zpracování. Také účinně napravují nedostatky liniových schémat, jako je zapouzdření a opětovné používání programového kódu. Pro překonání některých jejich slabých stránek museli technici používat smíšené výpočetní modely. Jazyky funkčních bloků se používají ve spojení s textovým programováním pro psaní algoritmů a integraci do IT. Dávkové a diskrétní operace jsou zdokonaleny pomocí sekvenčních funkčních grafů. Výpočetní model sekvenčních funkčních grafů řeší některé problémy, s nimiž se potýká jazyk funkčních bloků, a budeme se jím zabývat ve čtvrtém dílu tohoto pětidílného seriálu.

Arun Veeramani je produktový manažer a Todd
Walter skupinový manažer společnosti National
Instruments,
www.ni.com.

 

 


Sponzorované odkazy

 
Aktuální vydání
Reklama

Navštivte rovněž

  •   Události  
  •   Katalog  

Události

Trendy v robotizaci 2020
2020-01-28 - 2020-01-30
Místo: Best Western Premier / Avanti, Brno
DIAGO 2020
2020-01-28 - 2020-01-29
Místo: Orea Resort Devět Skal ***, Sněžné - Milovy
Trendy automobilové logistiky 2020
2020-02-20 - 2020-02-20
Místo: Parkhotel Plzeň
Úspory v průmyslu
2020-03-03 - 2020-03-03
Místo: Ostrava
AMPER TOUR 2020
2020-03-17 - 2020-03-19
Místo: Brno

Katalog

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

EWWH, s. r. o.
EWWH, s. r. o.
Hornoměcholupská 68
102 00 Praha 10
tel. 734 823 339

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

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

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-2019 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