PLC dasturlash tillari va avtomatlashtirish dasturiy platformasi CoDeSys. PLC dasturlash tillari va avtomatlashtirish dasturiy platformasi CoDeSys DIY dasturlashtiriladigan mantiqiy kontroller

Dasturlashtiriladigan mantiqiy kontrollerlar (PLC)

Qattiq jismli mantiq paydo bo'lgunga qadar mantiqiy boshqaruv tizimlarining rivojlanishi elektromexanik relelarga asoslangan edi. Bugungi kunga kelib, o'rni o'z maqsadlarida eskirgan emas, lekin baribir avvalgi ba'zi funktsiyalarida ular boshqaruvchi bilan almashtirildi.

Zamonaviy sanoatda avtomatlashtirishni talab qiladigan juda ko'p turli xil tizimlar va jarayonlar mavjud, ammo bunday tizimlar hozirda kamdan-kam hollarda o'rni bilan yaratilgan. Zamonaviy ishlab chiqarish jarayonlari turli mantiqiy funktsiyalarni bajarish uchun dasturlashtirilgan qurilmani talab qiladi. 1960-yillarning oxirida Amerikaning Bedford Associates kompaniyasi MODICON (Modular Digital Controller) nomli kompyuter qurilmasini yaratdi. Keyinchalik qurilma nomi uni loyihalashtirgan, ishlab chiqargan va sotgan kompaniya bo'limi nomiga aylandi.

Boshqa kompaniyalar ushbu qurilmaning o'z versiyalarini ishlab chiqdilar va u oxir-oqibat nomi bilan mashhur bo'ldi PLC yoki dasturlashtiriladigan mantiqiy kontroller. Ko'p sonli o'rni ishini taqlid qilishga qodir bo'lgan programlanadigan kontrollerning maqsadi elektromexanik o'rni bilan almashtirish edi.

PLC sensorlar va kalitlarning holatini kuzatish uchun ishlatilishi mumkin bo'lgan kirish terminallari to'plamiga ega. Bundan tashqari, quvvat ko'rsatkichlari, elektromagnit klapanlar, kontaktorlar, kichik motorlar va boshqa o'z-o'zini nazorat qilish moslamalari uchun "yuqori" yoki "past" signalni ta'minlaydigan chiqish terminallari mavjud.

PLC-larni dasturlash oson, chunki ularning dasturlash tili rele mantig'iga o'xshaydi. Shunday qilib, o'rni mantiqiy diagrammalarini o'qishga odatlangan oddiy sanoat elektri yoki elektrotexnika PLCni xuddi shu funktsiyalarni bajarish uchun dasturlashda qulay his qiladi.

Signal o'tkazgichlari va standart dasturlash turli PLC modellari orasida biroz farq qiladi, ammo ular bu qurilmani dasturlash uchun "umumiy" kirishni kafolatlash uchun etarlicha o'xshashdir.

Quyidagi rasmda oddiy PLC ko'rsatilgan, aniqrog'i u old tomondan qanday ko'rinishi mumkin. 120 VAC gacha bo'lgan ichki PLC davrlari uchun ulanishlarni ta'minlaydigan ikkita vintli terminallar L1 va L2 deb etiketlanadi.

Chap tomonda joylashgan oltita vintli terminallar kirish qurilmalari uchun ulanishlarni ta'minlaydi. Har bir terminal boshqa kirish kanalini (X) ifodalaydi. Pastki chap burchakda joylashgan vintli terminal ("umumiy" ulanish) odatda 120 VAC quvvat manbai L2 (neytral) ga ulanadi.

Har bir kirish terminalini umumiy terminalga bog'laydigan PLC korpusi ichida 120 voltli o'zgaruvchan tok bo'lganda kompyuter sxemasiga elektr izolyatsiyalangan "yuqori" signalni (fototransistor LED yorug'ligini sharhlaydi) ta'minlaydigan qurilma opto-izolyatori (LED) mavjud. mos keladigan kirish terminali va umumiy terminal o'rtasida qo'llaniladi. PLC old panelidagi LED qaysi kirish quvvatlanganligini tushunishga imkon beradi:

Chiqish signallari kommutatsiya moslamasini (tranzistor, tiristor yoki hatto elektromexanik o'rni) faollashtirish va manba terminalini (pastki o'ng burchak) Y bilan belgilangan har qanday chiqishga ulash orqali PLC kompyuter sxemasi tomonidan ishlab chiqariladi. Manba terminali odatda L1 ga ulanadi. Har bir kirish kabi, har bir quvvatlangan chiqish LED bilan belgilanadi:

Shunday qilib, PLC kalit va elektromagnit kabi har qanday qurilmalarga ulanishi mumkin.

PLC dasturlash asoslari

Zamonaviy boshqaruv tizimi mantig'i PLCda kompyuter dasturi orqali o'rnatiladi. Ushbu dastur qaysi chiqishlar quvvatlanganligini va qanday kirish sharoitida aniqlaydi. Dasturning o'zi o'rni mantiqiy diagrammasiga o'xshasa-da, kirish va chiqish o'rtasida ulanishlarni yaratish uchun PLC ichida ishlaydigan kalit kontaktlari yoki o'rni bobinlari mavjud emas. Bu kontaktlar va bobinlar xayoliydir. Dastur PLC dasturlash portiga ulangan shaxsiy kompyuter yordamida yoziladi va ko'riladi.

Quyidagi sxema va PLC dasturini ko'rib chiqing:

Bosish tugmasi faollashtirilmaganda (bosilmagan), signal X1 kirishiga yuborilmaydi. X1 "ochiq" kirishni ko'rsatadigan dasturga muvofiq, signal Y1 chiqishiga yuborilmaydi. Shunday qilib, Y1 chiqishi quvvatsiz qoladi va unga ulangan indikator o'chadi.

