Habr-beheerpaneel gebaseer op HMI van Advantech


Video: Habr admin konsole. Laat jou toe om karma te reguleer, gradering en gebruikers te verbied.

TL; DR: In hierdie artikel sal ek probeer om 'n komiese Habr-kontrolepaneel te skep deur die Webaccess/HMI Designer-industriële koppelvlak-ontwikkelingsomgewing en die WebOP-terminaal te gebruik.

Mens-masjien-koppelvlak (HMI) is 'n stel stelsels vir menslike interaksie met beheerde masjiene. Tipies word hierdie term toegepas op industriële stelsels wat 'n operateur en 'n beheerpaneel het.

WebOP - 'n outonome industriële terminale vir die skep van mens-masjien-koppelvlakke. Word gebruik om produksiebeheerpanele, moniteringstelsels, beheerkamers, slimhuisbeheerders, ens. Ondersteun direkte verbinding met industriële toerusting en kan as deel van 'n SCADA-stelsel werk.

WebOP-terminaal - hardeware

Habr-beheerpaneel gebaseer op HMI van AdvantechDie WebOP-terminaal is 'n laekrag-rekenaar gebaseer op 'n ARM-verwerker, in 'n enkele geval met 'n monitor en raakskerm, wat ontwerp is om 'n program te laat loop met 'n grafiese koppelvlak wat in HMI Designer geskep is. Afhangende van die model, het die terminale verskeie industriële koppelvlakke aan boord: RS-232/422/485, CAN-bus om aan motorstelsels te koppel, USB-gasheerpoort vir die koppeling van bykomende randapparatuur, USB-kliëntpoort om die terminale aan 'n rekenaar te koppel, oudio invoer en oudio-uitvoer, MicroSD-kaartleser vir nie-vlugtige geheue en instellingsoordrag.

Die toestelle is geposisioneer as 'n begrotingsvervanger vir alles-in-een rekenaars, vir take wat nie kragtige verwerkers en die hulpbronne van 'n volwaardige tafelrekenaar benodig nie. WebOP kan werk as 'n selfstandige terminaal vir beheer en data-invoer/-uitvoer, gepaard met ander WebOP's, of as deel van 'n SCADA-stelsel.

Habr-beheerpaneel gebaseer op HMI van Advantech
Die WebOP-terminaal kan direk aan industriële toestelle koppel

Passiewe verkoeling en IP66-beskerming

As gevolg van lae hitte-afvoer, is sommige WebOP-modelle heeltemal ontwerp sonder aktiewe lugverkoeling. Dit laat toe dat die toestelle gemonteer word in areas wat sensitief is vir geraasvlakke en verminder die hoeveelheid stof wat binne die behuising kom.

Die voorpaneel is gemaak sonder gapings of voeë, het 'n beskermingsvlak van IP66, en laat direkte binnedring van water onder druk toe.

Habr-beheerpaneel gebaseer op HMI van Advantech
Agterpaneel van die WOP-3100T-terminaal

Nie-vlugtige geheue

Om dataverlies te voorkom, het WebOP 128Kb se nie-vlugtige geheue, waarmee op dieselfde manier as met RAM gewerk kan word. Dit kan meterlesings en ander kritieke data stoor. In die geval van 'n kragonderbreking, sal die data gestoor en herstel word na 'n herlaai.

Afgeleë opdatering

Die program wat op die terminale loop, kan op afstand opgedateer word via 'n Ethernet-netwerk of via RS-232/485-seriële koppelvlakke. Dit vergemaklik instandhouding, aangesien dit die behoefte uitskakel om na alle terminale te gaan om die sagteware op te dateer.

WebOP-modelle

Habr-beheerpaneel gebaseer op HMI van Advantech
2000T-reeks - die mees bekostigbare toestelle gebou op die basis van die HMI RTOS intydse bedryfstelsel. Die reeks word verteenwoordig deur WebOP-2040T/2070T/2080T/2100T, met skermdiagonale van onderskeidelik 4,3 duim, 7 duim, 8 duim en 10.1 duim.

