Видео: Хабр администраторска конзола. Омогућава вам да регулишете карму, оцењивање и забрану корисника.
ТЛ; ДР: У овом чланку покушаћу да направим комични Хабр контролни панел користећи Вебаццесс/ХМИ Десигнер индустријско окружење за развој интерфејса и ВебОП терминал.
Интерфејс човек-машина (ХМИ) је скуп система за интеракцију човека са контролисаним машинама. Обично се овај термин примењује на индустријске системе који имају оператера и контролну таблу.
ВебОП — аутономни индустријски терминал за креирање интерфејса човек-машина. Користи се за креирање производних контролних панела, система за надзор, контролних соба, контролера за паметне куће итд. Подржава директну везу са индустријском опремом и може да ради као део СЦАДА система.
ВебОП терминал - хардвер
ВебОП терминал је рачунар мале снаге заснован на АРМ процесору, у једном кућишту са монитором и екраном осетљивим на додир, дизајниран за покретање програма са графичким интерфејсом креираним у ХМИ Десигнер-у. У зависности од модела, терминали имају различите индустријске интерфејсе на плочи: РС-232/422/485, ЦАН бус за повезивање са аутомобилским системима, УСБ Хост порт за повезивање додатних периферних уређаја, УСБ клијент порт за повезивање терминала са рачунаром, аудио улаз и аудио излаз, читач МицроСД картица за трајну меморију и пренос подешавања.
Уређаји су позиционирани као буџетска замена за све-у-једном рачунаре, за задатке који не захтевају моћне процесоре и ресурсе пуноправног десктоп рачунара. ВебОП може да ради као самостални терминал за контролу и унос/излаз података, упарен са другим ВебОП-овима, или као део СЦАДА система.
ВебОП терминал може да се повеже директно на индустријске уређаје
Пасивно хлађење и ИП66 заштита
Због ниске дисипације топлоте, неки ВебОП модели су дизајнирани у потпуности без активног ваздушног хлађења. Ово омогућава да се уређаји монтирају у областима које су осетљиве на нивое буке и смањује количину прашине која улази у кућиште.
Предња плоча је израђена без зазора и спојева, има ниво заштите ИП66 и омогућава директан улазак воде под притиском.
Задњи панел терминала ВОП-3100Т
Трајна меморија
Да би се спречио губитак података, ВебОП има 128Кб непроменљиве меморије, са којом се може радити на исти начин као и са РАМ-ом. Може да чува очитавања бројила и друге критичне податке. У случају нестанка струје, подаци ће бити сачувани и враћени након поновног покретања.
Даљинско ажурирање
Програм који ради на терминалу може се даљински ажурирати преко Етхернет мреже или преко РС-232/485 серијских интерфејса. Ово поједностављује одржавање, јер елиминише потребу да се иде на све терминале ради ажурирања софтвера.
ВебОП модели
ВебАццесс/ХМИ Десигнер развојно окружење
Изван кутије, ВебОП терминал је само АРМ рачунар мале снаге на коме можете покренути било који софтвер, али цела поента овог решења је власнички ВебАцесс/ХМИ индустријско окружење за развој интерфејса. Систем се састоји од две компоненте:
- ХМИ Десигнер — окружење за развој интерфејса и логике програмирања. Ради под Виндовс-ом на рачунару програмера. Коначни програм се компајлира у једну датотеку и преноси на терминал за извршење током извршавања. Програм је доступан на руском језику.
- ХМИ Рунтиме — време извођења за покретање компајлираног програма на коначном терминалу. Може да ради не само на ВебОП терминалима, већ и на Адвантецх УНО, МИЦ-у и обичним десктоп рачунарима. Постоје рунтиме верзије за Линук, Виндовс, Виндовс ЦЕ.
Здраво свете - креирање пројекта
Хајде да почнемо да креирамо тест интерфејс за наш Хабр контролни панел. Покренућу програм на терминалу
Израда новог пројекта и избор архитектуре
Одабир комуникационог протокола преко којег ће компајлирани програм бити учитан у ВебОП. У овом кораку можете одабрати серијски интерфејс или одредити ИП адресу терминала.
Интерфејс за креирање пројекта. Са леве стране налази се дијаграм стабла компоненти будућег програма. За сада нас занима само ставка Екрани, то су директно екрани са елементима графичког интерфејса који ће бити приказани на терминалу.
Прво, направимо два екрана са текстом „Хелло Ворлд“ и могућношћу преласка између њих помоћу дугмади. Да бисмо то урадили, додаћемо нови екран, Екран #2, а на сваки екран ћемо додати текстуални елемент и два дугмета за пребацивање између екрана (Сцреен Буттонс). Хајде да конфигуришемо свако дугме за прелазак на следећи екран.
Интерфејс за подешавање дугмета за пребацивање између екрана
Програм Хелло Ворлд је спреман, сада можете да га компајлирате и покренете. У фази компилације може доћи до грешака у случају погрешно наведених променљивих или адреса. Свака грешка се сматра фаталном; програм ће бити преведен само ако нема грешака.
Окружење пружа могућност симулације терминала тако да можете локално да отклоните грешке у програму на свом рачунару. Постоје две врсте симулације:
- Онлине симулација — користиће се сви спољни извори података наведени у програму. То могу бити УСО или уређаји повезани преко серијских интерфејса или Модбус ТЦП.
- Офлајн симулација — симулација без употребе спољних уређаја.
Док немамо спољне податке, користимо офлајн симулацију, након што смо претходно компајлирали програм. Коначни програм ће се налазити у фасцикли пројекта, са именом ПројецтНаме_ПрограмНаме.пк3
Програм који ради у симулацији може се контролисати помоћу курсора миша на исти начин као што би то било на екрану осетљивом на додир ВебОП терминала. Видимо да све функционише како је замишљено. Велики.
Да бисте преузели програм на физички терминал, само кликните на дугме Преузми. Али пошто нисам конфигурисао везу терминала са развојним окружењем, можете једноставно пренети датотеку помоћу УСБ флеш диска или МицроСД меморијске картице.
Интерфејс програма је интуитиван, нећу пролазити кроз сваки графички блок. Прављење позадина, облика и текста биће јасно сваком ко је користио програме сличне Ворд-у. За креирање графичког интерфејса нису потребне вештине програмирања; сви елементи се додају превлачењем миша на образац.
Рад са памћењем
Сада када знамо како да креирамо графичке елементе, хајде да научимо како да радимо са динамичким садржајем и језиком за скриптовање. Хајде да направимо тракасти графикон који приказује податке из променљиве У $ КСНУМКС. У подешавањима графикона изаберите тип података: 16-битни цео број и опсег вредности графикона: од 0 до 10.
Програм подржава писање скрипти на три језика: ВБСцрипт, ЈаваСцрипт и сопствени језик. Користићу трећу опцију јер постоје примери за њу у документацији и аутоматска помоћ у синтакси директно у уређивачу.
Хајде да додамо нови макро:
Хајде да напишемо неки једноставан код за постепено мењање података у променљивој која се може пратити на графикону. Променљивој ћемо додати 10 и ресетовати је на нулу када је већа од 100.
$U100=$U100+10
IF $U100>100
$U100=0
ENDIF
Да бисте извршили скрипту у петљи, подесите је у поставкама Генерал Сетуп као Главни макро, са интервалом извршавања од 250 мс.
Хајде да компајлирамо и покренемо програм у симулатору:
У овој фази смо научили да манипулишемо подацима у меморији и да их визуелно прикажемо. Ово је већ довољно за креирање једноставног система за праћење, примање података са спољних уређаја (сензора, контролера) и њихово снимање у меморију. У ХМИ Десигнер-у су доступни различити блокови за приказ података: у облику кружних точкића са стрелицама, разних графикона и графикона. Користећи ЈаваСцрипт скрипте, можете да преузимате податке из спољних извора преко ХТТП-а.
Хабр контролна табла
Користећи стечене вештине, направићемо стрип интерфејс за Хабр админ конзолу.
Наш даљински управљач треба да буде у стању да:
- Промените корисничке профиле
- Чувајте податке о карми и рејтингу
- Промените карму и вредности оцењивања помоћу клизача
- Када кликнете на дугме „забрани“, профил треба да буде означен као забрањен, аватар би требало да се промени у прецртан
Сваки профил ћемо приказати на посебној страници, тако да ћемо направити страницу за сваки профил. Карму и рејтинг ћемо чувати у локалним променљивим у меморији, које ће бити иницијализоване помоћу Сетуп Мацро-а када се програм покрене.
Подешавање карме и рејтинга
За подешавање карме користићемо клизач (Слиде Свитцх). Наводимо променљиву иницијализовану у Сетуп Мацро-у као адресу снимања. Хајде да ограничимо опсег вредности клизача од 0 до 1500. Сада, када се клизач помери, нови подаци ће бити уписани у меморију. У овом случају, почетно стање клизача ће одговарати вредностима променљиве у меморији.
Да бисмо приказали нумеричке вредности карме и рејтинга, користићемо елемент Нумеричког приказа. Принцип његовог рада је сличан дијаграму из примера програма „Хелло Ворлд“; једноставно назначимо адресу променљиве у адреси Монитора.
Дугме забрани
Дугме „забрана“ се имплементира помоћу елемента Тоггле Свитцх. Принцип складиштења података је сличан примерима изнад. У подешавањима можете да изаберете другачији текст, боју или слику, у зависности од стања дугмета.
Када се притисне дугме, аватар треба прецртати црвеном бојом. Ово је лако имплементирати помоћу блока Пицтуре Дисплаи. Омогућава вам да одредите више слика повезаних са стањем дугмета за пребацивање. Да бисте то урадили, блок добија исту адресу као блок са дугметом и бројем стања. Слика са натписним плочицама испод аватара је постављена на сличан начин.
Закључак
Све у свему, допао ми се производ. Раније сам имао искуства са коришћењем Андроид таблета за сличне задатке, али развој интерфејса за њега је много тежи, а АПИ-ји претраживача не дозвољавају пун приступ периферији. Један ВебОП терминал може да замени комбинацију Андроид таблета, рачунара и контролера.
ХМИ Десигнер, упркос свом архаичном дизајну, прилично је напредан. Без посебних вештина програмирања, можете брзо скицирати радни интерфејс. У чланку се не разматрају сви графички блокови, којих има много: анимиране цеви, цилиндри, графикони, прекидачи. Подржава многе популарне индустријске контролере из кутије и садржи конекторе за базу података.
референце
ВебАццесс/ХМИ Десигнер и Рунтиме развојно окружење се могу преузети