Panou de control Habr bazat pe HMI de la Advantech


Video: Consola de administrare Habr. Vă permite să reglementați karma, evaluarea și interzicerea utilizatorilor.

TL; DR: În acest articol voi încerca să creez un panou de control Habr comic folosind mediul de dezvoltare a interfeței industriale Webaccess/HMI Designer și terminalul WebOP.

Interfața om-mașină (HMI) este un set de sisteme pentru interacțiunea umană cu mașini controlate. De obicei, acest termen este aplicat sistemelor industriale care au un operator și un panou de control.

WebOP — un terminal industrial autonom pentru crearea de interfețe om-mașină. Folosit pentru a crea panouri de control de producție, sisteme de monitorizare, săli de control, controlere pentru casă inteligentă etc. Suportă conectarea directă la echipamente industriale și poate funcționa ca parte a unui sistem SCADA.

Terminal WebOP - hardware

Panou de control Habr bazat pe HMI de la AdvantechTerminalul WebOP este un computer cu putere redusă bazat pe un procesor ARM, într-o singură carcasă cu monitor și ecran tactil, conceput pentru a rula un program cu o interfață grafică creată în HMI Designer. În funcție de model, terminalele au la bord diverse interfețe industriale: RS-232/422/485, CAN bus pentru conectarea la sistemele auto, port USB Host pentru conectarea perifericelor suplimentare, port USB Client pentru conectarea terminalului la un computer, audio intrare și ieșire audio, cititor de carduri MicroSD pentru memorie nevolatilă și transfer de setări.

Dispozitivele sunt poziționate ca un înlocuitor bugetar pentru computerele all-in-one, pentru sarcini care nu necesită procesoare puternice și resursele unui computer desktop cu drepturi depline. WebOP poate funcționa ca un terminal autonom pentru control și intrare/ieșire a datelor, asociat cu alte WebOP-uri sau ca parte a unui sistem SCADA.

Panou de control Habr bazat pe HMI de la Advantech
Terminalul WebOP se poate conecta direct la dispozitive industriale

Răcire pasivă și protecție IP66

Datorită disipării scăzute a căldurii, unele modele WebOP sunt proiectate în întregime fără răcire activă cu aer. Acest lucru permite ca dispozitivele să fie montate în zone sensibile la nivelurile de zgomot și reduce cantitatea de praf care pătrunde în interiorul carcasei.

Panoul frontal este realizat fără goluri sau îmbinări, are un nivel de protecție IP66 și permite pătrunderea directă a apei sub presiune.

Panou de control Habr bazat pe HMI de la Advantech
Panoul din spate al terminalului WOP-3100T

Memorie non volatila

Pentru a preveni pierderea datelor, WebOP are 128Kb de memorie non-volatilă, cu care se poate lucra în același mod ca și cu RAM. Poate stoca citirile contorului și alte date critice. În cazul unei pene de curent, datele vor fi salvate și restaurate după o repornire.

Actualizare de la distanță

Programul care rulează pe terminal poate fi actualizat de la distanță printr-o rețea Ethernet sau prin interfețe seriale RS-232/485. Acest lucru simplifică întreținerea, deoarece elimină nevoia de a merge la toate terminalele pentru a actualiza software-ul.

Modele WebOP

Panou de control Habr bazat pe HMI de la Advantech
Seria 2000T - cele mai accesibile dispozitive construite pe baza sistemului de operare în timp real HMI RTOS. Seria este reprezentată de WebOP-2040T/2070T/2080T/2100T, cu diagonale ale ecranului de 4,3 inchi, 7 inchi, 8 inchi, respectiv 10.1 inchi.

Panou de control Habr bazat pe HMI de la Advantech
Seria 3000T — modele mai avansate bazate pe sistemul de operare Windows CE. Ele diferă de seria 2000T într-un număr mare de interfețe hardware și au o interfață CAN la bord. Dispozitivele funcționează într-un interval extins de temperatură (-20~60°C) și au protecție antistatică (Aer: 15KV/Contact: 8KV). Linia îndeplinește pe deplin cerințele standardului IEC-61000, care permite ca dispozitivele să fie utilizate în fabricarea semiconductoarelor unde descărcarea statică este o problemă. Seria este reprezentată de WebOP-3070T/3100T/3120T, cu diagonale ale ecranului de 7 inchi, 10.1 inchi, respectiv 12.1 inchi.

Mediu de dezvoltare WebAccess/HMI Designer

