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:attaching-1-wire-devices-hidden [2021/05/03 07:42]
avsetula
cs:sw:01-mervis:attaching-1-wire-devices-hidden [2024/03/14 09:15] (current)
kcerny typos
Line 6: Line 6:
 <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-unipi11">​Unipi&​nbsp1.1</​span></​html>​ \\ 
 +<​html><​span class="​dev-tag dev-axon">​Axon</​span></​html>​
 ;;# ;;#
 </​WRAP>​ </​WRAP>​
Line 15: Line 16:
 <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>​
-  * kontrolér ​UniPi se spuštěným Mervis OS+  * kontrolér ​Unipi se spuštěným Mervis OS
   * základní projekt v Mervis IDE v **Plném módu** s:    * základní projekt v Mervis IDE v **Plném módu** s: 
     * připojeným kontrolérem     * připojeným kontrolérem
     * nadefinovaným kanálem Modbus TCP pro komunikaci s PLC     * nadefinovaným kanálem Modbus TCP pro komunikaci s PLC
-    * nadefinovým ​**spustitelným projektem** s jedním programem +    * nadefinovaným ​**spustitelným projektem** s jedním programem 
-    * nastaveným **Autogenem** na kontroléru ​UniPi+    * nastaveným **Autogenem** na kontroléru ​Unipi
     * nadefinovaným taskem se spuštěným programem ze **spustitelného projektu**     * nadefinovaným taskem se spuštěným programem ze **spustitelného projektu**
     * úspěšně provedenou kompilací     * úspěšně provedenou kompilací
