Back to blog

PLC ma’lumotlari uchun ASCII: o‘nlik, o‘n oltilik va boshqaruv kodlari

ASCII belgilar, o‘nlik qiymatlar, o‘n oltilik baytlar va boshqaruv kodlari PLC satrlari hamda ketma-ket xabarlarda qanday ko‘rinishini, freym va formatlashdagi nosozliklarni aniqlashning amaliy usu...

ASCII PLC loyihalarida hanuz keng qo‘llanadi, chunki ko‘plab sanoat qurilmalari matnni bir baytdan almashadi. Shtrix-kod o‘quvchilar, yorliq printerlari, tarozilar, yuritmalar, ketma-ket aloqa shlyuzlari va operator terminallari ko‘pincha buyruqlar hamda o‘lchovlarni belgilar kodlari sifatida ifodalaydi. Belgilar, o‘nlik qiymatlar va o‘n oltilik baytlar o‘rtasida ishlay oladigan muhandislar bunday ulanishlardagi nosozliklarni tezroq aniqlaydilar.

ASCII nimani belgilaydi

Asl American Standard Code for Information Interchange - Axborot almashinuvi uchun Amerika standart kodi yetti bitli belgilar to‘plamidir. U 0 dan 127 gacha raqamlangan 128 ta qiymatni belgilaydi. 0 dan 31 gacha bo‘lgan qiymatlar va 127 boshqaruv belgilaridir. 32 dan 126 gacha bo‘lgan qiymatlar esa harflar, raqamlar, tinish belgilari va bo‘sh joyni o‘z ichiga olgan chop etiladigan belgilardir.

IETF joylashtirgan RFC 20 spetsifikatsiyasi kod pozitsiyalari va ularning mo‘ljallangan ma’nolarini hujjatlashtiradi. Zamonaviy tizimlar odatda ASCII belgisini sakkiz bitli baytda saqlaydi. Standart ASCII uchun eng yuqori bit nol bo‘lib qoladi.

O‘nlik, o‘n oltilik va ikkilik - bir xil bayt

PLC tegi bir xil qiymatni bir nechta son formatida ko‘rsatishi mumkin. Katta A harfi o‘nlikda 65, o‘n oltilikda 41 va ikkilikda 01000001 ga teng. 0 raqami o‘nlikda 48 yoki o‘n oltilikda 30 ga teng. Bular turli belgilar emas. Ular bir xil sonli qolipning turli ko‘rinishlaridir.

Ishga tushirish vaqtida o‘n oltilik format foydali, chunki bir bayt ikki o‘n oltilik raqamga sig‘adi. Paket yozuvlari, ketma-ket aloqa monitorlari va qurilma qo‘llanmalari ham bayt qiymatlarini ko‘pincha o‘n oltilik formatda ko‘rsatadi. PLC ko‘rsatmalari butun son konstantalarini kutganda, o‘nlik formatdan foydalanish odatda osonroq.

Boshqaruv kodlari sanoat xabarlarida muhim

Ko‘plab ketma-ket aloqa protokollari boshqaruv belgilaridan ajratuvchi sifatida foydalanadi. Karetkani qaytarish o‘nlikda 13 yoki o‘n oltilikda 0D ga teng. Satr uzatish o‘nlikda 10 yoki o‘n oltilikda 0A ga teng. Matn boshlanishi o‘n oltilikda 02, matn tugashi esa o‘n oltilikda 03 bilan belgilanadi. Qurilma zarur tugatish belgisi bo‘lmasa, yaroqli buyruqni ham e’tiborsiz qoldirishi mumkin.

Har bir qurilma CR/LF dan foydalanadi, deb o‘ylamang. Ba’zilari faqat CR ni talab qiladi. Boshqalari chop etiladigan ajratuvchi, belgilangan xabar uzunligi yoki nazorat baytidan foydalanadi. Ishlab chiqaruvchining protokol qo‘llanmasida aniq kadr tuzilishini tekshiring.

PLC satrlari bayt massivlariga qanday aylanadi

PLC platformalari satrlarni turlicha saqlaydi. Ba’zilari joriy uzunlikni belgilar ma’lumotlaridan oldin joylashtiradi. Boshqalari belgilangan massiv ajratadi va matnni nol bayt bilan tugatadi. Ma’lumotlar protokol chegarasidan o‘tganda, qabul qiluvchi qurilma kontrollerning ichki satr turini emas, baytlarni ko‘radi.

E’lon qilingan satr uzunligini ham, uning asosidagi buferni ham tekshiring. Joriy uzunlikdan keyingi eskirgan bayt, agar dastur to‘liq buferni yuborsa, uzatilayotgan ma’lumotlarda ko‘rinishi mumkin. Qabul qilish uchun ajratilgan joyni tozalang yoki faqat faol belgilar sonini uzating.

