====== 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]].