Prozesssteuerungsberichte in SCADA WebHMI und Level 2 Cloud

Wenn Sie über einen automatisierten Produktionsprozess verfügen, können Ereignisse in übergeordnete und untergeordnete Elemente unterteilt werden. Dies sind: Buchhaltung, Qualitätskontrolle, Ressourcenverbrauch, vorbeugende Wartung usw. Um dieses Ziel zu erreichen, müssen Sie zunächst Daten sammeln.

Datenerhebung

WebHMI verfügt über eine spezielle Funktion, genannt Ereignisse, mit der Sie Ihre Prozesszyklen erkennen und alle zugehörigen Informationen sammeln können. Um den richtigen Zeitrahmen für jeden Produktionszyklus zu ermitteln, hat das Ereignis einen Start- und Endstatus.

Das Erstellen dieses Zustands kann sehr leicht durch visuelle Blöcke erreicht werden.

Ereignisse können auf zwei verschiedene Arten auftreten:

  • Ein Ereignis wird als aktiv betrachtet, wenn die Bedingung erfüllt ist und nur für einen Scan gilt. Wenn die Bedingung erfüllt ist, wird in jedem Scan ein neues Ereignis ausgelöst. Bei jedem nachfolgenden Scan wird ein neues Ereignis erstellt, wenn die Bedingung erfüllt ist.
  • Das Ereignis hat eine bestimmte Dauer und kann viele Scans dauern. In diesem Fall kann es einen separaten Endzustand haben.

Beachten Sie bitte, dass jede Änderung im WebHMI-Projekt alle aktuellen Prozesse zurücksetzt und die neue Konfiguration liest. Normalerweise tritt eine solche Situation in der Phase der Projekterstellung auf, die sich nicht unter realen Produktionsbedingungen befinden sollte,um den Prozessablauf nicht zu stören


Auf der Registerkarte AKTIONEN informieren Sie WebHMI, was nach dem Auftreten des Ereignisses zu tun ist. Es gibt drei Möglichkeiten:

  1. Fügen Sie dem Nachrichtenprotokoll eine Nachricht hinzu.
  2. ZSpeichern Sie die Daten im Bericht.
  3. Zeigen Sie das Ereignis auf der Timeline. Diese Option ist nur verfügbar, nachdem die Daten im Bericht gespeichert wurden.

Grundsätzlich besteht der Bericht aus einer Reihe von Daten, die beschreiben, was während des Ereignisses geschieht. Daten werden aus Registern gesammelt und jedes verfügbare Register kann ausgewählt werden, um Daten zu erhalten. Zusätzlich zum unformatierten Registrierungswert können Sie einige vorverarbeitete Werte basierend auf dem Registrierungswert verwenden:

  • Der erste Wert des Registers im Zeitintervall des Ereignisses,
  • Der letzte Registrierungswert im Zeitintervall des Ereignisses,
  • Der Mindestwert der Registrierung im Zeitintervall des Ereignisses,
  • Maximalwert des Registers im Zeitintervall des Ereignisses,
  • Durchschnitt (die Summe aller Werte geteilt durch die Anzahl) des Wertes der Registrierung im Zeitintervall des Ereignisses.

Es gibt auch drei spezielle Register – „Startzeit“, „Endzeit“, „Letzte Aktualisierungszeit“. Wie Sie sich vorstellen können, stellen sie Zeitstempel für den Beginn, das Ende und das letzte Update des Ereignisses in der Datenbank bereit.

Bei langen Ereignissen, (die viele Sekunden oder länger dauern) speichert WebHMI den aktuellen Status des Ereignisses im Bericht und markiert es, als nicht abgeschlossen. Das System aktualisiert diese unfertigen Ereignisse in der Datenbank alle 5 Sekunden. Das Feld „letzte Aktualisierungszeit“ zeigt an, wann das Ereignis zuletzt gespeichert wurde.

Ereignisdaten (Registersätze) können in jedem Bericht oder häufig auf periodische Weise im Bericht aufgezeichnet werden. Zeitintervalle sind nützlich, wenn Sie über dynamische Daten verfügen und deren Änderungen im Zeitverlauf verfolgen möchten. Eine weitere Option besteht darin, Diagrammdaten zu verwenden, um Änderungen einiger Indikatoren im Laufe der Zeit anzuzeigen.

