Habr kontrolpanel baseret på HMI fra Advantech


Video: Habr administrationskonsol. Giver dig mulighed for at regulere karma, rating og udelukke brugere.

TL; DR: I denne artikel vil jeg forsøge at skabe et komisk Habr kontrolpanel ved hjælp af Webaccess/HMI Designer industrigrænsefladeudviklingsmiljøet og WebOP-terminalen.

Human-machine interface (HMI) er et sæt systemer til menneskelig interaktion med kontrollerede maskiner. Typisk anvendes dette udtryk på industrielle systemer, der har en operatør og et kontrolpanel.

WebOP — en selvstændig industriel terminal til oprettelse af menneske-maskine-grænseflader. Bruges til at skabe produktionskontrolpaneler, overvågningssystemer, kontrolrum, smart home controllere mv. Understøtter direkte forbindelse til industrielt udstyr og kan fungere som en del af et SCADA-system.

WebOP terminal - hardware

Habr kontrolpanel baseret på HMI fra AdvantechWebOP-terminalen er en energibesparende computer baseret på en ARM-processor, i et enkelt kabinet med en skærm og berøringsskærm, designet til at køre et program med en grafisk grænseflade oprettet i HMI Designer. Afhængigt af modellen har terminalerne forskellige industrielle interfaces ombord: RS-232/422/485, CAN-bus til tilslutning til bilsystemer, USB Host-port til tilslutning af ekstra ydre enheder, USB Client-port til tilslutning af terminalen til en computer, lyd indgang og lydudgang, MicroSD-kortlæser til ikke-flygtig hukommelse og overførsel af indstillinger.

Enhederne er placeret som en budgeterstatning for alt-i-én pc'er, til opgaver, der ikke kræver kraftige processorer og ressourcerne til en fuldgyldig stationær computer. WebOP kan fungere som en selvstændig terminal til kontrol og datainput/output, parret med andre WebOP'er eller som en del af et SCADA-system.

Habr kontrolpanel baseret på HMI fra Advantech
WebOP-terminalen kan tilsluttes direkte til industrielle enheder

Passiv køling og IP66-beskyttelse

På grund af lav varmeafledning er nogle WebOP-modeller designet helt uden aktiv luftkøling. Dette gør det muligt at montere enhederne i områder, der er følsomme over for støjniveauer, og reducerer mængden af ​​støv, der kommer ind i huset.

Frontpanelet er lavet uden huller eller samlinger, har et beskyttelsesniveau på IP66 og tillader direkte indtrængning af vand under tryk.

Habr kontrolpanel baseret på HMI fra Advantech
Bagpanel på WOP-3100T terminalen

Ikke-flygtig hukommelse

For at forhindre tab af data har WebOP 128Kb ikke-flygtig hukommelse, som kan arbejdes med på samme måde som med RAM. Den kan gemme måleraflæsninger og andre kritiske data. I tilfælde af strømsvigt vil dataene blive gemt og gendannet efter en genstart.

Fjernopdatering

Programmet, der kører på terminalen, kan fjernopdateres via et Ethernet-netværk eller via RS-232/485 serielle interfaces. Dette forenkler vedligeholdelsen, da det eliminerer behovet for at gå til alle terminaler for at opdatere softwaren.

WebOP modeller

Habr kontrolpanel baseret på HMI fra Advantech
2000T-serien - de mest overkommelige enheder bygget på basis af HMI RTOS real-time operativsystemet. Serien er repræsenteret af WebOP-2040T/2070T/2080T/2100T, med skærmdiagonaler på henholdsvis 4,3 tommer, 7 tommer, 8 tommer og 10.1 tommer.

Habr kontrolpanel baseret på HMI fra Advantech
3000T-serien — mere avancerede modeller baseret på Windows CE-operativsystemet. De adskiller sig fra 2000T-serien i et stort antal hardware-interfaces og har et CAN-interface ombord. Enhederne fungerer i et udvidet temperaturområde (-20~60°C) og har antistatisk beskyttelse (Luft: 15KV/Kontakt: 8KV). Linjen opfylder fuldt ud kravene i IEC-61000-standarden, som gør det muligt at bruge enhederne i halvlederfremstilling, hvor statisk udladning er et problem. Serien er repræsenteret af WebOP-3070T/3100T/3120T, med skærmdiagonaler på henholdsvis 7 tommer, 10.1 tommer og 12.1 tommer.

WebAccess/HMI Designer udviklingsmiljø

