Habr-Bedienfeld basierend auf HMI von Advantech


Video: Habr-Administratorkonsole. Ermöglicht Ihnen, Karma zu regulieren, Benutzer zu bewerten und zu sperren.

TL; DR: In diesem Artikel werde ich versuchen, ein Comic-Habr-Bedienfeld mit der Entwicklungsumgebung für die Industrieschnittstelle Webaccess/HMI Designer und dem WebOP-Terminal zu erstellen.

Bei der Mensch-Maschine-Schnittstelle (HMI) handelt es sich um eine Reihe von Systemen für die menschliche Interaktion mit gesteuerten Maschinen. Typischerweise wird dieser Begriff für Industriesysteme verwendet, die über einen Bediener und ein Bedienfeld verfügen.

WebOP — ein autonomes Industrieterminal zur Erstellung von Mensch-Maschine-Schnittstellen. Wird zur Erstellung von Produktionsschalttafeln, Überwachungssystemen, Kontrollräumen, Smart-Home-Controllern usw. verwendet. Unterstützt den direkten Anschluss an Industrieanlagen und kann als Teil eines SCADA-Systems arbeiten.

WebOP-Terminal – Hardware

Habr-Bedienfeld basierend auf HMI von AdvantechDas WebOP-Terminal ist ein stromsparender Computer auf Basis eines ARM-Prozessors in einem einzigen Gehäuse mit Monitor und Touchscreen, der für die Ausführung eines Programms mit einer in HMI Designer erstellten grafischen Oberfläche konzipiert ist. Je nach Modell verfügen die Terminals über verschiedene Industrieschnittstellen an Bord: RS-232/422/485, CAN-Bus zum Anschluss an Automotive-Systeme, USB-Host-Port zum Anschluss weiterer Peripheriegeräte, USB-Client-Port zum Anschluss des Terminals an einen Computer, Audio Eingang und Audioausgang, MicroSD-Kartenleser für nichtflüchtigen Speicher und Einstellungsübertragung.

Die Geräte sind als preisgünstiger Ersatz für All-in-One-PCs positioniert, für Aufgaben, die keine leistungsstarken Prozessoren und die Ressourcen eines vollwertigen Desktop-Computers erfordern. WebOP kann als eigenständiges Terminal zur Steuerung und Dateneingabe/-ausgabe, gepaart mit anderen WebOPs oder als Teil eines SCADA-Systems arbeiten.

Habr-Bedienfeld basierend auf HMI von Advantech
Das WebOP-Terminal kann direkt mit Industriegeräten verbunden werden

Passive Kühlung und IP66-Schutz

Aufgrund der geringen Wärmeableitung sind einige WebOP-Modelle komplett ohne aktive Luftkühlung konzipiert. Dies ermöglicht die Montage der Geräte in geräuschempfindlichen Bereichen und reduziert die Staubansammlung im Inneren des Gehäuses.

Die Frontplatte ist fugen- und fugenlos gefertigt, verfügt über die Schutzart IP66 und ermöglicht das direkte Eindringen von Wasser unter Druck.

Habr-Bedienfeld basierend auf HMI von Advantech
Rückseite des WOP-3100T-Terminals

Nichtflüchtiger Speicher

Um Datenverlust zu verhindern, verfügt WebOP über 128 KB nichtflüchtigen Speicher, mit dem wie mit RAM gearbeitet werden kann. Es kann Zählerstände und andere kritische Daten speichern. Bei einem Stromausfall werden die Daten gespeichert und nach einem Neustart wiederhergestellt.

Remote-Update

Das auf dem Terminal laufende Programm kann über ein Ethernet-Netzwerk oder über die seriellen RS-232/485-Schnittstellen aus der Ferne aktualisiert werden. Dies vereinfacht die Wartung, da es nicht mehr erforderlich ist, alle Terminals aufzusuchen, um die Software zu aktualisieren.

WebOP-Modelle

Habr-Bedienfeld basierend auf HMI von Advantech
2000T-Serie - die günstigsten Geräte, die auf dem Echtzeitbetriebssystem HMI RTOS basieren. Die Serie wird vertreten durch WebOP-2040T/2070T/2080T/2100T, mit Bildschirmdiagonalen von 4,3 Zoll, 7 Zoll, 8 Zoll bzw. 10.1 Zoll.