Agar tugma tugmasi bosilsa, signal X1 kirishiga yuboriladi. Dasturdagi barcha X1 kontaktlari faollashtirilgan holatga o'tadi, xuddi ular o'rni kontaktlari kabi, X1 nomli o'rni bobiniga kuchlanish qo'llash orqali faollashtirilgan. Bunday holda, ochiq kontakt X1 "yopiq" bo'ladi va Y1 lasaniga signal yuboradi. Y1 lasaniga quvvat berilganda, Y1 chiqishi unga ulangan lampochka bilan yonadi.

X1 kontakti va Y1 bobini simlar yordamida ulanganligini va kompyuter monitorida paydo bo'ladigan "signal" virtual ekanligini tushunish kerak. Ular haqiqiy elektr komponentlar sifatida mavjud emas. Ular faqat kompyuter dasturida - dasturiy ta'minot bo'lagida mavjud va shunchaki o'rni pallasida sodir bo'ladigan narsaga o'xshaydi.

Dasturni yozish va tahrirlash uchun foydalanilgan kompyuter PLC dan keyingi foydalanish uchun kerak emasligini tushunish bir xil darajada muhimdir. Dastur dasturlashtiriladigan kontrollerga yuklangandan so'ng, kompyuterni o'chirish mumkin va PLC o'zi dastur buyruqlarini bajaradi. Rasmga shaxsiy kompyuter monitorini kiritamiz, shunda siz haqiqiy sharoitlar (kalitning yopilishi va chiroq holati) va dastur holati (virtual kontaktlar va virtual bobinlar orqali signallar) o'rtasidagi munosabatni tushunasiz.

PLC ning haqiqiy kuchi va ko'p qirraliligi biz boshqaruv tizimining xatti-harakatlarini o'zgartirmoqchi bo'lganimizda paydo bo'ladi. PLC dasturlashtiriladigan qurilma bo'lgani uchun biz unga ulangan komponentlarni qayta konfiguratsiya qilmasdan, biz bergan buyruqlarni o'zgartirishimiz mumkin. Faraz qilaylik, biz "o'tish - lampochka" funksiyasini teskari yo'nalishda qayta dasturlashga qaror qildik: lampochkani o'chirish uchun tugmani bosing va uni yoqish uchun uni qo'yib yuboring.

Haqiqiy sharoitda bu muammoni hal qilish oddiy sharoitda "ochiq" bo'lgan kalitni "yopiq" bilan almashtirishdir. Uning dasturiy yechimi dasturni o'zgartirishdan iborat bo'lib, X1 kontakti normal sharoitda "yopiq" va "ochiq" emas.

Quyidagi rasmda siz allaqachon o'zgartirilgan dasturni ko'rasiz, kalit faollashtirilmagan:

Va bu erda kalit faollashtirilgan:

Mantiqiy boshqaruvni dasturiy ta'minotda amalga oshirishning afzalliklaridan biri, apparatdagi boshqaruvdan farqli o'laroq, kirish signallarini kerak bo'lganda ko'p marta ishlatish mumkin. Misol uchun, bir vaqtning o'zida uchta kalitdan kamida ikkitasi yoqilgan bo'lsa, lampochkani yoqish uchun mo'ljallangan sxema va dasturni ko'rib chiqing:

O'rni yordamida shunga o'xshash sxemani qurish uchun oddiy sharoitda ikkita kontakt ochiq bo'lgan uchta o'rni kerak bo'ladi, ularning har biri ishlatilishi kerak. Biroq, PLC-dan foydalanib, biz qo'shimcha qurilmalarni qo'shmasdan, har bir "X" kiritish uchun xohlagancha ko'p kontaktlarni dasturlashimiz mumkin (har bir kirish va chiqish PLC raqamli xotirasida 1 bitdan ko'p bo'lmasligi kerak) va qo'ng'iroq qilishimiz mumkin. ularni kerak bo'lganda ko'p marta.

Bundan tashqari, har bir PLC chiqishi o'z xotirasida bir bitdan ko'p bo'lmagan joyni egallaganligi sababli, biz dasturda kontaktlarni amalga oshirishimiz mumkin, bu Y chiqishi faollashtirilmagan holatda bo'lishiga olib keladi. Misol uchun, ishga tushirish va to'xtatish uchun boshqaruv tizimiga ega dvigatelning diagrammasini olaylik:

X1 kirishiga ulangan kalit “Start” tugmasi, X2 kirishiga ulangan kalit esa “To'xtatish” tugmasi vazifasini bajaradi. Kontaktdagi muhrga o'xshash Y1 deb ataladigan boshqa kontakt, Start tugmasi qo'yib yuborilgan bo'lsa ham, vosita kontaktorini energiya bilan ta'minlashga imkon beradi. Bunday holda, oddiy sharoitda "yopiq" bo'lgan X2 kontaktining rangli blokda qanday paydo bo'lishini ko'rishingiz mumkin va shu bilan u "yopiq" ("o'tkazuvchi") holatda ekanligini ko'rsatadi.

Agar siz "Ishga tushirish" tugmasini bossangiz, oqim "yopiq" kontakt X1 orqali oqadi va u vosita kontaktoriga 120 VAC yuboradi. Parallel kontakt Y1 ham "yopiladi" va shu bilan sxemani yakunlaydi:

Agar biz hozir "Ishga tushirish" tugmasini bossak, X1 kontakti "ochiq" holatga o'tadi, lekin dvigatel ishlashni davom ettiradi, chunki yopiq kontakt Y1 hali ham lasanni energiya bilan ta'minlaydi:

Dvigatelni to'xtatish uchun siz "To'xtatish" tugmasini tezda bosishingiz kerak, u kuchlanishni X1 kirishiga va "ochiq" kontaktga uzatadi, bu esa Y1 lasaniga kuchlanishni etkazib berishni to'xtatadi:

