Aktuální vydání

celé číslo

06

2018

Systémy strojového vidění

Výrobní a montážní linky

celé číslo

Řešení problematiky virtualizace systémů SCADA/HMI

Průmysl, tak jako jiná odvětví hospodářství, hojně využívá počítačové systémy, nejenom pro efektivnější kancelářskou práci, ale i přímo ve výrobě. Využití ve výrobě začínalo u řízení jednotlivých strojů z důvodu zvýšení efektivity a spolehlivosti. Postupně byly systémy integrovány a vznikaly celé úseky řízené počítači. Lidé se tak dostali do situace, kdy si bez využití počítačů chod podniku nedokážou představit. Tento vývoj trval desítky let a dnes se odborníci ocitají na prahu další velké změny architektury těchto počítačových systémů.

 

Současný stav průmyslových počítačových systémů

V současné době je struktura průmyslových řídicích počítačových systémů postavena na fyzickém počítači – serveru – v úloze hlavního prvku nesoucího řídicí aplikaci a na dalším fyzickém počítači – operátorské stanici – v úloze nástroje umožňujícího zásah do řízení a jeho sledování. Tato struktura se používá už dlouhá léta a ani s příchodem moderního počítačového hardwaru a operačních systémů se na ní nic zásadního nezměnilo. Při bližším pohledu lze zjistit, že má několik kritických, v dnešní době již překonaných prvků.
 
Hlavní řídicí počítač neboli server je obvykle jeden konkrétní kus fyzického hardwaru, na kterém je instalován operační systém a následně řídicí systém, ve své podstatě program anebo skupina programů. V tomto případě je nutné si uvědomit, že vzniká řetězec na sobě závislých jednotlivých základních prvků. Tyto prvky – fyzický hardware, operační systém, podpůrné programy a řídicí systém, jsou svázány prostřednictvím tabulek vzájemné kompatibility. Výpadek jednoho článku obvykle znamená změny v podstatné části řetězce a ve značném počtu případů i změny ve všech prvcích. To lze v praxi ilustrovat následujícím příkladem.
 
Po letech bezproblémového fungování nastane porucha hardwaru výrobního serveru. Vzhledem k jeho věku (pět až osm let) náhradní díly, které jsou roky připraveny ve skříni, po jejich zapojení nefungují. Následně se zjistí, že již není možné obstarat vhodné díly a že je nutné použít nový, modernější hardware. Záhy se ukáže, že starý operační systém (základní program, bez kterého nemůže systém pracovat) není možné na novém serveru použít a musí být taktéž vyměněn za modernější. Po nahlédnutí do tabulky kompatibility se ukáže, že podpůrné programy, jako např. dosavadní databázové systémy, pod novým operačním systémem také nepracují a že je nutné použít jejich aktuální verze. Zanedlouho se stejná situace opakuje i u řídicího softwaru a u aplikací pro něj napsaných. Tato situace se rozšíří i na operátorské a inženýrské stanice. Ve výsledku mnohdy i celkem nevinná porucha hardwaru znamená nejenom investici řádově desítek až stovek tisíc korun do nákupu nového hardwaru, další obdobné investice do licencí pro nový operační systém, ale také nemalé náklady spojené s úpravami většiny aplikací implementovaných v rámci zajištění funkcí řídicího systému a s jejich adaptací na nové prostředí. V praxi nejsou výjimkou případy, kdy finanční náročnost takovýchto nezbytných tzv. trouble-shooting kroků přesahuje milionové sumy, nehledě navíc k časovým nárokům spojeným s plnou obnovou výchozího provozního stavu.
 
Příčinou celé této problematické situace je velká závislost průmyslových aplikací na nosném softwaru, a tudíž i na hardwaru. Za hlavní faktory, které tuto závislost způsobují, lze přitom považovat dvě skutečnosti.
 
