Pannello di controllo Habr basato su HMI di Advantech


Video: Console di amministrazione Habr. Ti consente di regolare il karma, la valutazione e il ban degli utenti.

TL; DR: In questo articolo proverò a creare un pannello di controllo Habr comico utilizzando l'ambiente di sviluppo dell'interfaccia industriale Webaccess/HMI Designer e il terminale WebOP.

L'interfaccia uomo-macchina (HMI) è un insieme di sistemi per l'interazione umana con macchine controllate. Tipicamente questo termine viene applicato agli impianti industriali che dispongono di un operatore e di un pannello di controllo.

WebOP — un terminale industriale autonomo per la creazione di interfacce uomo-macchina. Utilizzato per creare pannelli di controllo della produzione, sistemi di monitoraggio, sale di controllo, controller per la casa intelligente, ecc. Supporta la connessione diretta alle apparecchiature industriali e può funzionare come parte di un sistema SCADA.

Terminale WebOP: hardware

Pannello di controllo Habr basato su HMI di AdvantechIl terminale WebOP è un computer a basso consumo basato su un processore ARM, in un unico caso con monitor e touchscreen, progettato per eseguire un programma con un'interfaccia grafica creata in HMI Designer. A seconda del modello, i terminali dispongono a bordo di diverse interfacce industriali: RS-232/422/485, CAN bus per il collegamento a sistemi automobilistici, porta USB Host per il collegamento di periferiche aggiuntive, porta USB Client per il collegamento del terminale ad un computer, porta audio ingresso e uscita audio, lettore di schede MicroSD per memoria non volatile e trasferimento delle impostazioni.

I dispositivi sono posizionati come sostituti economici dei PC all-in-one, per attività che non richiedono processori potenti e le risorse di un computer desktop a tutti gli effetti. WebOP può funzionare come terminale autonomo per il controllo e l'input/output dei dati, abbinato ad altri WebOP o come parte di un sistema SCADA.

Pannello di controllo Habr basato su HMI di Advantech
Il terminale WebOP può connettersi direttamente ai dispositivi industriali

Raffreddamento passivo e protezione IP66

A causa della bassa dissipazione del calore, alcuni modelli WebOP sono progettati interamente senza raffreddamento ad aria attivo. Ciò consente di montare i dispositivi in ​​aree sensibili ai livelli di rumore e riduce la quantità di polvere che penetra all'interno dell'alloggiamento.

Il pannello frontale è realizzato senza fessure o giunture, ha un grado di protezione IP66 e consente l'ingresso diretto di acqua in pressione.

Pannello di controllo Habr basato su HMI di Advantech
Pannello posteriore del terminale WOP-3100T

Memoria non volatile

Per evitare la perdita di dati, WebOP dispone di 128 KB di memoria non volatile, con la quale si può lavorare come con la RAM. Può memorizzare letture dei contatori e altri dati critici. In caso di interruzione di corrente, i dati verranno salvati e ripristinati dopo un riavvio.

Aggiornamento remoto

Il programma in esecuzione sul terminale può essere aggiornato da remoto tramite rete Ethernet o tramite interfacce seriali RS-232/485. Ciò semplifica la manutenzione, poiché elimina la necessità di recarsi su tutti i terminali per aggiornare il software.

Modelli WebOP

Pannello di controllo Habr basato su HMI di Advantech
Serie 2000T - i dispositivi più convenienti costruiti sulla base del sistema operativo in tempo reale HMI RTOS. La serie è rappresentata da WebOP-2040T/2070T/2080T/2100T, con diagonali dello schermo rispettivamente di 4,3 pollici, 7 pollici, 8 pollici e 10.1 pollici.

Pannello di controllo Habr basato su HMI di Advantech
Serie 3000T — modelli più avanzati basati sul sistema operativo Windows CE. Si differenziano dalla serie 2000T per un gran numero di interfacce hardware e dispongono di un'interfaccia CAN a bordo. I dispositivi funzionano in un intervallo di temperature esteso (-20~60°C) e sono dotati di protezione antistatica (Aria: 15 KV/Contatto: 8 KV). La linea soddisfa pienamente i requisiti dello standard IEC-61000, che consente l'utilizzo dei dispositivi nella produzione di semiconduttori dove le scariche statiche rappresentano un problema. La serie è rappresentata da WebOP-3070T/3100T/3120T, con diagonali dello schermo rispettivamente di 7 pollici, 10.1 pollici e 12.1 pollici.

Ambiente di sviluppo WebAccess/HMI Designer

