Пульт кіравання Хабрам на базе HMI ад Advantech


Відэа: адмінскі пульт кіравання Хабрам. Дазваляе рэгуляваць карму, рэйтынг, і баніць карыстальнікаў.

TL; DR: у артыкуле я паспрабую стварыць жартоўны пульт кіравання Хабрам, выкарыстоўваючы асяроддзе распрацоўкі прамысловых інтэрфейсаў Webaccess/HMI Designer і тэрмінал WebOP.

Чалавека-машынны інтэрфейс (англ.: Human-machine interface, HMI) - гэта набор сістэм для ўзаемадзеяння чалавека з кіраванымі машынамі. Звычайна гэты тэрмін ужываецца для прамысловых сістэм, у якіх ёсць аператар і пульт кіравання.

WebOP - аўтаномны прамысловы тэрмінал для стварэння чалавека-машынных інтэрфейсаў. Выкарыстоўваецца для стварэння пультаў кіравання вытворчасцю, сістэм маніторынгу, дыспетчарскіх, кантролераў разумнага дома, і г.д. Падтрымлівае прамое падлучэнне да прамысловага абсталявання, можа працаваць у складзе SCADA-сістэмы.

Тэрмінал WebOP – апаратная частка

Пульт кіравання Хабрам на базе HMI ад AdvantechТэрмінал WebOP – гэта маламагутны кампутар на базе ARM-працэсара, у адзіным корпусе з маніторам і тачскрынам, прызначаны для запуску праграмы з графічным інтэрфейсам, створанай у HMI Designer. У залежнасці ад мадэлі, тэрміналы маюць на борце розныя прамысловыя інтэрфейсы: RS-232/422/485, CAN-шыну для падлучэння да аўтамабільных сістэм, порт USB Host для падлучэння дадатковай перыферыі, порт USB Client для падлучэння тэрмінала да кампутара, аўдыёўваход і аўдыёвыхад , картрыдар MicroSD для энерганезалежнай памяці і пераносу налад.

Прылады пазіцыянуюцца ў якасці бюджэтнай замены манаблокаў, для задач, якія не патрабуюць магутных працэсараў і рэсурсаў паўнавартаснага дэсктопнага кампутара. WebOP можа працаваць як аўтаномны тэрмінал для кіравання і ўводу/высновы дадзеных, у пары з іншымі WebOP, ці ў складзе SCADA-сістэмы.

Пульт кіравання Хабрам на базе HMI ад Advantech
Тэрмінал WebOP можа падлучацца напрамую да прамысловых прылад.

Пасіўнае астуджэнне і абарона IP66

Дзякуючы нізкаму цеплавылучэнні, некаторыя мадэлі WebOP выкананы цалкам без актыўнага паветранага астуджэння. Гэта дазваляе мантаваць прылады на аб'ектах, крытычных да ўзроўня шуму, і змяншае колькасць пылу, якое трапляе ўнутр карпусы.

Пярэдні панэль выканана без зазораў і стыкаў, мае ўзровень абароны IP66, і дапушчае прамое трапленне вады пад напорам.

Пульт кіравання Хабрам на базе HMI ад Advantech
Задняя панэль тэрмінала WOP-3100T

Энерганезалежная памяць

Для прадухілення страты дадзеных у WebOP ёсць 128Кб энерганезалежнай памяці, з якой можна працаваць гэтак жа, як з RAM. У ёй можна захоўваць сведчанні лічыльнікаў і іншыя крытычна важныя дадзеныя. У выпадку збою харчавання, дадзеныя будуць захаваны, і адновяцца пасля перазагрузкі.

Выдаленае абнаўленне

Праграму, запушчаную на тэрмінале, можна абнаўляць выдалена па Ethernet-сетцы ці праз паслядоўныя інтэрфейсы RS-232/485. Гэта спрашчае абслугоўванне, бо пазбаўляе ад неабходнасці абыходзіць усе тэрміналы для абнаўлення ПЗ.

Мадэлі WebOP

