Case Study:
Umsetzung
In einer Evaluation wurde OPC UA als passende Schnittstellentechnologie identifiziert. Ein Vertreter der OPC Foundation prüfte den gewählten Ansatz für die vertikale Integration.
Das Projekt wurde in zwei Teile geteilt. Der erste Teil widmete sich der SPS Ansteuerung über den Industrie-PC (IPC). Die Herausforderung dabei: Die Maschinentypen unterschieden sich hinsichtlich Sensorik und Aktorik zum Teil sehr stark. Damit man den OPC UA-Teil der Anwendung maschinentypunabhängig halten konnte, entschieden wir uns für die Implementierung eines dynamischen Maschinenmodells. Dessen Flexibilität erlaubte sogar die Anbindung an die SPS eines anderen Herstellers (Siemens S7), ohne das Modell zu ändern.
Ein OPC UA Client, der sich mit der SPS verbindet, liest dazu deren Komponenten und baut mit den gewonnenen Informationen das Maschinenmodell dynamisch auf. Dieses Modell umfasst nicht nur Daten wie Achspositionen oder Temperaturen, sondern auch Funktionen zur Steuerung der Anlage – wie beispielsweise die Referenzfahrt einer Achse. Im Maschinenmodell werden semantisch zusammengehörige Daten und Funktionen zu Objekten zusammengefasst.
Zusätzlich wurde ein Alarmierungssystem zur Behandlung von SPS Fehlern im IPC entwickelt. Die gewählten Implementierungsansätze und das verwendete Software Development Kit (SDK) wurden mit verschiedenen Last- und Funktionstests validiert.
Der zweite Teil des Projekts widmete sich der Kommunikation nach außen. Durch den objektorientierten Ansatz von OPC UA lassen sich Objekte aus dem Maschinemodell 1:1 in einem OPC UA Server dynamisch veröffentlichen. Damit können beliebige OPC UA Clients wie Kameraüberwachung und Service-Tools ohne zusätzlichen Programmieraufwand auf das dynamische Maschinenmodell zugreifen. Auch Daten des IPC – wie Informationen über den Maschinenstatus oder den aktuell bearbeiteten Auftrag – wurden über OPC UA veröffentlicht und damit für SCADA, MES und ERP-Systeme zugreifbar gemacht.
Bei Schnittstellen nach außen ist es wichtig, das Thema Sicherheit sorgfältig zu betrachten.
Weil das eingesetzte OPC UA SDK bereits Möglichkeiten für eine Verschlüsselung des Datenverkehrs bietet, mussten wir nur sicherstellen, dass die Performance ausreichend hoch bleibt.
Für die Authentifizierung bietet OPC UA unterschiedliche Varianten an. Eine sehr sichere ist die Verwendung von Zertifikaten. In einem Produktionsumfeld, in dem Maschinen oft keine direkte Internetanbindung haben, ist die Bereitstellung und Aktualisierung von Zertifikaten allerdings nur mit großem Aufwand realisierbar.
Eine Authentifizierung nur über Benutzername und Kennwort wurde als zu unsicher angesehen, wir entschlossen uns daher für eine zusätzliche Absicherung. Dazu erweiterten wir die Standardimplementierung des OPC UA SDK und integrierten einen eigenen zweistufigen Authentifizierungsablauf, der die Sicherheit deutlich verbesserte. Die zusätzliche Authentifizierung haben wir abschließend mit Code-Reviews und Penetrationstest ausgiebig getestet.
Abschließend haben wir ein erweitertes Rollenkonzept eingeführt, um die Zugriffsrechte auf das Modell präziser erteilen zu können. Damit wurde es möglich, die Schnittstelle nicht nur für die Tools des Kunden zu nutzen, sondern auch Dritten anzubieten, denen jeweils nur ein definiertes Subset des Maschinenmodells zur Verfügung stand.
Fazit
Folgende Verbesserungen wurden erreicht:
- Dynamisches Modell, das alle Maschinenvarianten abdeckt
- Sichere Anbindung von Maschinen über OPC UA
- Ein umfeldspezifisches Rollensystem
- Einfachere Wartung durch eine klare semantische Struktur der Maschinendaten
- Industrie 4.0-konforme Maschinenschnittstelle für SCADA, MES und ERP-Systeme
Die Neuerungen werden von Entwicklern, Servicemitarbeitern und von Kunden unseres Kunden gleichermaßen geschätzt, denn sie können schneller und verständlicher mit ihren Maschinen arbeiten.