← Docs Hub

OPC-UA Server Integration

OPC-UA Server anbinden, Edge Gateway, MQTT UNS Pipeline, MTP fur Prozessindustrie, ISA-95

Overview

Maschinen in der Fertigung stellen ihre Daten per OPC-UA Server bereit — jede CNC, jeder Roboter, jede SPS hat einen eingebauten OPC-UA Server, der Prozesswerte, Zustande und Alarme exponiert. OpenShopFloor verbindet sich mit diesen OPC-UA Servern und bringt die Daten in die Plattform: in den Knowledge Graph, in die Historian Time-Series DB und in den Unified Namespace (MQTT).

OPC-UA Server
Jede Maschine hat einen OPC-UA Server. Er exponiert Tags (Variablen), Methoden und Events in einem hierarchischen Address Space.
Edge Gateway
Liest OPC-UA Tags per Subscription, publiziert Werte auf den MQTT Broker im UNS-Format. Kepware, Ignition, oder custom Node-RED.
OpenShopFloor
Empfangt die MQTT-Daten und verteilt sie: Historian speichert, KG Agent entdeckt Maschinen, UNS Stream zeigt live an.

OPC-UA Server auf Maschinen

Ein OPC-UA Server ist ein Dienst, der direkt auf der Maschine (SPS, CNC-Steuerung, Roboter-Controller) lauft. Er stellt einen Address Space bereit — eine hierarchische Struktur mit:

  • Variablen (Tags) — Echtzeitwerte wie Spindeldrehzahl, Temperatur, Vorschub, Stuckzahl, OEE. Jeder Tag hat eine NodeId, einen Datentyp und eine Engineering Unit.
  • Objekte — Hierarchische Gruppierung: Maschine → Achsen → Spindel → Drehzahl. Folgt dem ISA-95 Equipment Model.
  • Methoden — Aufrufbare Funktionen auf der Maschine, z.B. Programm starten, Werkzeug wechseln, Reset.
  • Events & Alarme — Storungen, Warnungen, Zustandswechsel. OPC-UA Alarms & Conditions (A&C).

Typische OPC-UA Server in der Fertigung

MaschineOPC-UA ServerTypische Tags
CNC-FrasmaschineSiemens SINUMERIK, Fanuc, HeidenhainSpindleSpeed, FeedRate, ToolId, ProgramName, PartsCount
SpritzgussmaschineEUROMAP 77/83 (OPC-UA Companion Spec)CavityPressure, MeltTemp, CycleTime, ShotWeight, MoldTemp
RoboterKUKA, ABB, Fanuc (OPC-UA Robotics CS)JointPositions, TCP_Speed, ProgramState, CycleCount
SPS / PLCSiemens S7 (OPC-UA), Beckhoff TwinCAT, CodesysTemperatur, Druck, Durchfluss, Ventilstellung, Status
MontageliniePackML State Machine (OPC-UA)CurrentState, StationOEE, TaktTime, ScrapCount

Daten-Pipeline: OPC-UA → MQTT → OpenShopFloor

Der Standardweg: Ein Edge Gateway liest die OPC-UA Tags per Subscription und publiziert die Werte auf den MQTT Broker im ISA-95 UNS-Topic-Format:

// Datenfluss: OPC-UA Server → OpenShopFloor
OPC-UA Server (auf CNC-001, opc.tcp://10.0.1.20:4840)
│ Subscription: SpindleSpeed, FeedRate, PartsCount
Edge Gateway (Kepware / Ignition / Node-RED / custom)
│ Mapping: NodeId → MQTT Topic
│ ns=2;s=Spindle.Speed → Factory/CNC-001/.../OEE/spindle_speed
MQTT Broker (Unified Namespace)
├──▶ Historian → TimescaleDB (time-series speichern)
├──▶ KG Agent → Neo4j (Maschine + Sensoren entdecken)
└──▶ UNS Stream → SSE (Live-Dashboard im Browser)
Info
Das Topic-Format folgt ISA-95: Factory/{Machine}/{Order}/{Step}/{Category}/{Variable}. Der KG Agent parst diese Topics automatisch und erstellt Maschinen- und Sensor-Knoten im Knowledge Graph.

Edge Gateway Optionen

Kepware / KEPServerEX
Industriestandard. OPC-UA Client → IoT Gateway → MQTT Publisher. Drag & Drop Tag-Mapping.
Ignition Edge
OPC-UA Verbindung + MQTT Transmission Module. Tag-Groups mit konfigurierbarer Publish-Rate.
Node-RED + node-red-contrib-opcua
Open-Source. OPC-UA Client Node → Function Node (Mapping) → MQTT Out Node. Flexibel, kostenlos.
Custom Agent (geplant)
OpenShopFloor OPC-UA Discovery Agent: Auto-Browse, Auto-Map zu UNS Topics, Auto-Register im KG.

OPC-UA im Knowledge Graph

Der KG Builder kennt opcua als Source-Typ. OPC-UA Mappings definieren, welche Server und Tags zu welchen KG-Knoten werden:

// Jede Maschine wird ein Knoten im KG
MERGE (m:Machine {id: 'CNC-001'})
SET m.name = 'DMG MORI DMU 50',
m.opcua_endpoint = 'opc.tcp://10.0.1.20:4840',
m.area = 'Fertigung',
m.line = 'CNC-Linie-1'
// ISA-95 Equipment Hierarchy
MERGE (site:Site {id: 'Werk-Sued'})
MERGE (area:Area {id: 'Fertigung'})
MERGE (line:Line {id: 'CNC-Linie-1'})
MERGE (site)-[:CONTAINS]->(area)
MERGE (area)-[:CONTAINS]->(line)
MERGE (line)-[:CONTAINS]->(m)
// Sensoren (OPC-UA Tags) als eigene Knoten
MERGE (s:Sensor {id: 'CNC-001/spindle_speed'})
SET s.unit = 'rpm', s.category = 'OEE'
MERGE (m)-[:HAS_SENSOR]->(s)
Tip
Der KG Agent entdeckt Maschinen und Sensoren automatisch aus MQTT-Topics — ohne manuelle Konfiguration. Neue Maschine anschliessen, und sie erscheint in Sekunden im Graph.

MTP (VDI 2658) fur Prozessindustrie

In der Prozessindustrie (Pharma, Chemie) beschreiben sich modulare Anlagenteile per Module Type Package (MTP). Ein MTP-File ist ein AutomationML/CAEX XML-Dokument mit:

  • Process Equipment Assemblies (PEAs) — Physische Module wie Reaktoren, Dosieranlagen, Separatoren. Jedes PEA hat einen eigenen OPC-UA Server.
  • Services — Ausfuhrbare Operationen mit Zustandsmaschinen: Start, Pause, Abort, Complete.
  • Prozessvariablen — Jede Variable hat einenopcuaNodeId fur direkten Zugriff auf den OPC-UA Server des Moduls.

OpenShopFloor parst diese MTP-Files und erstellt daraus automatisch Knoten im Knowledge Graph: Equipment → Service → Variable. Der OPC-UA Endpoint wird gespeichert fur spatere direkte Kommunikation.

MTP → KG Mapping

MTP ElementKG KnotenKG Beziehungen
PEA (Reaktor, Dosierer)EquipmentCONTAINS → Service, HAS_VARIABLE → Variable
Service + ProzedurenServiceHAS_PROCEDURE → Procedure
ProzessvariableVariableopcuaNodeId → direkter OPC-UA Tag-Zugriff

CESMII Smart Manufacturing Profiles

CESMII SM Profiles definieren standardisierte Typen fur Fertigungsequipment im OPC-UA NodeSet XML Format. Der Parser extrahiert:

  • Typ-Hierarchien — z.B. CNCMachine erbt von Machine
  • Attribute — Datentypen und Units pro Equipment-Typ
  • Beziehungen — HasProperty, HasComponent zwischen Typen

SM Profiles werden als Schema-Hints fur den KG Builder verwendet: sie definieren, welche Knoten-Typen und Properties der Graph haben soll.

Domain Templates

Jede Industrie hat andere OPC-UA Server, andere Standards und andere Anforderungen. OpenShopFloor liefert vorkonfigurierte Templates:

Diskrete Fertigung
OPC-UA: SINUMERIK, Fanuc, Heidenhain
Standard: ISA-95, CESMII SM Profiles
Knoten: Machine, Article, Order, Material, Supplier, Tool
Pharma
OPC-UA: MTP/PEA Server (VDI 2658)
Standard: GMP, 21 CFR Part 11
Knoten: Reactor, Batch, Recipe, CleanRoom, QualityTest
Chemie / Prozessindustrie
OPC-UA: MTP/PEA Server, DCS OPC-UA Gateway
Standard: ISA-88 / ISA-95
Knoten: ProcessUnit, Stream, Recipe, PID_Loop, Alarm
Medizintechnik
OPC-UA: Reinraum-SPS, Sterilisationsanlagen
Standard: MDR, UDI Traceability
Knoten: DeviceAssembly, CleanRoom, SterilizationBatch, UDI

Roadmap

Geplante OPC-UA Features:

  • OPC-UA Discovery Agent — Automatisch OPC-UA Server im Netzwerk finden, Address Space browsen, Tags auf MQTT UNS Topics mappen, Maschinen im KG registrieren.
  • Direkte Tag Subscription — OPC-UA Subscriptions ohne MQTT-Umweg fur Hochfrequenz-Daten (Schwingungsanalyse, Werkzeugbrucherkennung).
  • OPC-UA Method Calls — Uber den KG Maschinenoperationen auslosen: Programm starten, Parameter setzen, Werkzeugwechsel initiieren.
  • PackML State Machine — PackML-Zustande (Execute, Idle, Stopped, Aborted) als KG-Knoten fur Echtzeit-Equipment-Tracking.
  • Alarms & Conditions — OPC-UA A&C Events als Alarm-Knoten im KG fur AI-gestutzte Root-Cause-Analyse.

This site uses a cookie to remember your preferences. Analytics are anonymous and cookie-free. Privacy Policy