Datenharmonisierung, oder: Wie heißt mein Durchsatz?

Datenharmonisierung, oder: Wie heißt mein Durchsatz?

Deniz Saner

Deniz Saner

|

25.05.2023

25.05.2023

|

Wiki

Wiki

|

3

3

Minuten Lesezeit

Minuten Lesezeit

Wir freuen uns, Sie wieder begrüßen zu dürfen! Im letzten Blog-Post haben wir beleuchtet, wie ein fehlendes globales Namensschema für die Steuerungsprogrammierung einen erheblichen Aufwand bei der Maschinendatenerfassung verursacht, da man von kryptischen Bezeichnungen auf die gewünschten physikalischen Größen schließen muss. Dieser Aufwand skaliert bei heterogenen Maschinenparks mit der Anzahl an Maschinen.

In diesem Post knüpfen wir an dieses Thema an und zeigen, wie man mit der ENLYZE Data Platform einen heterogenen Anlagenpark digitalisiert und ein einheitliches Namensschema aufbaut.

Übersicht Blogreihe Konnektivität & Maschinendaten:

  1. OPC UA: Segen oder Fluch für Industrie 4.0?

  2. Digitalisierungs-Dilemma: Für die Daten arbeiten oder mit den Daten arbeiten

  3. Von Euromap, Datenblöcken und harmonisierten Daten

  4. Datenharmonisierung, oder: Wie heißt mein Durchsatz?

  5. Wie Edge Devices nicht zur Sicherheitslücke werden

  6. Keine geschlossenen Systeme mehr

  7. Mit ENLYZE und Grafana bereit für alle Herausforderungen in der Produktion

  8. Der Schlüssel zu KI in der Produktion

Lektion #4: Es braucht einen einheitlichen Prozess, um das Chaos zu bändigen 

Wie bereits im letzten Post thematisiert, sind durchschnittlich drei Datenquellen pro Anlage auf der ENLYZE Data Platform integriert, von denen jede ca. 13.000 Variablen enthält. Von diesen 13.000 Variablen werden jedoch nur etwa 67 benötigt und aufgezeichnet. Es müssen also aus mehreren Tausend Variablen die relevanten 0,5 % identifiziert werden. 

Nach der erfolgreichen Digitalisierung von über 100 Anlagen haben wir fünf Schritte identifiziert, die Ihnen helfen, systematisch vom Anschließen Ihrer Anlage bis zur Wertschöpfung durch Digitalisierung zu gelangen.

Hier sind die fünf Schritte, die Sie durchlaufen sollten:

  1. Den Anwendungsfall wählen

  2. Alle Hilfsmittel einbeziehen

  3. Filtern, visualisieren und auswählen

  4. Muster in der Benennung ausnutzen, wenn sie existieren

  5. Ein einheitliches Namensschema erstellen

🤔 Schritt 1: Den Anwendungsfall wählen

Der erste und wichtigste Schritt besteht darin, einen klaren Anwendungsfall mit möglichst großem Mehrwert zu wählen. Sobald dieser gesetzt ist, ergeben sich automatisch die Variablen für jede Maschine, die wirklich erforderlich sind. So verhindert man die häufige Analyse-Paralyse, die entsteht, wenn man sich darüber Gedanken macht, welche Variablen denn für die Zukunft relevant sein könnten.

Unserer Erfahrung nach sind die Kunden, die a priori einen klaren Anwendungsfall und dessen Erfolgskriterien definieren, am erfolgreichsten. Meist lernt man auf dem Weg zum Ziel Neues hinzu, welches den nächsten Anwendungsfall beeinflusst. 

Über unseren Kundenstamm hinweg beobachten wir einige typische Anwendungsfälle, die wir im Folgenden aufgelistet haben:

  • Stillstandserkennung und Performance-Tracking (1 - 3 Variablen)

  • Energiemonitoring (1 - 15 Variablen)

  • Tracking des Rohmaterialverbrauchs (1 - 20 Variablen)

  • Prozessmonitoring und Alarme (3 - 50 Variablen)

  • Optimierung von Einstellparametern (10 - 100 Variablen)

  • Einfluss- und Ursachenanalyse, Anomalieerkennung und Prozessverständnis (50 - 200 Variablen)

