OPC-UA-Client
Der OPC-UA-Client ermöglicht es 2WinScada, sich mit einem OPC-UA-Server zu verbinden (Gateways wie KEPServerEX, integrierte OPC-UA-Server von SPS usw.) und die Werte von Knoten (Nodes) über Abonnements (Subscriptions) zu lesen und zu schreiben. Jeder Kanal öffnet eine Sitzung (Session) zum Server; jedes Gerät unter dem Kanal legt in dieser Sitzung sein eigenes Abonnement an.
Wichtige unterstützte Funktionen:
- Verbindung zu
opc.tcp://-Endpunkten anonym oder mit Benutzername / Passwort - Auflisten und Auswählen der vom Server angebotenen Endpunkte
- Signierte und verschlüsselte Verbindung mit einem automatisch erzeugten Anwendungszertifikat
- Durchsuchen des Adressraums des Servers und Massenimport von Tags
- Einstellungen für Abonnements und überwachte Elemente (Monitored Items)
- Automatische Ermittlung des Datentyps vom Server
Lizenz
OPC UA ist in den Lizenz-Editionen Standard und Professional enthalten; in der Edition Starter kann es als Zusatzmodul hinzugefügt werden. Nachdem OPC UA zur Lizenz hinzugefügt wurde, funktioniert die OPC-UA-Kommunikation erst nach einem Neustart der Dienste. Einzelheiten zur Lizenz finden Sie auf der Seite Lizenz.
Kanaldefinition
Auf der Registerkarte Allgemein des Fensters für einen neuen Kanal geben Sie den Kanalnamen ein und wählen unter Verbindungstyp den Eintrag OPCUA aus. Nachdem Sie die Einstellungen auf den anderen Registerkarten vorgenommen haben, klicken Sie auf Speichern.
Registerkarte Verbindungsparameter:
| Feld | Beschreibung | Standard | Bereich |
|---|---|---|---|
| EndPoint-URL | Endpunktadresse des OPC-UA-Servers, z. B. opc.tcp://192.168.1.10:49320 | opc.tcp://127.0.0.1:49320 | Muss eine gültige Adresse sein |
| Timeout [ms] | Höchstdauer eines Verbindungsversuchs; wird dem Server auch als Sitzungsdauer gemeldet | 3000 | 3000–86400000 |

Gruppe Authentifizierung auf derselben Registerkarte:
| Feld | Beschreibung | Standard |
|---|---|---|
| Benutzer-Token-Typ | Mit welcher Benutzeridentität die Verbindung zum Server hergestellt wird: Anonymous oder User (Benutzername / Passwort) | Anonymous |
| Benutzername | Benutzername für den Server, wenn User gewählt ist | Leer |
| Passwort | Passwort für den Server, wenn User gewählt ist. Ein gespeichertes Passwort wird aus Sicherheitsgründen nicht angezeigt (********); geben Sie zum Ändern einen neuen Wert ein, ein leeres Feld löscht das Passwort nicht | Leer |
| Nicht vertrauenswürdiges Serverzertifikat akzeptieren | Wenn aktiviert, wird auch ein Serverzertifikat akzeptiert, das nicht im vertrauenswürdigen Speicher liegt. Ist die Option aus, wird ein solches Zertifikat abgelehnt (siehe Dem Serverzertifikat vertrauen). | Bei einem neuen Kanal aus |

