SLC 500 Taşma Tuzağı Hatası 0020: S:5/0 Mandalını Düzeltme
SLC 500 major fault 0020, hatalı matematik işlemi sonrasında taşma tuzağı S:5/0’ın kilitlendiği anlamına gelir. OTU ile sıfırlamak CPU’nun çalışmaya devam et...
Her birkaç günde bir SLC arızaya geçiyor. Büyük hata 0020. Operatörler omuz silkiyor, bakım ekibi hatayı temizliyor, üretim yeniden başlıyor—ta ki aynı matematik hatası gece vardiyasında tekrar ortaya çıkana kadar. Bu düzen, taşma tuzağı biti S:5/0’ın Rockwell tarafından tasarlandığı şekilde çalıştığını gösteriyor: hatalı aritmetik hiç yaşanmamış gibi davranamamanız için biti kilitliyor.
1747-L524 gibi bir 5/04’te 0020, bir talimatın izin verilen tamsayı aralığının dışında sonuç ürettiği anlamına gelir. İşaretli 16 bitlik değerler −32768 ile +32767 arasındadır. ADD veya MUL ile bu üst sınırı aşarsanız, sıfıra bölerseniz, bir FIFO/LIFO’yu arabelleğinin ötesine taşırsanız ya da −32768 değerine NEG uygularsanız işlemci S:5/0 bitini set eder ve bu bitin kilidini açan bir işlem yapılana kadar arızalı durumda kalır. 1747-UM011 / 1747-UM001 ailesine ait kılavuzlar bu tuzağı açıklar; üretim alanı ise yalnızca çalışmayan bir CPU görür.
Eski SLC işlemcileri hâlâ çok sayıda ayrık makineyi çalıştırıyor. Taşma tuzakları neredeyse her zaman uygulama matematiğinden kaynaklanır; arızalanan bir arka panelden değil.
Kanamayı durduran OTU
Çoğu hızlı kurtarma işleminde, tuzaktan sonra taramanın devam edebilmesi için S:5/0 üzerine bir OTU yerleştirilir. Kritik nokta yerleşimdir. OTU’yu LAD 2’deki son rung’a—JSR çağrılarını yöneten dosyaya—koyun; böylece mandalı temizlemeden önce tüm alt yordamlar tamamlanmış olur. Bu sayede taşma tarama sırasında algılanır, ardından bir kez temizlenir ve işlemci boşta beklemeye geçer.
LAD 2 — son rung S:5/0 ----] [----(OTU)----
Aynı OTU’yu taşmanın gerçekleştiği alt yordamın içine koyarsanız yeni bir arıza modu yaratırsınız: çok erken temizleme, aynı tarama içinde daha sonra yeniden taşma ve anında tekrar arızaya geçme. Ya da OTU, o taramada hatalı matematik işlemini hiç görmeyen bir yolda çalışır; siz sorunu “çözdüğünüzü” sanırsınız, ancak gerçek rung haftada iki kez hâlâ sistemi çökertir.
| Öğe | Kullanım |
|---|---|
| Bit |
S:5/0 taşma tuzağı (kilitli) |
| Talimat | OTU |
| Dosya | LAD 2 (ana) |
| Konum | Tüm JSR’lerden sonra, son rung |
Programı indirin, anahtarı RUN konumuna alın ve birkaç vardiya boyunca S:5/0 bitinin temiz kaldığını gözlemleyin. Sessiz kalırsa zaman kazanmış olursunuz; kök neden çözülmüş olmaz.
Gerçekte taşan matematik işlemini bulun
OTU’yu emniyet kemeri olarak düşünün. Ardından araştırmaya başlayın:
- Tamsayılarla ilgili yakın zamanda yapılan değişiklikler—parti sayımları, N dosyalarına sıkıştırılmış ölçekli analog değerler, birim dönüşümü için eklenen “geçici” MUL işlemleri
- Aralık sınırlaması olmadan kullanılan ADD / SUB / MUL / DIV / DDV işlemleri
- Değerler 16 bitlik aralığın dışına çıktığında LADD / LMUL (32 bit) kullanılması gereken yerler
- −32768 değerini alabilecek bir değere uygulanan NEG işlemleri
- FIFO/LIFO uzunluğu ile gerçekten ayırdığınız arabellek arasındaki uyumsuzluklar
Hata ayıklarken bilinmesinde yarar olan ilgili durum bitleri: taşma tuzağını etkinleştiren S:5/1, ilk taramayı gösteren S:1/0 ve işlemci arızası S:2/0. Hangi rung’un sorun çıkardığını bilmeden çevrimiçi düzenlemelerde tuzakları gelişigüzel temizlemeyin.
Donanlık gerçeklik kontrolü
1747-L524 sınıfı 5/04 CPU’lar kullanım ömrünün çok ötesine geçmiş durumda. Kasa korunacaksa rafta çalıştığı bilinen bir 5/04 yedeği bulundurun—bu aileyi hâlâ satın alan tesisler çoğu zaman 1747-L542 gibi modüllere yöneliyor. Daha küçük makineler bazen 1747-L532 gibi bir 5/03’e geçebilir; ancak bu bir proje kararıdır, taşma düzeltmesi değildir. Uzun vadede çoğu tesis süreci CompactLogix veya ControlLogix platformuna taşıyor ve 16 bitlik matematik tuzaklarını platformla birlikte emekliye ayırıyor. Karma Logix filoları için yedek parça stratejisi, PLC ve PAC sistemlerini nasıl stokladığınızla birlikte ele alınmalıdır.
Bu geçiş tamamlanana kadar uygulanacak yöntem basit: LAD 2’de OTU en son rung’da olacak; ardından hangi ADD/MUL işleminin aralığı yanlış ele aldığını kanıtlayın.
Yazar Hakkında
Mark Townsend | Kıdemli Otomasyon Mühendisi – Allen-Bradley Sistemleri
Mark Townsend, ControlLogix, CompactLogix ve eski SLC-500 platformlarında 18 yılı aşkın deneyime sahip kıdemli bir otomasyon mühendisidir. Günlük çalışmaları, eski ve karma filolarda RSLogix / Studio 5000 mantığı ile FactoryTalk View HMI devreye alma işlemlerini kapsar.