Пульт кіравання Хабрам на базе HMI ад Advantech
Серыя 2000T - Найболей даступныя прылады, пабудаваныя на базе аперацыйнай сістэмы рэальнага часу HMI RTOS. Серыя прадстаўлена мадэлямі WebOP-2040T/2070T/2080T/2100T, З дыяганаллю экрана 4,3 цалі, 7 цаляў, 8 цаляў і 10.1/XNUMX цалі адпаведна.

Пульт кіравання Хабрам на базе HMI ад Advantech
Серыя 3000T - Больш за прасунутыя мадэлі, на базе аперацыйнай сістэмы Windows CE. Ад серыі 2000T адрозніваюцца вялікім лікам апаратных інтэрфейсаў, маюць на борце CAN-інтэрфейс. Прылады працуюць у пашыраным дыяпазоне тэмператур (-20~60°C) і маюць антыстатычную абарону (Air: 15KV/Contact: 8KV). Лінейка цалкам адпавядае патрабаванням стандарту IEC-61000, што дазваляе выкарыстоўваць прылады ў паўправадніковай вытворчасці, дзе статычныя разрады з'яўляюцца праблемай. Серыя прадстаўлена мадэлямі WebOP-3070T/3100T/3120T, з дыяганаллю экрана 7 цаляў, 10.1/12.1 цалі і XNUMX/XNUMX цалі адпаведна.

Серада распрацоўкі WebAccess/HMI Designer

З скрынкі тэрмінал WebOP - проста маламагутны ARM-кампутар, на якім можна запускаць любое ПА, але ўся сутнасць гэтага рашэння ў фірмовым асяроддзі распрацоўкі прамысловых інтэрфейсаў WebAcess/HMI. Сістэма складаецца з двух кампанентаў:

  • HMI Designer - асяроддзе распрацоўкі інтэрфейсаў і праграмавання логікі. Працуе пад Windows, на кампутары праграміста. Выніковая праграма кампілюецца ў адзін файл і перадаецца на тэрмінал, для выканання рантаймам. Праграма даступная на рускай мове.
  • Час выканання HMI - рантайм для запуску скампіляванай праграмы на канчатковым тэрмінале. Можа працаваць не толькі на тэрміналах WebOP, але таксама на кампутарах Advantech UNO, MIC, і звычайных дэсктопных кампутарах. Існуюць версіі рантайму пад Linux, Windows, Windows CE.

Пульт кіравання Хабрам на базе HMI ад Advantech

Hello world – стварэнне праекта

Пачнём стварэнне тэставага інтэрфейсу для нашага пульта кіравання Хабрам. Я буду запускаць праграму на тэрмінале WebOP-3100T пад кіраваннем WinCE. Для пачатку створым новы праект у HMI Designer. Для запуску праграмы на WebOP важна абраць карэктную мадэль, ад гэтага будзе залежаць фармат выніковага файла. На дадзеным этапе можна таксама абраць дэсктопную архітэктуру, тады выніковы файл будзе скампіляваны пад рантайм X86.

Пульт кіравання Хабрам на базе HMI ад Advantech
Стварэнне новага праекту і выбар архітэктуры

Выбар камунікацыйнага пратакола, па якім будзе адбывацца загрузка скампіляванай праграмы ў WebOP. На дадзеным кроку можна абраць паслядоўны інтэрфейс, альбо паказаць IP-адрас тэрмінала.
Пульт кіравання Хабрам на базе HMI ад Advantech

Інтэрфейс стварэння праекту. У левай частцы - дрэвападобная схема з кампанентаў будучай праграмы. Пакуль нас цікавіць толькі пункт Screens, гэта непасрэдна экраны з элементамі графічнага інтэрфейсу, якія будуць выводзіцца на тэрмінал.

Пульт кіравання Хабрам на базе HMI ад Advantech

Для пачатку створым два экрана з тэкстам "Hello World" і магчымасцю перамыкацца паміж імі з дапамогай кнопак. Для гэтага дадамо новы экран Screen #2, і на кожны экран дадамо тэкставы элемент і дзве кнопкі пераключэння паміж экранамі (Screen Buttons). Кожную кнопку наладзім на пераключэнне на наступны экран.
Пульт кіравання Хабрам на базе HMI ад Advantech
Інтэрфейс наладкі кнопкі пераключэння паміж экранамі