"To'xtatish" tugmasini bosganingizda, X1 kirish kuchlanishsiz qoldi va shu bilan X1 kontaktini normal "yopiq" holatiga qaytardi. Ishga tushirish tugmasini yana bosmaguningizcha dvigatel hech qanday holatda qayta ishlay olmaydi, chunki Y1 pinidagi muhr yo'qolgan:

Elektromexanik o'rni nazorat qilish qurilmalarida bo'lgani kabi, PLC boshqaruv qurilmalarining nosozliklarga chidamli modeli juda muhimdir. Siz har doim noto'g'ri "ochiq" kontaktning tizimning ishlashiga ta'sirini hisobga olishingiz kerak. Shunday qilib, masalan, bizning holatlarimizda, agar X2 kontakti noto'g'ri "ochilgan" bo'lsa, dvigatelni to'xtatishning hech qanday usuli bo'lmaydi!

Ushbu muammoni hal qilish PLC ichidagi X2 pinini qayta dasturlash va to'xtatish tugmasini bosishdir:

To'xtatish tugmasi bosilmasa, PLC kirish X2 quvvatlanadi, ya'ni. X2 kontakti "yopiq". Bu X1 piniga oqim qo'llanilganda vosita ishlay boshlaydi va "Start" tugmasi bo'shatilganda ishlashni davom ettiradi. "To'xtatish" tugmasini bosganingizda, X2 kontakti "ochiq" holatga o'tadi va vosita ishlashni to'xtatadi. Shunday qilib, bu va oldingi model o'rtasida funktsional farq yo'qligini ko'rishingiz mumkin.

Biroq, agar X2 kirish kontakti noto'g'ri "ochilgan" bo'lsa, X2 kirish "To'xtatish" tugmasini bosish orqali to'xtatilishi mumkin. Natijada, vosita darhol o'chiriladi. Ushbu model avvalgisidan xavfsizroq, bu erda "To'xtatish" tugmachasini bosish dvigatelni to'xtatishni imkonsiz qiladi.

Kirish (X) va chiqishlarga (Y) qo'shimcha ravishda, PLC "ichki kontaktlar va bobinlarni" ishlatish qobiliyatiga ega. Ular standart o'rni zanjirlarida ishlatiladigan oraliq o'rni bilan bir xil tarzda qo'llaniladi.

"Ichki" sxemalar va kontaktlarning ishlash printsipini tushunish uchun mantiqiy VA funktsiyasining uchta kirish printsipiga muvofiq ishlab chiqilgan quyidagi sxema va dasturni ko'rib chiqing:

Ushbu sxemada chiroq har qanday tugma bosilmaguncha yonadi. Chiroqni o'chirish uchun barcha uchta tugmani bosing:

Dasturlashtiriladigan mantiqiy kontrollerlar haqidagi ushbu maqola ularning imkoniyatlarining kichik namunasini ko'rsatadi. Kompyuter sifatida PLC elektromexanik mantiqiy qurilmalardan foydalanishga qaraganda ancha yuqori aniqlik va ishonchlilik bilan boshqa ilg'or funktsiyalarni bajarishi mumkin. Aksariyat PLClar oltidan ortiq kirish va chiqishlarga ega. Quyidagi rasmda Allen-Bradley PLC-lardan biri ko'rsatilgan:

Har birida 16 ta kirish va chiqishga ega modullar bilan ushbu PLC o'nlab qurilmalarni boshqarish imkoniyatiga ega. Boshqaruv kabinetiga joylashtirilgan PLC kam joy egallaydi (bir xil funktsiyalarni bajaradigan elektromexanik o'rni ko'proq bo'sh joy talab qiladi).

Elektromexanik o'rni bilan oddiygina takrorlanmaydigan PLC ning afzalliklaridan biri bu kompyuterning raqamli tarmoqlari orqali masofadan nazorat qilish va boshqarishdir. PLC ixtisoslashgan raqamli kompyuterdan boshqa narsa emasligi sababli, u boshqa kompyuterlar bilan osongina "suhbatlasha oladi". Quyidagi fotosuratda PLC tomonidan boshqariladigan suyuqlikni to'ldirish jarayonining (shahar oqava suvlarini tozalash uchun nasos stantsiyasi) grafik tasviri. Bundan tashqari, stantsiyaning o'zi kompyuter monitoridan bir necha kilometr uzoqlikda joylashgan.

Ingliz tilidan tarjima - Julia Surta.

Dasturlashtiriladigan mantiqiy kontrollerlar (PLC) zamonaviy sanoat elektronikasida mustahkam o'rnatilgan. Hozirgi vaqtda ishlab chiqarilayotgan PLC assortimenti shunchalik kengki, unga mos keladigan PLC bo'lmagan vazifani tasavvur qilish qiyin. Boy tashqi qurilmalar, kuchli protsessorlar, katta hajmdagi xotira, kengaytirish modullarining mavjudligi - bu zamonaviy PLC xususiyatlarining qisqacha ro'yxati.

Ammo shuni ta'kidlash kerakki, ishlab chiqarish sharoitida ko'pincha katta hisoblash quvvati talab qilinmaydi. Ishlab chiqarishda ishlatiladigan mashinalarning aksariyati aniq belgilangan operatsiyalarni bajaradi va universal emas. Ko'pincha bu mashinalarda displey ham yo'q va barcha parametrlar tugmalar yoki kalitlar yordamida o'rnatiladi. Taxminan aytadigan bo'lsak, ushbu mashinalarga o'rnatilgan PLClar ba'zan tokchani starterlar/relelar/chegara kalitlari bilan almashtirish uchun ishlatiladi. Va ko'pincha boshlang'ich qurilmalar yordamida ishlab chiqarilgan eskirgan uskunalar o'xshash funktsional xususiyatlarga ega, ammo PLC-dan foydalangan holda bir xil ishlab chiqaruvchining uskunasiga almashtirilganda holatlar mavjud.