Habr-beheerpaneel gebaseer op HMI van Advantech
3000T-reeks - meer gevorderde modelle gebaseer op die Windows CE-bedryfstelsel. Hulle verskil van die 2000T-reeks in 'n groot aantal hardeware-koppelvlakke en het 'n CAN-koppelvlak aan boord. Die toestelle werk in 'n uitgebreide temperatuurreeks (-20~60°C) en het antistatiese beskerming (Lug: 15KV/Kontak: 8KV). Die lyn voldoen ten volle aan die vereistes van die IEC-61000-standaard, wat toelaat dat die toestelle in halfgeleiervervaardiging gebruik word waar statiese ontlading 'n probleem is. Die reeks word verteenwoordig deur WebOP-3070T/3100T/3120T, met skermdiagonale van onderskeidelik 7 duim, 10.1 duim en 12.1 duim.

WebAccess/HMI Ontwerper-ontwikkelingsomgewing

Uit die boks is die WebOP-terminaal net 'n laekrag-ARM-rekenaar waarop jy enige sagteware kan laat loop, maar die hele punt van hierdie oplossing is die eie WebAcess/HMI-industriële koppelvlak-ontwikkelingsomgewing. Die stelsel bestaan ​​uit twee komponente:

  • HMI Ontwerper — omgewing vir die ontwikkeling van koppelvlakke en programmeringslogika. Loop onder Windows op die programmeerder se rekenaar. Die finale program word in een lêer saamgestel en na die terminaal oorgedra vir uitvoering tydens looptyd. Die program is in Russies beskikbaar.
  • HMI Looptyd - Looptyd om die saamgestelde program op die finale terminaal te laat loop. Dit kan nie net op WebOP-terminale werk nie, maar ook op Advantech UNO, MIC en gewone tafelrekenaars. Daar is runtime-weergawes vir Linux, Windows, Windows CE.

Habr-beheerpaneel gebaseer op HMI van Advantech

Hallo wêreld - skep 'n projek

Kom ons begin om 'n toetskoppelvlak vir ons Habr-kontrolepaneel te skep. Ek sal die program op die terminaal laat loop WebOP-3100T met WinCE. Kom ons skep eers 'n nuwe projek in HMI Designer. Om 'n program op WebOP te laat loop, is dit belangrik om die korrekte model te kies; die formaat van die finale lêer sal hiervan afhang. By hierdie stap, kan jy ook die lessenaar argitektuur kies, dan sal die finale lêer saamgestel word vir X86 runtime.

Habr-beheerpaneel gebaseer op HMI van Advantech
Die skep van 'n nuwe projek en die keuse van 'n argitektuur

Kies die kommunikasieprotokol waardeur die saamgestelde program in WebOP gelaai sal word. By hierdie stap kan jy 'n seriële koppelvlak kies, of die IP-adres van die terminaal spesifiseer.
Habr-beheerpaneel gebaseer op HMI van Advantech

Projek skepping koppelvlak. Aan die linkerkant is daar 'n boomdiagram van die komponente van die toekomstige program. Vir nou is ons net geïnteresseerd in die Skerms-item, dit is direk die skerms met grafiese koppelvlak-elemente wat op die terminale vertoon sal word.

Habr-beheerpaneel gebaseer op HMI van Advantech

Kom ons skep eers twee skerms met die teks "Hallo Wêreld" en die vermoë om tussen hulle te wissel met knoppies. Om dit te doen, sal ons 'n nuwe skerm, Skerm #2, byvoeg en op elke skerm sal ons 'n tekselement en twee knoppies byvoeg om tussen skerms te wissel (Skermknoppies). Kom ons stel elke knoppie op om na die volgende skerm oor te skakel.
Habr-beheerpaneel gebaseer op HMI van Advantech
Interface om die knoppie te stel om tussen skerms te wissel