Tou první je velká setrvačnost výrobních technologií a v důsledku toho pomalá změna jader jejich řídicích aplikací. Druhým faktem je změna pohledu na hardware. Zatímco před dvaceti lety byl počítačový hardware brán jako etalon spolehlivosti, hned za trubkou z korozivzdorné oceli, dnes je situace jiná. Tlak na jednotlivá odvětví hospodářství, aby vyhověla kritériím neustálého růstu produkce, do značné míry odsunul do pozadí důraz na užití a spolehlivost výrobních řídicích systémů minimálně ve střednědobém výhledu. Například banky nebo hostingové firmy mění hardware každé tři roky, což je ale v průmyslu za nynější situace nemyslitelné. Nejenom v kritických oblastech, ale i v běžných výrobách trvá proces vybudování nové aplikace nebo přechodu na novou verzi několik měsíců, což by mj. znamenalo, že značnou část svého života by řídicí systém strávil v neproduktivním režimu.
 
Na první pohled se zdá, že tak vznikla bezvýchodná situace. Přesto však se jedna možnost nabízí. Tou je standardizace hardwaru. Kdyby bylo možné disponovat hardwarem neměnícím se v čase, nenastával by problém s ovladači pro neaktuální operační systémy, a nebylo by tedy třeba nic měnit ani na vyšších úrovních. Vzhledem k velkému počtu různých výrobců snažících se inovacemi si naklonit zákazníky na svou stranu se takováto myšlenka na první pohled jevila jako utopická. Nicméně koncept standardizovaného hardwaru se, jakoby zázrakem, stal vedlejším produktem jiné převratné myšlenky –
virtualizace počítačových systémů.
 

Teorie virtualizace

Podstatou plné virtualizace počítačových systémů je oddělení vrstvy operačního systému a aplikací od fyzického hardwaru. Toho se dosahuje vytvořením simulovaného prostředí, též možno říci virtuálního hardwaru, který je jednotný pro všechny systémy. Tato myšlenka je realizována za použití kombinace specializovaného softwaru a hardwaru. Myšlenka virtualizace není nová. Její historie sahá až do 60. let minulého století ke společnosti IBM a jejímu systému IBM System/360-67 s operačním systémem IBM CP-40. Dlouhou dobu bylo využívání virtualizace omezeno na specializované sálové počítače, které ve velkých firmách sloužily současně velkému množství lidí, a virtualizace byla metodou, jak zaručit efektivitu a zabezpečení těchto počítačů. Změna přišla na přelomu tisíciletí uvedením prvních nástrojů pro počítače postavené na běžně používané architektuře x86. Přidáním akceleračních funkcí do procesorů vzrostla efektivita virtuálních systémů a ty se staly efektivnějšími než standardní implementace. K tomu však ve velké míře přispěla i skutečnost, že v komerční sféře zaostává poptávka po výkonu procesorů za jejich skutečnými možnostmi.
 
Základem virtuální infrastruktury je skupina serverů, diskových úložišť a síťových prvků. Tento systém se po instalaci virtualizačních hypervizorů stává nosním systémem pro virtuální počítače. Tyto virtuální počítače se podle potřeby mohou stát aplikačními servery, operátorskými stanicemi nebo zastat jakoukoliv jinou funkci podobně jako fyzické počítače. K jádru systému jsou připojovány přístupové terminály, zálohovací zařízení, popř. záložní servery mimo hlavní strukturu. Jednotlivé komponenty systému ukazuje obr. 1, kde jednotlivé prvky plní tyto úkoly:
  • servery – jsou základním zdrojem výpočetního výkonu a zabezpečují běh virtuálních počítačů,
  • disková úložiště – nahrazují samostatné diskové jednotky v serverech a umožňují použití dat (virtuálních počítačů) celým systémem serverů současně,
  • síťové prvky – zabezpečují propojení jednotlivých zařízení mezi sebou a zároveň s vnějším světem,
  • terminály – umožňují přístup k virtuálním počítačům,
  • virtuální prostředí – je software, který zabezpečuje běh virtuálních počítačů,
  • produkční síť – je současná komunikační síť propojující průmyslové počítače přímo ve výrobě.
 
Vzhledem ke koncentraci velkého množství systémů je vhodné použít větší množství méně výkonných prvků, aby bylo omezeno ohrožení systému poruchou hardwaru.
 

Zavedení do průmyslové praxe

