Habr valdymo pultas, pagrįstas Advantech HMI


Vaizdo įrašas: Habr administratoriaus konsolė. Leidžia reguliuoti karmą, vertinti ir uždrausti vartotojus.

Lt; DR: Šiame straipsnyje pabandysiu sukurti komišką Habr valdymo pultą, naudodamas Webaccess/HMI Designer pramoninės sąsajos kūrimo aplinką ir WebOP terminalą.

Žmogaus ir mašinos sąsaja (HMI) – tai žmonių sąveikos su valdomomis mašinomis sistemų rinkinys. Paprastai šis terminas taikomas pramoninėms sistemoms, turinčioms operatorių ir valdymo pultą.

WebOP — autonominis pramoninis terminalas žmogaus ir mašinos sąsajoms kurti. Naudojamas kuriant gamybos valdymo pultus, stebėjimo sistemas, valdymo patalpas, išmaniuosius namų valdiklius ir kt. Palaiko tiesioginį ryšį su pramonine įranga ir gali veikti kaip SCADA sistemos dalis.

WebOP terminalas – techninė įranga

Habr valdymo pultas, pagrįstas Advantech HMI„WebOP“ terminalas yra mažos galios kompiuteris, pagrįstas ARM procesoriumi, viename korpuse su monitoriumi ir jutikliniu ekranu, skirtas paleisti programai su HMI Designer sukurta grafine sąsaja. Priklausomai nuo modelio, terminalai turi įvairias pramonines sąsajas: RS-232/422/485, CAN magistralę, skirtą prisijungti prie automobilių sistemų, USB Host prievadą papildomiems periferiniams įrenginiams prijungti, USB Client prievadą terminalo prijungimui prie kompiuterio, garso įvestis ir garso išvestis, „MicroSD“ kortelių skaitytuvas, skirtas nuolatinei atminčiai ir nustatymams perkelti.

Įrenginiai yra išdėstyti kaip biudžetinis „viskas viename“ kompiuterių pakaitalas, atliekant užduotis, kurioms nereikia galingų procesorių ir visaverčio stalinio kompiuterio išteklių. WebOP gali veikti kaip atskiras valdymo ir duomenų įvesties/išvesties terminalas, suporuotas su kitais WebOP arba kaip SCADA sistemos dalis.

Habr valdymo pultas, pagrįstas Advantech HMI
WebOP terminalas gali tiesiogiai prisijungti prie pramoninių įrenginių

Pasyvus aušinimas ir IP66 apsauga

Dėl mažo šilumos išsklaidymo kai kurie WebOP modeliai sukurti visiškai be aktyvaus oro aušinimo. Tai leidžia įrenginius montuoti vietose, kurios yra jautrios triukšmo lygiui ir sumažina dulkių patekimą į korpuso vidų.

Priekinis skydelis pagamintas be tarpų ir sujungimų, turi IP66 apsaugos lygį ir leidžia tiesiogiai patekti į slėgį esantį vandenį.

Habr valdymo pultas, pagrįstas Advantech HMI
Galinis WOP-3100T terminalo skydelis

Nepastovi atmintis

Siekiant išvengti duomenų praradimo, WebOP turi 128Kb nepastovios atminties, su kuria galima dirbti taip pat, kaip ir su RAM. Jis gali saugoti skaitiklio rodmenis ir kitus svarbius duomenis. Nutrūkus maitinimui, duomenys bus išsaugoti ir atkurti po perkrovimo.

Nuotolinis atnaujinimas

Terminale veikiančią programą galima atnaujinti nuotoliniu būdu per Ethernet tinklą arba per RS-232/485 nuosekliąsias sąsajas. Tai supaprastina priežiūrą, nes nereikia eiti į visus terminalus norint atnaujinti programinę įrangą.

WebOP modeliai

Habr valdymo pultas, pagrįstas Advantech HMI
2000T serija - patys prieinamiausi įrenginiai, sukurti HMI RTOS realaus laiko operacinės sistemos pagrindu. Serija atstovaujama WebOP-2040T/2070T/2080T/2100T, kurių ekrano įstrižainės yra atitinkamai 4,3 colio, 7 colių, 8 colių ir 10.1 colio.

