Automatický restart sběrnice 1-Wire
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í.
Patron
Neuron
Axon
V Mervis se vlastnost ovládající napájení zdroje pro 1-Wire bus nazvaná OW_off_1. Nastavením hodnoty na TRUE
bude sběrnice odpojena od napájení a nastavením zpět na FALSE
bude napájení znovu obnoveno.
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.
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ě:
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:
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 hodnota FALSE
. Jak vidíte, atribut se stejným názvem je také v sekci Kancelar. Tento atribut označuje chybu komunikace pouze pro senzor zvaný Kancelar.
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):
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 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:
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 a 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: