1 Kirish
Mikrokontrollerlar avtomatlashtirilgan boshqaruv qurilmalarida, elektr tarmoqlari uchun mikroprotsessorga asoslangan integratsiyalashgan himoya-tizimlarida va sanoat avtomatizatsiyasini boshqarishning boshqa sohalarida tobora ko'proq qo'llanilmoqda, bu qurilmalarning murakkabligi barqaror o'sib bormoqda. Rivojlanish maqsadlarining real-vaqt, koʻp{3}}talablarini hal qilish uchun yagona-CPU, yagona-ishlab chiquvchi modeli turli turdagi bir nechta protsessorlar va bir nechta ishlab chiquvchilarni oʻz ichiga olgan hamkorlik yondashuviga almashtirilmoqda. Ushbu yangi rivojlanish paradigmasi muhim vazifani qo'yadi: amalga oshirish jarayonida protsessorlar o'rtasida ma'lumot almashish uchun apparat va dasturiy ta'minotni standartlashtirish. Ushbu standartlashtirish ushbu yangi modelni muvaffaqiyatli qabul qilishda hal qiluvchi ahamiyatga ega. Ko'p aloqa usullari orasida UART{9}}asosidagi RS-485 seriyali aloqa protokoli oddiy simi, yuqori ishonchliligi va bir nechta protsessorlarni qo'llab-quvvatlash qobiliyati tufayli keng qo'llaniladi. Dasturiy ta'minotning aloqa protokollariga kelsak, Modbus protokoli universal tabiati va etuk disk raskadrovka dasturi tufayli foydalanuvchilarga katta afzalliklarni beradi. Shu sababli, yangi dvigatelni keng qamrovli himoya qilish moslamasini ishlab chiqish jarayonida ma'lumotlarga erishish va bir nechta CPU o'rtasida buyruq ma'lumotlari almashinuvini boshqarish uchun RS-485 seriyali aloqa usuli va Modbus aloqa protokoli qabul qilindi. Ketma-ket aloqaning samaradorligi va muvofiqlashtirilishini oshirish uchun muallif aloqa mexanizmining apparat va dasturiy ta'minot arxitekturasida ko'plab tadbirlarni amalga oshirib, ajoyib natijalarga erishdi. Tizim aloqasini tuzatish bosqichida har bir protsessor moduli o'zaro o'zaro bog'lanishni tuzatishdan oldin standart Modbus sinov dasturiy ta'minoti bilan birinchi bo'lib aloqada bo'lgan usul qo'llanildi, bu hamkorlikda ishlab chiqish samaradorligini sezilarli darajada yaxshilaydi. Amaliyot shuni ko'rsatdiki, ushbu dizayn falsafasi qurilmaning ishlash samaradorligi va ishonchliligini sezilarli darajada oshirib, tizim strukturasini soddalashtiradi.
2 Dvigatelni kompleks himoya qilish qurilmasining xususiyatlari
Kompleks himoya funktsiyalaridan tashqari, motorni himoya qilish moslamasi o'lchash, teleboshqaruv va aloqa imkoniyatlarini birlashtiradi. Uning yirik-ekranli xitoycha belgili LCD displey-foydalanuvchilarga qulay interfeys yaratish imkonini beradi. Monitoring hosti bilan CAN avtobus aloqasidan foydalanib, u ierarxik, taqsimlangan podstansiya avtomatlashtirish tizimi doirasida quyi tizimni tashkil qiladi. Tizim funksionalligini uning koʻp{5}}vazifa talablari uchun optimallashtirish uchun koʻp-CPU arxitekturasi qabul qilindi. Bitta protsessor davriy impulslarni tanlash va uzatishni boshqaradi; asosiy CPU moduli ma'lumotlarni qayta ishlash, elektr parametrlarini hisoblash, nosozliklarni aniqlash va almashtirish operatsiyalarini boshqaradi; protsessor plata moduli esa inson{8}}mashina oʻzaro taʼsirini nazorat qiladi va asosiy himoya moduli va monitoring xosti bilan aloqani osonlashtiradi. Har bir CPU moduli aniq belgilangan vazifalarga ega bo'lib, amalga oshirish jarayonida bir nechta muhandislar tomonidan hamkorlikda ishlab chiqishga yordam beradi. Seriyali aloqa asosiy protsessor va panel protsessorini bog‘laydi, bu{11}}insonning mashina o‘zaro ta’sirini ta’minlaydi va shu tariqa muhim o‘rinni egallaydi. Ratsional aloqa mexanizmini o'rnatish tizimni rivojlantirishning keyingi bosqichlarida aloqani muvofiqlashtirish va disk raskadrovka samaradorligini belgilovchi ketma-ket aloqa bo'limining yadrosidir.
3 Aloqa mexanizmlariga kirish
3.1 Aloqa mexanizmining apparat dizayni
Ushbu tizim uchun taklif qilingan aloqa mexanizmi yuqori samaradorlik va ishonchlilikka qaratilgan. RS-485 yarim-dupleks tuzilmasini qo'llaydi, bu ko'pincha dala ilovalarida to'liq dupleksga qaraganda ancha amaliy. Bu erda faqat ikkita signal liniyasidan foydalangan holda soddalashtirilgan ulanish qabul qilinadi. Tizim interfeysi sxemasi 1-rasmda ko'rsatilgan. Asosiy himoya modulidagi 8051 mikrokontrolleri tomonidan chiqarilgan TTL mantiqiy darajalari optik jihatdan izolyatsiya qilingan, so'ngra MAX485 chipi orqali RS-495 darajalariga aylantiriladi. Keyinchalik, panel modulidagi MAX485 chipi ularni 8031 mikrokontrolleri tomonidan o'qish uchun TTL mantiqiy darajalariga aylantiradi. 8051 mikrokontroller tomonida parallel I/U portining P2.7 pin 2 MAX kirishni yoqish pinini RE va chiqishni yoqish pinini DE boshqaradi. 1-rasmda ko'rsatilganidek, P2.7 yuqori darajani chiqarganda, RE yoqilgan bo'lib, mikrokontroller tomoni ma'lumotlarni qabul qilish imkonini beradi. P2.7 past darajani chiqarganda, DE yoqiladi, bu mikrokontroller tomoniga ma'lumotlarni uzatish imkonini beradi. Ushbu yondashuv yuqori aloqa sifati va ishonchli uzatish tezligini ta'minlab, ko'r-ko'rona uzatish natijasida yuzaga keladigan bir-biriga mos keladigan ma'lumotlar yo'qolishining oldini oladi.