Ud af æsken er WebOP-terminalen blot en laveffekts ARM-computer, hvorpå du kan køre enhver software, men hele pointen med denne løsning er det proprietære WebAcess/HMI-industrielle grænsefladeudviklingsmiljø. Systemet består af to komponenter:

  • HMI designer — miljø til udvikling af grænseflader og programmeringslogik. Kører under Windows på programmørens computer. Det endelige program kompileres til én fil og overføres til terminalen til udførelse ved kørsel. Programmet er tilgængeligt på russisk.
  • HMI Runtime — Runtime for at køre det kompilerede program på den endelige terminal. Det kan ikke kun fungere på WebOP-terminaler, men også på Advantech UNO, MIC og almindelige stationære computere. Der er runtime-versioner til Linux, Windows, Windows CE.

Habr kontrolpanel baseret på HMI fra Advantech

Hej verden - lav et projekt

Lad os begynde at skabe en testgrænseflade til vores Habr kontrolpanel. Jeg vil køre programmet på terminalen WebOP-3100T kører WinCE. Lad os først oprette et nyt projekt i HMI Designer. For at køre et program på WebOP er det vigtigt at vælge den korrekte model; formatet på den endelige fil vil afhænge af dette. På dette trin kan du også vælge skrivebordsarkitekturen, så vil den endelige fil blive kompileret til X86 runtime.

Habr kontrolpanel baseret på HMI fra Advantech
Oprettelse af et nyt projekt og valg af arkitektur

Valg af kommunikationsprotokol, hvorigennem det kompilerede program vil blive indlæst i WebOP. På dette trin kan du vælge en seriel grænseflade eller angive terminalens IP-adresse.
Habr kontrolpanel baseret på HMI fra Advantech

Grænseflade til projektoprettelse. På venstre side er der et trædiagram over komponenterne i det fremtidige program. Indtil videre er vi kun interesseret i punktet Skærm, det er direkte de skærme med grafiske interface-elementer, der vil blive vist på terminalen.

Habr kontrolpanel baseret på HMI fra Advantech

Lad os først oprette to skærme med teksten "Hello World" og muligheden for at skifte mellem dem ved hjælp af knapper. For at gøre dette tilføjer vi en ny skærm, Skærm #2, og på hver skærm tilføjer vi et tekstelement og to knapper til at skifte mellem skærme (Skærmknapper). Lad os konfigurere hver knap til at skifte til den næste skærm.
Habr kontrolpanel baseret på HMI fra Advantech
Interface til indstilling af knappen til at skifte mellem skærme

Hello World-programmet er klar, nu kan du kompilere og køre det. På kompileringsstadiet kan der være fejl i tilfælde af forkert angivne variabler eller adresser. Enhver fejl betragtes som fatal; programmet vil kun blive kompileret, hvis der ikke er nogen fejl.
Miljøet giver mulighed for at simulere en terminal, så du kan debugge programmet på din computer lokalt. Der er to typer simulering:

  • Online simulering — alle eksterne datakilder, der er specificeret i programmet, vil blive brugt. Disse kan være USO'er eller enheder forbundet via serielle interfaces eller Modbus TCP.
  • Offline simulering — simulering uden brug af eksterne enheder.

Selvom vi ikke har eksterne data, bruger vi offline simulering efter tidligere at have kompileret programmet. Det endelige program vil ligge i projektmappen med navnet Projektnavn_Programnavn.px3

Habr kontrolpanel baseret på HMI fra Advantech
Programmet, der kører i simuleringen, kan styres med musemarkøren på samme måde, som det ville være på touchskærmen på en WebOP-terminal. Vi ser, at alt fungerer efter hensigten. Store.
For at downloade programmet til en fysisk terminal skal du blot klikke på knappen Download. Men da jeg ikke konfigurerede terminalens forbindelse til udviklingsmiljøet, kan du blot overføre filen ved hjælp af et USB-flashdrev eller MicroSD-hukommelseskort.
Habr kontrolpanel baseret på HMI fra Advantech
Programgrænsefladen er intuitiv, jeg vil ikke gennemgå hver grafisk blok. Oprettelse af baggrunde, former og tekst vil være tydeligt for alle, der har brugt programmer, der ligner Word. For at skabe en grafisk grænseflade kræves ingen programmeringsfærdigheder; alle elementer tilføjes ved at trække musen over i formularen.

Arbejde med hukommelse

Nu hvor vi ved, hvordan man opretter grafiske elementer, lad os lære, hvordan man arbejder med dynamisk indhold og et scriptsprog. Lad os oprette et søjlediagram, der viser data fra en variabel U $ 100. I diagramindstillingerne skal du vælge datatypen: 16-bit heltal og diagramværdiområdet: fra 0 til 10.

Habr kontrolpanel baseret på HMI fra Advantech

