Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
cs:sw:01-mervis:communication-mervis-jablotron100-hidden [2021/05/03 07:38]
avsetula
cs:sw:01-mervis:communication-mervis-jablotron100-hidden [2024/03/14 09:12] (current)
kcerny typos
Line 1: Line 1:
-====== Propojení Mervis IDE a Jablotron100 ​======+====== Propojení Mervis IDE a Jablotron 100 ======
 <WRAP group 100%> <WRAP group 100%>
 <WRAP half column 81%> <WRAP half column 81%>
 Máte, nebo se chystáte integrovat zabezpečovací systém Jablotron 100 a přejete si využít periferie elektronického zabezpečovacího systému (EZS) i k dalším účelům? Použít stavy sekcí a periferií pro úsporu energií, anebo máte zcela jiný nápad a zajímá Vás, jak ho můžete realizovat? Máte, nebo se chystáte integrovat zabezpečovací systém Jablotron 100 a přejete si využít periferie elektronického zabezpečovacího systému (EZS) i k dalším účelům? Použít stavy sekcí a periferií pro úsporu energií, anebo máte zcela jiný nápad a zajímá Vás, jak ho můžete realizovat?
 +
 +Následující návod Vás provede nastavením HW i SW EZS Jablotron 100 a nastavením Mervis IDE.
 </​WRAP>​ </​WRAP>​
 <WRAP half column 15%> <WRAP half column 15%>
 ;;# ;;#
-<​html><​span class="​dev-tag dev-axon">Axon</​span></​html>​ \\+<​html><​span class="​dev-tag dev-patron">Patron</​span></​html>​ \\
 <​html><​span class="​dev-tag dev-neuron">​Neuron</​span></​html>​ \\ <​html><​span class="​dev-tag dev-neuron">​Neuron</​span></​html>​ \\
-<​html><​span class="​dev-tag dev-unipi11">​Unipi&​nbsp1.1</​span></​html>​+<​html><​span class="​dev-tag dev-gate">​Gate</​span></​html>​ \\ 
 +<​html><​span class="​dev-tag dev-unipi11">​Unipi&​nbsp1.1</​span></​html>​ \\ 
 +<​html><​span class="​dev-tag dev-axon">​Axon</​span></​html>​
 ;;# ;;#
 </​WRAP>​ </​WRAP>​
-</​WRAP>​ +</​WRAP> ​
- +
-Následující návod Vás provede nastavením HW i SW EZS Jablotron 100 a nastavením Mervis IDE. +
  
 <WRAP center round box> <WRAP center round box>
 <​html><​span class="​kbBlue-H4alt">​Co budete potřebovat?</​span></​html>​ <​html><​span class="​kbBlue-H4alt">​Co budete potřebovat?</​span></​html>​
   * Jednotku [[cs:​files:​software:​os-images:​00-start|Unipi s Mervis OS v2.3.0]] nebo novější ​   * Jednotku [[cs:​files:​software:​os-images:​00-start|Unipi s Mervis OS v2.3.0]] nebo novější ​