Fuori dagli schemi, il terminale WebOP è semplicemente un computer ARM a basso consumo su cui è possibile eseguire qualsiasi software, ma il punto centrale di questa soluzione è l'ambiente di sviluppo dell'interfaccia industriale proprietario WebAcess/HMI. Il sistema è composto da due componenti:

  • Progettista HMI — ambiente per lo sviluppo di interfacce e logica di programmazione. Funziona sotto Windows sul computer del programmatore. Il programma finale viene compilato in un file e trasferito al terminale per l'esecuzione in fase di runtime. Il programma è disponibile in russo.
  • Tempo di esecuzione dell'HMI — runtime per eseguire il programma compilato sul terminale finale. Può funzionare non solo su terminali WebOP, ma anche su Advantech UNO, MIC e normali computer desktop. Esistono versioni runtime per Linux, Windows, Windows CE.

Pannello di controllo Habr basato su HMI di Advantech

Ciao mondo: creazione di un progetto

Iniziamo a creare un'interfaccia di prova per il nostro pannello di controllo Habr. Eseguirò il programma sul terminale WebOP-3100T eseguire WinCE. Per prima cosa creiamo un nuovo progetto in HMI Designer. Per eseguire un programma su WebOP è importante selezionare il modello corretto, da questo dipenderà il formato del file finale. In questo passaggio puoi anche selezionare l'architettura desktop, quindi il file finale verrà compilato per il runtime X86.

Pannello di controllo Habr basato su HMI di Advantech
Creare un nuovo progetto e scegliere un'architettura

Selezione del protocollo di comunicazione attraverso il quale il programma compilato verrà caricato in WebOP. In questa fase è possibile selezionare un'interfaccia seriale o specificare l'indirizzo IP del terminale.
Pannello di controllo Habr basato su HMI di Advantech

Interfaccia di creazione del progetto. Sul lato sinistro c'è un diagramma ad albero dei componenti del futuro programma. Per ora ci interessa solo la voce Schermate, si tratta direttamente delle schermate con gli elementi dell'interfaccia grafica che verranno visualizzate sul terminale.

Pannello di controllo Habr basato su HMI di Advantech

Innanzitutto, creiamo due schermate con il testo "Hello World" e la possibilità di passare dall'una all'altra utilizzando i pulsanti. Per fare ciò, aggiungeremo una nuova schermata, Schermata n. 2, e su ciascuna schermata aggiungeremo un elemento di testo e due pulsanti per passare da una schermata all'altra (Pulsanti schermo). Configuriamo ciascun pulsante per passare alla schermata successiva.
Pannello di controllo Habr basato su HMI di Advantech
Interfaccia per impostare il pulsante per passare da una schermata all'altra

Il programma Hello World è pronto, ora puoi compilarlo ed eseguirlo. In fase di compilazione potrebbero verificarsi errori in caso di variabili o indirizzi specificati in modo errato. Qualsiasi errore è considerato fatale; il programma verrà compilato solo se non sono presenti errori.
L'ambiente offre la possibilità di simulare un terminale in modo da poter eseguire il debug del programma sul tuo computer localmente. Esistono due tipi di simulazione:

  • Simulazione in linea — verranno utilizzate tutte le fonti di dati esterne specificate nel programma. Possono essere USO o dispositivi collegati tramite interfacce seriali o Modbus TCP.
  • Simulazione offline — simulazione senza l'utilizzo di dispositivi esterni.

Pur non disponendo di dati esterni, utilizziamo la simulazione offline, avendo precedentemente compilato il programma. Il programma finale si troverà nella cartella del progetto, con il nome NomeProgetto_NomeProgramma.px3

Pannello di controllo Habr basato su HMI di Advantech
Il programma in esecuzione nella simulazione può essere controllato con il cursore del mouse proprio come sul touchscreen di un terminale WebOP. Vediamo che tutto funziona come previsto. Grande.
Per scaricare il programma su un terminale fisico basta cliccare sul pulsante Download. Ma poiché non ho configurato la connessione del terminale all'ambiente di sviluppo, puoi semplicemente trasferire il file utilizzando una chiavetta USB o una scheda di memoria MicroSD.
Pannello di controllo Habr basato su HMI di Advantech
L'interfaccia del programma è intuitiva, non esaminerò ogni blocco grafico. Creare sfondi, forme e testo sarà chiaro a chiunque abbia utilizzato programmi simili a Word. Per creare un'interfaccia grafica non sono necessarie competenze di programmazione; tutti gli elementi si aggiungono trascinando il mouse sul form.

Lavorare con la memoria

Ora che sappiamo come creare elementi grafici, impariamo a lavorare con contenuti dinamici e un linguaggio di scripting. Creiamo un grafico a barre che mostra i dati di una variabile U $ 100. Nelle impostazioni del grafico, seleziona il tipo di dati: intero a 16 bit e l'intervallo dei valori del grafico: da 0 a 10.

Pannello di controllo Habr basato su HMI di Advantech