Habr valdymo pultas, pagrįstas Advantech HMI
3000T serija — pažangesni modeliai, pagrįsti Windows CE operacine sistema. Jie skiriasi nuo 2000T serijos daugybe aparatinės įrangos sąsajų ir turi CAN sąsają. Prietaisai veikia išplėstame temperatūrų diapazone (-20~60°C) ir turi antistatinę apsaugą (oras: 15KV/Kontaktas: 8KV). Linija visiškai atitinka IEC-61000 standarto reikalavimus, leidžiančius įrenginius naudoti puslaidininkių gamyboje, kur statinė iškrova yra problema. Serija atstovaujama WebOP-3070T/3100T/3120T, kurių ekrano įstrižainės yra atitinkamai 7 coliai, 10.1 colio ir 12.1 colio.

WebAccess/HMI Designer kūrimo aplinka

„WebOP“ terminalas yra tik mažos galios ARM kompiuteris, kuriame galite paleisti bet kokią programinę įrangą, tačiau visa šio sprendimo esmė yra patentuota WebAcess/HMI pramoninės sąsajos kūrimo aplinka. Sistema susideda iš dviejų komponentų:

  • HMI dizaineris — sąsajų ir programavimo logikos kūrimo aplinka. Programuotojo kompiuteryje veikia Windows sistemoje. Galutinė programa sukompiliuojama į vieną failą ir perkeliama į terminalą vykdyti vykdymo metu. Programa prieinama rusų kalba.
  • HMI vykdymo laikas — vykdymo laikas, skirtas sukompiliuotai programai paleisti galutiniame terminale. Jis gali veikti ne tik WebOP terminaluose, bet ir Advantech UNO, MIC ir įprastuose staliniuose kompiuteriuose. Yra Linux, Windows, Windows CE vykdymo laiko versijos.

Habr valdymo pultas, pagrįstas Advantech HMI

Sveikas pasaulis – kuriant projektą

Pradėkime kurti savo Habr valdymo pulto bandomąją sąsają. Aš paleisiu programą terminale WebOP-3100T veikia WinCE. Pirmiausia sukurkime naują projektą HMI Designer. Norint paleisti programą WebOP, svarbu pasirinkti tinkamą modelį; nuo to priklausys galutinio failo formatas. Šiame žingsnyje taip pat galite pasirinkti darbalaukio architektūrą, tada galutinis failas bus sudarytas X86 vykdymo laikui.

Habr valdymo pultas, pagrįstas Advantech HMI
Naujo projekto kūrimas ir architektūros pasirinkimas

Ryšio protokolo, per kurį sukompiliuota programa bus įkeliama į WebOP, pasirinkimas. Šiame žingsnyje galite pasirinkti nuosekliąją sąsają arba nurodyti terminalo IP adresą.
Habr valdymo pultas, pagrįstas Advantech HMI

Projekto kūrimo sąsaja. Kairėje pusėje yra būsimos programos komponentų medžio diagrama. Kol kas mus domina tik elementas Ekranai, tai tiesiogiai ekranai su grafinės sąsajos elementais, kurie bus rodomi terminale.

Habr valdymo pultas, pagrįstas Advantech HMI

Pirmiausia sukurkime du ekranus su tekstu „Hello World“ ir galimybe juos perjungti mygtukais. Norėdami tai padaryti, pridėsime naują ekraną Ekranas #2 ir kiekviename ekrane pridėsime tekstinį elementą ir du mygtukus, skirtus perjungti ekranus (Ekrano mygtukai). Sukonfigūruokime kiekvieną mygtuką, kad perjungtumėte į kitą ekraną.
Habr valdymo pultas, pagrįstas Advantech HMI
Sąsaja, skirta mygtukui perjungti ekranus

