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:automatic-restart-of-1-wire-hidden [2020/01/20 10:18]
avsetula
cs:sw:01-mervis:automatic-restart-of-1-wire-hidden [2021/08/05 14:34] (current)
avsetula
Line 1: Line 1:
 ====== Automatický restart sběrnice 1-Wire ====== ====== Automatický restart sběrnice 1-Wire ======
 +<WRAP group>
 +<WRAP half column 81%>
 Sběrnice 1-Wire je náchylná k EMI, což může vést k "​zaseknutí"​ senzorů a deaktivaci celé komunikace na sběrnici. S našimi PLC můžete vypnout napájení pro celou 1-Wire sběrnici a donutit senzory k resetování. Sběrnice 1-Wire je náchylná k EMI, což může vést k "​zaseknutí"​ senzorů a deaktivaci celé komunikace na sběrnici. S našimi PLC můžete vypnout napájení pro celou 1-Wire sběrnici a donutit senzory k resetování.
 +</​WRAP>​
 +<WRAP half column 15%>
 +;;#
 +<​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-axon">​Axon</​span></​html>​
 +;;#
 +</​WRAP>​
 +</​WRAP>​
  
 <WRAP center round info 60%> <WRAP center round info 60%>
Line 8: Line 19:
 Můžete resetovat napájení i ručně, ale pomocí atributů **commerror** můžete nechat Mervis, aby to dělal automaticky. Atributy jsou k dispozici na konkrétním zařízení nebo na celém kanálu a ukazují, kdy Mervis nedokázal přečíst datové body pro dané zařízení či celý kanál. Můžete resetovat napájení i ručně, ale pomocí atributů **commerror** můžete nechat Mervis, aby to dělal automaticky. Atributy jsou k dispozici na konkrétním zařízení nebo na celém kanálu a ukazují, kdy Mervis nedokázal přečíst datové body pro dané zařízení či celý kanál.
  
-We will start the project in the **Full mode**, attaching to the controller, creating a FBD program and setting a task executing this program. Next we create ModbusTCP channel for the IOs of the PLC and 1-Wire channel for the 1-Wire bus. Then deploy the solution and detect the 1-Wire sensors. Your workspace should look like this: +Zahájíme projekt v **Plném módu**, připojíme se ke kontroléru,​ vytvoříme program FBD a nastavíme úlohu provádějící tento program. Dále vytvoříme 1-Wire kanál pro 1-Wire ​sběrnici**Nahrajte sestavu** ​a detekujte senzory 1-Wire. Váš pracovní prostor by měl vypadat ​následovně:
- +
-Zahájíme projekt v **Plném módu**, připojíme se ke kontroléru,​ vytvoříme program FBD a nastavíme úlohu provádějící tento program. Dále vytvoříme ​ModbusTCP kanál pro IO PLC a 1-Wire kanál pro 1-Wire ​busPoté nasaďte řešení ​a detekujte senzory 1-Wire. Váš pracovní prostor by měl vypadat ​takto:+
  
 {{ :​en:​sw:​01-mervis:​automatic-restart-of-the-1-wire-01-workspace.png?​direct |}} {{ :​en:​sw:​01-mervis:​automatic-restart-of-the-1-wire-01-workspace.png?​direct |}}
  
-As you can see, we have one 1-Wire thermometer,​ which we renamed to "​office"​. Now double click on the **1-Wire** channel in the **Left panel**. You will be presented by all the available datapoints:​ +Jak můžete vidět, máme jeden 1-Wire teploměr ​a ten jsme přejmenovali na "​Kancelar"​. Nyní dvakrát klikněte na kanál **1-Wire** na **levém panelu**. Zobrazí se vám všechny dostupné datové body:
- +
-Jak vidíte, máme jeden 1-vodičový ​teploměr, který ​jsme přejmenovali na „kancelář“. Nyní dvakrát klikněte na kanál ** 1-Wire ** na ** levém panelu **. Zobrazí se vám všechny dostupné datové body:+
  
 {{ :​en:​sw:​01-mervis:​automatic-restart-of-the-1-wire-02-attributes.png?​direct |}} {{ :​en:​sw:​01-mervis:​automatic-restart-of-the-1-wire-02-attributes.png?​direct |}}
  
-The most important is the attribute ​**commerror**, ​which indicates if there is a communication error with **any** of the connected sensorsThe attribute'​s type is bool and when the value is ''​TRUE'', ​it means there is communication error and once the error disappearsthe attribute is ''​FALSE''​. ​As you can seeattribute of the same name is in the **office** section as wellThis attribute indicates communication error **only** for the sensor called ​**office**.+Nejdůležitější je atribut ​**commerror**, ​který označuje, zda došlo k chybě komunikace s některými připojenými senzoryTyp atributu je bool a pokud je hodnota ​''​TRUE'', ​znamená to, že došlo k chybě komunikace ​jakmile chyba zmizíje hodnota ​''​FALSE''​. ​Jak vidíteatribut se stejným názvem je také v sekci **Kancelar**. Tento atribut označuje chybu komunikace pouze pro senzor zvaný ​**Kancelar**.
  
