Aktuální vydání

celé číslo

04

2022

veletrh Amper 2022
celé číslo

FuzzyDesigner – nástroj pro návrh a implementaci fuzzy systémů

číslo 6/2003

FuzzyDesigner – nástroj pro návrh a implementaci fuzzy systémů

Při návrhu řídicích systémů se lze setkat se situacemi, ve kterých je možné s výhodou využít známý popis chování řízeného objektu ve formě pravidel tvaru „jestliže ..., potom ...“. Převést znalosti vágně popsané v jazykové formě na matematická zobrazení umožňují prostřednictvím implikačních pravidel tzv. fuzzy systémy. Typickými příklady uvažované prezentace znalostí jsou jazykový popis závislostí mezi veličinami určitého systému, popis řídicí strategie či klasifikace objektů a situací do tříd, supervize stávajícího řídicího systému nebo beznárazové přepínání mezi několika řídicími strategiemi.

Obr. 1.

Navrhovat a implementovat fuzzy systémy umožňuje nový programový balík FuzzyDesigner verze 1.01, vyvinutý firmou ProTyS, a. s., který vznikl na základě dlouholetých teoretických i praktických zkušeností autorů všeobecně s  řídicí technikou a obzvláště s fuzzy systémy.

Návrh fuzzy systémů

FuzzyDesigner přináší nový přístup, kterým se odlišuje od jiných programových prostředí určených pro návrh fuzzy systémů – přístup založený na blokově orientované struktuře fuzzy systému. Návrhář skládá konkrétní řídicí systém „šitý na míru“ dané úloze z jednotlivých komponent knihovny, ze které lze jinak sestavit libovolný fuzzy systém. Díky této stavebnicové koncepci je možné vytvářet fuzzy systémy s hierarchickou vnitřní strukturou pravidel. Složitý fuzzy systém je tak rozložen na menší a jednodušší části, které se snáze navrhují a ladí. Zmenšuje se celkový počet pravidel a zlepšuje se přehlednost fuzzy systému jako celku. V programových prostředích, kde je každý fuzzy systém považován za uzavřenou komponentu se vstupy a výstupy, takový přístup není možný, což při návrhu složitého systému návrháře značně omezuje.

Každá komponenta programu FuzzyDesigner má svoji specifickou a nezaměnitelnou grafickou reprezentaci (obr. 1). Knihovnu tvoří komponenty vstupní port, výstupní port, vstupní jazyková proměnná, pravidlový blok, vnitřní jazyková proměnná, výstupní jazyková proměnná, PID regulátor a výstupní Takagi-Sugeno proměnná (obsahuje v závěrech pravidel místo fuzzy množin lineární funkce vstupních proměnných). Komponenta vstupní port umožňuje předem zpracovat signál s použitím předdefinovaného filtru nebo algoritmu zadaného uživatelem ve formě přenosové funkce.

Obr. 2.

Ukázka realizace fuzzy systému v prostředí FuzzyDesigner je na obr. 2.

FuzzyDesigner dovoluje číst i zapisovat ostré vstupní a výstupní hodnoty i fuzzy množiny v podobě seznamu zlomových bodů po částech lineárních funkcí příslušnosti. Funkce příslušnosti definované pro jednotlivé jazykové proměnné mohou být typů: lichoběžník, inverzní lichoběžník, S-křivka, inverzní S-křivka a singleton.