Qanday bo'lmasin, ba'zida PLClar ishlamay qoladigan vaziyat yuzaga keladi va ta'mirlash faqat ishlab chiqaruvchidan mumkin. Axir, PLC-ni aynan bir xilga almashtirish hech narsa bermaydi, chunki boshqaruv dasturi yo'q. Agar ishlab chiqaruvchi bunday vaziyatda yordam bera olsa yaxshi bo'ladi. Va agar bo'lmasa? Boshqa PLC olib, uni o'zim dasturlashim kerakmi? Ammo agar siz uni o'zingiz dasturlashingiz kerak bo'lsa, unda nima uchun sizda PLC bo'lishi kerak? Mikrokontroller asosida tizimni dasturlash osonroq va arzonroq emasmi? Axir, yuqorida aytib o'tilganidek, PLC juda ko'p ortiqcha funktsiyalarni va siz to'lashingiz kerak bo'lgan hisoblash imkoniyatlarini o'z ichiga oladi.

Yuqorida aytib o'tilgan sabablarga ko'ra, VS3005 - AMF Reece S 2000 tikuv mashinasida muvaffaqiyatsiz KUAX667 PLC o'rniga oddiy PLC sxemasi ishlab chiqilgan, ayniqsa bu erda ko'rib chiqilgan sxema bo'lganligi sababli, biz ushbu tikuv mashinasining tavsifiga to'xtalmaymiz mebel ishlab chiqarishda boshqa mashinada qayta ishlatiladi. PLC ni ishlab chiqishda vazifa displeyning yo'qligini hisobga olgan holda diagnostika qobiliyatiga ega bo'lgan mavjud qismlardan imkon qadar arzon bo'lgan sxemani yaratish edi. Bundan tashqari, kirish davrlarini galvanik izolyatsiyasidan voz kechishga qaror qilindi, chunki oddiy mexanik aloqani amalga oshiruvchi tugmalar, cheklovchilar va kalitlar sensorlar bo'lib xizmat qildi.

Qurilmaning dizayni va ishlash printsipi ko'pgina sanoat PLClarning qurilishiga o'xshaydi. Markaziy mikrokontroller va kiritish-chiqarish portlari mavjud.