Il programma supporta la scrittura di script in tre linguaggi: VBScript, JavaScript e il proprio linguaggio. Utilizzerò la terza opzione perché ci sono esempi nella documentazione e una guida automatica per la sintassi direttamente nell'editor.

Aggiungiamo una nuova macro:

Pannello di controllo Habr basato su HMI di Advantech

Scriviamo del semplice codice per modificare in modo incrementale i dati in una variabile che può essere tracciata su un grafico. Aggiungeremo 10 alla variabile e la reimposteremo su zero quando sarà maggiore di 100.

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

Per eseguire lo script in un ciclo, impostarlo nelle impostazioni di Configurazione generale come Macro principale, con un intervallo di esecuzione di 250 ms.

Pannello di controllo Habr basato su HMI di Advantech
Compiliamo ed eseguiamo il programma nel simulatore:

Pannello di controllo Habr basato su HMI di Advantech

In questa fase, abbiamo imparato a manipolare i dati in memoria e a visualizzarli visivamente. Questo è già sufficiente per realizzare un semplice sistema di monitoraggio, ricevendo dati da dispositivi esterni (sensori, controller) e registrandoli in memoria. In HMI Designer sono disponibili diversi blocchi di visualizzazione dati: sotto forma di quadranti circolari con frecce, vari diagrammi e grafici. Utilizzando gli script JavaScript è possibile scaricare dati da fonti esterne tramite HTTP.

Pannello di controllo Habr

Utilizzando le competenze acquisite, creeremo un'interfaccia a fumetti per la console di amministrazione di Habr.

Pannello di controllo Habr basato su HMI di Advantech

Il nostro telecomando dovrebbe essere in grado di:

  • Cambia profilo utente
  • Memorizza karma e dati di valutazione
  • Modifica i valori di karma e valutazione utilizzando i cursori
  • Quando fai clic sul pulsante "ban", il profilo dovrebbe essere contrassegnato come bannato, l'avatar dovrebbe cambiare in barrato

Visualizzeremo ciascun profilo su una pagina separata, quindi creeremo una pagina per ciascun profilo. Memorizzeremo karma e valutazione in variabili locali in memoria, che verranno inizializzate utilizzando la macro di installazione all'avvio del programma.

Pannello di controllo Habr basato su HMI di Advantech
L'immagine è cliccabile

Regolazione del karma e della valutazione

Per regolare il karma utilizzeremo lo slider (Slide Switch). Specifichiamo la variabile inizializzata nella Macro di installazione come indirizzo di registrazione. Limitiamo l'intervallo dei valori del cursore da 0 a 1500. Ora, quando il cursore si sposta, i nuovi dati verranno scritti in memoria. In questo caso lo stato iniziale dello slider corrisponderà ai valori della variabile in memoria.

Pannello di controllo Habr basato su HMI di Advantech
Per visualizzare i valori numerici di karma e valutazione, utilizzeremo l'elemento Visualizzazione numerica. Il principio del suo funzionamento è simile al diagramma del programma di esempio "Hello World", indichiamo semplicemente l'indirizzo della variabile in Monitor Address.

Pulsante Divieto

Il pulsante "ban" viene implementato utilizzando l'elemento Toggle Switch. Il principio della memorizzazione dei dati è simile agli esempi sopra. Nelle impostazioni è possibile selezionare testo, colore o immagine diversi, a seconda dello stato del pulsante.

Pannello di controllo Habr basato su HMI di Advantech
Quando si preme il pulsante, l'avatar dovrebbe essere barrato in rosso. Questo è facile da implementare utilizzando il blocco Visualizzazione immagine. Ti consente di specificare più immagini associate allo stato del pulsante Alterna. A tale scopo al blocco viene assegnato lo stesso indirizzo del blocco con il pulsante e il numero di stati. L'immagine con le targhette sotto l'avatar è impostata in modo simile.

Pannello di controllo Habr basato su HMI di Advantech

conclusione

Nel complesso, il prodotto mi è piaciuto. In precedenza, avevo esperienza nell'utilizzo di un tablet Android per attività simili, ma sviluppare un'interfaccia è molto più difficile e le API del browser non consentono l'accesso completo alle periferiche. Un terminale WebOP può sostituire una combinazione di tablet Android, computer e controller.

HMI Designer, nonostante il suo design arcaico, è piuttosto avanzato. Senza particolari competenze di programmazione, puoi rapidamente abbozzare un'interfaccia funzionante. L'articolo non tratta tutti i blocchi grafici, di cui ce ne sono molti: tubi animati, cilindri, grafici, interruttori a levetta. Supporta immediatamente molti dei controller industriali più diffusi e contiene connettori di database.

riferimenti

È possibile scaricare WebAccess/HMI Designer e l'ambiente di sviluppo Runtime qui

Fonti del progetto del pannello di controllo Habr

Fonte: habr.com

Aggiungi un commento