Ereignisse können in übergeordnete und untergeordnete unterteilt werden. Dies ist sehr nützlich in Situationen, in denen Sie einen komplexen Prozess mit einigen Unterprogrammen haben und diesen Unterprogrammen einzeln folgen möchten. WebHMI prüft die Bedingungen dieser Unterprogramme nur, wenn ihr übergeordnetes Ereignis ausgeführt wird. Das heißt, untergeordnete Ereignisse können nicht gestartet werden, wenn das übergeordnete Ereignis nicht ebenfalls ausgeführt wird. Das Ende des übergeordneten Ereignisses erzwingt das Ende untergeordneter Ereignisse.

Um die gesammelten Daten zu Ereignissen anzuzeigen, können Sie sie im Menü BERICHTE öffnen. Es wird ähnlich aussehen:

Hier können Sie die grundlegenden Felder für das übergeordnete Ereignis (Startzeit, Endzeit, Rezeptname usw.) und Links zu untergeordneten Ereignissen (Komponente 1, Komponente 2 usw.) sehen. Auch hier sehen Sie, dass die letzte Veranstaltung noch nicht abgeschlossen ist und noch funktioniert.

Wenn Sie auf den Link für das untergeordnete Ereignis klicken, werden die Details des Ereignisses angezeigt. Zum Beispiel:

Die Zeitleiste ist eine Möglichkeit, die Reihenfolge und Dauer von Ereignissen visuell zu überprüfen. Es ist im Menü Berichte → Zeitleiste verfügbar. Zeigt nur Ereignisse mit aktivierter Zeitleiste an. Sie können ziehen und zoomen, um weitere Details anzuzeigen. Hier ist ein Beispiel:

Nun wissen wir, wie wir alle notwendigen Daten sammeln und überprüfen, ob sie korrekt erfasst wurden. Es ist an der Zeit, benutzerdefinierte Berichte im Level2-System zu erstellen.

Ein Beispiel

Schauen wir uns ein reales Beispiel an, wie Ereignisse verwendet werden können, um den Betrieb des Futtermischsystems zu verfolgen.

In unserem Beispiel verfügt das System über 8 Tanks mit variablen Komponenten. Der Bediener kann sie mit Förderbändern und ferngesteuerten Ventilen befüllen. Wenn die Tanks voll sind, wählen Sie das Produkt, das Sie produzieren müssen. Im Wesentlichen handelt es sich dabei, um ein Rezept mit einem Satz Gewichte für jede Zutat und dem Gesamtgewicht der Partie. Anschließend startet der Bediener den Wiegevorgang durch Drücken der Taste „Wiegen“. Wenn die benötigte Menge auf die Waage gelegt wird, geht das Produkt zum Brecher, dann zum Mischer, und dann kann es an die Verpackungsmaschine übergeben werden.

In diesem Beispiel konzentrieren wir uns auf den Wiegeprozess. Ein Skript in einer SPS oder sogar ein Skript in WebHMI selbst steuert die Engines, um die erforderliche Menge jeder Komponente für die Waage bereitzustellen. Nachdem die erforderliche Menge der aktuellen Komponente ausgeliefert wurde, stoppt das Skript die Engine und beginnt mit dem Füllen der nächsten Komponente.

Natürlich können einige Fehler aufgrund verschiedener Verzögerungen und Verkehrsstörungen auftreten. Das System kann etwas mehr, oder weniger Zutaten enthalten. Der Produktionsleiter des Werks möchte nachverfolgen, wie viele Kilogramm tatsächlich auf der Waage platziert wurden, und es mit dem Zielgewicht vergleichen.

Um den Wiegeprozess zu verfolgen, wurde das Hauptereignis „Wiegeprozess“ erstellt. Es beginnt, wenn das Zeichen für den Wiegestart gesetzt ist, und endet, wenn das Zeichen nicht mehr angezeigt wird. Nachfolgend können Sie sehen, wie Sie es einstellen:

Wir nennen dieses Ereignis „Main“, weil es als Gruppe von untergeordneten Ereignissen funktioniert. Es werden grundlegende Informationen über den gesamten Prozess erfasst. Unterereignisse sammeln Informationen zu einzelnen Komponenten.

