Vytvoření nové aplikace (všechny volby, které nejsou níže popsané, necháváme vždy beze změny) V menu Soubor zvolíme Nový. Zobrazí se dialogové okno, ve kterém zvolíme Aplikace pracující v reálném čase a klikneme na Další. Jako jméno souboru aplikace vyplníme název naší aplikace a ponecháme příponu .cw (např. soustava.cw nebo regulator.cw). Potvrdíme tlačítkem Další. Styl základního panelu aplikace zvolíme přes celou obrazovku. Necháme označenu volbu Mimo Taskbar a zaškrtneme Přizpůsobit libovolnému rozlišení. Potvrdíme tlačítkem Další. Zde vybereme Aplikaci s jediným panelem a opět potvrdíme tlačítkem Další. V tomto okně necháme vše beze změny a potvrdíme tlačítkem Dokončit. Nově zobrazené okno uzavřeme tlačítkem OK. Nyní máme vytvořenou novou aplikaci.
Soustava Přepneme se do Datových inspektorů. Na kartě ovladače zadáme: jméno: soustava ovladač: modelový ovladač map. soubory: model.dmf par. soubory: model.par Na kartě kanály do prvního řádku zapíšeme: jméno: vstup ovladač: soustava číslo: 1 A do druhého řádku: jméno: vystup ovladač: soustava číslo: 5 Na kartě proměnné zadáme jedinou proměnnou: jméno: cas typ: integer hodnota: 0 Nyní se přepneme do Grafického editoru. V levé části okna máme na výběr Vzhled, Časování a Vybraný přístroj (viz obrazová příloha). Maximalizací položky Časování zobrazíme strom časování. Zobrazíme Paletu přístrojů, a na plochu přetáhneme následující přístroje: Ze skupiny Základní sada jsou to control a chart, ze skupiny Archivery je to archiver. Dále ze skupiny Systémové přístroje přetáhneme sequencer na položku Časované ve stromu časování v levé části okna (položka časované se zobrazí inverzně). Na sequencer přetáhneme program ze skupiny Program. Ve stromě časování rozbalíme položku Nečasované a v ní i položky archiver a chart. Položku archiver uchopíme do myši a přetáhneme na program v časovaných položkách. Totéž provedeme i s položkou chart.
Pravým tlačítkem myši klikneme na chart zobrazený na ploše a vyvoláme Inspektor přístroje. V kartě mode změníme položku typ přístroje na flow_graf. Obsah karty history změníme z původních 2 na 200. Na kartě item se nacházejí další tři karty. Na první z nich (expression) do kolonky Výraz, který je přístrojem vyhodnocován zapíšeme vstup a klikneme na tlačítko Přidat. Textové pole se po stisku tohoto tlačítka vymazalo. Zapíšeme do něj vystup, a potvrdíme tlačítkem Použít a uzavřít. Pravým tlačítkem vyvoláme Inspektor přístroje na přístroji control. Na kartě output do položky výstupní datový element zapíšeme vstup. Obsah karty kontent změníme na max a potvrdíme tlačítkem Použít a uzavřít. Inspektor přístroje vyvoláme také u archiveru. Na kartě file_name do textového pole zapíšeme jedno libovolné písmeno. Obsah karty cache změníme na 10. Vybereme kartu date_item, v ní kartu disable a zaškrtneme položku Nearchivovat datum. Totéž provedeme u karty time_item (disable a zaškrtnout). A dostáváme se ke kartě item. Ta obsahuje další karty. Do jednotlivých karet zapište následující (je uveden vždy název karty, dvojtečka a co zapsat): name: cas type: numeric length: 3 dec_places: 0 expression: cas Klikněte na tlačítko Přidat a vyplňujte znovu: name: vstup type: numeric length: 6 dec_places: 2 expression: vstup Opět Přidat: name: type: length: dec_places: expression:
vystup numeric 6 2 vystup
Vše potvrďte tlačítkem Použít a uzavřít. Ve stromu časování klikněte pravým tlačítkem na sequencer a zvolte Inspektor přístroje. Na kartě timer zadejte do položky Časovač nebo časový krok hodnotu 0.3 (s desetinnou tečkou). Stejným způsobem vyvolejte Inspektor přístroje u programu, který je ve stromě časování hned pod sequencerem. Přepněte se na kartu Procedury. Proceduru OnActivate upravte tak, aby vypadala následovně: procedure OnActivate(); begin cas=cas+1; end_procedure; Potvrďte tlačítkem Použít a uzavřít. Nyní si na ploše přístroje vhodně rozmístěte a celou aplikaci uložte.
Základní regulátor Vytvoříme novou aplikaci a přepneme se do Datových inspektorů. Na kartě ovladače zadáme: jméno: soustava ovladač: modelový ovladač map. soubory: model.dmf par. soubory: model.par Na kartě kanály do prvního řádku zapíšeme: jméno: vstup ovladač: soustava číslo: 1 A do druhého řádku: jméno: vystup ovladač: soustava číslo: 5 Na kartě proměnné zadáme tyto proměnné: jméno r0 Ti Td zadana
typ real real real real
hodnota 0 0 0 0
Nyní se přepneme do Grafického editoru. Zobrazíme Paletu přístrojů, a na plochu přetáhneme pid_regulator z karty Regulátory. Z karty Základní sada na plochu přetáhneme control a 3krát label. Sequencer z karty Systémové přístroje přetáhneme do stromu časování na položku Časované, a v jeho Inspektoru přístroje na kartě timer nastavíme poločku Časovač nebo časový krok přístroje na 0.3. Na sequencer přetáhneme program z karty program, a také pid_regulátor z nečasovaných položek ve stromě časování. U controlu změníme v Inspektoru přístroje jméno na kartě control na pot_zadana do kolonky na kartě output zapíšeme zadana a mode změníme na vertical_slider. U jednoho labelu do textového pole na kartě text zapíšeme r0, u druhého Ti a u třetího Td. Zobrazíme Inspektor přístroje pro pid_regulator a provedeme následující změny: pid_regulator: wish_value: expression: output: wish_value section: mode: history: value_section: mode: history: output_section: mode: histrory:
pid zadana vystup vstup flow_graph 200 flow_graph 200 flow_graph 200
Regulátor pro optimalizaci parametrů Vytvoříme základní regulátor. Otevřeme Paletu přístrojů a na plochu umístíme 3 přístroje control ze Základní sady. U jednoho controlu do Inspektoru přístroje na kartě output zapíšeme r0, u druhého Ti a do třetího Td. U všech tří paknastavíme toto: karta mode: content: init_value: real_step:
hodnota vertical_slider max 1 0.01
Na kartě Procedury u každého controlu upravíme proceduru OnOutput: procedure OnOutput( Output : real ); begin pid.SetParameters(r0, Ti, Td); end_procedure; Přístroje vhodně rozmístíme na ploše a aplikace je hotová.
Adaptivní regulátor Vytvoříme základní regulátor. V Inspektoru přístroje regulátoru zaškrtneme adaptive na kartě parameters. Otevřeme Paletu přístrojů a na plochu umístíme 3 přístroje meter ze Základní sady. U prvního z nich nastavíme Výraz, který je přístrojem vyhodnocován (Inspektor přístroje – karta expression) na r0, u druhého na Ti a u třetího na Td. U všech tří pak na kartě mode vybereme digital. Přístroje meter umístíme ke správným labelům. Zároveň najdeme přístroje meter ve stromu časování a přesuneme je na přístroj program (pod sequencerem). Dále zobrazíme Inspektor přístroje tohoto programu. Na kartě Procedury upravíme proceduru OnActivate následovně: procedure OnActivate(); begin cas = cas + 1; pid.GetParameters(&r0, Ti, Td); pause 0.01; pid.GetParameters(r0, &Ti, Td); pause 0.01; pid.GetParameters(r0, Ti, &Td); end_procedure; Přístroje na ploše vhodně rozmístíme a hotovou aplikaci uložíme.
Zpracoval Tomáš Třeček
Obrazová příloha Grafický editor
Inspektor přístroje