Habr kontrolni panel baziran na HMI-u iz Advantech-a


Video: Habr administratorska konzola. Omogućava vam da regulirate karmu, ocjenjivanje i zabranu korisnika.

TL; DR: U ovom članku pokušaću da napravim komični Habr kontrolni panel koristeći Webaccess/HMI Designer industrijsko okruženje za razvoj interfejsa i WebOP terminal.

Interfejs čovek-mašina (HMI) je skup sistema za interakciju ljudi sa kontrolisanim mašinama. Obično se ovaj izraz primjenjuje na industrijske sisteme koji imaju operatera i kontrolnu ploču.

WebOP — autonomni industrijski terminal za kreiranje interfejsa čovek-mašina. Koristi se za kreiranje proizvodnih kontrolnih panela, sistema za nadzor, kontrolnih soba, kontrolera za pametne kuće itd. Podržava direktnu vezu sa industrijskom opremom i može raditi kao dio SCADA sistema.

WebOP terminal - hardver

Habr kontrolni panel baziran na HMI-u iz Advantech-aWebOP terminal je računar male snage baziran na ARM procesoru, u jednom kućištu sa monitorom i ekranom osetljivim na dodir, dizajniran za pokretanje programa sa grafičkim interfejsom kreiranim u HMI Designer-u. U zavisnosti od modela, terminali imaju različite industrijske interfejse na ploči: RS-232/422/485, CAN bus za povezivanje sa automobilskim sistemima, USB Host port za povezivanje dodatnih perifernih uređaja, USB klijent port za povezivanje terminala na računar, audio ulaz i audio izlaz, čitač MicroSD kartica za trajnu memoriju i prijenos postavki.

Uređaji su pozicionirani kao budžetska zamjena za sve-u-jednom računare, za zadatke koji ne zahtijevaju moćne procesore i resurse punopravnog desktop računara. WebOP može raditi kao samostalni terminal za kontrolu i unos/izlaz podataka, uparen sa drugim WebOP-ovima, ili kao dio SCADA sistema.

Habr kontrolni panel baziran na HMI-u iz Advantech-a
WebOP terminal se može povezati direktno na industrijske uređaje

Pasivno hlađenje i IP66 zaštita

Zbog niske disipacije topline, neki WebOP modeli su dizajnirani u potpunosti bez aktivnog hlađenja zrakom. Ovo omogućava da se uređaji montiraju na područjima koja su osjetljiva na nivoe buke i smanjuje količinu prašine koja ulazi u kućište.

Prednja ploča je izrađena bez zazora i spojeva, ima nivo zaštite IP66 i omogućava direktan ulazak vode pod pritiskom.

Habr kontrolni panel baziran na HMI-u iz Advantech-a
Stražnja ploča terminala WOP-3100T

Trajna memorija

Kako bi spriječio gubitak podataka, WebOP ima 128Kb nepromjenjive memorije, s kojom se može raditi na isti način kao i sa RAM-om. Može pohraniti očitanja brojila i druge kritične podatke. U slučaju nestanka struje, podaci će biti sačuvani i vraćeni nakon ponovnog pokretanja.

Daljinsko ažuriranje

Program koji radi na terminalu može se daljinski ažurirati preko Ethernet mreže ili preko RS-232/485 serijskih sučelja. Ovo pojednostavljuje održavanje, jer eliminiše potrebu za odlaskom na sve terminale radi ažuriranja softvera.

WebOP modeli

Habr kontrolni panel baziran na HMI-u iz Advantech-a
2000T serija - najpovoljniji uređaji izgrađeni na bazi HMI RTOS operativnog sistema u realnom vremenu. Seriju predstavlja WebOP-2040T/2070T/2080T/2100T, sa dijagonalama ekrana od 4,3 inča, 7 inča, 8 inča i 10.1 inča, respektivno.

Habr kontrolni panel baziran na HMI-u iz Advantech-a
3000T serija — napredniji modeli bazirani na Windows CE operativnom sistemu. Oni se razlikuju od serije 2000T po velikom broju hardverskih interfejsa i imaju ugrađen CAN interfejs. Uređaji rade u proširenom temperaturnom opsegu (-20~60°C) i imaju antistatičku zaštitu (Vazduh: 15KV/Kontakt: 8KV). Linija u potpunosti ispunjava zahtjeve standarda IEC-61000, što omogućava da se uređaji koriste u proizvodnji poluprovodnika gdje je problem statičkog pražnjenja. Seriju predstavlja WebOP-3070T/3100T/3120T, sa dijagonalama ekrana od 7 inča, 10.1 inča i 12.1 inča, respektivno.

WebAccess/HMI Designer razvojno okruženje