In WebHMI kann für jedes Ereignis ein übergeordnetes Ereignis definiert werden. Ein Ereignis mit einem definierten übergeordneten Ereignis wird als untergeordnetes Ereignis bezeichnet. Untergeordnete Ereignisse können nur während der Ausführung des übergeordneten Ereignisses in Gang gesetzt werden. Nach der Ausführung dann, unterschiedliche Arten/Blöcke von Daten sammeln.

Damit Benutzer die Beziehung zwischen übergeordneten und untergeordneten Ereignissen erkennen können, zeigen wir sie in Form einer Baumstruktur an:

Um einen Informationsbericht zu erstellen, müssen wir folgende Funktionen für das Hauptereignis sammeln: Startzeit, Endzeit, Rezeptname, Abgabedauer, Zielmasse, Fehlerzeichen. Dieses Zeichen informiert uns darüber, dass diese Charge einen Fehler enthält, und wir werden ein solches Ereignis später im Bericht hervorheben.

Darüber hinaus haben wir für jede Komponente Unterereignisse erstellt:

Solche Ereignisse haben sehr einfache Bedingungen. Wir sammeln Daten, wenn der Motor läuft. Hier ist ein Beispiel:

Auf der Aktionsregisterkarte haben wir WebHMI angewiesen, die folgenden Daten zu erfassen:

  • Startzeit,
  • Endzeit,
  • Zielgewicht,
  • Aktuelles Gewicht
  • Gewicht dosieren. Dies ist das tatsächliche Gewicht minus dem Zielgewicht. Der Wert kann negativ sein.
  • Der Titel der Komponente. Der Tank kann verschiedene Komponenten aufnehmen, wir möchten wissen, welches Element sich jetzt darin befindet.
  • Gewichtsfehlerflag. Dieses Flag ermöglicht es uns, die Komponente hervorzuheben, wenn ein Dosierungsfehler vorliegt.

Nach der Konfiguration der Ereignisse können wir auf der Seite Berichte überprüfen, ob sie die korrekten Daten erfassen. So sieht das Hauptereignis aus.

Der Unterbericht einer einzelnen Komponente sollte folgendermaßen aussehen:

Wenn WebHMI korrekt mit Level2 verbunden wurde, werden alle erfassten Daten zu Ereignissen regelmäßig automatisch an Level2 gesendet.

Erstellen eines Berichts in Level2

Level2 verfügt über einen leistungsstarken Berichtsgenerator, mit dem Benutzer mithilfe des WYSIWYG-Stil-Editors umfangreiche benutzerdefinierte Berichte erstellen können. Es ist auf der Seite Berichte → Verwalten verfügbar.

Schauen wir uns den Bericht an, den wir erstellen möchten.

Hier sehen Sie eine Liste aller Chargen in der Tabellenansicht. Zu jedem Dosierzyklus sehen wir sehr grundlegende Informationen: Start- und Endzeit, Dauer, Rezeptname und Fehlerzeichen. Wenn während der Ausgabe ein Fehler auftritt, wird die Prozesszeile rot hervorgehoben und das rote Fehlersymbol wird angezeigt.

Der Benutzer kann auf eine beliebige Zeile klicken und die Details dieser Charge anzeigen. So sieht die Detailansicht aus.

Hier haben wir viel mehr Informationen zum Dosiervorgang. Die Zeittabelle zeigt die Startzeit, Endzeit und Gesamtdauer der Dosierung. Die Rezepttabelle zeigt einen allgemeinen Überblick über die Zielwerte der einzelnen Komponenten. Die Inhaltsstofftabelle enthält detaillierte Informationen zur Dosierung jeder Komponente: Zeit, Ziel und tatsächliches Gewicht, die Differenz zwischen ihnen und das Fehlerzeichen. Dieses Warnzeichen wurde hier nur zu Verwendungszwecken hinzugefügt. Dies hilft dem Bediener, eine falsch gemessene Komponente schnell zu identifizieren.

Ganz unten im Bericht sehen Sie eine Zeitleiste, in der die Dosierung der einzelnen Komponenten in Zeit und Reihenfolge angezeigt wird.

