Habr kontrollpanel basert på HMI fra Advantech


Video: Habr administrasjonskonsoll. Lar deg regulere karma, vurdering og utestenge brukere.

TL; DR: I denne artikkelen vil jeg prøve å lage et komisk Habr-kontrollpanel ved å bruke Webaccess/HMI Designer industrigrensesnittutviklingsmiljøet og WebOP-terminalen.

Human-machine interface (HMI) er et sett med systemer for menneskelig interaksjon med kontrollerte maskiner. Vanligvis brukes dette begrepet på industrielle systemer som har en operatør og et kontrollpanel.

WebOP — en autonom industriterminal for å lage menneske-maskin-grensesnitt. Brukes til å lage produksjonskontrollpaneler, overvåkingssystemer, kontrollrom, smarthuskontrollere, etc. Støtter direkte tilkobling til industrielt utstyr og kan fungere som en del av et SCADA-system.

WebOP-terminal - maskinvare

Habr kontrollpanel basert på HMI fra AdvantechWebOP-terminalen er en lavstrømsdatamaskin basert på en ARM-prosessor, i et enkelt tilfelle med skjerm og berøringsskjerm, designet for å kjøre et program med et grafisk grensesnitt laget i HMI Designer. Avhengig av modell har terminalene ulike industrielle grensesnitt om bord: RS-232/422/485, CAN-buss for tilkobling til bilsystemer, USB Host-port for tilkobling av tilleggsutstyr, USB-klientport for tilkobling av terminalen til en datamaskin, lyd inngang og lydutgang , MicroSD-kortleser for ikke-flyktig minne og overføring av innstillinger.

Enhetene er posisjonert som en budsjetterstatning for alt-i-ett-PCer, for oppgaver som ikke krever kraftige prosessorer og ressursene til en fullverdig stasjonær datamaskin. WebOP kan fungere som en frittstående terminal for kontroll og datainngang/-utgang, sammenkoblet med andre WebOP-er, eller som en del av et SCADA-system.

Habr kontrollpanel basert på HMI fra Advantech
WebOP-terminalen kan kobles direkte til industrielle enheter

Passiv kjøling og IP66 beskyttelse

På grunn av lav varmespredning er noen WebOP-modeller designet helt uten aktiv luftkjøling. Dette gjør at enhetene kan monteres i områder som er følsomme for støynivåer og reduserer mengden støv som kommer inn i huset.

Frontpanelet er laget uten hull eller skjøter, har et beskyttelsesnivå på IP66, og tillater direkte inntrengning av vann under trykk.

Habr kontrollpanel basert på HMI fra Advantech
Bakpanelet på WOP-3100T-terminalen

Ikke-flyktig minne

For å forhindre tap av data har WebOP 128Kb med ikke-flyktig minne, som kan arbeides med på samme måte som med RAM. Den kan lagre måleravlesninger og andre kritiske data. Ved strømbrudd vil dataene lagres og gjenopprettes etter omstart.

Fjernoppdatering

Programmet som kjører på terminalen kan oppdateres eksternt via et Ethernet-nettverk eller via RS-232/485 serielle grensesnitt. Dette forenkler vedlikeholdet, siden det eliminerer behovet for å gå til alle terminaler for å oppdatere programvaren.

WebOP-modeller

Habr kontrollpanel basert på HMI fra Advantech
2000T-serien - de rimeligste enhetene bygget på grunnlag av sanntidsoperativsystemet HMI RTOS. Serien er representert ved WebOP-2040T/2070T/2080T/2100T, med skjermdiagonaler på henholdsvis 4,3 tommer, 7 tommer, 8 tommer og 10.1 tommer.

Habr kontrollpanel basert på HMI fra Advantech
3000T-serien — mer avanserte modeller basert på Windows CE-operativsystemet. De skiller seg fra 2000T-serien i et stort antall maskinvaregrensesnitt og har et CAN-grensesnitt ombord. Enhetene fungerer i et utvidet temperaturområde (-20~60°C) og har antistatisk beskyttelse (luft: 15KV/kontakt: 8KV). Linjen oppfyller fullt ut kravene i IEC-61000-standarden, som gjør at enhetene kan brukes i halvlederproduksjon der statisk utladning er et problem. Serien er representert av WebOP-3070T/3100T/3120T, med skjermdiagonaler på henholdsvis 7 tommer, 10.1 tommer og 12.1 tommer.

WebAccess/HMI Designer utviklingsmiljø

