Aktuální vydání

celé číslo

08

2018

MSV 2018 v Brně

celé číslo

Směrnice PLCopen pro vývoj softwaru s využitím SFC

Přestože jsou k dispozici normy a směrnice vztahující se k běžným programovacím jazykům, v důležité oblasti programování průmyslového řízení příslušné předpisy téměř neexistují. Výjimkou je norma IEC 61131-3, obsahující programovací jazyky, a její dodatky od instituce PLCopen. Nicméně průmyslový software nabývá na stále větším významu, projekty jsou stále rozsáhlejší a náklady na odstranění případných chyb rostou. V současné době software představuje více než polovinu investičních nákladů projektu a stojí za 40 až 80 % nákladů na údržbu v průběhu svého životního cyklu. Pro zvládnutí složitosti rozsáhlých programů jsou třeba moderní nástroje pro podporu procesu vývoje softwaru a strukturovaný přístup. Je nutné implementovat univerzálně využitelný kód. Je rovněž zapotřebí zvýšit efektivitu programování pomocí již vytvořených či předem definovaných funkcí, aby bylo snazší porozumět programu v jakémkoliv okamžiku jeho životního cyklu.

Z uvedených důvodů organizace PLCopen v roce 2015 zahájila iniciativu k sestavení směrnic pro vývoj softwaru. Do dnešního dne tato snaha vyústila do publikace dvou dokumentů:

  • směrnice pro programování PLC Coding Guidelines, vydané v roce 2016,
  • knihovny kompatibilní se směrnicemi PLCopen, vydané v roce 2017.

Třetí dokument Tvorba struktury programu pomocí sekvenčních funkčních grafů: doporučení a omezení je nyní vydáván ve verzi 1.0.

Tento dokument vysvětluje výhody sekvenčních funkčních grafů (SFC). Jde o velmi názorný grafický formalismus standardu IEC 61131-3. Nejde však o programovací jazyk, neboť tento formalismus potřebuje další jazyky k vyjádření přechodových podmínek a definování událostí.

SFC poskytuje prostředky pro rozdělení uspořádané jednotky programu PLC do sady kroků a přechodů propojených směrovanými odkazy. S každým krokem je spojena sada událostí (aktivit) a s každým přechodem je spojena přechodová podmínka. Jelikož prvky SFC vyžadují kapacitu pro ukládání informací o stavu systému, jediná takto strukturovatelná uspořádaná jednotka programu představuje funkční bloky a programy (nikoliv funkce samotné).

Je-li jakákoliv část uspořádané jednotky programu rozdělena do prvků SFC, měla by takto být rozdělena celá uspořádaná jednotka programu. Není-li naopak pro uspořádanou jednotku programu definováno rozdělení SFC, musí být celá uspořádaná jednotka programu považována za singulární událost, která je prováděna v rámci řízení volající entitou.

Má-li být kdekoliv řízen sekvenční proces, SFC je možné považovat za nejvhodnější způsob strukturování interního uspořádání jednotky programu tehdy:

  • skládá-li se proces z několika kroků, které mají být v čase vykonány v určitém pořadí za sebou (např. montážní proces), SFC může být použito k mapování různých fází procesu (montáže) coby jednotlivých kroků a strukturování procesu jako sekvence těchto kroků,
  • může-li být proces modelován jako stavový stroj, mohou být jeho stavy mapovány jako jednotlivé kroky a změna jednoho stavu na jiný může být strukturována jako přechod,
  • SFC vytváří strukturu interní uspořádané jednotky programu a pomáhá tak dekomponovat a zvládat obecný problém po jednotlivých částech, přičemž je zachován celkový jeho přehled.

Příslušný dokument lze stáhnout ve formátu pfd z webových stránek organizace PLCopen (http://www.plcopen.org/).

[Tisková zpráva PLCopen, srpen 2018.]

 

(Jiří Hloska)