V programu FuzzyDesigner jsou podporovány dvě inferenční metody (Mamdaniho inference a inference s fuzzy aritmetikou, dvě t-normy (minimum a součin) a pět metod defuzzifikace (dvě varianty metody těžiště a tři vycházející z maxima funkcí příslušnosti výstupních fuzzy množin).

Analýza fuzzy systému

Důležitou součástí návrhu každého fuzzy systému je jeho analýza. Program FuzzyDesigner k tomu uživateli nabízí několik nástrojů.

Obr. 3.

Jednou z možností je sledovat okamžité hodnoty všech parametrů (hodnoty vstupů a výstupů, aktivace jednotlivých funkcí příslušnosti, aktivace pravidel apod.) celého systému již během jeho návrhu. To uživateli umožňuje snáze navrhnout i okamžitě kontrolovat chování celého fuzzy systému, i jeho jednotlivých částí.

Závislosti proměnných je možné graficky znázornit s použitím rovinných (2D) i prostorových grafů (3D, obr. 4). Grafy obsahují širokou paletu volitelných funkcí a parametrů.

Komunikační možnosti

Pro moderní aplikační program je charakteristické, že je otevřený a propojitelný s dalšími řídicími, vizualizačními a informačními systémy (Supervizory Control and Data Acquisition/Human-Machine Interface – SCADA/HMI) nebo průmyslovými programovatelnými automaty (Programmable Logic Controller – PLC).

FuzzyDesigner podporuje tyto způsoby propojení navrženého fuzzy systému s jinými aplikacemi:

  • FuzzyDesigner jako externí aplikace typu server s využitím protokolů DDE (Dynamic Data Exchange) nebo OPC (OLE for Process Control),

  • FuzzyDesigner jako externí aplikace typu OPC klient,

  • FuzzyDesigner jako samostatná funkční komponenta typu COM (Component Object Model), DLL (Dynamically Linked Library) nebo .NET assembly k integrování do jiných vývojových prostředí.

Obr. 4.

FuzzyDesigner a PLC

Nejnižší úroveň průmyslového řídicího systému je velmi často realizována s použitím PLC. FuzzyDesigner podporuje komunikaci prostřednictvím protokolů DDE a OPC. Díky tomu lze, při použití příslušného OPC serveru, využít fuzzy systém navržený v prostředí FuzzyDesigner pro PLC od různých výrobců. Vlastní výpočet, neboli realizace fuzzy systému, probíhá v konkrétním aplikačním programu vytvořeném v prostředí FuzzyDesigner, který je „připojen“ k příslušným proměnným v PLC.

Nástroj FuzzyDesigner ve verzi 1.01 umožňuje i přímo nahrát fuzzy systém do programovatelných automatů s procesorem Logix od firmy Rockwell Automation. Vlastní fuzzy modul je možné rozdělit na dvě nezávislé části – na tzv. fuzzy jádro, neboli „výkonnou“ část (část programu v jazyku kontaktních schémat, prázdné datové proměnné a fuzzy typy dat), a na vlastní fuzzy systém, neboli „datovou“ část (hodnoty parametrů fuzzy systému a jeho jednotlivých komponent).

Uživatel může instalovat fuzzy jádro off-line do řešeného řídicího aplikačního programu, popř. je z aplikace odinstalovat, a dále přidat, odebrat nebo modifikovat fuzzy systém. On-line může uživatel měnit parametry instalovaných fuzzy systémů a sledovat běžící fuzzy systémy v reálném čase.

Po nainstalování fuzzy jádra a fuzzy systému do aplikačního programu a jeho následném nahrání do PLC probíhá vlastní výpočet přímo v automatu a program FuzzyDesigner k němu již není potřeba.

Obr. 5.

Počet fuzzy jader a fuzzy systémů v jedné aplikaci je omezen pouze velikostí pamětí PLC, do kterého bude aplikační program nahrán.

Sledování fuzzy systému za chodu

FuzzyDesigner poskytuje uživateli možnost sledovat fuzzy systém on-line za jeho chodu. Sledovat lze fuzzy systém běžící přímo v aplikaci, fuzzy systém běžící jako samostatná komponenta i fuzzy systém běžící v PLC. V případě sledování fuzzy systému běžícího v PLC probíhá paralelně i vlastní výpočet v programu FuzzyDesigner. Jestliže uživatel změní během sledování hodnoty parametrů systému, může okamžitě sledovat jeho odezvu na vstupní data sdílená s automatem. Tyto změny může také nahrát on-line do PLC.

Generování kódu

Program FuzzyDesigner umožňuje uživateli vygenerovat navržený fuzzy systém jako kód v různých programovacích jazycích k použití v jiném aplikačním programu. FuzzyDesigner generuje kód programu v jazycích ANSI C, C# a Java a několik typů funkcí pro programová prostředí Matlab a Simulink.

Závěr

Program FuzzyDesigner nabízí uživatelsky příjemné a srozumitelné prostředí, ve kterém lze snadno vytvářet hierarchické fuzzy systémy. Výsledek návrhu najde uplatnění v různých úrovních úloh inteligentního řízení jako např. model složitého nelineárního procesu určeného pro simulaci, predikci nebo diagnostiku. Dále je možné navržený fuzzy systém použít jako přímý fuzzy regulátor, fuzzy supervizor standardního PID regulátoru nebo interpolační přepínač mezi analytickými regulátory realizovaný pomocí tzv. Takagi-Sugeno fuzzy systému.

Díky novému přístupu, který spočívá v rozdělení fuzzy systému do jednotlivých funkčních komponent, je možné vytvářet komplexní hierarchické fuzzy systémy s přehlednou vnitřní strukturou pravidel.

Vzhledem k nabízeným komunikačním možnostem lze FuzzyDesigner bez problémů zakomponovat do jiných řídicích, vizualizačních a informačních programových systémů, včetně programů pro PLC.

Nástroje analýzy obsažené v programu FuzzyDesigner poskytují uživateli možnost okamžité kontroly chování navrhovaného fuzzy systému i jeho jednotlivých částí a tím i úsporu času stráveného vlastním návrhem.

Fuzzy systém je v prostředí FuzzyDesigner uložen ve formátu XML, v současnosti standardním formátu pro výměnu a sdílení informací, který je podporován většinou moderních aplikací. Uživatel tak může fuzzy systém snadno editovat i mimo vlastní prostředí FuzzyDesigner a také ho využít v dalších aplikacích.

Vlastní nástroj FuzzyDesigner, tak jak je dodáván, obsahuje také několik demonstračních příkladů (modelů jednoduchých procesů s fuzzy regulátory) určených pro úvodní seznámení s fuzzy řízením.

Svými vlastnostmi je FuzzyDesigner moderním nástrojem pro návrh a následnou implementaci fuzzy systémů použitelným při řešení široké oblasti řídicích úloh v nejrůznějších odvětvích průmyslu.

Ing. Renata Pytelková,
Ing. Jan Kolínský,
doc. Ing. Petr Horáček, CSc.,
ProTyS, a. s.

ProTyS, a. s.
Na Kopečku 1/1282
180 00 Praha 8
tel.: 224 917 207–8
fax: 224 917 209
e-mail: fuzzydesigner@protys.cz
http://www.protys.cz

Inzerce zpět