Virtualizace se už v mnoha oblastech plně uplatnila a vytlačila klasickou strukturu, kde jeden fyzický počítač fungoval jako samostatná jednotka nesoucí operační systém a soubor aplikací. Průmyslová výroba je však specifická oblast, která se chová konzervativně. Nové trendy sem pronikají jen velmi pomalu. V současné době je stav počítačových systémů nesoucích řídicí aplikace kritický. Existuje velké množství systémů, které jsou za hranicí své bezpečné životnosti. Při poruše jsou podniky postaveny před úlohu náhrady hardwaru, který již není standardně dostupný. Toto v mnoha případech vede až k nutnosti dodávky nového softwaru včetně licencí a vytvoření nových řídicích aplikací. Virtualizace je tedy jedním z možných řešení uvedené složité situace základního nosného systému pro řídicí software.
 
Je možné popsat tři základní způsoby přechodu od standardní struktury k virtualizované:
  • stavba nového systému,
  • rekonstrukce dosavadního systému,
  • akutní servisní zásah.
 

Stavba nového systému

Stavba nového řídicího systému, popř. celého nového technologického celku, je ideální příležitostí pro zavedení virtualizace. V takovémto případě je totiž možné počítat s virtualizací již při návrhu a využít specifika tohoto řešení pro dosažení vyšší spolehlivosti a jednoduchosti, než by tomu bylo u řešení klasického. Tento přístup umožní efektivně nahradit složitý hardware ve výrobních prostorách jednoduchými terminály a hardware přemístit do bezpečných prostor s definovaným a kontrolovaným prostředím. Další výhodou je univerzálnost vytvořeného systému, která umožňuje vyměnit porouchaný nebo zastaralý hardware, potažmo i virtualizovaný software za nový bez vlivu na řídicí systém. Jistou nevýhodou tohoto řešení je omezení na využití komunikačních sítí na bázi Ethernetu, které jsou dnes ale běžným standardem. Navržený systém se vyznačuje:
 
Centralizací – ta zjednoduší ochranu výrobních serverů a operátorských stanic před nežádoucími vlivy prostředí, jako jsou vysoká teplota, prašnost, vlhkost nebo vlivy koroze. Zároveň umožní jednoduché a efektivní zálohování.
 
Jednoduchou údržbou, která se projeví hlavně na straně operátorských pracovišť. Při poruše terminálu je možná jeho výměna za několik minut, maximálně za několik desítek minut, a to i neodborným personálem. Údržba jádra systému je taktéž nenáročná a lze ji realizovat v rámci základní údržby a servisu. Případné poruchy provozuschopnost systému neohrozí, neboť ten je sám o sobě v důsledku uplatnění základních principů návrhu dostatečně robustní. To mj. ve velké většině případů poskytuje dostatek času na odborný servisní zásah bez zastavení výroby.
 
Škálovatelností – ta vyplývá ze základní struktury systému, která je postavena na univerzálních prvcích. Jejich přidáváním je možné měnit výkon a robustnost systému v době implementace nebo kdykoliv v životním cyklu. Měnit velikost systému lze standardně během provozu systému bez nutnosti přerušit jeho chod.
 

Rekonstrukce dosavadního systému

Rekonstrukce poskytuje podobné možnosti jako stavba nového systému. Je však nutné myslet na některá omezení. Příklady mohou být komunikační sítě, zastaralost podpůrného softwaru spojeného s řídicími systémy nebo problémem může být i licenční politika dosavadního softwaru. Po vyřešení prvotních úskalí však nic nebrání používání tohoto systému a jeho budoucímu využití při sestavování návrhu systému nového. Zavedení řídicích systémů může být dvojího typu:
  • reinstalace systému ve virtuálním prostředí
  • doporučená varianta,
  • virtualizace existujících počítačů – postup využíván v případě, že reinstalace není z různých důvodů možná nebo je neúměrně náročná.
 
V reálných projektech se obyčejně vyskytuje kombinace těchto postupů.
 

Akutní servisní zásah

V současné době se lze stále často setkat s případy poruchy fyzického serveru, na kterém více než pět let běžel systém řídící technologické zařízení. Systém je však tak zastaralý, že není možný standardní servis nebo náhrada počítače jeho ekvivalentem a přesun na nový server je nemožný. Východiskem z této situace může být provizorní virtualizace původního serveru. Tento postup zpravidla bývá úspěšný a umožní fungování systému až do vytvoření adekvátní náhrady. Neměl by však být využíván jako dlouhodobé řešení.
 

