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: