EsiDet Průvodce první aplikací
Návod na obsluhu
Verze 1.00
esidet_g_cz_100
ESIDET
AMiT, spol. s r. o. nepřejímá žádné záruky, pokud se týče obsahu této publikace a vyhrazuje si právo měnit obsah dokumentace bez závazku tyto změny oznámit jakékoli osobě či organizaci. Tento dokument může být kopírován a rozšiřován za následujících podmínek: 1. Celý text musí být kopírován bez úprav a se zahrnutím všech stránek. 2. Všechny kopie musí obsahovat označení autorského práva společnosti AMiT, spol. s r. o. a veškerá další upozornění v dokumentu uvedená. 3. Tento dokument nesmí být distribuován za účelem dosažení zisku. V publikaci použité názvy produktů, firem apod. mohou být ochrannými známkami nebo registrovanými ochrannými známkami příslušných vlastníků. AMiT je registrovaná ochranná známka.
Copyright (c) 2011, AMiT, spol. s r. o. Výrobce: AMiT, spol. s r. o. Naskové 3/1100, 150 00 Praha www.amit.cz Technická podpora:
[email protected]
esidet_g_cz_100
2/41
ESIDET
Obsah Historie revizí .................................................................................................. 4 Související dokumentace ................................................................................ 4
1. 2. 3. 4.
Základní pojmy ..................................................................................... 5 Instalace návrhového prostředí.......................................................... 6 Cíl průvodce první aplikací ................................................................. 7 Vytvoření ukázkové aplikace .............................................................. 8
4.1. 4.2. 4.3.
4.4. 4.5. 4.6.
Založení projektu ............................................................................................ 8 Konfigurace vstupů / výstupů ....................................................................... 10 Tvorba regulačních algoritmů ....................................................................... 12 Měření teploty místnosti a teploty média ...................................................... 12 Rozhodnutí, zda se chladí nebo topí ............................................................ 17 Určení žádané teploty místnosti ................................................................... 17 Výpočet akčního zásahu pro topení nebo chlazení ...................................... 19 Určení polohy regulačního ventilu ................................................................ 20 Určení výkonu ventilátoru ............................................................................. 20 Zápis na výstupy........................................................................................... 21 Generování projektu ..................................................................................... 22 Zavedení projektu do regulátoru ................................................................... 23 Ladění projektu ............................................................................................. 25
5.
Rozšíření ukázkové aplikace ............................................................ 26
5.1.
Vytvoření aplikace pro AMR-OP7x ............................................................... 26 Založení komunikačních registrů .................................................................. 26 Měření teploty místnosti ............................................................................... 27 Určení žádané teploty................................................................................... 28 Volba režimu místnosti ................................................................................. 29 Editování časových plánů žádané teploty pro topení a chlazení .................. 29 Volba režimu ventilátoru ............................................................................... 29 Tvorba obrazovek pro AMR-OP7x................................................................ 30 Obrazovka Main ........................................................................................... 30 Obrazovka Temp .......................................................................................... 34 Obrazovka CP_menu ................................................................................... 35 Obrazovky CP_heating, CP_cooling ............................................................ 36 Doplnění aplikace pro AMR-FCT10 .............................................................. 36 Úprava aplikace ............................................................................................ 38
5.2.
5.3.
6.
Další SW nástroje pro regulátory AMREG ....................................... 40
6.1. 6.2.
AMRConfig ................................................................................................... 40 Multidownload............................................................................................... 40
7.
Ukázkové a typové aplikace.............................................................. 41
7.1. 7.2.
Ukázkové aplikace........................................................................................ 41 Typové aplikace............................................................................................ 41
3/41
esidet_g_cz_100
ESIDET Historie revizí Jméno dokumentu: esidet_g_cz_100.pdf Autor: Petr Latina Verze 100
Datum Změny 23. 5. 2012 Nový dokument
Související dokumentace 1.
Nápověda k návrhovému prostředí DetStudio
2.
Aplikační poznámka AP0016 – Zásady používání RS485 soubor: ap0016_cz_xx.pdf
esidet_g_cz_100
4/41
ESIDET
1.
Základní pojmy DetStudio Návrhové prostředí pro programování řídicích systémů a programovatelných
regulátorů firmy AMiT. EsiDet Část návrhového prostředí DetStudio sloužící ke tvorbě aplikací pro programo-
vatelné regulátory firmy AMiT. Aplikace Uživatelský program vytvořený v návrhovém prostředí DetStudio. AMREG Označení řady programovatelných regulátorů firmy AMiT. MODBUS Otevřený komunikační protokol vyvinutý firmou Modicon. Objekt Základní stavební prvek vytvářené aplikace pro regulátory AMREG. Metoda Výkonná funkce konkrétního objektu. Vlastnost Zprostředkovává přístup k vnitřním parametrům objektů. Nápověda Nápověda ke tvorbě obrazovek v DetStudiu. Nápověda je dostupná pod položobrazovek kou z hlavního menu Nápověda/Nápověda obrazovek. Nápověda Nápověda pro nastavení, ovládání a práci v DetStudiu. Nápověda je dostupná prostředí pod položkou z hlavního menu Nápověda/Nápověda prostředí. Nápověda Nápověda pro vytváření uživatelských aplikací programovatelných regulátorů EsiDet AMiT. Nápověda je dostupná z hlavního menu pod položkou
Nápověda/Nápověda prostředí.
5/41
esidet_g_cz_100
ESIDET
2.
Instalace návrhového prostředí Veškerý potřebný software lze získat na www.amit.cz v sekci „Produkty/Download/Návrhová prostředí pro tvorbu aplikací“.
Spusťte instalační soubor DetStudia (DetStudioSetup.exe) a postupujte podle pokynů instalátoru.
Pro běh DetStudia je nutný .NET Framework. V případě, že na PC není, bude automaticky stažen ze serveru firmy Microsoft a nainstalován (PC musí být připojeno k internetu). Pro podporu tvorby aplikací pro regulátory řady AMREG, ovladačů NOA, spuštění simulátoru obrazovek apod., je nutné doinstalovat softwarový balíček DetStudioTools.
esidet_g_cz_100
6/41
ESIDET
3.
Cíl průvodce první aplikací Cílem tohoto dokumentu je ukázat tvorbu, vygenerování a zavedení uživatelské aplikace pro AMREG regulátory prostřednictvím návrhového prostředí DetStudio. Dokument se nebude zabývat detailním popisem ovládání samotného návrhového prostředí, tento popis lze nalézt v Nápovědě prostředí. Příklad ukázkové aplikace bude vytvářen pro regulátor AMR-FCT10, který je určen k řízení jedné fancoil jednotky. U fancoil jednotky se bude předpokládat, že obsahuje dvoutrubkový systém, tedy společný rozvod pro topné i chladící médium. Regulátor ARM-FCT10 bude zajišťovat následující funkce.
Čtení vstupů (měření teploty v místnosti a teploty proudícího média). Rozhodnutí, zda se topí nebo chladí. Určení žádané teploty místnosti. Výpočet akčního zásahu pro topení nebo chlazení. Určení polohy regulačního ventilu. Určení výkonu ventilátoru. Zápis na výstupy.
7/41
esidet_g_cz_100
ESIDET
4.
Vytvoření ukázkové aplikace Tvorbu aplikace lze rozdělit do následujících kroků.
Založení projektu. Konfigurace vstupů / výstupů. Tvorba regulačních algoritmů. Generování projektu. Zavedení projektu do regulátoru. Ladění projektu.
4.1. Založení projektu Založení projektu se ve spuštěném návrhovém prostředí provede např. kliknutím na ikonu nového projektu , po kterém se otevře okno „Nový projekt“.
Obr. 1 - Okno pro vytvoření nového projektu V okně projektu musí být vyplněny následující parametry. Řídicí systém Tento parametr specifikuje typ zařízení, pro který bude aplikace vytvářena. Vý-
běr zařízení se vyvolá kliknutím myši na tlačítko Změnit. Otevře se okno „Výběr řídicího systému“, ve kterém se v levé části pod složkou „Programovatelné regulátory“ vybere požadovaný typ regulátoru AMREG (prostřední část okna). Pravá část okna informuje, zda vybraný regulátor obsahuje terminál. Tato položka se vyplňuje automaticky.
esidet_g_cz_100
8/41
ESIDET
Obr. 2 - Výběr regulátoru AMREG (zvolen typ AMR-FCT10) Výběr zvoleného regulátoru se potvrdí tlačítkem OK. Terminál Informace, zda daný typ regulátoru obsahuje terminál. Jméno Jméno vytvářené aplikace. projektu Umístění Umístění projektu.
Obr. 3 - Okno „Nový projekt“ se zadanými parametry Před potvrzením zadaných parametrů se může vybrat možnost automatického vytvoření adresáře se stejným jménem, které je vyplněno v parametru „Jméno projektu“. Do tohoto adresáře bude uložen vytvořený projekt. Po potvrzení tlačítkem OK se otevře okno „Parametry projektu“, ve kterém lze provést základní konfiguraci celého projektu.
9/41
esidet_g_cz_100
ESIDET
Obr. 4 - Okno „Parametry projektu“. Pro účel ukázkové aplikace není potřeba další parametry projektu nastavovat, a proto se tlačítkem OK okno potvrdí. Podrobný popis jednotlivých kroků pro založení a nastavení parametrů projektu lze nalézt v Nápovědě EsiDet.
4.2. Konfigurace vstupů / výstupů Pro konfiguraci vstupů / výstupů se nejprve vybere kliknutím levým tlačítkem myši objekt IO v okně „Projekt“. Tento objekt zabezpečuje obsluhu vstupů / výstupů, kterými daný regulátor disponuje.
esidet_g_cz_100
10/41
ESIDET
Obr. 5 - Okno „Projekt“ s vybraným objektem IO Samotná konfigurace se poté provádí v okně „Vlastnosti“. Protože regulátor AMR-FCT10 bude měřit teploty analogovými vstupy, je nutno nastavit typ teplotních čidel, které budou použity. V okně „Vlastnosti“ se tedy vybere na řádcích označených „AI0 Sensor“ a „AI1 Sensor“ např. typ čidla „Ni1000_6180ppm“.
Obr. 6 - Výběr typu čidla v okně „Vlastnosti“ Protože další konfigurovatelné vstupy / výstupy tento typ regulátoru nemá, je tímto konfigurace dokončena.
11/41
esidet_g_cz_100
ESIDET
4.3. Tvorba regulačních algoritmů Pod tvorbu regulačních algoritmů lze zahrnout jak zápis samotného regulačního kódu, tak vytváření potřebných proměnných, import a konfigurace objektů apod. Vytvářený regulační algoritmus lze rozdělit do následujících kroků.
Zpracování měřených teplot. Rozhodnutí, zda se topí nebo chladí. Určení žádané teploty. Výpočet akčního zásahu. Výpočet polohy regulačního ventilu. Určení výkonu ventilátoru. Zápis na výstupy.
Měření teploty místnosti a teploty média Měřené teploty se budou načítat do proměnných, které se založí ve vybraném paměťovém objektu. U regulátoru AMR-FCT10 jsou k dispozici dva paměťové objekty – Ram a EEprom. Proměnné založené v objektu Ram mají neomezený počet zápisů, ale ztrácí svůj obsah po odpojení napájení regulátoru. Proměnné založené v objektu EEprom neztrácí svůj obsah po odpojení napájení, ale počet zápisových cyklů tohoto paměťového typu je omezen. Více informací o paměťových objektech lze nalézt v Nápovědě Esidet. Proměnné, které se budou v ukázkové aplikaci používat, se založí např. následujícím postupem. Dvojklikem levým tlačítkem myši na objekt Ram v okně „Projekt“ se v pracovním okně otevře záložka Ram se seznamem vytvořených proměnných.
Obr. 7 - Okno „Projekt“ s vybraným objektem Ram
esidet_g_cz_100
12/41
ESIDET Přidání / založení nové proměnné se např. provede kliknutím pravého tlačítka myši do prostoru záložky Ram, čímž se vyvolá kontextové menu s jednotlivými datovými typy proměnných.
Obr. 8 - Otevřená záložka objektu Ram s kontextovým menu datových typů při zakládání nové proměnné Tímto postupem budou založeny následující proměnné datového typu float. Tm_mis Tm_media
Pro zápis regulačního kódu je nutno otevřít obsah některého z procesů. Obsah např. procesu Process1 lze zobrazit dvojklikem levým tlačítkem myši na položku Process1 v okně „Projekt“.
Obr. 9 - Okno „Projekt“ s vybranou položkou Process1 Pro samotný zápis se může s výhodou využít tzv. intellisense nápovědy. Ta se vyvolá, po umístění kurzoru na požadovaný řádek záložky Process1, stisknutím
13/41
esidet_g_cz_100
ESIDET kláves Ctrl+j. Tím se zobrazí plovoucí okno se seznamem všech aktuálně dostupných objektů, proměnných a vlastností, které lze využít. Protože se nyní bude pracovat s proměnnými objektu Ram, vybere se popsaným způsobem objekt Ram. Výběr se potvrdí klávesou Enter.
Obr. 10 - Výběr objektu Ram pomocí intellisense nápovědy Po dokončeném výběru se za vypsaný text Ram napíše znak tečka „.“. Tím dojde k otevření plovoucího okna, ve kterém bude vybrána proměnná Tm_mis.
Obr. 11 - Výběr proměnné Tm_mis z objektu Ram Dále následuje přiřazení měřené hodnoty teploty z analogového vstupu AI0 do proměnné Tm_mis. Výběr analogového vstupu AI0 objektu IO se provede tak, že se nejprve pomocí intellisense nápovědy vybere objekt IO a po zapsání znaku tečka „.“ se vybere analogový vstup AI0.
Obr. 12 - Výběr objektu IO
esidet_g_cz_100
14/41
ESIDET
Obr. 13 - Výběr analogového vstupu AI0 objektu IO Výsledný zápis kódu pro načtení měřené teploty místnosti na analogovém vstupu AI0 bude následovný. Ram.Tm_mis = IO.AI0;.
Podobně se sestaví kód pro načtení měřené teploty média na analogovém vstupu AI1. Ram.Tm_media = IO.AI1;.
K potlačení kmitání naměřených hodnot lze využít objekt Filtr1R. Tento se do projektu přidá např. přetažením myší z okna „Toolbox“.
Obr. 14 - Přidání objektu Filtr1R do projektu s pořadovým číslem „1“ Po vložení objektu tímto postupem je následně zobrazeno okno, ve kterém se může danému objektu změnit jméno a po potvrzení tohoto okna se objekt zobrazí v okně „Projekt“ v sekci „Regulace“. Poznámka Jména nelze měnit u těch objektů, které lze do projektu vložit v jediné instanci.
15/41
esidet_g_cz_100
ESIDET
Obr. 15 - Zobrazené okno po vložení objektu do projektu
Obr. 16 - Vložený objekt Filtr1R v sekci „Regulace“ Po klinutí myši na tento objekt lze v okně „Vlastnosti“ nastavit časovou konstantu T [s].
Obr. 17 - Okno „Vlastnosti“ objektu „Filtr1R“ Filtrovaná hodnota naměřených teplot se bude ukládat do proměnných Tm_mis_f a Tm_media_f, které je nutno založit v objektu Ram. Pro každou teplotu je potřeba využít samostatný objekt Filtr1R, tzn., že je do projektu nutné importovat dva objekty Filtr1R, každý s jedinečným jménem.
esidet_g_cz_100
16/41
ESIDET Zápis kódu pak bude následovný. Ram.Tm_mis_f = Filtr1R1.Output(Ram.Tm_mis); Ram.Tm_media_f = Filtr1R2.Output(Ram.Tm_media);
Rozhodnutí, zda se chladí nebo topí Příznak, který informuje, zda se topí nebo chladí, bude určován na základě mezní hodnoty měřené teploty proudícího média. Test této meze bude prováděn objektem Hyst a výsledek bude ukládán do proměnné Rezim_HC, kterou je nutno založit v objektu Ram. Mezní hodnota teploty a velikost hystereze se zadá v okně „Vlastnosti“ objektu Hyst.
Obr. 18 - Okno „Vlastnosti“ objektu Hyst1 Zápis kódu. Ram.Rezim_HC = Hyst1.Output(Ram.Tm_media_f);
Určení žádané teploty místnosti Žádaná teplota bude určována na základě režimu místnosti a režimu ohřevu. Pro žádané teploty režimu ohřevu (topení a chlazení) se do projektu vloží dva objekty DayPlan. Jednotlivé časové zlomy a jim odpovídající hodnoty teplot se nastaví v editačním režimu konkrétních objektů DayPlan. Editační režim se vyvolá dvojklikem levého tlačítka myši na zvolený objekt DayPlan.
17/41
esidet_g_cz_100
ESIDET
Obr. 19 - Editační režim objektu DayPlan1 Více informací o editaci objektu DayPlan lze nalézt v Nápovědě EsiDet. Pro žádanou hodnotu teploty se založí proměnná Tz_mis v objektu Ram. K uložení žádané hodnoty z objektu DayPlan1 do proměnné Tz_mis se použije následující zápis. Ram.Tz_mis = DayPlan1.Output();
Výběr žádané teploty s ohledem na režim místnosti a režim ohřevu lze zapsat pomocí konstrukce podmínky „if-else-endif;“. Před zápisem kódu je nutné založit následující proměnné. Rezim_mis – dle hodnoty této proměnné se určuje režim místnosti, viz násle-
dující tabulka. Hodnota 0 1 2
Význam Časový plán Útlum Komfort
Proměnná založena v objektu Ram. Tz_H_utlum a Tz_C_utlum jsou proměnné, ve kterých je uložena žádaná
hodnota v režimu Útlum pro topení nebo chlazení. Proměnné jsou založeny v objektu EEprom. Tz_H_komf a Tz_C_komf jsou proměnné, ve kterých je uložena žádaná hodno-
ta v režimu Komfort pro topení nebo chlazení. Proměnné jsou založeny v objektu EEprom. // Pokud je režim místnosti „Časový plán“ if Ram.Rezim_mis == 0 then if Ram.Rezim_HC then // Pokud se topí
esidet_g_cz_100
18/41
ESIDET Ram.Tz_mis = DayPlan1.Output(); else // Pokud se chladí Ram.Tz_mis = DayPlan2.Output(); endif; endif; // Pokud je režim místnosti „Útlum“ if Ram.Rezim_mis == 1 then if Ram.Rezim_HC then // Pokud se topí Ram.Tz_mis = EEprom.Tz_H_utlum; else // Pokud se chladí Ram.Tz_mis = EEprom.Tz_C_utlum; endif; endif; // Pokud je režim místnosti „Komfort“ if Ram.Rezim_mis == 2 then if Ram.Rezim_HC then // Pokud se topí Ram.Tz_mis = EEprom.Tz_H_komf; else // Pokud se chladí Ram.Tz_mis = EEprom.Tz_C_komf; endif; endif;
Výpočet akčního zásahu pro topení nebo chlazení Pro výpočet akčního zásahu bude do projektu vložen objekt PID. Po vložení objektu do projektu je nutné v okně „Vlastnosti“ nastavit jednotlivé parametry jako jsou zesílení, integrační a derivační časová konstanta apod.
Obr. 20 - Okno „Vlastnosti“ objektu PID Zápis kódu, v závislosti na režimu topení nebo chlazení, může být např. následovný. if Ram.Rezim_HC then
19/41
esidet_g_cz_100
ESIDET // Pokud se topí Pid1.SetPoint = Ram.Akcni_zasah else // Pokud se chladí Pid1.SetPoint = Ram.Akcni_zasah endif;
Ram.Tz_mis; = Pid1.Output(Ram.Tm_mis_f, 0); Ram.Tm_mis_f; = Pid1.Output(Ram.Tz_mis, 0);
Určení polohy regulačního ventilu Po vložení objektu Valve do projektu se poloha regulačního ventilu určí pomocí tohoto objektu následujícím zápisem. Valve1.Solve(Ram.Akcni_zasah);
Určení výkonu ventilátoru Výkon ventilátoru bude určován automaticky dle stanoveného akčního zásahu nebo dle zvoleného režimu, který je dán aplikací a je v rukou tvůrce kódu. Pro volbu režimu ventilátoru je nutné založit v objektu Ram proměnnou Rezim_Ventilatoru, jejíž hodnota bude definovat zvolený režim, viz následující tabulka. Hodnota 0 1 2 3 4
Význam Vypnuto Stupeň 1 Stupeň 2 Stupeň 3 Auto
Režim Auto V tomto režimu bude výkon ventilátoru určován dle velikosti akčního zásahu. Hodnota akčního zásahu bude porovnávána pomocí třech objektů Hyst, které
je nutné do projektu vložit. Na základě jejich výstupu budou nastavovány první tři bity proměnné Ram.Vykon_Ventilatoru na hodnotu true nebo false. Proměnnou je třeba vytvořit v objektu Ram. Stupeň 1,2,3 Ovládání zapnutí / vypnutí 1 až 3 stupně ventilátoru fancoil jednotky. Ruční režim Výkon ventilátoru se nastavuje ručně, např. pomocí nástěnného ovladače.
Zápis kódu může být následovný. if Ram.Rezim_Ventilatoru == 4 then // Pokud je režim „Auto“ // Pokud je vyhodnocen test pro nastavení druhého bitu // na hodnotu „true“ if Hyst4.Output(Ram.Akcni_zasah) then Ram.Vykon_Ventilatoru.2 = true; Ram.Vykon_Ventilatoru.1 = false; Ram.Vykon_Ventilatoru.0 = false; else // Pokud je vyhodnocen test pro nastavení prvního bitu // na hodnotu „true“ if Hyst3.Output(Ram.Akcni_zasah) then
esidet_g_cz_100
20/41
ESIDET Ram.Vykon_Ventilatoru.2 = false; Ram.Vykon_Ventilatoru.1 = true; Ram.Vykon_Ventilatoru.0 = false; else // Pokud je vyhodnocen test pro nastavení nultého bitu // na hodnotu „true“ if Hyst2.Output(Ram.Akcni_zasah) then Ram.Vykon_Ventilatoru.2 = false; Ram.Vykon_Ventilatoru.1 = false; Ram.Vykon_Ventilatoru.0 = true; else Ram.Vykon_Ventilatoru = 0; endif; endif; endif; else // Ruční režim ventilátoru // Režim „Vypnuto“ if Ram.Rezim_Ventilatoru == 0 then Ram.Vykon_Ventilatoru = 0; endif; // „Stupeň 1“ if Ram.Rezim_Ventilatoru == 1 then Ram.Vykon_Ventilatoru.0 = true; Ram.Vykon_Ventilatoru.1 = false; Ram.Vykon_Ventilatoru.2 = false; endif; // „Stupeň 2“ if Ram.Rezim_Ventilatoru == 2 then Ram.Vykon_Ventilatoru.0 = false; Ram.Vykon_Ventilatoru.1 = true; Ram.Vykon_Ventilatoru.2 = false; endif; // „Stupeň 3“ if Ram.Rezim_Ventilatoru == 3 then Ram.Vykon_Ventilatoru.0 = false; Ram.Vykon_Ventilatoru.1 = false; Ram.Vykon_Ventilatoru.2 = true; endif; endif;
Zápis na výstupy Zápis na výstupy, podobně jako čtení vstupů, zabezpečuje objekt IO. Zápis na triakové výstupy ovládající polohu regulačního ventilu bude následovný. IO.Ty0 = Valve1.Down; IO.Ty1 = Valve1.Up;
Zápis na reléové výstupy ovládající výkon ventilátoru bude následovný. IO.RL0 = Ram.Vykon_Ventilatoru.0; IO.RL1 = Ram.Vykon_Ventilatoru.1; IO.RL2 = Ram.Vykon_Ventilatoru.2;
21/41
esidet_g_cz_100
ESIDET
4.4. Generování projektu Cílem generování projektu je kontrola projektu a jeho následný překlad do binárního souboru, který se po úspěšném generování zavádí do regulátoru. Samotná generace se spustí např. z položky hlavního menu „Generace/Generuj vše“.
Obr. 21 - Spuštění generace projektu Pokud projekt neobsahuje chyby, je po dokončení generace zobrazeno okno informující o obsazenosti pamětí a tlačítka, pro zahájení přenosu a zavření okna.
Obr. 22 - Okno po úspěšně dokončené generaci projektu Jestliže generace projektu skončí neúspěšně, je zobrazeno okno s touto informací a v okně „Seznam chyb“ lze zjistit důvody neúspěšné generace projektu.
Obr. 23 - Okno po neúspěšné generaci projektu
esidet_g_cz_100
22/41
ESIDET
Obr. 24 - Okno „Seznam chyb“ po neúspěšné generaci projektu Více informací o generaci projektu lze nalézt v Nápovědě EsiDet.
4.5. Zavedení projektu do regulátoru Jestliže generace projektu skončí úspěšně, lze vygenerovaný projekt zavést do regulátoru. K zavedení je nutno v projektu správně nastavit komunikační parametry. Komunikační parametry regulátoru jsou dány polohou jednotlivých DIP přepínačů (viz návod na obsluhu konkrétního regulátoru). Jestliže těmito přepínači regulátor není osazen, nastavují se komunikační parametry pomocí SW nástroje AMRConfig (viz kapitola 6.1). Nastavení komunikačních parametrů lze zobrazit pomocí položky hlavního menu „Přenos/Nastavení komunikace“.
Obr. 25 - Okno „Parametry projektu“ – nastavení komunikačních parametrů V tomto okně je nutno nastavit následující komunikační parametry. Adresa Adresa, která je nastavena v tomto případě v regulátoru AMR-FCT10. stanice
23/41
esidet_g_cz_100
ESIDET
Způsob Typ připojení komunikační linky v závislosti na typu regulátoru. Pro tento případ komunikace je nastaveno „RS485 (Modbus)“. Parity Parita nastavená v AMR-FCT10. SerialPort Číslo sériového portu na PC. Baudrate Komunikační rychlost nastavená na AMR-FCT10.
Správnost nastavených komunikačních parametrů lze ověřit např. pomocí funkce identifikace, která se vyvolá přes položku hlavního menu „Přenos/Identifikace“. Pokud identifikace proběhne korektně, zobrazí se okno s informací o typu připojeného regulátoru a verzi aplikace, jestliže je aplikace spuštěna.
Obr. 26 - Okno s identifikací připojeného regulátoru Pokud je tedy komunikace s regulátorem nastavena / ověřena, lze zahájit přenos vygenerovaného projektu např. pomocí položky hlavního menu „Přenos/Přenos programu“. O výsledku, zda se projekt podařil zavést, informuje okno „Zprávy“.
esidet_g_cz_100
24/41
ESIDET
Obr. 27 - Výsledek přenosu projektu v okně „Zprávy“ Podrobný popis nastavení komunikačních parametrů a zavedení projektu lze nalézt v Nápovědě EsiDet.
4.6. Ladění projektu Pro ladění projektu bude možné v budoucnu použít speciálního nástroje, tzv. „Inspektora“, který je v současnosti vyvíjen. Pomocí tohoto nástroje bude možné sledovat/editovat hodnoty jednotlivých proměnných nadefinovaných v projektu, ale také parametry vložených objektů v projektu.
25/41
esidet_g_cz_100
ESIDET
5.
Rozšíření ukázkové aplikace Vytvořená ukázková aplikace bude rozšířená o další regulátor AMREG, konkrétně o programovatelný nástěnný ovladač AMR-OP7x s dotykovým displejem. Regulátory budou spolu komunikovat prostřednictvím protokolu MODBUS po sériové lince RS485. Regulátor AMR-FCT10 bude v roli Mastera a AMR-OP7x v roli Slave. Výhodou tohoto rozšíření aplikace je, že AMR-OP7x disponuje interním čidlem teploty a může tedy měřit a poskytovat nadřazenému regulátoru vnitřní teplotu místnosti. Tím se uvolní analogový vstup na AMR-FCT10 a lze jej využít např. pro měření venkovní teploty a zohlednit tak vliv této teploty v aplikaci. Dále AMR-OP7x bude určovat žádanou hodnotu, korekci teploty a zpracování časových plánů. V neposlední řadě přináší použití AMR-OP7x komfortní obsluhu zadávání provozních režimů, teplot apod. prostřednictvím dotykového displeje.
5.1. Vytvoření aplikace pro AMR-OP7x Postup založení projektu pro vytvoření aplikace je stejný, jako bylo uvedeno v kapitole 4. Stejný postup také platí pro zakládání proměnných, vkládání objektů do projektu a zápis aplikačního kódu do některého z procesů AMR-OP7x. Pro možnost nastavování režimů a editace např. žádané teploty, prostřednictvím displeje, je v kapitole 5.2 naznačena tvorba obrazovek. Aplikace pro AMR-OP7x bude vykonávat následující funkce. Měřit teplotu místnosti. Určovat žádanou hodnotu teploty na základě informace od AMR-FCT10, zda se topí nebo chladí. Volit režim místnosti. Editovat časové plány. Volit režim ventilátoru. Jak již bylo uvedeno, bude AMR-OP7x na sériové lince v roli Slave. Z tohoto důvodu je nutné do projektu vložit objekt ModbusSlave, ve kterém se budou definovat komunikační registry. Komunikační registry jsou v podstatě proměnné, které slouží pro výměnu dat (měřená teplota, režim místnosti apod.) mezi zařízením typu Master a Slave. Založení komunikačních registrů Komunikační registry se definují v otevřené záložce objektu ModbusSlave. Záložku lze otevřít např. dvojklikem levým tlačítkem myši na položku ModbusSlave v okně „Projekt“ v sekci „Komunikace“.
esidet_g_cz_100
26/41
ESIDET
Obr. 28 - Okno „Projekt“ s vybraným objektem ModbusSlave Potřebné registry lze jednoduše založit pomocí předdefinovaného seznamu, přetažením položky „RoomUnit“ do otevřené záložky „ModbusSlave“.
Obr. 29 - Založení registrů pro komunikaci Práce s registry v regulačním algoritmu je obdobná jako s proměnnými vytvořenými např. v objektu Ram. Měření teploty místnosti V následujícím zápisu kódu bude uveden příklad načtení měřené teploty přímo jako parametr objektu Filtr1R1, do registru TempMeasured. Objekt Filtr1R je nutno do projektu vložit. Pro zápis kódu je opět výhodné vyvolat nápovědu intellisense klávesovou zkrtakou Ctrl+j a vybrat objekt ModbusSlave.
27/41
esidet_g_cz_100
ESIDET
Obr. 30 - Výběr objektu ModbusSlave Po dokončeném výběru se za vypsaný text ModbusSlave napíše znak tečka „.“ a ze seznamu zobrazeného plovoucího okna se vybere položka (registr) TempMeasured.
Obr. 31 - Výběr položky (registru) TempMeasured Dále následuje uložení filtrované měřené teploty interního čidla do registru TempMeasured. Výsledný zápis kódu bude následovný. ModbusSlave.TempMeasured=Filtr1R1.Output(IO.DeviceTemperature);
Určení žádané teploty Žádaná teplota se bude podobně jako v kapitole 4.3 určovat na základě režimu ohřevu a režimu místnosti. Do projektu je tedy nutné vložit dva objekty DayPlan a založit v paměťovém prostoru EEprom proměnné Tz_utlum a Tz_komf pro zadávání žádané teploty režimu útlum a režimu komfort. Informaci, zda se topí nebo chladí, získává AMR-OP7x z nadřazeného AMR-FCT10 prostřednictvím registru ModbusSlave.DI, který nabývá následujících hodnot. Hodnota True False
esidet_g_cz_100
Význam Topení Chlazení
28/41
ESIDET Zápis kódu pro určení žádané hodnoty teploty na základě režimu ohřevu a režimu místnosti může být následovný. if ModbusSlave.DI then // Pokud se topí // Pokud je režim místnosti „Časový plán“ if ModbusSlave.RoomMode == 0 then ModbusSlave.TempSetpoint = DayPlan1.Output(); endif; // Pokud je režim místnosti „Útlum“ if ModbusSlave.RoomMode == 1 then ModbusSlave.TempSetpoint = EEprom.Tz_utlum; endif; // Pokud je režim místnosti „Komfort“ if ModbusSlave.RoomMode == 2 then ModbusSlave.TempSetpoint = EEprom.Tz_komf; endif; else // Pokud se chladí // Pokud je režim místnosti „Časový plán“ if ModbusSlave.RoomMode == 0 then ModbusSlave.TempSetpoint = DayPlan2.Output(); endif; // Pokud je režim místnosti „Útlum“ if ModbusSlave.RoomMode == 1 then ModbusSlave.TempSetpoint = EEprom.Tz_utlum; endif; // Pokud je režim místnosti „Komfort“ if ModbusSlave.RoomMode == 2 then ModbusSlave.TempSetpoint = EEprom.Tz_komf; endif; endif;
Volba režimu místnosti Pro určování režimu místnosti bude využit registr RoomMode. Parametrizace a navázání tohoto registru na ovládací prvek obrazovky je uvedeno v kapitole 5.2. Editování časových plánů žádané teploty pro topení a chlazení Pro nadefinování potřebných časových plánů se opět využije objekt DayPlan. Do projektu budou tedy vloženy dva objekty DayPlan. Postup editace při návrhu je totožný jako v kapitole 5.2. Pro editaci časových plánů ze strany obsluhy (z displeje) je do aplikace při návrhu obrazovek vložen prvek „APlan“, který tuto funkci zajišťuje (viz kapitola 5.2). Volba režimu ventilátoru Pro volbu režimu ventilátoru bude využit registr FanMode , který bude navázán na ovládací prvek obrazovky (viz kapitola 5.2)
29/41
esidet_g_cz_100
ESIDET
5.2. Tvorba obrazovek pro AMR-OP7x Tvorba obrazovek spočívá v umisťování různých prvků na plochu editoru obrazovek a jejich parametrizaci v okně „Vlastnosti“. Seznam nadefinovaných obrazovek lze zobrazit dvojklikem levým tlačítkem myši na položku „Obrazovky“ v okně „Projekt“. V otevřeném seznamu obrazovek je nutno nadefinovat obrazovky dle obr. 32. Nová obrazovka se vytvoří např. pomocí klávesy Insert.
Obr. 32 - Založené obrazovky v záložce „Obrazovky“ Editace jednotlivých obrazovek se vyvolá dvojklikem levým tlačítkem myši na vybranou obrazovku. Obrazovka Main Na této obrazovce bude zobrazena hodnota měřené teploty místnosti, žádaná teplota, tlačítko pro volbu režimu místnosti, tlačítko pro volbu režimu ventilátoru a tlačítko pro další nastavení teplot a časových plánů. Jednotlivé prvky se vloží na plochu editoru obrazovek např. přetažením myši z okna „Toolbox“. Pro zobrazení hodnoty proměnné lze použít prvek NumericView. Do editoru obrazovek budou vloženy dva tyto prvky. Jeden bude zobrazovat měřenou hodnotu teploty místnosti a druhý bude zobrazovat hodnotu žádanou.
Obr. 33 - Vložení prvků NumericView Veškerou parametrizaci, jako je typ fontu, výška / šířka prvku, proměnnou, jejíž hodnotu prvek zobrazuje apod., se provede v okně „Vlastnosti“.
esidet_g_cz_100
30/41
ESIDET
Proměnná, kterou bude prvek zobrazovat, se naváže např. kliknutím levým tlačítkem myši na tlačítko , na řádku „Variable“, v okně „Vlastnosti“.
Obr. 34 - Okno „Vlastnosti“ prvku NumericView1 Poté se zobrazí okno se seznamem nadefinovaných proměnných, které lze na tento prvek navázat.
Obr. 35 - Okno „Výběr proměnné“ Protože prvek NumericView1 bude zobrazovat měřenou teplotu místnosti, bude vybrána proměnná TmepMeasured objektu ModbusSlave. Výběr se potvrdí tlačítkem OK.
31/41
esidet_g_cz_100
ESIDET Stejným postupem se naváže proměnná TempSetpoint objektu ModbusSlave na prvek NumericView2. Pro zobrazení statických textů (např. pro zobrazení jednotek měřené a žádané teploty) bude použit prvek Label.
Obr. 36 - Vložení prvků se statickým textem Editaci zobrazovaného statického textu lze provést např. v okně „Vlastnosti“ prvku Label1 a Label2.
Obr. 37 - Okno „Vlastnosti“ prvku Label1 Pro přepnutí na další obrazovku lze použít prvek „Button“.
Obr. 38 - Vložení prvku „Button“ Aby tuto funkci prvek vykonával, je nutné ve skriptu této obrazovky doplnit do události „OnButtonDown“ prvku „Button1“ následující kód.
esidet_g_cz_100
32/41
ESIDET
event Button1_OnButtonDown() Temp.Show(); end;
Editor skriptu konkrétní obrazovky lze otevřít např. kliknutím levým tlačítkem myši na tlačítko „Skript“ v levé dolní části editoru obrazovek. Zpět do návrhu editoru obrazovek se lze přepnout pomocí tlačítka „Návrh“, viz následující obrázek.
Obr. 39 - Tlačítka pro přepínání editoru skriptu a návrhu obrazovky Více informací ohledně použití skriptu obrazovek lze nalézt v Nápovědě obrazovek. Pro nastavení režimu místnosti a režimu ventilátoru lze použít prvek CaseButton.
Obr. 40 - Vložení prvků „CaseButton“ Navázání proměnné na konkrétní prvek CaseButton se provede opět v okně „Vlastnosti“ a definice zobrazovaných ikon s přiřazením hodnot se zadá např. po kliknutí myši na odkaz „Add/Remove items“ v okně „Vlastnosti“.
33/41
esidet_g_cz_100
ESIDET
Obr. 41 - Okno „Vlastnosti“ prvku CaseButton1
Obr. 42 - Definice položek prvku CaseButton1 pro režim místnosti Podobným postupem se nastaví prvek CaseButton2 pro zadávání režimu ventilátoru. Poznámka Ikony použité pro prvky CaseButton1 a CaseButton2 jsou po instala-
ci DetStudia k dispozici v adresáři: „C:\Documents and Settings\user_name\Dokumenty\DetStudio\Icons\“.
Obrazovka Temp Na obrazovce „Temp“ bude editována teplota pro režim místnosti „Komfort“, „Útlum“ a korekce teploty. Pro editaci hodnoty proměnné se použije prvek NumericEdit. Tento se do návrhu obrazovky přidá stejně jako u předchozích prvků z okna „ToolBox“. Dále je na této obrazovce umístěno tlačítko „Zpět“ pro návrat na předchozí obrazovku a tlačítko „Další“ pro přechod na následující obrazovku. Jednotlivé prv-
esidet_g_cz_100
34/41
ESIDET ky se nadefinují stejně jako u obrazovky „Main“. Navázání proměnných na jednotlivé prvky se provede např. pomocí okna „Vlastnosti“, jak bylo ukázáno u obrazovky „Main“. Dále je nutno ve skriptu obrazovky doplnit prvkům Button do události „OnButtonDown“ skript pro zobrazení požadované obrazovky. Výsledná obrazovka vypadá následovně.
Obr. 43 - Obrazovka „Temp“ Skript pro tlačítko „Zpět“ (přechod na obrazovku „Main“). event Button1_OnButtonDown() Main.Show(); end;
Skript pro tlačítko „Další“ (přechod na obrazovku „CP_menu“). event Button2_OnButtonDown() CP_menu.Show(); end;
Obrazovka CP_menu Obrazovka „CP_menu“ slouží pro zobrazení editoru časového plánu pro režim topení nebo chlazení. Do návrhu obrazovky se vloží dva prvky Button, které budou sloužit pro přechod na obrazovky s editorem časových plánů. Dále se na obrazovky vloží ještě jeden prvek Button, pomocí kterého se bude vracet na předchozí obrazovku. Opět je nutno ve skriptu obrazovky doplnit prvkům Button do události „OnButtonDown“ skript pro zobrazení požadované obrazovky. Výsledná obrazovka vypadá následovně.
Obr. 44 - Obrazovka „CP_menu“ Skript pro tlačítko „Topení“ (přechod na obrazovku „CP_heating“). event Button2_OnButtonDown() CP_heating.Show(); end;
35/41
esidet_g_cz_100
ESIDET
Skript pro tlačítko „Chlazení“ (přechod na obrazovku „CP_cooling“). event Button3_OnButtonDown() CP_cooling.Show(); end;
Skript pro tlačítko „Zpět“ (přechod na obrazovku „Temp“). event Button1_OnButtonDown() Temp.Show(); end;
Obrazovky CP_heating, CP_cooling Obrazovky „CP_heating“ a „CP_cooling“ slouží pro editaci časových plánů pomocí prvku APlan. Tento prvek je konkrétně navržen pro tuto činnost. Prvek se na jednotlivé obrazovky přidá z okna „Toolbox“ a v okně „Vlastnosti“ tohoto prvku se naváže vybraný objekt DayPlan.
Obr. 45 - Okno „Vlastnosti“ prvku APlan Podrobný popis ovládání prvku APlan pro editaci časových plánů je uveden v nápovědě Nápověda obrazovek. Obrazovky „CP_heating“ a „CP_cooling“ budou po vložení prvku APlan vypadat následovně.
Obr. 46 - Obrazovka „CP_heating“, „CP_cooling“
5.3. Doplnění aplikace pro AMR-FCT10 Protože se aplikace rozšířila o regulátor AMR-OP7x, je nutné vložit do aplikace pro AMR-FCT10 objekt ModbusMaster, který zajistí aktivní komunikaci mezi
esidet_g_cz_100
36/41
ESIDET regulátory, a dále objekt RoomUnit, který zabezpečí obsluhu předdefinovaných registrů v objektu ModbusSlave regulátoru AMR-OP7x.
Obr. 47 - Okno „Projekt“ s vloženými objekty ModbusMaster a RoomUnit V okně „Vlastnosti“ objektu ModbusMaster se zvolí na řádku „Baudrate“ požadovaná komunikační rychlost (komunikační rychlosti obou regulátorů musí být shodné), na řádku „Modbus Parity“ se zvolí partita a na řádku „SerialPort“ se vybere číslo sériového portu, na kterém bude probíhat komunikace s AMR-OP7x.
Obr. 48 - Okno „Vlastnosti“ objektu ModbusMaster V okně „Vlastnosti“ objektu RoomUnit je nutné zadat nastavenou adresu AMR-OP7x.
37/41
esidet_g_cz_100
ESIDET
Obr. 49 - Okno “Vlastnosti“ objektu RoomUnit1 Výše popsanými kroky je naparametrizována komunikace mezi oběma regulátory. Úprava aplikace Protože AMR-OP7x vykonává část kódu stejně jako AMR-FCT10, doplní se aplikace o podmínku, která bude zohledňovat stav komunikace s AMR-OP7x, tzn., že pokud bude komunikace v pořádku, bude měřenou teplotu, žádanou teplotu, korekci, režim místnosti a režim ventilátoru poskytovat AMR-OP7x. V případě, že bude komunikace rozpadlá, bude vykonávat AMR-FCT10 původní kód. Zápis kódu zahrnující test připojení AMR-OP7x a zpracování načtených hodnot z registrů může být zapsán např. následovně. // Test, zda je jednotka připojena if RoomUnit1.Disconnected then // Jednotka je odpojena … „Zde je umístěn původní zápis kódu z kap. 4.3.“ … else // Jednotka je připojena // Výpočet akčního zásahu if Ram.Rezim_HC then // Pokud se topí Pid1.SetPoint = RoomUnit1.TempSetpoint; Ram.Akcni_zasah = Pid1.Output(RoomUnit1.TempMeasured, 0); else // Pokud se chladí Pid1.SetPoint = RoomUnit1.TempMeasured; Ram.Akcni_zasah = Pid1.Output(RoomUnit1.TempSetpoint, 0); endif; // Výpočet polohy regulačního ventilu Valve1.Solve(Ram.Akcni_zasah); // Výkonu ventilátoru dle akčního zásahu a režimu ventilátoru if RoomUnit1.FanMode == 4 then // Pokud je režim Auto // „Stupeň 3“ if Hyst4.Output(Ram.Akcni_zasah) then Ram.Vykon_Ventilatoru.2 = true; Ram.Vykon_Ventilatoru.1 = false; Ram.Vykon_Ventilatoru.0 = false;
esidet_g_cz_100
38/41
ESIDET else // „Stupeň 2“ if Hyst3.Output(Ram.Akcni_zasah) then Ram.Vykon_Ventilatoru.2 = false; Ram.Vykon_Ventilatoru.1 = true; Ram.Vykon_Ventilatoru.0 = false; else // „Stupeň 1“ if Hyst2.Output(Ram.Akcni_zasah) then Ram.Vykon_Ventilatoru.2 = false; Ram.Vykon_Ventilatoru.1 = false; Ram.Vykon_Ventilatoru.0 = true; else Ram.Vykon_Ventilatoru = 0; endif; endif; endif; else // Ruční režim ventilátoru // „Vypnuto“ if RoomUnit1.FanMode == 0 then Ram.Vykon_Ventilatoru = 0; endif; // „Stupeň 1“ if RoomUnit1.FanMode == 1 then Ram.Vykon_Ventilatoru.0 = true; Ram.Vykon_Ventilatoru.1 = false; Ram.Vykon_Ventilatoru.2 = false; endif; // „Stupeň 2“ if RoomUnit1.FanMode == 2 then Ram.Vykon_Ventilatoru.0 = false; Ram.Vykon_Ventilatoru.1 = true; Ram.Vykon_Ventilatoru.2 = false; endif; // „Stupeň 3“ if RoomUnit1.FanMode == 3 then Ram.Vykon_Ventilatoru.0 = false; Ram.Vykon_Ventilatoru.1 = false; Ram.Vykon_Ventilatoru.2 = true; endif; endif; endif;
39/41
esidet_g_cz_100
ESIDET
6.
Další SW nástroje pro regulátory AMREG
6.1. AMRConfig Tento SW nástroj slouží ke konfiguraci AMREG regulátorů po lince RS485, kteří nemají DIP přepínače pro nastavení komunikačních parametrů a také lze tímto nástrojem do regulátoru zavést vygenerovanou aplikaci. Při použití tohoto nástroje musí být na linku RS485 připojen jen jeden regulátor AMREG. Nástroj lze spustit z DetStudia přes položku hlavního menu „\Nástroje\Modbus konfigurace stanice“. Příklad práce s tímto nástrojem lze nalézt v Nápovědě EsiDet.
6.2. Multidownload SW nástroj Multidownload je určen pro zavádění vygenerované aplikace po sběrnici RS485, do které jsou zapojeny AMREG regulátory. Aplikaci lze zavádět jak do jednoho zařízení, tak do více zařízení. Nástroj lze spustit z DetStudia přes položku hlavního menu „\Nástroje\Modbus multidownload“. Příklad práce s tímto nástrojem lze nalézt v Nápovědě EsiDet.
esidet_g_cz_100
40/41
ESIDET
7.
Ukázkové a typové aplikace
7.1. Ukázkové aplikace Ukázkové aplikace, vytvořené v tomto dokumentu, jsou součástí instalace DetStudia. Lze je nalézt v adresáři DetStudio/Examples.
7.2. Typové aplikace Na webových stránkách www.amit.cz lze stáhnout typové aplikace pro regulátory AMREG. Typové aplikace řeší konkrétní příklad použití daného regulátoru, například typová aplikace pro nástěnný programovatelný ovladač AMR-OP33. Ke každé typové aplikaci je k dispozici zdrojový kód aplikace pro DetStudio. Tyto typové aplikace může uživatel použít „tak jak jsou“ nebo si je může upravit dle vlastních specifikací.
41/41
esidet_g_cz_100