Die Hello World-program is gereed, nou kan jy dit saamstel en laat loop. By die samestellingstadium kan daar foute wees in die geval van verkeerd gespesifiseerde veranderlikes of adresse. Enige fout word as noodlottig beskou; die program sal slegs saamgestel word as daar geen foute is nie.
Die omgewing bied die vermoë om 'n terminaal te simuleer sodat jy die program op jou rekenaar plaaslik kan ontfout. Daar is twee tipes simulasie:

  • Aanlyn simulasie — alle eksterne databronne wat in die program gespesifiseer word, sal gebruik word. Dit kan USO's of toestelle wees wat via seriële koppelvlakke of Modbus TCP gekoppel is.
  • Vanlyn simulasie - simulasie sonder die gebruik van eksterne toestelle.

Alhoewel ons nie eksterne data het nie, gebruik ons ​​vanlyn simulasie, nadat ons die program voorheen saamgestel het. Die finale program sal in die projeklêer geleë wees, met die naam Projeknaam_Programnaam.px3

Habr-beheerpaneel gebaseer op HMI van Advantech
Die program wat in die simulasie loop, kan met die muiswyser beheer word op dieselfde manier as wat dit op die raakskerm van 'n WebOP-terminaal sou wees. Ons sien alles werk soos bedoel. Groot.
Om die program na 'n fisiese terminaal af te laai, klik net op die Aflaai-knoppie. Maar aangesien ek nie die verbinding van die terminaal aan die ontwikkelingsomgewing gekonfigureer het nie, kan u die lêer eenvoudig oordra met 'n USB-flitsskyf of MicroSD-geheuekaart.
Habr-beheerpaneel gebaseer op HMI van Advantech
Die programkoppelvlak is intuïtief, ek sal nie deur elke grafiese blok gaan nie. Die skep van agtergronde, vorms en teks sal duidelik wees vir almal wat programme soortgelyk aan Word gebruik het. Om 'n grafiese koppelvlak te skep, is geen programmeringsvaardighede nodig nie; alle elemente word bygevoeg deur die muis na die vorm te sleep.

Werk met geheue

Noudat ons weet hoe om grafiese elemente te skep, kom ons leer hoe om met dinamiese inhoud en 'n skriftaal te werk. Kom ons skep 'n staafgrafiek wat data van 'n veranderlike vertoon U $ 100. In die grafiekinstellings, kies die datatipe: 16-bis heelgetal, en die reeks grafiekwaardes: van 0 tot 10.

Habr-beheerpaneel gebaseer op HMI van Advantech

Die program ondersteun die skryf van skrifte in drie tale: VBScript, JavaScript en sy eie taal. Ek sal die derde opsie gebruik, want daar is voorbeelde daarvoor in die dokumentasie en outomatiese sintaksishulp reg in die redigeerder.

Kom ons voeg 'n nuwe makro by:

Habr-beheerpaneel gebaseer op HMI van Advantech

Kom ons skryf 'n paar eenvoudige kode om data inkrementeel te verander in 'n veranderlike wat op 'n grafiek nagespoor kan word. Ons sal 10 by die veranderlike voeg en dit na nul terugstel wanneer dit groter as 100 is.

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

Om die skrip in 'n lus uit te voer, stel dit in die Algemene Opstelling instellings as Hoofmakro, met 'n uitvoeringsinterval van 250ms.

Habr-beheerpaneel gebaseer op HMI van Advantech
Kom ons stel die program saam en laat loop in die simulator:

Habr-beheerpaneel gebaseer op HMI van Advantech

Op hierdie stadium het ons geleer om data in die geheue te manipuleer en visueel te vertoon. Dit is reeds genoeg om 'n eenvoudige moniteringstelsel te skep, data van eksterne toestelle (sensors, beheerders) te ontvang en in die geheue op te teken. Verskeie datavertoonblokke is beskikbaar in HMI Designer: in die vorm van sirkelvormige wysers met pyle, verskeie kaarte en grafieke. Deur JavaScript-skrifte te gebruik, kan u data vanaf eksterne bronne via HTTP aflaai.

