Inhaltsverzeichnis

Erfassen von Prozessdaten

Diese Anleitung beschreibt das „Schritt für Schritt“-Vorgehen, um Prozessdaten basiert auf definierbaren Triggern in eine Datenbank zu schreiben.

Als Datenquelle wird hierbei beispielhaft eine SIMATIC S7 SPS und als Datenziel eine lokale SQLite Datenbank verwendet.
Durch das einheitliche Interface, das CoDaBix für den Zugriff auf angebundene Geräte und Datenbanken bietet, ist dieses Vorgehen jedoch auf jede Art von Daten, die in CoDaBix definiert sind, anwendbar.

Voraussetzungen

Systemanforderungen

Für die Ausführung der folgenden Schritte benötigen Sie einen Rechner (mit Windows oder Linux Betriebssystem), auf dem Sie die erforderlichen Rechte besitzen, um Anwendungen installieren zu können.
Desweiteren ist eine Internetverbindung notwendig, um CoDaBix und die bereitgestellte Standardkonfiguration laden und auf Beispieldaten von unserer öffentlichen SIMATIC S7 zugreifen zu können.

Die genauen Systemanforderungen an Hardware und Betriebssystemversion finden Sie hier:

  • Systemanforderungen für Windows
  • Systemanforderungen für Linux

Erforderliche Plugins

Folgende CoDaBix Plugins sind erforderlich

  • S7 Device Plugin: Anbindung der SIMATIC S7 SPS
  • SQL Exchange Plugin: Verbindung zur SQLite Datenbank
  • Script Interface Plugin: Verarbeiten der Trigger und Transfer der Daten

1. Schritt: Einrichten von CoDaBix

In diesem Schritt installieren Sie CoDaBix auf Ihrem System.
Für diese Anleitung stellen wir Ihnen eine Grundkonfiguration für die Prozessdatenerfassung bereit.

1.1 Installation

  • Laden Sie im Downloadbereich die aktuelle Version von CoDaBix (diese Anleitung setzt mindestens v1.4.0 voraus) für das System herunter,

auf dem Sie CoDaBix verwenden wollen.

  • Nach erfolgreichem Download installieren Sie CoDaBix auf Ihrem Sytem und folgen den Schritten für den ersten Start:
    • Installation und erster Start unter Windows
    • Installation und erster Start unter Linux und Raspberry Pi
    • Siemens IOT2050 Image
  • Laden Sie im Downloadbereich die aktuelle Version von CoDaBix (diese Anleitung setzt mindestens v1.4.0 voraus) für das System herunter,

auf dem Sie CoDaBix verwenden wollen.

1.2 Konfiguration

  • Laden Sie folgende Standardkonfiguration herunter: capture-process-data_default_2023-07-28.cbx
  • Importieren Sie die Konfiguration in CoDaBix
    • Windows:
      • Klicken Sie auf Wiederherstellen rechts in der Taskleiste
      • Wählen Sie im Backup-Dialog die zuvor geladene Datei aus und starten den Import durch Klicken auf Restore Now….

        Laden der Standardkonfiguration

    • Linux/Raspberry Pi:
      • Wählen Sie in der Konsolenanwendung den Menüpunkt 4) Restore Backup
      • Geben Sie den Pfad zu der geladenen Datei an und starten den Import durch drücken der Enter-Taste
  • Laden Sie folgende Standardkonfiguration herunter: capture-process-data_default_2023-07-28.cbx
  • Importieren Sie die Konfiguration in CoDaBix
    • Windows:
      • Klicken Sie auf Wiederherstellen rechts in der Taskleiste
      • Wählen Sie im Backup-Dialog die zuvor geladene Datei aus und starten den Import durch Klicken auf Restore Now….

        Laden der Standardkonfiguration

    • Linux/Raspberry Pi:
      • Wählen Sie in der Konsolenanwendung den Menüpunkt 4) Restore Backup
      • Geben Sie den Pfad zu der geladenen Datei an und starten den Import durch drücken der Enter-Taste
    • Docker:

2. Schritt: Einrichten der Prozessdatenerfassung

In diesem Beispiel sollen die Werte von zwei Variablen (Duration und Quantity) aus der SPS gelesen und daraus ein neuer Eintrag in einer Datenbank-Tabelle erzeugt werden, der zusätzlich die ID, über welche die SPS identifiziert werden kann, und den aktuellen Zeitstempel enthält. Dieser Vorgang soll ausgeführt werden, wenn die steigende Flanke des Bits JobCompleted in der SPS detektiert wird.

Die SPS Variablen sind wie folgt definiert:

Prozessdaten

Trigger

Die Datenbank-Tabelle namens oeemachinerecord besitzt folgende Spalten:

Um die Datenerfassung (nachfolgend Transfer genannt) in CoDaBix abzubilden, wird sie in drei Komponenten eingeteilt:

Diese Komponenten werden über eine Ordner-Struktur innerhalb von CoDaBix abgebildet. Dabei repräsentiert jeder Ordner, der unterhalb von /Nodes/Transfers liegt, einen unabhängigen Transfer.

2.1 Anlegen eines neuen Transfers

Um einen neuen Transfer anzulegen, navigieren Sie im Node-Baum zum Node „/Nodes/Transfers“.

Daraufhin sollte der Node-Baum wie folgt aussehen:

Baumstruktur eines Transfers

