Allen-Bradley Recipe Management with UDT Arrays and an HMI Edit Interface — figure 1

Allen-Bradley retseptlarini UDT massivlari va HMI tahrirlash interfeysi yordamida boshqarish

UDT massivlari va parametrlarni doimiy saqlash uchun COP ko‘rsatmalaridan foydalanib, AB Logix 5000 uchun HMI asosida retseptlarni tahrirlashni o‘rganing.

Logix platformalarida retseptlarni boshqarishning eng yaxshi usuli — HMI hech qachon tarixiy massivga bevosita yozmasligini ta’minlashdir. Ishonchli yondashuv uchta tegdan foydalanadi: uzunligi 50 bo‘lgan UDT massivi sifatidagi Recipe_Storage, operator ekrani uchun bitta UDT nusxasi sifatidagi Recipe_Display va qaysi saqlangan retsept displey tuzilmasida aks ettirilishini tanlaydigan DINT turidagi Recipe_Index. COP ko‘rsatmalari indeks o‘zgarganda va yana Save bosilganda ma’lumotlarni ko‘chiradi. Shu sababli operator har doim vaqtinchalik buferni tahrirlaydi, arxiv esa quvvat uzilishlaridan keyin ham izchil saqlanadi.

UDT massivlari va HMI tahrirlash interfeysi yordamida Allen-Bradley retseptlarini boshqarish — 1-rasm HMI orqali retseptlarni tahrirlashda foydalaniladigan Recipe_Storage[50], Recipe_Display va Recipe_Index ko‘rsatilgan Logix teglar monitori.

UDTni jarayonga zarur bo‘lgan barcha rostlash qiymatlari — haroratlar, taymerlar, tezliklar, mahsulot kodlari va blokirovka maskalari — bilan bir marta belgilang, so‘ng Recipe_Storageni ushbu UDT[50] sifatida yarating. Recipe_Display aynan bir xil UDT turida bo‘lishi kerak, o‘zaro bog‘liq atomar teglar to‘plami emas. Bir xil tiplar COP uzunligini hisoblashni soddalashtiradi va keyinchalik a’zolar qo‘shilganda ma’lumotlarning sezilmay qisqarib qolishining oldini oladi.

Indeksni chegaralash va yuklash yo‘li

Har qanday COP bajarilishidan oldin Recipe_Indexni 0 dan 49 gacha bo‘lgan, ikkala chegara ham kiradigan diapazonda cheklang. Raqamli kiritish obyektidan kelgan cheklanmagan indeks COP xatosiga olib kelishi yoki loyihada massiv chegaralari qanday ko‘rib chiqilishiga qarab aniqlanmagan xotirani o‘qishi mumkin. Recipe_Index o‘zgarganda yoki Load tugmasi bosilganda Recipe_Storage[Recipe_Index]ni Recipe_Displayga ko‘chiring. HMI faqat Recipe_Display a’zolariga bog‘lanadi. Bu yagona qoida operator qiymatlarni hali sozlayotgan paytda ikki ekran turli massiv kataklariga yozishi natijasida yuzaga keladigan poyga holatlarini bartaraf etadi.

// Psevdokod tuzilmasi
if Recipe_Index < 0 then Recipe_Index := 0;
if Recipe_Index > 49 then Recipe_Index := 49;

if IndexChanged or LoadPressed then
    COP(Recipe_Storage[Recipe_Index], Recipe_Display, 1);

if SavePressed then
    COP(Recipe_Display, Recipe_Storage[Recipe_Index], 1);
UDT massivlari va HMI tahrirlash interfeysi yordamida Allen-Bradley retseptlarini boshqarish — 2-rasm Faqat Recipe_Displayga bog‘langan HMI retsept ekrani; Load/Save amallari kontrollerdagi COP protseduralarini ishga tushiradi.

Saqlash yo‘li, saqlanib qolish va yuklab olish xatti-harakati

