Zum Zugriff auf externe OPC-Server muss zuerst in der Client-Funktion ein externer Server eingerichtet. werden (Quelle: IBHsoftec)
Um IoT-Anwendungen in der Produktion zu realisieren, ist der Zugriff auf Daten aus der OT-Ebene unerlässlich. Früher bestand der Ansatz darin, eine separate Infrastruktur aufzubauen, um die vorhandenen Steuerungsstrukturen in Brownfield-Anwendungen nicht zu gefährden. Doch mittlerweile hat sich die Erkenntnis durchgesetzt, dass es einfacher ist, Prozessdaten direkt aus der Steuerung auszulesen.
Der IBH Link UA von IBHsoftec ist eine etablierte OPC-UA-Server/-Client-Baugruppe mit integrierter Firewall, die genau für solche Aufgaben entwickelt wurde. Es handelt sich um ein kompaktes Gerät zur Hutschienenmontage mit einer DC-24-V-Stromversorgung. „Unsere Baugruppe kann als zentraler Server Daten von verschiedenen Steuerungen verarbeiten“, betont A. Hulsch. Dadurch können Daten von unterschiedlichen Geräten und Systemen zusammengeführt werden, beispielsweise für Analyseaufgaben.
Durch die Integration von Python-Modulen wird die Flexibilität weiter gesteigert. Dies ermöglicht die Umsetzung neuer Anwendungen auf individuelle und flexible Weise. Es eröffnen sich neue Möglichkeiten für die Analyse und die Automatisierung, indem Datenmodelle bzw. Companion Specs (Nodesets) eingelesen und mit Python-Modulen verknüpft werden können. Python ist eine weit verbreitete, normalerweise interpretierte Hochsprache, die für ihren gut lesbaren und prägnanten Programmierstil bekannt ist. „Python gewinnt immer mehr Anhänger, und viele Software-Entwickler setzen auf Python“, wie A. Hulsch ergänzt. „Man könnte sagen, Python ist der Nachfolger von Basic.“
Dank der Baugruppe IBH Link UA besteht nun die Möglichkeit, Datenmodelle bzw. Companion Specs in Form von Nodesets einzulesen und mit Python-Modulen zu verknüpfen. Zu beachten ist jedoch, so merkt A. Hulsch an, dass „diese Option nur im IBH Link UA mit Quadcore-Prozessor verfügbar ist, da hierfür mehr Speicher benötigt wird“. Der auf Linux basierende Softwarestack von IBHsoftec kann auch direkt auf den Mitsubishi-Electric-Steuerungen der Serie iQ-R (RD55) ausgeführt werden. „Auch hier wird die Integration von Python-Modulen möglich sein“, hebt A. Hulsch hervor.
Komplexe Aufgaben leicht automatisieren
Aber wozu ist das überhaupt nötig? Nun, Python ermöglicht die Automatisierung von komplexen Aufgaben, sei es die Überwachung von Maschinenparametern oder die Optimierung von Produktionsprozessen. Mithilfe dieser Programmiersprache können große Datenmengen analysiert und ausgewertet werden, um Trends und Muster zu identifizieren und Prozesse zu verbessern.
Durch die Integration von Python-Modulen für maschinelles Lernen wird es möglich, Maschinenparameter und -daten zu analysieren, um Vorhersagen zu treffen und Empfehlungen zur Optimierung der Maschinenleistung auszusprechen. Es ist sogar möglich, Daten aus verschiedenen Quellen und Systemen zu integrieren, um ein umfassendes Bild von der Maschinenleistung und -produktivität zu erhalten.
Ein einfaches praktisches Beispiel, das bereits von IBHsoftec umgesetzt wurde, ist ein Analysegerät mit einer OPC-Schnittstelle. „Das Messsystem misst die Viskosität von Flüssigkeiten. Eine Messung wird über eine OPC-Methode als SPS-Aufruf ausgelöst“, erklärt der Manager von IBHsoftec. „Abhängig vom Ergebnis greift die SPS dann erneut in den Prozess ein, und wir haben einen geschlossenen Regelkreis.“
Neben solchen Aufgaben zur Überwachung und Optimierung der Produktion können auch riesige Datenmengen analysiert werden, beispielsweise zur Erkennung von Trends. Es besteht auch die Möglichkeit, Python-Module für maschinelles Lernen zu integrieren. „Oder die Daten können in die Azure Cloud über tragen werden, um sie dort mit KI-Tools zu analysieren“, ergänzt der CTO. „Selbstverständlich ist auch die einfache Implementierung eines MQTT-Protokolls mit Python möglich.“ A. Hulsch hebt hervor, dass eine umfangreiche Python-Bibliothek zur Verfügung steht.
Zugriff auf Datenbanken
„Ein weiteres Beispiel betrifft den Zugriff auf Datenbanken“, führt A. Hulsch fort. „In der Datenbank können Prozessdaten, Alarme und Ereignisdaten verwaltet werden. SPS-Systeme können direkt mit externen SQL-Datenbanken verbunden werden, ohne in das Steuerungsprogramm eingreifen zu müssen. Python ermöglicht den Zugriff auf die Datenbanken, sodass die SPS über den IBH Link UA Daten an die SQL-Datenbank senden kann. „Mithilfe des Python-Programms wird beispielsweise ein bestimmtes Bit in der SPS gesetzt, um einen Datensatz in die Datenbank zu schreiben“, erklärt A. Hulsch. „Interessant ist dabei, dass Daten aus verschiedenen Steuerungen gesammelt werden können.“
Sobald die Daten in der SQL-Datenbank vorliegen, können sie problemlos anderen Anwendungen zugeführt werden. SQL-Funktionen lassen sich in Verbindung mit OPC-Variablen ausführen. A. Hulsch erläutert, dass der aktuelle Wert einer OPC-Variablen abgerufen und in eine SQL-Abfrage einbezogen werden kann, um andere Variablenwerte zu aktualisieren oder Daten in eine Datenbank zu schreiben. Außerdem ist der Zugriff auf externe OPC-Server möglich. Zusätzlich können im externen Server auch Methoden ohne Parameter aufgerufen werden. „Es ist möglich, eine Methode in einem anderen OPC-Server aus einer SPS heraus aufzurufen“, freut sich A. Hulsch.