3.2 Aloqa protokoli
Himoya qurilmasi ichidagi ikkita modul oʻrtasida maʼlumotlarning toʻgʻri uzatilishini taʼminlash uchun maʼlumot uzatishni tartibga soluvchi spetsifikatsiyalar toʻplami-jumladan, uzatish rejimlari, maʼlumotlar formatlari va mazmuni- zarur. Bu protokol yoki aloqa protokolini tashkil qiladi. Muvaffaqiyatli nosozliklarni tuzatish dasturiy ta'minotisiz, asosiy protsessor moduli asosan qora quti vazifasini bajaradi, bu esa tizim integratsiyasini sinovdan o'tkazishda-ko'p va engib o'tish qiyin{5}}muammolarga olib keladi. Shu sababli, keng tarqalgan bo'lib qabul qilingan Modbus aloqa protokoli tanlangan va qurilmaning o'ziga xos talablariga muvofiq soddalashtirilgan bo'lib, modullararo muvaffaqiyatli aloqani ta'minladi. Modbus asosiy{9}}tomon aloqa modelidan foydalanadi. Usta avval qulga aloqa so'rovi buyrug'ini yuboradi. Keyin qul masterga so'rov buyrug'i ichidagi funktsiya kodiga asoslangan ma'lumotlar bilan javob beradi. Har bir qul o'ziga xos manzilga ega. Magistr tomonidan yuborilgan so'rov ramkalari ham, qul tomonidan yuborilgan javob ramkalari ham qulning manzilidan boshlanadi. Qullar faqat o'zlariga qaratilgan buyruqlarni o'qiydilar va boshqa tobe manzillardan boshlangan xabarlarni e'tiborsiz qoldiradilar. Bu funksiya 8051 seriyali portning 2-rejim yoki 3-rejim yordamida amalga oshiriladi. Bu savolga{19}}va{20}}javob aloqa modeli aloqa aniqligini sezilarli darajada oshiradi. Ushbu qurilmada Modbusning RTU uzatish rejimi qabul qilingan.
4 Aloqa ishonchliligini oshirish chora-tadbirlari
Modbus xabarining oxirgi ikki bayti nazorat summasi baytlari sifatida xizmat qiladi. RTU aloqasi xatolarni aniqlash uchun CRC-16 siklik ortiqcha tekshiruvidan foydalanadi. Uning kodlash/dekodlash mexanizmi nisbatan sodda, xatolik darajasi past bo'lib, hisoblash yoki dasturlash usullari orqali erishish mumkin. Quyida bir nechta yondashuvlar keltirilgan:
4.1 Asosiy algoritm (qo‘lda hisoblash)
Misol sifatida CRC16-CCITT dan foydalanish: CRC nazorat yig'indisi 16 bit, hosil qiluvchi polinom esa 17 bit. Faraz qilaylik, ma'lumotlar oqimi 4 bayt: BYTE, BYTE, BYTE, BYTE[0];
Ma'lumotlar oqimini 16 bitga chapga siljiting va uni 256 × 256 marta samarali kengaytiring. Keyin 0x11021 generator polinomiga -qarz olinmaydigan bo'linish yordamida bo'linishni bajaring (bitli XORga ekvivalent). Olingan qoldiq CRC nazorat summasidir. Uzatilgan ma'lumotlar oqimi 6 baytdan iborat: BAYT, BAYT, BYTE, BYTE[0], CRC, CRC[0].
4.2 Kompyuter algoritmi 1 (bit-turi algoritmi)
1) Kengaytirilgan ma'lumotlar oqimining (6 bayt) yuqori 16 bitini (BYTE, BYTE) 16 bitli registrga joylashtiring;
2) Agar registrning eng muhim biti 1 bo'lsa, registrni bir bitga chapga siljiting (keyingi baytdan eng kam ahamiyatli bitni olish), so'ngra generator polinomining soddalashtirilgan shakli bilan XOR operatsiyasini bajaring; aks holda registrni bir bitga chapga siljitish kifoya (keyingi baytdan eng kam ahamiyatli bitni olish);
3) 2-bosqichni butun ma'lumotlar oqimi (6 bayt) registrga o'tkazilguncha takrorlang;
4) Registrdagi qiymat CRC nazorat summasi CRC, CRC[0].
4.3 Kompyuter algoritmi 2 (Bayt-Algoritm turi) (256^n n darajasiga koʻtarilgan 256 ni bildiradi)
Bayt tartiblangan maʼlumotlar oqimini-matematik polinom sifatida koʻrsating. Ma'lumotlar oqimi BYTE[n] BYTE[n-1] BYTE[n-2] bo'lsin ... BYTE[0] matematik ifoda sifatida ifodalanadi
BYTE[n] × 256^n + BYTE[n-1] × 256^(n-1) + ... + BYTE × 256 + BAYT[0], bu erda "+" XOR operatsiyasini bildiradi. Generator polinomi G17 (17-bit) bo'lsin, keyin CRC kodi CRC16 bo'lsin.
CRC16=(BYTE[n] × 256^n + BYTE[n-1] × 256^(n-1) + ... + BAYT × 256 + BAYT[0]) × 256^2 / G17
Bu ma'lumotlar oqimini 16 bitga o'zgartirishni va keyin G17 generator polinomiga bo'linishni o'z ichiga oladi.
Chiqarish shuni ko'rsatadiki, BYTE[n-1] uchun CRC tekshirish kodi oldingi baytning CRC tekshirish kodi Y[n] (YH8[n]) yuqori 8 bitining XOR natijasiga va joriy bayt BYTE[n-1]ga teng.
Bayt{0}}turi algoritmi quyidagicha:
1) CRC registrlar guruhini barcha "0" (0x0000) ga ishga tushiring.
2) CRC registrlar guruhini 8 bit chapga siljiting va uni CRC registrlar guruhida saqlang.
3) Qiymatlar jadvaliga ishora qiluvchi indeksni olish uchun original CRC registrlar guruhining yuqori 8 bitlari (8 bit o'ngga siljigan) va ma'lumotlar bayti o'rtasida XOR operatsiyasini bajaring.
4) Indeks ko'rsatgan jadval qiymati va CRC registrlar guruhi o'rtasida XOR operatsiyasini bajaring.
5) Ma'lumotlar ko'rsatkichini oshiring. Agar ma'lumotlarni qayta ishlash tugallanmagan bo'lsa, 2-bosqichni takrorlang).
6) CRCni oling.
5 Aloqa samaradorligini oshirish chora-tadbirlari
5.1 Alohida aloqani qabul qilish va uzatish vazifalari
8051 mikrokontrolleri uzilishlar yordamida ketma-ket port orqali ma'lumotlarni uzatishi va qabul qilishi mumkin. SCON seriyali port tekshiruvi ishga tushirish va bit manzilini qo'llab-quvvatlaydi. Ketma-ket port uzilish so'rovi paydo bo'lganda, SCON ning pastki ikki biti uzatish va qabul qilish uzilishlarini mahkamlaydi. CPU ketma-ket portning SUBF uzatish buferiga ma'lumot yoki belgi yozganda (ko'rsatma: MOV SUBF, A) transmitter yuborishni boshlaydi. Bitta ma'lumot ramkasini to'ldirgandan so'ng, apparat TI bayrog'ini "1" ga o'rnatadi, bu ketma-ket port keyingi ma'lumotlar ramkasini yuborish uchun protsessordan uzilishni so'rashini bildiradi. Xuddi shunday, agar ketma-ket port qabul qiluvchisi qabul qilish uchun yoqilgan bo'lsa, ma'lumotlar ramkasini qabul qilgandan so'ng, RI bayrog'i 1 ga o'rnatiladi, bu ketma-ket port ma'lumotlarni qabul qilish buferidan ma'lumotlarni o'qish uchun protsessordan uzilishni so'rashini bildiradi.
5.2 Uzilish davomiyligini qisqartirish
Dasturiy ta'minot arxitekturasini loyihalashda dasturning ishonchli ishlashini ta'minlash va turli vazifalar o'rtasidagi ziddiyat ehtimolini minimallashtirish uchun bir nechta uzilishlar qo'llanilganligi sababli, dasturiy ta'minotni amalga oshirish turli xil uzilishlar vazifalarini soddalashtirishga va ularni bajarish vaqtini qisqartirishga intilishi kerak. Aloqa uzilishining pastki dasturi doirasida uzilishni kiritishda muhim vazifalarni bajaring, masalan: ketma-ket portni boshqarish registridagi tegishli holat bitlarini tozalash, qabul qilingan belgilarni o'qish yoki buferdan/buferga uzatiladigan belgilarni yozish, qabul qilingan yoki uzatilgan belgilar sonini oshirish va hokazo. Keyin uzilishdan darhol chiqing. Kadrlarni tekshirish, qabul qilingan kadr buyruqlariga javob berish (temetriya/telekommand) va uzatish kadrlarini tayyorlash kabi boshqa vazifalar asosiy dastur doirasida hal qilinishi kerak.
5.3 Aloqa turg'unligini oldini olish uchun ramka tugatilishini samarali aniqlash
Qabul qilingan kadrning tugashini aniqlash uchun maxsus dasturiy ta'minot taymeridan foydalanish, agar kadr to'liq qabul qilinmasa, aloqa vazifalari qolib ketishining oldini oladi va shu bilan keyingi kadrlarni o'z vaqtida qabul qilinishini ta'minlaydi. Kadr ichidagi baytlar orasidagi vaqt oralig'i kadrlar oralig'idan-ka- ancha qisqa bo'lgani uchun dasturiy ta'minot taymeri har safar yangi bayt olinganda ishga tushadi. Taymer minimal kadrlar-to-kadrlar oralig'iga o'rnatiladi. Bu interval turli uzatish tezligi bilan farq qiladi. Agar keyingi bayt oldindan belgilangan vaqt tugashidan oldin qabul qilinsa, bu ramka to'liq emasligini bildiradi va taymer qayta ishga tushadi. Agar taymer oldindan belgilangan vaqtgacha muvaffaqiyatli hisoblansa, u tegishli uzilish raqamini ishga tushiradi. Taymerni uzilishning pastki dasturi doirasida kadrni qabul qilish tugallanganligini bildiruvchi freym oxiri bayrog'i o'rnatiladi. Asosiy dastur kadrlarni qabul qilish tugallanganligini aniqlagandan so'ng, u to'g'ridan-to'g'ri manzilni va siklik ortiqcha tekshiruv (CRC) baytini tekshirish orqali freymning yaxlitligini tasdiqlaydi. Agar master uchun moʻljallangan yaroqli kadr sifatida tasdiqlansa, u oʻzining funktsiya kodi asosida kadr buyrugʻini qayta ishlaydi va freymni yuborishga tayyorlaydi. Qul noto'g'ri xabarni olganida, u xato ramkasini qaytaradi. Qabul qilingan xabarda noto'g'ri CRC bo'lsa, tobe javob bermaslikni tanlashi mumkin. Agar usta belgilangan vaqt ichida quldan javob olmasa, u so'rov xabarini qayta uzatadi. Agar bir nechta qayta uzatish quldan javob ololmasa, aloqa uzilishi haqida xabar beriladi.
5.4 Aloqa tezligini aniqlash
Barcha qurilmalar bir xil shassi ichida joylashganligi sababli, modullar orasidagi masofa minimaldir. Modbus uzoq masofali{2}}aloqa uchun RS485 da ishlaydi, bu esa uzatish tezligiga masofa ta'sirini hisobga olish zaruratini yo'q qiladi. Bundan tashqari, asosiy{4}}to‘g‘ri aloqa rejimi liniyalar tiqilib qolishining oldini oladi. Shu sababli, aloqa samaradorligi nuqtai nazaridan, o'rnatilgan uzatish tezligi modulda ishlatiladigan chipning maksimal uzatish tezligi chegarasidan oshmasa, yuqori uzatish tezligi tezroq ma'lumot almashinuviga va yuqori aloqa samaradorligiga olib keladi. Bod tezligini ikkala aloqa tomon uchun aynan bir xil qilib belgilash, qabul qiluvchi tomon har bir ma'lumot bitini bit siklining o'rta nuqtasida namuna olishini ta'minlaydi va shu bilan ishonchli aloqaga erishadi.
5.5 Nosozliklarni tuzatishning oqilona usullari
Nosozliklarni tuzatish vaqtida har bir protsessor moduli va RS485/RS232 maʼlumotlarni konvertatsiya qilish moduli orqali mikrokompyuter oʻrtasidagi birinchi sinov aloqasi. Muvaffaqiyatli individual testdan so'ng, modullararo nosozliklarni tuzatishga-o'ting, bu esa umumiy nosozliklarni tuzatish samaradorligini sezilarli darajada oshiradi. Moduldan kompyuterga{6}}aloqani tuzatish vaqtida kompyuter asosiy aloqa jarayonini taqlid qilish uchun Modbus disk raskadrovka dasturidan foydalanadi, bu esa quldan faol ravishda ma'lumot so'raydi. Bu butun qabul qilish va uzatish jarayonini shaffof va ravshan qiladi, bu modul bilan bog'liq muammolarni o'z vaqtida hal qilish imkonini beradi. Birgalikda disk raskadrovka paytida, avtobus monitoringi dasturi muammolarni tezda aniqlash va hal qilish uchun har ikki tomonning ma'lumotlarini kuzatadi.
Ushbu maqolaning 6 ta innovatsion nuqtalari
Birinchidan, ushbu hujjat himoya qurilmasida universal sanoat standarti Modbusni qabul qiladi. Kerakli vosita dasturiy ta'minotini to'g'ridan-to'g'ri tegishli veb-saytlardan intellektual mulk xarajatlarisiz olish mumkin. Ikkinchidan, himoya qurilmasi multitaskingni amalga oshiradi va CPU modullari o'rtasida oqilona qo'shma disk raskadrovka mexanizmini yaratish uchun Modbus protokolidan foydalanadi, bu hamkorlikda tizimni ishlab chiqish samaradorligini sezilarli darajada oshiradi.




