Chyba přetečení Overflow Trap 0020 v SLC 500: Oprava západky S:5/0
Diagnostikujte závažnou chybu SLC 500 0020H před vymazáním S:5/0. Zjistěte, jak funguje povýšení po dokončení skenování, identifikujte první problematickou instrukci, nastavte zásady obnovy a ověřt...
Chyba SLC 500 0020H je běžně popisována jako chyba přetečení, ale tento kód označuje širší problém než jednu chybnou instrukci ADD. Společnost Rockwell ji definuje jako stav minor error, který zůstal nastavený, když procesor dosáhl instrukce END, TND nebo REF, a proto byl povýšen na major error. Diagnostika spočívá v určení, který stavový bit povýšení způsobil, zjištění, která operace jej nastavila, a rozhodnutí, zda je řízené obnovení bezpečné.
Chyba 0020H by měla vést k prozkoumání stavového souboru, nikoli k automatickému závěru, že selhal hardware procesoru.
Než cokoli vymažete, přečtěte stavový soubor
Před resetováním řídicího systému zaznamenejte kód chyby, katalogové číslo procesoru, provozní režim, čas, stav výroby a hodnoty S:5 a S:6. S:5/0 je past aritmetického přetečení. S:5/2 označuje chybu řídicího registru způsobenou instrukcemi, jako jsou FIFO, bitové posuny nebo sekvenční operace. Na konci skenu mohou být povýšeny také další bity S:5. Vymazáním procesoru před zachycením těchto hodnot zničíte důkazy a zvýšíte pravděpodobnost opakování stejné poruchy.
Referenční příručka instrukční sady Rockwell SLC 500 uvádí, že S:5/0 se nastaví při matematickém přetečení a že major error 0020H je vyhlášena, pokud je tento bit stále nastaven při provedení END, TND nebo REF. Příručka doporučuje bit po příslušné instrukci prověřit, přijmout odpovídající opatření a teprve poté vymazat S:5/0 pomocí OTU nebo vymazat příslušné stavové slovo.
Porozumějte výsledku výpočtu i samotné pasti
U instrukcí ADD, SUB, MUL, DIV nebo NEG nastaví výsledek, který nelze reprezentovat v cílovém prvku, aritmetický bit přetečení S:0/1 a past S:5/0. Při výchozím stavu S:2/14 je kladný výsledek omezen na 32767 a záporný na -32768. Když je S:2/14 nastaven, lze do cílového prvku uložit 16 nejméně významných bitů. Toto nastavení mění chování cílového prvku; nedokazuje však, že je výsledek aplikace platný.
Instrukce DDV a některé instrukce pro převody nebo škálování mají další pravidla, takže při zkoumání je nutné vycházet z přesné referenční dokumentace instrukce. Dělení nulou, neplatná délka řídicí struktury nebo nepřímá adresa mimo povolený rozsah mohou vést k jiné stavové cestě. Neseskupujte každou událost 0020H pod „celé číselné přetečení“, aniž byste zkontrolovali S:5 a instrukci, která se provedla bezprostředně před nastavením bitu.
Najděte první problémovou operaci
Prověřte nedávné změny a porovnejte všechny instrukce schopné nastavit zjištěný stavový bit. U matematického přetečení zkontrolujte výpočty škálování, výrobní součty, převody jednotek, akumulované provozní hodnoty, znaménkové limity a mezilehlé cílové prvky. Výpočet může být v technických jednotkách matematicky správný, ale přesto nebezpečný, pokud je mezikrok uložen do 16bitového celého čísla.
V okolí podezřelých instrukcí sledujte nebo zachycujte vstupní operandy, hodnoty cílových prvků, S:0/1 a S:5/0. V offline testovacím systému reprodukujte mezní případy těsně pod povoleným rozsahem, na jeho hranici i nad ní. Pokud může během jednoho skenu past nastavit více instrukcí, přidejte dočasné diagnostické příznaky, které určí první místo výskytu. Tyto diagnostické bity po zjištění hlavní příčiny zkontrolujte, pojmenujte a odstraňte nebo formálně ponechte.
Obnovovací logiku používejte pouze s výslovnými pravidly
Bezpodmínečné OTU S:5/0 na posledním řádku může zabránit povýšení na konci skenu, zároveň však potlačí odstavení bez ohledu na to, který výpočet přetekl. To může být přijatelné u nekritického čítače, jehož hodnota je omezena a jehož překročení vyvolá alarm. Není to přijatelné, pokud výsledek ovlivňuje pohyb, tlak, teplotu, dávkování, ochranu zařízení nebo rozhodnutí související s bezpečností.
Robustní logika kontroluje výsledek instrukce přímo v místě jejího provedení. Před provedením ověřte operandy, zvolte cílový prvek s dostatečným rozsahem, omezujte hodnotu pouze tehdy, pokud to odpovídá významu procesu, nastavte diagnostický alarm, dosaďte zdokumentovanou bezpečnou hodnotu a teprve poté past vymažte. Pokud je správnou reakcí zastavení sekvence, ponechte poruchu aktivní, místo abyste procesor nutili pokračovat.
Uživatelská poruchová rutina může podporovat řízené obnovení u vybraných událostí a příručka Rockwell obsahuje příklad, který počítá opakované výskyty 0020H a nakonec umožní odstavení. Tento postup poskytuje více informací než bezpodmínečné mazání, protože rozlišuje mezi izolovanou ošetřenou událostí a opakující se závadou. Samotná poruchová rutina musí být důkladně otestována; druhá chyba v ní může přepsat diagnostické informace nebo zabránit obnovení.
Rozlišujte softwarové poruchy od problémů s hardwarem
Past přetečení obvykle poukazuje na data programu a chování instrukcí, nikoli na selhání šasi. Nestabilní napájení, problémy s pamětí nebo neúmyslné změny programu však mohou data ovlivnit a zaslouží si prověření, pokud tomu odpovídají důkazy. Ověřte baterii řídicího systému a historii napájení, porovnejte běžící program se schváleným archivem a zkontrolujte, zda HMI, zpráva nebo externí systém nezapisuje do zúčastněných operandů.
Procesor SLC nevyměňujte jako první reakci na opakovatelné matematické překročení hranice. Náhradní CPU se stejným programem a stejnými daty poruchu zopakuje. Pokud je platforma zastaralá, řiďte náhradní díly a migraci v rámci životního cyklu systémů PLC a PAC na daném pracovišti, ale toto rozhodnutí oddělte od bezprostřední analýzy hlavní příčiny.
Prokažte správnost opravy
Otestujte opravenou logiku při běžných hodnotách, na obou mezích rozsahu, s neplatnými vstupy, při ztrátě komunikace, během prvního skenu a při všech podmínkách resetu. Ověřte, že alarmy identifikují dotčený výpočet, dosazená hodnota je bezpečná a opakované události se počítají. Sledujte S:5/0 a S:0/1 během reprezentativního výrobního cyklu a ověřte, že procesor pouze neskrývá opakované přetečení.
Archivujte soubory RSS před opravou i po ní, důkazy o poruše, výsledky testů a zdůvodnění použité obnovovací logiky. Tento záznam spojte s pokyny pro migraci škálování SLC na Studio 5000 při modernizaci aplikace. Chyba 0020H se stává zvládnutelnou, když k ní tým přistupuje jako k přesně definovanému problému stavu a kvality dat, nikoli jako k bitu, který je třeba okamžitě vynulovat.