Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
cs:sw:01-mervis:attaching-1-wire-devices-hidden [2020/06/08 12:48] avsetula [Připojení 1-Wire zařízení] |
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 1.1</span></html> | + | <html><span class="dev-tag dev-unipi11">Unipi 1.1</span></html> \\ |
+ | <html><span class="dev-tag dev-axon">Axon</span></html> | ||
;;# | ;;# | ||
</WRAP> | </WRAP> | ||
</WRAP> | </WRAP> | ||
- | ===== Co budete potřebovat ===== | + | |
- | * kontrolér UniPi se spuštěným Mervis OS | + | <WRAP center round box> |
+ | <html><span class="kbBlue-H4alt">Co budete potřebovat?</span></html> | ||
+ | * 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> | ||
===== 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:automation:02-glossary:1wire-hidden|zde]]. | |
- | Všechny potřebné informace o připojování senzorů založených na čipu DS18B20 naleznete [[cs:hw:05-1-wire|zde]]. | + | |
===== Nakonfigurování 1-Wire sběrnice v Mervisu ===== | ===== Nakonfigurování 1-Wire sběrnice v Mervisu ===== | ||
Line 35: | 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ši 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 50: | Line 53: | ||
{{ :en:sw:01-mervis:attaching-1-wire-devices-04-set-channel-link-protocol.png?direct |}} | {{ :en:sw:01-mervis:attaching-1-wire-devices-04-set-channel-link-protocol.png?direct |}} | ||
+ | |||
+ | Nyní je nutné **Nahrát sestavu** do PLC, aby se v PLC vytvořil komunikační kanál **OneWire**. | ||
===== 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ši 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 84: | 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 95: | 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 139: | 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 |}} |