SLC 500 Overflow Trap Error 0020: S:5/0 бекіткішін түзету
S:5/0 мәнін тазартпас бұрын, SLC 500 жүйесіндегі 0020H негізгі қатесін диагностикалаңыз. Сканерлеуді аяқтау кезіндегі ілгерілету үдерісінің қалай жұмыс істейтінін үйреніңіз, бірінші ақаулы нұсқауды...
SLC 500 жүйесіндегі 0020H негізгі қатесі әдетте толып кету қатесі ретінде сипатталады, бірақ бұл код бір ғана қате ADD нұсқаулығымен шектелмейді. Rockwell оны процессор END, TND немесе REF нұсқаулығына жеткен кезде әлі де орнатулы қалған және сондықтан негізгі қатеге айналған қосалқы қате жағдайы ретінде анықтайды. Диагностиканың мақсаты — қандай күй биті осы түрлендіруге себеп болғанын анықтау, оны қандай операция орнатқанын табу және басқарылатын қалпына келтірудің қауіпсіз екенін шешу.
0020H қатесі процессор аппаратурасы істен шықты деген автоматты қорытындыға емес, күй файлын тексеруге себеп болуы керек.
Ештеңені тазаламас бұрын күй файлын оқыңыз
Контроллерді қайта іске қоспас бұрын ақау кодын, процессордың каталог нөмірін, жұмыс режимін, уақытты, өндіріс күйін және S:5 пен S:6 мәндерін жазып алыңыз. S:5/0 — математикалық толып кету тұзағы. S:5/2 FIFO, биттерді жылжыту немесе секвенсер операциялары сияқты нұсқаулықтардан болатын басқару регистрінің қатесін көрсетеді. Басқа S:5 биттері де скан соңында негізгі қатеге айналуы мүмкін. Осы мәндерді тіркемей тұрып процессорды тазалау дәлелдерді жояды және сол ақаудың қайталануына жағдай жасайды.
Rockwell SLC 500 Instruction Set Reference Manual құжатына сәйкес, математикалық толып кету болғанда S:5/0 орнатылады және END, TND немесе REF орындалған кезде бит әлі де орнатулы болса, 0020H негізгі қатесі жарияланады. Нұсқаулық тиісті нұсқаулықтан кейін осы битті тексеруді, қажетті әрекетті орындауды және содан кейін ғана OTU арқылы S:5/0 битін немесе тиісті күй сөзін тазалауды ұсынады.
Тұзақпен қатар математикалық нәтижені де түсініңіз
ADD, SUB, MUL, DIV немесе NEG үшін тағайындалған орынға сыймайтын нәтиже арифметикалық толып кету битін S:0/1 және S:5/0 тұзағын орнатады. S:2/14 битінің әдепкі күйінде оң нәтиже 32767 мәнімен, ал теріс нәтиже -32768 мәнімен шектеледі. S:2/14 орнатылса, ең кіші мәнді 16 битті тағайындалған орынға орналастыруға болады. Бұл параметр тағайындалған орынның әрекетін өзгертеді, бірақ қолданба нәтижесінің жарамды екенін дәлелдемейді.
DDV және кейбір түрлендіру немесе масштабтау нұсқаулықтарында қосымша ережелер бар, сондықтан тексеру нақты нұсқаулық анықтамасына сүйенуі керек. Нөлге бөлу, басқару ұзындығының жарамсыз болуы немесе заңды ауқымнан тыс жанама адрес басқа күй жолын тудыруы мүмкін. S:5 битін және бит орнатылғанға дейін бірден орындалған нұсқаулықты тексермей, барлық 0020H оқиғаларын «бүтін санның толып кетуі» деп біріктірмеңіз.
Ақау тудырған алғашқы операцияны табыңыз
Соңғы өзгерістерді қарап, байқалған күй битін орната алатын әрбір нұсқаулықпен салыстырып тексеріңіз. Математикалық толып кету үшін масштабтау есептеулерін, өндіріс жиынтықтарын, өлшем бірліктерін түрлендіруді, жинақталған жұмыс уақытын, таңбалы шектерді және аралық тағайындалған орындарды тексеріңіз. Есеп инженерлік бірліктерде математикалық тұрғыдан дұрыс болуы мүмкін, бірақ аралық қадам 16 биттік бүтін санға сақталса, қауіпсіз болмауы ықтимал.
Күдікті нұсқаулықтардың айналасында бастапқы операндтарды, тағайындалған мәндерді, S:0/1 және S:5/0 биттерін трендке түсіріңіз немесе жазып алыңыз. Офлайн сынақ жүйесінде рұқсат етілген ауқымнан сәл төмен, дәл шекарада және одан жоғары жағдайларды қайталап көріңіз. Бір скан барысында бірнеше нұсқаулық тұзақты орната алса, алғашқы орынды анықтайтын уақытша диагностикалық ілмектер қосыңыз. Себеп анықталғаннан кейін бұл диагностикалық биттерді қарап, атауын беріп, жою немесе ресми түрде сақтау керек.
Қалпына келтіру логикасын тек нақты саясатпен қолданыңыз
Соңғы сатыда S:5/0 битіне жаппай OTU қолдану скан соңындағы түрлендіруді болдырмауы мүмкін, бірақ ол қай есептеу толып кеткеніне қарамастан өшіруді де басады. Бұл мәні шектеліп, дабыл берілетін маңызды емес есептегіш үшін қолайлы болуы мүмкін. Алайда нәтиже қозғалысқа, қысымға, температураға, мөлшерлеуге, жабдықты қорғауға немесе қауіпсіздікке қатысты шешімге әсер етсе, мұндай тәсіл жарамсыз.
Сенімді логика нұсқаулық нәтижесін ол орындалған жерде тексереді. Орындалмас бұрын операндтарды тексеріңіз, жеткілікті ауқымы бар тағайындалған орынды таңдаңыз, тек процесс мағынасы қолдағанда ғана шектеңіз, диагностикалық дабыл орнатыңыз, құжатталған қауіпсіз мәнді қойыңыз, содан кейін тұзақты тазалаңыз. Дұрыс әрекет — реттілікті тоқтату болса, процессорды жалғастыруға мәжбүрлемей, ақауды сақтаңыз.
Пайдаланушы ақауларының өңдеу процедурасы таңдалған оқиғалар үшін басқарылатын қалпына келтіруді қолдай алады, ал Rockwell нұсқаулығында қайталанған 0020H оқиғаларын санап, соңында өшіруге мүмкіндік беретін мысал бар. Бұл үлгі шартсыз тазалауға қарағанда ақпараттырақ, өйткені ол өңделген оқшауланған оқиғаны қайталанатын ақаудан ажыратады. Ақауларды өңдеу процедурасының өзі мұқият сыналуы керек: оның ішіндегі екінші қате диагностикалық ақпаратты қайта жазуы немесе қалпына келтіруге кедергі келтіруі мүмкін.
Бағдарламалық ақауларды аппараттық мәселелерден ажыратыңыз
Толып кету тұзағы әдетте шассидің істен шығуын емес, бағдарлама деректері мен нұсқаулықтардың әрекетін көрсетеді. Дегенмен тұрақсыз қуат, жад мәселелері немесе бағдарламаның әдейі жасалмаған өзгерістері деректерді өзгертуі мүмкін, сондықтан дәлелдер болса, оларды да тексеру қажет. Контроллердің батареясы мен қуат тарихын тексеріңіз, орындалып жатқан бағдарламаны бекітілген мұрағатпен салыстырыңыз және HMI, хабарлама немесе сыртқы жүйе қатысты операндтарға жазатынын анықтаңыз.
Қайталанатын математикалық шекараға бірінші әрекет ретінде SLC процессорын ауыстырмаңыз. Сол бағдарламамен және сол деректермен жұмыс істейтін жаңа CPU ақауды қайта тудырады. Платформа ескірген болса, қосалқы бөлшектер мен көшіруді нысанның PLC және PAC жүйелері өмірлік циклі жоспарына сәйкес басқарыңыз, бірақ бұл шешімді жедел себепті талдаудан бөлек қарастырыңыз.
Түзетуді дәлелдеңіз
Түзетілген логиканы қалыпты мәндерде, ауқымның екі шегінде, жарамсыз кірістерде, байланыс жоғалғанда, алғашқы сканда және кез келген қалпына келтіру жағдайында сынаңыз. Дабылдар әсер еткен есептеуді көрсететініне, қойылған мәннің қауіпсіз екеніне және қайталанатын оқиғалардың саналатынына көз жеткізіңіз. Өндірістің өкілдік циклі кезінде S:5/0 және S:0/1 биттерін бақылап, процессордың қайталанатын толып кетуді жай ғана жасырып қоймайтынын тексеріңіз.
Өзгеріске дейінгі және кейінгі RSS файлдарын, ақау дәлелдерін, сынақ нәтижелерін және қалпына келтіру логикасына қатысты негіздемені мұрағаттаңыз. Қолданбаны жаңғыртқанда бұл жазбаны нысанның SLC масштабтауын көшіру жөніндегі нұсқаулығымен байланыстырыңыз. Команда 0020H қатесін бір көргенде ажыратылатын бит ретінде емес, нақты күй мен деректер сапасының мәселесі ретінде қарастырғанда, оны басқару оңай болады.