Práce s Autogenem

Jednou z nejdůležitějších věcí, kterou je třeba o Mervis IDE vědět, je odpověď na otázku “Co je to Autogen a jak s ním mám pracovat?”. V předchozím tutoriálu jsme se naučili, že Autogen je nezbytný pro přístup z programu k hardwarovým vstupům a výstupům. Také jsme se naučili, jak Autogen nastavit u všech zařízení (PLC, rozšiřující moduly, Modbus zařízení, 1-Wire senzory apod.)

Patron
Neuron
Gate
Unipi 1.1
Axon

Autogen pro celé zařízení je užitečným nástrojem pro ladění programů; díky Autogenu můžete běhovému prostředí Mervis RT zadat instrukci, aby seřadil všechny vstupy a výstupy a okamžitě Vám je nabídl k dispozici pro ladění programu. Nevýhodou jsou zde ale vyšší nároky na výkon programu. Kontroléry zpracovávají velké množství informací, mnoho z nich je ale potřeba jen v určitých zvláštních situacích a za normálních okolností je nevyužijete. Řazení nedůležitých informací z rozšiřujících modulů přes relativně pomalé rozhraní RS485 pak může mít na výkon ještě výraznější dopad.

Druhou nevýhodou je fakt, že Set Autogen automaticky generuje názvy proměnných. Snadno si můžete sami zkontrolovat, že vygenerované jméno sestává ze jména kontroléru a jména vstupu/výstupu. V našem projektu jsme k systému připojili jednotku Neuron L503 a rozhodli jsme se použít digitální vstup DI_3.07. Vygenerované jméno je ““Neuron L503_DI_3.07”.

Tuto proměnnou můžete ve Vašem programu používat poměrně bez problémů, a to i opakovaně (jedno tlačítko může ovládat více částí projektu naráz). Jedním z problémů takového pojmenování ale je jeho nepopisnost. Když projekt vytváříte, snadno si zapamatujete, že DI_3.07 je připojen k tlačítku “OK” na operátorském panelu či k nástěnnému vypínači ve Vaší ložnici; o půl roku později si to už ale pamatovat nemusíte. Stejně tak může dojít k tomu, že bude třeba projekt předat někomu jinému, který na projektu nikdy předtím nepracoval a Vaše značení pro něj bude zmatečné.

Další problém představuje automatické začlenění jména PLC do jména proměnné - v našem případě předpona “Neuron_L503_”. Pokud používáte v sestavě pouze jeden kontrolér, tento problém se vás zřejmě nedotkne. Pokud ale užíváte kontrolérů více, projekt se může stát špatně čitelným a zcela nečitelným, pokud používáte více kontrolérů stejného typu. Z toho důvodu je užitečné pojmenovávat proměnné systematicky a podle nějakého klíče. Nejintuitivnější jsou jména založená na fyzickém umístění - kotelna, prvni_patro, operatorsky_panel apod.

Při pojmenovávání proměnných a kontrolérů doporučujeme používat malá písmena a číslice (a-z, 0-9) a k oddělení slov využít podtržítka: zasteny_loznice, teplota_patro1, kotelna_leva apod.

Pro vytváření přehledných a snadno čitelných projektů nabízí Mervis možnost přejmenovat kontroléry či vstupy/výstupy dle Vašich potřeb. Vytvořme si nyní jednoduchý projekt, na kterém si přejmenovávání ukážeme. Projekt bude zahrnovat jeden digitální vstup (DI1.1), kterým budeme odečítat stav tlačítka, a jeden digitální výstup ovládající LED indikátor.

Začneme přejmenováním kontroléru. V levém panelu vyberte kontrolér, v okně Vlastnosti změňte vlastnost “Název” na “operatorsky_panel” a potvrďte kliknutím na ikonku .

Nyní přejmenujeme vstupy a výstupy. Dvojitě klikněte na prototyp v levém panelu, přejděte na seznam vstupů/výstupů na hlavním panelu a vyhledejte název “DI_1.01”

Pro přejmenování vstupu zapište nové jméno do sloupečku “Jméno pro Autogen” a potvrďte kliknutím na . DI_1.01 je určen pro čtení stavu tlačítka, proto jej pojmenujte “tlacitko”

Nyní pro tento datový bod nastavíme Autogen. Klikněte na bod pravým tlačítkem myši, v kontextovém menu klikněte na “Nastavit Autogen” a potvrďte kliknutím na OK

U digitálního vstupu postup opakujte. DO_1.01 nazvěte “led”.

Jak zjistíte, digitální výstupy (DO) mají dva datové body: DO_X.Y_w a DO_X.Y_r. Pro účely tutoriálu použijte DO_X.Y_w, rozdíl mezi těmito body vysvětlíme v dalších tutoriálech.

Nastavením Autogenu pro dva datové body jsme vytvořili dvě globální proměnné. Jedním z míst, kde můžete proměnné spravovat, je nabídka Prohlížeč proměnných na hlavním panelu.