OPC-UA
OPC-UA (OLE for Process Control - Unified Architecture, IEC 62541) ist ein Standardkommunikationsprotokoll für die industrielle Automatisierung. Fast alle SCADA- / Middleware-Produkte wie Kepware, Matrikon, Prosys und Ignition bieten OPC-UA-Serverfunktionen.
Da die meisten PLCs keine direkte OPC-UA-Serverfunktion besitzen, werden PLC-Werte üblicherweise über eine Gateway-Software wie Kepware als OPC-UA bereitgestellt. Dieses Gateway verbindet sich mit dem OPC-UA-Server, um die Werte zu erfassen.
Der OPC-UA-Client dieses Gateways basiert auf dem Eclipse Milo 1.1.8 SDK.
- Transport: opc.tcp:// (UA Binary encoding)
- Sicherheitsmodus:
None·Sign·SignAndEncrypt· Automatisch — siehe unten Sichere Verbindung - Sicherheitsrichtlinie: Automatisch ·
Aes256_Sha256_RsaPss·Basic256Sha256·Aes128_Sha256_RsaOaep(Veraltete RichtlinienBasic256·Basic128Rsa15müssen separat zugelassen werden) - Benutzerauthentifizierung: Anonym (Anonymous) oder Benutzername + Passwort
- Lesen / Schreiben: Beides unterstützt. Lesen erfolgt über
timecycleIntervall-Polling; UA-Subscription (MonitoredItem) wird nicht verwendet.
Beim Anschluss an OPC UA-Server von DCS- oder Robotersteuerungen beachten Sie bitte auch DCS verbinden · Roboter verbinden.
Eingabewerte im Registrierungsformular
Unter IP und Port finden Sie die Gruppe OPC UA Protokolloptionen mit den Feldern Servername, Benutzer, Passwort und Discovery. Die Kanalverschlüsselung wird in der darunter liegenden Gruppe Sicherheit (Kanalverschlüsselung) festgelegt — siehe Sichere Verbindung.
| Eingabefeld | Beschreibung | Beispiel |
|---|---|---|
| IP-Adresse | IP des OPC-UA-Server-PCs | 192.168.0.40 |
| Port | OPC-UA-Serverport | 49320 (Kepware Standard) / 4840 (Standard) |
| Servername (servername) | Pfadteil der Endpoint-URI | Leer lassen oder OPCUAServer · iotgateway etc. |
| Benutzer (username) | Am OPC-UA-Server registrierte Benutzer-ID. Leer lassen bei Anonym | kopens (je nach Server unterschiedlich) |
| Passwort (password) | Passwort des Benutzers | *** |
| Discovery (discovery) | Bei true wird beim Verbinden der gesamte Node-Baum gebrowsed | false (empfohlen) |
Wenn sowohl Benutzer als auch Passwort eingegeben werden, erfolgt der Zugriff über einen Benutzernamen-Token; ist eines der Felder leer, erfolgt der Zugriff anonym (Anonymous). Für den anonymen Zugriff muss dieser am Server erlaubt sein. Da bei einem Sicherheitsmodus «None» die Kontodaten im Klartext übertragen werden, wird bei Verwendung von Konten «SignAndEncrypt» empfohlen.
Bestimmung des Endpunkts
- Über die Eingabewerte wird
opc.tcp://<IP>:<port>/<servername>erstellt, um die Liste der Endpunkte vom Server abzufragen. - Aus der Liste wird der Endpunkt gewählt, der zum Sicherheitsmodus und zur Sicherheitsrichtlinie passt.
- Sicherheitsmodus None: Bevorzugt wird ein None-Endpunkt, der den verwendeten Benutzertoken (Anonym oder Benutzername) ankündigt; andernfalls der erste None-Endpunkt.
- Sign · SignAndEncrypt · Automatisch: Es wird der Endpunkt mit der stärksten Richtlinie gewählt, der sowohl den gewählten Modus/die Richtlinie als auch den Benutzertoken erfüllt. Wenn kein passender Endpunkt existiert, erfolgt kein Fallback auf None, sondern die Verbindung schlägt fehl (
OPCUA_NO_MATCHING_ENDPOINT).
- Der Host der gewählten Endpoint-URL wird durch die eingegebene IP ersetzt, um die Verbindung herzustellen (Port und Pfad entsprechen den vom Server angekündigten Werten). Es ist keine DNS- oder Hosts-Konfiguration erforderlich, selbst wenn der Server seinen eigenen Hostnamen ankündigt.
Welche Endpunkte der Server ankündigt, kann direkt über die Schaltfläche [Endpunkte abfragen] eingesehen werden — siehe Endpunkte abfragen.
Discovery ist keine Endpunktsuche
discovery=true bewirkt, dass beim Verbindungsaufbau der gesamte Node-Baum ab dem Root-Ordner gebrowsed und im Gateway-Log protokolliert wird. Dies dient weder der Endpunktsuche noch der automatischen Tag-Registrierung. Um die vom Server angebotenen Endpunkte (Sicherheitsmodus, Richtlinien) zu sehen, verwenden Sie nicht Discovery, sondern [Endpunkte abfragen]. Da dies bei Servern mit vielen Nodes eine hohe Last verursacht, sollte dies normalerweise auf false stehen; suchen Sie die NodeId stattdessen mit den unten beschriebenen Methoden.
Sichere Verbindung (Kanalverschlüsselung)
Dies wird in der Gruppe Sicherheit (Kanalverschlüsselung) im Verbindungsbildschirm festgelegt. Wenn nicht «None» gewählt ist, öffnet die Edge einen sicheren Kanal mit ihrem eigenen Client-Zertifikat und erfolgt bei fehlenden passenden Endpunkten kein Fallback auf «None».

