Toto je starší verze dokumentu!


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í.

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.

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 ModbusTCP kanál pro IO PLC a 1-Wire kanál pro 1-Wire bus. Poté nasaďte řešení a detekujte senzory 1-Wire. Váš pracovní prostor by měl vypadat takto:

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 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:

The most important is the attribute commerror, which indicates if there is a communication error with any of the connected sensors. The attribute's type is bool and when the value is TRUE, it means there is a communication error and once the error disappears, the attribute is FALSE. As you can see, attribute of the same name is in the office section as well. This 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 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ář .

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) : By default the block has visible input Enable. If the input is TRUE, the block will generate square signal on the Out output. You can set the length of the pulse and the pause via the hidden inputs Tfalse and 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: 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 : 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, jako je Ttrue = 1s a Tfalse = 4s, nasadit řešení a zahájit ladění. Potom můžete odpojit snímač 1-Wire a uvidíte, že naměřené hodnoty jsou červené a atribut commerror je TRUE'' a generátor pulsů odesílá resetovací impulzy na sběrnici:

Tento web používá cookies. Používáním těchto stránek souhlasíte s ukládáním cookies do vašeho počítače. Také berete na vědomí, že jste si přečetli a porozuměli našim Zásadám ochrany osobních údajů. Pokud nesouhlasíte s odchodem z webu.Více informací