-  * [[https://​www.unipi.technology/​power-supplies-c15|24V DC zdroj]]+  * [[https://​www.unipi.technology/​power-supplies-c15|24 V⎓ zdroj]]
   * [[https://​www.unipi.technology/​1-wire-temperature-sensor-p63?​categoryId=3|1-Wire teploměr]]   * [[https://​www.unipi.technology/​1-wire-temperature-sensor-p63?​categoryId=3|1-Wire teploměr]]
  
-Pro účely tohoto tutoriálu použijeme kontrolér [[https://​www.unipi.technology/​cs/​neuron-c2|UniPi Neuron L503]].+Pro účely tohoto tutoriálu použijeme kontrolér [[https://​www.unipi.technology/​cs/​neuron-c2|Unipi Neuron L503]].
 </​WRAP>​ </​WRAP>​
  
 ===== Připojení 1-Wire senzoru ===== ===== Připojení 1-Wire senzoru =====
-Všechny potřebné informace o připojování senzorů založených na čipu DS18B20 naleznete [[cs:hw:05-1-wire|zde]].+Všechny potřebné informace o připojování senzorů založených na čipu DS18B20 naleznete [[cs:automation:02-glossary:​1wire-hidden|zde]].
  
 ===== Nakonfigurování 1-Wire sběrnice v Mervisu ===== ===== Nakonfigurování 1-Wire sběrnice v Mervisu =====
Line 37: Line 38:
 {{ :​en:​sw:​01-mervis:​attaching-1-wire-devices-01-basic-project.png?​direct |}} {{ :​en:​sw:​01-mervis:​attaching-1-wire-devices-01-basic-project.png?​direct |}}
  
-Klikněte pravým myšítkem ​na **PLC** v nabídce **Sestava** na **levém panelu**. Pak klikněte na **Přidat kanál**. ​+Klikněte pravým ​tlačítkem ​myšna **PLC** v nabídce **Sestava** na **levém panelu**. Pak klikněte na **Přidat kanál**. ​
  
 {{ :​en:​sw:​01-mervis:​attaching-1-wire-devices-02-add-channel.png?​direct |}} {{ :​en:​sw:​01-mervis:​attaching-1-wire-devices-02-add-channel.png?​direct |}}
Line 57: Line 58:
 ===== Detekce 1-Wire senzorů ===== ===== Detekce 1-Wire senzorů =====
  
-Sběrnice 1-Wire je sériovou sběrnicí, která může sloužit pro propojení velkého množství senzorů. Každý senzor má svou vlastní unikátní hardwarovou adresu, skrze kterou zařízení v režimu Master adresuje Slave senzory a odečítá z nich data. Z toho důvodu musíme kontrolér ​UniPi nastavit tak, aby na sběrnici vyhledal specifickou HW adresu. Naštěstí můžeme na sběrnici nadetekovat všechny připojené senzory a až poté si vybrat ty, se kterými budeme dále pracovat. ​+Sběrnice 1-Wire je sériovou sběrnicí, která může sloužit pro propojení velkého množství senzorů. Každý senzor má svou vlastní unikátní hardwarovou adresu, skrze kterou zařízení v režimu Master adresuje Slave senzory a odečítá z nich data. Z toho důvodu musíme kontrolér ​Unipi nastavit tak, aby na sběrnici vyhledal specifickou HW adresu. Naštěstí můžeme na sběrnici nadetekovat všechny připojené senzory a až poté si vybrat ty, se kterými budeme dále pracovat. ​
  
-Pro detekci senzorů klikněte pravým myšítkem ​na jméno kanálu **1wire** v záložce **Sestava** v **levém panelu**. V kontextovém menu pak klikněte na **Detekce čidel OneWire**. ​+Pro detekci senzorů klikněte pravým ​tlačítkem ​myšna jméno kanálu **1wire** v záložce **Sestava** v **levém panelu**. V kontextovém menu pak klikněte na **Detekce čidel OneWire**. ​
  
 {{ :​en:​sw:​01-mervis:​attaching-1-wire-devices-06-detect-one-wire-sensors.png?​direct |}} {{ :​en:​sw:​01-mervis:​attaching-1-wire-devices-06-detect-one-wire-sensors.png?​direct |}}
Line 88: Line 89:
  
 ===== Ladění sestavy ===== ===== Ladění sestavy =====
-Mervis IDE je vybaven možností **ladění programů**,​ které umožňuje ​ připojit se k zapnutému kontroléru ​UniPi, číst jeho stavy a dokonce i upravovat proměnné za chodu. Pro spuštění ladění na **vrchní liště** klikněte na **Start ladění**. ​+Mervis IDE je vybaven možností **ladění programů**,​ které umožňuje ​ připojit se k zapnutému kontroléru ​Unipi, číst jeho stavy a dokonce i upravovat proměnné za chodu. Pro spuštění ladění na **vrchní liště** klikněte na **Start ladění**. ​
  
 {{ :​en:​sw:​01-mervis:​attaching-1-wire-devices-13-debug.png?​direct |}} {{ :​en:​sw:​01-mervis:​attaching-1-wire-devices-13-debug.png?​direct |}}
  
-Pro zobrazení proměnných a jejich stavu v módu ladění klikněte na záložku **Prohlížeč proměnných** na **hlavním panelu**. Zobrazí se seznam všech dostupných proměnných v kontroléru (pro vyhledávání můžete použít hledání podle **jména**). Teploměr bude mít automaticky přiřazený název "​1W-Thermometer"​ a jeho aktuální hodnota je **29.875**°C. ​+Pro zobrazení proměnných a jejich stavu v módu ladění klikněte na záložku **Prohlížeč proměnných** na **hlavním panelu**. Zobrazí se seznam všech dostupných proměnných v kontroléru (pro vyhledávání můžete použít hledání podle **jména**). Teploměr bude mít automaticky přiřazený název "​1W-Thermometer"​ a jeho aktuální hodnota je **29,875** °C. 
  
 {{ :​en:​sw:​01-mervis:​attaching-1-wire-devices-14-variable-browser.png?​direct |}} {{ :​en:​sw:​01-mervis:​attaching-1-wire-devices-14-variable-browser.png?​direct |}}
Line 99: Line 100:
 V této fázi máme ke kontroléru připojený teploměr a ověřili jsme si, že můžeme odečítat teplotní údaje. Nyní je můžeme použít pro vytvoření velmi jednoduchého teplotního regulátoru V této fázi máme ke kontroléru připojený teploměr a ověřili jsme si, že můžeme odečítat teplotní údaje. Nyní je můžeme použít pro vytvoření velmi jednoduchého teplotního regulátoru
  
-Úkolem regulátoru bude sledovat teplotu a při jejím poklesu pod 30°C sepnout relé ''​RO2.1''​ do stavu ''​ON''​. Pokud naopak teplota přesáhne nebo bude rovna 30°C, regulátor relé ''​RO2.1''​ přepne do stavu ''​OFF''​. ''​RO2.1''​ zde bude představovat topné těleso. ​+Úkolem regulátoru bude sledovat teplotu a při jejím poklesu pod 30 °C sepnout relé ''​RO2.1''​ do stavu ''​ON''​. Pokud naopak teplota přesáhne nebo bude rovna 30 °C, regulátor relé ''​RO2.1''​ přepne do stavu ''​OFF''​. ''​RO2.1''​ zde bude představovat topné těleso. ​
  
-Teoreticky bychom nyní mohli nastavit programu pevnou teplotu "30°C", to by nám ale později zabránilo v její pozdější změně jiným způsobem než opětovným přeprogramováním PLC. Hraniční (či požadovanou) teplotu bychom nejspíše nastavovali tlačítkem,​ ovladačem či skrze HMI rozhraní, bude proto lepší teplotu definovat jako další proměnnou a nastavit hraniční hodnotu pomocí změny hodnoty této proměnné. Později můžeme proměnnou propojit s jiným hardwarovým vstupem. ​+Teoreticky bychom nyní mohli nastavit programu pevnou teplotu "30 °C", to by nám ale později zabránilo v její pozdější změně jiným způsobem než opětovným přeprogramováním PLC. Hraniční (či požadovanou) teplotu bychom nejspíše nastavovali tlačítkem,​ ovladačem či skrze HMI rozhraní, bude proto lepší teplotu definovat jako další proměnnou a nastavit hraniční hodnotu pomocí změny hodnoty této proměnné. Později můžeme proměnnou propojit s jiným hardwarovým vstupem. ​
  
 Program tak bude vyžadovat dva vstupy: ''​namerena_teplota''​ a ''​hranicni_teplota''​. Při programování musí mít každá proměnná přiřazený určitý typ, tj. definici hodnoty, kterou může mít. Proměnná může být ve formě integeru, reálného čísla, booleanu (tj. binární 0/1), znaku či řetězce znaků, případně jiného komplikovanějšího typu. Teplotní údaj je ze své podstaty reálné číslo, naše proměnné proto budou nastaveny stejně. ​ Program tak bude vyžadovat dva vstupy: ''​namerena_teplota''​ a ''​hranicni_teplota''​. Při programování musí mít každá proměnná přiřazený určitý typ, tj. definici hodnoty, kterou může mít. Proměnná může být ve formě integeru, reálného čísla, booleanu (tj. binární 0/1), znaku či řetězce znaků, případně jiného komplikovanějšího typu. Teplotní údaj je ze své podstaty reálné číslo, naše proměnné proto budou nastaveny stejně. ​
Line 143: Line 144:
 Pokud jsme spoje vytvořili správně, můžeme nyní sestavu **zkompilovat**. Pokud pak bude **kompilace** úspěšná,​ můžeme sestavu **nahrát** do kontroléru. ​ Pokud jsme spoje vytvořili správně, můžeme nyní sestavu **zkompilovat**. Pokud pak bude **kompilace** úspěšná,​ můžeme sestavu **nahrát** do kontroléru. ​
  
-Pokud **nahrání** proběhlo bez problémů, můžeme začít s **laděním**. V módu ladění můžete vidět aktuální hodnoty každého vstupu/​výstupu každého bloku. Nyní vidíme, že teplota v kanceláři je 29.625°C, což je méně než hraniční teplota ​30°C. Topení se tudíž přepne do stavu ''​ON''​ (''​TRUE''​). ​+Pokud **nahrání** proběhlo bez problémů, můžeme začít s **laděním**. V módu ladění můžete vidět aktuální hodnoty každého vstupu/​výstupu každého bloku. Nyní vidíme, že teplota v kanceláři je 29,625 °C, což je méně než hraniční teplota ​30 °C. Topení se tudíž přepne do stavu ''​ON''​ (''​TRUE''​). ​
  
 {{ :​en:​sw:​01-mervis:​attaching-1-wire-devices-23-debugging-low.png?​direct |}} {{ :​en:​sw:​01-mervis:​attaching-1-wire-devices-23-debugging-low.png?​direct |}}
  
-Nyní senzor zahřejeme (např. jeho stisknutím v dlani). Teplota vzrostla na 30,875°C; to je více než 30°C a topení se tak přepne do stavu ''​OFF''​ (''​FALSE''​). ​+Nyní senzor zahřejeme (např. jeho stisknutím v dlani). Teplota vzrostla na 30,875 °C; to je více než 30 °C a topení se tak přepne do stavu ''​OFF''​ (''​FALSE''​). ​
  
 {{ :​en:​sw:​01-mervis:​attaching-1-wire-devices-23-debugging-high.png?​direct |}} {{ :​en:​sw:​01-mervis:​attaching-1-wire-devices-23-debugging-high.png?​direct |}}