OPC UA und Informationsmodellierung
Wir beraten Gerätehersteller und OEMs bei der OPC UA Informationsmodellierung. Wir entwerfen den Adressraum, wenden die Companion Specification an oder erweitern sie und bauen die Server und Clients, die das Modell bereitstellen.
Für wen wir arbeiten
-
Gerätehersteller
Ihr Produkt soll OPC UA direkt im Gerät bereitstellen, mit einem korrekten Informationsmodell.
-
Maschinenbauer
Das MES Ihres Kunden soll den OPC-UA-Adressraum Ihrer Maschine durchsuchen können, ohne eigenes Übersetzungsprojekt an jedem Standort.
-
Softwareanbieter
Sie möchten Ihre Plattform um einen OPC-UA-Server oder -Client erweitern, mit einem Sicherheitsmodell, das die IT der Anlage auch akzeptiert.
Was wir tun
- 01
Entwurf des Informationsmodells
Wir entwerfen den Adressraum aus den realen Signalen der Maschine und typisieren ihn nach der Companion Specification, wo es eine gibt.
- 02
Arbeit an Companion Specifications
Wir wenden EUROMAP-, VDMA- und andere Companion Specifications zu IEC 62541 an, erweitern sie um Signale, die sie noch nicht abdecken, und passen die Umsetzung an, wenn eine neue Version erscheint.
- 03
Entwicklung von Servern und Clients
Wir entwickeln OPC-UA-Server und -Clients für Embedded-, Linux- und Windows-Plattformen, auch wenn der Stack auf ein Gerät mit knappen Ressourcen passen muss.
- 04
Aggregierende Server
Wir führen viele Maschinen an einem Endpunkt zusammen. Der Server greift dazu als Client auf die vorhandenen Server zu und ist keine weitere Umsetzungsschicht.
- 05
Migration von OPC DA auf OPC UA
Aus einer Tag-Liste wird ein typisiertes Modell. Was bisher nur in Namen und im Wissen der Anlage steckte, machen wir explizit und bilden es korrekt ab.
- 06
Umsetzung des Sicherheitsmodells
Wir setzen Zertifikate, Trust Lists und Security Policies um, lösen die abgekündigten Policies ab und übernehmen auch die Arbeit am Security Key Service für PubSub.
- 07
Schulung, gemeinsame Entwicklung und Langzeitbetreuung
Wir führen Ihre Ingenieure durch Modell und SDK, damit sie den Adressraum ohne uns erweitern können. Nach der Auslieferung des Produkts stehen wir als Third-Level-Support hinter ihnen.
Normen und Plattformen
- Normen
- IEC 62541 (OPC UA) · EUROMAP 77 / 79 / 82 / 84 · VDMA Companion Specifications · OPC UA PubSub
- Plattformen
- Embedded und RTOS · Embedded Linux · Windows · Steuerungen mit FPGA
- Was Sie erhalten
- NodeSet2-Informationsmodell · Server- und/oder Client-Implementierung mit Build-Umgebung · Hinweise zur Konformität mit der Companion Specification · Ablauf für Zertifikate und Trust List · Migrationsprotokoll, wenn eine Modellversion gewechselt hat · ein geschultes Team
Was umfasst die Beratung zur OPC UA Informationsmodellierung?
Bei der OPC UA Informationsmodellierung entwerfen wir den Adressraum aus den realen Signalen der Maschine.
Unsere Kunden sind Gerätehersteller, Maschinenbauer und Softwareanbieter. Wir entwerfen den Adressraum aus den realen Signalen der Maschine, wenden die passende Companion Specification zu IEC 62541 an oder erweitern sie und bauen die Server und Clients, die das Modell bereitstellen. Unser eigenes Modellierungswerkzeug erzeugt NodeSet2 aus Basis- und Companion Specifications; mit ihm entstand das Robotermodell nach EUROMAP 79 für eine ausgelieferte Kunststoff- und Gummimaschine. Projekte fallen meist in eine oder mehrere dieser Gruppen:
- Ein Modell für ein neues Produkt. Systementwurf und Architektur mit OPC UA, von den Signalen der Maschine bis zu einem NodeSet2, das das MES eines Kunden durchsuchen kann.
- Eine Companion Specification, richtig angewendet. Arbeit an Companion Specifications zu IEC 62541, einschließlich Erweiterungen für Signale, die die Spezifikation nicht abdeckt.
- Entwicklung von Servern oder Clients. OPC-UA-Server und -Clients für Embedded-, Linux- oder Windows-Plattformen.
- Ein Endpunkt für viele Maschinen. Entwicklung aggregierender OPC-UA-Server, wenn die Maschinen schon OPC UA sprechen und das Problem das Zusammenführen ist. Unser Team hat die Schicht gebaut, über die ein entferntes ERP mehrere Maschinen einer Fertigungslinie abonniert hat.
- Eine Migration. Von OPC DA auf OPC UA, oder die Migration einer EUROMAP-Version, wenn sich die Companion Specification unter einem ausgelieferten Produkt geändert hat.
- Das Sicherheitsmodell. Umsetzung des OPC-UA-Sicherheitsmodells, Verwaltung von Zertifikaten und Trust Lists und die weiter unten beschriebene Ablösung alter Security Policies.
Anlagen nehmen wir nicht in Betrieb. Modell, Server und Sicherheitsentwurf in Ihrem Produkt oder Ihrer Plattform entwickeln wir, und wir testen sie mit Ihren Ingenieuren vor Ort und remote.
Was entscheidet über den Erfolg eines OPC-UA-Projekts?
Das Informationsmodell entscheidet, ob alles danach günstig oder teuer wird.
Die Maschinen zweier Hersteller, die beide typisierte Modelle nach Companion Specification bereitstellen, kann eine einzige MES-Integration nutzen. Stellen dieselben zwei Maschinen nur Tag-Listen bereit, braucht jede ihre eigene Integration und eine weitere, sobald sich eine von beiden ändert. Die Kosten entstehen nicht an der Maschine, sondern jedes Mal, wenn jemand ihre Daten nutzen muss. Die Migration von OPC DA auf OPC UA ist deshalb Modellierungsarbeit und kein Protokolltausch. Eine DA-Tag-Liste trägt die Bedeutung der Anlage implizit, in Namenskonventionen und im Wissen der Leute, die sie gebaut haben. Wir machen diese Bedeutung explizit, als typisierte, strukturierte Daten. Wer dieselbe Tag-Liste nur in einen OPC-UA-Server packt, nimmt das Problem mit.
Welche Companion Specification gilt für meine Maschine?
Zuerst nachsehen: Für die meisten Maschinenarten gibt es inzwischen eine, und ein eigenes Modell daneben ist eine bewusste Entscheidung.
Für Kunststoff- und Gummimaschinen gibt es die EUROMAP-Reihe, und dort liegt unsere ausgelieferte Arbeit: EUROMAP 83 für die allgemeinen Typdefinitionen, 77 für die Schnittstelle von der Spritzgießmaschine zum MES, 79 für Roboter und Handhabungsgeräte. Für Werkzeugmaschinen gibt es umati. Der VDMA hat für eine lange Liste von Branchen veröffentlicht, und die OPC Foundation führt das vollständige Verzeichnis. Zwei Fragen sind regelmäßig zu klären:
- Wie das Modell dort erweitert wird, wo die Spezifikation nicht hinreicht. Wir entwerfen die Erweiterung im Typsystem der Spezifikation selbst und hängen keine zusätzlichen Tags daneben.
- Was passiert, wenn die Companion Specification eine neue Version bekommt, während ein Produkt schon im Feld ist. Die Migration einer EUROMAP-Version für OPC UA ist eine eigene Aufgabe, weil die MES-Integration eines Kunden an die ausgelieferten Typen gebunden ist.
Auf welchem OPC-UA-Stack sollte ich aufbauen?
Die Auswahl wird klein, sobald Stückzahl und Supportpflichten feststehen, und die Lizenz entscheidet selten.
| Stack | Was er ist | Wann wir ihn wählen |
|---|---|---|
| open62541 | C99 unter einer offenen Lizenz, ohne Laufzeit- oder Knotengebühr. Sein Beispielserver trägt eine Zertifizierung der OPC Foundation, und das Projekt dokumentiert Server-Binärdateien deutlich unter 100 kB, je nach Modell. Auf einem Gerät mit knappen Ressourcen zählt das | Unsere Standardwahl, wo er passt, und das ist oft der Fall. Die ausgelieferte Arbeit an der Kunststoff- und Gummimaschine beruht auf ihm. Das Projekt selbst rät, für ein geschäftskritisches Produkt mit einem kommerziellen Anbieter zu sprechen, und diesen Rat geben wir weiter |
| S2OPC | Eine formale, auf Sicherheit ausgerichtete Herkunft: CSPN-Zertifizierung der ANSSI, eine Herkunft nach EN 50128 SIL2 | Wenn ein zertifizierter, sicherer Stack wichtiger ist als der kleinste Speicherbedarf. Unser eigener abgesicherter OPC-UA-PubSub-Demonstrator über TSN beruht auf ihm |
| node-opcua | Eine Implementierung in Node.js | Die Plattform läuft schon auf Node.js, oder der Client ist eine Webanwendung |
| Ein kommerzielles SDK | Ein Supportvertrag, mehr Funktionsumfang, Unterlagen zur Zertifizierung und ein Ansprechpartner, zu Lizenzkosten meist je Produkt oder je Knoten | Ein Maschinenbauer mit hohen Stückzahlen und langer Servicepflicht, für den es die wirtschaftlichste Lösung sein kann |
Wir verkaufen keinen dieser Stacks weiter. Wir portieren und integrieren den Stack, den Sie wählen, und sagen Ihnen vor der Entscheidung, welchen wir empfehlen und warum.
Was macht einen OPC-UA-Server langsam?
Meist das Zugriffsmuster, gelegentlich der Aufbau des Adressraums im Stack selbst.
Ein Client, der pollt, liest jedes konfigurierte Tag in einem festen Intervall, ob sich etwas geändert hat oder nicht. Fünfhundert Tags auf zwanzig Maschinen erzeugen deshalb um drei Uhr morgens dieselbe Last wie mitten in der Schicht. Subscriptions mit überwachten Elementen (Monitored Items) kehren das um: Der Server beobachtet die Werte und benachrichtigt den Client, wenn sie sich ändern. Genau dafür sind diese Dienste entworfen.
- Der Aufbau des Adressraums ist der kleinere der beiden Effekte. Ein statischer, einkompilierter Adressraum ist etwas schneller als einer, der jeden Wert bei jedem Lesezugriff aus einem externen Speicher holen muss.
- Die Einstellungen, die übersprungen werden. Abtastintervall (Sampling Interval) und Sendeintervall (Publishing Interval) sind zwei verschiedene Einstellungen und stehen trotzdem oft auf demselben Wert. Queue-Größe und Verwerfungsregel bestimmen, welche Werte einer Häufung erhalten bleiben. Ein Totband verhindert, dass ein verrauschter Analogwert Verkehr erzeugt, den niemand liest.
Das Modell selbst ist die andere Hälfte. Ein Adressraum, der zu tief ist, an den falschen Stellen zu flach oder aus Tausenden untypisierter Variablen besteht, ist teuer beim Durchsuchen und beim Abonnieren, und keine Einstellung am Client holt das zurück. Auch deshalb kommt die Modellierung zuerst.
Ist ein OPC-UA-Informationsmodell ein digitaler Zwilling?
Nein, aber beide treffen sich auf der Datenebene.
- Was das Modell für einen Zwilling liefert. Eine typisierte Struktur mit echter Semantik, die ein anderes System abonnieren kann. Das ist die Grundlage, und diese Leistung haben wir geliefert, darunter ein Robotermodell nach EUROMAP 79 aus unserem eigenen Modellierungswerkzeug.
- Was es nicht umfasst. Zur OPC-UA-Modellierung gehört weder der Aufbau von Verwaltungsschalen (Asset Administration Shells) noch die Erstellung von Verhaltens- oder Simulationsmodellen oder die Arbeit auf Zwillingsplattformen wie Azure Digital Twins, MindSphere oder Predix. Der Begriff „Zwilling“ wird für all das verwendet, deshalb ist wichtig, welchen Teil des Entwurfs jedes Stück tatsächlich abdeckt.
Was hat sich bei der Sicherheit von OPC UA geändert?
Die SHA-1-Policies sind abgekündigt; aktuell sind Basic256Sha256, Aes128_Sha256_RsaOaep und Aes256_Sha256_RsaPss.
Ein System, das noch eine der beiden älteren Policies verwendet, läuft auf etwas, das der Standard zurückgezogen hat.
| Security Policy | Status | Grund |
|---|---|---|
| Basic128Rsa15 | Abgekündigt seit OPC UA 1.04 | SHA-1 und RSA-Padding nach PKCS#1 v1.5 |
| Basic256 | Abgekündigt seit OPC UA 1.04 | SHA-1 |
| Basic256Sha256 | Aktuell | Die RSA-Basis, die die meisten Stacks mitbringen |
| Aes128_Sha256_RsaOaep | Aktuell | Der Ersatz für Basic128Rsa15 |
| Aes256_Sha256_RsaPss | Aktuell | AES-256 mit RSA-PSS-Signaturen |
| Ursprüngliche ECC-Policies (nistP256, nistP384, brainpoolP256r1, brainpoolP384r1, curve25519, curve448) | Abgekündigt | Ersetzt durch die Varianten mit AES-GCM und ChaCha-Poly darunter |
| ECC-Varianten mit AES-GCM und ChaCha-Poly (z. B. ECC_nistP256_AesGcm) | Aktuell | Schlüssel auf elliptischen Kurven; vor der Wahl die Unterstützung im Stack prüfen |
Der Betrieb ist schwieriger als die Kryptografie. Was typischerweise scheitert, ist die Verwaltung von Zertifikaten und Trust Lists, oft im dritten Jahr, wenn ein Zertifikat auf einer Maschine abläuft, an der sich seit der Inbetriebnahme niemand angemeldet hat. Erneuerung und Verteilung der Zertifikate behandeln wir als Liefergegenstand, und wenn PubSub im Spiel ist, gehört der Security Key Service zum selben Entwurf.
Wann braucht OPC UA TSN darunter?
OPC UA braucht TSN, wenn Daten deterministisch ankommen müssen, innerhalb einer begrenzten Latenz.
Bei der Integration von OPC UA PubSub über TSN treffen Modellierung und Netz aufeinander: dasselbe Informationsmodell, über PubSub mit begrenzter Übertragungszeit veröffentlicht. Unser Team hat OPC UA mit TSN auf einem NXP i.MX Arm SoC unter openIL integriert, und ein abgesicherter PubSub-Demonstrator hielt einen Zyklus von 1 ms bei aktiver Sicherheit.
Darunter liegt die eigentliche Arbeit am Determinismus, also Qbv-Zeitpläne, Treiber und Messung. Das gehört zum Echtzeit-Ethernet und nicht zur Datenmodellierung. Verlangt die Aufgabe die feine QoS-Steuerung je Topic von DDS (Reliability, Durability, Deadline) und nicht das einfachere Publish/Subscribe von OPC UA PubSub, gehört die Architektur zu einer anderen Middleware-Familie, und die behandelt die Seite zur Datenverteilung.
Häufige Fragen
Wer entwirft das OPC-UA-Informationsmodell für einen Maschinenbauer?
Bauen Sie das MES, oder binden Sie unsere Maschinen daran an?
Was ist der Unterschied zwischen OPC UA und DDS?
Braucht OPC UA PubSub einen Broker?
Unsere Maschinen haben schon OPC-UA-Server. Brauchen wir ein Gateway?
Können Sie unsere Ingenieure am Modell schulen, statt es nur zu übergeben?
Zertifizieren Sie unsere OPC-UA-Implementierung?
- IEC 62541 – OPC Unified Architecture; liefert Adressraum, Typsystem und Dienste, in denen jede Companion Specification geschrieben ist
- EUROMAP 83 – allgemeine Typdefinitionen für Kunststoff- und Gummimaschinen
- EUROMAP 77 / 79 – Spritzgießmaschine zu MES sowie Roboter und Handhabungsgeräte
- OPC 10000-2 – das Sicherheitsmodell von OPC UA, einschließlich der Policies, die ein aktuelles System verwenden sollte
- open62541 – die quelloffene Implementierung von IEC 62541, auf der wir aufbauen; ihr Beispielserver trägt eine Zertifizierung der OPC Foundation
- S2OPC – quelloffene OPC-UA-Implementierung mit CSPN-Zertifizierung der ANSSI und einer Herkunft nach EN 50128 SIL2; Grundlage unseres abgesicherten PubSub-über-TSN-Demonstrators
- node-opcua – quelloffene OPC-UA-Implementierung in Node.js/TypeScript, passend für eine JavaScript-Plattform oder einen Client
Sollen wir das für Ihr Produkt einschätzen?
Lesen Sie zuerst unsere technischen Notizen oder sprechen Sie direkt mit dem Team, das die Arbeit übernimmt.