SLC-5/04 Yulian sanasi generatorini joriy etish bo‘yicha qo‘llanma
Yorliq printerlariga ASCII chiqishi uchun SLC-5/04 qurilmasida Yulian sanasi generatorini joriy qiling. Compute ko‘rsatmalari yordamida bosqichma-bosqich lad...
1747-L542 kabi protsessorlarni o‘z ichiga olgan SLC-5/04 oilasida o‘rnatilgan Julian kuni raqami (JDN) instruksiyasi mavjud emas. Qadoqlash, partiya kodlash va yorliq printerlari ko‘pincha yil kunining qiymatini yoki ixcham YYYYDDD satrini talab qiladi, shuning uchun mantiq oddiy matematik amallar va ma’lumotlar jadvali operatsiyalari yordamida tuzilishi kerak. Ushbu qo‘llanmada CPT ifodalari, oy kunlarining yig‘indi jadvali, kabisa yili bilan ishlash va printer ma’lumotlari uchun ASCII konversiyasidan foydalanadigan, qo‘llab-quvvatlash oson bo‘lgan yondashuv keltiriladi. Shuningdek, ko‘plab dastlabki ishlanmalarda muammo tug‘diradigan o‘n olti bitli matematika cheklovlariga ham e’tibor qaratiladi.
SLC-5/04 protsessorlari CPT, integer fayllari va sinchiklab aniqlangan RTC qiymatlaridan foydalanib, ladder muhitida yil kunini va Julian uslubidagi kodlarni hisoblaydi.
Ba’zi manbalarda yil, oy va kun uchun S:50–S:52 hududidagi status fayli so‘zlariga ishora qilinadi, boshqa hujjatlarda esa protsessor va firmware kontekstiga qarab S:37 atrofidagi kengroq real vaqt soati hududi ta’kidlanadi. RTC manba so‘zlari bilan ehtiyotkor ishlang: teg aliaslarini yakuniy belgilashdan oldin o‘rnatilgan katalog va seriya uchun status faylining aniq xaritasini tekshiring. Kalendar maydonlari ishonchli ekani tasdiqlangach, algoritmni SLC-5/04 loyihalarida ko‘chma tarzda ishlatish mumkin.
Ma’lumotlar jadvali tuzilishi
Tartibli integer joylashuvi dasturni keyingi texnik xodim uchun o‘qishni osonlashtiradi. Odatdagi usulda N7 registrlari quyidagicha ishlatiladi: N7:0 yil, N7:1 oy, N7:2 oy kuni, N7:3 yil kuni natijasi, N7:4 kabisa yili bayrog‘i va N7:5 oraliq CPT natijalari uchun vaqtinchalik saqlash joyi. Oylar uchun yig‘indi kun siljishlarini belgilangan integer jadvalida saqlang — masalan, kabisa bo‘lmagan yil uchun noyabrgacha bo‘lgan boshlang‘ich qiymatlar sifatida N10:1 dan N10:12 gacha 0, 31, 59, 90, 120, 151, 151, 181, 212, 243, 273, 304 qiymatlarini joylashtiring. Fevralga oid tuzatish ish vaqtida jadvalni o‘zgartirish orqali emas, kabisa yili bayrog‘i orqali bajariladi. Aniq jadvalni o‘zingiz ma’qul ko‘rgan noldan boshlanuvchi indekslashga moslang, biroq uni runglar yonida hujjatlashtiring.
DOY yondashuviga misol (konseptual)
Leap = (Y 4 ga bo‘linadi) va zarur bo‘lsa asr qoidalari
DOY = Day + Cumulative[Month] + (Leap AND Month>2)
Printerlar uchun ASC / AIF uslubidagi formatlash orqali YYYYDDD satri
Ko‘plab zavodlar uchun YYYYDDD ko‘rinishidagi yil kuni (DOY) yetarli bo‘lib, to‘liq astronomik JDN murakkabligidan qochish imkonini beradi. Asrlarni qamrab oladigan to‘liq Julian kuni raqamlari kengroq integer bilan ehtiyotkor ishlashni talab qiladi; oraliq ko‘paytmalar bosqichma-bosqich saqlanmasa, SLC CPT operatsiyalarida o‘n olti bitli integerlar toshib ketadi. DOY qiymatini o‘n olti bitli diapazonda hisoblang, so‘ng bitta haddan tashqari katta integer hosil qilish o‘rniga yil va nollar bilan to‘ldirilgan DOY qiymatini printer uchun ASCII faylida birlashtiring.
Кabisa yili va CPT tuzilishi
Кabisa yili mantiqi sifat tizimingizda qo‘llanadigan fuqarolik kalendari qoidalariga mos bo‘lishi kerak. Eng kamida, to‘rtga bo‘linadigan yillar kabisa yili hisoblanadi; agar mahsulotning foydalanish davri asr chegaralarini qamrab olsa, to‘liq Gregorian istisnolarini qo‘llang — asr yillari faqat 400 ga bo‘linsa kabisa yili bo‘ladi. Yil kabisa yili bo‘lganda N7:4 ni birga o‘rnating. Oy uchun yig‘indi siljishini qo‘shishda, qo‘shimcha bir kunni faqat kabisa yili bayrog‘i o‘rnatilgan va oy fevraldan keyingi oy bo‘lgan holatda qo‘shing. Ushbu qo‘shishni o‘qilishi qiyin ifoda ichiga joylangan ichma-ich shartlar orqali emas, alohida CPT yordamida bajaring.
Tekshirilgan RTC manba so‘zlaridan yil, oy va kunni sekin davriy vazifa yoki birinchi skanerlash hamda kunlik front orqali N7 ishchi registrlariga ko‘chiring. Agar keyingi ASC formatlash ko‘p resurs talab qilsa, RTC so‘zlarini har bir erkin ishlaydigan rungda o‘qimang; sana kodlash uchun odatda daqiqasiga bir marta yangilash yetarli.
Nollar bilan to‘ldirilgan DOY satrlari shtrix-kod uzunligi o‘zgarmasligi kerak bo‘lganda xom integerlarga qaraganda yorliq printerlarini ishonchliroq ta’minlaydi.
Yorliq printerlari uchun ASCII formatlash
Aksariyat sanoat printerlari belgilangan kenglikdagi satrni kutadi. DOY N7:3 da hisoblangach, kun maydoniga bosh nollar qo‘yilgan YYYYDDD kabi satrni yaratish uchun ASCII fayl instruksiyalaridan foydalaning. Chop etish qo‘l siqish signalini ishga tushirishdan oldin uzunlikni tekshiring. Agar printer protokoli ajratkichlar yoki korxonaga xos prefikslarni talab qilsa, printerga to‘ldirishni topshirish o‘rniga ularni ayni satr buferida yarating.
- Muayyan 1747-L542 (yoki o‘rnatilgan SLC-5/04) firmware’i uchun RTC so‘zlari xaritasini tasdiqlang.
- N7 ishchi teglarini va yig‘indi oy jadvalini integer faylida yarating.
- Кabisa yili CPT mantiqini hamda kun + yig‘indi + kabisa tuzatishini qo‘shadigan DOY CPT ni yozing.
- YYYYDDD ni ASC orqali formatlang va kabisa hamda kabisa bo‘lmagan yillarda 28-fevral va 1-martni o‘z ichiga olgan ma’lum kalendar sanalari bilan sinang.
- Agar biror dastur to‘liq ko‘p asrlik JDN ko‘paytmalarini hisoblashga urinsa, o‘n olti bitli toshib ketishdan himoyalaning; matematikani bosqichlarga ajrating yoki hisoblashni SLC’dan tashqariga ko‘chiring.
Кabisa yili va printerdagi nollarni tekshirish
Tekshiruv sanalari 2024-02-29, 2024-03-01, 2025-02-28 va yil yakunidagi 12-31 o‘tishlarini o‘z ichiga olishi kerak. PLC DOY qiymatini mustaqil kalendar bilan taqqoslang. Asosiy xatolar qatoriga noto‘g‘ri status fayli manzillariga ishonish, fevral uchun kabisa tuzatishini unutish, shtrix-kod maydonlarini siljitib yuboradigan nolsiz DOY qiymatlarini chop etish va keyinchalik dasturni to‘liq JDN tomon kengaytirishda CPT oraliq qiymatlarining toshib ketishi kiradi. Ladder ichidagi izohlarda aynan shu mashinada ishlatilgan RTC manba so‘zlariga havolalarni saqlang.
Sana kodi kengroq qadoqlash katagining bir qismi bo‘lsa, generatorni qayta ishlatiladigan fayl sifatida saqlang va liniyalar bo‘ylab integer joylashuvlarini standartlashtiring. Ushbu SLC-500 PLC tizimlari uchun zaxira protsessorlar va hujjatlar sana kodi dasturini ham o‘z ichiga olishi kerak, shunda protsessor almashtirilganda eski va noto‘g‘ri kalendar dasturiga bilinmasdan qaytilmaydi.
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 faoliyati RSLogix / Studio 5000 mantiqi va eskirgan hamda aralash tizimlar majmuasida FactoryTalk View HMI ni ishga tushirishdan iborat.