Izvan kutije, WebOP terminal je samo ARM računar male snage na kojem možete pokrenuti bilo koji softver, ali cijela poenta ovog rješenja je vlasnički WebAcess/HMI industrijsko okruženje za razvoj interfejsa. Sistem se sastoji od dvije komponente:

  • HMI Designer — okruženje za razvoj interfejsa i logike programiranja. Radi pod Windowsom na računaru programera. Konačni program se kompajlira u jednu datoteku i prenosi na terminal za izvršenje u vrijeme izvođenja. Program je dostupan na ruskom jeziku.
  • HMI Runtime — vrijeme izvođenja za pokretanje kompajliranog programa na konačnom terminalu. Može raditi ne samo na WebOP terminalima, već i na Advantech UNO, MIC-u i običnim desktop računarima. Postoje runtime verzije za Linux, Windows, Windows CE.

Habr kontrolni panel baziran na HMI-u iz Advantech-a

Zdravo svijete - kreiranje projekta

Počnimo sa kreiranjem testnog interfejsa za naš Habr kontrolni panel. Pokrenut ću program na terminalu WebOP-3100T pokreće WinCE. Prvo, kreirajmo novi projekat u HMI Designeru. Za pokretanje programa na WebOP-u važno je odabrati ispravan model; od toga će ovisiti format konačne datoteke. U ovom koraku možete odabrati i arhitekturu radne površine, a zatim će konačna datoteka biti kompajlirana za X86 runtime.

Habr kontrolni panel baziran na HMI-u iz Advantech-a
Kreiranje novog projekta i odabir arhitekture

Odabir komunikacijskog protokola preko kojeg će kompajlirani program biti učitan u WebOP. U ovom koraku možete odabrati serijski interfejs ili odrediti IP adresu terminala.
Habr kontrolni panel baziran na HMI-u iz Advantech-a

Interfejs za kreiranje projekta. Na lijevoj strani nalazi se dijagram stabla komponenti budućeg programa. Za sada nas zanima samo stavka Screens, to su direktno ekrani sa elementima grafičkog interfejsa koji će biti prikazani na terminalu.

Habr kontrolni panel baziran na HMI-u iz Advantech-a

Prvo, napravimo dva ekrana sa tekstom "Hello World" i mogućnošću prebacivanja između njih pomoću dugmadi. Da bismo to uradili, dodaćemo novi ekran, Ekran #2, a na svaki ekran ćemo dodati tekstualni element i dva dugmeta za prebacivanje između ekrana (Screen Buttons). Konfigurirajmo svako dugme za prelazak na sljedeći ekran.
Habr kontrolni panel baziran na HMI-u iz Advantech-a
Interfejs za podešavanje dugmeta za prebacivanje između ekrana

Program Hello World je spreman, sada ga možete kompajlirati i pokrenuti. U fazi kompilacije može doći do grešaka u slučaju pogrešno navedenih varijabli ili adresa. Svaka greška se smatra fatalnom; program će biti preveden samo ako nema grešaka.
Okruženje pruža mogućnost simulacije terminala tako da možete lokalno otkloniti greške u programu na vašem računalu. Postoje dvije vrste simulacije:

  • Online simulacija — koristit će se svi vanjski izvori podataka navedeni u programu. To mogu biti USO ili uređaji povezani preko serijskih sučelja ili Modbus TCP.
  • Offline simulacija — simulacija bez upotrebe vanjskih uređaja.

Dok nemamo eksterne podatke, koristimo offline simulaciju, nakon što smo prethodno kompajlirali program. Konačni program će se nalaziti u folderu projekta, sa imenom ProjectName_ProgramName.px3

Habr kontrolni panel baziran na HMI-u iz Advantech-a
Program koji radi u simulaciji može se kontrolisati pomoću kursora miša na isti način kao što bi to bilo na dodirnom ekranu WebOP terminala. Vidimo da sve funkcioniše kako je zamišljeno. Odlično.
Da biste preuzeli program na fizički terminal, samo kliknite na dugme Preuzmi. Ali pošto nisam konfigurisao vezu terminala sa razvojnim okruženjem, možete jednostavno prenijeti datoteku pomoću USB fleš diska ili MicroSD memorijske kartice.
Habr kontrolni panel baziran na HMI-u iz Advantech-a
Interfejs programa je intuitivan, neću prolaziti kroz svaki grafički blok. Kreiranje pozadina, oblika i teksta bit će jasno svima koji su koristili programe slične Wordu. Za kreiranje grafičkog interfejsa nisu potrebne veštine programiranja; svi elementi se dodaju prevlačenjem miša na formu.

Rad sa memorijom

Sada kada znamo kako da kreiramo grafičke elemente, hajde da naučimo kako da radimo sa dinamičkim sadržajem i skript jezikom. Kreirajmo trakasti grafikon koji prikazuje podatke iz varijable U $ 100. U postavkama grafikona odaberite tip podataka: 16-bitni cijeli broj i raspon vrijednosti grafikona: od 0 do 10.

Habr kontrolni panel baziran na HMI-u iz Advantech-a