Habr-Bedienfeld basierend auf HMI von Advantech
3000T-Serie — fortgeschrittenere Modelle, die auf dem Betriebssystem Windows CE basieren. Sie unterscheiden sich von der 2000T-Serie durch eine Vielzahl an Hardware-Schnittstellen und haben eine CAN-Schnittstelle an Bord. Die Geräte arbeiten in einem erweiterten Temperaturbereich (-20~60°C) und verfügen über einen antistatischen Schutz (Luft: 15KV/Kontakt: 8KV). Die Linie erfüllt vollständig die Anforderungen der Norm IEC-61000, was den Einsatz der Geräte in der Halbleiterfertigung ermöglicht, wo statische Entladung ein Problem darstellt. Die Serie wird vertreten durch WebOP-3070T/3100T/3120T, mit Bildschirmdiagonalen von 7 Zoll, 10.1 Zoll bzw. 12.1 Zoll.

WebAccess/HMI Designer-Entwicklungsumgebung

Im Auslieferungszustand ist das WebOP-Terminal nur ein ARM-Computer mit geringem Stromverbrauch, auf dem Sie jede Software ausführen können. Der Kern dieser Lösung ist jedoch die proprietäre WebAcess/HMI-Entwicklungsumgebung für industrielle Schnittstellen. Das System besteht aus zwei Komponenten:

  • HMI-Designer — Umgebung zur Entwicklung von Schnittstellen und Programmierlogik. Läuft unter Windows auf dem Computer des Programmierers. Das endgültige Programm wird in einer Datei kompiliert und zur Laufzeit zur Ausführung auf das Terminal übertragen. Das Programm ist auf Russisch verfügbar.
  • HMI-Runtime – Laufzeit zum Ausführen des kompilierten Programms auf dem endgültigen Terminal. Es funktioniert nicht nur auf WebOP-Terminals, sondern auch auf Advantech UNO, MIC und normalen Desktop-Computern. Es gibt Laufzeitversionen für Linux, Windows, Windows CE.

Habr-Bedienfeld basierend auf HMI von Advantech

Hallo Welt – ein Projekt erstellen

Beginnen wir mit der Erstellung einer Testschnittstelle für unser Habr-Bedienfeld. Ich werde das Programm auf dem Terminal ausführen WebOP-3100T Ausführen von WinCE. Erstellen wir zunächst ein neues Projekt im HMI Designer. Um ein Programm auf WebOP auszuführen, ist es wichtig, das richtige Modell auszuwählen; das Format der endgültigen Datei hängt davon ab. In diesem Schritt können Sie auch die Desktop-Architektur auswählen, dann wird die endgültige Datei für die X86-Laufzeit kompiliert.

Habr-Bedienfeld basierend auf HMI von Advantech
Ein neues Projekt erstellen und eine Architektur auswählen

Auswahl des Kommunikationsprotokolls, über das das kompilierte Programm in WebOP geladen wird. In diesem Schritt können Sie eine serielle Schnittstelle auswählen oder die IP-Adresse des Terminals angeben.
Habr-Bedienfeld basierend auf HMI von Advantech

Schnittstelle zur Projekterstellung. Auf der linken Seite befindet sich ein Baumdiagramm der Komponenten des zukünftigen Programms. Im Moment interessiert uns nur der Punkt „Bildschirme“, dabei handelt es sich direkt um die Bildschirme mit grafischen Oberflächenelementen, die auf dem Terminal angezeigt werden.

Habr-Bedienfeld basierend auf HMI von Advantech

Erstellen wir zunächst zwei Bildschirme mit dem Text „Hello World“ und der Möglichkeit, mithilfe von Schaltflächen zwischen ihnen zu wechseln. Dazu fügen wir einen neuen Bildschirm, Bildschirm Nr. 2, hinzu und fügen auf jedem Bildschirm ein Textelement und zwei Schaltflächen zum Wechseln zwischen Bildschirmen (Bildschirmschaltflächen) hinzu. Lassen Sie uns jede Schaltfläche so konfigurieren, dass sie zum nächsten Bildschirm wechselt.
Habr-Bedienfeld basierend auf HMI von Advantech
Schnittstelle zum Einstellen der Schaltfläche zum Wechseln zwischen Bildschirmen