„Hello World“ programa yra paruošta, dabar galite ją kompiliuoti ir paleisti. Kompiliavimo etape gali būti klaidų, jei neteisingai nurodyti kintamieji ar adresai. Bet kokia klaida laikoma mirtina; programa bus sudaryta tik tuo atveju, jei klaidų nebus.
Aplinka suteikia galimybę imituoti terminalą, kad galėtumėte derinti programą savo kompiuteryje vietoje. Yra du modeliavimo tipai:

  • Simuliacija internetu — bus naudojami visi programoje nurodyti išoriniai duomenų šaltiniai. Tai gali būti USO arba įrenginiai, prijungti per nuosekliąsias sąsajas arba Modbus TCP.
  • Modeliavimas neprisijungus — modeliavimas nenaudojant išorinių įrenginių.

Nors neturime išorinių duomenų, naudojame modeliavimą neprisijungus, prieš tai sukūrę programą. Galutinė programa bus projekto aplanke su pavadinimu ProjectName_ProgramName.px3

Habr valdymo pultas, pagrįstas Advantech HMI
Modeliavimo metu veikianti programa gali būti valdoma pelės žymekliu taip pat, kaip ir WebOP terminalo jutikliniame ekrane. Matome, kad viskas veikia taip, kaip numatyta. Puiku.
Norėdami atsisiųsti programą į fizinį terminalą, tiesiog spustelėkite mygtuką Atsisiųsti. Bet kadangi aš nesukonfigūravau terminalo prijungimo prie kūrimo aplinkos, galite tiesiog perkelti failą naudodami USB atmintinę arba „MicroSD“ atminties kortelę.
Habr valdymo pultas, pagrįstas Advantech HMI
Programos sąsaja yra intuityvi, aš neperžvelgsiu kiekvieno grafinio bloko. Fonų, formų ir teksto kūrimas bus aiškus visiems, kurie naudojo programas, panašias į Word. Norint sukurti grafinę sąsają, nereikia jokių programavimo įgūdžių, visi elementai pridedami vilkdami pelę ant formos.

Darbas su atmintimi

Dabar, kai žinome, kaip kurti grafinius elementus, išmokime dirbti su dinamišku turiniu ir scenarijų kalba. Sukurkime juostinę diagramą, kurioje būtų rodomi kintamojo duomenys U $ 100. Diagramos nustatymuose pasirinkite duomenų tipą: 16 bitų sveikasis skaičius ir diagramos reikšmių diapazoną: nuo 0 iki 10.

Habr valdymo pultas, pagrįstas Advantech HMI

Programa palaiko scenarijų rašymą trimis kalbomis: VBScript, JavaScript ir savo kalba. Naudosiu trečią parinktį, nes jos pavyzdžiai yra dokumentacijoje, o automatinės sintaksės pagalba tiesiog redaktoriuje.

Pridėkime naują makrokomandą:

Habr valdymo pultas, pagrįstas Advantech HMI

Parašykime paprastą kodą, kad laipsniškai pakeistume duomenis kintamajame, kurį galima stebėti diagramoje. Prie kintamojo pridėsime 10 ir iš naujo nustatysime jį į nulį, kai jis bus didesnis nei 100.

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

Norėdami vykdyti scenarijų cikle, bendrosios sąrankos nustatymuose nustatykite jį kaip pagrindinę makrokomandą su 250 ms vykdymo intervalu.

Habr valdymo pultas, pagrįstas Advantech HMI
Sukompiliuokime ir paleiskime programą simuliatoriuje:

Habr valdymo pultas, pagrįstas Advantech HMI

Šiame etape išmokome manipuliuoti atmintyje esančiais duomenimis ir juos vizualiai rodyti. To jau pakanka, kad būtų sukurta paprasta stebėjimo sistema, priimanti duomenis iš išorinių įrenginių (daviklių, valdiklių) ir įrašant juos į atmintį. HMI Designer galimi įvairūs duomenų rodymo blokai: apskritų ratukų su rodyklėmis, įvairių diagramų ir grafikų pavidalu. Naudodami JavaScript scenarijus galite atsisiųsti duomenis iš išorinių šaltinių per HTTP.