Din cutie, terminalul WebOP este doar un computer ARM cu putere redusă pe care puteți rula orice software, dar scopul acestei soluții este mediul de dezvoltare a interfeței industriale WebAcess/HMI proprietar. Sistemul este format din două componente:

  • Designer HMI — mediu pentru dezvoltarea interfețelor și a logicii de programare. Funcționează sub Windows pe computerul programatorului. Programul final este compilat într-un singur fișier și transferat pe terminal pentru execuție în timpul execuției. Programul este disponibil în limba rusă.
  • HMI Runtime — runtime pentru rularea programului compilat pe terminalul final. Poate funcționa nu numai pe terminale WebOP, ci și pe Advantech UNO, MIC și computere desktop obișnuite. Există versiuni de rulare pentru Linux, Windows, Windows CE.

Panou de control Habr bazat pe HMI de la Advantech

Bună lume - crearea unui proiect

Să începem să creăm o interfață de testare pentru panoul nostru de control Habr. Voi rula programul pe terminal WebOP-3100T rulează WinCE. Mai întâi, să creăm un nou proiect în HMI Designer. Pentru a rula un program pe WebOP, este important să selectați modelul corect; formatul fișierului final va depinde de acest lucru. La acest pas, puteți selecta și arhitectura desktopului, apoi fișierul final va fi compilat pentru runtime X86.

Panou de control Habr bazat pe HMI de la Advantech
Crearea unui nou proiect și alegerea unei arhitecturi

Selectarea protocolului de comunicare prin care programul compilat va fi încărcat în WebOP. La acest pas, puteți selecta o interfață serială sau puteți specifica adresa IP a terminalului.
Panou de control Habr bazat pe HMI de la Advantech

Interfata de creare a proiectului. În partea stângă există o diagramă arborescentă a componentelor viitorului program. Deocamdată ne interesează doar elementul Ecrane, acestea sunt direct ecranele cu elemente de interfață grafică care vor fi afișate pe terminal.

Panou de control Habr bazat pe HMI de la Advantech

Mai întâi, să creăm două ecrane cu textul „Hello World” și posibilitatea de a comuta între ele folosind butoane. Pentru a face acest lucru, adăugați un nou ecran, Ecranul #2, iar pe fiecare ecran adăugați un element de text și două butoane pentru comutarea între ecrane (Butoane pentru ecran). Să configuram fiecare buton pentru a trece la următorul ecran.
Panou de control Habr bazat pe HMI de la Advantech
Interfață pentru setarea butonului pentru a comuta între ecrane

Programul Hello World este gata, acum îl puteți compila și rula. În etapa de compilare pot apărea erori în cazul variabilelor sau adreselor specificate incorect. Orice eroare este considerată fatală; programul va fi compilat numai dacă nu există erori.
Mediul oferă posibilitatea de a simula un terminal, astfel încât să puteți depana programul de pe computer la nivel local. Există două tipuri de simulare:

  • Simulare online — vor fi utilizate toate sursele de date externe specificate în program. Acestea pot fi USO sau dispozitive conectate prin interfețe seriale sau Modbus TCP.
  • Simulare offline — simulare fără utilizarea dispozitivelor externe.

Deși nu avem date externe, folosim simularea offline, după ce am compilat anterior programul. Programul final va fi localizat în folderul proiectului, cu numele ProjectName_ProgramName.px3

Panou de control Habr bazat pe HMI de la Advantech
Programul care rulează în simulare poate fi controlat cu cursorul mouse-ului în același mod cum ar fi pe ecranul tactil al unui terminal WebOP. Vedem că totul funcționează conform intenției. Grozav.
Pentru a descărca programul pe un terminal fizic, faceți clic pe butonul Descărcare. Dar, deoarece nu am configurat conexiunea terminalului la mediul de dezvoltare, puteți pur și simplu să transferați fișierul folosind o unitate flash USB sau un card de memorie MicroSD.
Panou de control Habr bazat pe HMI de la Advantech
Interfața programului este intuitivă, nu voi trece prin fiecare bloc grafic. Crearea fundalurilor, formelor și textului va fi clară pentru oricine a folosit programe similare Word. Pentru a crea o interfață grafică, nu sunt necesare abilități de programare; toate elementele sunt adăugate prin tragerea mouse-ului pe formular.

Lucrul cu memoria

Acum că știm cum să creăm elemente grafice, să învățăm cum să lucrăm cu conținut dinamic și un limbaj de scripting. Să creăm o diagramă cu bare care să afișeze date dintr-o variabilă U $ 100. În setările diagramei, selectați tipul de date: întreg pe 16 biți și intervalul de valori ale diagramei: de la 0 la 10.

Panou de control Habr bazat pe HMI de la Advantech