Праграма «Hello World» гатова, зараз можна яе скампіляваць і запусціць. На этапе кампіляцыі могуць быць памылкі ў выпадку няправільна ўказаных зменных або адрасоў. Любая памылка лічыцца фатальнай, праграма будзе скампіляваная толькі ў выпадку адсутнасці памылак.
У асяроддзі прадугледжана магчымасць сімуляцыі тэрмінала, для таго, каб можна было наладжваць праграму на кампутары лакальна. Ёсць два віды сімуляцыі:

  • Анлайн-сімуляцыя - усе вонкавыя крыніцы дадзеных, паказаныя ў праграме, будуць задзейнічаныя. Гэта могуць быць УСО або прылады, падлучаныя па паслядоўным інтэрфейсам або Modbus TCP.
  • Афлайн-сімуляцыя - Сімуляцыя без выкарыстання вонкавых прылад.

Пакуль знешніх дадзеных у нас няма, выкарыстоўваем афлайн-сімуляцыю, папярэдне скампіляваўшы праграму. Выніковая праграма будзе знаходзіцца ў тэчцы праекту, з імем ІмяПраекта_ІмяПраграмы.px3

Пульт кіравання Хабрам на базе HMI ад Advantech
Запушчаная ў сімуляцыі праграма можа кіравацца курсорам мышы гэтак жа, як бы гэта адбывалася на тачскрын тэрмінала WebOP. Бачым, што ўсё працуе, як і задумана. Выдатна.
Для загрузкі праграмы на фізічны тэрмінал дастаткова націснуць кнопку Download. Але бо я не наладжваў падлучэнне тэрмінала да асяроддзя распрацоўкі, можна проста перанесці файл, выкарыстаючы USB-флэшку або карту памяці MicroSD.
Пульт кіравання Хабрам на базе HMI ад Advantech
Інтэрфейс праграмы інтуітыўна зразумелы, я не постаці разбіраць кожны графічны блок. Стварэнне фонавым, фігур, тэксту будзе зразумела любому, хто выкарыстоўваў праграмы, падобныя на Word. Для стварэння графічнага інтэрфейсу не патрабуецца навыку праграмавання, усе элементы дадаюцца перацягваннем мышшу на форму.

Праца з памяццю

Цяпер, калі мы ўмеем ствараць графічныя элементы, вывучым працу з дынамічным зместам і скрыптовай мовай. Створым столбчатую дыяграму, з адлюстраваннем дадзеных са зменнай U $ 100. У наладах дыяграмы абярэм тып дадзеных: 16-бітны цэлы лік, і дыяпазон значэнняў дыяграмы: ад 0 да 10.

Пульт кіравання Хабрам на базе HMI ад Advantech

Праграма падтрымлівае напісанне скрыптоў на трох мовах: VBScript, JavaScript і ўласную мову. Я буду выкарыстоўваць трэці варыянт, бо для яго ёсць прыклады ў дакументацыі і аўтаматычная даведка па сінтаксісе адразу ў рэдактары.

Дадамо новы макрас:

Пульт кіравання Хабрам на базе HMI ад Advantech

Напішам просты код для паступовай змены дадзеных у зменнай, якую можна будзе адсочваць на дыяграме. Будзем дадаваць 10 да зменнай, і абнуляць, калі яна будзе больш за 100.

$U100=$U100+10
IF $U100>100
$U100=0
ENDIF

Для выканання скрыпту ў цыкле, усталюем яго ў наладах General Setup як Main Macro, з інтэрвалам выканання 250ms.

Пульт кіравання Хабрам на базе HMI ад Advantech
Скампілюем і запусцім праграму ў сімулятары:

Пульт кіравання Хабрам на базе HMI ад Advantech

На дадзеным этапе мы навучыліся маніпуляваць дадзенымі ў памяці і адлюстроўваць іх у наглядным выглядзе. Гэтага ўжо дастаткова, каб стварыць простую сістэму маніторынгу, атрымліваючы дадзеныя са знешніх прылад (датчыкаў, кантролераў) і запісваючы іх у памяць. У HMI Designer даступныя розныя блокі адлюстравання дадзеных: у выглядзе кругавых цыферблатаў са стрэлкамі, розных дыяграм, графікаў. З дапамогай скрыптоў на JavaScript можна рэалізаваць загрузку дадзеных з вонкавых крыніц па HTTP.