Habr valdymo pultas

Pasitelkę įgytus įgūdžius, sukursime komišką sąsają Habr administratoriaus konsolei.

Habr valdymo pultas, pagrįstas Advantech HMI

Mūsų nuotolinio valdymo pultas turi turėti galimybę:

  • Perjungti vartotojo profilius
  • Išsaugokite karmos ir įvertinimo duomenis
  • Keiskite karmą ir įvertinimo vertes naudodami slankiklius
  • Kai paspausite mygtuką "uždrausti", profilis turi būti pažymėtas kaip uždraustas, avataras turėtų pasikeisti į perbrauktas

Kiekvieną profilį rodysime atskirame puslapyje, todėl kiekvienam profiliui sukursime po puslapį. Karmą ir įvertinimą išsaugosime vietiniuose kintamuosiuose atmintyje, kurie bus inicijuojami naudojant Setup Macro, kai programa paleidžiama.

Habr valdymo pultas, pagrįstas Advantech HMI
Paveikslėlį galima spustelėti

Karmos ir įvertinimo koregavimas

Norėdami sureguliuoti karmą, naudosime slankiklį (Slide Switch). Kaip įrašymo adresą nurodome kintamąjį, inicijuotą Setup Macro. Apribokime slankiklio reikšmių diapazoną nuo 0 iki 1500. Dabar, kai slankiklis juda, nauji duomenys bus įrašyti į atmintį. Tokiu atveju pradinė slankiklio būsena atitiks atmintyje esančio kintamojo reikšmes.

Habr valdymo pultas, pagrįstas Advantech HMI
Norėdami parodyti skaitines karmos ir įvertinimo reikšmes, naudosime skaitmeninio rodymo elementą. Jo veikimo principas panašus į schemą iš pavyzdinio „Hello World“ programos, tiesiog monitoriaus adresu nurodome kintamojo adresą.

Uždrausti mygtukas

Mygtukas „Uždrausti“ įgyvendinamas naudojant „Toggle Switch“ elementą. Duomenų saugojimo principas yra panašus į aukščiau pateiktus pavyzdžius. Nustatymuose galite pasirinkti skirtingą tekstą, spalvą ar vaizdą, priklausomai nuo mygtuko būsenos.

Habr valdymo pultas, pagrįstas Advantech HMI
Paspaudus mygtuką, avataras turi būti perbrauktas raudonai. Tai lengva įgyvendinti naudojant vaizdo rodymo bloką. Tai leidžia nurodyti kelis vaizdus, ​​​​susijusius su perjungimo mygtuko būsena. Norėdami tai padaryti, blokui suteikiamas toks pat adresas kaip blokui su mygtuku ir būsenų skaičiumi. Paveikslėlis su vardinėmis lentelėmis po avataru nustatytas panašiai.

Habr valdymo pultas, pagrįstas Advantech HMI

išvada

Apskritai man produktas patiko. Anksčiau turėjau patirties naudojant Android planšetinį kompiuterį panašioms užduotims atlikti, tačiau sukurti jam sąsają yra daug sunkesnė, o naršyklės API neleidžia visiškai pasiekti periferinių įrenginių. Vienas WebOP terminalas gali pakeisti Android planšetinio kompiuterio, kompiuterio ir valdiklio derinį.

„HMI Designer“, nepaisant savo archajiško dizaino, yra gana pažengęs. Neturėdami specialių programavimo įgūdžių, galite greitai nubrėžti darbo sąsają. Straipsnyje neaptariami visi grafiniai blokai, kurių yra daug: animuoti vamzdžiai, cilindrai, grafikai, perjungimo jungikliai. Jis palaiko daugelį populiarių pramoninių valdiklių ir turi duomenų bazių jungtis.

Nuorodos

Galima atsisiųsti WebAccess/HMI Designer ir Runtime kūrimo aplinką čia

Habr valdymo pulto projekto šaltiniai

Šaltinis: www.habr.com

Добавить комментарий