-Nejdůležitější je atribut ** commerror **, který označuje, zda došlo k chybě komunikace s ** některými ** připojenými senzory. Typ atributu je bool a pokud je hodnota „TRUE“, znamená to, že došlo k chybě komunikace a jakmile chyba zmizí, je atribut „FALSE“. Jak vidíte, atribut se stejným názvem je také v sekci ** office **. Tento atribut označuje chybu komunikace ** pouze ** pro senzor zvaný ** kancelář **. +Program sestavy ​pro automatický restart ​kontroluje ​hodnotu **commerror** a když je ''​TRUE'',​ musíme krátce nastavit **OW_off_1** na hodnotu ​''​TRUE''​ a poté ji nastavit zpět na ''​FALSE''​. Ještě lepším řešením ​je, že když **commerror** zůstane v ''​TRUE'', ​zkoušíme ​periodicky resetovat sběrnici. Pro tuto funkci můžeme použít blok **Pulse Generator (BD2)**:
- +
-The solution for automatic restart needs to check the value of the **commerror** and when it is ''​TRUE''​ we need to briefly set the **OW_off_1** to ''​TRUE''​ and then set it back to ''​FALSE''​. Better yet, if the **commerror** stays in ''​TRUE''​ we will try resetting the bus periodically. For this function, we can use block **Pulse Generator (BD2)**: +
- +
-Řešení ​pro automatický restart ​musí zkontrolovat ​hodnotu ** commerror ** a když je '' ​PRAVDA ​'',​ musíme krátce nastavit ** OW_off_1 ** na '' ​PRAVDA ​''​ a poté ji nastavit zpět na ' 'NEPRAVDIVÉ''​. Ještě lepší je, že pokud ** commerror ** zůstane v '​TRUE'​ ', ​zkusíme ​periodicky resetovat sběrnici. Pro tuto funkci můžeme použít blok ** Pulse Generator (BD2) **:+
  
 {{ :​en:​sw:​01-mervis:​automatic-restart-of-the-1-wire-03-pulse-generator.png?​direct |}} {{ :​en:​sw:​01-mervis:​automatic-restart-of-the-1-wire-03-pulse-generator.png?​direct |}}
  
-By default the block has visible input **Enable**. ​If the input is ''​TRUE'', ​the block will generate square signal on the **Out** ​outputYou can set the length of the pulse and the pause via the hidden inputs ​**Tfalse** ​and **Ttrue**.+Ve výchozím nastavení má blok viditelný vstup **Enable**. ​Pokud je vstupem ​''​TRUE'', ​bude generovat čtvercový signál na výstupu ​**Out**. ​Délka impulsu a pauzy můžete nastavit pomocí skrytých vstupů ​**Tfalse** ​**Ttrue**.
  
-As you probably guessed, we will use the **commerror** attribute as a input and we can directly wire the **Out** output to the **OW_off_1** variable: +Jak jste pravděpodobně uhodli, jako vstup použijeme atribut **commerror** a můžeme přímo propojit výstup **Out** s proměnnou **OW_off_1**:​
- +
-Ve výchozím nastavení má blok viditelný vstup ** Povolit **. Pokud je vstupem „TRUE“, bude generovat čtvercový signál na výstupu ** Out **. Délka impulsu a pauzy můžete nastavit pomocí skrytých vstupů ** Tfalse ** a ** Ttrue **. +
- +
-Jak jste pravděpodobně uhodli, jako vstup použijeme atribut ** commerror ** a můžeme přímo propojit výstup ** Out ** s proměnnou ** OW_off_1 **:+
  
 {{ :​en:​sw:​01-mervis:​automatic-restart-of-the-1-wire-04-complete-project.png?​direct |}} {{ :​en:​sw:​01-mervis:​automatic-restart-of-the-1-wire-04-complete-project.png?​direct |}}
  
-All we need to alter is the length of the pulse and the pause between pulses to some reasonable values such as Ttrue = 1s and Tfalse = 4s, deploy the solution and start debugging. Then you can unplug the 1-Wire sensor and you will see that the measured values are red and the **commerror** attribute is ''​TRUE''​ and the **Pulse Generator** is sending reset pulses to the bus: +Potřebujeme pouze změnit délku impulsu a pauzu mezi impulzy na rozumné hodnoty, ​např: ​Ttrue = 1 s a Tfalse = 4 s. **Nahrajte sestavu** ​klikněte na **Start ​ladění**Poté můžete odpojit snímač 1-Wire a uvidíte, že naměřené hodnoty jsou červenéatribut **commerror** je ''​TRUE''​ a **Pulse Generator** odesílá resetovací impulzy ​pro napájení ​sběrnice 1-Wire:
- +
-Potřebujeme pouze změnit délku impulsu a pauzu mezi impulzy na rozumné hodnoty, ​jako je Ttrue = 1s a Tfalse = 4s, nasadit řešení ​zahájit ​ladění. ​Potom můžete odpojit snímač 1-Wire a uvidíte, že naměřené hodnoty jsou červené ​atribut ** commerror ** je ''​TRUE''​ a ** generátor pulsů ​** odesílá resetovací impulzy ​na sběrnici:+
  
 {{ :​en:​sw:​01-mervis:​automatic-restart-of-the-1-wire-05-debugging.png?​direct |}} {{ :​en:​sw:​01-mervis:​automatic-restart-of-the-1-wire-05-debugging.png?​direct |}}