Erschienen am: 10.07.2017, Ausgabe SPS-MAGAZIN 7 2017

Steuerungs- und IT-Systeme verbinden

OPC UA für alle

Egal ob SPS, CNC, MES oder Datenbanken: Im Zuge der Smart Factory gilt es alle Systeme und Instanzen im Unternehmen miteinander zu vernetzen. Die Anhebung von Daten heterogener Systeme auf OPC-UA-Standard - sowohl auf der Produktions- als auch auf der IT-Ebene - kann hierbei eine schnelle und kostengünstige Basis schaffen. Neue Maschinen und Bestandsanlagen lassen sich auf diese Weise unkompliziert zusammenzuführen.


Interface Plugins werden verwendet, um interaktive Verbindungen zu IT-Systemen oder Anwendern herzustellen.
Bild: Traeger Industry Components GmbH

Egal ob SPS, CNC, MES oder Datenbanken: Im Zuge der Smart Factory gilt es alle Systeme und Instanzen im Unternehmen miteinander zu vernetzen. Die Anhebung von Daten heterogener Systeme auf OPC-UA-Standard - sowohl auf der Produktions- als auch auf der IT-Ebene - kann hierbei eine schnelle und kostengünstige Basis schaffen. Neue Maschinen und Bestandsanlagen lassen sich auf diese Weise unkompliziert zusammenzuführen.

Beliebige Daten und Formate

Datenquelle und Datenziel können dabei x-beliebiger Natur sein: Es lassen sich z.B. SPSen, CNC- und andere Maschinensteuerungen sowie Leitsysteme oder Datenbanken auf einfache Weise vernetzen. So könnte ein MES durch Schreiben in eine CSV-Datei eine Rezeptur an die Kunststoffspritzgießmaschine senden. Oder eine SPS erzeugt mittels Bit-Flanke einen Produktionsdatensatz in einer SQL-Datenbank. Der dahinter stehende Ansatz: Codabix hebt sämtliche Datenpunkte des Systems auf den Kommunikationsstandard OPC UA. Ein OPC UA Client kann so über ein und dieselbe Verbindung von Steuerungen, Tools, Datenbanken und sonstigen Dateien oder Geräte lesen und schreiben. Der Datenaustausch zwischen den jeweiligen Systemen läuft wie von selbst und ohne Änderung am Programm der jeweiligen Endgeräte. Aktuelle Prozessdaten lassen sich mit Zeitstempel und Qualitätsinformation in der integrierten historischen Datenbank automatisch ablegen. Das modulare Konzept stellt eine Anpassung des Systems an jede Anforderung sicher.

Konfiguration via Web Interface

Die Struktur wird an zentraler Stelle per Web Interface konfiguriert. Dabei lassen sich sowohl Verbindungs- als auch die Variablenparameter der angeschlossenen Devices definieren und verknüpfen. Die Anlage lässt sich dynamisch im laufenden Betrieb erweitern bzw. anpassen. Codabix veröffentlicht die Variablen in OPC-UA-konformer Node-Struktur. Durch die Unterstützung von FileTypes für OPC UA ist es z.B. möglich, signierte PDF-Dateien bereitzustellen, die während des Produktionsablaufs erzeugt werden. Neben OPC UA ist auch ein RESTful-Web-Service integriert, was den Zugriff für Web-Applikationen wie Mobile Apps oder Datenanalyse-Tools erleichtert. Die möglichen Datenquellen und -ziele können z.B. sein:

  • • OPC UA Server/Client (SPS/PC/Embedded Devices)
  • • MQTT (IoT-Devices)
  • • Server/Client mit RESTful Webservices
  • • Datenbanken (z.B. MySQL, MSSQL, Oracle, SAP), Textdateien (z.B. CSV, XML), Dateien mit benutzerdefiniertem Format
  • • SPS-Steuerungen (S7, S5, Wago, Rockwell, Beckhoff, Modbus, Ethernet/IP)
  • • Devices mit Standardprotokollen wie RFC 1006 (RAW), TCP/IP RAW oder ASCII
  • • CNC-Maschinen, Spritzgießmaschinen (OPC UA, Euromap, Seriell)
  • • sonstige Geräte mit TCP/IP oder Serial Interface
  • • Barcode/RFID Scanner
  • • Maschinen mit seriellen Protokollen/Informationen
  • • Digitale/Analoge I/Os zur Anbindung von konventionellen Maschinen ohne Interfaces
  • • Daten aus Servern
  • • Codabix-intern generierte Variablen

Entwicklung und Aufbau

