Video: Habr admin console. Permette di regulà u karma, a valutazione è a pruibizione di l'utilizatori.
TL; DR: In issu articulu I vi pruvà à creà un pannellu di cuntrollu Habr còmicu cù u Webaccess / HMI Designer ambiente di sviluppu interfaccia industriale è u tirminali WebOP.
L'interfaccia uomo-macchina (HMI) hè un inseme di sistemi per l'interazzione umana cù e macchine cuntrullate. Di genere, stu terminu hè appiicatu à i sistemi industriali chì anu un operatore è un pannellu di cuntrollu.
WebOP - un terminal industriale autonomu per creà interfacce uomo-macchina. Adupratu per creà pannelli di cuntrollu di produzzione, sistemi di surviglianza, sale di cuntrollu, cuntrolli intelligenti di casa, etc. Supporta a cunnessione diretta à l'equipaggiu industriale è pò travaglià cum'è parte di un sistema SCADA.
WebOP terminal - hardware
U terminal WebOP hè un computer di bassa putenza basatu annantu à un processore ARM, in un casu unicu cù un monitor è touchscreen, cuncepitu per eseguisce un prugramma cù una interfaccia grafica creata in HMI Designer. Sicondu u mudellu, i terminali anu diverse interfacce industriali à bordu: RS-232/422/485, bus CAN per cunnette à i sistemi di l'automobile, portu USB Host per cunnette periferiche supplementari, portu USB Client per cunnette u terminal à un computer, audio. input è output audio, lettore di carte MicroSD per memoria non volatile è trasferimentu di paràmetri.
I dispusitivi sò posizionati cum'è un rimpiazzamentu di u budgetu per i PC all-in-one, per i travaglii chì ùn anu micca bisognu di processori putenti è e risorse di un computer desktop full-fledged. WebOP pò travaglià cum'è un terminal standalone per u cuntrollu è l'input / output di dati, assuciatu cù altri WebOP, o cum'è parte di un sistema SCADA.
U terminal WebOP pò cunnette direttamente à i dispositi industriali
Raffreddamentu passivu è prutezzione IP66
A causa di a bassa dissipazione di calore, certi mudelli WebOP sò cuncepiti interamente senza rinfrescante di l'aire attivu. Questu permette chì i dispositi sò muntati in spazii chì sò sensibili à i livelli di rumore è riduce a quantità di polvera chì entra in l'abitazione.
U pannellu frontale hè fattu senza spazii o articuli, hà un livellu di prutezzione IP66, è permette l'entrata diretta di l'acqua sottu pressione.
Pannellu posteriore di u terminal WOP-3100T
Memoria non volatile
Per prevene a perdita di dati, WebOP hà 128Kb di memoria non volatile, chì pò esse travagliatu cù a stessa manera di RAM. Puderà almacenà letture di metru è altre dati critichi. In casu di fallimentu di energia, i dati seranu salvati è restaurati dopu un reboot.
Actualizazione remota
U prugramma in esecuzione nantu à u terminal pò esse aghjurnatu remotamente via una reta Ethernet o via interfacce seriali RS-232/485. Questu simplifica u mantenimentu, postu chì elimina a necessità di andà in tutti i terminali per aghjurnà u software.
Modelli WebOP
Ambiente di sviluppu WebAccess/HMI Designer
Fora di a scatula, u terminal WebOP hè solu un computer ARM di bassa putenza nantu à quale pudete eseguisce qualsiasi software, ma u puntu tutale di sta suluzione hè l'ambiente di sviluppu di l'interfaccia industriale WebAcess / HMI proprietariu. U sistema hè custituitu da dui cumpunenti:
- Designer HMI - ambiente per sviluppà interfacce è logica di prugrammazione. Funziona sottu Windows nantu à l'urdinatore di u programatore. U prugramma finali hè cumpilatu in un schedariu è trasferitu à u terminal per esse esecutatu in runtime. U prugramma hè dispunibule in russo.
- Runtime HMI - runtime per eseguisce u prugramma compilatu nantu à u terminal finali. Pò travaglià micca solu nantu à i terminali WebOP, ma ancu in Advantech UNO, MIC è ordinatori di scrittura regulare. Ci sò versioni runtime per Linux, Windows, Windows CE.
Hello world - crià un prughjettu
Cuminciamu à creà una interfaccia di prova per u nostru pannellu di cuntrollu Habr. Eseguirà u prugramma nantu à u terminal
Crià un novu prughjettu è sceglie una architettura
Selezziunate u protocolu di cumunicazione attraversu quale u prugramma compilatu serà caricatu in WebOP. À questu passu, pudete selezziunate una interfaccia seriale, o specificà l'indirizzu IP di u terminal.
Interfaccia di creazione di prughjettu. À u latu manca ci hè un diagramma di l'arburu di i cumpunenti di u prugramma futuru. Per avà, simu interessate solu in l'elementu Screens, questi sò direttamente i schermi cù elementi di l'interfaccia grafica chì seranu affissati nantu à u terminal.
Prima, creamu dui schermi cù u testu "Hello World" è a capacità di cambià trà elli cù i buttoni. Per fà questu, aghjunghje una nova schermu, Screen #2, è nantu à ogni schermu aghjunghje un elementu di testu è dui buttoni per cambià trà schermi (Screen Buttons). Cunfiguremu ogni buttone per passà à a pantalla successiva.
Interfaccia per stabilisce u buttone per cambià trà schermi
U prugramma Hello World hè prontu, avà pudete cumpilà è eseguisce. À a fase di compilazione pò esse errori in casu di variabili o indirizzi specificati incorrectamente. Ogni errore hè cunsideratu fatale; u prugramma serà compilatu solu s'ellu ùn ci hè micca errore.
L'ambiente furnisce l'abilità di simulà un terminal in modu chì pudete debug u prugramma in u vostru urdinatore in u locu. Ci hè dui tipi di simulazione:
- Simulazione in linea - tutte e fonti di dati esterni specificate in u prugramma seranu aduprate. Quessi ponu esse USO o dispusitivi cunnessi via interfacce seriali o Modbus TCP.
- Simulazione offline - simulazione senza l'usu di dispusitivi esterni.
Mentre ùn avemu micca dati esterni, usemu a simulazione offline, avè compilatu prima u prugramma. U prugramma finale serà situatu in u cartulare di u prughjettu, cù u nome ProjectName_ProgramName.px3
U prugramma in esecuzione in a simulazione pò esse cuntrullata cù u cursore di u mouse in a listessa manera chì seria nantu à u touchscreen di un terminal WebOP. Avemu vistu chì tuttu funziona cum'è destinatu. Perfettu.
Per scaricà u prugramma à un terminal fisicu, basta à cliccà u buttone Scaricate. Ma postu chì ùn aghju micca cunfigurà a cunnessione di u terminal à l'ambiente di sviluppu, pudete solu trasfiriri u schedariu cù una unità flash USB o una carta di memoria MicroSD.
L'interfaccia di u prugramma hè intuitiva, ùn passeraghju micca per ogni blocu graficu. A creazione di sfondi, forme è testu serà chjaru per quellu chì hà utilizatu prugrammi simili à Word. Per creà una interfaccia grafica, ùn ci hè micca bisognu di cumpetenze di prugrammazione; tutti l'elementi sò aghjuntu trascinendu u mouse nantu à a forma.
U travagliu cù a memoria
Avà chì sapemu cumu creà elementi grafici, imparemu à travaglià cun cuntenutu dinamicu è una lingua di scrittura. Creemu un graficu à barre chì mostra dati da una variabile U $ 100. In i paràmetri di u graficu, selezziunate u tipu di dati: integer 16-bit, è a gamma di valori di u graficu: da 0 à 10.
U prugramma supporta scrittura di scrittura in trè lingue: VBScript, JavaScript è a so propria lingua. Aduprà a terza opzione perchè ci sò esempi per questu in a documentazione è l'aiutu di sintassi automatica ghjustu in l'editore.
Aghjunghjemu una nova macro:
Scrivemu un codice simplice per cambià in modu incrementale e dati in una variàbile chì pò esse tracciata nantu à un graficu. Avemu aghjunghje 10 à a variàbile, è resettate à cero quandu hè più grande di 100.
$U100=$U100+10
IF $U100>100
$U100=0
ENDIF
Per eseguisce u script in un loop, mette in i paràmetri General Setup cum'è Macro Principale, cù un intervallu di esecuzione di 250ms.
Cumpilemu è eseguite u prugramma in u simulatore:
À questu stadiu, avemu amparatu à manipulà e dati in memoria è vede visualmente. Questu hè digià abbastanza per creà un sistema di surviglianza simplice, riceve dati da i dispositi esterni (sensori, cuntrolli) è arregistrendu in memoria. In HMI Designer, sò dispunibuli diversi blocchi di visualizazione di dati: in forma di quadranti circulari cù frecce, diversi grafici è grafici. Utilizendu script JavaScript, pudete scaricà dati da fonti esterni via HTTP.
Pannellu di cuntrollu Habr
Utilizendu e cumpetenze acquistate, faremu una interfaccia comica per a cunsola di amministrazione Habr.
U nostru cuntrollu remoto deve esse capace di:
- Cambia i profili d'utilizatori
- Store karma è dati di valutazione
- Cambia i valori di karma è di valutazione usendu sliders
- Quandu clicate u buttone "ban", u prufilu deve esse marcatu cum'è pruibitu, l'avatar deve cambià à sbarratu.
Fighjemu ogni prufilu in una pagina separata, cusì creeremu una pagina per ogni prufilu. Almaceneremu karma è valutazione in variabili lucali in memoria, chì serà inizializatu cù Setup Macro quandu u prugramma principia.
Ajustamentu di karma è rating
Per aghjustà u karma useremu u slider (Slide Switch). Specificemu a variabile inizializzata in Setup Macro cum'è l'indirizzu di registrazione. Limitemu a gamma di valori di slider da 0 à 1500. Avà, quandu u slider si move, novi dati seranu scritti in memoria. In questu casu, u statu iniziale di u slider currisponde à i valori di a variabile in memoria.
Per visualizà i valori numerichi di karma è valutazione, useremu l'elementu di visualizazione numerica. U principiu di u so funziunamentu hè simile à u diagramma di l'esempiu di u prugramma "Hello World"; avemu solu indicà l'indirizzu di a variabile in Monitor Address.
buttone Ban
U buttone "ban" hè implementatu cù l'elementu Toggle Switch. U principiu di almacenamiento di dati hè simile à l'esempii sopra. In i paràmetri, pudete selezziunà diverse testu, culore o imagine, secondu u statu di u buttone.
Quandu u buttone hè pressatu, l'avatar deve esse sbarratu in rossu. Questu hè faciule da implementà cù u bloccu Picture Display. Permette di specificà parechje imagine assuciate cù u statu di u buttone Toggle Switch. Per fà questu, u bloccu hè datu u listessu indirizzu cum'è u bloccu cù u buttone è u numeru di stati. L'imaghjini cù targhette sottu à l'avatar hè stallatu in modu simili.
cunchiusioni
In generale, mi piace u pruduttu. Nanzu, aghju avutu l'esperienze di utilizà una tableta Android per travaglii simili, ma u sviluppu di una interfaccia per questu hè assai più difficiule, è l'API di u navigatore ùn permettenu micca un accessu sanu à i periferichi. Un terminal WebOP pò rimpiazzà una cumminazione di una tableta Android, computer è controller.
HMI Designer, malgradu u so disignu arcaicu, hè abbastanza avanzatu. Senza cumpetenze di prugrammazione speciale, pudete abbozzà rapidamente una interfaccia di travagliu. L'articulu ùn discute micca tutti i blocchi grafichi, di quale ci sò assai: pipi animati, cilindri, grafici, switches. Supporta parechji cuntrolli industriali populari fora di a scatula è cuntene connettori di basa di dati.
referenze
WebAccess / HMI Designer è l'ambiente di sviluppu Runtime ponu esse scaricati
→
Source: www.habr.com