Použití programovacích jazyků IEC 61131-3 pro simulaci

Obrázek 1: Návrh řízení lze implementovat v Codesys CFC. Obrázky poskytla společnost Control-Sphere Obrázek 1: Návrh řízení lze implementovat v Codesys CFC. Obrázky poskytla společnost Control-Sphere

Podívejte se na pět přínosů simulace. Pomocí programovacích jazyků IEC 61131-3 a moderních programovacích nástrojů můžete snadno integrovat simulaci do pracovního toku vývoje.

Simulovat, nebo nesimulovat? Toť otázka. Je důstojnější (nebo přinejmenším efektivnější) strávit čas vytvářením simulačních modelů a testováním návrhu před zavedením, nebo strávit čas testováním návrhu během zavádění?

I když nemůžu mluvit za Shakespeara, mohu říci, že v mé téměř 40leté kariéře bylo vždy efektivnější doladit návrh před jeho zavedením. Úspěšně jsem aplikoval simulaci na aplikace zahrnující mnoho různých typů systémů průmyslového řízení (Industrial Controls – IC), návrhy desek elektronických tištěných spojů (PCB) a návrhy programovatelných hradlových polí (FPGA).

Pět přínosů simulace

Simulace se mnohonásobně vyplatí díky těmto aspektům:

  1. simulační modely poskytují poznatky, které nelze měřit nebo pozorovat ve skutečném závodě nebo zařízení;
  2. schopnost určit výhody alternativních přístupů a zvolit variantu s nejnižšími celkovými náklady nebo nejlepším celkovým výkonem;
  3. schopnost testovat nouzové a neobvyklé podmínky, které je nemožné nebo nebezpečné navodit u skutečných zařízení;
  4. vysoká míra důvěry v návrh, která poskytuje odpovídající jistotu, že jakékoli problémy, s nimiž se setkáte při uvádění do provozu, musí být v závodu nebo vybavení;
  5. schopnost vyladit řízení paralelně s výstavbou závodu nebo zařízení (a vyhnout se nevyhnutelnému tlaku ze strany úzkostlivého projektového manažera, který chce zpoždění vzniklá v dřívějších fázích projektu dohnat u aktérů na konci kritické cesty).

Tato návratnost investice (ROI) je ještě větší s moderním vývojovým a simulačním prostředím, jež zahrnuje metody objektově orientovaného průmyslového programování (OOIP) pro urychlení vývoje a pokročilé funkce ladění, které zkracují dobu potřebnou pro získání přehledu o situaci. Metody OOIP jsou popsány v předchozím článku.

Prvky silné simulace

Vlastnosti dobrého simulačního prostředí pro průmyslové řízení vypadají velmi podobně jako u dobrého vývojového prostředí pro průmyslové řízení:

  • univerzální a výkonné programovací jazyky;
  • plně vybavené jazykové editory;
  • plná sada nástrojů pro ladění, včetně kódových a datových bodů, postupu po jednom kroku, kroku dovnitř, kroku ven atd., živého režimu (pro zobrazení okamžitých hodnot proměnných, nikoli pouze hodnot na konci cyklu), zápisu a vynucení proměnných a přesunu prováděcího bodu a virtuálního digitálního osciloskopu, který vzorkuje v době cyklu řídicího prvku;
  • zabudované rozhraní HMI pro vytváření zkušebních řídicích panelů;
  • kompletní běhové prostředí (runtime) řídicího prvku, které běží jako služba ve vývojovém počítači;
  • podpora OOIP.

Vytváření simulačního kódu v takovém prostředí je stejně snadné jako vytváření původního kódu a může běžet jako softwarový programovatelný automat (PLC), což je stejné, plně funkční běhové prostředí, které výrobci OEM průmyslových řídicích prvků využívají ve svém hardwaru. Toto běhové prostředí je nainstalováno jako služba Microsoft Windows nezávisle na vývojovém prostředí. Řídicí kód je vytvořený a zkompilovaný v integrovaném vývojovém prostředí (Integrated Development Environment – IDE) a nasazený do tohoto běhového prostředí stejným způsobem, jako je tomu u PLC nebo distribuovaného řídicího systému (Distributed Control System – DCS).

Příklad reaktorové nádrže

Zvažme příklad jednoduché reaktorové nádrže s výstupním čerpadlem s proměnlivou rychlostí pro udržení hladiny kapaliny na nastavené výšce (bez ohledu na vstupní průtok). Koncepty mohou být extrapolovány na větší systémy a další průmyslová odvětví.

