Diagnostika stavu ET200S v PLC Simatic S7

  • čtvrtek, 03 duben 2008 04:00

Logo automaty Diagnostika stavu periferií ET200S v PLC Simatic S7 

Jak zjistit v PLC stav periferie ET200S na lince Profibus DP? Vždy stačilo jednoduše přečíst stav v OB86 i s adresou. Jenomže to není úplně ideální, takže existuje systém diagnostických adres, kde se dá zjistit o periferii mnohem více informací, snad i kdy se na ni někdo špatně podíval.

Všechny diagnostické údaje o periferii se získají zavoláním systémové funkce Siemens, která je v každém PLC. Podrobný popis je v obsáhlém manuálu o ET200S, ale vytáhl jsem z něj jen těch několik podstatných stránek s popisem významu jednotlivých bitů. Určitě si jej přečtěte tady. Vyplyne z toho, že veškeré info se uloží do zvoleného PLC prostoru 64bytes. Udělal jsem tedy 64bytes velký datový blok s popisy jednotlivých bytes. Všem zájemcům jej věnuji, aby jste nemuseli každý byte pracně popisovat jako já. Je ke stažení na downloadu v sekci PLC. A jak to udělat si ukážeme níže, aspoň to ani já nezapomenu.


 Pokusná sestava, kde je zatím vše v pořádku. Není nad to si nové věci vyzkoušet u kafe na stole. Fotka je pouze z mobilu, nemám baterky do foťáku, jedná se jen o informaci a ne o umělecké díla.

Na ET200S je vidět na profibusovém připojení konektor Erni bez přepínačů - žlutý jako koncový. O těchto konektorech je zmínka tady.

22kB

 V HW konfiguraci je použitý IM151-1 Standard. To je důležité, protože pro IM151-1 Basic je strukura dat jiná, kratší. Ale to bude vidět níže a je to popsáno v manuálu.

4kB

 Protože se vše provádí přes diagnostické adresy, je třeba si ji najít a někam poznačit. "Diagnostic Address" je ve vlastnostech periferie, tady konkrétně 1022.

6kB

 Zavoláme někde v programu SFC13. Funkce není cyklická, tedy vrátí stav periferie jen na požadavek, změnu na "REQ". Já jsem ji vyvolával 1x za vteřinu nějakým blikacím merkrem. "LADDR" je diagnostická adresa uvedená výše v HEXa. A hlavně na "RECORD" je prostor, kam funkce "vrhne" informace o stavu periferie. Konkrétně do DB10.

4kB

 Protože je vše OK tak v DB10 jsou hodnoty jednotlivých bitů tak jak mají být. Detaily si ověřte v patřičné části systémového manuálu k ET200S tady.

Pro zajímavost v DB10.DBB0 je stav linky, připojení k masteru atp. A v DB10.DBB7 každý bit informuje o stavu jednotlivých modulů, uvidíme níže.

12kB

 Tady je část už okomentovaného datového bloku pro zápis stavu ET. První byte na nule = vše je OK. Jak je uvedeno v úvodu, všem zájemcům tento okomentovaný DB věnuji.

8kB

 Vytrhneme za chodu jeden modul a zjistíme co se stalo. BF červený SF červená ale co dál?

 

21kB

 Tak a je to tady. V DB10.DBB0 už jsou tři poruchy, detaily si z manuálu zjistěte za domácí úkol. A hlavně v DB10.DBB7 třetí bit říká že je porucha na třetím modulu periferie.

Dále se dá ještě přečíst v dalších bytes jaká je to porucha, zda vadný modul, chybí modul, nebo špatný typ modulu proti HW konfiguraci. Vyzkoušel jsem to, opravdu to funguje.  

13kB 


 Tady je varianta přes OB86, kde se zapíše porucha i s adresou periferie. Hlavní rozdíl proti použití SFC je ten, že tady se data neaktualizují, tedy po vyhodnocení poruchy je nutno znovu do OB86 zapsat počáteční stav. Nelze tedy lehce eliminovat občasné výpadky na lince.

6kB 


Závěrem : Původně jsem nepřikládal význam rozdílu obou variant diagnostiky, tedy přes OB86 nebo SFC13. Výsledek byl pořád stejný, někde je chyba. Ovšem detailnějším prozkoumáním se při použití SFC13 otvírají mnohem elegantnější možnosti. A samozřejmě ještě kombinací obou variant, třeba zavolat si SFC13 jen po vyhodnocení poruchy periferie v OB86 atp.


Pro psaní komentářů se přihlašte

Kontakt

email : blaja @blaja.cz
email reklama: info @blaja.cz
email adresy bez mezery 
před zavináčem

Jaroslav Blažek
Štěpánská 1888
755 01 Vsetín
+420 608 180 209