Amaliy diagnostika usuli

  1. Uzatilgan aniq baytlarni ketma-ket aloqa monitori, protokol analizatori yoki shlyuz diagnostika sahifasi yordamida yozib oling.
  2. Har bir baytni o‘n oltilik formatda yozing va chop etiladigan qiymatlarni yana belgilarga moslang.
  3. Kadr baytlarini, tugatish belgilarini, ajratuvchilarni, uzunlik maydonlarini va nazorat summalarini belgilang.
  4. Yozuvni qurilma qo‘llanmasi bilan, jumladan bo‘sh joylar va harflar registrini hisobga olgan holda taqqoslang.
  5. Ma’lum darajada to‘g‘ri xabar uchun yozuvni qayta oling va bayt pozitsiyalarini taqqoslang.

Bayt darajasidagi bu yondashuv formatlashdagi nosozliklarni simlar, bod tezligi va juftlik muammolaridan ajratadi. Agar yozuvda o‘qiladigan, ammo to‘liq bo‘lmagan matn ko‘rinsa, satrni yig‘ishga e’tibor qarating. Agar har bir bayt noto‘g‘ri bo‘lsa, avval fizik va ketma-ket aloqa sozlamalarini tekshiring.

Keng tarqalgan amalga oshirish xatolari

Raqamni uning sonli qiymati bilan adashtirish

“5” belgisi ASCII bo‘yicha o‘nlikda 53 ga teng, butun son qiymati 5 ga emas. O‘lchangan sonni matnga aylantirish uchun formatlash dasturidan foydalanish kerak. Xom butun sonni belgilar buferiga ko‘chirish o‘rniga boshqaruv baytini hosil qiladi.

O‘n oltilik matnni ikkilik baytlar bilan aralashtirish

“41” matni ikkita belgidan iborat: o‘n oltilik 34 va o‘n oltilik 31. O‘n oltilik 41 qiymatiga ega bitta bayt A harfini ifodalaydi. Protokol odam o‘qiy oladigan o‘n oltilik matnni yoki xom ikkilik ma’lumotni kutayotganini aniqlang.

ASCII dan tashqari kodlashni e’tiborsiz qoldirish

ASCII ingliz harflari va cheklangan belgilar to‘plamini qamrab oladi. UTF-8 dastlabki 128 ta belgi uchun ayni bayt qiymatlaridan foydalanadi, ammo ASCII ga kirmaydigan belgilar bir nechta baytdan foydalanadi. Eski qurilma bunday baytlarni rad etishi yoki ularni noto‘g‘ri sanashi mumkin.

Qo‘llab-quvvatlash oson bo‘lgan PLC kodi uchun loyihalash bo‘yicha tavsiyalar

Protokol formatlashini bitta dasturda jamlang. Narvon mantiqi yoki strukturaviy matn bo‘ylab sonli literallarni tarqatib yuborish o‘rniga boshqaruv kodlari uchun nomlangan konstantalardan foydalaning. Ishga tushirish vaqtida yakuniy uzatish buferini o‘n oltilik formatda jurnalga yozing. Loyiha hujjatlariga misollarni kiriting.

Protokol oddiy matnli kadr chegaralashdan murakkablashganda, belgilangan holatlar mashinasidan foydalaning. Qabul qilish pozitsiyasi, kutish vaqti, kadr holati va tekshirish natijasini alohida kuzating. Bu qayta urinishlar va noto‘g‘ri xabarlarni aniqlashni osonlashtiradi.

Ma’lumotlarni qayta ishlashning kengroq usullari uchun PLC tizimlarida massivlar bo‘ylab takrorlash materialiga qarang. Tarmoqqa ulangan qurilmalar uchun Modbus TCP qurilmasini joriy qilish bo‘yicha qo‘llanma kadrlar va ishga tushirish kontekstini to‘ldiradi.

Ishga tushirish tekshiruv ro‘yxati

  • Belgilar to‘plami va baytlar tartibini tasdiqlang.
  • Ajratuvchilar va tugatish belgilarini o‘n oltilik formatda tekshiring.
  • Xabar belgilangan uzunlikda yoki uzunlik prefiksiga ega ekanini aniqlang.
  • Chop etiladigan o‘n oltilik matnni xom ikkilik ma’lumotdan ajrating.
  • Vaqt tugashi, qayta urinish va buferni tozalash xatti-harakatlarini tekshiring.
  • Ma’lum darajada to‘g‘ri bayt yozuvini loyiha fayllari bilan birga arxivlang.

ASCII oddiy, ammo sanoatdagi nosozliklar ko‘pincha yetishmayotgan yoki noto‘g‘ri o‘qilgan bitta baytda yashirinadi. Xabarni avval sonli qiymatlar ketma-ketligi sifatida ko‘rib chiqing. Kadr tushunilgandan keyingina uni yana matnga aylantiring.

Leave a comment

Please note, comments need to be approved before they are published.