Prvním krokem je návrh řídicího systému. Pomocí metod OOIP vytvořte instanci čtyř objektů z knihovny objektů zařízení: analogový vstup pro výšku hladiny v nádrži, odečítání pro žádanou hodnotu, smyčku PID pro řízení a frekvenční měnič (VFD) pro motor čerpadla, jak je znázorněno na obrázku 1.

Při použití metod OOIP jsou všechny zbývající funkce zapouzdřeny v těchto objektech, což je škálování a alarm pro analogový vstup a komunikace fieldbus pro VFD.

V tomto příkladu má zařízení nádrž, jejíž naplnění při 100% průtoku trvá 10 sekund, což odpovídá pólu při 0,0 Hz se ziskem 1/(10*2_f). Pro šířku pásma smyčky 1,0 Hz použijte proporcionální zesílení 10*2_, jak je znázorněno na obrázku 1. To poskytuje fázovou rezervu téměř 90 stupňů a vysokou stabilitu.

Dalším krokem je návrh simulátoru závodu. Forma programu simulátoru odráží řízení, včetně vstupu VFD, modelu nádrže a objektu analogového výstupu, které všechny pocházejí z knihovny objektů simulace.

Každý objekt opět zapouzdřuje všechny funkce nezbytné k provádění funkce objektu. Nádrž například integruje rozdíl mezi vstupním průtokem a výstupním průtokem a omezuje integraci na plnou nádrž nebo prázdnou nádrž, jak je znázorněno na obrázku 2. Model nádrže je příkladem toho, jak jednoduché je vytvořit simulační objekty, a potažmo i příkladem jednoduchosti přidávání simulace do pracovního toku.

CTL1904 MAG2 F3 Simulation ControlSphere x3 Tank SimulatorObrázek 2: Simulátor nádrže (TANK_SIM): nádrž integruje rozdíl mezi vstupním průtokem a výstupním průtokem a omezuje integraci na plnou nádrž nebo prázdnou nádrž

V příkladu jsou konfigurační vstupy a mapování I/O v řídicích a simulačních programech pevně kódovány. Při větším návrhu OOIP by to bylo konfigurováno z centrálního SQL serveru nebo CSV souboru tak, aby mohl být návrh znovu použit. (Článek v internetové verzi časopisu poskytuje více informací.)

Všimněte si, že vstupy simulátoru jsou mapovány na řídicí výstupy a výstupy simulátoru jsou mapovány na řídicí vstupy. Fyzický I/O je mapován stejným způsobem pomocí stejných názvů úplné cesty (tj. Control.OutletPump.Speed_FO).

Virtuální zkušební stolice

Dalším krokem je vytvoření zkušební stolice. Stejně jako fyzická zkušební stolice, ze které byl název odvozen, nabízí i virtuální zkušební stolice všechny vstupy, které systém potřebuje, včetně vstupů předchozího procesu, vstupů obsluhy a vstupů konfigurace. Tyto procesní vstupy mohou být generovány z obrazovky HMI pro ruční testování nebo z programu pro automatizované testování. Podobně mohou být vstupy HMI programově generovány pro automatizovaný test nebo mohou být generovány ze skutečných obrazovek HMI (v takovém případě by mohl simulační systém plnit i další funkci jakožto nástroj pro školení obsluhy zařízení). Tento příklad generuje podnět programově pomocí sekvenčního funkčního diagramu (Sequential Function Chart – SFC), který nejprve provede krokovou odezvu následovanou ustáleným stavem, jak je znázorněno na obrázku 3. Tento sekvenční funkční diagram také poskytuje možnost provést Bodeovu analýzu smyčky k nalezení pólů a nul řídicí smyčky.

CTL1904 MAG2 F3 Simulation ControlSphere x4 TestBenchObrázek 3: Zkušební stolici lze implementovat v Codesys SFC s ST vstupem a aktivními akcemi

Zkušební stolice může zahrnovat také programové měření a analýzu pro vytvoření automatizované zkušební stolice. Automatizovaná zkušební stolice zajišťuje, aby byl systém ověřen v několika scénářích, a umožňuje systému testovat se po všech budoucích úpravách. To platí zejména pro budoucí úpravy prováděné techniky, kteří nejsou tak dobře obeznámeni s původním návrhem systému.

CTL1904 MAG2 F3 Simulation ControlSphere x6 FirstOrderControlLoop Bode AnalysisObrázek 4: Vytvoření seznamu úkolů je součástí projektu simulace