Program podržava pisanje skripti na tri jezika: VBScript, JavaScript i svoj jezik. Koristit ću treću opciju jer za nju postoje primjeri u dokumentaciji i pomoć za automatsku sintaksi u uređivaču.

Dodajmo novi makro:

Habr kontrolni panel baziran na HMI-u iz Advantech-a

Hajde da napišemo neki jednostavan kod za inkrementalnu promjenu podataka u varijabli koja se može pratiti na grafikonu. Promenljivoj ćemo dodati 10 i resetovati je na nulu kada je veća od 100.

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

Da biste izvršili skriptu u petlji, postavite je u postavkama General Setup kao Glavni makro, sa intervalom izvršavanja od 250 ms.

Habr kontrolni panel baziran na HMI-u iz Advantech-a
Hajde da kompajliramo i pokrenemo program u simulatoru:

Habr kontrolni panel baziran na HMI-u iz Advantech-a

U ovoj fazi smo naučili da manipulišemo podacima u memoriji i da ih vizuelno prikažemo. Ovo je već dovoljno za kreiranje jednostavnog sistema praćenja, primanja podataka od eksternih uređaja (senzora, kontrolera) i njihovog snimanja u memoriju. U HMI Designer-u su dostupni različiti blokovi prikaza podataka: u obliku kružnih brojčanika sa strelicama, raznih grafikona i grafikona. Koristeći JavaScript skripte, možete preuzeti podatke iz vanjskih izvora putem HTTP-a.

Kontrolna tabla habra

Koristeći stečene vještine, napravićemo strip interfejs za Habr admin konzolu.

Habr kontrolni panel baziran na HMI-u iz Advantech-a

Naš daljinski upravljač bi trebao biti u mogućnosti:

  • Promijenite korisničke profile
  • Pohranite podatke o karmi i rejtingu
  • Promijenite vrijednosti karme i ocjene pomoću klizača
  • Kada kliknete na dugme „zabrani“, profil treba da bude označen kao zabranjen, a avatar se promeni u precrtan

Svaki profil ćemo prikazati na zasebnoj stranici, tako da ćemo kreirati stranicu za svaki profil. Karmu i ocjenu ćemo pohraniti u lokalne varijable u memoriju, koje će biti inicijalizirane pomoću Setup Macro-a kada program pokrene.

Habr kontrolni panel baziran na HMI-u iz Advantech-a
Na sliku je moguće kliknuti

Prilagođavanje karme i rejtinga

Za podešavanje karme koristit ćemo klizač (Slide Switch). Navodimo varijablu inicijaliziranu u Setup Macro-u kao adresu snimanja. Ograničimo raspon vrijednosti klizača od 0 do 1500. Sada, kada se klizač pomjeri, novi podaci će biti upisani u memoriju. U ovom slučaju, početno stanje klizača će odgovarati vrijednostima varijable u memoriji.

Habr kontrolni panel baziran na HMI-u iz Advantech-a
Za prikaz numeričkih vrijednosti karme i ocjene koristit ćemo element Numeričkog prikaza. Princip njegovog rada je sličan dijagramu iz primjera programa “Hello World”; jednostavno naznačimo adresu varijable u adresi Monitora.

Dugme zabrani

Dugme „zabrana“ implementira se pomoću elementa Toggle Switch. Princip skladištenja podataka je sličan gore navedenim primjerima. U postavkama možete odabrati drugačiji tekst, boju ili sliku, ovisno o stanju gumba.

Habr kontrolni panel baziran na HMI-u iz Advantech-a
Kada se pritisne dugme, avatar treba biti precrtan crvenom bojom. Ovo je lako implementirati pomoću bloka Picture Display. Omogućava vam da navedete više slika povezanih sa stanjem dugmeta Toggle Switch. Da biste to učinili, bloku se dodijeli ista adresa kao bloku s gumbom i brojem stanja. Slika sa natpisnim pločicama ispod avatara postavljena je na sličan način.

Habr kontrolni panel baziran na HMI-u iz Advantech-a

zaključak

Sve u svemu, svidio mi se proizvod. Ranije sam imao iskustva sa korišćenjem Android tableta za slične zadatke, ali razvoj interfejsa za njega je mnogo teži, a API-ji pretraživača ne dozvoljavaju potpuni pristup periferiji. Jedan WebOP terminal može zamijeniti kombinaciju Android tableta, računara i kontrolera.

HMI Designer, uprkos svom arhaičnom dizajnu, prilično je napredan. Bez posebnih vještina programiranja, možete brzo skicirati radni interfejs. Članak ne govori o svim grafičkim blokovima, kojih ima mnogo: animirane cijevi, cilindri, grafovi, prekidači. Podržava mnoge popularne industrijske kontrolere iz kutije i sadrži konektore za bazu podataka.

reference

WebAccess/HMI Designer i Runtime razvojno okruženje se mogu preuzeti ovdje

Izvori projekta kontrolne table Habr

izvor: www.habr.com

Dodajte komentar