Důvody zavedení virtualizace

Existuje mnoho důvodů pro zavedení virtualizace jako základní nosné struktury pro řídicí systémy ve výrobě. Za všechny je dobré zmínit alespoň tři zásadní. Vyšší spolehlivosti je dosaženo použitím více základních prvků, mezi kterými je možné úlohy řídicího systému přesouvat za běhu bez vlivu na celkovou funkci. S tím souvisí i možnost okamžité obnovy systému po poruše hardwaru. Snadnější údržba vyplývá ze složení systému z několika na sobě nezávislých prvků, přičemž pro správnou funkci nejsou potřebné všechny současně. Proto je možné vypnout část systému, provést údržbu, znova ji uvést do chodu
a pokračovat dále. Nezávislost nebo malá závislost jednotlivých komponent navzájem jsou zároveň spojeny s možností postupné obměny hardwarového základu, což prodlužuje životní cyklus řídicího systému. Nevznikají náklady za nový řídicí systém a většinu softwarových licencí a zůstávají převážně jenom náklady na nový hardware.
 
S využitím virtualizace v průmyslu se dlouhou dobu čekalo hlavně z důvodu chybějící podpory největšími výrobci automatizační techniky. Tato nezbytná podmínka je však ve většině případů již splněna. V současné době je virtualizace implementována hlavně jako součást plánované obnovy výrobních zařízení.
 

Spolehlivost

Spolehlivost je jedna z hlavních oblastí, na kterou je ve virtualizovaných systémech nahlíženo jinak. Základní skutečností, která formuje tento pohled, je nezávislost aplikací na hardwaru. V systémech s klasickou architekturou, postavenou na fyzickém hardwaru, znamenala porucha jednoho serveru výpadek služby, kterou tento server poskytoval. Doba výpadku byla plně závislá na dostupnosti konkrétních náhradních dílů a kvalitě a obsahu záloh systému. V nejoptimističtějším případě funkci přebral identický záložní server, který byl za běžného stavu s porouchaným synchronizován. Tato varianta však v mnoha průmyslových systémech buď nebyla technicky možná, nebo nebyla z různých (hlavně finančních) důvodů realizována. Takže obvykle bylo možné za největší úspěch považovat vytáhnutí identického počítače ze skříně, obnovení plné zálohy, popř. použití pevných disků porouchaného počítače, a pokračování ve výrobě. Reálně ale situace nebyla tak jednoduchá. Buď byly záložní počítače v mnoha případech po dlouholetém stání ve skříni v podstatě nefunkční, anebo se nepodařilo obnovit zálohu systému (jestliže vůbec existovala). Takže na pomoc přicházely rychlé rekonstrukce z nulového stavu podle dokumentace, popř. bylo nutné požádat původního dodavatele o zálohy z jeho archivu. Je jasné, že v obou případech byla doba odstávky nebo omezené funkčnosti zasaženého systému dlouhá (minimálně jednotky dní), a nebylo výjimkou, že se systém podařilo uvést do plného provozu až po týdnech tvrdé práce.
 
Virtualizace přináší úplně nové možnosti. Vložením vrstvy abstrakce hardwaru je v podstatě zrušena závislost řídicího systému na konkrétním fyzickém serveru. Toto má dva důsledky. Prvním z nich je možnost rychle vyměnit porouchaný fyzický server za nový. V tomto případě jsou ze zde uváděného pohledu kladeny jenom minimální požadavky na kompatibilitu s virtualizačním prostředím a dostatečný výkon. To v praxi znamená, že je možné rychle sehnat téměř jakýkoliv server, který má dodavatel skladem. Druhým důsledkem je možnost vystačit si s původním funkčním hardwarem. Zde je zapotřebí splnit jen dvě jednoduché podmínky – musí existovat funkční instance virtuálního počítače, který byl spuštěn na porouchaném serveru, a musí být dostatek volných výpočetních zdrojů ve fungujícím zbytku prostředí. První podmínka může být splněna dvěma způsoby, buď existencí společného diskového systému, nebo existující zálohou. Druhá podmínka je zase otázkou správného návrhu systému. Mohlo by se zdát, že nadbytečné zdroje systém prodražují, ale na jedné straně je jejich cena minimální, na straně druhé v klasickém prostředí je plýtvání výpočetními zdroji daleko větší. U virtuálního systému je však nutné poznamenat, že nejde o plýtvání v pravém slova smyslu, protože prostředky nejsou vázány na aplikaci, která je nepotřebuje, ale jsou využitelné obecně, např. při poruše.
 