Das Hello World-Programm ist fertig, jetzt können Sie es kompilieren und ausführen. Bei der Kompilierung kann es bei falsch angegebenen Variablen oder Adressen zu Fehlern kommen. Jeder Fehler gilt als schwerwiegend; das Programm wird nur dann kompiliert, wenn keine Fehler vorliegen.
Die Umgebung bietet die Möglichkeit, ein Terminal zu simulieren, sodass Sie das Programm lokal auf Ihrem Computer debuggen können. Es gibt zwei Arten von Simulationen:

  • Online-Simulation — Es werden alle im Programm angegebenen externen Datenquellen verwendet. Dies können USOs oder über serielle Schnittstellen oder Modbus TCP angeschlossene Geräte sein.
  • Offline-Simulation — Simulation ohne Verwendung externer Geräte.

Obwohl wir keine externen Daten haben, verwenden wir eine Offline-Simulation, nachdem wir das Programm zuvor kompiliert haben. Das endgültige Programm befindet sich im Projektordner mit dem Namen Projektname_Programmname.px3

Habr-Bedienfeld basierend auf HMI von Advantech
Das in der Simulation laufende Programm kann mit dem Mauszeiger genauso gesteuert werden wie mit dem Touchscreen eines WebOP-Terminals. Wir sehen, dass alles wie vorgesehen funktioniert. Großartig.
Um das Programm auf ein physisches Terminal herunterzuladen, klicken Sie einfach auf die Schaltfläche „Herunterladen“. Da ich die Anbindung des Terminals an die Entwicklungsumgebung aber nicht konfiguriert habe, kann man die Datei einfach per USB-Stick oder MicroSD-Speicherkarte übertragen.
Habr-Bedienfeld basierend auf HMI von Advantech
Die Programmoberfläche ist intuitiv, ich werde nicht jeden Grafikblock durchgehen. Das Erstellen von Hintergründen, Formen und Texten wird jedem klar sein, der bereits mit Word-ähnlichen Programmen gearbeitet hat. Um eine grafische Oberfläche zu erstellen, sind keine Programmierkenntnisse erforderlich; alle Elemente werden durch Ziehen mit der Maus auf das Formular hinzugefügt.

Arbeiten mit dem Gedächtnis

Nachdem wir nun wissen, wie man grafische Elemente erstellt, lernen wir, wie man mit dynamischen Inhalten und einer Skriptsprache arbeitet. Lassen Sie uns ein Balkendiagramm erstellen, das Daten aus einer Variablen anzeigt U $ 100. Wählen Sie in den Diagrammeinstellungen den Datentyp: 16-Bit-Ganzzahl und den Bereich der Diagrammwerte: von 0 bis 10.

Habr-Bedienfeld basierend auf HMI von Advantech

Das Programm unterstützt das Schreiben von Skripten in drei Sprachen: VBScript, JavaScript und einer eigenen Sprache. Ich werde die dritte Option verwenden, da es dafür Beispiele in der Dokumentation und automatische Syntaxhilfe direkt im Editor gibt.

Fügen wir ein neues Makro hinzu:

Habr-Bedienfeld basierend auf HMI von Advantech

Schreiben wir einen einfachen Code, um Daten in einer Variablen, die in einem Diagramm verfolgt werden kann, schrittweise zu ändern. Wir addieren 10 zur Variablen und setzen sie auf Null zurück, wenn sie größer als 100 ist.

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

Um das Skript in einer Schleife auszuführen, legen Sie es in den allgemeinen Setup-Einstellungen als Hauptmakro mit einem Ausführungsintervall von 250 ms fest.

Habr-Bedienfeld basierend auf HMI von Advantech
Lassen Sie uns das Programm kompilieren und im Simulator ausführen:

Habr-Bedienfeld basierend auf HMI von Advantech

In diesem Stadium haben wir gelernt, Daten im Speicher zu manipulieren und visuell anzuzeigen. Dies reicht bereits aus, um ein einfaches Überwachungssystem zu erstellen, das Daten von externen Geräten (Sensoren, Controller) empfängt und im Speicher aufzeichnet. Im HMI Designer stehen verschiedene Datenanzeigeblöcke zur Verfügung: in Form von Rundskalen mit Pfeilen, verschiedenen Diagrammen und Grafiken. Mithilfe von JavaScript-Skripten können Sie Daten von externen Quellen über HTTP herunterladen.