Asos sifatida PIC12F629 kompaniyasining mikrokontrolleri ishlatiladi. Ushbu mikrokontroller uning mavjudligi va arzonligi asosida tanlangan. Kirish va chiqishlar siljish registrlari yordamida amalga oshiriladi. Mantiqiy ravishda ular 8 ta kontaktdan iborat ikkita guruhga bo'lingan. Ma'lumotlarni uzatish ketma-ket shaklda sodir bo'ladi. Ma'lumot uzatish protokoli SPI protokoli bilan bir xil, ammo u dasturiy ta'minotda to'liq amalga oshirilgan va 16 bitli. Kirish va chiqish ma'lumotlari uchun sxemalar alohida qilingan. Bu, menimcha, ishni tushunishni osonlashtiradi va nazoratni soddalashtiradi. Bundan tashqari, bu registrlarni almashtirish uchun ma'lumotlarni qabul qilish va uzatish uchun ilgari yozilgan modullardan foydalanishga imkon berdi. Xo'sh, baribir, bu xulosalar foydalanilmay qolar edi, shuning uchun yaxshilikni isrof qilishning nima keragi bor :) . Kirish elementlari - umumiy simga o'tish bilan chegara kalitlari, tugmalar, kalitlar. Shuning uchun kirishlar optokupllardan foydalanmasdan amalga oshiriladi. Albatta, bu sxemaning ishonchliligini pasaytiradi. Ammo, amaliyot shuni ko'rsatadiki, PLC barqaror ishlaydi. 155IR9 yoki 555IR9 registrlaridan foydalanganda +5 V gacha tortish rezistorlarini o'rnatish shart emas (bu parametr quyidagi rasmda ko'rsatilgan). 74HC165 registrlarini ishlatganda, tortishish rezistorlari talab qilinadi. 1.0 kiritish alohida e'tiborga loyiqdir. Ushbu kirish optokupl va 155LA3 chipidagi impuls kengaytirgich yordamida amalga oshiriladi. Mashinalardan birida sensori davomiyligi taxminan 1 mksek bo'lgan +24 Volt puls hosil qildi. Haqiqiy kirish namuna olish chastotasi taxminan 1 kHz bo'lganligi sababli, pulsni o'tkazib yuborish xavfi mavjud edi. Buni bartaraf qilish uchun kontaktlarning zanglashiga olib, impuls vaqtini taxminan 0,1 soniyaga oshiruvchi impuls kengaytirgichi kiritildi. Puls vaqti C1, R4 elementlari bilan belgilanadi. Doskadagi o'tish moslamalarini qayta tartibga solish orqali (o'tish moslamalari diagrammada ko'rsatilmagan, ularni bosilgan elektron platada kuzatish mumkin), optokuplni chetlab o'tib, impuls kengaytirgichni chetlab o'tib yoki optokupl va impulsni chetlab o'tish orqali 1.0 kirishini almashtirish mumkin. kengaytiruvchi. Strob signali yordamida kirish darajalarini o'rnatadigan registrlarga o'rnatilgan triggerlar tufayli mantiqiy "0" yoki "1" darajalarining mumkin bo'lgan noaniqligi yo'q qilinadi. Bu, shuningdek, mikrokontroller tomonidan kirish davrlarini ketma-ket so'roq qilish mexanik sensorlarga xos bo'lgan "sakrash" hodisasini e'tiborsiz qoldirishga imkon berdi. Aktuatorlar pnevmatik klapanlar va o'rni o'rashlari bo'lib, ular ULN2803 haydovchi chiplari orqali 74HC595 siljish registrlariga ulanadi. Quvvat o'rni o'rashlari va pnevmatik klapanlarni quvvatlantirish uchun mashinada mavjud bo'lgan +24 voltlik doimiy kuchlanish manbasidan LM2576 dagi impuls kuchlanish stabilizatori (chip folga tomonida joylashgan TO-263 sirt o'rnatish paketidagi chip) orqali ta'minlanadi. folga ham radiator bo'lib xizmat qiladi), standart sxema bo'yicha yoqilgan.

Butun sxema 100 * 130 mm taxtada yig'iladi. Har bir quvvat manbai chipining yonida 0,1 mkF quvvatga ega (diagrammada ko'rsatilmagan) kondansatör mavjud. Yuqorida ta'kidlab o'tilganidek, qurilma tortishish rezistorlarini talab qilmaydigan 555IR9 mikrosxemalaridan foydalangan. Biroq, 74HC165 dan foydalanish uchun taxta 1 dan 10 kOm gacha bo'lishi mumkin bo'lgan tortishish rezistorlarini o'rnatish imkoniyatini beradi. Ko'tariladigan rezistorlar sifatida 286-486 protsessorlar asosidagi kompyuterlarda keng qo'llaniladigan 9A472J tipidagi qarshilik to'plamlaridan foydalanish yaxshi (ishlatilmagan pinlar shunchaki tishlab olinadi).

Mikrokontroller uchun dastur BASIC tilining dialektidan foydalanadigan PIC Simulator IDE da yozilgan. BASIC-dan foydalanish mikrokontrollerlar arxitekturasiga chuqur kirmasdan dasturlarni ishlab chiqishni osonlashtiradi. Bundan tashqari, u yoki bu tarzda, maktabdan beri BASIC tilini qo'llash bilan shug'ullanish kerak va ko'pchilik noprofessional dasturchilar uchun bu hech qanday hurmat qo'rquviga olib kelmaydi. Keling, dasturni ko'rib chiqaylik va ma'lum bir mashinani sozlash to'g'ridan-to'g'ri amalga oshiriladigan joylarga e'tibor qarataylik.

Dastur tikuv mashinasi uchun to'liq versiyaga kiritilgan. Avval o'zgaruvchilar va belgilarni tavsiflash bo'limi keladi. Dasturni boshqa uskunalar uchun qayta ishlashda 7 dan 11 gacha bo'lgan o'zgaruvchilar qabul qilingan/uzatilgan ma'lumotlar va xizmat o'zgaruvchisi bu erda e'lon qilinadi va ma'lumotlarni qabul qilish / uzatish protokoli uchun kontaktlarning tavsifi bilan bog'liq 18 dan 28 gacha. Keyingi dasturda 50 dan 96 gacha bo'lgan qatorlarda "Test" rejimini yoqish va test rejimini amalga oshirish uchun tekshiruv mavjud. "Test" rejimi kontaktlarning zanglashiga olib kirishdan oldin GP2 pin (5-pin) va umumiy avtobus (sxema bo'yicha "Test" tugmasi) o'rtasida o'tish moslamasini o'rnatish orqali yoqiladi. Quvvat yoqilganda, mikrokontroller GP2 pinini kirish sifatida o'rnatadi (54-qator), tortish rezistorlarini yoqadi (64,65 drenajlari), GP2 pinining holatini so'raydi (76-qator). Agar sinov rejimi o'rnatilgan bo'lsa, u holda jumperni olib tashlaganingizdan so'ng, cheksiz pastadir boshlanadi (81-95 cho'kadi), bunda chiqish holati to'g'ridan-to'g'ri kirish holatiga bog'liq. Shunday qilib, kirishlarni ketma-ket yopish orqali biz chiqishlarga ulangan aktuatorlarning ishlashini tekshirishimiz mumkin, ya'ni. datchiklardan aktuatorlargacha bo'lgan sinov uskunalari.

O'tish moslamasi o'rnatilmasdan quvvat berilganda, mikrokontroller dasturning mashinaning ishlash rejimi to'g'ridan-to'g'ri dasturlashtirilgan bo'limiga o'tadi (ushbu dasturda bu 98-261 qatorlar). Dasturning ushbu qismi misol sifatida qoldiriladi va u to'g'ridan-to'g'ri uskunaga bog'langanligi sababli, biz buni alohida ko'rib chiqmaymiz. Keling, faqat umumiy ishlash tamoyillari va ma'lumotlarni qabul qilish va jo'natish tartiblariga to'xtalib o'tamiz. Eng oddiy holatda, uskuna ishlayotganda, kirishlar so'roq qilinadi (ma'lumotlar_kirish pastki dasturi, unda ishlatiladigan sinchro_input pastki dastur). Dasturdagi kirishlar holati data_in1 va data_in2 o'zgaruvchilarida saqlanadi. Uskunaning ishlash algoritmiga qarab, dastur kirishlar holatini tahlil qiladi, chiqishlar holatini o'zgartirish to'g'risida qaror qabul qiladi va bu qaror data_out1 va data_out2 ma'lumotlarida qayd etiladi. Shundan so'ng ma'lumotlar chiqariladi (data_out pastki dasturi, unda ishlatiladigan sinchro_out pastki dastur). Va shuning uchun tsikl elektr ta'minoti to'xtaguncha takrorlanadi. Agar kerak bo'lsa, mikrokontroller uzilishlari yordamida dasturni tashkil qilish mumkin. Misol uchun, bu vaqt cheklangan uskunalarda operatsiyalarni bajarishda kerak bo'lishi mumkin.

Mikrokontrollerni dasturlashda siz konfiguratsiya so'zini &h31C4 ga o'rnatishingiz kerak. Transkriptni quyidagi rasmda ko'rish mumkin.