Save bosilganda Recipe_Displayni Recipe_Storage[Recipe_Index]ga qayta ko‘chiring. Recipe_Storage kontroller teglarida joylashgani sababli loyiha teglarni odatiy tarzda saqlab qolishga sozlangan bo‘lsa, qiymatlar quvvat qayta yoqilganda ham saqlanadi. Teg qiymatlarini saqlab qolish tanlangan bo‘lsa, ma’lumotlar loyihani yuklab olishdan keyin ham saqlanadi; ushbu belgilashni shunchaki qulaylik emas, balki retseptlar bilan ishlash bo‘yicha standart amaliyotning bir qismi deb qarang. Operatorlar “reinitialize tags” yoqilgan holda loyiha yuklab olinsa, oflayn zaxira bo‘lmagan taqdirda sinchiklab sozlangan retseptlar o‘chib ketishini tushunishlari kerak.

CSV import jarayonlariga ehtiyotkorlik bilan yondashing. Ko‘plab HMI yoki Excel-dan-tegga o‘tkazish vositalari teg nomlarini yaratadi, biroq ichma-ich joylashgan UDTlar a’zolari qiymatlarini, ayniqsa ustun sarlavhalari UDT a’zolari nomlaridan farq qilsa, ishonchli tarzda yangilamaydi. Har bir maydonni tekshiradigan aniq import protsedurasidan foydalaning yoki ommaviy tahrirlashdan so‘ng ishonchli L5X/teg eksportidan qayta yuklang. Yashil rangdagi “import complete” banneri Recipe_Storage[n].Setpoint endi elektron jadval katagiga teng degani emas.

Teg Tur HMIga bog‘langanmi? Maqsad
Recipe_Storage UDT[50] Yo‘q O‘chmaydigan retseptlar arxivi
Recipe_Display UDT Faqat ha Operator tahrirlash buferi
Recipe_Index DINT Ha (tanlagich) Faol katak 0–49

HMI interfeysi bo‘yicha ko‘rsatmalar

  • Load va Save amallarini paneldan massivga bevosita yozish sifatida emas, kontrollerda boshqariladigan alohida impulsli bitlar sifatida taqdim eting.
  • Cheklangan indeksni va faol katakni tasdiqlash uchun displey UDTdan ko‘chiriladigan, faqat o‘qish uchun mo‘ljallangan “saqlangan nom” maydonini ko‘rsating.
  • Agar retsept a’zolari sikl o‘rtasida harakat yoki issiqlik rostlash qiymatlariga ta’sir qilsa, mashina siklda bo‘lgan paytda Saveni bloklang.
  • Tartibga solinadigan liniyalarda kuzatuv imkoniyati uchun Save hodisalarini operator IDsi va indeks bilan qayd eting.

Indeks chegaralarini va saqlanadigan yuklab olishlarni tekshirish

0-katakni yuklash, Recipe_Displayda nazorat qiymatini tahrirlash, saqlash, indeksni 1 ga o‘zgartirish, so‘ng 0 ga qaytib yana yuklash orqali sinov o‘tkazing. Nazorat qiymati faqat Save bajarilgan bo‘lsa qayta paydo bo‘lishi kerak. Kontroller quvvatini o‘chirib-yoqing va Recipe_Storage nazorat qiymatini saqlab qolganini tasdiqlang. HMI orqali diapazondan tashqari indeks kiritib, cheklash ishlashini tekshiring. Ishlab chiqarishda ushbu yo‘lga ishonishdan oldin zaxira tizimda CSV importini sinab ko‘ring va a’zolarni fayl bilan birma-bir solishtiring.

Panelni Recipe_Storage[Recipe_Index].Memberga bog‘lashdan saqlaning. Massivlar ichiga HMI orqali bilvosita murojaat qilishni tekshirish qiyinroq va indeks tegi bilan ekran turli tezliklarda yangilanganda noto‘g‘ri katakka yozish xavfini oshiradi. Display UDT andozasi keyinchalik UDTni kengaytirganingizda, xavfsizlik darajalarini qo‘shganingizda yoki umumiy operator ish jarayonidan foydalanadigan bir nechta PLC & PAC tizimlari kataklari bo‘ylab ayni retsept modelini ko‘chirganingizda ham oson kengayadi.

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 ishi eskirgan va aralash tizimlar parkida RSLogix / Studio 5000 mantiqi hamda FactoryTalk View HMI ishga tushirish jarayonlarini o‘z ichiga oladi.