| Nummer | Feld | Funktion |
|---|---|---|
| ① | Sicherheitsmodus | None (암호화 없음) · Sign (서명) · SignAndEncrypt (서명+암호화, 권장) · 자동 (Sign·SignAndEncrypt 중 가장 강한 것) |
| ② | Sicherheitsrichtlinie | 자동 (서버가 제공하는 가장 강한 정책) oder eine von Basic256Sha256 · Aes128_Sha256_RsaOaep · Aes256_Sha256_RsaPss. Nicht sichtbar, wenn Sicherheitsmodus «None» ist |
| ③ | Erweitert | Bei Aufklappen: Kontrollkästchen Veraltete Richtlinien zulassen. Nur aktivieren für alte Server, die nur Basic256 · Basic128Rsa15 (obsolete Richtlinien) bereitstellen. Nicht sicher |
- Standardwerte — Bestehende Verbindungen bleiben bei
None. Neue Verbindungen über DCS- oder Roboter-Karten beginnen mitSignAndEncrypt. - Reihenfolge der automatischen Richtlinien —
Aes256_Sha256_RsaPss>Basic256Sha256>Aes128_Sha256_RsaOaep. - Geänderte Werte müssen gespeichert werden, um wirksam zu werden.
Endpunkte abfragen
Nach Eingabe von IP, Port und Servernamen und Klick auf [Endpunkte abfragen] fragt die Edge den Server nach der Endpunktliste (GetEndpoints) und zeigt diese in einer Tabelle an. Da keine Sitzung geöffnet wird, ist kein Konto erforderlich; dies ist bereits vor dem Vertrauen in das Serverzertifikat möglich (Zeitlimit: Anschluss 3 Sek., Gesamt 6 Sek.).
![Ergebnis von [Endpunkte abfragen] — Nummern in Lesereihenfolge](/de/assets/images/opcua-sec-endpoints-0ee0b6bafc4d759d75de125ad75c658b.webp)
| Nummer | Position | Funktion |
|---|---|---|
| ① | Rechts im Gruppenkopf | [Endpunkte abfragen] — IP und Port müssen zuvor eingegeben sein |
| ② | Tabellenkopf | Abgefragte Adresse und Spalten — Sicherheitsmodus · Sicherheitsrichtlinie · Benutzerauthentifizierung (Anonymous · UserName · Certificate etc.) · Serverzertifikat (Subject und SHA-1 Fingerabdruck) |
| ③ | Zeilenende | [Diese Einstellung verwenden] — Übernimmt den Sicherheitsmodus und die Richtlinie dieser Zeile in die oberen Felder. Muss gespeichert werden |
- Das Badge Veraltete Richtlinie in der Richtlinienspalte steht für
Basic256·Basic128Rsa15. Wenn [Diese Einstellung verwenden] für eine solche Zeile geklickt wird, wird automatisch Veraltete Richtlinien zulassen aktiviert und die Richtlinienspalte auf Automatisch gesetzt. - Richtlinien mit dem Badge Nicht unterstützt können von der Edge nicht zur Verbindung genutzt werden.
- Auch wenn in der Spalte Benutzerauthentifizierung
Certificatesteht, meldet sich die Edge nur anonym oder per Benutzername an — siehe Nicht unterstützt.
Erste Verbindung — Serverzertifikat vertrauen
Die Edge vertraut Serverzertifikaten, die sie zum ersten Mal sieht, nicht automatisch. Bei einer ersten Verbindung im Sicherheitsmodus wird das Serverzertifikat abgelehnt, und in der Gruppe Sicherheit im Verbindungs- (Bearbeitungs-) und Verbindungsdetailbildschirm erscheint folgender Hinweis:

