Back to blog

PLC məlumatları üçün ASCII: Onluq, onaltılıq və idarəetmə kodları

ASCII simvollarının, onluq dəyərlərin, onaltılıq baytların və idarəetmə kodlarının PLC sətirlərində və serial mesajlarda necə göründüyünü, həmçinin çərçivələmə və formatlama xətalarını müəyyən etmə...

ASCII PLC layihələrində hələ də geniş istifadə olunur, çünki bir çox sənaye qurğusu mətni hər dəfə bir bayt olmaqla ötürür. Barkod oxuyucular, etiket printerləri, tərəzilər, ötürücülər, serial şlüzlər və operator terminalları əmrləri və ölçmələri çox vaxt simvol kodları kimi təqdim edir. Simvollar, onluq qiymətlər və onaltılıq baytlar arasında çevrilə bilən mühəndislər bu əlaqələrdə problemləri daha tez aradan qaldırırlar.

ASCII nəyi müəyyənləşdirir

Orijinal Amerika Məlumat Mübadiləsi üçün Standart Kod yeddi bitlik simvol dəstidir. O, 0-dan 127-yə qədər nömrələnmiş 128 qiymət müəyyənləşdirir. 0-dan 31-ə qədər olan qiymətlər və 127 idarəetmə simvollarıdır. 32-dən 126-ya qədər olan qiymətlər hərflər, rəqəmlər, durğu işarələri və boşluq daxil olmaqla çap edilə bilən simvollardır.

IETF-də yerləşdirilən RFC 20 spesifikasiyası kod mövqelərini və onların nəzərdə tutulan mənalarını sənədləşdirir. Müasir sistemlər adətən ASCII simvolunu səkkiz bitlik baytda saxlayır. Standart ASCII üçün ən yüksək bit sıfır olaraq qalır.

Onluq, onaltılıq və ikilik eyni baytdır

PLC teqi eyni qiyməti bir neçə say formatında göstərə bilər. A böyük hərfi onluq sistemdə 65, onaltılıq sistemdə 41, ikilik sistemdə isə 01000001-dir. 0 rəqəmi onluq sistemdə 48, onaltılıq sistemdə isə 30-dur. Bunlar fərqli simvollar deyil. Onlar eyni ədədi nümunənin fərqli təqdimatlarıdır.

İstismara vermə zamanı onaltılıq sistem faydalıdır, çünki bir bayt iki onaltılıq rəqəmə sığır. Paket ələ keçirmələri, serial monitorlar və qurğu təlimatları da bayt qiymətlərini adətən onaltılıq formatda göstərir. PLC təlimatları tam ədədlər üçün sabitlər gözlədikdə onluq sistem çox vaxt daha əlverişli olur.

Sənaye mesajlarında idarəetmə kodları vacibdir

Bir çox serial protokol ayırıcı kimi idarəetmə simvollarından istifadə edir. Karetka qaytarması onluq sistemdə 13, onaltılıq sistemdə isə 0D-dir. Sətir ötürməsi onluq sistemdə 10, onaltılıq sistemdə isə 0A-dır. Mətnin başlanğıcı onaltılıq sistemdə 02, mətnin sonu isə 03-dür. Tələb olunan sonlandırıcı olmadıqda qurğu düzgün əmri nəzərə almaya bilər.

Hər qurğunun CR/LF istifadə etdiyini düşünməyin. Bəziləri yalnız CR tələb edir. Digərləri çap edilə bilən ayırıcıdan, sabit mesaj uzunluğundan və ya yoxlama cəmi baytından istifadə edir. Dəqiq kadrı istehsalçının protokol təlimatında yoxlayın.

PLC sətirləri bayt massivlərinə necə çevrilir

PLC platformaları sətirləri fərqli şəkildə saxlayır. Bəziləri cari uzunluğu simvol məlumatından əvvəl yerləşdirir. Digərləri sabit massiv ayırır və mətni sıfır baytla sonlandırır. Məlumat protokol sərhədindən keçdikdə qəbuledici qurğu nəzarətçinin daxili sətir tipini deyil, baytları görür.

Həm elan edilmiş sətir uzunluğunu, həm də əsas buferi yoxlayın. Proqram tam buferi göndərərsə, cari uzunluqdan sonrakı köhnə bayt ötürülən məlumatda görünə bilər. Təyinat buferini təmizləyin və ya yalnız aktiv simvolların sayını ötürün.