Programul acceptă scrierea de scripturi în trei limbi: VBScript, JavaScript și propriul său limbaj. Voi folosi a treia opțiune pentru că există exemple pentru aceasta în documentație și ajutor de sintaxă automată chiar în editor.

Să adăugăm o nouă macrocomandă:

Panou de control Habr bazat pe HMI de la Advantech

Să scriem un cod simplu pentru a modifica în mod incremental datele dintr-o variabilă care poate fi urmărită pe o diagramă. Vom adăuga 10 la variabilă și o vom reseta la zero atunci când este mai mare de 100.

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

Pentru a executa scriptul într-o buclă, setați-l în setările General Setup ca macro principală, cu un interval de execuție de 250 ms.

Panou de control Habr bazat pe HMI de la Advantech
Să compilam și să rulăm programul în simulator:

Panou de control Habr bazat pe HMI de la Advantech

În această etapă, am învățat să manipulăm datele din memorie și să le afișăm vizual. Acest lucru este deja suficient pentru a crea un sistem simplu de monitorizare, primind date de la dispozitive externe (senzori, controlere) și înregistrându-le în memorie. În HMI Designer sunt disponibile diverse blocuri de afișare a datelor: sub formă de cadrane circulare cu săgeți, diferite diagrame și grafice. Folosind scripturi JavaScript, puteți descărca date din surse externe prin HTTP.

Panou de control Habr

Folosind abilitățile dobândite, vom realiza o interfață comică pentru consola de administrare Habr.

Panou de control Habr bazat pe HMI de la Advantech

Telecomanda noastră ar trebui să poată:

  • Schimbați profilurile de utilizator
  • Stocați karma și datele de evaluare
  • Schimbați karma și valorile de evaluare folosind glisoare
  • Când faceți clic pe butonul „interzice”, profilul ar trebui să fie marcat ca interzis, avatarul ar trebui să se schimbe în tăiat

Vom afișa fiecare profil pe o pagină separată, așa că vom crea o pagină pentru fiecare profil. Vom stoca karma și ratingul în variabilele locale în memorie, care vor fi inițializate folosind Setup Macro când programul pornește.

Panou de control Habr bazat pe HMI de la Advantech
Poza se poate face clic

Ajustarea karmei și a ratingului

Pentru a regla karma vom folosi glisorul (Slide Switch). Specificăm variabila inițializată în Setup Macro ca adresă de înregistrare. Să limităm intervalul valorilor glisorului de la 0 la 1500. Acum, când glisorul se mișcă, noi date vor fi scrise în memorie. În acest caz, starea inițială a glisorului va corespunde cu valorile variabilei din memorie.

Panou de control Habr bazat pe HMI de la Advantech
Pentru a afișa valorile numerice ale karmei și ale ratingului, vom folosi elementul de afișare numerică. Principiul funcționării acestuia este similar cu diagrama din exemplul programului „Hello World”; pur și simplu indicăm adresa variabilei în Monitor Address.

Butonul Ban

Butonul „ban” este implementat folosind elementul Comutator. Principiul stocării datelor este similar cu exemplele de mai sus. În setări, puteți selecta text, culoare sau imagine diferit, în funcție de starea butonului.

Panou de control Habr bazat pe HMI de la Advantech
Când butonul este apăsat, avatarul trebuie tăiat cu roșu. Acest lucru este ușor de implementat folosind blocul Picture Display. Vă permite să specificați mai multe imagini asociate cu starea butonului Comutator. Pentru a face acest lucru, blocului i se atribuie aceeași adresă ca și blocul cu butonul și numărul de stări. Imaginea cu plăcuțele de identificare sub avatar este configurată într-un mod similar.

Panou de control Habr bazat pe HMI de la Advantech

Concluzie

Per total, mi-a placut produsul. Anterior, aveam experiență în utilizarea unei tablete Android pentru sarcini similare, dar dezvoltarea unei interfețe pentru aceasta este mult mai dificilă, iar API-urile browserului nu permit accesul complet la periferice. Un terminal WebOP poate înlocui o combinație de tabletă, computer și controler Android.

HMI Designer, în ciuda designului său arhaic, este destul de avansat. Fără abilități speciale de programare, puteți schița rapid o interfață de lucru. Articolul nu discută toate blocurile grafice, dintre care există o mulțime: conducte animate, cilindri, grafice, comutatoare basculante. Acceptă multe controlere industriale populare din cutie și conține conectori pentru baze de date.

referințe

WebAccess/HMI Designer și mediul de dezvoltare Runtime pot fi descărcate aici

Surse ale proiectului panoului de control Habr

Sursa: www.habr.com

Adauga un comentariu