Videó: Habr felügyeleti konzol. Lehetővé teszi a karma szabályozását, a felhasználók minősítését és kitiltását.
TL; DR: Ebben a cikkben megpróbálok létrehozni egy képregény Habr vezérlőpanelt a Webaccess/HMI Designer ipari interfész fejlesztői környezet és a WebOP terminál segítségével.
Az ember-gép interfész (HMI) a vezérelt gépekkel való emberi interakciót szolgáló rendszerek halmaza. Általában ezt a kifejezést olyan ipari rendszerekre alkalmazzák, amelyek kezelővel és vezérlőpanellel rendelkeznek.
WebOP — egy autonóm ipari terminál ember-gép interfészek létrehozására. Gyártási vezérlőpanelek, felügyeleti rendszerek, vezérlőszobák, intelligens otthoni vezérlők stb. létrehozására használják. Támogatja az ipari berendezésekhez való közvetlen csatlakozást, és SCADA rendszer részeként is működhet.
WebOP terminál - hardver
A WebOP terminál egy ARM processzorra épülő, kis fogyasztású számítógép, egyetlen tokban monitorral és érintőképernyővel, HMI Designerben készített grafikus felülettel rendelkező program futtatására tervezve. Típustól függően a terminálok különféle ipari interfészekkel rendelkeznek a fedélzeten: RS-232/422/485, CAN busz autóipari rendszerekhez való csatlakozáshoz, USB Host port további perifériák csatlakoztatásához, USB Client port a terminál számítógéphez történő csatlakoztatásához, audio bemenet és hangkimenet, MicroSD kártyaolvasó a nem felejtő memória és a beállítások átviteléhez.
Az eszközök a többfunkciós számítógépek költségvetési helyettesítésére szolgálnak, olyan feladatokhoz, amelyek nem igényelnek nagy teljesítményű processzorokat és egy teljes értékű asztali számítógép erőforrásait. A WebOP önálló terminálként működhet a vezérléshez és az adatbevitelhez/kimenethez, párosítva más WebOP-okkal, vagy egy SCADA rendszer részeként.
A WebOP terminál közvetlenül csatlakozhat ipari eszközökhöz
Passzív hűtés és IP66 védelem
Az alacsony hőleadás miatt egyes WebOP modelleket teljesen aktív léghűtés nélkül tervezték. Ez lehetővé teszi a készülékek zajszintre érzékeny területeken történő felszerelését, és csökkenti a házba jutó por mennyiségét.
Az előlap rések és illesztések nélkül készült, IP66-os védelmi szinttel rendelkezik, és lehetővé teszi a nyomás alatti víz közvetlen bejutását.
A WOP-3100T terminál hátlapja
Nem felejtő memória
Az adatvesztés elkerülése érdekében a WebOP 128 Kb nem felejtő memóriával rendelkezik, amivel ugyanúgy lehet dolgozni, mint a RAM-mal. Tárolhatja a mérőállásokat és egyéb kritikus adatokat. Áramkimaradás esetén az adatok mentésre kerülnek és újraindítás után visszaállnak.
Távoli frissítés
A terminálon futó program távolról frissíthető Ethernet hálózaton vagy RS-232/485 soros interfészen keresztül. Ez leegyszerűsíti a karbantartást, mivel nem kell minden terminálra felmenni a szoftver frissítéséhez.
WebOP modellek
WebAccess/HMI Designer fejlesztői környezet
A WebOP terminál a dobozból csak egy alacsony fogyasztású ARM számítógép, amelyen bármilyen szoftvert futtathat, de ennek a megoldásnak a lényege a saját fejlesztésű WebAcess/HMI ipari interfész fejlesztőkörnyezet. A rendszer két részből áll:
- HMI tervező — interfészek és programozási logika fejlesztési környezet. Windows alatt fut a programozó számítógépén. A végső program egyetlen fájlba kerül, és futás közbeni végrehajtásra átkerül a terminálba. A program orosz nyelven érhető el.
- HMI Runtime — futási idő a lefordított program futtatásához a végső terminálon. Nem csak WebOP terminálokon, hanem Advantech UNO, MIC és hagyományos asztali számítógépeken is működik. Vannak futásidejű verziók Linux, Windows és Windows CE számára.
Hello world – egy projekt létrehozása
Kezdjük el létrehozni a tesztfelületet a Habr vezérlőpultunkhoz. Lefuttatom a programot a terminálon
Új projekt létrehozása és architektúra kiválasztása
A kommunikációs protokoll kiválasztása, amelyen keresztül a lefordított program betöltődik a WebOP-ba. Ebben a lépésben kiválaszthat egy soros interfészt, vagy megadhatja a terminál IP-címét.
Projekt létrehozási felület. A bal oldalon a jövőbeli program komponenseinek fa diagramja látható. Egyelőre csak a Képernyők pontra vagyunk kíváncsiak, ezek közvetlenül a grafikus felület elemekkel ellátott képernyők jelennek meg a terminálon.
Először is hozzunk létre két képernyőt a „Hello World” szöveggel, és a gombok segítségével válthatunk közöttük. Ehhez hozzáadunk egy új képernyőt, a 2. képernyőt, és minden képernyőn felveszünk egy szöveges elemet és két gombot a képernyők közötti váltáshoz (Screen Buttons). Konfiguráljunk minden gombot a következő képernyőre való váltáshoz.
Interfész a gomb beállításához a képernyők közötti váltáshoz
Elkészült a Hello World program, most már lefordíthatod és futtathatod. A fordítási szakaszban hibák léphetnek fel helytelenül megadott változók vagy címek esetén. Minden hiba végzetesnek minősül, a program csak akkor kerül lefordításra, ha nincs hiba.
A környezet lehetőséget biztosít egy terminál szimulálására, így helyileg hibakeresheti a programot a számítógépén. Kétféle szimuláció létezik:
- Online szimuláció — a programban meghatározott összes külső adatforrás felhasználásra kerül. Ezek lehetnek USO-k vagy soros interfészen vagy Modbus TCP-n keresztül csatlakoztatott eszközök.
- Offline szimuláció — szimuláció külső eszközök használata nélkül.
Bár külső adatokkal nem rendelkezünk, offline szimulációt használunk, miután korábban összeállítottuk a programot. A végleges program a projekt mappában lesz, névvel ProjectName_ProgramName.px3
A szimulációban futó program az egérkurzorral ugyanúgy vezérelhető, mint egy WebOP terminál érintőképernyőjén. Látjuk, hogy minden úgy működik, ahogy terveztük. Nagy.
A program fizikai terminálra való letöltéséhez kattintson a Letöltés gombra. De mivel nem konfiguráltam a terminál csatlakozását a fejlesztői környezethez, egyszerűen átviheti a fájlt USB flash meghajtó vagy MicroSD memóriakártya segítségével.
A program felülete intuitív, nem megyek végig minden grafikus blokkon. A hátterek, alakzatok és szövegek létrehozása mindenki számára világos lesz, aki használt már Word-hez hasonló programokat. A grafikus felület létrehozásához nincs szükség programozási ismeretekre, az összes elemet az egérrel az űrlapra húzva adjuk hozzá.
Munka a memóriával
Most, hogy tudjuk, hogyan kell grafikus elemeket létrehozni, tanuljuk meg, hogyan dolgozhatunk dinamikus tartalommal és egy szkriptnyelvvel. Hozzunk létre egy oszlopdiagramot, amely egy változó adatait jeleníti meg U $ 100. A diagram beállításainál válassza ki az adattípust: 16 bites egész, és a diagram értéktartományát: 0 és 10 között.
A program három nyelven támogatja a szkriptek írását: VBScript, JavaScript és saját nyelven. A harmadik opciót fogom használni, mert a dokumentációban van rá példa, és az automatikus szintaxis súgó közvetlenül a szerkesztőben.
Adjunk hozzá egy új makrót:
Írjunk egy egyszerű kódot, amellyel fokozatosan megváltoztathatjuk az adatokat egy diagramon nyomon követhető változóban. Hozzáadunk 10-et a változóhoz, és nullára állítjuk, ha nagyobb, mint 100.
$U100=$U100+10
IF $U100>100
$U100=0
ENDIF
A parancsfájl ciklusban történő végrehajtásához az Általános beállításokban állítsa be Főmakróként, 250 ms-os végrehajtási időközzel.
Fordítsuk le és futtassuk a programot a szimulátorban:
Ebben a szakaszban megtanultuk a memóriában tárolt adatok kezelését és vizuális megjelenítését. Ez már elegendő egy egyszerű felügyeleti rendszer létrehozásához, amely külső eszközökről (érzékelők, vezérlők) fogadja az adatokat és rögzíti a memóriában. A HMI Designerben különféle adatmegjelenítési blokkok állnak rendelkezésre: nyilakkal ellátott kör alakú számlapok, különféle diagramok és grafikonok formájában. JavaScript-szkriptek használatával HTTP-n keresztül tölthet le adatokat külső forrásokból.
Habr vezérlőpult
A megszerzett ismeretek felhasználásával képregényes felületet készítünk a Habr adminisztrációs konzolhoz.
Távirányítónknak képesnek kell lennie:
- Felhasználói profilok váltása
- Tárolja a karma és értékelési adatokat
- A karma és az értékelési értékek módosítása a csúszkák segítségével
- Ha rákattint a „tiltás” gombra, a profilt tiltottként kell megjelölni, az avatarnak áthúzottra kell változnia
Minden profilt külön oldalon fogunk megjeleníteni, így minden profilhoz létrehozunk egy oldalt. A karmát és az értékelést helyi változókban tároljuk a memóriában, amelyeket a program indításakor a Setup Macro segítségével inicializálunk.
A karma és a minősítés beállítása
A karma beállításához a csúszkát (Slide Switch) fogjuk használni. Felvételi címként a Setup Macro-ban inicializált változót adjuk meg. Korlátozzuk a csúszka értéktartományát 0 és 1500 között. Most, amikor a csúszka elmozdul, új adatok kerülnek a memóriába. Ebben az esetben a csúszka kezdeti állapota megfelel a memóriában lévő változó értékeinek.
A karma és a minősítés számértékeinek megjelenítéséhez a Numerikus kijelzőelemet használjuk. Működési elve hasonló a „Hello World” példaprogram diagramjához, a Monitor Address-ben egyszerűen feltüntetjük a változó címét.
Kitiltás gomb
A „tiltás” gomb a Toggle Switch elem segítségével valósul meg. Az adattárolás elve hasonló a fenti példákhoz. A beállításokban a gomb állapotától függően különböző szöveget, színt vagy képet választhat.
A gomb megnyomásakor az avatart pirossal át kell húzni. Ez könnyen megvalósítható a Picture Display blokk segítségével. Lehetővé teszi több kép megadását a Váltókapcsoló gomb állapotához társítva. Ehhez a blokk ugyanazt a címet kapja, mint a gombbal ellátott blokk és az állapotok száma. Hasonló módon van beállítva az avatar alatti névtáblákkal ellátott kép is.
Következtetés
Összességében tetszett a termék. Korábban már volt tapasztalatom androidos táblagéppel hasonló feladatokra, de ehhez jóval nehezebb kezelőfelületet fejleszteni, a böngésző API-k pedig nem teszik lehetővé a teljes hozzáférést a perifériákhoz. Egy WebOP terminál helyettesítheti az Android táblagép, számítógép és vezérlő kombinációját.
A HMI Designer archaikus kialakítása ellenére meglehetősen fejlett. Különleges programozási ismeretek nélkül gyorsan felvázolhat egy működő felületet. A cikk nem tárgyalja az összes grafikus blokkot, amelyekből sok van: animált csövek, hengerek, grafikonok, váltókapcsolók. A dobozból kivéve számos népszerű ipari vezérlőt támogat, és adatbázis-csatlakozókat tartalmaz.
referenciák
Letölthető a WebAccess/HMI Designer és Runtime fejlesztői környezet
→
Forrás: will.com