Praktik diaqnostika üsulu

  1. Serial monitor, protokol analizatoru və ya şlüzün diaqnostika səhifəsi ilə ötürülən dəqiq baytları tutun.
  2. Hər baytı onaltılıq formatda yazın və çap edilə bilən qiymətləri yenidən simvollara uyğunlaşdırın.
  3. Çərçivələmə baytlarını, sonlandırıcıları, ayırıcıları, uzunluq sahələrini və yoxlama cəmlərini qeyd edin.
  4. Boşluqlar və hərf registri daxil olmaqla, ələ keçirilmiş məlumatı qurğunun təlimatı ilə müqayisə edin.
  5. Məlum düzgün mesaj üçün ələ keçirməni təkrarlayın və bayt mövqelərini müqayisə edin.

Bu bayt səviyyəli yanaşma formatlama xətalarını naqillənmə, bod sürəti və paritet problemlərindən ayırır. Ələ keçirilmiş məlumat oxunaqlı, lakin natamam mətn göstərirsə, diqqəti sətirin yaradılmasına yönəldin. Hər bayt səhvdirsə, əvvəlcə fiziki və serial parametrləri yoxlayın.

Yayılmış tətbiq xətaları

Rəqəmi onun ədədi qiyməti ilə qarışdırmaq

“5” simvolu ASCII-də onluq sistemdə 53-dür, 5 tam ədədi deyil. Ölçülmüş ədədi mətnə çevirmək üçün formatlama proseduru tələb olunur. Xam tam ədədi simvol buferinə köçürmək əvəzinə idarəetmə baytı yaradır.

Onaltılıq mətni ikilik baytlarla qarışdırmaq

“41” mətni iki simvoldan ibarətdir: onaltılıq sistemdə 34 və 31. Qiyməti onaltılıq sistemdə 41 olan bir bayt A hərfini ifadə edir. Protokolun insan tərəfindən oxuna bilən onaltılıq mətni, yoxsa xam ikilik məlumat gözlədiyini müəyyənləşdirin.

ASCII-dən kənar kodlaşdırmanı nəzərə almamaq

ASCII ingilis hərflərini və məhdud simvol dəstini əhatə edir. UTF-8 ilk 128 simvol üçün eyni bayt qiymətlərindən istifadə edir, lakin ASCII-yə daxil olmayan simvollar bir neçə baytdan istifadə edir. Köhnə qurğu həmin baytları rədd edə və ya onları səhv saya bilər.

Asan dəstəklənən PLC kodu üçün layihələndirmə tövsiyələri

Protokol formatlamasını bir prosedurda saxlayın. Rəqəm sabitlərini ladder məntiqi və ya strukturlaşdırılmış mətn boyunca səpələmək əvəzinə idarəetmə kodları üçün adlandırılmış sabitlərdən istifadə edin. İstismara vermə zamanı son ötürmə buferini onaltılıq formatda qeyd edin. Layihə sənədlərinə nümunələr əlavə edin.

Protokol sadə mətn çərçivələməsindən kənara çıxdıqda, müəyyən edilmiş vəziyyət maşınından istifadə edin. Qəbul mövqeyini, vaxt aşımını, kadr vəziyyətini və yoxlama nəticəsini ayrıca izləyin. Bu, təkrar cəhdləri və düzgün formatlanmamış mesajları diaqnostika etməyi asanlaşdırır.

PLC sistemlərində massivlər üzərində dövr etmə məqaləsinə baxın. Şəbəkəyə qoşulmuş qurğular üçün Modbus TCP qurğusunun tətbiqi təlimatı çərçivələmə və istismara vermə kontekstini əlavə edir.

İstismara vermə yoxlama siyahısı

  • Simvol dəstini və bayt sırasını təsdiqləyin.
  • Ayırıcıları və sonlandırıcıları onaltılıq formatda yoxlayın.
  • Mesajın sabit uzunluqlu, yoxsa uzunluğu əvvəlcədən göstərilən olduğunu yoxlayın.
  • Çap edilə bilən onaltılıq mətni xam ikilik məlumatdan ayırın.
  • Vaxt aşımı, təkrar cəhd və buferin təmizlənməsi davranışını yoxlayın.
  • Məlum düzgün bayt ələ keçirməsini layihə faylları ilə birlikdə arxivləşdirin.

ASCII sadədir, lakin sənaye sistemlərindəki nasazlıqlar çox vaxt çatışmayan və ya səhv oxunan bir baytda gizlənir. Mesaja əvvəlcə ədədi qiymətlər ardıcıllığı kimi yanaşın. Çərçivə başa düşüldükdən sonra onu mətnə çevirin.

Leave a comment

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