Beheerpaneel

Deur die aangeleerde vaardighede te gebruik, sal ons 'n komiese koppelvlak vir die Habr-administrasiekonsole maak.

Habr-beheerpaneel gebaseer op HMI van Advantech

Ons afstandbeheer moet in staat wees om:

  • Wissel gebruikerprofiele
  • Stoor karma- en beoordelingsdata
  • Verander karma- en graderingwaardes met behulp van glyers
  • Wanneer jy op die "verbied"-knoppie klik, moet die profiel as verban gemerk word, die avatar moet verander na deurgehaal

Ons sal elke profiel op 'n aparte bladsy vertoon, so ons sal 'n bladsy vir elke profiel skep. Ons sal karma en gradering in plaaslike veranderlikes in die geheue stoor, wat met Setup Macro geïnisialiseer sal word wanneer die program begin.

Habr-beheerpaneel gebaseer op HMI van Advantech
Die prentjie is klikbaar

Pas karma en gradering aan

Om karma aan te pas, sal ons die skuifbalk (Slide Switch) gebruik. Ons spesifiseer die veranderlike wat in Setup Macro geïnitialiseer is as die opname-adres. Kom ons beperk die reeks skuifwaardes van 0 tot 1500. Nou, wanneer die skuifbalk beweeg, sal nuwe data na die geheue geskryf word. In hierdie geval sal die aanvanklike toestand van die skuifbalk ooreenstem met die waardes van die veranderlike in die geheue.

Habr-beheerpaneel gebaseer op HMI van Advantech
Om die numeriese waardes van karma en gradering te vertoon, sal ons die Numeriese vertoonelement gebruik. Die beginsel van die werking daarvan is soortgelyk aan die diagram van die voorbeeld "Hello World"-program; ons dui eenvoudig die adres van die veranderlike in Monitor Address aan.

Ban knoppie

Die "verbod"-knoppie word geïmplementeer met behulp van die Toggle Switch-element. Die beginsel van databerging is soortgelyk aan die voorbeelde hierbo. In die instellings kan jy verskillende teks, kleur of beeld kies, afhangende van die toestand van die knoppie.

Habr-beheerpaneel gebaseer op HMI van Advantech
Wanneer die knoppie gedruk word, moet die avatar in rooi deurgehaal word. Dit is maklik om te implementeer deur die Picture Display-blok te gebruik. Dit laat jou toe om veelvuldige beelde te spesifiseer wat verband hou met die toestand van die Wisselskakelaar-knoppie. Om dit te doen, kry die blok dieselfde adres as die blok met die knoppie en die aantal state. Die prentjie met naamborde onder die avatar is op 'n soortgelyke manier opgestel.

Habr-beheerpaneel gebaseer op HMI van Advantech

Gevolgtrekking

Oor die algemeen het ek van die produk gehou. Voorheen het ek ondervinding gehad om 'n Android-tablet vir soortgelyke take te gebruik, maar om 'n koppelvlak daarvoor te ontwikkel is baie moeiliker, en blaaier-API's laat nie volle toegang tot die randapparatuur toe nie. Een WebOP-terminaal kan 'n kombinasie van 'n Android-tablet, rekenaar en beheerder vervang.

HMI Designer, ten spyte van sy argaïese ontwerp, is redelik gevorderd. Sonder spesiale programmeringsvaardighede kan jy vinnig 'n werkende koppelvlak skets. Die artikel bespreek nie al die grafiese blokke, waarvan daar baie is nie: geanimeerde pype, silinders, grafieke, wisselskakelaars. Uit die boks ondersteun dit baie gewilde industriële beheerders en bevat databasisverbindings.

verwysings

WebAccess/HMI Designer en Runtime-ontwikkelingsomgewing kan afgelaai word hier

Bronne van die Habr-kontrolepaneelprojek

Bron: will.com

Voeg 'n opmerking