2.2 Auswahl der zu erfassenden Daten

Um Variablen festzulegen, deren Werte erfasst werden sollen, müssen sich diese Variablen unter dem Folder-Node Inputs befinden. Neben den Variablen aus der SPS soll die ID der Maschine (für dieses Beispiel ID = 2) erfasst werden.

Deshalb wird zuerst ein Node von dem Typen UInt16 angelegt, in dessen Wert konstant diese ID gespeichert wird:

Um die Werte der SPS Variablen als Eingänge für den Transfer zu definieren, wird im Inputs-Ordner jeweils ein verlinkter Node erstellt, dessen Linkziel den Value-Node beinhaltet, der die entsprechende SPS Variable repräsentiert.

Verlinkte Nodes verhalten sich ähnlich zu symbolischen Links, wie sie im Unix-Dateisystem zur Verfügung stehen. Sie bieten den Vorteil, dass die Struktur von Daten unabhängig gestaltet werden kann, ohne die ursprüngliche Struktur zu beeinflussen.

Die Nodes, die diese Variablen abbilden, finden Sie unter dem Pfad /System/Devices/S7 TCP-IP Device/Channels/Machine 02/Variables:

Die Variablen aus der SIMATIC S7

Führen Sie für diese beiden Nodes die folgenden Schritte aus, um Sie im Inputs Folder zu verlinken:

Da zusätzlich zu den SPS-Daten der aktuelle Zeitstempel gespeichert werden soll, muss noch eine Node hinzugefügt werden, die diesen Wert bereitstellt. Zu diesem Zweck gibt es in CoDaBix einen vordefinierten Value-Node, der unter dem Pfad /System/Environment/DateTime/UtcNow zu finden ist. Beim Lesen dieser Node wird immer der aktuelle Zeitstempel zurückgegeben.

Erstellen Sie nun analog zu den vorhergehenden Schritten einen weiteren Link namens Current Timestamp, der auf diesen Node (/System/Environment/DateTime/UtcNow) verweist.

2.3 Auswahl der Datenziele

Analog zu den Quellen der Daten werden die Ziele unterhalb des Folder-Nodes Outputs definiert.

Dazu soll die Tabelle oeemachinerecord der Datenbank verwendet werden. Die Nodes, die die Spalten dieser Tabelle repräsentieren, befinden sich unter dem Pfad /System/Exchange/SQL Exchange/Databases/OEE/Tables/oeemachinerecord/Columns. Legen Sie nun, analog zum vorhergehenden Schritt, unterhalb von Outputs Linknodes an, die mit folgenden Nodes verlinkt sind:

Der Transfer-Mechanismus verwendet die Reihenfolge der Input-Nodes und Output-Nodes, um zu differenzieren, welches Datum in welchen Node geschrieben werden soll. Der Wert des ersten Input-Nodes wird dabei in den ersten Output-Node geschrieben, der des zweiten in den zweiten Output-Node und so weiter. Ordnen Sie nun die Nodes unter Inputs und Outputs per Drag-and-Drop so an, dass Sie die Reihenfolge der in diesem Screenshot entsprechen:

Reihenfolge der Nodes in Inputs- und Outputs-Ordner

2.4 Festlegen des Triggers

Um den Trigger für unser Beispiel einzurichten, legen Sie nun unter dem Triggers-Ordner einen virtuellen Link an, dessen Ziel der Node /System/Devices/S7 TCP-IP Device/Channels/Machine 01/Variables/JobCompleted ist.

Somit sollte der Node-Baum wie folgt aussehen:

Der finale Node-Baum

3. Schritt: Aktivieren und Funktionalität verifizieren

Nach Durchführung der vorangegangenen Schritte ist die Einrichtung der Datenerfassung abgeschlossen.

Um den Transfer zu aktivieren, muss der Wert des Nodes isActive in dem Ordner des Transfers auf true gesetzt werden. Schreiben Sie dazu true als neuen Node-Wert:

Aktivieren des Transfers

Der Trigger wird nun alle 500ms von CoDaBix gelesen und auf eine steigende Flanke geprüft. Ist dies der Fall, werden die Inputs gelesen, der Trigger zurückgesetzt (der Wert false geschrieben) und die Daten in die Outputs geschrieben. Dadurch wird in der Datenbank-Tabelle ein neuer Eintrag erzeugt, der diese Daten enthält.

Das SPS Programm wartet, bis der Trigger wieder zurückgesetzt wurde. Dann werden innerhalb von 10 Sekunden neue, zufällige Werte in die Variablen geschrieben und der Trigger wird erneut auf true gesetzt.

3.1 Ansicht im SQLite-Browser

Sie können die Funktionalität nun durch einen SQLite-Browser verifizieren:

das Sie beim ersten Start von CoDaBix ausgewählt haben.

Dieses kann über die Settings ausgelesen werden: 

Anzeige des Projektverzeichnisses

Auswahl der Datenbank-Tabelle

während im Takt von etwa 10 Sekunden neue hinzukommen

Ansicht der Datenbank-Einträge

3.2 Ansicht im CoDaBix Dashboard

Eine andere Möglichkeit ist die Anzeige in der in CoDaBix integrierten Dashboard-Applikation.

und den Transfer der Daten zwischen den Inputs und Outputs live beobachten:

Ansicht im CoDaBix Dashboard