Programmet understøtter skrivning af scripts på tre sprog: VBScript, JavaScript og sit eget sprog. Jeg vil bruge den tredje mulighed, fordi der er eksempler på den i dokumentationen og automatisk syntakshjælp direkte i editoren.

Lad os tilføje en ny makro:

Habr kontrolpanel baseret på HMI fra Advantech

Lad os skrive en simpel kode til trinvist at ændre data i en variabel, der kan spores på et diagram. Vi tilføjer 10 til variablen og nulstiller den til nul, når den er større end 100.

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

For at udføre scriptet i en loop, skal du indstille det i General Setup-indstillingerne som Main Macro, med et eksekveringsinterval på 250ms.

Habr kontrolpanel baseret på HMI fra Advantech
Lad os kompilere og køre programmet i simulatoren:

Habr kontrolpanel baseret på HMI fra Advantech

På dette stadium har vi lært at manipulere data i hukommelsen og vise dem visuelt. Dette er allerede nok til at skabe et simpelt overvågningssystem, der modtager data fra eksterne enheder (sensorer, controllere) og optager dem i hukommelsen. I HMI Designer er forskellige datavisningsblokke tilgængelige: i form af cirkulære urskiver med pile, forskellige diagrammer og grafer. Ved hjælp af JavaScript-scripts kan du downloade data fra eksterne kilder via HTTP.

Har kontrolpanel

Ved at bruge de erhvervede færdigheder vil vi lave en tegneseriegrænseflade til Habr-administrationskonsollen.

Habr kontrolpanel baseret på HMI fra Advantech

Vores fjernbetjening skal kunne:

  • Skift brugerprofiler
  • Gem karma og vurderingsdata
  • Skift karma- og vurderingsværdier ved hjælp af skydere
  • Når du klikker på "forbud"-knappen, skal profilen markeres som forbudt, avataren skal ændres til overstreget

Vi vil vise hver profil på en separat side, så vi opretter en side for hver profil. Vi vil gemme karma og vurdering i lokale variabler i hukommelsen, som vil blive initialiseret ved hjælp af Setup Macro, når programmet starter.

Habr kontrolpanel baseret på HMI fra Advantech
Billedet er klikbart

Justering af karma og vurdering

For at justere karma bruger vi skyderen (Slide Switch). Vi angiver variablen initialiseret i Setup Macro som optagelsesadressen. Lad os begrænse rækkevidden af ​​skyderværdier fra 0 til 1500. Nu, når skyderen bevæger sig, vil nye data blive skrevet til hukommelsen. I dette tilfælde vil den indledende tilstand af skyderen svare til værdierne af variablen i hukommelsen.

Habr kontrolpanel baseret på HMI fra Advantech
For at vise de numeriske værdier af karma og vurdering, vil vi bruge det numeriske visningselement. Princippet for dets funktion ligner diagrammet fra eksemplet "Hello World"-programmet; vi angiver blot adressen på variablen i Monitor Address.

Forbud knap

"Ban"-knappen implementeres ved hjælp af Toggle Switch-elementet. Princippet for datalagring svarer til eksemplerne ovenfor. I indstillingerne kan du vælge forskellig tekst, farve eller billede, afhængigt af knappens tilstand.

Habr kontrolpanel baseret på HMI fra Advantech
Når der trykkes på knappen, skal avataren være streget over med rødt. Dette er nemt at implementere ved hjælp af Picture Display-blokken. Det giver dig mulighed for at specificere flere billeder, der er knyttet til tilstanden for skifteknappen. For at gøre dette får blokken samme adresse som blokken med knappen og antallet af tilstande. Billedet med navneskilte under avataren er sat op på lignende måde.

Habr kontrolpanel baseret på HMI fra Advantech

Konklusion

Alt i alt kunne jeg godt lide produktet. Tidligere havde jeg erfaring med at bruge en Android-tablet til lignende opgaver, men det er meget sværere at udvikle en grænseflade til det, og browser-API'er tillader ikke fuld adgang til de eksterne enheder. Én WebOP-terminal kan erstatte en kombination af en Android-tablet, computer og controller.

HMI Designer er på trods af sit arkaiske design ret avanceret. Uden særlige programmeringsfærdigheder kan du hurtigt skitsere en fungerende grænseflade. Artiklen diskuterer ikke alle de grafiske blokke, som der er mange af: animerede rør, cylindre, grafer, vippekontakter. Den understøtter mange populære industrielle controllere ud af æsken og indeholder databasestik.

RЎSЃS <P "RєRё

WebAccess/HMI Designer og Runtime udviklingsmiljø kan downloades her

Kilder til Habr kontrolpanelprojektet

Kilde: www.habr.com

Tilføj en kommentar