Diagnostika je silná stránka zbernice EtherCAT. Hoci sú EtherCAT mastery implementované podľa štandardu ETG, musíme spomenúť fakt, že nie vždy sú implementované všetky funkčné mechanizmy, resp. všetky diagnostické možnosti. Preto považujem vývojové prostredie firmy Beckhoff (obchodným názvom je TwinCAT) za etalón a nasledujúce obrázky budú urobené z prostredia TwinCAT 3.
Štruktúra a rozdelenie diagnostiky EtherCAT
Všeobecne treba zdôrazniť, že diagnostika EtherCAT-u nie je vždy postavená iba na funkcii EtherCAT mastera. Aj zariadenia EtherCAT slave majú dôležitú diagnostickú funkciu. Preto ako jednu zo schém uvádzame rozdelenie diagnostických metód podľa delenia master – slave.
Rozdelenie diagnostiky podľa funkcií EtherCAT master – slave:
- Diagnostiku rieši len ETC slave, master len vyčíta, čo slave detegoval (napr. CRC kontrola kontrolného súčtu, diagnostika EtherCAT State Machine).
- Diagnostiku kompletne zaisťuje ETC master (napr. synchronizácia systému pracujúceho v reálnom čase s mechanizmom distribuovaných hodín).
- Spolupráca: časť diagnostického mechanizmu rieši EtherCAT slave a časť rieši EtherCAT master. Výsledok je možný iba, keď sa obe časti spoja dohromady (napr. mechanizmus Working Counter v synchronizačných skupinách a jeho výsledok, teda WcState).
V úvodnej časti seriálu bola spomenutá nezastupiteľná úloha EtherCAT Slave Controller (ESC), ktorý je súčasťou všetkých zariadení EtherCAT. Už poznáme princíp spracovania rámca EtherCAT metódou On the Fly, ale tiež sme spomenuli, že práve spracovaním rámca EtherCAT čipom ESC získavame možnosť kontrolovať kontrolný súčet každého priechodného rámca EtherCAT. Uviedli sme aj to, že táto kontrola sa vykonáva na každom aktívnom porte daného zariadenia slave pri príjme rámca EtherCAT. To je dôležitá vlastnosť pre diagnostiku, pretože poškodenie rámca EtherCAT sme schopní detegovať a predovšetkým lokalizovať na úrovni konkrétneho zariadenia EtherCAT slave, navyše aj v smere putovania rámca (teda či k poškodeniu došlo cestou z EtherCAT mastera alebo k EtherCAT masteru). Takéto informácie v sebe ukladá EtherCAT slave a pomocou acyklickej komunikácie na EtherCAT tieto údaje vyčíta EtherCAT master, aby ich sprístupnil používateľom.
V tretej časti seriálu sme opísali synchronizačný mechanizmus distribuovaných hodín. Riadiaci systém pracujúci v reálnom čase na tento synchronizačný mechanizmus nadväzuje a tieto nadväznosti vie diagnostikovať. To je časť diagnostiky, ktorá je čisto v réžii EtherCAT mastera.
V tejto časti seriálu podrobne a názorne opíšeme spoluprácu na príklade Working Counter, pretože ide o veľmi komplexný mechanizmus. Iné delenie diagnostiky EtherCAT by mohlo byť z hľadiska toho, či ide o cyklickú alebo acyklickú kontrolu a či sa kontrola vzťahuje na hardvér alebo softvér.
Synchronizačné skupiny na EtherCAT-e (Sync Units) a porucha procesných dát tzv. WcState
Zhrnieme podstatné informácie, ktoré už boli k téme synchronizačných skupín uvedené:
- vznikajú defaultne, ale možno ich podľa potrieb individuálne tvoriť,
- každá Sync Unit v rámci EtherCAT vytvorí samostatný datagram,
- každý EtherCAT slave zapisuje len do jedného konkrétneho a dopredu určeného datagramu, teda skupina EtherCAT slave zdieľa vymedzený dátový priestor v rámci EtherCAT,
- datagram sa skladá z hlavičky, dátového priestoru na procesné údaje a na záver sú 2 Byte určené na mechanizmus Working Counter.
Working Counter je kontrolný mechanizmus zameraný na procesné údaje. EtherCAT master podľa definície Sync Unit vie, ktoré zariadenia budú zapisovať do ktorého datagramu. To znamená, že vie, koľko zariadení bude v danom datagrame údaje čítať, koľko zariadení bude procesné dáta zapisovať a koľko zariadení bude vykonávať obe udalosti. EtherCAT Slave Controller potom bude vždy po prečítaní údajov zvyšovať hodnotu Working Counter o hodnotu jeden, pri zápise údajov o hodnotu dva. Logika celého kontrolného mechanizmu je teda taká, že v rámci každého datagramu je v odchádzajúcom rámci EtherCAT hodnota Working Counter nulová a jednotlivé EtherCAT slave zvyšujú túto hodnotu zakaždým, keď úspešne zapíšu alebo prečítajú údaje z daného datagramu. Master v prichádzajúcom rámci EtherCAT prečíta hodnotu Working Counter a porovná ju s očakávanou hodnotou. Očakávaná je preto, že EtherCAT master vie presne, koľkokrát boli procesné údaje z datagramu prečítané a koľkokrát zapísané. Ak prichádzajúca hodnota zodpovedá očakávanej hodnote, EtherCAT master označí všetky procesné dáta daného datagramu za platné. V terminológii TwinCAT hovoríme, že procesné dáta sú validné a hodnota WcState sa rovná nule.
Z toho vyplýva, že chyba jedného EtherCAT slave ovplyvňuje iba procesné údaje danej synchronizačnej skupiny. Platnosť dát je overovaná cyklicky a v každom PLC cykle možno vyhodnotiť poruchový stav. Pri detekcii chybového stavu sú dve možnosti: master nuluje všetky vstupné procesné údaje alebo použije posledné platné hodnoty. Ďalej je zrejmé, že ak synchronizačnú skupinu netvorí iba jedno zariadenie, pomocou mechanizmu Working Counter nemôže EtherCAT master identifikovať, ktorý EtherCAT slave mal problém spracovať procesné údaje. Tu treba skombinovať diagnostické mechanizmy a skontrolovať aj ďalšie stavy. Napríklad či všetky EtherCAT slave z danej synchronizačnej skupiny zostali v stave Operational alebo došlo k poruche a zmene stavu v rámci EtherCAT State Machine, a preto nebolo možné procesné údaje spracovať.
CRC (Cyclic Redundancy Check)
CRC error, čiže porucha kontrolného súčtu vychádza zo skladby rámca EtherCAT, resp. už z ethernetového základu. Odporúčame pozrieť sa do úvodnej časti tohto seriálu, kde bol rámec EtherCAT opísaný a jeho posledná časť bola nazvaná FCS (Frame Check Sequence). Rovnako už bolo uvedené, že možnosť kontrolovať hodnotu kontrolného súčtu má každý EtherCAT slave vďaka použitému procesoru ESC, navyše v každom smere putovania rámca EtherCAT. Odosielané správy sa vždy kontrolujú pri príjme na nasledujúcom porte. Vďaka použitiu polynómu a doplňujúcich špecifických parametrov možno pomocou kontrolného súčtu správy vždy určiť, či je správa v poriadku. Kontrolný súčet prichádzajúcej správy je spočítaný zariadením, ktoré správu prijalo, a musí súhlasiť s kontrolným súčtom, ktorý bol odoslaný ako súčasť správy.
Prakticky to znamená, že máme istotu, že bola každá logická jednotka prenesená ako logická jednotka a že každá logická nula bola prenesená ako logická nula. Ak by to tak nebolo, z danej informácie vyplýva nasledujúce. Po prvé: s takou správou nemožno ďalej pracovať. EtherCAT slave síce ďalej posiela poškodený rámec EtherCAT, aby doputoval až do EtherCAT mastera, avšak údaje nepoužíva a pre EtherCAT mastera zvyšuje počítadlo detegovaných CRC + porúch na danom porte EtherCAT Slave Controller. Po druhé: treba sa zamyslieť nad možnými príčinami takejto zmeny. Prečo by odoslaná logická nula nemala doputovať ako logická nula? Častou príčinou je rušenie, prípadne poškodená alebo nevhodná kabeláž. Tu nemáme na mysli iba kábel samotný, ale kontrolu začíname pri konektore výstupného portu cez konektor kábla a kábel samotný až po druhý konektor a jemu prislúchajúcu zdierku. Správne tienenie a uzemnenie aj úroveň napájania sú potrebné podmienky korektného prenosu údajov.
EtherCAT State Machine (nadväzujúce AL Errors)
Z opisu EtherCAT State Machine už poznáme jednotlivé stavy, ktorými EtherCAT slave prechádza od svojej inicializácie až po úplne funkčný stav. Základnou diagnostickou informáciou teda je, či všetky EtherCAT slave dosiahli a pri chode technológie zotrvávajú v stave Operational (na obr. symbolizovaný skratkou OP). Z predchádzajúcich dielov vieme, že iba v stave Operational sú prenášané vstupné aj výstupné procesné údaje. Preto je kontrola dosiahnutia stavu Operational kľúčová pre funkčnosť technológie a tento stav treba diagnostikovať.
Z predchádzajúcich dielov tiež vieme, že prechody medzi jednotlivými stavmi majú svoje pravidlá a nadväznosti. Prechody prebiehajú smerom nahor i nadol. Poruchy detegujeme pri prechodoch medzi stavmi, pričom sú poruchy, ktoré spôsobí prechod do nižšieho stavu, napr. z dôvodu bezpečnosti pri výpadku komunikácie či synchronizácie. Týchto typov porúch je celý rad, treba vnímať presné znenie poruchy a presné kódové označenie. V online nápovede Beckhoff, ktorá je súčasťou informačného webu (InfoSys), možno tieto poruchy vyhľadať pod označením AL status codes. Aktuálne je definované približne 60 porúch tohto typu.
Distribuované hodiny (Distributed clock)
Mechanizmus distribuovaných hodín vychádza z funkcií EtherCAT slave, ktoré tento mechanizmus podporujú a vedia sa na neho nadviazať. Funkcia EtherCAT mastera spočíva v stanovení presných časových oneskorení, s ktorými musí každý EtherCAT slave počítať, aby sa dosiahla čo najpresnejšia synchronizácia. Do tejto úrovne je mechanizmus distribuovaných hodín záležitosťou predovšetkým zariadenia EtherCAT. Aby nešlo o odtrhnutý mechanizmus funkčný len medzi EtherCAT slave, je potrebné, aby sa na tento synchronizačný mechanizmus naviazal aj samotný riadiaci systém pracujúci v reálnom čase. Riadiaci systém má svoj vlastný časovací mechanizmus a ten treba prepojiť, lepšie povedané naviazať na vonkajší svet, teda distribuované hodiny fungujúce medzi EtherCAT slave. K akým veľkým, ako často a v akom smere k regulačným zásahom dochádza, to používateľom sprostredkuje nasledujúce diagnostické okno.
Kontrola úrovne napájanie E-Bus
Každé zariadenie EtherCAT obsahuje ESC chip, ktorý treba napájať. Samostatne stojace zariadenia, ako sú meniče, boxy EtherCAT atď., tento čip napája interne svojím základným napájaním 24 V DC. Pri termináloch EtherCAT, ktoré sa montujú na DIN lištu, je napájanie vedené zo zdroja pomocou kontaktov na strane terminálu. Každý takto pripojený ESC má nejakú spotrebu, ktorú odoberá zo spoločného napájania. Spravidla sa zo zdroja dodáva 2 000 mA. Ak je rad terminálov dlhý a 2 000 mA sa vyčerpá, treba napájanie obnovovať. Terminály, ktoré čipom nedostávajú potrebné napájanie, nemôžu pracovať spoľahlivo. Preto treba úbytky na napájaní E-Bus skontrolovať. Výhodou je, že spomínané úbytky považujeme v čase za konštantné. Preto sa nevyžaduje opakovaná kontrola.
Emergency Scan
Na kontrolu priechodnosti siete je vhodná funkcia Emergency Scan, ktorá pomocou cyklického odosielania správ na všetky dostupné zariadenia EtherCAT vytvorí štatistiku, koľko správ sa od ktorého zariadenie vrátilo. Je to ideálny nástroj na detekciu poškodeného zariadenia aj časti infraštruktúry.
Master Independent Diagnostic – EtherCAT Technology Group
S cieľom sprístupniť používateľom ucelenú a graficky jednotnú diagnostiku EtherCAT-u vyvinula EtherCAT Technology Group vlastný diagnostický nástroj. Tento programový doplnok nezávisí od platformy a možno ho aplikovať pod akýmkoľvek EtherCAT masterom akéhokoľvek výrobcu. Ako základ bol použitý štandard ETG.1510 Profile for Master Diagnosis Inteface, ktorý je rozšírením základnej definície EtherCAT mastera opísaného v štandarde ETG.1500 EtherCAT Master Classes. Funkčne nástroj vychádza z princípov, ktoré opisujeme v našom seriáli.
Časť diagnostiky teda vychádza z princípu fungovania zariadení EtherCAT slave a vyčítania týchto diagnostických informácií, ďalšia časť z fungovania EtherCAT mastera. Ako príklad uvedieme mechanizmus Working Counter, ktorý umožňuje cyklickú kontrolu platnosti procesných údajov. Príkladom údajov vyčítaných z EtherCAT slave budú informácie o strate spojenia kdekoľvek v topológii, zobrazenie poruchy CRC na všetkých portoch zariadenia EtherCAT slave, informácie o strate komunikácie a poruchách typu watchdog aj o strate synchronizácie; v poslednom rade dekóduje poruchy spojené s fungovaním EtherCAT State Machine (stavový automat EtherCAT-u).
Show Changes Counters
Okrem porúch kontrolných súčtov (CRC) možno monitorovať aj ďalšie počítadlá. V tomto prípade sa dajú poruchy rozdeliť na dve skupiny. Do prvej zahrnieme poruchy neočakávaných prechodov v rámci EtherCAT State Machine; ako príklad môžeme uviesť napr. výpadky synchronizácie či watchdog. Za lomkou je druhé počítadlo, ktoré zobrazuje počet odpojení, resp. strát spojenia (Link Lost). Tu treba rozdeliť dôvody na dve základné skupiny. K odpojeniu totiž môže dôjsť pri výpadku komunikácie alebo pri strate napájania.
Topology view
Topology view je sumárny grafický prehľad celej topológie. Farebne sú oddelené stavy EtherCAT State Machine jednotlivých zariadení EtherCAT. Možno monitorovať procesné údaje a kontrolovať počítadlá porúch kontrolných súčtov.
Záver
Údržba a diagnostika strojov sú pre všetkých používateľov a prevádzkovateľov vždy kľúčové úlohy. Efektívne diagnostikovať vzniknutý problém šetrí náklady spojené s prevádzkou zariadení. Efektívna diagnostika je podmienená znalosťou systému, pričom musia byť k dispozícii jednoznačné a zrozumiteľné diagnostické mechanizmy. Z praxe vieme, že diagnostika je silná stránka zbernice EtherCAT a ak informácie uvedené v tomto seriáli pomôžu k lepšiemu a efektívnejšiemu pochopenie EtherCAT-u a jeho diagnostiky, potom mal tento seriál zmysel.
Diel o diagnostike uzatvára a zhŕňa celý seriál o zbernici EtherCAT.
Zdroje
[1]
[2]
[3]
[4]
[5]
Text článku bol preložený z pôvodného českého originálu.
David Smělík
Beckhoff Automation s.r.o.