| Nummer | Position | Funktion |
|---|---|---|
| ① | Erste Hinweiszeile | Hinweis, dass die Verbindung nicht hergestellt wurde, da das Serverzertifikat noch nicht vertraut wurde |
| ② | Zertifikats-Subject · Fingerabdruck (SHA-1) | Vom Server vorgelegtes Zertifikat. Der Fingerabdruck muss mit dem Zertifikatsfingerabdruck am Server(DCS/Controller)-Bildschirm abgeglichen werden |
| ③ | [Diesem Zertifikat vertrauen] | Öffnet ein Bestätigungsfenster |
| ④ | Zertifikatsverwaltung | Führt zum Tab OPC UA Server › Client-Verbindungszertifikate |
Beim Klicken auf [Diesem Zertifikat vertrauen] zeigt ein Bestätigungsfenster den Fingerabdruck erneut an.

| Nummer | Position | Funktion |
|---|---|---|
| ① | Subject · Fingerabdruck | Zu vertrauendes Zertifikat. Erneuter Abgleich mit dem vorherigen Hinweis |
| ② | Hinweis | Wenn der Fingerabdruck vom Serverbildschirm abweicht, darf ihm nicht vertraut werden |
| ③ | [Diesem Zertifikat vertrauen] | Vertrauen wird bestätigt. Es erscheint: «Vertraut. Verbindung wird in Kürze erneut hergestellt.» |
Nachdem das Vertrauen bestätigt wurde, wird die Warteschleife für die Wiederverbindung der Edge aufgelöst und die Verbindung erfolgt kurz darauf. Nach erfolgreichem Verbindungsaufbau wird der Hinweis grün.

| Nummer | Position | Funktion |
|---|---|---|
| ① | Statuszeile | «Sicher verbunden (SignAndEncrypt)» — In Klammern steht der konfigurierte Sicherheitsmodus (bei Automatik auto) |
Die Vertrauensliste wird von allen OPC UA-Verbindungen dieser Edge gemeinsam genutzt. Wenn sich mehrere Verbindungen mit demselben Server verbinden, muss das Zertifikat nur einmal vertraut werden.
Wenn der Server das Edge-Zertifikat ablehnt
Auch DCS- oder Controller-Systeme lehnen oft Client-Zertifikate ab, die sie zum ersten Mal sehen. In diesem Fall wird der sichere Kanal abgelehnt und folgender Hinweis angezeigt:

| Nummer | Position | Funktion |
|---|---|---|
| ① | Erste Hinweiszeile | Hinweis, dass der Server den sicheren Kanal abgelehnt hat — meist liegt dies daran, dass der Server diesem Edge-Zertifikat noch nicht vertraut |
| ② | Subject · Fingerabdruck (SHA-1) | Das Client-Zertifikat der Edge. Suchen Sie diesen Fingerabdruck in der Ablehnungsliste des Servers |
| ③ | [Client-Zertifikat herunterladen (.der)] | Lädt das Edge-Zertifikat dieser Verbindung herunter |
| ④ | Zertifikatsverwaltung | Führt zum Tab OPC UA Server › Client-Verbindungszertifikate |
- Laden Sie das Zertifikat (.der) über ③ herunter. Dies ist auch im Tab OPC UA Server › Client-Verbindungszertifikate unter «Client-Zertifikate der Edge» pro Verbindung möglich.
- Übermitteln Sie das Zertifikat an den DCS/Controller-Administrator, damit es in die Vertrauensliste des Servers aufgenommen wird (falls es bereits in der Ablehnungsliste steht, kann es dorthin verschoben werden). Folgen Sie hierzu dem Handbuch des Serverherstellers.
- Die Edge verbindet sich beim nächsten Versuchszyklus erneut.
Zertifikatsverwaltung — OPC UA Server › Client-Verbindungszertifikate
Im Tab Client-Verbindungszertifikate des Bildschirms OPC UA Server (/ui/opcua) können die von der Edge als Client verwendeten Zertifikate an einer zentralen Stelle eingesehen werden. Dies ist getrennt von den Zertifikaten des OPC UA-Servers, den die Edge für SCADA bereitstellt (Tab Client-Zertifikate).