P.S. Ushbu paragraf ayniqsa tanqidchilar uchun. Yuqorida ta'kidlab o'tilganidek, dastur "noldan" emas, balki tayyor ishlanmalardan foydalangan holda yozilmagan. Shu sababli, dasturda oldingi dasturlardan ko'plab sharhlar, shu jumladan taymer uzilishlaridan foydalanish bo'yicha sharhlar mavjud. Men ularni ataylab olib tashlamadim, chunki ular dasturni o'zgartirishda boshqa odamlarga yordam berishi mumkinligiga ishonaman. Agar ushbu dastur yana qayta yozilsa, unda, albatta, yanada maqbul kodga va so'rovnoma kiritish elementlarining yuqori chastotasiga erishish mumkin. "Hech bo'lmaganda bitta jamoa qisqartira olmaydigan dastur yo'q" deganlaridek. Ammo bu shaklda ham dastur 700 baytdan kamroq joy egallaydi va ushbu dastur nazorati ostidagi mashina barqaror ishlaydi.

Va nihoyat, mashinada yig'ilgan va o'rnatilgan taxtaning fotosuratlari.

Arxivda:
1. PLC 12F629 - manba fayli va HEX fayli.
2. Loyiha .
3. Bosilgan elektron plata

Radioelementlar ro'yxati

Belgilash Turi Denominatsiya Miqdori EslatmaDo'konMening bloknotim
U1 MK PIC 8-bit

PIC12F629

1 Bloknot uchun
U2, U3 Shift registri

SN74HC595

2 Bloknot uchun
U4, U5 Shift registri

SN74HC165

2 Bloknot uchun
U6 Vana

SN7400

1 Bloknot uchun
U7 Optokupler

Men sanoat avtomatlashtirilgan jarayonlarni boshqarish tizimlarida (APCS) dasturlashtiriladigan mantiqiy kontrollerlar (PLC) uchun dasturlarni ishlab chiqyapman.

Bu so'zni birinchi marta uchratganlar uchun men tushuntiraman. PLC - bu shunday ishlaydigan maxsus mini-kompyuter:
1. Diskret (Di) yoki analog (Ai) kirish signallarini qabul qiladi;
2. Ushbu signallarni dasturchi tomonidan belgilangan dastur bo'yicha qayta ishlaydi;
3. Diskret (DO) yoki analog (AO) chiqishlar orqali nazorat signalini beradi.

Diskret - signal faqat ikkita holatga ega bo'lganda: 0 yoki 1, "ha" yoki "yo'q". Masalan, tugma bosiladi yoki qo'yib yuboriladi, lampochka yoqiladi yoki o'chiriladi.
Analog - parametr qiymati elektr signalining darajasiga bog'liq bo'lganda. Misol uchun, harorat sensori signal darajasi (volts yoki milliamper) qanchalik baland bo'lsa, o'lchangan harorat shunchalik yuqori bo'ladi.

PLClar asosan sanoatda, dastgoh asboblarida, aqlli uyni avtomatlashtirish tizimlarida va hokazolarda qo'llaniladi.

Tabiiyki, kasbim tufayli men PLC va avtomatlashtirilgan jarayonlarni boshqarish tizimlarida qo'llaniladigan boshqa uskunalar bilan bog'liq barcha narsalarga qiziqaman. Bir kuni internetni kezib yurib, Ace, Branch va Embeded seriyali PLC ishlab chiqaradigan Amerikaning Velocio kompaniyasining veb-saytiga kirdim.

Ushbu kontrollerlarning asosiy xususiyatlari ularning kichik o'lchamlari, atigi 2,5 "x 2,5", 5 voltli quvvat manbai va 6 ta diskret kirish va 6 ta diskret chiqishga ega model uchun 49 dollardan boshlanadigan narx. Men hech qachon bunday kichik PLC ko'rmagan o'lchamidan hayratda qoldim:

PLC meni qiziqtirdi, men Velocio bilan bog'landim va ular menga Ace 3090v5 boshqaruvchi modelini yuborishdi. Men bu haqda PLC va kengroq Habr auditoriyasiga qisqacha aytib bermoqchiman. Oldinga qarab, Velocio PLC-lar "aqlli uylar" va boshqa uy avtomatlashtirish tizimlari uchun eng mos ekanligini aytaman.

Men to'g'ridan-to'g'ri Alabama shtatining Huntsville shahridan nazoratchi bilan paket oldim:

Posilka tarkibi:
1. Velocio Ace 3090v5 PLC, 179 dollar
2. DIN temir yo'l o'rnatish moslamasi, $ 5
3. Signal liniyasi konnektorlari (3,4,8 pin, qadam 2,5 mm), 6 dona, $ 6 * 3
4. Yassi tornavida, pichoq 1,5 mm, bepul
5. Quvvat ulagichi (2 pin, 2,5 mm qadam), 2 dollar
6. USB Am-miniB kabeli, $5

Ace USB dasturlash kabelini Velocio'dan sotib olish shart emas, u har qanday kompyuter do'konida sotiladigan oddiy USB Am-miniB kabelidir. Ulagichlarni boshqa joydan ham qidirishingiz mumkin, ammo DIN relsli o'rnatish moslamasi noyobdir va uni tekshirgich bilan birga sotib olish kerak.

Ace 3090v5 umidlarni oqladi, bu juda kichik:

Xususiyatlari:

Ism Velocio Ace 3090v5
Maqsad Uy va sanoatni avtomatlashtirish uchun PLC
DI soni 6
Qty DO 18, tranzistor
A.I. Miqdori, jami 7
AI soni 16 bit/turi 4/ J, K, T, N termojuftlari;
±0,256 V, ±0,512 V, ±1,024 V, ±2,048 V
AI soni 12 bit/turi 3/ 0…+5 V
Aloqa portlari Mini USB (Modbus orqali ishlashi mumkin), RS-232
Ma'lumotlarni uzatish protokollari Modbus RTU qul
Ma'lumot uzatish tezligi, bps 9600, 19200, 38400, 57600
Mahkamlash DIN temir yo'li
Oziqlanish 5 V doimiy oqim
O'lchamlari 63,5x63,5x12,7 mm
Ishlash harorati -40… 85°S
IP himoya darajasi IP65
Dasturlash muhiti Velocio vBuilder, bepul
Narxi 179 $