Пульт кіравання Хабрам

Выкарыстоўваючы атрыманыя навыкі, зробім жартоўны інтэрфейс адмінскага пульта кіравання Хабрам.

Пульт кіравання Хабрам на базе HMI ад Advantech

Наш пульт павінен умець:

  • Пераключаць профілі карыстальнікаў
  • Захоўваць дадзеныя кармы і рэйтынгу
  • Змяняць значэння кармы і рэйтынгу з дапамогай паўзункоў
  • Пры націску кнопкі «забаніць» профіль павінен пазначацца як забанены, аватарка павінна мяняцца на закрэсленую

Кожны профіль будзем выводзіць на асобнай старонцы, таму створым па старонцы для кожнага профіля. Карму і рэйтынг будзем захоўваць у лакальных зменных у памяці, якія будуць ініцыялізавацца з дапамогай Setup Macro пры запуску праграмы.

Пульт кіравання Хабрам на базе HMI ад Advantech
Малюнак клікабельная

Рэгуляванне кармы і рэйтынгу

Для рэгулявання кармы будзем выкарыстоўваць паўзунок (Slide Switch). У якасці адрасу запісу паказваем зменную, ініцыялізаваную ў Setup Macro. Абмяжуем дыяпазон значэнняў паўзунка ад 0 да 1500. Цяпер пры руху паўзунка новыя дадзеныя будуць запісвацца ў памяць. Пры гэтым першапачатковы стан паўзунка будзе адпавядаць значэнням зменнай у памяці.

Пульт кіравання Хабрам на базе HMI ад Advantech
Для вываду лікавых значэнняў кармы і рэйтынгу будзем выкарыстоўваць элемент Numeric display. Прынцып яго працы аналагічны дыяграме з прыкладу праграмы "Hello World", проста паказваем адрас зменнай у Monitor Address.

Кнопка "забаніць"

Кнопка "забаніць" рэалізаваная з дапамогай элемента Toggle Switch. Прынцып захоўвання дадзеных аналагічны прыкладам вышэй. У наладах можна абраць розны тэкст, колер ці малюнак, у залежнасці ад стану кнопкі.

Пульт кіравання Хабрам на базе HMI ад Advantech
У момант націску кнопкі, аватарка павінна закрэслівацца чырвоным. Гэта лёгка рэалізаваць з дапамогай блока Picture Display. Ён дазваляе задаць некалькі малюнкаў, прывязаных да стану кнопкі Toggle Switch. Для гэтага блоку паказваецца такі ж адрас, як у блока з кнопкай, і колькасць станаў. Аналагічнай выявай настроена карцінка з шыльдзікамі пад аватаркай.

Пульт кіравання Хабрам на базе HMI ад Advantech

Заключэнне

У цэлым, прадукт мне спадабаўся. Раней у мяне быў досвед выкарыстання для аналагічных задач планшэта на Android, але распрацоўка інтэрфейсу для яго істотна складаней, а браузерныя API не дазваляюць паўнавартасна атрымаць доступ да перыферыі. Адзін тэрмінал WebOP можа замяніць звязак з Android-планшэта, кампутара і кантролера.

HMI Designer, нягледзячы на ​​архаічны дызайн, задаволенай прасунуць. Без асаблівых навыкаў праграмавання можна хутка накідаць які працуе інтэрфейс. У артыкуле не разглядаюцца ўсе графічныя блокі, якіх тамака вельмі шмат: аніміраваныя трубы, балоны, графікі, тумблеры. Ён са скрынкі падтрымлівае мноства папулярных прамысловых кантролераў, утрымоўвае канектары баз дадзеных.

Спасылкі

Асяроддзе распрацоўкі WebAccess/HMI Designer і Runtime можна спампаваць тут

Зыходнікі праекта пульта кіравання Хабрам

Крыніца: habr.com

Дадаць каментар