Habr-Bedienfeld

Mit den erworbenen Fähigkeiten werden wir eine Comic-Oberfläche für die Habr-Administratorkonsole erstellen.

Habr-Bedienfeld basierend auf HMI von Advantech

Unsere Fernbedienung sollte in der Lage sein:

  • Benutzerprofile wechseln
  • Speichern Sie Karma- und Bewertungsdaten
  • Ändern Sie Karma- und Bewertungswerte mithilfe von Schiebereglern
  • Wenn Sie auf die Schaltfläche „Verbieten“ klicken, sollte das Profil als gesperrt markiert werden und der Avatar sollte durchgestrichen angezeigt werden

Wir zeigen jedes Profil auf einer separaten Seite an, sodass wir für jedes Profil eine Seite erstellen. Wir werden Karma und Bewertung in lokalen Variablen im Speicher speichern, die beim Start des Programms mit dem Setup-Makro initialisiert werden.

Habr-Bedienfeld basierend auf HMI von Advantech
Das Bild ist anklickbar

Karma und Bewertung anpassen

Um das Karma anzupassen, verwenden wir den Schieberegler (Schiebeschalter). Als Aufnahmeadresse geben wir die im Setup-Makro initialisierte Variable an. Begrenzen wir den Wertebereich des Schiebereglers auf 0 bis 1500. Wenn sich nun der Schieberegler bewegt, werden neue Daten in den Speicher geschrieben. In diesem Fall entspricht der Anfangszustand des Schiebereglers den Werten der Variablen im Speicher.

Habr-Bedienfeld basierend auf HMI von Advantech
Um die numerischen Werte von Karma und Bewertung anzuzeigen, verwenden wir das numerische Anzeigeelement. Das Funktionsprinzip ähnelt dem Diagramm aus dem Beispielprogramm „Hello World“, wir geben lediglich die Adresse der Variablen in Monitor Address an.

Schaltfläche „Verbieten“.

Die Schaltfläche „Verbot“ wird mithilfe des Toggle-Switch-Elements implementiert. Das Prinzip der Datenspeicherung ähnelt den obigen Beispielen. In den Einstellungen können Sie je nach Zustand des Buttons unterschiedliche Texte, Farben oder Bilder auswählen.

Habr-Bedienfeld basierend auf HMI von Advantech
Wenn die Taste gedrückt wird, sollte der Avatar rot durchgestrichen sein. Dies lässt sich einfach mit dem Picture Display-Block umsetzen. Sie können damit mehrere Bilder angeben, die mit dem Status der Umschalttaste verknüpft sind. Dazu erhält der Baustein die gleiche Adresse wie der Baustein mit der Schaltfläche und die Anzahl der Zustände. Das Bild mit Namensschildern unter dem Avatar ist ähnlich aufgebaut.

Habr-Bedienfeld basierend auf HMI von Advantech

Abschluss

Insgesamt hat mir das Produkt gefallen. Zuvor hatte ich Erfahrung mit der Verwendung eines Android-Tablets für ähnliche Aufgaben, aber die Entwicklung einer Schnittstelle dafür ist viel schwieriger und Browser-APIs ermöglichen keinen vollständigen Zugriff auf die Peripheriegeräte. Ein WebOP-Terminal kann eine Kombination aus Android-Tablet, Computer und Controller ersetzen.

HMI Designer ist trotz seines veralteten Designs recht fortschrittlich. Ohne besondere Programmierkenntnisse können Sie schnell eine funktionierende Benutzeroberfläche entwerfen. Der Artikel geht nicht auf alle Grafikblöcke ein, von denen es viele gibt: animierte Rohre, Zylinder, Diagramme, Kippschalter. Es unterstützt viele gängige Industriesteuerungen sofort und enthält Datenbankkonnektoren.

Referenzen

Die Entwicklungsumgebung WebAccess/HMI Designer und Runtime kann heruntergeladen werden hier

Quellen des Habr-Control-Panel-Projekts

Source: habr.com

Kommentar hinzufügen