Dizayn

Hajmiga qaramay, kontroller jami 31 ta kirish va chiqish, RS-232 seriyali aloqa porti va dasturlarni yuklab olish va tashqi qurilmalar bilan aloqa qilish uchun Mini USB portiga ega.

Korpusning old tomonida siz diskret kirish va chiqishlarning quvvati va holatini ko'rsatuvchi LEDlarni ko'rishingiz mumkin:

Korpusning orqa tomonida DIN rayiga o'rnatish uchun chuqurchalar mavjud:


Korpusning yon devorlarida barcha signallarni ulagichlar orqali ulash uchun portlar mavjud. Portlar A, B, C, D, E, F harflari bilan belgilanadi:


Simlar Phoenix Contact kompaniyasining COMBICON PTSM Series ulagichlari orqali 2,5 mm (0,098"" pinli qadam bilan ulanadi:

Simlar PLC bilan birga kelgan tornavida yordamida ulagichga quyidagi tarzda kiritiladi:

Diskret chiqishlar quyidagi sabablarga ko'ra tranzistorlardir:

  • o'rni baribir kontroller korpusiga sig'maydi
  • yuqori ish faoliyatini ta'minlash uchun, masalan, step motorlarini boshqarishda
Tabiiyki, tranzistorli chiqishlar 220 V elektr tarmog'ini almashtirish uchun mos emas va ulardan keyin oraliq o'rni o'rnatilishi kerak. PLC sotib olayotganda, Velocio'dan oraliq o'rni bo'lgan modullarni sotib olishingiz mumkin. Yoki men qilganim kabi pulni tejash va shunga o'xshash xitoy taxtalarini eBay-da sotib olishingiz mumkin:

Ace 3090v5 dagi analog kirishlar (Ai) 2 guruhga bo'lingan:

  • A portida umumiy tuproqli 3 Ai, kirish diapazoni 0…5 V
  • F portidagi 4 Ai differentsial, J, K, T, N tipidagi harorat sensorlari (termojuftlar) ulanishi, shuningdek millivolt signallari
Shunday qilib, men "K" tipidagi termojuftni xitoylik testerdan Ai F1 kirishiga uladim va noutbukda harorat qiymatini ko'rsatdim:

Aytgancha, bu misolda men kontrollerdagi termojuftni kalibrlamadim. Biroq, harorat ko'rsatkichlari mening nazorat qurilmam sifatida ishlaydigan spirtli termometrning qiymatlariga mos keldi.

Ace kam quvvat sarfiga ega: maksimal 5 V. 0,3 A gacha bo'lgan oqim kuchi. Ya'ni, quvvat manbai sifatida mobil telefon uchun 5 voltli zaryadlovchidan foydalanishingiz mumkin.

Dasturlash

Dasturni ishlab chiqish bepul vBuilder dasturlash muhiti orqali amalga oshiriladi. O'rnatish paketi shuningdek, boshqaruvchini kompyuterga ulash uchun zarur bo'lgan virtual MAQOMOTI port drayverini ham o'z ichiga oladi:

Video darsliklarini tomosha qilish orqali vBuilder-ni o'rganishni boshlash yaxshidir. Shuningdek, ingliz tilida bir necha yuz sahifadan iborat "vBuilder Manual" deb nomlangan to'liq hujjatlar mavjud.

Dasturni ikki grafik tilda ishlab chiqish mumkin: Ladder Logic va Flow Chart.

Ladder Logic tili barcha PLC dasturchilariga yaxshi ma'lum bo'lgan til bo'lib, IEC 61131-3 standartiga muvofiq standartlashtirilgan sanoat tillaridan biridir.
LD nafaqat dasturchilar, balki oddiy elektrchilar ham dastur yozishlari uchun maxsus ixtiro qilingan. Dastur LDda va elektr zanjiriga o'xshaydi:

Bu tilni o'rganish va u bilan ishlash oson.

Oqim diagrammasi tili grafik til bo‘lib, unda dastur sxemalar ko‘rinishida yaratiladi:

Ko'pchilik maktabda informatika davridan boshlab oqim sxemalarini va ularni qurish tamoyillarini eslaydi. Misol uchun, men 1999 yilda 11-sinfni tugatganman, ya'ni postsovet davridagi kompyuter o'rta asrlarining qora kunlarida. O'sha paytda Intel allaqachon Pentium-II protsessorlarini, Bill Geyts Windows 98 ni sotgan, maktabimizda esa oq-qora ekranli Sovet Elektronika kompyuterlari bor edi. Darsning ko‘p qismida biz partalarda o‘tirardik va blok-sxemalardan foydalangan holda daftarimizga dasturlar chizardik. Keyin biz ularni BASIC tiliga tarjima qildik, Elektronikada (har bir mashinada 4 kishi) o'tirdik va keyin ularni kompyuterga kiritdik. Boshqa maktablarda esa kompyuterlar umuman yo'q edi.

Shunday qilib, yangi boshlanuvchilar uchun Flow Chart LD dan ham osonroqdir. Shu bilan birga, mening fikrimcha, u ko'proq vizual va yanada murakkab dasturlarni yaratishga imkon beradi. Aytgancha, men hozir ham turli PLClar bilan ishlagan holda blok diagrammalaridan tez-tez foydalanaman. Ba'zi murakkab algoritmlarni o'ylab ko'rishim kerak bo'lganda, men avval qog'ozga sxemalar chizaman, so'ngra ularni ma'lum bir tildagi dasturga tarjima qilaman.

Xuddi shu dastur bloklari ikkala dasturlash tilida ham mavjud:

  • taqqoslash (<, >,= va boshqalar)
  • formulalarni kiritish qobiliyati bilan topshiriq
  • nusxa ko'chirish
  • hisoblagich
  • taymer
  • real vaqt soati
  • raqamli filtr
  • o'qish kodlovchilari
  • step motorini boshqarish
  • PID boshqaruvchisi
  • yumshoq boshlash/to'xtatish
  • masshtablash
  • bit bo'yicha siljish va raqamni "aylantirish"
  • statistika
  • com port nazorati o'z ma'lumotlar uzatish protokollarini amalga oshirish uchun
  • pastki dastur chaqiruvi
Xuddi shu vBulder yuklab olish sahifasi dastur bloklari uchun "tezkor yordam" sifatida ishlatiladi. Sahifaning o'ng tomonidagi tegishli vBuilder bloklarining piktogrammalarini bosing va ular qanday ishlashini o'qing:

Agar ingliz tili haqiqatan ham qiyin bo'lsa, Ghrome brauzerining tarjimoni yordamga keladi: sichqonchaning o'ng tugmasi -> rus tiliga tarjima qilish. Tarjima texnik, ammo ma'nosi aniq bo'ladi.

Mavjud dasturlash imkoniyatlari:

  • bit, unsigned int 8/16 bit, signed int 16/32 bit, float tipidagi o'z o'zgaruvchilaringizni (teglaringizni) yaratish;
  • massivlarni yaratish;
  • pastki dasturlarni yaratish;
  • Bundan tashqari, bu yerda subprogrammalar 7-bosqich va Codesys da bo'lgani kabi FB tipidagi ob'ektlardir;
  • har bir kirish/chiqish va teglarga o'z qiymatlarini Modbus orqali uzatish uchun manzil belgilanishi mumkin;
  • qul rejimida Modbus orqali shaxsiy kompyuterlar, sensorli panellar va boshqalar bilan Modbus orqali aloqa; Modbus orqali bir vaqtning o'zida 2 ta asosiy qurilmaga ulanish mumkin;
  • RS-232 orqali o'zingizning ma'lumotlarni uzatish protokollarini amalga oshirish imkoniyati;
  • dasturni bosqichma-bosqich tuzatish.

Ace-ni kompyuteringizga va sensorli panellarga ulash

Tarmoq orqali tashqi qurilmalar bilan aloqa qilish uchun Ace 3090v5 2 ta portga ega: RS-232 va USB. Ushbu ikkala port ham Modbus RTU tobe protokoli yordamida ma'lumotlarni uzatishi mumkin. Ace-ga bir vaqtning o'zida ikkita asosiy qurilma ulanishi mumkin. Masalan, USB orqali kompyuter va RS-232 orqali sensorli panel. Kompyuterdan boshqarish uchun SCADA kabi maxsus dasturlardan foydalaniladi, lekin siz ba'zi bir vizual bazada dastur yozishingiz mumkin.

RS-232 yaxshi eski kompyuter MAQOMOTI portidir. Ilgari sichqonlar unga ulangan edi. Kompyuterni Ace-ga ulash uchun men eski Komov sichqonchasini to'p bilan topdim, undan dumini kesib oldim va uni ushbu sxema bo'yicha Ace-ning 3-pinli RS-232 ulagichiga uladim:

Agar kompyuteringizda MAQOMOTI porti bo'lmasa, har qanday USB/RS-232 konvertorini taxminan 8 dollarga sotib olishingiz kerak bo'ladi.

Tashqi qurilmalar bilan Ace ma'lumotlar almashinuvini amalga oshirish imkoniyatlari:

  • bepul SCADA vFactory o'rnatilgan kompyuter bilan aloqa qilish uchun ichki Ace protokoli orqali;
  • kompyuterlar, sensorli panellar va boshqa PLClar bilan aloqa qilish uchun universal Modbus RTU ma'lumotlar uzatish protokoli orqali;
  • o'z protokoliga muvofiq, boshqaruvchida dasturiy ravishda amalga oshiriladi.
Bepul SCADA vFactory faqat Velocio PLC-lar bilan ishlaydi, chunki u Modbus-dan emas, balki ichki yopiq kontroller protokolidan foydalanadi. vFactory uchun hujjatlar yo'q, uni o'zlashtirish uchun bitta video dars kifoya. Skript tiliga ega bo'lmagan va arxivlarni saqlash qobiliyatiga ega bo'lmagan juda oddiy SCADA. Asboblar paneli kichik:

Biroq, siz maxsus dasturlash ko'nikmalarisiz tezda ishchi dasturni yaratishingiz mumkin:

Agar vFactory imkoniyatlari etarli bo'lmasa, siz boshqa har qanday SCADA-ni Modbus RTU protokoli orqali ulashingiz mumkin. Masalan, termojuft bilan videoda men SCADA Trace Mode 6 Base dan foydalandim.

Ace-da siz o'zingizning ma'lumotlar uzatish protokolingizni dasturlashingiz mumkin, bunga alohida video dars bag'ishlangan.

Uyni avtomatlashtirishda Ace PLC

Menimcha, bu kontroller aqlli uy tizimida yaxshi ishlaydi. Tekshirish moslamasining afzalliklari: kichik o'lchamli, kam quvvat sarfi, faqat 5 V dan quvvat manbai, ko'plab diskret chiqishlar, termojuftlarni ulash imkoniyati, tashqi qurilmalar bilan 2 ta aloqa porti, dasturlash qulayligi, ko'p sonli turli xil dastur bloklari.

Agar siz Ace kontrollerini yoqtirsangiz, lekin 6 ta diskret kirish etarli bo'lmasa, siz Branch seriyasini diqqat bilan ko'rib chiqishingiz mumkin - xuddi shu Ace, faqat kengaytirish modullarini ulash imkoniyati bilan (450 tagacha kirish/chiqish). Biroq, bu mensiz - hozircha menda Ace bilan o'ynash etarli bo'ladi.

Teglar: teglar qo'shish