====== Více kontrolerů v sestavě ====== #;; Patron Neuron Gate Unipi 1.1 Axon #;; Pokud potřebujete v instalaci použít více než jedno PLC, systém Mervis umožňuje v rámci jedné sestavy jich definovat více. Toto je výhodné pro přehlednost, rychlost úprav a udržitelnost projektu. Sestava musí být v **[[creating-new-project-hidden#prepnuti_do_plneho_modu|Plném módu]]**, jinak další PLC nelze přidat. ===== Přidání (dalšího) regulátoru do sestavy ===== Přidání regulátoru do sestavy se provádí označením řádku **Systém** v horní části levého panelu sestavy, kliknutím pravého tlačítka myši a výběrem možnosti **Přidat regulátor** z kontextového menu. Následné přiřazení PLC je již shodné s [[creating-new-project-hidden#pripojeni_ke_kontroleru|přidáním prvního regulátoru]] ve zjednodušeném módu. {{ .:multiple-controllers:more_controllers_01_add_regulator.png?direct |}} Při vytvoření sestavy ve zjednodušeném módu se automaticky vytvoří univerzální PLC definice, ke které se poté přiřadí reálné PLC. V plném módu se vždy přidává PLC shodně, ať už je první, nebo několikáté. \\ ==== Názvy PLC ==== Mervis vygeneruje název nově přidaného regulátoru jako PLC, PLC_0, PLC_1 atd. V rámci přehlednosti je velmi vhodné změnit název regulátoru na více popisný. Toto se provede změnou ve **Vlastnostech**, které se zobrazí v pravém panelu po označení regulátoru v panelu **Sestavy**. {{ .:multiple-controllers:more_controllers_02_change_name.png?direct |}} \\ ==== Hlavní program a definování úlohy ==== Každý regulátor musí vykonávat program. Po přidání regulátoru je proto nutné definovat úlohu a namapovat program, který se bude spouštět dle nastavených parametrů úlohy. ---- 1. Vytvoření programu Program se vytvoří označením názvu (spustitelného) projektu, kliknutím pravým tlačítkem myši a výběrem Přidat > Přidat program {{ .:multiple-controllers:more_controllers_03_add_program.png?direct |}} \\ V dialogovém okně lze zvolit název nového programu a jazyk ve kterém bude napsán (FBD|ST). Typ je nutné nastavit na **Program**. Pro účely tohoto návodu bude v jazyce FBD vytvořen jeden program pro každé PLC: main1, main2 a main3. {{ .:multiple-controllers:more_controllers_04_program_details.png?direct |}} Před dalším krokem je nutné sestavu zkompilovat, aby se nově vytvořené programy zahrnuly do sestavy a bylo je možné přiřadit (namapovat) k úloze. Výsledek kompilace bude neúspěšný, důvodem je chybějící úloha u nově přidaného PLC. ---- 2. Vytvoření a nastavení úlohy Vytvoření úlohy se provede kliknutím pravým tlačítkem myši kdekoliv do prostoru okna, které se otevře po dvojkliku na název požadovaného PLC. {{ .:multiple-controllers:more_controllers_05_add_task.png?direct |}} \\ Všechny změny je nutné potvrdit kliknutím na **OK** v červené liště. {{ .:multiple-controllers:more_controllers_06_red_bar.png?direct |}} ---- Dvojitým kliknutím do kolonky pod **Mapování programu** se otevře tabulka. V této tabulce se označením myší vybere požadovaný program a přidá se kliknutím na tlačítko Přidat →. {{ :cs:sw:01-mervis:multiple-controllers:more_controllers_08_add_task_tweaked.png?direct |}} ---- Nastavení úlohy zůstává výchozí. {{ .:multiple-controllers:more_controllers_09_task_type.png?direct |}} Podrobně je vytvoření úlohy, mapování programu a nastavení typu úlohy popsáno v [[task-definition-hidden|samostatném článku]]. ===== Struktura sestavy ===== Jak se sestava zvětšuje, je vhodné volit správné názvy a strukturu. V opačném případě se může stát sestava zcela nepřehlednou, zvyšuje se šance na výskyt chyb a v případě úprav bude po delší době výrazně těžší se opět zorientovat. ---- Pokud je pro vygenerování proměnných připojených zařízení (rozšiřující moduly, senzory, atd.) využit [[autogen-hidden|autogen]], je důležité volit názvy zařízení odvíjející se od názvu PLC, typu HW a dalších podrobností, které co možná nejvíce upřesní lokaci a využití. Důvodem pro volbu takových názvů je fakt, že název zařízení je součástí názvu proměnné vygenerované autogenem. Současně by název neměl být příliš dlouhý a měl by se skládat z několika zkratek (2-4 znaky) oddělených podtržítkem. {{ .:multiple-controllers:more_controllers_10_system_structure.png?direct |}} Adresářová struktura programů by měla odpovídat logickému a fyzickému rozdělení. {{ .:multiple-controllers:more_controllers_11_program_structure.png?direct |}} Podle podobné logiky by měla být rozdělena i struktura v HMI projektech. {{ .:multiple-controllers:more_controllers_12_hmi_structure.png?direct |}} ===== Ladění ===== Pokud je v sestavě více regulátorů, je ladění o něco složitější. Při spuštění ladění je nutné volit, které PLC se mají ladit (ke kterým se má IDE připojit) a při ladění mít zvoleno správné PLC, pro případ kdy více PLC spouští stejný program. ---- Režim ladění se zapne kliknutím na ikonu **Start ladění** s obrázkem brouka. {{ .:multiple-controllers:more_controllers_13_start_debbuging.png?direct |}} Dále je ovšem nutné vybrat jeden nebo více regulátorů, se kterými se bude v režimu ladění pracovat a potvrdit kliknutím na **OK**. {{ .:multiple-controllers:more_controllers_14_choose_debug_controller.png?direct |}} Při ladění je poté nutné v horní liště, v části **Ladění**, zvolit v roletkovém menu požadovaný regulátor. {{ .:multiple-controllers:more_controllers_15_debug_controller.png?direct |}} Ladění bude následně vypadat přibližně takto. Pro účely této ukázky byly přídány dva funkční bloky BD30, několik proměnných a využit [[autogen-hidden|autogen]]. {{ .:multiple-controllers:more_controllers_16_debuging.png?direct |}} ===== Možnosti s více PLC ===== Po přidání více PLC do jedné sestavy se nabízí celá řada možností, které se takto dají jednodušeji nasadit. Celkové řešení je názornější, přehlednější a případné ladění výrazně lehčí. Použití více kontrolerů v sestavě: * rozmístěných na vzdálených lokacích, s [[lte-configuration-hidden|LTE internetovým připojením]], sledující a řídící části rozsáhlého areálu, ale v rámci jednoho projektu. V takovém případě se Mervis IDE připojuje k PLC přes [[connecting-to-unipi-via-mervis-proxy-hidden|Proxy]] a výměna informací mezi PLC může probíhat [[multiple-unipi-through-sscp-hidden|SSCP protokolem]] (také přes proxy). * které jsou součástí rozsáhlého systému, kde každé PLC řídí samostatnou část (topení, VZT, přístupový systém, řízení jednotlivých strojů, atp.) ve středně rozsáhlých instalacích. * přímo vybízí k nasazení [[mervis-scada-project-hidden|centrálního monitoringu a řízení SCADA]], nebo [[creating-external-hmi-hidden|externího webserveru]].