MUL buyrug‘i bilan MicroLogix 1400 qurilmasida onlayn tahrirlash xatosi
MicroLogix 1400 qurilmasida doimiy operand bilan MUL ko‘rsatmasini qo‘shishda yuzaga keladigan onlayn tahrirlash xatosi. Ko‘paytirish manbai uchun doimiy qiy...
EtherNet/IP orqali MicroLogix 1400 qurilmasini onlayn tahrirlashda MUL rungi integer manbaga nisbatan 0.7 kabi literal konstantadan foydalansa, “Program could not be compiled. Online edit error” xatosi yuz berishi mumkin. Xuddi shu loyiha oflayn rejimda muammosiz tekshirilishi mumkin. Kontrollerning onlayn tahrirlash kompilyatori oflayn yo‘ldagiga qaraganda operandlar uchun qat’iyroq qoidalarni qo‘llaydi, arifmetik ko‘rsatmalardagi kasrli literallar esa ko‘pincha muammoga sabab bo‘ladi.
Literalni allaqachon 0.7 qiymatini saqlayotgan Float fayl manziliga almashtiring, so‘ng boshqa narsani o‘zgartirishdan oldin onlayn tahrirlashni qayta sinab ko‘ring.
Belgi va konfiguratsiya
| Band | Odatda xatoga olib keladigan sozlama |
|---|---|
| Kontroller | MicroLogix 1400 Series A yoki B |
| Dasturiy ta’minot | Onlayn tahrirlash funksiyasiga ega RSLogix 500 |
| Ko‘rsatma | MUL |
| Source A | N7:2 (integer) |
| Source B | 0.7 konstantasi |
| Destination | N7:7 (integer) |
Asosiy sabab
MicroLogix 1400 qurilmasidagi onlayn tahrirlashlar operand hajmi va turini oflayn kompilyatsiyaga qaraganda qat’iyroq tekshiradi. Source B sifatidagi kasrli konstanta ayrim oflayn tekshiruvlarda qabul qilinishi mumkin, biroq tahrir ishlayotgan dastur obraziga kompilyatsiya qilinishi kerak bo‘lganda rad etiladi. “Operand size does not match” kabi tegishli oflayn xabarlar ham ayni turdagi nomuvofiqliklarga ishora qiladi. Har qanday MicroLogix o‘zgarishini onlayn bajarib bo‘lmaydi; ayrim strukturaviy o‘zgarishlar uchun oflayn rejimda o‘zgartirish va yuklab olish talab etiladi.
Tuzatish tartibi
- Ishlatilmayotgan Float manzilini aniqlang (masalan, F8:7).
- Oflayn rejimda yoki bir martalik MOV/initialization rung orqali F8:7 qiymatini 0.7 ga oldindan o‘rnating.
- MUL ko‘rsatmasini tahrirlang: Source A N7:2 bo‘lib qoladi; Source B F8:7 ga o‘zgartiriladi; Destination N7:7 bo‘lib qoladi yoki aniqlik muhim bo‘lsa, Float manziliga ko‘chiriladi.
- Onlayn tahrirlashni qabul qiling va rung kompilyatsiya qilinganini tasdiqlang.
- Source A ga ma’lum qiymat bering va ish vaqtida hosil bo‘lgan ko‘paytmani tekshiring.
MUL Source A: N7:2 Source B: F8:7 <-- literal 0.7 emas, Float manzili Dest: N7:7 <-- yoki to‘liq aniqlik uchun F8:8
Ma’lumotlar turining oqibatlari
| Konfiguratsiya | Natija |
|---|---|
| Source B = 0.7 konstantasi | Onlayn tahrirlash kompilyatsiyasi xatosi |
| Source B = F8:7, Dest = N7:7 | Tahrirlash muvaffaqiyatli; integerga kesish/yaxlitlash |
| Source B = F8:7, Dest = F8:8 | Tahrirlash muvaffaqiyatli; Float aniqligi to‘liq saqlanadi |
N7:2 = 10 va ko‘paytiruvchi 0.7 bo‘lsa, integer chiqish qiymati yaxlitlash/kesish xatti-harakatiga ko‘ra 7 bo‘ladi — 7.0 Float qiymati saqlanib qolmaydi. Qiymat PID, masshtablash yoki taqqoslashlarga uzatilganda, chiqish turini ongli ravishda tanlang.
Arifmetik onlayn tahrirlashga oid cheklovlar
Xuddi shu onlayn kompilyator sezgirligi DIV, mavjud bo‘lgan CPT uslubidagi ifodalarda va jonli sozlash paytida shoshilinch kiritilgan aralash INT/Float zanjirlarida ham ko‘rinadi. Muhandislar ko‘pincha Run rejimidan chiqmasdan ketma-ket uchta onlayn tahrirlashni sinab ko‘rishadi: avval faqat konstantani, keyin chiqish fayli turini, so‘ng butun rungni o‘zgartirishadi. Har bir muvaffaqiyatsiz kompilyatsiya kutilayotgan tahrirlar navbatini chalkash holatda qoldiradi. Muvaffaqiyatsiz tahrirlashni to‘g‘ri bekor qiling, bitta yaxlit o‘zgarish kiriting (literalni Float manziliga almashtiring) va bir marta qabul qiling. MicroLogix bir necha urinishdan keyin dastur kompilyatsiya qilinmaganini bildirsa, oflayn rejimga o‘ting, fayl mavjudligini tekshiring (F8 yetarli elementlar bilan yaratilgan bo‘lishi kerak), so‘ng onlayn ishni qayta boshlashdan oldin sinovdan o‘tgan dastur obrazini yuklang.
Shuningdek, Float fayli oflayn tekshiruvga ruxsat berib, onlayn o‘zgartirishni bloklaydigan ma’lumotlar jadvali huquqi yoki parol bilan himoyalanmaganini tasdiqlang. Series A va Series B MicroLogix 1400 kontrollerlari proshivka hamda RSLogix 500 versiyalari mos kelganda onlayn tahrirlashni qo‘llab-quvvatlaydi; mos kelmaydigan vosita versiyalari ham boshqa sabablar tufayli aynan “online edit error” matnini ko‘rsatishi mumkin. Texnik xodimlar zavod loyihasi bilan taqqoslay olishi uchun Float operandli MUL muvaffaqiyatli ishlaydigan sinov kontrolleri obrazini saqlang.
Tekshirish va kengroq cheklovlar
Tahrirlash qabul qilingandan keyin N7:2 ga bir nechta qiymat berib ko‘ring va ikkala manzil mavjud bo‘lsa, integer hamda Float chiqishlarini kuzating yoki trendini yozib boring. Onlayn tahrirlash xatosiz kompilyatsiya qilinishini tasdiqlang, MUL ish vaqtida to‘g‘ri bajarilishini tekshiring va aniqlik muhim bo‘lsa, chiqishni F8:8 kabi Float manziliga ko‘chiring. Literal almashtirilgandan keyin ham xatolar davom etsa, avval oflayn rejimda takrorlang, keyin dasturni yuklang. Jonli tahrirlashlar kutiladigan joylarda ichki konstantalar o‘rniga manzillangan qiymatlardan foydalanishni afzal ko‘ring. MicroLogix dasturlash amaliyotlarini boshqa PLC va PAC standartlari yonida hujjatlashtiring, shunda texnik xodimlar aslida operand qoidasi bo‘lgan muammo uchun Ethernet nosozliklarini izlamaydi.
Muallif haqida
Mark Townsend | Allen-Bradley tizimlari bo‘yicha katta avtomatlashtirish muhandisi
Mark Townsend ControlLogix, CompactLogix va eski SLC-500 platformalarini qamrab olgan Allen-Bradley tizimlarida 18 yildan ortiq tajribaga ega katta avtomatlashtirish muhandisidir. Uning kundalik ishi eskirgan va aralash tizimlar parkida RSLogix / Studio 5000 mantiqi hamda FactoryTalk View HMI ni ishga tushirishdan iborat.