Wird Benutzer-Token-Typ auf Anonymous gesetzt, werden die Felder Benutzername und Passwort geleert.
Nicht unterstützte Identitätstypen
Die Identitäten Certificate und IssuedToken werden in 2.10 nicht unterstützt: Sie erscheinen in der Liste, können aber nicht ausgewählt werden, und auch der Server lehnt das Speichern mit dieser Identität ab. Kanäle, die früher mit diesen Identitäten gespeichert wurden, werden nicht gelöscht; sie bleiben Bad, und ein Fehler wird in das Dienstprotokoll geschrieben. Wählen Sie bei diesen Kanälen Anonymous oder User und speichern Sie. Das eigene Anwendungszertifikat von 2WinScada wird automatisch verwaltet (siehe Zertifikate).
Endpunktauswahl
Die Schaltfläche ... neben dem Feld EndPoint-URL listet im Fenster OpcUa-Endpunkt-URL-Auswahl die Endpunkte auf, die der Server unter der im Feld eingegebenen Adresse anbietet. Um die Liste abzurufen, geben Sie zuerst die Adresse des Servers ein (z. B. opc.tcp://192.168.1.10:49320); die Abfrage erfolgt vom 2WinScada-Server aus.
Die Endpunkte werden unter dem Anwendungsnamen des Servers gruppiert. Jede Zeile hat das Format <Adresse>#<Sicherheitsrichtlinie>#<Sicherheitsmodus>, z. B. opc.tcp://192.168.1.10:49320#Basic256Sha256#SignAndEncrypt. Wird eine Zeile ausgewählt und auf Wählen geklickt, werden die Felder EndPoint-URL, Sicherheitsrichtlinie und Sicherheitsmodus gemeinsam ausgefüllt.

Registerkarte Erweiterte Parameter:
| Feld | Beschreibung | Standard | Bereich |
|---|---|---|---|
| Sicherheitsmodus | None, Sign oder SignAndEncrypt. Ist Sicherheitsrichtlinie None, wird nur None angeboten, bei den anderen Richtlinien Sign und SignAndEncrypt. | Leer | — |
| Sicherheitsrichtlinie | None, Basic128Rsa15, Basic256, Basic256Sha256, Aes128_Sha256_RsaOaep, Aes256_Sha256_RsaPss oder Https | Leer | — |
| Leerlaufzeit zum erneuten Starten der Sitzung [s] | Trifft während dieser Zeit von keinem Tag des Kanals eine Benachrichtigung über eine Wertänderung ein, wird die Sitzung geschlossen und wieder geöffnet. 0 schaltet diese Überwachung aus. | 0 | 0–86400 |

Sicherheitsmodus und Sicherheitsrichtlinie werden gemeinsam gewählt, oder beide bleiben leer:
- Sind beide gewählt, verbindet sich 2WinScada nur mit dem Endpunkt aus der Endpunktliste des Servers, der genau diesen Modus zusammen mit dieser Richtlinie anbietet. Bietet der Server dieses Paar nicht an, kommt keine Verbindung zustande, und es wird nicht auf einen schwächeren Endpunkt ausgewichen; der Kanal wird Bad, und der Statustext listet die vom Server angebotenen Paare aus Modus und Richtlinie auf.
- Sind beide leer, wird der Endpunkt automatisch gewählt: Bei der Identität User wird der sicherste vom Server angebotene Endpunkt verwendet, bei Anonymous der Endpunkt ohne Sicherheit (None).
- Wird nur eines der beiden Felder gewählt oder ein widersprüchliches Paar (Modus None mit einer Richtlinie außer None, Sign / SignAndEncrypt mit der Richtlinie None), wird das Speichern abgelehnt.
Bei einem gesicherten Endpunkt (Sign oder SignAndEncrypt) muss der Server dem Anwendungszertifikat von 2WinScada vertrauen und 2WinScada dem Serverzertifikat (siehe Zertifikate).
Identität User und Sicherheit None
Wurde die Identität User mit None / None gespeichert, wird die Sitzung unverschlüsselt geöffnet; das Passwort ist nur geschützt, wenn die Benutzer-Token-Richtlinie des Servers es verschlüsselt. In diesem Fall erscheint im Formular unter dem Feld Sicherheitsmodus eine Warnung, und beim Öffnen des Kanals wird eine Warnung in das Dienstprotokoll geschrieben. Wählen Sie bei Kanälen, die sich mit Benutzername und Passwort verbinden, Sign oder SignAndEncrypt.
In älteren Versionen gespeicherte Kanäle
Kanäle, bei denen vor 2.10 nur der Modus oder nur die Richtlinie gespeichert wurde (z. B. im alten Formular gewählte Aes-Endpunkte), verbinden sich auch nach dem Upgrade; es wird nicht auf einen ungesicherten Endpunkt ausgewichen, und beim Öffnen des Kanals wird die Warnung „beide Felder gemeinsam wählen und speichern“ protokolliert. Ein gespeichertes widersprüchliches Paar macht den Kanal dagegen Bad. Wählen Sie in beiden Fällen beim Bearbeiten des Kanals beide Felder gemeinsam und speichern Sie.
Zertifikate
2WinScada verbindet sich mit OPC-UA-Servern als Client-Anwendung mit dem Namen 2WinUaClient. Für die Zertifikatsverwaltung gibt es in der Oberfläche keinen eigenen Bildschirm; die Vorgänge laufen automatisch ab:
- Anwendungszertifikat: Bei der ersten OPC-UA-Verbindung wird automatisch ein selbstsigniertes Anwendungszertifikat (
CN=2WinUaClient) erzeugt. Die Standardschlüssellänge beträgt 2048 Bit, die Gültigkeitsdauer 60 Monate. Wird das Zertifikat gelöscht, wird bei der nächsten Verbindung ein neues erzeugt; in diesem Fall muss es auf der Serverseite erneut als vertrauenswürdig eingestuft werden. - Serverzertifikate: Werden nach der Einstellung Nicht vertrauenswürdiges Serverzertifikat akzeptieren des Kanals geprüft (siehe Dem Serverzertifikat vertrauen).
- Vertrauen auf der Serverseite: Soll ein gesicherter Endpunkt verwendet werden (siehe Warnung oben), muss der Serveradministrator das Zertifikat
2WinUaClientzur Liste der vertrauenswürdigen Clients des Servers hinzufügen. Die meisten Server zeigen dieses Zertifikat nach dem ersten Verbindungsversuch in der Liste der abgelehnten Zertifikate an; das Zertifikat wird von dort zu den vertrauenswürdigen verschoben, und die Verbindung wird erneut versucht.
Die Zertifikatsspeicher liegen auf dem 2WinScada-Server. Muss das Anwendungszertifikat manuell auf den OPC-UA-Server geladen werden, wenden Sie sich an Ihren Systemintegrator.
Dem Serverzertifikat vertrauen
Die Einstellung Nicht vertrauenswürdiges Serverzertifikat akzeptieren ist bei neuen OPC-UA-Kanälen, die über das Formular oder die API angelegt werden, ausgeschaltet. Ist sie aus, akzeptiert 2WinScada nur Serverzertifikate aus dem vertrauenswürdigen Speicher; andere Zertifikate werden abgelehnt. Bei Endpunkten mit Sign oder SignAndEncrypt wird das Serverzertifikat immer geprüft. Bei Endpunkten mit dem Sicherheitsmodus None wird das Serverzertifikat nur geprüft, wenn die Verbindung mit der Identität User hergestellt wird.
Bei einem abgelehnten Serverzertifikat zeigt der Statustext des Kanals die Werte Subject und Thumbprint (Fingerabdruck) des Zertifikats. Um das Serverzertifikat zum vertrauenswürdigen Speicher hinzuzufügen, wenden Sie sich an Ihren Systemintegrator.
In aktualisierten Installationen kann diese Option bei manchen Kanälen aktiviert sein; im Formular erscheint dann eine Warnung. Fügen Sie bei diesen Kanälen das Serverzertifikat zum vertrauenswürdigen Speicher hinzu und schalten Sie die Option aus. Solange die Option aktiviert ist, ist die Verbindung für Man-in-the-Middle-Angriffe anfällig.
Verbindungsverhalten
- Kann keine Verbindung hergestellt werden, versucht 2WinScada es erneut; die Wartezeit beginnt bei 20 Sekunden, steigt mit jedem Versuch um 10 Sekunden und erreicht höchstens 130 Sekunden.
- Standardmäßig finden über alle OPC-UA-Kanäle hinweg höchstens 2 Verbindungsversuche gleichzeitig statt; die anderen Kanäle warten.
- Sobald die Verbindung steht, werden die Abonnements der aktiven Geräte angelegt. Bricht die Verbindung ab, wird die Qualität der Geräte und Tags Bad.
Gerätedefinition
Wählen Sie im Kontextmenü des Kanals Neues Gerät. Die Felder auf der Registerkarte Allgemein werden wie bei den anderen Protokollen ausgefüllt. Jedes Gerät legt auf dem Server ein Abonnement an; Tags, die unterschiedliche Veröffentlichungsintervalle benötigen, können Sie in getrennten Geräten zusammenfassen.

Registerkarte Parameter:
| Feld | Beschreibung | Standard | Bereich |
|---|---|---|---|
| Veröffentlichungsintervall [ms] | Intervall, in dem der Server die Änderungen im Abonnement an 2WinScada sendet (Publishing Interval) | 1000 | Pflichtfeld |
| Lifetime Count | Wie viele Veröffentlichungsintervalle der Server das Abonnement ohne Antwort des Clients aufrechterhält | 60 | 3–600 |
| Max. Keep-Alive-Anzahl | Nach wie vielen Veröffentlichungsintervallen ohne Änderung der Server eine Keep-alive-Nachricht sendet (Max Keep-Alive Count) | 5 | 1–90 |
| Priorität | Relative Priorität des Abonnements auf dem Server: Niedrigste, Niedrig, Mittel, Hoch oder Höchste | Mittel | — |
Beispiel: Sind Veröffentlichungsintervall [ms] 1000 und Max. Keep-Alive-Anzahl 5, sendet der Server auch ohne Änderung spätestens alle 5 Sekunden eine Keep-alive-Nachricht. Ist Lifetime Count 60, löscht der Server, der 60 Sekunden lang nichts vom Client hört, das Abonnement. Nach der OPC-UA-Regel muss Lifetime Count mindestens das Dreifache von Max. Keep-Alive-Anzahl betragen; andernfalls korrigiert der Server den Wert selbst.

Registerkarte Erweiterte Parameter:
| Feld | Beschreibung | Standard | Bereich |
|---|---|---|---|
| Leerlaufzeit für die Neuaufnahme des Abonnements [s] | Trifft während dieser Zeit von keinem Tag des Geräts eine Benachrichtigung über eine Wertänderung ein, wird das Abonnement geschlossen und neu angelegt. 0 schaltet diese Überwachung aus. | 600 | 0–86400 |
Die Gruppe Überwachte Elemente auf derselben Registerkarte enthält die Einstellungen der überwachten Elemente, die auf dem Server für jedes Tag des Geräts angelegt werden:
| Feld | Beschreibung | Standard | Bereich |
|---|---|---|---|
| Warteschlangengröße | Anzahl der Werte, die der Server zwischen zwei Veröffentlichungen für ein Tag speichert | 1 | 1–100 |
| Älteste verwerfen | Bei voller Warteschlange wird der älteste Wert verworfen. Ist die Option deaktiviert, wird der neueste Wert verworfen. | Aktiviert | — |
| Totzonentyp | Keine (jede Änderung wird gemeldet), Absolut (absolute Differenz) oder Prozent (prozentuale Differenz) | Keine | — |
| Totzonenwert | Kleinste Differenz, ab der eine Änderung gemeldet wird, wenn Absolut oder Prozent gewählt ist. Ist Keine gewählt, ist das Feld inaktiv. | 0 | Zahl |
Das Totband wird nur auf numerische Tags angewendet, und erst nachdem der erste Wert des Tags eingetroffen ist. Ein Totband vom Typ Prozent erfordert, dass auf dem Server der technische Wertebereich (EURange) des Knotens definiert ist; ein Server, der diesen Bereich nicht bereitstellt, kann den Filter des betreffenden Elements ablehnen, und ein Fehler wird in das Dienstprotokoll geschrieben.
Prüfung nach dem Upgrade
Die Einstellungen Priorität, Totzonentyp und Totzonenwert werden im Abonnement angewendet. Prüfen Sie nach dem Upgrade bei Geräten mit definiertem Totband vor Ort, ob die Werte wie erwartet eintreffen.
Tags importieren
Die Schaltfläche Tags importieren in der Gruppe Tags der Registerkarte Erweiterte Parameter listet den Adressraum des Servers als Baum auf. Die Schaltfläche ist nur bei gespeicherten Geräten aktiv, und damit die Liste geladen wird, muss der Kanal laufen und mit dem Server verbunden sein.
Zeilen mit einem Ordnersymbol in der Spalte Name enthalten weitere Knoten und können aufgeklappt werden. Das Symbol kennzeichnet einen Variablenknoten. Die Spalte Node Id enthält den Wert, der in das Feld Adresse des Tags eingetragen wird. Wählen Sie die hinzuzufügenden Knoten aus, klicken Sie auf Wählen und bestätigen Sie die Rückfrage.
Nur Variablen- und Methodenknoten werden als Tags hinzugefügt; andere Knoten zählen als nicht unterstützte Elemente. Am Ende des Imports wird die Anzahl der hinzugefügten, fehlerhaften und nicht unterstützten Elemente gemeldet. Bei den hinzugefügten Tags ist der Name der Anzeigename des Knotens und Adresse der Wert Node Id des Knotens; Datentyp wird Automatisch, das Tag wird mit Nur lesen markiert, und Aktualisierungsintervall [s] beträgt 2 Sekunden. Da Knoten mit demselben Namen in verschiedenen Ordnern liegen können, prüfen Sie die Namen der importierten Tags.
Gerätestatus bei KEPServerEX
Ist der Server KEPServerEX und stimmen die Kanal- und Gerätenamen in 2WinScada mit den Kanal- und Gerätenamen in KEPServerEX überein, überwacht 2WinScada die Verbindungsqualität des Geräts über den KEPServerEX-Knoten ns=2;s=<Kanal>.<Geraet>._System._Error. Meldet dieser Knoten einen Fehler, wird die Gerätequalität in 2WinScada Bad.
Tag-Definition
Tags werden wie bei den anderen Protokollen in der Tag-Tabelle des Geräts definiert (siehe Tag-Verwaltung). In das Feld Adresse wird die OPC-UA-Knotenkennung (NodeId) eingetragen. Die Kennung setzt sich aus dem Namensraumindex und dem Bezeichner zusammen, verbunden mit ;:
| Bezeichnertyp | Format | Beispiel |
|---|---|---|
| Text (String) | ns=<Index>;s=<Text> | ns=2;s=Hat1.Motor1.Hiz |
| Zahl (Numeric) | ns=<Index>;i=<Zahl> | ns=3;i=1005 |
| GUID | ns=<Index>;g=<GUID> | ns=4;g=09087e75-8e5e-499b-954f-f2a9603db28a |
| Byte-Array (Opaque) | ns=<Index>;b=<Base64> | ns=5;b=M/RbKBsRVkePCePcx24oRA== |
nsist der Namensraumindex. Wirdns=nicht angegeben, wird der Standard-OPC-UA-Namensraum 0 verwendet; zum Beispiel isti=2258die aktuelle Uhrzeit des Servers.- Namensraumindizes können sich ändern, wenn der Server neu konfiguriert wird. Übernehmen Sie die richtige Kennung aus dem Fenster Tags importieren oder aus dem eigenen Werkzeug des Servers.
- Ist als Datentyp Automatisch gewählt, wird der Typ anhand des ersten vom Server eintreffenden Werts bestimmt. Ein manuell gewählter Typ muss zum Wert auf dem Server passen.
- Aktualisierungsintervall [s] ist das beim Server für das Tag angeforderte Abtastintervall (Sampling Interval). Änderungen werden im Intervall Veröffentlichungsintervall [ms] des Geräts an 2WinScada gesendet.
- Die Tag-Qualität wird nach dem Statuscode, den der Server mit dem Wert sendet, Good oder Bad.
Schreiben
Wird auf ein Tag geschrieben, das nicht mit Nur lesen markiert ist, liest 2WinScada den aktuellen Wert des Knotens, wandelt den zu schreibenden Wert in dessen Typ um und schreibt ihn auf den Knoten. Der Knoten muss auf dem Server beschreibbar sein, und der verbundene Benutzer muss Schreibrechte haben.
Fehlerbehebung
| Symptom | Prüfungen |
|---|---|
| Verbindung kann nicht hergestellt werden | Prüfen Sie EndPoint-URL, Port, Firewall und ob der Server läuft. Wird Anonymous verwendet, prüfen Sie, ob auf dem Server ein Endpunkt ohne Sicherheit (None) und der anonyme Zugriff aktiviert sind. |
| Verbindung mit User wird abgelehnt | Prüfen Sie Benutzername und Passwort, ob das Zertifikat 2WinUaClient in der Liste der vertrauenswürdigen Clients des Servers steht und ob ein gesicherter Endpunkt aktiviert ist. |
| Kanal Bad, der Statustext listet angebotene Paare aus Modus und Richtlinie | Der Server bietet das gespeicherte Paar aus Sicherheitsmodus / Sicherheitsrichtlinie nicht an. Wählen Sie in der Endpunktauswahl ein vom Server angebotenes Paar oder lassen Sie beide Felder leer und speichern Sie. |
| Kanal Bad, der Statustext zeigt den Fingerabdruck des abgelehnten Zertifikats | Das Serverzertifikat liegt nicht im vertrauenswürdigen Speicher. Folgen Sie den Schritten unter Dem Serverzertifikat vertrauen. |
| Kanal verbindet sich nach dem Upgrade nicht | Der Kanal wurde möglicherweise mit der Identität Certificate / IssuedToken oder mit einem widersprüchlichen Sicherheitspaar gespeichert. Prüfen Sie das Dienstprotokoll; wählen Sie eine unterstützte Identität und ein gültiges Paar und speichern Sie. |
| Endpunktliste ist leer | Stellen Sie sicher, dass Sie im Feld EndPoint-URL die Adresse des Servers eingegeben haben und dass der 2WinScada-Server diese Adresse erreichen kann. |
| Tags importieren meldet einen Fehler | Prüfen Sie, ob der Kanal läuft und mit dem Server verbunden ist. |
| Tag-Qualität Bad | Prüfen Sie den Namensraumindex und den Bezeichner im Wert Adresse, ob der Knoten auf dem Server vorhanden ist und ob der Benutzer Leserechte hat. |
| Werte werden verzögert aktualisiert | Verringern Sie Aktualisierungsintervall [s] des Tags und Veröffentlichungsintervall [ms] des Geräts. |
| Schreiben funktioniert nicht | Prüfen Sie die Einstellung Nur lesen, ob der Knoten beschreibbar ist und ob der Benutzer Schreibrechte hat. |
| Datenfluss stoppt | Stellen Sie Leerlaufzeit für die Neuaufnahme des Abonnements [s] im Gerät und Leerlaufzeit zum erneuten Starten der Sitzung [s] im Kanal so ein, dass sie größer sind als die Zeit, in der sich die Tag-Werte ändern. |