| Nummer | Position | Funktion |
|---|---|---|
| ① | Tab | Client-Verbindungszertifikate |
| ② | Abgelehnte Serverzertifikate | Von der Edge abgelehnte Serverzertifikate — Subject · Application URI · Fingerabdruck · Gültigkeit · Wartende Verbindung. [Vertrauen] oder [Löschen] |
| ③ | Vertraute Serverzertifikate | Vom Betreiber vertraute Serverzertifikate. Bei [Vertrauen entziehen] kehrt es zur Ablehnungsliste zurück und die Verbindung wird ab dem nächsten Versuch nicht mehr hergestellt |
| ④ | Client-Zertifikate der Edge | Pro OPC UA-Verbindung eines — Verbindung · Sicherheitsmodus · Application URI · Fingerabdruck · Gültigkeit. «Noch nicht vorhanden» bei Verbindungen, die noch nie im Sicherheitsmodus verbunden wurden |
| ⑤ | [Herunterladen (.der)] | Das Edge-Zertifikat dieser Verbindung. Wird verwendet, um es in die Vertrauensliste des Servers aufzunehmen |
- Ein [gelöschtes] abgelehntes Zertifikat erscheint erneut, wenn eine Verbindung zum selben Server versucht wird.
- Bei [Vertrauen entziehen] wird eine bereits offene Verbindung beim nächsten Reconnect unterbrochen.
Client-Zertifikat der Edge
| Merkmal | Wert |
|---|---|
| Typ | Self-signed (selbstsigniert), RSA 2048 |
| Gültigkeit | 10 Jahre. Bei Ablauf wird es neu erstellt und muss am Server erneut vertraut werden |
| Erstellungszeitpunkt | Beim ersten Verbindungsversuch dieser Verbindung im Sicherheitsmodus |
| Application URI | urn:plantpulse:edge:<OPC ID> — Einzigartig pro Verbindung |
| Speicherort | /data1/pp-data/opcua-client ($PE_DATA_DIR/pp-data/opcua-client). Die Vertrauensliste befindet sich ebenfalls hier |
- Auch wenn eine Verbindung gelöscht wird, bleibt das Zertifikat erhalten. Bei Erstellung einer neuen Verbindung mit derselben OPC ID wird das Zertifikat wiederverwendet. Eine erneute Vertrauensstellung im DCS ist nicht erforderlich.
- Dieses Verzeichnis ist Teil des Backups. Bei einer Wiederherstellung werden Edge-Zertifikate und Vertrauenslisten gemeinsam wiederhergestellt.
Nicht unterstützt
- X.509 Benutzerzertifikats-Login — Benutzerauthentifizierung ist nur via Anonym oder Benutzername + Passwort möglich.
- CA-signierte Client-Zertifikate — Edge-Zertifikate werden nur selbstsigniert verwendet.
- Replikation der Vertrauensliste zwischen HA-Pair-Boxen — Die Vertrauenslisten sind pro Box separat. In einer HA-Konfiguration muss das Serverzertifikat auf jeder Box vertraut werden und im Server pro Box das jeweilige Edge-Zertifikat hinterlegt sein.
PLC-Adressformat der Tags
Tag-Adressen in OPC-UA folgen üblicherweise dem Format, das als NodeId bezeichnet wird.
| Format | Beschreibung |
|---|---|
ns=2;s=Channel1.Device1.Tag1 | Namespace 2, String-Identifikator — am häufigsten bei Kepware |
ns=2;i=1234 | Namespace 2, Numerischer Identifikator |
ns=3;g=09087e75-8e5e-499b-954f-f2a8624db28a | GUID-Format |
ns=ist die Namespace-Nummer, üblicherweise2.- Auf
s=folgt ein Pfad wie «Channel.Device.Tag» (entspricht dem in Kepware erstellten Pfad).
Wie finde ich die NodeId heraus?
- In den Handbüchern des PLC- oder Kepware-Herstellers finden sich oft Mapping-Tabellen.
- Mit kostenlosen OPC-UA-Clients wie UA Expert kann man sich direkt verbinden und durch Rechtsklick auf einen Node im Baum die NodeId kopieren.
- Mit dem OPC Quick Client Tool von Kepware ist dies ebenfalls möglich.
Kepware Schnelleinrichtung
Verfahren basierend auf der häufig verwendeten Kombination mit Kepware.
- Kepware Server → Project → Kanal hinzufügen (z. B.
Simulator) - Device hinzufügen (z. B.
Simulator) → Modell =16 Bit Device - Tag hinzufügen → Name
Sine1, TypFloat, Scan Rate100ms - In Project Properties → OPC UA → Server Endpoint den Port
49320aktivieren. - Sicherheitsrichtlinien (Security Policies) des Server-Endpoints wählen. Für sichere Verbindungen
Basic256Sha256oder höher und Sign and Encrypt aktivieren; das Edge-Zertifikat in die Vertrauensliste von Kepware aufnehmen — siehe Wenn der Server das Edge-Zertifikat ablehnt. - Anonymen Zugriff oder Benutzerkonto aktivieren.
Im Registrierungsformular dieses Gateways:
| Feld | Wert |
|---|---|
| IP | IP des Kepware-Server-PCs |
| Port | 49320 |
| Benutzer/Passwort | Zuvor erstelltes Konto (leer bei Anonym) |
| Tag PLC-Adresse | ns=2;s=Simulator.Simulator.Sine1 |
Häufige Probleme und Lösungen
| Symptom / Meldung | Mögliche Ursache | Lösung |
|---|---|---|
| «Connection refused» / Keine Verbindung | OPC-UA-Server ist aus oder Port blockiert | Prüfen, ob OPC-UA-Server läuft und IP/Port korrekt sind |
| «User access denied» | Fehlerhafter Benutzer/Passwort oder Anonym-Zugriff am Server nicht erlaubt | Benutzer am Server registrieren oder Anonym-Zugriff erlauben |
Sicherheitsmodus None, aber Verbindung schlägt fehl, Log: no SecurityMode=None endpoint | Server bietet keinen None-Endpunkt an | Sicherheitsmodus auf Sign oder SignAndEncrypt ändern und via [Endpunkte abfragen] prüfen |
Verbindung steht, aber Werte sind immer 0 oder null | Tippfehler in Tag NodeId oder Namespace-Nummer weicht ab | Über UA Expert prüfen, ob die gleiche NodeId tatsächlich funktioniert |
| Verbindung bricht ständig ab und stellt sich wieder her | Instabiles Netzwerk oder hohe Last auf Server-PC | Server-PC Ressourcen / Kabel / Switches prüfen |
Fehler bei sicheren Verbindungen (Bildschirmmeldungen)
Wenn eine sichere Verbindung fehlschlägt, erscheinen im Sicherheitsblock des Verbindungs- und Verbindungsdetailbildschirms folgende Meldungen. Die Texte erscheinen auf Koreanisch und Englisch.
| Code | Meldung (ko) | Meldung (en) | Lösung |
|---|---|---|---|
OPCUA_SERVER_CERT_UNTRUSTED | 서버 인증서를 아직 신뢰하지 않아 연결하지 않았습니다. 지문을 서버(DCS·컨트롤러) 쪽 인증서와 대조한 뒤 신뢰하세요. | Not connected: the server certificate is not trusted yet. Compare the thumbprint with the server's (DCS / controller) certificate, then trust it. | Fingerabdruck abgleichen und [Diesem Zertifikat vertrauen] |
OPCUA_SERVER_CERT_INVALID | 신뢰한 서버 인증서가 유효하지 않습니다(만료·폐기·용도 불일치). 서버 쪽 인증서를 확인하세요. | The trusted server certificate is not valid (expired, revoked or wrong usage). Check the server's certificate. | Serverzertifikat neu ausstellen lassen und neuen Fingerabdruck vertrauen |
OPCUA_CLIENT_CERT_REJECTED | 서버가 보안 채널을 거절했습니다. 대개 서버가 이 엣지의 클라이언트 인증서를 아직 신뢰하지 않은 경우입니다 — 인증서를 내려받아 서버의 신뢰 목록에 넣으세요. | The server refused the secure channel - usually it does not trust this edge's client certificate yet. Download it and add it to the server's trust list. | Edge-Zertifikat (.der) in die Vertrauensliste des Servers aufnehmen |
OPCUA_PKI_DIR_MISSING | 엣지의 클라이언트 인증서 저장소를 찾지 못했습니다(데이터 볼륨 PE_DATA_DIR 를 확인하세요). | The edge's client certificate store is missing (check the data volume PE_DATA_DIR). | Prüfen, ob Datenvolume (/data1) gemountet ist |
OPCUA_PKI_ERROR | 엣지의 클라이언트 인증서 저장소를 읽거나 만들지 못했습니다. 서버 로그를 확인하세요. | The edge's client certificate store could not be read or created. See the server log. | /data1/pp-data/opcua-client Berechtigungen und Festplattenplatz prüfen |
OPCUA_SECURITY_CONFIG_INVALID | 보안 모드·정책 설정이 올바르지 않습니다(폐기된 정책은 '낡은 정책 허용'을 켜야 합니다). | The security mode / policy setting is invalid (a deprecated policy needs 'Allow deprecated policies'). | Werte für Sicherheitsmodus/Richtlinie prüfen. Bei veralteter Richtlinie «Veraltete Richtlinien zulassen» aktivieren |
OPCUA_NO_MATCHING_ENDPOINT | 서버가 설정한 보안 모드·정책·인증 방식에 맞는 엔드포인트를 제공하지 않습니다. [엔드포인트 조회]로 확인하세요. | The server offers no endpoint with this security mode, policy and user token. Check with [Find endpoints]. | In [Endpunkte abfragen] passende Kombination wählen und [Diese Einstellung verwenden] klicken |
OPCUA_CONNECT_FAILED | 연결하지 못했습니다(네트워크·시간 초과·세션). | Could not connect (network, timeout or session). | IP, Port, Firewall und Serverstatus prüfen |
Häufig verwendete Datenformate
| PLC-Wert | Datenformat | Format-Hilfe | PLC-Adressen-Beispiel |
|---|---|---|---|
| Ein/Aus | Boolean | (leer) | ns=2;s=Pump.Status |
| Ganzzahl | Integer | (leer) | ns=2;s=Counter |
| Große Ganzzahl | Long | (leer) | ns=2;s=Total |
| Gleitpunkt (32-bit) | Float | (leer) | ns=2;s=Pressure |
| Gleitpunkt (64-bit, präzise) | Double | (leer) | ns=2;s=PrecisionTemp |
| Zeichenfolge | String | (leer) | ns=2;s=Recipe.Name |
Im Fall von OPC-UA wird das Feld format normalerweise leer gelassen (der Server gibt den Datentyp vor).
Weitere Beispiele / Automatisierte Registrierung
Wenn Sie die Registrierung per Script oder API automatisieren möchten, beachten Sie die OPC-UA-Beispiele auf der Seite Erweitert — REST API.