خطای سرریز SLC 500، شماره 0020: رفع قفل S:5/0
خطای عمدهٔ SLC 500 با کد 0020 یعنی تلهٔ سرریز S:5/0 پس از محاسبهٔ نادرست قفل شده است. پاککردن آن با OTU میتواند CPU را فعال نگه دارد—اما فقط در صورتی که رَ...
هر چند روز یکبار SLC به حالت خطا میرود. خطای اصلی 0020 است. اپراتورها شانه بالا میاندازند، تعمیرات آن را پاک میکند و تولید از سر گرفته میشود—تا اینکه همان اشتباه محاسباتی دوباره در شیفت شب رخ میدهد. این الگو همان بیت تله سرریز S:5/0 است که دقیقاً کاری را انجام میدهد که Rockwell برای آن طراحیاش کرده است: خطا را قفل میکند تا نتوانید وانمود کنید محاسبه نادرست هرگز رخ نداده است.
در یک 5/04، مانند 1747-L524، کد 0020 یعنی یک دستور نتیجهای خارج از محدوده مجاز اعداد صحیح تولید کرده است. محاسبات صحیح علامتدار ۱۶ بیتی بین −32768 و +32767 انجام میشوند. اگر با ADD یا MUL از این سقف عبور کنید، بر صفر تقسیم کنید، از ظرفیت بافر FIFO/LIFO جلو بزنید یا مقدار −32768 را NEG کنید، پردازنده S:5/0 را فعال میکند و سپس تا زمانی که چیزی این بیت را از حالت قفل خارج نکند، در وضعیت خطا میماند. راهنماهای خانواده انتشارات 1747-UM011 / 1747-UM001 این تله را شرح میدهند؛ چیزی که کف کارخانه میبیند فقط یک CPU ازکارافتاده است.
پردازندههای قدیمی SLC هنوز تعداد زیادی ماشین گسسته را کنترل میکنند. تلههای سرریز تقریباً همیشه ناشی از محاسبات برنامه هستند، نه خراب شدن بکپلین.
دستور OTU که جلوی ادامه خطا را میگیرد
در بیشتر بازیابیهای سریع، یک OTU روی S:5/0 قرار میدهند تا پس از تله، اجرای اسکن ادامه پیدا کند. محل قرارگیری تمام ماجراست. آن را بهعنوان آخرین رانگ در LAD 2 قرار دهید—فایلی که فراخوانیهای JSR شما را در اختیار دارد—تا همه زیربرنامهها پیش از پاک کردن قفل، کار خود را تمام کرده باشند. به این ترتیب، سرریز در طول اسکن شناسایی و سپس یکبار، پیش از حالت بیکار، پاک میشود.
LAD 2 — آخرین رانگ S:5/0 ----] [----(OTU)----
اگر همان OTU را داخل زیربرنامهای که سرریز میکند قرار دهید، یک حالت خرابی جدید ایجاد میکنید: خطا را خیلی زود پاک میکنید، بعداً در همان اسکن دوباره سرریز رخ میدهد و پردازنده بلافاصله دوباره به خطا میرود. یا ممکن است OTU در مسیری فعال شود که در آن اسکن اصلاً محاسبه خراب انجام نشده است؛ در نتیجه فکر میکنید مشکل را حل کردهاید، در حالی که رانگ واقعی هنوز هفتهای دو بار خطا ایجاد میکند.
| مورد | کاربرد |
|---|---|
| بیت |
S:5/0 تله سرریز (قفلشده) |
| دستور | OTU |
| فایل | LAD 2 (اصلی) |
| موقعیت | پس از همه JSRها، آخرین رانگ |
برنامه را دانلود کنید، کلید را روی RUN قرار دهید و بررسی کنید که S:5/0 در چند شیفت متوالی بدون فعال شدن باقی بماند. اگر آرام ماند، فقط زمان خریدهاید—not رفع کامل علت ریشهای.
محاسبهای را پیدا کنید که واقعاً سرریز کرده است
با OTU مانند کمربند ایمنی برخورد کنید. سپس به دنبال علت بگردید:
- هر تغییر اخیر که با اعداد صحیح سروکار دارد—شمارشهای بچ، مقادیر آنالوگ مقیاسشده که داخل فایلهای N قرار گرفتهاند، یا MUL «موقت» برای تبدیل واحد
- موارد ADD / SUB / MUL / DIV / DDV بدون محدودکنندههای بازه
- جاهایی که پس از خروج مقادیر از محدوده ۱۶ بیتی، باید از LADD / LMUL (۳۲ بیتی) استفاده میشده است
- استفاده از NEG برای مقداری که ممکن است برابر −32768 شود
- طول FIFO/LIFO در مقایسه با بافری که واقعاً رزرو کردهاید
بیتهای وضعیت مرتبطی که هنگام عیبیابی دانستنشان مفید است: S:5/1 فعالسازی تله سرریز، S:1/0 اسکن اول، و S:2/0 خطای پردازنده. در ویرایش آنلاین، تلهها را بدون دانستن اینکه کدام رانگ مشکلساز است، کورکورانه پاک نکنید.
بررسی واقعیت سختافزار
CPUهای 5/04 کلاس 1747-L524 کاملاً وارد دوره منسوخ شدن شدهاند. اگر قرار است شاسی حفظ شود، یک 5/04 سالم و آزمایششده را بهعنوان قطعه یدکی در قفسه نگه دارید—کارخانههایی که هنوز از این خانواده خرید میکنند، اغلب به ماژولهایی مانند 1747-L542 روی میآورند. ماشینهای کوچکتر گاهی بهصورت جانبی به یک 5/03 مانند 1747-L532 منتقل میشوند، اما این یک تصمیم پروژهای است، نه راهحل سرریز. در بلندمدت، بیشتر سایتها فرایند را به CompactLogix یا ControlLogix منتقل میکنند و با تغییر پلتفرم، از شر تلههای محاسباتی ۱۶ بیتی خلاص میشوند. راهبرد تأمین قطعات یدکی برای ناوگانهای ترکیبی Logix همچنان باید با نحوه موجودیگیری سیستمهای PLC و PAC هماهنگ باشد.
تا زمان اجرای این مهاجرت، قاعده ساده است: OTU را در انتهای LAD 2 قرار دهید، سپس ثابت کنید کدام ADD/MUL درباره محدوده خود اشتباه میکند.
درباره نویسنده
Mark Townsend | مهندس ارشد اتوماسیون – سیستمهای Allen-Bradley
Mark Townsend مهندس ارشد اتوماسیون است و بیش از ۱۸ سال با پلتفرمهای Allen-Bradley، از جمله ControlLogix، CompactLogix و SLC-500 قدیمی، تجربه دارد. فعالیت روزمره او شامل منطق RSLogix / Studio 5000 و راهاندازی HMIهای FactoryTalk View در ناوگانهای قدیمی و ترکیبی است.