Dalším krokem je umístění těchto objektů do úkolů, jak je znázorněno na obrázku 4. Ovládací prvek je přiřazen jeho normálnímu úkolu, v tomto případě s časem cyklu 20 ms. Vzhledem k tomu, že simulátor a zkušební stolice potřebují napodobit závod a operátora závodu, obojí běžící v reálném čase, je úkolu simulátoru přiřazena doba cyklu, která je mnohem rychlejší než úloha řízení. Aby se předešlo možným problémům se synchronizací, které by mohly maskovat potenciální problémy s řízením, je úkolu simulátoru přiřazena i neceločíselná alikvotní část rychlosti řídicí úlohy (3 ms).

Posledním krokem je stažení a spuštění programu na zabudovaném PLC na bázi softwaru.

Stejně jako u fyzické zkušební stolice se pro ověření správné funkce systému využívají různé měřicí přístroje. Jedním takovým virtuálním nástrojem je Bodeův analyzátor smyčky, který měří póly a nulové body řídicí smyčky stejně jako zesílení a fázovou rezervu. Tento přístroj je vložen do smyčky, jak je znázorněno na obrázku 7. To lze použít pro testování různých řídicích scénářů během simulace, stejně jako pro ověření a vyladění regulačních smyček ve skutečné továrně nebo ve skutečném závodě. Výsledky této analýzy ukazují přechodovou frekvenci 1,0 Hz a fázovou rezervu 82 stupňů, jak je znázorněno na obrázku 5.

CTL1904 MAG2 F3 Simulation ControlSphere x7 FirstOrderControl SteadyStateDynamicResponseObrázek 5: Bodeova analýza řídicí smyčky prvního řádu najde póly a nulové body řídicí smyčky

Dalším užitečným testovacím přístrojem je virtuální osciloskop, který ukazuje krokové a dynamické odezvy reaktorového systému, jak je znázorněno na obrázku 6. Je třeba poznamenat, že tento osciloskop běží na cílovém hardwaru, takže je zaručeno, že zachytí vzorek v každém cyklu, a to i v časech cyklu v řádu mikrosekund.

CTL1904 MAG2 F3 Simulation ControlSphere x7 FirstOrderControl SteadyStateDynamicResponseObrázek 6: Ustálený stav a dynamická odezva je zobrazena v Codesys Trace

CTL1904 MAG2 F3 Simulation ControlSphere x8 SecondOrderControlLoop BodeLoopAnalyzerObrázek 7: Bodeův analyzátor smyčky zobrazuje řídicí smyčku druhého řádu

Pokud by výkon této řídicí smyčky prvního řádu neodpovídal systémovým požadavkům, je možné rozšířit PID o pól na 0,0 Hz a nulový bod při 1,0 Hz, aby se zvýšila přesnost za cenu stability (což vyžaduje zmírnění), jak je znázorněno na obrázku 7. Tento systém druhého řádu nyní poskytuje mnohem vyšší zesílení smyčky a fázovou rezervu 37 stupňů a umožňuje mnohem lepší dynamickou odezvu v ustáleném stavu, což je zobrazeno na obrázku 8.

CTL1904 MAG2 F3 Simulation ControlSphere x10 SecondOrderControlLoop SteadyStateDynamicResponseObrázek 8: Ustálený stav a dynamická odezva řídicí smyčky druhého řádu mohou poskytovat vyšší zesílení smyčky

Dávkové a diskrétní procesy

Kromě kontinuálního procesu mohou být tyto metody aplikovány na dávkové a diskrétní procesy, stejně jako pro mobilní, vestavěnou nebo jinou průmyslovou automatizaci. Simulační modely byly vytvořeny pro dopravníky, stáčírny, suché šneky, systémy potrubí a ventilů a mnoho dalších aplikací. Téměř každý průmyslový proces může být dostatečně modelován tak, aby umožňoval simulaci.

Tento jednoduchý příklad prokázal, jaké vhledy lze získat pomocí simulace, jaké kompromisy je možno měřit a volit pomocí simulace, představil důvěru získanou simulací a cenný pokrok, který může simulace poskytnout ještě předtím, než bude k dispozici skutečný hardware. Tyto metody lze aplikovat na téměř všechny průmyslové aplikace a škálovat na systémy libovolné velikosti nebo složitosti. Jak by řekl Shakespeare: „Veliké dobro splaťte malým zlem.“ Schválil by použití simulace k dalšímu dosahování tohoto cíle.

Gary L. Pratt, PE, je prezident společnosti Control-Sphere. Upravil Mark T. Hoske, obsahový ředitel, Control Engineering, CFE Media, Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.

Control Engineering Česko

Control Engineering Česko je přední časopis o průmyslové automatizaci. Je vydáván v licenci amerického Control Engineering, které poskytuje novinky z této oblasti více než 60 let.

www.controlengcesko.com