-  * [[https://​www.unipi.technology/​cs/​accessories-c4|24 ​VDC napájení]]+  * [[https://​www.unipi.technology/​cs/​accessories-c4|24 ​V⎓ napájení]]
   * Připojení k místní síti (libovolný switch, nebo router)   * Připojení k místní síti (libovolný switch, nebo router)
   * Ústřednu Jablotron 100(+)   * Ústřednu Jablotron 100(+)
   * RS-485 modul Jablotron JA-121T   * RS-485 modul Jablotron JA-121T
-  * [[https://​www.unipi.technology/​cs/​accessories-c4|Napájecí zdroj 6–28 ​VDC]] pro modul JA-121T+  * [[https://​www.unipi.technology/​cs/​accessories-c4|Napájecí zdroj 6–28 ​V⎓]] pro modul JA-121T
 </​WRAP>​ </​WRAP>​
  
 ===== 1 Zapojení modulu JA-121T ​ ===== ===== 1 Zapojení modulu JA-121T ​ =====
-Modul JA-121T zajišťuje galvanické oddělení linek Jablotron100 a RS-485. Proto je doporučeno přivést na každou stranu napájení z jiného napájecího zdroje. Jedna strana modulu je napájena přímo z ústředny a pro druhou **oddělenou stranu** použijte napětí v rozmezí 6 – 28 VDC jiné, než je použito pro napájení PLC (viz. manuál JA-121T). Dále propojte svorku **D+** modulu JA-121T se svorkou **RS485-A** na PLC. Stejný postup opakujte i pro svorku **D–** a **RS485-B**.+Modul JA-121T zajišťuje galvanické oddělení linek Jablotron100 a RS-485. Proto je doporučeno přivést na každou stranu napájení z jiného napájecího zdroje. Jedna strana modulu je napájena přímo z ústředny a pro druhou **oddělenou stranu** použijte napětí v rozmezí 6–28 ​V⎓ jiné, než je použito pro napájení PLC (viz. manuál JA-121T). Dále propojte svorku **D+** modulu JA-121T se svorkou **RS485-A** na PLC. Stejný postup opakujte i pro svorku **D–** a **RS485-B**.
  
 {{ :​cs:​sw:​01-mervis:​Jablotron100_cz_01.png?​nolink |}} {{ :​cs:​sw:​01-mervis:​Jablotron100_cz_01.png?​nolink |}}
Line 32: Line 34:
  
 ===== 2 Seznámení s ústřednou a popis jejího nastavení ===== ===== 2 Seznámení s ústřednou a popis jejího nastavení =====
- 
 ==== 2.1 Úvod a seznámení ==== ==== 2.1 Úvod a seznámení ====
 Zabezpečovací ústředny Jablotron 100(+) a jejich periferie komunikují po proprietární sběrnici Jablotron. Modul JA-121T slouží jako převodník interní sběrnice Jablotron na sériovou linkou RS-485 s ASCII komunikací a zpřístupňuje tak informace o EZS dalším systémům. Díky modulu je tak možné číst stavy periferií, sekcí nebo PG a také zapisovat stav sekce nebo PG. Zabezpečovací ústředny Jablotron 100(+) a jejich periferie komunikují po proprietární sběrnici Jablotron. Modul JA-121T slouží jako převodník interní sběrnice Jablotron na sériovou linkou RS-485 s ASCII komunikací a zpřístupňuje tak informace o EZS dalším systémům. Díky modulu je tak možné číst stavy periferií, sekcí nebo PG a také zapisovat stav sekce nebo PG.
 +
  
 === 2.1.1 Sekce === === 2.1.1 Sekce ===
 Pomocí datových bodů **Section_state** lze zjistit, nebo i měnit stav (odjištěno,​ zajištěno,​ servis atd..) jednotlivých sekcí. **Section_flags** zobrazují stav sirén, druh poplachu, příchodové a odchodové zpoždění. Pomocí datových bodů **Section_state** lze zjistit, nebo i měnit stav (odjištěno,​ zajištěno,​ servis atd..) jednotlivých sekcí. **Section_flags** zobrazují stav sirén, druh poplachu, příchodové a odchodové zpoždění.
 +
  
 === 2.1.2 PG === === 2.1.2 PG ===
 PG v ústřednách Jablotron jsou proměnné, které lze ovládat různými stavy, periferiemi atd. V některých instalacích EZS mohou být PG mapovány i na fyzické vstupy či výstupy. Pro účely tohoto tutoriálu jsou vhodné zejména kvůli rychlé reakci při propsání události do PLC. Na PG lze kopírovat např. stav periferie a lze jej tak vyčíst mnohem rychleji. PG v ústřednách Jablotron jsou proměnné, které lze ovládat různými stavy, periferiemi atd. V některých instalacích EZS mohou být PG mapovány i na fyzické vstupy či výstupy. Pro účely tohoto tutoriálu jsou vhodné zejména kvůli rychlé reakci při propsání události do PLC. Na PG lze kopírovat např. stav periferie a lze jej tak vyčíst mnohem rychleji.
 +
  
 === 2.1.3 Periferie === === 2.1.3 Periferie ===
-Periferie EZS může být magnetický okenní kontakt, či pohybové čidlo, fotopast, aj. Modul JA-121T bohužel zprostředkuje aktuální stavy periferií jen jednou za 10s a to vždy s aktuální hodnotou ve chvíli čtení. Tato prodleva tak nemusí být vhodná pro všechna použití, a ne vždy lze spolehlivě zjistit změnu stavu periferie. Pokud je zapotřebí číst stavy rychleji a s jistotou, je vhodnou variantou čtení za pomoci PG.+Periferie EZS může být magnetický okenní kontakt, či pohybové čidlo, fotopast, aj. Modul JA-121T bohužel zprostředkuje aktuální stavy periferií jen jednou za 10 s a to vždy s aktuální hodnotou ve chvíli čtení. Tato prodleva tak nemusí být vhodná pro všechna použití, a ne vždy lze spolehlivě zjistit změnu stavu periferie. Pokud je zapotřebí číst stavy rychleji a s jistotou, je vhodnou variantou čtení za pomoci PG. 
  
 === 2.1.4 Aktivní vs pasivní mód modulu JA-121T === === 2.1.4 Aktivní vs pasivní mód modulu JA-121T ===
Line 50: Line 55:
 V tomto módu modul JA-121T komunikuje spontánně. Ve chvíli, kdy nastane na sekci, PG, nebo periferii* změna, modul okamžitě odesílá informace o změnách. Tento režim není vhodný v instalacích,​ které požadují zapisování dat do ústředny, jelikož by na sériové lince RS-485 docházelo ke kolizím mezi daty z modulu a daty z PLC. V tomto módu modul JA-121T komunikuje spontánně. Ve chvíli, kdy nastane na sekci, PG, nebo periferii* změna, modul okamžitě odesílá informace o změnách. Tento režim není vhodný v instalacích,​ které požadují zapisování dat do ústředny, jelikož by na sériové lince RS-485 docházelo ke kolizím mezi daty z modulu a daty z PLC.
  
-//​*propsání periferií jen jednou za 10s//+//​*propsání periferií jen jednou za 10 s// 
  
 == Pasivní == == Pasivní ==
 Pasivní mód komunikuje na principu dotaz/​odpověď. Při zapisování dat do EZS (nastavení sekcí, ovládání PG) je nutné použít tento mód. Pasivní mód komunikuje na principu dotaz/​odpověď. Při zapisování dat do EZS (nastavení sekcí, ovládání PG) je nutné použít tento mód.
 +
  
 ==== 2.2 Nastavení ústředny ==== ==== 2.2 Nastavení ústředny ====
Line 70: Line 77:
   * Doba, po které vyhlásí poruchu – 0   * Doba, po které vyhlásí poruchu – 0
   * Potvrzení spojení – Vypnuto   * Potvrzení spojení – Vypnuto
-  * Pasivní mód – při zatrhnutí ​nastaven, jinak aktivní mód (dle použítí, viz. [[#​pasivni_vs_aktivni_mod_ja-121t|kapitola 2.1.4]])+  * Pasivní mód – při zatržení ​nastaven, jinak aktivní mód (dle použití, viz. [[#​pasivni_vs_aktivni_mod_ja-121t|kapitola 2.1.4]])
  
 {{ :​cs:​sw:​01-mervis:​Jablotron100_cz_03.png?​nolink |}} {{ :​cs:​sw:​01-mervis:​Jablotron100_cz_03.png?​nolink |}}
  
-Pokud chcete, aby PLC registrovalo hlášení sabotáže ústředny i když EZS není zajištěna,​ v nastavení ústředny musí být zatrhnuta ​vlastnost "//​Akustická signalizace sabotáže//"​. ​+Pokud chcete, aby PLC registrovalo hlášení sabotáže ústředny i když EZS není zajištěna,​ v nastavení ústředny musí být zatržena ​vlastnost "//​Akustická signalizace sabotáže//"​. ​
  
 <​html><​figure ondblclick="​redirectImg(this)"​ class="​zoom"​ onclick="​zoom(event)"​ style="​background-image:​ url(https://​kb.unipi.technology/​_media/​cs:​sw:​01-mervis:​Jablotron100_cz_04.png)">​ <​html><​figure ondblclick="​redirectImg(this)"​ class="​zoom"​ onclick="​zoom(event)"​ style="​background-image:​ url(https://​kb.unipi.technology/​_media/​cs:​sw:​01-mervis:​Jablotron100_cz_04.png)">​
Line 88: Line 95:
   * Prefix a heslo uživatele   * Prefix a heslo uživatele
   * Výběr sekcí a PG, které může uživatel ústředny ovládat   * Výběr sekcí a PG, které může uživatel ústředny ovládat
 +
  
 ===== 3 Nastavení v Mervis IDE ===== ===== 3 Nastavení v Mervis IDE =====
Line 93: Line 101:
  
 Nyní vytvořte nový projekt, nebo integrujte do vašeho stávajícího projektu. Postupujte podle následujícího návodu: ​ Nyní vytvořte nový projekt, nebo integrujte do vašeho stávajícího projektu. Postupujte podle následujícího návodu: ​
- 
  
 <​html><​figure ondblclick="​redirectImg(this)"​ class="​zoom"​ onclick="​zoom(event)"​ style="​background-image:​ url(https://​kb.unipi.technology/​_media/​cs:​sw:​01-mervis:​Jablotron100_cz_05.png)">​ <​html><​figure ondblclick="​redirectImg(this)"​ class="​zoom"​ onclick="​zoom(event)"​ style="​background-image:​ url(https://​kb.unipi.technology/​_media/​cs:​sw:​01-mervis:​Jablotron100_cz_05.png)">​
 <img src="​https://​kb.unipi.technology/​_media/​cs:​sw:​01-mervis:​Jablotron100_cz_05.png"​ /> <img src="​https://​kb.unipi.technology/​_media/​cs:​sw:​01-mervis:​Jablotron100_cz_05.png"​ />
 </​figure></​html>​ </​figure></​html>​
 +
  
 ==== 3.1 Přidání reference na knihovnu Lib.Jablotron ==== ==== 3.1 Přidání reference na knihovnu Lib.Jablotron ====
Line 108: Line 116:
 </​figure></​html>​ </​figure></​html>​
  
-Následně kliknete na záložku **Standartní ​knihovny**, vyberete požadovanou knihovnu a kliknete na **OK**.+Následně kliknete na záložku **Standardní ​knihovny**, vyberete požadovanou knihovnu a kliknete na **OK**.
  
 <​html><​figure ondblclick="​redirectImg(this)"​ class="​zoom"​ onclick="​zoom(event)"​ style="​background-image:​ url(https://​kb.unipi.technology/​_media/​cs:​sw:​01-mervis:​Jablotron100_cz_07.png)">​ <​html><​figure ondblclick="​redirectImg(this)"​ class="​zoom"​ onclick="​zoom(event)"​ style="​background-image:​ url(https://​kb.unipi.technology/​_media/​cs:​sw:​01-mervis:​Jablotron100_cz_07.png)">​
 <img src="​https://​kb.unipi.technology/​_media/​cs:​sw:​01-mervis:​Jablotron100_cz_07.png"​ /> <img src="​https://​kb.unipi.technology/​_media/​cs:​sw:​01-mervis:​Jablotron100_cz_07.png"​ />
 </​figure></​html>​ </​figure></​html>​
 +
  
 ==== 3.2 Nastavení komunikačního kanálu v Mervis IDE a přidání konkrétní ústředny ==== ==== 3.2 Nastavení komunikačního kanálu v Mervis IDE a přidání konkrétní ústředny ====
Line 164: Line 173:
  
 Právě přidané předdefinované zařízení ústředen obsahuje maximální konfiguraci ústředen. Pro správnou funkčnost je ale nutné zařízení optimalizovat,​ tj. pročistit od nepoužitých datových bodů sekcí, periferií a PG.  Právě přidané předdefinované zařízení ústředen obsahuje maximální konfiguraci ústředen. Pro správnou funkčnost je ale nutné zařízení optimalizovat,​ tj. pročistit od nepoužitých datových bodů sekcí, periferií a PG. 
 +
  
 ==== 3.3 Optimalizace zařízení ústředny v Mervis IDE ==== ==== 3.3 Optimalizace zařízení ústředny v Mervis IDE ====
Line 169: Line 179:
  
 Čtení hodnot z EZS probíhá po skupinách. Každá skupina má nastaven vlastní interval čtení dat. Čtení hodnot z EZS probíhá po skupinách. Každá skupina má nastaven vlastní interval čtení dat.
-Implicitně je v zařízení z knihovny nastaveno pro sekce 2s, pro periferie ​5s a pro PG 5ms. Toto nastavení je zvoleno pro stabilní komunikaci a pro co nejmenší zpoždění při čtení dat.+Implicitně je v zařízení z knihovny nastaveno pro sekce 2s, pro periferie ​5 s a pro PG 5 ms. Toto nastavení je zvoleno pro stabilní komunikaci a pro co nejmenší zpoždění při čtení dat.
  
 Optimalizace bude popsána na praktické instalaci. ​ Optimalizace bude popsána na praktické instalaci. ​
 +
  
 === 1 Příklad zadání: === === 1 Příklad zadání: ===
-Je třeba pomocí PLC vyčítat z Ústředny JA-103 stavy Sekce 1 a Sekce 2. Dále také sledovat 5 senzorů, které jsou namapovány na prvních 5 PG ústředny. Stav PG je z ústředny vyčten v čase 1 až 1,5s. Modul JA-121T v EZS musí být nastaven v **pasivním** režimu. Čtení z EZS je závislé na vytížení komunikace po sběrnici.+Je třeba pomocí PLC vyčítat z Ústředny JA-103 stavy Sekce 1 a Sekce 2. Dále také sledovat 5 senzorů, které jsou namapovány na prvních 5 PG ústředny. Stav PG je z ústředny vyčten v čase 1 až 1,5 s. Modul JA-121T v EZS musí být nastaven v **pasivním** režimu. Čtení z EZS je závislé na vytížení komunikace po sběrnici. 
  
 === 2 Samotná úprava: === === 2 Samotná úprava: ===
Line 199: Line 211:
 \\ \\
 <WRAP center round important 95%> <WRAP center round important 95%>
-Čtení periferií je ve výchozím nastavení definice zařízení v Mervis IDE nastaveno na 5s, což zajistí, že zprávy dorazí v nejrychlejším možném intervalu. Je to proto, jelikož modul JA-121T aktualizuje čtené stavy periferií jednou za 10s. Pokud je požadována rychlejší reakce, je nutno použít PG. Do PG lze propisovat stavy periferií i dalších stavů systému. Z toho důvodu, chcete-li číst například stavy senzorů, musíte v ústředně nastavit kopírování stavu požadovaných periferií (senzorů) na některé z PG ústředny. Rychlost čtení PG závisí na počtu čtených PG, počtu sekcí, aj. Dále komunikaci mírně zpomalí i čtení periferií, kde nezáleží na počtu, ale pouze na tom, zda je čteme, či nikoli. ​+Čtení periferií je ve výchozím nastavení definice zařízení v Mervis IDE nastaveno na 5s, což zajistí, že zprávy dorazí v nejrychlejším možném intervalu. Je to proto, jelikož modul JA-121T aktualizuje čtené stavy periferií jednou za 10 s. Pokud je požadována rychlejší reakce, je nutno použít PG. Do PG lze propisovat stavy periferií i dalších stavů systému. Z toho důvodu, chcete-li číst například stavy senzorů, musíte v ústředně nastavit kopírování stavu požadovaných periferií (senzorů) na některé z PG ústředny. Rychlost čtení PG závisí na počtu čtených PG, počtu sekcí, aj. Dále komunikaci mírně zpomalí i čtení periferií, kde nezáleží na počtu, ale pouze na tom, zda je čteme, či nikoli. ​
 </​WRAP>​ </​WRAP>​
 \\ \\
Line 248: Line 260:
  
 <​html><​span class="​kbBlueText">​Doporučené rozmezí:</​span></​html>​ \\ <​html><​span class="​kbBlueText">​Doporučené rozmezí:</​span></​html>​ \\
-  * Section_flags_and_states_rd ..... 1s až 5s +  * Section_flags_and_states_rd ..... až 5 s 
-  * pg_rd ................................................... 0 až 500ms +  * pg_rd ................................................... 0 až 500 ms 
-  * peripheral ........................................... ​5s až 30s+  * peripheral ........................................... ​až 30 s
  
 <WRAP center round important 90%> <WRAP center round important 90%>
Line 271: Line 283:
 <img src="​https://​kb.unipi.technology/​_media/​cs:​sw:​01-mervis:​Jablotron100_cz_23.png"​ /> <img src="​https://​kb.unipi.technology/​_media/​cs:​sw:​01-mervis:​Jablotron100_cz_23.png"​ />
 </​figure></​html>​ </​figure></​html>​
 +
  
 ==== 4.1 Transformace datového bodu – SectionTransform ==== ==== 4.1 Transformace datového bodu – SectionTransform ====
Line 276: Line 289:
  
 {{:​cs:​sw:​01-mervis:​Jablotron100_cz_24.png?​nolink |}} {{:​cs:​sw:​01-mervis:​Jablotron100_cz_24.png?​nolink |}}
 +
  
 ==== 4.2 Funkční bloky ==== ==== 4.2 Funkční bloky ====
Line 294: Line 308:
  
 {{ :​cs:​sw:​01-mervis:​Jablotron100_cz_27.png?​nolink&​170|}} {{ :​cs:​sw:​01-mervis:​Jablotron100_cz_27.png?​nolink&​170|}}
 +
 +
 === 4.2.2 SectionFlagsHolder ===  === 4.2.2 SectionFlagsHolder === 
 Varianta **SectionFlags** s rozšířenou funkcionalitou. Byl přidán výstup **SabotageAlarm** spolu s funkcí, která automaticky rozpozná sabotáž a nastaví tento výstup na **TRUE**. Zásadní změnou je, jak napovídá název, funkce **přidržení**. Ta přidrží alarm až do změny stavu sekce **State** díky čemuž je nutné přivést na vstup i stav sledované sekce. Druhým rozšířením je volitelný vstup **Clear**, který umožňuje manuální reset přidržených výstupů poplachů do **FALSE**. Tento vstup je skrytý a nemusí být použit. Varianta **SectionFlags** s rozšířenou funkcionalitou. Byl přidán výstup **SabotageAlarm** spolu s funkcí, která automaticky rozpozná sabotáž a nastaví tento výstup na **TRUE**. Zásadní změnou je, jak napovídá název, funkce **přidržení**. Ta přidrží alarm až do změny stavu sekce **State** díky čemuž je nutné přivést na vstup i stav sledované sekce. Druhým rozšířením je volitelný vstup **Clear**, který umožňuje manuální reset přidržených výstupů poplachů do **FALSE**. Tento vstup je skrytý a nemusí být použit.
  
 {{ :​files:​img_breakline.png?​nolink |}} {{ :​files:​img_breakline.png?​nolink |}}
 +
 +
 ==== 4.3 Výčtový typ – SectionState ==== ==== 4.3 Výčtový typ – SectionState ====
  
Line 307: Line 325:
 **Použití:​** pro zápis do proměnné musíte použít formát ''​SectionState#​STAV''​ **Použití:​** pro zápis do proměnné musíte použít formát ''​SectionState#​STAV''​
 <​code>​State := SectionState#​STAV;</​code>​ <​code>​State := SectionState#​STAV;</​code>​
 +
  
 === 4.3.2 FUPLA === === 4.3.2 FUPLA ===