SLC 500 túlcsordulási csapdahiba, 0020: Az S:5/0 retesz javítása
Diagnosztizáld az SLC 500 0020H számú súlyos hibáját az S:5/0 törlése előtt. Ismerd meg, hogyan működik a leolvasási ciklus végi előléptetés, azonosítsd az első hibát okozó utasítást, állíts be hel...
Az SLC 500 0020H számú súlyos hibáját gyakran túlcsordulási hibaként írják le, de a kód többet jelent egyetlen hibás ADD utasításnál. A Rockwell meghatározása szerint ez egy kisebb hibát jelző állapot, amely még aktív maradt, amikor a processzor elérte az END, TND vagy REF utasítást, ezért súlyos hibává léptette elő. A diagnosztikai feladat annak azonosítása, hogy melyik állapotbit okozta az előléptetést, annak meghatározása, hogy melyik művelet állította be, valamint annak eldöntése, hogy biztonságos-e a szabályozott helyreállítás.
A 0020H számú hibának az állapotfájl vizsgálatához kell vezetnie, nem pedig ahhoz az automatikus következtetéshez, hogy a processzor hardvere meghibásodott.
Mindennemű törlés előtt olvassa ki az állapotfájlt
A vezérlő visszaállítása előtt rögzítse a hibakódot, a processzor katalógusszámát, az üzemmódot, az időpontot, a termelési állapotot, valamint az S:5 és S:6 értékeit. Az S:5/0 a matematikai túlcsordulási csapda. Az S:5/2 olyan vezérlőregiszter-hibát jelez, amelyet például FIFO-, biteltolási vagy szekvenszer-műveletek okozhatnak. Más S:5 bitek szintén súlyos hibává léptethetők elő a programszkennelés végén. Ha ezen értékek rögzítése előtt törli a processzort, megsemmisíti a bizonyítékokat, és elősegíti ugyanannak a hibának a visszatérését.
A Rockwell SLC 500 utasításkészlet-referenciakézikönyve szerint az S:5/0 bit akkor áll be, amikor matematikai túlcsordulás történik, és a 0020H számú súlyos hiba akkor lép életbe, ha a bit az END, TND vagy REF végrehajtásakor még mindig be van állítva. A kézikönyv azt javasolja, hogy vizsgálja meg a bitet az érintett utasítást követően, tegye meg a megfelelő intézkedést, és csak ezután törölje az S:5/0 értékét OTU-val, vagy törölje az alkalmazandó állapotszót.
Értse meg a matematikai eredményt és a csapdát is
ADD, SUB, MUL, DIV vagy NEG esetén, ha az eredmény nem ábrázolható a célterületen, beáll az aritmetikai túlcsordulást jelző S:0/1 bit és az S:5/0 csapda. Az S:2/14 alapértelmezett állapotában a pozitív eredmény felső határa 32767, a negatív eredményé pedig -32768. Ha az S:2/14 be van állítva, akkor a célterületre a 16 bitből álló legkisebb helyiértékű rész kerülhet. Ez a beállítás megváltoztatja a célterület kezelését, de nem bizonyítja, hogy az alkalmazás szempontjából az eredmény érvényes.
A DDV, valamint egyes átalakítási vagy skálázási utasítások további szabályokat követnek, ezért a vizsgálat során a pontos utasításreferenciát kell követni. A nullával való osztás, az érvénytelen vezérlőhossz vagy a megengedett tartományon kívüli indirekt cím más állapotútvonalat eredményezhet. Ne soroljon minden 0020H eseményt az „egész túlcsordulása” kategóriába anélkül, hogy ellenőrizné az S:5 értékét és azt az utasítást, amely közvetlenül a bit beállítása előtt hajtódott végre.
Keresse meg az első hibát okozó műveletet
Tekintse át a közelmúltbeli módosításokat, és vesse össze azokat minden olyan utasítással, amely képes beállítani a megfigyelt állapotbitet. Matematikai túlcsordulás esetén vizsgálja meg a skálázási számításokat, a termelési összesítőket, a mértékegység-átváltásokat, az összegzett üzemidőértékeket, az előjeles határértékeket és a közbenső célterületeket. Egy számítás mérnöki mértékegységben matematikailag helyes lehet, miközben nem biztonságos, ha egy közbenső lépést 16 bites egész számként tárolnak.
Figyelje vagy rögzítse a gyanús utasítások környezetében a forrásoperandusokat, a célértékeket, az S:0/1-et és az S:5/0-t. Offline tesztrendszerben reprodukálja a határérték alatti, a határértéken lévő és a határérték feletti eseteket. Ha egyetlen programszkennelés során több utasítás is beállíthatja a csapdát, adjon hozzá ideiglenes diagnosztikai reteszeket, amelyek azonosítják az első helyet. Ezeket a diagnosztikai biteket a kiváltó ok megismerése után át kell tekinteni, el kell nevezni, majd el kell távolítani vagy hivatalosan meg kell tartani.
A helyreállítási logikát csak kifejezett szabályzat alapján használja
Az utolsó programszinten elhelyezett általános OTU S:5/0 megakadályozhatja a programszkennelés végi előléptetést, ugyanakkor a leállítást is elnyomja, függetlenül attól, hogy melyik számítás futott túl. Ez elfogadható lehet egy nem kritikus számláló esetén, amelynek értékét korlátozzák és riasztják. Nem elfogadható azonban akkor, ha az eredmény mozgást, nyomást, hőmérsékletet, adagolást, berendezésvédelmet vagy biztonsági szempontból fontos döntést befolyásol.
A robusztus logika ott ellenőrzi az utasítás eredményét, ahol az létrejön. Ellenőrizze az operandusokat a végrehajtás előtt, válasszon megfelelő tartományú célterületet, csak akkor korlátozza az értéket, ha azt a folyamat jelentése indokolja, állítson be diagnosztikai riasztást, helyettesítse az értéket dokumentált biztonságos értékkel, majd törölje a csapdát. Ha a helyes válasz a szekvencia leállítása, őrizze meg a hibát ahelyett, hogy a processzort a folytatásra kényszerítené.
A felhasználói hibakezelő rutin támogatást nyújthat bizonyos események szabályozott helyreállításához, és a Rockwell kézikönyve példát is tartalmaz a többször előforduló 0020H események számlálására, majd a leállítás engedélyezésére. Ez a minta informatívabb a feltétel nélküli törlésnél, mert megkülönbözteti az egyszeri, kezelt eseményt a visszatérő hibától. Magát a hibakezelő rutint is alaposan tesztelni kell; egy benne fellépő második hiba felülírhatja a diagnosztikai információkat, vagy megakadályozhatja a helyreállítást.
Különítse el a szoftverhibákat a hardverrel kapcsolatos problémáktól
A túlcsordulási csapda általában a program adataira és az utasítások működésére utal, nem pedig a váz meghibásodására. Ennek ellenére a bizonyítékokkal alátámasztott esetekben vizsgálni kell az instabil tápellátást, a memóriaproblémákat vagy a nem kívánt programváltozásokat is, mivel ezek módosíthatják az adatokat. Ellenőrizze a vezérlő akkumulátorát és tápellátási előzményeit, hasonlítsa össze a futó programot a jóváhagyott archívummal, és ellenőrizze, hogy HMI, üzenet vagy külső rendszer írja-e az érintett operandusokat.
Ne cserélje le első lépésként az SLC processzorát egy megismételhető matematikai határhelyzet miatt. Az ugyanazzal a programmal és ugyanazokkal az adatokkal működő csere-CPU ugyanúgy előidézi a hibát. Ha a platform elavult, a tartalékok kezelését és az átállást a telephely PLC- és PAC-rendszereinek életciklus-terve alapján végezze, de ezt a döntést válassza külön a közvetlen kiváltó ok elemzésétől.
Bizonyítsa a javítás helyességét
Tesztelje a javított logikát normál értékeknél, mindkét tartományhatáron, érvénytelen bemeneteknél, kommunikációs kieséskor, az első programszkennelés során és minden visszaállítási feltételnél. Győződjön meg arról, hogy a riasztások az érintett számítást azonosítják, a behelyettesített érték biztonságos, és az ismétlődő eseményeket megszámolják. Figyelje meg az S:5/0 és az S:0/1 értékét egy reprezentatív termelési ciklus során, és ellenőrizze, hogy a processzor nem csupán elrejti-e a visszatérő túlcsordulást.
Archiválja a módosítás előtti és utáni RSS-fájlokat, a hibára vonatkozó bizonyítékokat, a teszteredményeket, valamint a helyreállítási logika mögött álló indoklást. A modernizálás során egészítse ki ezt a nyilvántartást a telephely SLC-átállási útmutatásával. A 0020H számú hiba kezelhetővé válik, ha a csapat pontos állapot- és adatminőségi problémaként kezeli, nem pedig olyan bitként, amelyet azonnal ki kell kapcsolni.