Allen-Bradley retseptlarini UDT massivlari va HMI tahrirlash interfeysi yordamida boshqarish

UDT massivlari va parametrlarni doimiy saqlash uchun COP ko‘rsatmalaridan foydalanib, AB Logix 5000 uchun HMI asosida retseptlarni tahrirlashni o‘rganing.

Logix platformalarida retseptlarni boshqarishning eng yaxshi usuli — HMI hech qachon tarixiy massivga bevosita yozmasligini ta’minlashdir. Ishonchli yondashuv uchta tegdan foydalanadi: uzunligi 50 bo‘lgan UDT massivi sifatidagi Recipe_Storage, operator ekrani uchun bitta UDT nusxasi sifatidagi Recipe_Display va qaysi saqlangan retsept displey tuzilmasida aks ettirilishini tanlaydigan DINT turidagi Recipe_Index. COP ko‘rsatmalari indeks o‘zgarganda va yana Save bosilganda ma’lumotlarni ko‘chiradi. Shu sababli operator har doim vaqtinchalik buferni tahrirlaydi, arxiv esa quvvat uzilishlaridan keyin ham izchil saqlanadi.

UDT massivlari va HMI tahrirlash interfeysi yordamida Allen-Bradley retseptlarini boshqarish — 1-rasm HMI orqali retseptlarni tahrirlashda foydalaniladigan Recipe_Storage[50], Recipe_Display va Recipe_Index ko‘rsatilgan Logix teglar monitori.

UDTni jarayonga zarur bo‘lgan barcha rostlash qiymatlari — haroratlar, taymerlar, tezliklar, mahsulot kodlari va blokirovka maskalari — bilan bir marta belgilang, so‘ng Recipe_Storageni ushbu UDT[50] sifatida yarating. Recipe_Display aynan bir xil UDT turida bo‘lishi kerak, o‘zaro bog‘liq atomar teglar to‘plami emas. Bir xil tiplar COP uzunligini hisoblashni soddalashtiradi va keyinchalik a’zolar qo‘shilganda ma’lumotlarning sezilmay qisqarib qolishining oldini oladi.

Indeksni chegaralash va yuklash yo‘li

Har qanday COP bajarilishidan oldin Recipe_Indexni 0 dan 49 gacha bo‘lgan, ikkala chegara ham kiradigan diapazonda cheklang. Raqamli kiritish obyektidan kelgan cheklanmagan indeks COP xatosiga olib kelishi yoki loyihada massiv chegaralari qanday ko‘rib chiqilishiga qarab aniqlanmagan xotirani o‘qishi mumkin. Recipe_Index o‘zgarganda yoki Load tugmasi bosilganda Recipe_Storage[Recipe_Index]ni Recipe_Displayga ko‘chiring. HMI faqat Recipe_Display a’zolariga bog‘lanadi. Bu yagona qoida operator qiymatlarni hali sozlayotgan paytda ikki ekran turli massiv kataklariga yozishi natijasida yuzaga keladigan poyga holatlarini bartaraf etadi.

// Psevdokod tuzilmasi
if Recipe_Index < 0 then Recipe_Index := 0;
if Recipe_Index > 49 then Recipe_Index := 49;

if IndexChanged or LoadPressed then
    COP(Recipe_Storage[Recipe_Index], Recipe_Display, 1);

if SavePressed then
    COP(Recipe_Display, Recipe_Storage[Recipe_Index], 1);
UDT massivlari va HMI tahrirlash interfeysi yordamida Allen-Bradley retseptlarini boshqarish — 2-rasm Faqat Recipe_Displayga bog‘langan HMI retsept ekrani; Load/Save amallari kontrollerdagi COP protseduralarini ishga tushiradi.

Saqlash yo‘li, saqlanib qolish va yuklab olish xatti-harakati

