IDE v2.3.0 a novější
====== První projekt s jednotkou Unipi ====== Každý prvotní návod zahrnuje blikání diody, či cvakající relé. Ani tento návod není výjimkou. Na následujících řádcích vytvoříme nejjednodušší možný projekt, jehož účelem bude spínání a rozpínání digitálního výstupu v intervalu 5s. ;;# Patron \\ Neuron \\ Gate \\ Axon ;;# Následující návod obsahuje veškeré základní nastavení, které je potřebné pro vytvoření projektu v Mervis IDE a spuštění na kontrolérech Patron, Neuron, Gate, či Axon. Veškeré další návody se aplikují na tento první projekt. Poslední kapitola tohoto návodu je právě ono bliknutí diodou digitálního výstupu, tedy program ve FUPLA blocích spínající digitální výstup. Co budete potřebovat: - PLC Unipi [[https://www.unipi.technology/cs/patron-c44|Patron]] / [[https://www.unipi.technology/cs/neuron-c2|Neuron]] / [[https://www.unipi.technology/cs/gate-c50|Gate]] / Axon - [[https://www.unipi.technology/cs/napajeci-zdroj-pro-din-listu-24v-dc-0-63a-p18|24 V⎓ zdroj napájení]] - Stažený archiv s Mervis OS pro [[cs:files:software:os-images:00-start#patron_mervis_os|Patron]], [[cs:files:software:os-images:00-start#neuron_mervis_os|Neuron]], [[cs:files:software:os-images:00-start#gate|Gate]], nebo [[cs:files:software:os-images:00-start#axon_mervis_os|Axon]] - Počítač s nainstalovaným prostředím [[cs:files:software:mervis:00-start#aktualni_verzi_mervis_ide_naleznete_zde|Mervis IDE]] {{ :files:img_breakline_2.png?nolink |}} Pro účely tohoto návodu je NUTNÉ: - [[cs:sw:01-mervis:01-mervis-ide|Seznámit se s Mervis IDE]] - [[cs:sw:01-mervis:connecting-to-unipi-hidden|Propojení Mervis IDE a kontroléru Unipi]] - Pouze pro PLC **Patron**: [[cs:sw:01-mervis:running-on-patron-hidden|nahrát Mervis OS do kontroléru Patron]] - Pouze pro PLC **Neuron**: [[cs:sw:01-mervis:running-on-neuron-hidden|nahrát Mervis OS na SD kartu]] - Pouze pro PLC **Gate**: [[cs:sw:01-mervis:running-on-gate-hidden|nahrát Mervis OS do Unipi Gate]] - Pouze pro PLC **Axon**: [[cs:sw:01-mervis:running-on-axon-hidden|nahrát Mervis OS do kontroléru Axon]] - Připojit napájení - počkejte alespoň minutu, než se OS v kontroléru spustí ===== Vytvoření projektu ===== V terminologii Mervisu je projekt (tj. sada konfigurací, programů a HMI rozhraní) označován jako **sestava**. Pro vytvoření nové **sestavy** klikněte na **Soubor → Nová sestava** (Ctrl+N), případně klikněte na ikonu {{:files:solution_new.png?nolink|}} na horní liště. {{ :en:sw:01-mervis:01_creating-new-project_en.png?direct |}} V dialogovém okně **Nová sestava** je třeba zadat **název** sestavy a **umístění**, do kterého se sestava uloží. Vyplňte obě pole dle svých potřeb a klikněte na **OK**. {{ :en:sw:01-mervis:02_creating-new-project_en.png?direct |}} Druhou věcí, kterou je třeba při vytváření sestavy specifikovat, je **výběr režimu**. Režim určuje chování Mervis IDE -> **Zjednodušený mód** za Vás vytvoří celé jádro sestavy, tj. definuje základní programy, vygeneruje mapování proměnných apod. Zároveň Vám ale tato volba omezí výběr programovací metody pouze na **metodu funkčních bloků (FBD)**. Zjednodušený mód je proto vhodný především pro začátečníky. Pro zkušenější uživatele je určen **Plný mód** ze kterého se do zjednodušeného módu můžete přepnout, tento krok je však nevratný. Plný mód neprovádí automaticky nic a veškeré nastavení je proto zcela na Vás. Je tedy vhodné, nechat si vytvořit základ sestavy automaticky ve **Zjednodušeném módu** (až na speciální situace) a až následně převést do **Plného módu**. {{ :en:sw:01-mervis:03_creating-new-project_en.png?direct |}} ===== Připojení ke kontroléru ===== Dalším krokem ve vytváření **sestavy** je připojení se ke spuštěnému Unipi kontroléru. V **levém panelu** na záložce **Sestava** klikněte pravým tlačítkem myši na **PLC** a poté na **Přiřadit PLC**. {{ :en:sw:01-mervis:04_creating-new-project_en.png?direct |}} Zobrazí se dialog **Přiřadit PLC**. V něm můžeme vybrat způsob, kterým se Mervis IDE pokusí připojit ke kontroléru. Pokud se kontrolér nachází ve stejné místní síti, použijte **UDP Broadcast** a klikněte na **Další >**. {{ :en:sw:01-mervis:05_creating-new-project_en.png?nolink |}} Nyní se zobrazí výzva k vyplnění jména a hesla (SSCP přístup) pro připojení ke kontroléru. Výchozí údaje jsou: **admin / rw**. Nyní ponechejte a klikněte na **Další >**. {{ :en:sw:01-mervis:06_creating-new-project_en.png?nolink |}} Následující okno funguje jako stavový ukazatel. Mervis IDE nyní vyhledává všechny kontroléry připojené ke všem síťovým kartám, které Váš počítač má. {{ :en:sw:01-mervis:07_creating-new-project_en.png?nolink |}} Po dokončení vyhledávání Mervis IDE zobrazí seznam všech nalezených kontrolérů. Cílový kontrolér můžete najít podle jejího názvu v poli **Platforma**. Návod jsme vytvářeli s kontrolérem Neuron S103, vy však vyberte ze seznamu váš konrétní kontrolér se kterým pracujete a následně klikněte na **Další >**. {{ :en:sw:01-mervis:08_creating-new-project_en.png?nolink |}} V některých případech bude u některého z kontrolérů v poli **Verze runtime** zobrazen červený trojúhelník. Jde o indikaci toho, že je na kontroléru nahrána stará verze **Mervis RT**. Proces jeho aktualizace je popsán v návodu [[cs:sw:01-mervis:updating-a-runtime-hidden|Aktualizace runtime (RT)]] Pokud však máte u **Verze runtime** ikonu lebky. Je operační systém na kontroléru zastaralý a je nutné do něj nahrát nejnovější Mervis OS. Návod k nahrání OS do kontroléru Unipi pro: [[cs:hw:007-patron:image|Patron]], [[cs:hw:02-neuron:image|Neuron]], [[cs:hw:025-gate:image|Gate]] a [[cs:hw:01-axon:image|Axon]] Poslední dialogové okno během procesu připojování kontroléru obsahuje dotaz na stažení konfigurace. Tato konfigurace obsahuje základní nastavení kontroléru, jako je IP adresa, uživatelská jména a hesla, parametry připojení k Mervis DB, Mervis Proxy apod. V případě prvního přiřazení nového kontroléru doporučujeme konfiguraci vždy stáhnout. {{ :en:sw:01-mervis:09_creating-new-project_en.png?nolink |}} Kontrolér je nyní připojen. Označte v levém panelu položku **PLC**, po označení se v pravém panelu **Vlastnosti** zobrazí vlastnosti připojeného kontroléru. Tento panel vlastností je velice důležitý, nastavujete zde konfiguraci kontroléru. Ve vlastnostech je např. nastavení síťových karet, **zabezpečení**, připojení k databázi, SSCP, proxy, aj. Po dvojitém poklepání na **PLC** se zase v **hlavním panelu** objeví záložka **PLC**, kde je dále možné nastavit např. definici uživatelů pro webové rozhraní (HMI), mapování programů a další nastavení. {{ :en:sw:01-mervis:10_creating-new-project_en.png?direct |}} ===== Zabezpečení kontroléru ===== {{page>cs:sw:01-mervis:controller-securing-hidden}} ===== Připojení vstupů/výstupů ===== V Mervis IDE nyní máte přiřazen váš kontrolér. Z konstrukčního hlediska jsou kontroléry Unipi složeny z výpočetního modulu a desek plošných spojů se vstupy a výstupy, se kterými Mervis RT primárně komunikuje skrze protokol **Modbus TCP**. Výjimkou je řada Unipi Gate, kde vstupy a výstupy nejsou, ale je možné pomocí Modbus TCP číst stav interního úložiště. Zmiňovaný Modbus TCP komunikační kanál se přidal automaticky s přiřazením kontroléru. Pod tímto komunikačním kanálem dále naleznete automaticky vloženou Modbus tabulku nazvanou podle konkrétního modelu PLC. {{ :en:sw:01-mervis:11_creating-new-project_en.png?direct |}} ===== Nahrání prázdné konfigurace ===== Nyní je na řadě konfigurace. Tato část je důležitá zejména pokud právě začínáte nový projekt s kontrolérem, či rozšiřujícími moduly, které již byly v minulosti používány. Tato zařízení totiž mohou mít uloženou předchozí konfiguraci, která je nezávislá na nahrané sestavě, dokonce i na operačním systému a může tak nečekaně ovlivnit činnost celé sestavy. Není ale třeba se obávat, stačí pouze v aktuálním čistém projektu kliknout pravým tlačítkem myši na Modbus tabulku nazvanou podle přiřazeného kontroléru a vybrat položku **Konfigurovat modul Unipi**. Tím se nahraje výchozí konfigurace. Podrobněji je tento postup rozepsán v tomto článku: [[cs:sw:01-mervis:unipi-configure-module-hidden|Konfigurace modulu Unipi]]. {{ :en:sw:01-mervis:12_creating-new-project_en.png?direct |}} ===== Přepnutí do plného módu ===== Jelikož jste projekt vytvořili ve **Zjednodušeném módu**, nemáte nyní přístup ke všem funkcím v Mervis IDE, například k ukládání záznamů historie proměnných. Výhodou vytváření projektu ve Zjednodušeném módu však je, že se vytvoří základní kostra projektu, včetně vytvoření hlavního programu **main.program.fbd** a přiřazení tohoto programu do tasku PLC, není tedy nutné vše nastavovat manuálně. Další výhodou je, že veškeré datové body v definicích zařízení (např. v Modbus tabulkách) mají automaticky generovány globální proměnné. To je užitečné hlavně při seznamování se s Mervis IDE, aby vše bylo o něco jednodušší. Jelikož již máte vše potřebné nastaveno, můžete projekt přepnout do **Plného módu**. Klikněte pravým tlačítkem na **Název projektu** (první položka) v panelu **Sestava** v **levé liště**. V kontextovém menu pak klikněte na **Přepnout do Plného módu**. {{ :en:sw:01-mervis:13_creating-new-project_en.png?direct |}} Nyní budete upozorněni, že se jedná o nevratnou akci, zvolte **OK** pro pokračování. {{ :en:sw:01-mervis:14_creating-new-project_en.png?nolink |}} Výsledkem této operace je povolení dalších funkcí, na první pohled viditelná změna nastala v levém panelu, kde se na konci seznamu objevila položka **Historie**, případně ve **Spustitelných projektech** naleznete zviditelněný soubor **generated.Mixed.st**. Tento soubor obsahuje definici proměnných, v tomto případě již obsahuje proměnné generované ve Zjednodušeném módu. Tento soubor nemažte, nepřesunujte, ani jiným způsobem neupravujte, je generován i upravován automaticky pomocí Autogenu. Autogen slouží pro automatické vytvoření proměnných z datových bodů, lze jej ale aplikovat i na celé zařízení obsahující více datových bodů, skupin, atd. Více o Autogenu se dočtete [[autogen-hidden|v tomto článku]]. {{ :en:sw:01-mervis:15_creating-new-project_en.png?direct |}} ===== Kompilace a nahrání sestavy (projektu) ===== ==== Kompilace sestavy ==== Kompilace sestavy zahrnuje zkompilování všech spustitelných projektů, HMI rozhraní, funkčních knihoven a HMI knihoven do jednoho binárního souboru, který bude používán běhovým prostředím v Mervis OS. Systém během kompilace zkontroluje správnost všech nastavení a upozorní Vás, pokud by úspěšnému zkompilování cokoliv bránilo. Pro kompilaci přejděte na **horní lištu** a klikněte na **Zkompilovat sestavu**. {{ :en:sw:01-mervis:16_creating-new-project_en.png?direct |}} Zobrazí se dialogové okno **Vybrané přístroje pro kompilaci** - seznam připojených kontrolérů, pro které může být projekt zkompilován. Ve výchozím nastavení jsou vybrány všechny dostupné kontroléry, terminály, či přiřazená webová rozhraní. Vaší volbu potvrďte kliknutím na **OK**. {{ :en:sw:01-mervis:17_creating-new-project_en.png??nolink |}} Tímto krokem začne samotná kompilace. Na **dolním panelu** v záložce **Výsledky** uvidíte jakékoliv hlášky během kompilace. Průběh kompilace pak můžete sledovat ve **stavovém řádku**. Pokud jste všechny výše uvedené instrukce provedli správně, kompilace by měla být úspěšně dokončena a ve stavovém řádku by se měla objevit zpráva “**Kompilace sestavy se podařila**” {{ :en:sw:01-mervis:18_creating-new-project_en.png?direct |}} ==== Nahrání sestavy ==== **Nahrání sestavy znamená:** kompilaci a následné nahrání vytvořeného binárního souboru do kontroléru a spuštění v **Plném běhu**. Pro nahrání sestavy klikněte na **Nahrát sestavu** na **horní liště**. {{ :en:sw:01-mervis:19_creating-new-project_en.png?direct |}} Stejně jako u **kompilování sestavy**, i zde se zobrazí okno s výběrem kontrolérů, do kterých se sestava nahraje. Volbu potvrďte kliknutím na **OK**. {{ :en:sw:01-mervis:20_creating-new-project_en.png?nolink |}} Posledním krokem nahrání sestavy je nastavit nový stav kontroléru. Máte zde několik možností, pro účely tohoto návodu ale ponechte výchozí nastavené možnosti a klikněte na **OK**. {{ :en:sw:01-mervis:21_creating-new-project_en.png?nolink |}} ===== Spínaní digitálního výstupu ===== Nyní je projekt nastaven, přejděte proto k vytváření vašeho prvního programu, který bude mít za úkol střídavě přepínat výstup **DO_1.01**. Pokud tento výchozí projekt vytváříte na kontroléru bez digitálních výstupů, můžete použít i relé výstup, nebo si vytvořte vlastní proměnnou a výstup si tak nasimulujte (např. pro Unipi Gate). “Přepínat výstup” znamená, že je třeba výstup nastavit tak, aby se na něm opakovaně měnila hodnota ''True'' a ''False''. Základní spustitelný projekt byl automaticky vygenerován ještě ve Zjednodušeném módu, díky tomu máte k dispozici program **main**, do něj budeme vytvářet logiku. V **levém panelu **dvojitě klikněte na **main.Program.fbd**. {{ :en:sw:01-mervis:22_creating-new-project_en.png?direct |}} Tím se na **hlavním okně** objeví okno programu. Programovací prostor programu pro FUPLA je rozdělen do **tří sekcí** - nalevo se nachází **Vstupy**, každý šedý box pak lze využít pro umístění jedné vstupní proměnné. {{ :en:sw:01-mervis:23_creating-new-project_en.png?direct |}} Ve středu je **logická sekce**, ve které se bude odehrávat samotné programování {{ :en:sw:01-mervis:24_creating-new-project_en.png?direct |}} A na pravé straně naleznete sekci **výstupů**. Stejně jako u vstupů, i zde můžete šedé boxy použít pro umístění proměnných. {{ :en:sw:01-mervis:25_creating-new-project_en.png?direct |}} Nyní pro ukázku a otestování můžete vytvořit jednoduchou logiku spínající právě výstup **DO_1.01** (nebo jeho alternativu). Celá logika bude vytvářena z již předpřipravených **funkčních bloků (FB)**, které jsou obsaženy v knihovnách Mervis. Každý FB je navržen pro určitou specifickou funkci a je tvořen vstupy, vnitřní logiku a výstupy. Hodnoty na vstupech zpracovává vnitřní logika a ta následně promítá výsledek na výstupech, které dále můžete připojit na vstupy jiných FB, či k hardwarovým výstupům. Klikněte na **FUPLA Box Explorer**, naleznete jej mezi záložkami ve spodní části levého panelu. {{ :en:sw:01-mervis:26_creating-new-project_en.png?direct |}} Na vrchním okraji **levého panelu** se nachází vyhledávací kolonka, díky které můžete snadno a rychle procházet bloky předdefinované Mervisem. {{ :en:sw:01-mervis:27_creating-new-project_en.png?direct |}} Nyní vyhledejte generátor pulzů. Zadejte do vyhledávače **pulse generator**. Vyhledávač prohledává funkční bloky v reálném čase, při psaní proto můžete vidět, jak se výsledky hledání postupně upřesňují. Po dopsání pak uvidíte pouze jeden výsledek - blok **Pulse Generator (BD2)**. Klikněte a tahem myši jej přetáhněte do **logické sekce**, poté tlačítko myši pusťte. {{ :en:sw:01-mervis:28_creating-new-project_en.png?direct |}} Blok **BD2 Pulse Generator** obsahuje jednoduchou logiku - ve výchozím nastavení výstup **Out** každou vteřinu periodicky přepíná mezi ''True'' a ''False''. Podívejme se nyní blíže na vstupy tohoto FB. Na samotném FB je viditelný vstup **Enable** a výstupy **Out** a **OutN**. Když ale na FB poklikáte, změní barvu na žlutou - tím systém indikuje, že je daný blok vybrán. V panelu **Vlastnosti** se tím rovněž zobrazí seznam vstupů a výstupů. Jak vidíte, nachází se jich na funkčním bloku mnohem více, než je viditelné v hlavním okně - většina jich je totiž standardně skryta. Viditelnost jednotlivých vstupů a výstupů můžete měnit pomocí vlastnosti **Viditelný**. Jelikož teď na generátoru pulzů nepotřebujeme nic víc než jeho výstup **Out**, zrušte označení ve sloupci **Viditelný** u všech vstupů a výstupů kromě **Out**. Mějte na paměti, že Mervis IDE neumožňuje ponechat v **logické sekci** nezapojené vstupy a pokus o kompilaci v takovém případě selže. Nakonec nastavte na skrytých hodnotách **Ttrue** a **Tfalse** interval 5s, digitální výstup by se tedy měl každých 5 sekund sepnout, či rozepnout. //**Poznámka**: více informací o bloku se dozvíte, když ho označíte a poté stisknete klávesu F1, tím otevřete nápovědu k vybranému bloku.// {{ :en:sw:01-mervis:29_creating-new-project_en.png?direct |}} Nyní je třeba propojit výstup generátoru pulzů k výstupu **DO_1.01** (nebo jeho alternativu). Klikněte pravým tlačítkem myši na **sekci výstupů**. V kontextovém menu pak přesuňte kurzor nad **Globální proměnné** a z podřazeného menu vyberte **Vložit existující proměnnou**. {{ :en:sw:01-mervis:30_creating-new-project_en.png?direct |}} V dialogovém okně **Vložit existující proměnnou** uvidíte seznam všech dostupných proměnných, vstupů a výstupů kontroléru. Pokud by byl seznam téměř prázdný (neplatí pro Unipi Gate), nemáte Autogenem definované proměnné dostupné pro vaše PLC. V takovém případě klikněte na zařízení (modbus tabulku) u Modbus TCP kanálu pravým tlačítkem myši a v kontextovém menu zvolte **Nastavit autogen**. Pokud jste však postupovali přesně podle návodu, máte v programu všechny proměnné vygenerované automaticky ještě ve Zjednodušeném módu. **Autogen** provede jednorázové vygenerování proměnných na základě dostupných nebo vybraných datových bodů vstupů a výstupů. To znamená, že při přidání zařízení je třeba tento seznam vygenerovat, abychom mohli vstupy a výstupy daného zařízení v programu použít. Alternativou je postup, kdy dvojklikem myši otevřete zařízení u Modbus TCP kanálu a pro konkrétní datový bod (zde **DO_1.01**) nastavíte autogen kliknutím pravým tlačítkem na datový bod a v kontextovém menu pak zvolte **Nastavit autogen**. Stejným způsobem můžete pracovat i s jinými zařízeními. V dialogovém okně **Vložit existující proměnnou** se zobrazí dlouhý seznam dostupných proměnných. Potřebnou proměnnou můžete vyhledat manuálně, či ji zkusit vyhledat podle jejího názvu. V tomto návodu zadáme do vyhledávání **DO_**, jelikož takto jsou pojmenovány všechny digitální výstupy na kontroléru Unipi. Téměř každý kontrolér Unipi má k dispozici 4 digitální výstupy. Digitální výstupy jsou vždy označeny klíčovým řetězcem **DO_y.x**, kdy **Y** zastupuje číslo sekce kontroléru a **X** číslo konkrétního výstupu. Některé výstupní proměnné, včetně digitálních výstupů, jsou na konci označeny pomocí písmena **R**, nebo **W**, což označuje, zda slouží pro čtení skutečné hodnoty, nebo pro zápis. Nyní kliknutím vyberte položku **DO_1.01_w** a potvrďte pomocí **OK**. {{ :en:sw:01-mervis:31_creating-new-project_en.png?direct |}} Výstupní proměnná se objeví v **sekci výstupů** na označené místo. Nyní je třeba propojit výstup funkčního bloku generátoru pulzů s proměnnou **DO_1.01_w**. Přesuňte kurzor na černou tečku vedle výstupu **Out** bloku generátoru pulzů, objeví se malý box obsahující údaje o typu výstupu. {{ :en:sw:01-mervis:32_creating-new-project_en.png?direct |}} Klikněte na **tečku**, podržte tlačítko a přemístěte kurzor k černé tečce vedle výstupu **DO_1.01_w**. Objeví se zeleně vyznačená linka propojující oba výstupy, která po uvolnění tlačítka myši změní barvu na oranžovou. {{ :en:sw:01-mervis:33_creating-new-project_en.png?direct |}} Nyní se můžete projekt **zkompilovat**. Viz. sekce [[#kompilace_sestavy|Kompilace sestavy]]. Pokud se vše podařilo, ve **stavovém řádku** se zobrazí zpráva **Kompilace se podařila**. Hlášení se značkou **Varování** v tabulce **Výsledky** na spodním panelu můžete pro tentokrát ignorovat. Pokud se kompilace podařila a vy jste výše uvedené instrukce správně následovali, můžete sestavu **nahrát** do kontroléru. Viz. sekce [[#nahrani_sestavy|Nahrání sestavy]]. Po nahrání sestavy začne digitální výstup **DO_1.01** přepínat v intervalech po 5s. ---- ;#; \\ Gratulujeme, právě jste dokončili svůj první projekt s kontrolérem Unipi! ;#; ===== Navazující návody ===== * [[use-mervis-runtime-licence-hidden|]] * [[autogen-hidden|]] * [[attaching-1-wire-devices-hidden|]] * [[weintek-hmi-bacnet-mervis-hidden|]]