Klasickou situaci ilustruje obr. 2, na němž je možné vidět, jak porucha fyzického serveru zapříčiní nedostupnost aplikace. Poruchu ve virtuálním prostředí ukazuje obr. 3, na kterém je znázorněna rekonfigurace virtualizovaného prostředí podle aktuálních potřeb.
 
Další kapitolou v oblasti spolehlivosti je omezení doby, kterou řídicí systém stráví v nefunkčním stavu. Jak v klasickém, tak ve virtuálním prostředí existuje několik metod, které umožnují zkrátit tuto dobu. Vychází se z toho, že základní možností je rychlá výměna porouchaného hardwaru.
 
První metodou je řešení dostupnosti systému na úrovni aplikace. Výhodou této metody je, že může řešit i chyby aplikačních dat. Nevýhodou je ale nedostupnost u běžně používaného softwaru nebo vysoká cena této služby. Princip ilustruje obr. 4.
 
Dalším možným přístupem je řešení pomocí specializované aplikace běžící na nízké úrovni, avšak stále paralelně s řídicím systémem na operačním systému. Úlohou tohoto softwaru je synchronní nebo obvykleji asynchronní replikace systému. Tento přístup má jedno velké omezení – nutnost podpory ze strany aplikace řídicího systému. Vzhledem ke specifickým vlastnostem výrobních řídicích systémů je použití této metody v praxi vyloučeno. Nastávají problémy s dostupností komunikačních rozhraní a problémy dané nekonzistencí aplikačních dat. Princip této služby zobrazuje obr. 5.
 
Virtuální prostředí zde nabízí také nové možnosti v podobě přístupu k řídicímu systému na úrovni hardwaru jeho virtuálního hostitele. To umožňuje mít neustále k dispozici virtuální počítač v aktuálním stavu, který je možné okamžitě spustit na jiném fyzickém hardwaru. Tento případ ukazuje obr. 6. Možnosti virtualizace zde ale nekončí. Dalším stupněm je udržování úplné bitové kopie virtuálního počítače. Uplatnění zmíněné funkce prozatím naráželo na mnohá omezení, která nedovolovala její efektivní použití, v současné době se ale dostává do produkční verze s mnohem volnějšími podmínkami a bude ji možné v nejbližším čase zavést i ve výrobních prostředích.
 

Závěr

Závěrem je tedy možné shrnout, že v oblasti počítačových systémů se objevila nová skupina postupů a technik – virtualizace. Ta formou prodloužení životního cyklu řídicích systémů a zmírněním požadavků na počítačový hardware přináší zásadní zvýšení efektivity a spolehlivosti řídicích systémů, a to při souběžném snížení investičních, modernizačních i provozních nákladů.
 
Metoda virtualizace je v jiných oblastech používána již několik let. V poslední době se stala dostatečně vyzrálou i pro uplatnění ve výrobních prostředích v průmyslu. V praxi bylo úspěšně ověřeno několik metod přechodu od původních struktur, postavených na fyzických serverech, na struktury virtuální. Z funkčního hlediska se jako nejvhodnější jeví realizace nového virtualizovaného řídicího systému, ověřená je však i cesta virtualizace systému stávajícího. V obou případech lze cestou zefektivnění zálohování výrazně zvýšit provozní spolehlivost, zjednodušit údržbu a umožnit i snadnější a výrobně konformnější budoucí rozšiřování.
Miroslav Kiš, SIDAT, spol. s r. o., Praha 
Obr. 1. Struktura virtualizačního systému
Obr. 2. Porucha hardwaru v klasickém fyzickém prostředí
Obr. 3. Porucha hardwaru ve virtualizovaném prostředí
Obr. 4. Řešení dostupnosti na úrovni aplikace
Obr. 5. Řešení dostupnosti na úrovni operačního systému
Obr. 6. Řešení dostupnosti na úrovni virtuálního hardwaru