Ut av esken er WebOP-terminalen bare en laveffekts ARM-datamaskin som du kan kjøre hvilken som helst programvare på, men hele poenget med denne løsningen er det proprietære WebAcess/HMI industrigrensesnittutviklingsmiljøet. Systemet består av to komponenter:

  • HMI designer — miljø for utvikling av grensesnitt og programmeringslogikk. Kjører under Windows på programmererens datamaskin. Det endelige programmet kompileres til én fil og overføres til terminalen for kjøring ved kjøring. Programmet er tilgjengelig på russisk.
  • HMI kjøretid - kjøretid for å kjøre det kompilerte programmet på den endelige terminalen. Det kan fungere ikke bare på WebOP-terminaler, men også på Advantech UNO, MIC og vanlige stasjonære datamaskiner. Det finnes kjøretidsversjoner for Linux, Windows, Windows CE.

Habr kontrollpanel basert på HMI fra Advantech

Hei verden - lage et prosjekt

La oss begynne å lage et testgrensesnitt for vårt Habr-kontrollpanel. Jeg kjører programmet på terminalen WebOP-3100T kjører WinCE. Først, la oss lage et nytt prosjekt i HMI Designer. For å kjøre et program på WebOP er det viktig å velge riktig modell, formatet til den endelige filen vil avhenge av dette. På dette trinnet kan du også velge skrivebordsarkitekturen, så vil den endelige filen bli kompilert for X86 runtime.

Habr kontrollpanel basert på HMI fra Advantech
Opprette et nytt prosjekt og velge en arkitektur

Velge kommunikasjonsprotokollen som det kompilerte programmet skal lastes inn i WebOP via. På dette trinnet kan du velge et seriell grensesnitt, eller spesifisere IP-adressen til terminalen.
Habr kontrollpanel basert på HMI fra Advantech

Grensesnitt for prosjektoppretting. På venstre side er det et trediagram over komponentene i det fremtidige programmet. Foreløpig er vi kun interessert i Skjermer-elementet, dette er direkte skjermene med grafiske grensesnittelementer som vil vises på terminalen.

Habr kontrollpanel basert på HMI fra Advantech

La oss først lage to skjermer med teksten "Hello World" og muligheten til å bytte mellom dem ved hjelp av knapper. For å gjøre dette vil vi legge til en ny skjerm, Skjerm #2, og på hver skjerm vil vi legge til et tekstelement og to knapper for å bytte mellom skjermer (Skjermknapper). La oss konfigurere hver knapp for å bytte til neste skjermbilde.
Habr kontrollpanel basert på HMI fra Advantech
Grensesnitt for å stille inn knappen for å bytte mellom skjermer

Hello World-programmet er klart, nå kan du kompilere og kjøre det. På kompileringsstadiet kan det oppstå feil ved feil spesifiserte variabler eller adresser. Enhver feil anses som dødelig; programmet vil bare bli kompilert hvis det ikke er noen feil.
Miljøet gir muligheten til å simulere en terminal slik at du kan feilsøke programmet på datamaskinen din lokalt. Det er to typer simulering:

  • Online simulering — alle eksterne datakilder spesifisert i programmet vil bli brukt. Disse kan være USOer eller enheter koblet til via serielle grensesnitt eller Modbus TCP.
  • Frakoblet simulering — simulering uten bruk av eksterne enheter.

Selv om vi ikke har eksterne data, bruker vi offline simulering, etter å ha kompilert programmet tidligere. Det endelige programmet vil ligge i prosjektmappen, med navn Prosjektnavn_Programnavn.px3

Habr kontrollpanel basert på HMI fra Advantech
Programmet som kjører i simuleringen kan styres med musepekeren på samme måte som det ville vært på berøringsskjermen til en WebOP-terminal. Vi ser at alt fungerer etter hensikten. Flott.
For å laste ned programmet til en fysisk terminal, klikker du bare på Last ned-knappen. Men siden jeg ikke konfigurerte tilkoblingen av terminalen til utviklingsmiljøet, kan du ganske enkelt overføre filen ved hjelp av en USB-flash-stasjon eller MicroSD-minnekort.
Habr kontrollpanel basert på HMI fra Advantech
Programgrensesnittet er intuitivt, jeg vil ikke gå gjennom hver grafisk blokk. Å lage bakgrunner, former og tekst vil være tydelig for alle som har brukt programmer som ligner på Word. For å lage et grafisk grensesnitt kreves ingen programmeringskunnskaper; alle elementer legges til ved å dra musen over i skjemaet.

Arbeid med hukommelse

Nå som vi vet hvordan vi lager grafiske elementer, la oss lære hvordan vi jobber med dynamisk innhold og et skriptspråk. La oss lage et stolpediagram som viser data fra en variabel U $ 100. I diagraminnstillingene velger du datatypen: 16-bits heltall, og området med diagramverdier: fra 0 til 10.

Habr kontrollpanel basert på HMI fra Advantech