Abhängig vom Anwendungsfall und den zur Verfügung stehenden Ressourcen kann es vorkommen, dass zusätzliche Sensoren installiert werden müssen, um weitere Variablen wie die Umgebungstemperatur oder die Luftfeuchtigkeit zu messen. 

Produktionsanlagen sind oft sehr unterschiedlich aufgebaut. Dennoch lässt sich sagen, dass eine solide Datenbasis, die alle oben genannten Anwendungsfälle abdeckt, in der Regel die Daten aus der Haupt-SPS, Peripheriegeräten (Dosiereinheiten, Druckstationen oder Qualitätssysteme) und externen Energiezählern einschließt.

📄 Schritt 2: Alle Hilfsmittel einbeziehen 

Jede Art von Dokumentation über Ihre Datenquellen kann bei der Auswahl der richtigen Variablen hilfreich sein. Diese kann entweder intern erstellt worden sein oder vom Anlagenhersteller kommen. Wenn möglich, ist der Austausch mit Ihrem Anlagenhersteller oft der einfachste Weg. Bei älteren Maschinen kann es jedoch schwierig werden, überhaupt Dokumente oder Informationen zu finden.

Auch der Anlagen-PC oder HMI-Computer enthält oft wertvolle Informationen, wie Projektdateien oder Excel-Listen mit Hinweisen zu Variablennamen und deren Bedeutung. Generell ist die HMI eine sehr nützliche Informationsquelle. Als Faustregel gilt: Wenn ein Wert auf der HMI angezeigt wird, kann er auch ausgelesen werden.  

Weiterhin erhält man relevante Infos über die Meta-Daten der Variablen:

  • um welchen Datentyp handelt es sich (Float, Integer, Boolean oder String)

  • gibt es einen Soll- und/oder Ist-Wert, 

  • in welchem Wertebereich liegt ein Wert (Hinweis auf mögliche Skalierung).

Unser Standardvorgehen ist es, relevante Ansichten der HMI im laufenden Betrieb abzufotografieren, um später Referenzwerte zu haben.

🕵️ Schritt 3: Filtern, visualisieren und kontextualisieren

Unserer Erfahrung nach ist der aufwändigste Schritt die eigentliche Suche nach den Variablen. Im besten Fall liegen Dokumente aus Schritt 2 vor, aus denen man die genaue Variablenbezeichnung entnehmen kann. Dann ist die Variablenauswahl ein Leichtes. Leider ist dies aber eher die Ausnahme.

Bei der Digitalisierung von heterogenen Maschinenparks kommt hinzu, dass man mit etlichen Medienbrüchen arbeiten muss: Hier eine Projektdatei einer S7300, dort ein OPC-UA Client und nebenbei noch ein altes Datenblatt einer Gravimetrie. Wenn Sie auch derzeit eine riesige Excel mit Datenquellen, Protokollen, Variablen und deren Bezeichnern, Skalierungsfaktoren und vereinheitlichten Variablennamen pflegen, läuft es Ihnen wahrscheinlich gerade eiskalt den Rücken hinunter.

Da wir bei ENLYZE mit exakt dieser Herausforderung schon seit Jahren konfrontiert werden, ist ein zentraler Bestandteil unserer Datenplattform ein einheitlicher und im Browser verfügbarer Prozess zur Variablenauswahl. Diese sog. ENLYZE Variable Selection bietet folgende Vorteile:

Alle Variablen an einem Ort

Sobald eine Anlage mehr als eine Datenquelle hat, wird die Suche erschwert, wenn diese nicht an einem Ort durchgeführt werden kann. Medienbrüche, wie das Wechseln zwischen Programmen oder Computern, verlangsamen den Prozess deutlich.