Der Berichts-Generator bietet benutzerfreundliche visuelle Werkzeuge zum Erstellen solcher Berichte. Schauen wir zusammen an, wie dieser Bericht erstellt wurde.

Auf der Basisregisterkarte haben wir die Überschrift des Berichts, den ausgewählten Knoten (WebHMI-Gerät) eingegeben, von dem wir Daten zu Ereignissen anzeigen möchten, und das ausgewählte Hauptereignis „Wiegeprozess“.

Registerkarte “LISTE” können Sie die Darstellung der gesamten Liste der Dosierereignisse anpassen.

Wir können Events nach Tag sortieren. Dadurch werden die Ereignisse, die an einem Datum in den einzelnen Tabellen stattgefunden haben, mit der Überschrift “Daten” visuell eingeordnet.

Hier können wir auch die Breite in dieser Tabellenliste auf 100% setzen. Im Fall von Tabellen mit einer kleinen Anzahl von Spalten wird es jedoch schlecht aussehen.

Im Spaltenabschnitt geben wir den Titel und Inhalt jeder Spalte in dieser Tabelle an. Der Inhalt der Spalte kann der Wert des Registers des Ereignisses sein. Hier können Sie bestimmen, wie der Wert der einzelnen Registerkarten angezeigt wird: Rohwert, Datum und Uhrzeit, Dauer des Warnzeichens.

Für Spalten mit Datum, Uhrzeit und Dauer können wir das Uhrzeitformat im moment.js-Format angeben.

Das Zeichen sollte einen Bitwert (0 oder 1) haben. Wenn der Wert 1 ist, wird die Zeile automatisch rot hervorgehoben.

Der Wert der Spalte kann den Wert nicht nur vom Hauptereignis, sondern auch von den untergeordneten Ereignissen abrufen. Wenn mehrere untergeordnete Ereignisse mit der angegebenen Kennung vorhanden sind, erhält das System den Wert vom letzten.

Die Registerkarte DETAILS enthält den WISIWYG-Editor, mit dem der Benutzer einen Bericht mit umfangreicher Formatierung und einem benutzerdefinierten Layout erstellen kann.

Mit dem Layout-Generator können Sie Zeilen und Spalten darin erstellen. Die Zeile nimmt 100% der Seitenbreite ein. Jede Zeile ist in 12 vertikale Abschnitte unterteilt und muss mindestens eine Spalte enthalten. Die Spalte kann 1 bis 12 solcher Abschnitte enthalten, von der Seitenbreite 1/12 bis 12/12. Auf diese Weise können Sie ein flexibles Layout erstellen, das auf alle Anzeigegrößen passt. Sie können die Spalte mit den entsprechenden Schaltflächen in der Symbolleiste verkleinern oder vergrößern.

Um die Layoutstruktur zu visualisieren, können Sie die Schaltfläche Layoutblöcke anzeigen in der Symbolleiste umschalten. Dadurch werden Zeilen mit Blau und Spalten in Orange ausgewählt.

Hier ist ein kleiner Film, der die grundlegenden Techniken der Layoutbearbeitung zeigt:

 

Eine weitere Option für die Umstrukturierung der Daten ist die Verwendung von Tabellen. Das Berichterstellungs-Tool bietet die Möglichkeit, Tabellen zu erstellen und zu bearbeiten. Hier ist ein kleines Video, das die Techniken zum Bearbeiten von Basistabellen zeigt:

Wenn Sie wissen, wie Sie Ihre Daten organisieren, schauen Sie sich die verfügbaren Anzeigeoptionen an.

Das Register und seine Bedeutung

Die einfachste Möglichkeit, Daten aus Ereignissen anzuzeigen, ist das Einfügen dieser Daten als Text. Zu diesem Zweck können Sie ein Element -”Textfeld” verwenden. Mit diesem Tool können Sie ein Ereignis, sein Register und das Format der angezeigten Daten auswählen:

Nachdem Sie diesen Wert zur Berichtsvorlage hinzugefügt haben, sehen Sie einen gelben Platzhalter im Format [E2.1]:

Das bedeutet, dass das System hier den Wert des Registers Nr. 1 aus Ereignis Nr. 2 anzeigt. Woher kommen diese Nummern? Sie können sie auf jeder Seite anzeigen, um Ereignisse neben jedem zum Bericht hinzugefügten Eintrag zu bearbeiten:

Warnzeichen

Es sind einfache rote Symbole, die den Benutzer bei bestimmten Problemen auf die Daten aufmerksam machen. Das System zeigt ein rotes Symbol an, wenn das ausgewählte Register einen Wert ungleich Null enthält. Hier zeigen wir, dass beim Dosieren von Fischfutter ein Fehler aufgetreten ist:

Im Berichtseditor werden diese Zeichen als roter Platzhalter im Format [E4.6] angezeigt:

 Zeitleiste

In der Zeitleiste können Sie die Start- und Endzeit des Ereignisses sowie dessen Dauer anzeigen. Es ist auch leicht zu erkennen, in welcher Reihenfolge verschiedene Ereignisse ausgelöst werden.

Die Auswahl der auf der Timeline angezeigten Ereignisse ist sehr einfach. Klicken Sie einfach auf das entsprechende Kontrollkästchen, wählen Sie eine Farbe aus und geben Sie den Titel ein (oder registrieren Sie die ID im Format [E1.2] anstelle des Titels, um den Wert aus diesem Register anzuzeigen). Alle diese Ereignisse werden automatisch auf der Timeline angezeigt.

Wenn Sie viele Ereignisse haben oder deren Dauer kurz ist, können Sie die Timeline ziehen, verschieben und zoomen, um weitere Details anzuzeigen.

Graphische Darstellung

Wenn während des Ereignisses einige langfristige Prozesse ausgeführt werden und deren Parameter visualisiert werden müssen, können Sie das Diagrammsteuerelement verwenden. Es ermöglicht die Anzeige von Registern mit Grafikdaten, die als „Grafikdaten an LEVEL2 senden“ in WebHMI angezeigt werden.

Die Registerkarte “GRUNDEINSTELLUNGEN” enthält den Titel des Diagramms und die Höhe des Diagramms in Pixel. Beginn und Ende des Zeitdiagramms sollten den Zeitpunkten der Ereignisse entnommen werden. Bei Bedarf können Sie eine Startzeit von einem Ereignis und die Endzeit von einem anderen Ereignis erhalten, aber normalerweise erhalten Sie sie vom Hauptereignis. Auch hier können Sie den Minimal- und Maximalwert auf der Y-Achse angeben.

Auf der Registerkarte REGISTER können Sie die Register auswählen, die im aktuellen Diagramm angezeigt werden sollen. Es ist zu beachten, dass Sie hier nicht alle Register in WebHMI sehen können, sondern nur Register mit eingeschlossenen und markierten Diagrammdaten, um Daten an Level2 zu senden. Bei Bedarf können Sie deren Titel und Farbe ersetzen.

Auf der Registerkarte EREIGNISSE können Sie einige Ereignisse in Diagrammen mit einem farbigen Hintergrund hervorheben. Dies wird normalerweise verwendet, um einige Elemente des technischen Prozesses im Diagramm anzuzeigen.

So könnte das Diagramm im Berichtseditor aussehen. Zeigt Sinuswellen und zufällige Ereigniszeiten als Beispieldaten an, um Farben usw. anzuzeigen.

So sieht das reale Diagramm im Bericht aus:

Hier können wir in unserem Beispiel innerhalb von 13 Minuten 2 Temperaturen sehen. Von 4 bis 7 Minuten sehen wir die rote Zone – den Aufheizvorgang und von 10 bis 12 Minuten – die blaue Zone – den Abkühlvorgang.

Solche Diagramme können den Bedienern erheblich helfen, die Prozesseffizienz zu steigern, Problemquellen zu finden usw.

Lageplan

Bei mobilen Labor- App kann es nützlich sein, den Standort in Berichten zu sehen. In diesem Fall können Sie die Positionskartensteuerung verwenden. Dieses Steuerelement kann Längen- und Breitengrade aus Ereignisdatensätzen abrufen und als Markierung auf der Karte anzeigen.

So beauftragen Sie uns!

Kontaktieren Sie uns. Das einzige, was Sie tun müssen ist uns die angeforderten Angaben über Ihre Firma mitzuteilen, und wir übermitteln Ihnen das Angebot für WebHMI so schnell wie möglich.