Save bosilganda Recipe_Displayni Recipe_Storage[Recipe_Index]ga qayta ko‘chiring. Recipe_Storage kontroller teglarida joylashgani sababli loyiha teglarni odatiy tarzda saqlab qolishga sozlangan bo‘lsa, qiymatlar quvvat qayta yoqilganda ham saqlanadi. Teg qiymatlarini saqlab qolish tanlangan bo‘lsa, ma’lumotlar loyihani yuklab olishdan keyin ham saqlanadi; ushbu belgilashni shunchaki qulaylik emas, balki retseptlar bilan ishlash bo‘yicha standart amaliyotning bir qismi deb qarang. Operatorlar “reinitialize tags” yoqilgan holda loyiha yuklab olinsa, oflayn zaxira bo‘lmagan taqdirda sinchiklab sozlangan retseptlar o‘chib ketishini tushunishlari kerak.

CSV import jarayonlariga ehtiyotkorlik bilan yondashing. Ko‘plab HMI yoki Excel-dan-tegga o‘tkazish vositalari teg nomlarini yaratadi, biroq ichma-ich joylashgan UDTlar a’zolari qiymatlarini, ayniqsa ustun sarlavhalari UDT a’zolari nomlaridan farq qilsa, ishonchli tarzda yangilamaydi. Har bir maydonni tekshiradigan aniq import protsedurasidan foydalaning yoki ommaviy tahrirlashdan so‘ng ishonchli L5X/teg eksportidan qayta yuklang. Yashil rangdagi “import complete” banneri Recipe_Storage[n].Setpoint endi elektron jadval katagiga teng degani emas.

Teg Tur HMIga bog‘langanmi? Maqsad
Recipe_Storage UDT[50] Yo‘q O‘chmaydigan retseptlar arxivi
Recipe_Display UDT Faqat ha Operator tahrirlash buferi
Recipe_Index DINT Ha (tanlagich) Faol katak 0–49

HMI interfeysi bo‘yicha ko‘rsatmalar

  • Load va Save amallarini paneldan massivga bevosita yozish sifatida emas, kontrollerda boshqariladigan alohida impulsli bitlar sifatida taqdim eting.
  • Cheklangan indeksni va faol katakni tasdiqlash uchun displey UDTdan ko‘chiriladigan, faqat o‘qish uchun mo‘ljallangan “saqlangan nom” maydonini ko‘rsating.
  • Agar retsept a’zolari sikl o‘rtasida harakat yoki issiqlik rostlash qiymatlariga ta’sir qilsa, mashina siklda bo‘lgan paytda Saveni bloklang.
  • Tartibga solinadigan liniyalarda kuzatuv imkoniyati uchun Save hodisalarini operator IDsi va indeks bilan qayd eting.

Indeks chegaralarini va saqlanadigan yuklab olishlarni tekshirish

0-katakni yuklash, Recipe_Displayda nazorat qiymatini tahrirlash, saqlash, indeksni 1 ga o‘zgartirish, so‘ng 0 ga qaytib yana yuklash orqali sinov o‘tkazing. Nazorat qiymati faqat Save bajarilgan bo‘lsa qayta paydo bo‘lishi kerak. Kontroller quvvatini o‘chirib-yoqing va Recipe_Storage nazorat qiymatini saqlab qolganini tasdiqlang. HMI orqali diapazondan tashqari indeks kiritib, cheklash ishlashini tekshiring. Ishlab chiqarishda ushbu yo‘lga ishonishdan oldin zaxira tizimda CSV importini sinab ko‘ring va a’zolarni fayl bilan birma-bir solishtiring.

Panelni Recipe_Storage[Recipe_Index].Memberga bog‘lashdan saqlaning. Massivlar ichiga HMI orqali bilvosita murojaat qilishni tekshirish qiyinroq va indeks tegi bilan ekran turli tezliklarda yangilanganda noto‘g‘ri katakka yozish xavfini oshiradi. Display UDT andozasi keyinchalik UDTni kengaytirganingizda, xavfsizlik darajalarini qo‘shganingizda yoki umumiy operator ish jarayonidan foydalanadigan bir nechta PLC & PAC tizimlari kataklari bo‘ylab ayni retsept modelini ko‘chirganingizda ham oson kengayadi.

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 ishi eskirgan va aralash tizimlar parkida RSLogix / Studio 5000 mantiqi hamda FactoryTalk View HMI ishga tushirish jarayonlarini o‘z ichiga oladi.

Leave a comment

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