Die ENLYZE Variable Selection stellt hier eine zentrale Stelle dar, über die sämtliche verfügbare Variablen durchsucht und verwaltet werden können.

Feingranulare Filterfunktionen

Das Durchsuchen und Filtern nach unterschiedlichen Kriterien ist das Hauptwerkzeug, um das Muster der Steuerungsprogrammierung zu verstehen. Hierzu lässt sich der Variablenraum in der Variable Selection über einen Datentyp- und Freitextfilter einschränken: 

Ersteres ist relevant, da große Teile der Steuerungslogik durch Booleans abgebildet werden, die häufig aber nicht für die Aufzeichnung relevant sind. Schließt man diese bei der Suche aus, reduziert sich der Variablenraum damit wesentlich.  

Durch das gezielte Setzen von “enthält” und “enthält nicht” Filtern können ähnlich benannte Variablen schnell gefunden und weiter evaluiert oder ignoriert werden. Wenn man beispielsweise auf der Suche nach einer Temperatur ist und bereits eine gefunden hat, ist die Wahrscheinlichkeit groß, dass andere Temperaturen ähnlich benannt sind. Umgekehrt lassen sich als irrelevant befundene Variablen mit einem “enthält nicht” Filter exkludieren.

Zeitreihen als Entscheidungshilfe

Ob eine Variable tatsächlich die gesuchte Messgröße darstellt, kann man erst mit Sicherheit sagen, wenn der aufgezeichnete Wert mit dem erwarteten Wert (an der Anlage) übereinstimmt. Deshalb ist es essentiell, bereits beim Auswahlprozess die Sinnhaftigkeit der dahinter liegenden Daten überprüfen zu können. Wenn etwa der Wert einer vermeintlichen Temperatur konstant bei -1337 verweilt, kann man diese direkt verwerfen.

Herkömmliche OPC Clients erlauben meistens die Abfrage des aktuellen Wertes. In den meisten Fällen ist dies aber längst nicht ausreichend. Sucht man etwa nach einem Alarmstatus, so wird der aktuelle Wert der Variable wenig Aufschluss geben. Erschwerend kommt hinzu, dass gerne 0 und 1 als Alarmwerte verwendet werden. 

Wenn der Wert einer Variable 99 % der Zeit 0 ist, lässt sich schwer schließen, ob dies ein genutzter Alarm ist oder nicht. Auch Temperatursensoren oder andere kontinuierliche Werte müssen über längere Zeiträume beobachtet werden, damit man sich sicher sein kann, dass es der richtige Wert ist.

🔄  Schritt 4: Muster in der Benennung ausnutzen, wenn sie existieren

Bei der Suche selbst gibt es trotz der unterschiedlichen Programmierung von Steuerungen auch Gemeinsamkeiten. Fast alle Steuerungen werden nach einem bestimmten Namensmuster aufgebaut und oftmals folgt die Variablenbezeichnung einer Art Baumstruktur. Diese kann z. B. wie folgt aussehen:

Diese Muster zu erkennen und auszunutzen, erspart viel Arbeit. Hier sind drei gängige Muster, nach denen wir suchen:

Bereiche ausschließen

Der Großteil an verfügbaren Variablen ist nicht relevant. Entweder weil es interne Variablen für die Steuerungslogik sind oder weil sie nicht verwendet werden. Anlagenbauer legen ihre Steuerungen meistens für unterschiedliche Ausführungen der gleichen Anlage aus und somit gibt es viele Platzhalter. Aufgrund der Baumstruktur lassen sich diese Bereiche schnell identifizieren und bei der Suche ausschließen.

Bezeichnungen für Soll- und Ist-Werte finden

Größtenteils werden Soll- und Ist-Werte für die Aufzeichnung gesucht. Sobald diese identifiziert sind, lassen sich viele andere Werte direkt ausschließen. 

Die Bezeichnungen können dabei von einfachen Abkürzungen wie ACTVAL und SET hin zu weniger offensichtlichen Abkürzungen wie iSP (Soll) und iPV (Ist) reichen.