Programmet støtter skriving av skript på tre språk: VBScript, JavaScript og sitt eget språk. Jeg vil bruke det tredje alternativet fordi det er eksempler på det i dokumentasjonen og automatisk syntakshjelp rett i editoren.

La oss legge til en ny makro:

Habr kontrollpanel basert på HMI fra Advantech

La oss skrive en enkel kode for trinnvis endring av data i en variabel som kan spores på et diagram. Vi vil legge til 10 til variabelen, og tilbakestille den til null når den er større enn 100.

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

For å kjøre skriptet i en loop, sett det i General Setup-innstillingene som Main Macro, med et utførelsesintervall på 250ms.

Habr kontrollpanel basert på HMI fra Advantech
La oss kompilere og kjøre programmet i simulatoren:

Habr kontrollpanel basert på HMI fra Advantech

På dette stadiet har vi lært å manipulere data i minnet og vise dem visuelt. Dette er allerede nok til å lage et enkelt overvåkingssystem, motta data fra eksterne enheter (sensorer, kontrollere) og registrere dem i minnet. Ulike datavisningsblokker er tilgjengelige i HMI Designer: i form av sirkulære skiver med piler, ulike diagrammer og grafer. Ved å bruke JavaScript-skript kan du laste ned data fra eksterne kilder via HTTP.

Har kontrollpanel

Ved å bruke de tilegnete ferdighetene vil vi lage et tegneseriegrensesnitt for Habr-administrasjonskonsollen.

Habr kontrollpanel basert på HMI fra Advantech

Fjernkontrollen vår skal kunne:

  • Bytt brukerprofil
  • Lagre karma og vurderingsdata
  • Endre karma- og vurderingsverdier ved å bruke glidebrytere
  • Når du klikker på «forbud»-knappen, skal profilen merkes som utestengt, avataren skal endres til overkrysset

Vi vil vise hver profil på en egen side, så vi lager en side for hver profil. Vi vil lagre karma og vurdering i lokale variabler i minnet, som vil bli initialisert ved hjelp av Setup Macro når programmet starter.

Habr kontrollpanel basert på HMI fra Advantech
Bildet er klikkbart

Justering av karma og vurdering

For å justere karma bruker vi glidebryteren (Slide Switch). Vi spesifiserer variabelen initialisert i Setup Macro som opptaksadresse. La oss begrense utvalget av glidebryterverdier fra 0 til 1500. Nå, når glidebryteren beveger seg, vil nye data bli skrevet til minnet. I dette tilfellet vil starttilstanden til glidebryteren tilsvare verdiene til variabelen i minnet.

Habr kontrollpanel basert på HMI fra Advantech
For å vise de numeriske verdiene for karma og vurdering, bruker vi det numeriske visningselementet. Prinsippet for driften ligner på diagrammet fra eksempelet "Hello World"-programmet; vi angir ganske enkelt adressen til variabelen i Monitor Address.

Forbud-knapp

"Ban"-knappen implementeres ved hjelp av Toggle Switch-elementet. Prinsippet for datalagring ligner på eksemplene ovenfor. I innstillingene kan du velge forskjellig tekst, farge eller bilde, avhengig av tilstanden til knappen.

Habr kontrollpanel basert på HMI fra Advantech
Når knappen trykkes, skal avataren krysses over med rødt. Dette er enkelt å implementere ved å bruke Picture Display-blokken. Den lar deg spesifisere flere bilder assosiert med tilstanden til vippebryteren. For å gjøre dette får blokken samme adresse som blokken med knappen og antall stater. Bildet med navneskilt under avataren er satt opp på lignende måte.

Habr kontrollpanel basert på HMI fra Advantech

Konklusjon

Totalt sett likte jeg produktet. Tidligere hadde jeg erfaring med å bruke et Android-nettbrett til lignende oppgaver, men å utvikle et grensesnitt for det er mye vanskeligere, og nettleser-APIer tillater ikke full tilgang til periferiutstyret. Én WebOP-terminal kan erstatte en kombinasjon av et Android-nettbrett, datamaskin og kontroller.

HMI Designer er, til tross for sin arkaiske design, ganske avansert. Uten spesielle programmeringskunnskaper kan du raskt skissere et fungerende grensesnitt. Artikkelen diskuterer ikke alle grafiske blokker, som det er mange av: animerte rør, sylindre, grafer, vippebrytere. Den støtter mange populære industrielle kontrollere ut av esken og inneholder databasekoblinger.

referanser

WebAccess/HMI Designer og Runtime utviklingsmiljø kan lastes ned her

Kilder til Habr-kontrollpanelprosjektet

Kilde: www.habr.com

Legg til en kommentar