Codabix wurde vollständig in der ausgereiften und systemunabhängigen Programmiersprache C# entwickelt. Die aktive Beteiligung von Microsoft an der Linux-Welt (.NET Core) lässt erkennen, dass gerade .NET-Applikationen systemunabhängig lauffähig sind bzw. sein werden. Traeger nutzt für Codabix stets die aktuellsten .NET-Interfaces, damit das Tool gut auf .NET Core ausgerichtet ist. Das Tool läuft auf allen Windows-Desktop- und -Server-Versionen. Voraussetzung ist das .NET Framework, mindestens in Version 4.6. Die Anforderungen an CPU-Leistung, Arbeitsspeicher und Festplatte hängen vom gewünschten Datendurchsatz und Datenvolumen ab. Die Data Bridge kann als Applikation im Benutzermodus oder als Dienst gestartet werden. Die Lauffähigkeit auf Nicht-Windows-Systemen ist in Vorbereitung. Das Tool hat eine modular aufgebaute Struktur bestehend aus Codabix Core, sowie den einzelnen Plugins bzw. Interfaces für die Maschinenkommunikation und IT-Anbindung. Im Core laufen sämtliche Daten des Systems zusammen: Sie werden u.a. vorverarbeitet, nachverarbeitet, skaliert, konvertiert oder geroutet. Die Core besteht aus einem Highspeed Data Cache, der einen hohen Datendurchsatz garantiert. Sämtliche Aktualwerte befinden sich im Arbeitsspeicher und sind somit für die angeschlossenen Plugins schnell abrufbar. Im Core befinden sich folgende Module:

  • • Web Interface zur Konfiguration/Parametrierung/Verwaltung
  • • Datenbank für die Konfiguration
  • • Highspeed Data Cache
  • • Historische Datenbank
  • • Benutzerverwaltung

Es werden Interfaces, Objekte, Funktionen und Methoden bereitgestellt, die es ermöglichen, Plugins zu implementieren. Durch dieses Konzept ist Codabix beliebig erweiterbar und anpassbar. So lassen sich problemlos spezielle Datenformate oder Maschinen mit eigenen Übertragungstelegrammen integrieren. Ebenso lassen sich so Verbindungen zu externen Services von Drittanbietern oder der Aufbau von Clustern realisieren. Über Plugins werden Maschinen, IT-Systeme und Benutzer verbunden. Sie werden je nach Anwendung und Zweck in eine der drei Kategorien eingeteilt:

  • • Device Plugins dienen zum Anschluss SPSen, CNCs, I/Os oder seriellen Geräten. Für Simatic-S7-Verbindungen lassen sich Variablen direkt aus der Simatic-Programmier-Software importieren. Über das OPC-UA/Euromap-Plugin lassen sich beispielsweise Arburg-Kunststoffgießmaschinen anbinden. In Codabix muss lediglich die OPC-UA-Verbindung definiert werden. Ein Browsen am definierten Server erstellt vorhandene Variablen automatisch. Diese lassen sich einfach ins System einbinden.
  • • Interface Plugins werden verwendet, um interaktive Verbindungen zu IT-Systemen oder Anwendern herzustellen. Diese sind z.B. Anbindung von OPC UA Clients, Realisierung von Nach-/Vorverarbeitung (Script Plugin) oder Bereitstellung der Daten für Bedien- und Analyse-Tools. Der Zugriff auf die Variablen des Systems kann beliebigen Benutzergruppen detailiert zugeteilt werden. So kann skaliert werden, welche OPC UA Clients auf welche Anlagenteile Zugriff erhalten. Im Script Plugin können sämtliche Variablen parallel vor- oder nachverarbeitet werden.
  • • Exchange Plugins realisieren die Integration von Datensystemen. Dazu zählen z.B. Datenbanken, Dateien oder Tabellenkalkulationen. Die Verbindung zu anderen Datensystemen ist dabei stets erweiterbar. So wird z.B. im Database-Plugin lediglich die Verbindung zur Datenbank konfiguriert. Durch Browsen der Datenbank über das Web-Frontend werden die existierenden Tabellen und Spalten automatisch als Codabix-Variablen erzeugt. Durch SQL-Expressions lässt sich das Lese- und Schreibverhalten zur Datenbank festlegen. Auf diese Weise lassen sich auch beliebige Zeilen einer Spalte als Variablen über Codabix ansprechen. SPS oder OPC UA Client können so direkt aus der Datenbank lesen und schreiben.

Weg des Prozesswertes

Je nach Eigenschaft der Datenquelle und des Datenziels gelangen die aktuellen Werte im Polling- oder Event-Verfahren in die Data Bridge. Nach Eintreffen sind diese automatisch im Highspeed Data Cache des Systems verfügbar. Die Werte können Zeitstempel und Qualitätsinformationen enthalten. Aktualwerte lassen sich automatisch in der historischen Datenbank mit Zeitstempel ablegen. Im Script Plugin kann beim Eintreffen eine Event-Funktion ausgeführt und eine Nachverarbeitung der Daten durchgeführt werden. So könnte man beispielsweise einen Datenstrom in einzelne Variablenwerte splitten oder die Variablenwerte wieder zu einem Datenstrom zusammenführen. Mit wenig Aufwand kann der Anwender also eigene Plugins erstellen. Im 4. Quartal strebt Traeger die Veröffentlichung einer Developer-Version von Codabix an. Dazu wird ein Interface für C# herausgegeben, mit dem der Anwender eigene Plugins, Maschinen und Datenformate integrieren kann.