Ausschnitt der Variable Selection - verfügbare Variablen der Temperaturzone 094. iSP und iPV indizieren den Soll- und Ist-Wert der Zone.

Der oben abgebildete Bildschirmausschnitt stellt alle verfügbaren Variablen für eine Temperaturzone dar. Die für die Aufzeichnung relevanten Soll- und Ist-Werte sind rot markiert. Durch die Namenskonvention von Soll- und Ist-Werten lässt sich nun die Auswahl von zehn auf zwei Variablen reduzieren.

Sich wiederholende Bereiche ausnutzen

Die Temperaturzonen sind ebenfalls ein Beispiel für sich wiederholende Bereiche. In dem oben abgebildeten Fall gibt es insgesamt 104 Zonen, bei denen sich die Variablen nur durch die Nummerierung unterscheiden. Die Auswahl der verbleibenden Zonen wird dadurch enorm erleichtert.

Dies gilt nicht nur für Temperaturen, sondern für viele Unterbereiche, welche häufig nach dem gleichen Schema programmiert sind und sich nur durch die Nummerierung unterscheiden.

🏷️ Schritt 5: Ein einheitliches Namensschema erstellen

Nachdem die Variablen gefunden wurden, ist der letzte Schritt, sie in ein Namensschema zu überführen. Wir bezeichnen diesen Schritt als Kontextualisierung. Er umfasst neben der Vereinheitlichung des Namens die Vergabe eines Skalierungsfaktors, einer Einheit und eines Anzeigenamens.

Dieser Schritt ist die Grundlage für eine einheitliche OT-Datenstruktur und wird von anderen Lösungen meistens ignoriert. Dort wird davon ausgegangen, dass die Anwender:innen selbst die Kontrolle über die Programmierung haben und die Bezeichner auf den Datenquellen selbst anpassen können. Variablennamen auf einer Steuerung anzupassen bedeutet jedoch eine Neuprogrammierung und wird deshalb praktisch nie durchgeführt.

Häufig wird diesem Problem begegnet, indem eine weitere Steuerung nachgeschaltet wird, welche dann die Übersetzung vornimmt. In der ENLYZE Data Platform ist die eigentliche Bezeichnung der Variable auf der Steuerung ab dem Zeitpunkt der Auswahl nicht mehr relevant. Eine interne ID sorgt für die korrekte Zuordnung und der Name kann frei gewählt und beliebig angepasst werden.

Unsere Tipps für ein sinnvolles Namensschema:

  • Englische Variablenbezeichnung

  • Standardabkürzungen und Bezeichnungen verwenden

  • Hierarchien durch Unterstriche aufbauen:

machine[1-n]_group[1-n]_subgroup[1-n]_[...]_name_[set/act]

Beispiel: extruder1_barrel_zone1_temperature_act

Bei den verwendeten Zeichen sollte auf die Kompatibilität mit den verwendeten Datenbanken geachtet werden. Hier sind teilweise bestimmte Sonderzeichen nicht erlaubt. Wenn Sie die ENLYZE Data Platform verwenden, müssen Sie sich darüber jedoch keine Gedanken machen.

Außerdem ist das Namensschema nicht gleichzusetzen mit dem Anzeigenamen der Variable. Dieser kann dann in der Sprache der Firma oder des Standortes sein und der Bezeichnung an der Anlage entsprechen. Das Namensschema hingegen ist eine digitale Repräsentation der Maschine und dient dazu, einen einheitlichen Zugriff auf die Daten Ihres heterogenen Maschinenparks zu ermöglichen. 

Wir hoffen, dass wir Ihnen mit diesem Artikel einen neuen Blick auf die Herausforderungen der Variablenauswahl geben konnten. Wenn Sie in der Zwischenzeit Fragen, Feedback, oder eine konträre Meinung haben, können Sie sich ganz einfach per E-Mail bei uns melden: hello@enlyze.com. Wir freuen uns, von Ihnen zu hören.