Das Gateway Version 2 des drahtlosen Sensorsystems ERBESSD INSTRUMENTS® PHANTOM® sowie der kabelgebundene Monitor DEFIANT™ enthalten einen nativen OPC-UA-Server. Jeder Sensor erscheint als Objekt im Adressraum des Servers, mit seinen Live-Messwerten als OPC-UA-Variablen, die jeder Standard-Client — Ignition, Kepware, WinCC, FactoryTalk, Node-RED, UAExpert, opcua-asyncio — durchsuchen, lesen, abonnieren und bei einigen Steuerpunkten auch schreiben kann.
Aufgrund der Funktionsweise des OPC-UA-Protokolls stehen das vollständige Zeitsignal und die FFT über OPC UA nicht zur Verfügung. Nutzen Sie dafür die MQTT-Anbindung.
Sie können den OPC-UA-Server gleichzeitig mit allen anderen vom Gateway unterstützten Protokollen verwenden, darunter EI-Analytic™, EI Monitor, MQTT und Modbus.
Einige der hier beschriebenen Optionen wurden in späteren Gateway-Versionen ergänzt. Wenn Sie eine davon in Ihrer Admin-Konsole nicht finden, aktualisieren Sie das Gateway auf die neueste Firmware.
Serverfunktionen im Überblick
| Punkt | Was das Gateway bietet |
|---|---|
| Rolle | OPC-UA-Server. Die Clients verbinden sich zum Gateway hin. |
| Transport | OPC UA binär über TCP (opc.tcp://). HTTPS und OPC UA PubSub werden nicht angeboten. |
| Port | 4334 (fest). |
| Endpunktpfad | /UA/PhantomGW |
| Informationsmodell | OPC-UA-Basis-Nodeset 1.05, abwärtskompatibel zu Clients mit 1.04 und 1.03. Keine Companion Specification (keine Profile DI, ADI, Machinery oder MTConnect). |
| Dienste | Browse, Read, Write und Subscribe / MonitoredItems (Datenzugriff). |
| Sicherheitsrichtlinien | None, Basic128Rsa15, Basic256Sha256, Aes128_Sha256_RsaOaep, Aes256_Sha256_RsaPss. |
| Nachrichten-Sicherheitsmodi | None, Sign, SignAndEncrypt. |
| Gehärteter Modus | Beschränkt den Server auf Aes128_Sha256_RsaOaep und Aes256_Sha256_RsaPss, ausschließlich mit SignAndEncrypt. |
| Benutzerauthentifizierung | Anonym (deaktivierbar) sowie Benutzername + Passwort. |
| Abtastung | minimumSamplingInterval von 1000 ms bei allen Variablen. |
| Historienzugriff | Nicht unterstützt. Nutzen Sie MQTT oder EI-Analytic™ für Historien. |
| Zeitsignale / FFT | Werden über OPC UA nicht bereitgestellt. |
| Methoden | Keine. Aktionen werden stattdessen als schreibbare boolesche Variablen bereitgestellt. |
Den OPC-Server aktivieren
Um den OPC-UA-Server zu aktivieren, schalten Sie ihn in der Admin-Konsole des Gateway 2 auf der Seite General config über das Kontrollkästchen „Enable OPC UA Server“ ein. Klicken Sie auf Speichern; das Gateway startet neu. Nach dem Neustart ist der OPC-Server bereit.

Endpunkt-URL
Sobald der OPC-UA-Server aktiviert ist, erreichen Sie ihn mit jedem OPC-UA-Client über:
opc.tcp://192.168.1.2:4334/UA/PhantomGW
wobei 192.168.1.2 durch die IP-Adresse Ihres Gateways zu ersetzen ist. Verwenden Sie für die erste Verbindung den Sicherheitsmodus None und die Sicherheitsrichtlinie None.
Der Server veröffentlicht seine Endpunkte unter dem Hostnamen PhantomGW und kündigt zusätzlich diese alternativen Hostnamen an, damit ein Client, der die Endpunkt-URL nach der Erkennung umschreibt, ihn dennoch erreicht:
PhantomGW-<Gateway-Seriennummer>- die aktuelle
eth0-Adresse des Gateways oder die vonwlan0, wenn keine kabelgebundene Adresse vorliegt
Den Hostnamen überschreiben
Manche Clients lehnen einen Endpunkt ab, dessen Hostnamen sie nicht auflösen können. Aktivieren Sie Override OPC hostname und tragen Sie unter Host name einen DNS-Namen oder die feste IP-Adresse des Gateways ein, damit der Server diesen Namen statt PhantomGW ankündigt.
Sicherheitsprofile
Sicherheitsrichtlinien und Nachrichtenmodi
Standardmäßig bietet der Server den vollständigen Satz an, damit sich jeder Client unabhängig von seinen Fähigkeiten verbinden kann:
| Sicherheitsrichtlinie | Verfügbare Nachrichten-Sicherheitsmodi |
|---|---|
None |
None |
Basic128Rsa15 |
Sign, SignAndEncrypt |
Basic256Sha256 |
Sign, SignAndEncrypt |
Aes128_Sha256_RsaOaep |
Sign, SignAndEncrypt |
Aes256_Sha256_RsaPss |
Sign, SignAndEncrypt |
Unverschlüsselte OPC-UA-Kommunikation deaktivieren
Das Aktivieren von Disable OPC UA unencrypted communication beschränkt den Server auf die modernen Richtlinien:
| Sicherheitsrichtlinie | Nachrichten-Sicherheitsmodus |
|---|---|
Aes128_Sha256_RsaOaep |
SignAndEncrypt |
Aes256_Sha256_RsaPss |
SignAndEncrypt |
None, Basic128Rsa15 und Basic256Sha256 entfallen, und die Modi None sowie reines Sign werden nicht mehr angeboten. Dies ist die empfohlene Einstellung für den Produktivbetrieb. Basic128Rsa15 und Basic256Sha256 gelten bei der OPC Foundation als veraltet; sie aktiviert zu lassen nützt nur älteren Clients, die die AES-Richtlinien nicht aushandeln können.
Prüfen Sie vor dem Aktivieren dieser Option, ob Ihr Client
Aes128_Sha256_RsaOaepoderAes256_Sha256_RsaPssunterstützt, sonst kann er sich danach nicht mehr verbinden.
Benutzerauthentifizierung
Im Auslieferungszustand akzeptiert der Server anonyme Sitzungen. Auf derselben OPC-Konfigurationsseite können Sie das einschränken:
| Option | Wirkung |
|---|---|
| Disable OPC UA Anonymous login | Weist anonyme Sitzungen ab. Jeder Client muss Benutzername und Passwort vorlegen. |
| Add user | Fügt ein Paar aus Benutzername und Passwort zur Benutzerliste des Servers hinzu. Beliebig viele möglich, jedes entfernbar. |
| Export only paired sensors | Beschränkt den Adressraum auf gekoppelte Sensoren statt auf alle, die das Gateway sieht. |
Benutzer werden je Gateway definiert. Kombinieren Sie Disable OPC UA Anonymous login mit Disable OPC UA unencrypted communication, damit Zugangsdaten niemals über einen unverschlüsselten Kanal gehen.
Adressraum
Der OPC-UA-Server ist als Baumstruktur aufgebaut. Unter dem Wurzelordner liegt ein Ordner Objects, in dem alle Seriennummern der Sensoren erscheinen. Unter jeder Seriennummer stehen je nach Sensortyp unterschiedliche Variablen.

Alle Knoten liegen im Namespace-Index 1 und verwenden String-NodeIds.
Root
└── Objects
├── 40217 ← Funksensor, Browse Name = Seriennummer
│ ├── friendlyName (String)
│ ├── isPaired (Boolean)
│ ├── type (UInt16)
│ ├── version (UInt16)
│ ├── battery (Double)
│ ├── batteryType (UInt32)
│ ├── temperature (Double)
│ ├── rms (Double[3])
│ ├── rms_element0..2 (Double)
│ ├── arms (Double[3])
│ ├── arms_element0..2 (Double)
│ ├── sensorActions
│ │ ├── triggerCollection (Boolean, schreibbar)
│ │ └── triggerStateUpdate (Boolean, schreibbar)
│ └── extendedMetrics (nur triaxiale Sensoren)
│ ├── 0 ← X-Achse
│ ├── 1 ← Y-Achse
│ └── 2 ← Z-Achse
└── WiredCH1 ← kabelgebundener Kanal des DEFIANT™
├── accel_rms (Double)
├── velocity_rms (Double)
└── …
NodeId-Schema
Jeder Knoten hat eine deterministische String-NodeId, sodass Sie ein Tag direkt adressieren können, ohne den Baum zu durchsuchen:
| Knoten | NodeId |
|---|---|
| Sensorobjekt | ns=1;s=ph<phantomCode> |
| Sensorvariable | ns=1;s=ph<phantomCode>-<browseName> |
| Array-Element | ns=1;s=ph<phantomCode>-<browseName>_element<Index> |
| Anzeigename | ns=1;s=ph<phantomCode>-friendlyName |
| Kopplungsstatus | ns=1;s=ph<phantomCode>-isPaired |
| Aktionsordner | ns=1;s=ph<phantomCode>-actions |
| Aufzeichnung auslösen | ns=1;s=ph<phantomCode>-actions-triggerCollection |
| Statusaktualisierung auslösen | ns=1;s=ph<phantomCode>-actions-triggerStateUpdate |
| Ordner der erweiterten Kennwerte | ns=1;s=ph<phantomCode>-ext |
| Achse der erweiterten Kennwerte | ns=1;s=ph<phantomCode>-ext-ch<Achse> |
| Erweiterter Kennwert | ns=1;s=ph<phantomCode>-ext-ch<Achse>-<Kennwert> |
| Objekt eines kabelgebundenen Kanals | ns=1;s=wired<n> |
| Variable eines kabelgebundenen Kanals | ns=1;s=wired<n>-<browseName> |
Für den Sensor 40217 lautet der Geschwindigkeits-RMS der Z-Achse ns=1;s=ph40217-rms_element2, und das vollständige Geschwindigkeits-RMS-Array ns=1;s=ph40217-rms.
Arrays werden doppelt veröffentlicht. Jede Array-Variable (
rms,arms,tcTemperature,voltage,instCurrent,dryContactsState, …) wird sowohl als einzelner Array-Knoten als auch als je ein Skalarknoten pro Element mit dem Suffix_element0,_element1, … bereitgestellt. Nutzen Sie den Array-Knoten, wenn Ihr Client Arrays verarbeitet; nutzen Sie die_elementN-Knoten, wenn er ein Tag je Wert erwartet, wovon die meisten SPS- und SCADA-Tag-Browser ausgehen.
Zeitstempel und Abtastung
Jede Messvariable liefert einen sourceTimestamp und einen serverTimestamp, die auf den Zeitpunkt gesetzt sind, zu dem das Gateway zuletzt eine Aktualisierung dieses Sensors erhalten hat. Diesen Zeitstempel mit der aktuellen Uhrzeit zu vergleichen ist der zuverlässige Weg, einen Sensor zu erkennen, der nicht mehr sendet — der Wert selbst behält einfach seine letzte Messung.
Alle Variablen deklarieren ein minimumSamplingInterval von 1000 ms. Ein schnelleres Veröffentlichungsintervall im Abonnement liefert keine neuen Daten: Funksensoren senden in ihrem eigenen konfigurierten Intervall, typischerweise im Bereich von Sekunden bis Minuten.
Welche Sensoren erscheinen
Standardmäßig werden alle Sensoren exportiert, die das Gateway sieht, gekoppelt oder nicht. Aktivieren Sie Export only paired sensors, um den Adressraum auf gekoppelte Sensoren zu beschränken. Knoten werden im laufenden Betrieb hinzugefügt und entfernt, sobald Sensoren gekoppelt, entkoppelt, erkannt oder vergessen werden — ein Neustart des Gateways ist nicht nötig. Der boolesche Wert isPaired erlaubt es einem Client, der alles exportiert, selbst zu filtern.
Variablen
Die Variable type enthält den Sensortyp gemäß folgender Tabelle:
| Sensorcode | Sensortyp |
|---|---|
| 3 | Triaxialer Beschleunigungssensor (KX222, hoher Bereich) |
| 5 | Triaxialer Beschleunigungssensor (KX122, kleiner Bereich) |
| 6 | Triaxialer Beschleunigungssensor (KX134) |
| 7 | Triaxial universal (Schwingung + Thermoelement + Strom) |
| 8 | Triaxial PHANTOM® Gen 4, hoher Bereich |
| 9 | Triaxial PHANTOM® Gen 4, kleiner Bereich |
| 10 | Wärmebildkamera |
| 12 | Repeater |
| 14 | PHANTOM® MAX, hoher Bereich |
| 15 | PHANTOM® MAX, kleiner Bereich |
| 20 | Thermoelement |
| 21 | Thermoelement v2 |
| 22 | Thermoelement v3 |
| 25 | Infrarot-Temperatur |
| 26 | 4-20-mA-Eingang |
| 27 | Spannungsmesser (0-10 VDC) |
| 30 | Strommodul v1 |
| 31 | Trockenkontakt-Eingänge |
| 32 | Strommodul v2 (4 Kanäle) |
| 40 | Drehzahl / RPM |
| 50 | Abstand |
| 60 | Universalknoten (GP) |
| 202 | Display |
Gemeinsame Variablen aller Sensoren
| Variablenname | OPC-UA-Datentyp | Beschreibung |
|---|---|---|
friendlyName |
String |
In der Konsole vergebener Name. Ersatzweise die Seriennummer des Sensors. |
isPaired |
Boolean |
true, wenn der Sensor mit diesem Gateway gekoppelt ist. |
type |
UInt16 |
Sensortyp gemäß der Tabelle oben. |
version |
UInt16 |
Firmware-Version des Sensors. |
battery |
Double |
Batteriespannung in Volt. |
batteryType |
UInt32 |
Batterietyp. Siehe Batterietabelle unten. |
temperature |
Double |
Interne Temperatur des Sensors in Grad Celsius. |
Batterietypen:
batteryType |
Batterie |
|---|---|
| 1 | ⅙ D |
| 2 | AAA |
| 3 | CR2032 |
| 4 | CR2477 |
| 5 | AA |
| 6 | D |
Triaxialer Beschleunigungssensor (3, 5, 6, 8 und 9)
| Variablenname | OPC-UA-Datentyp | Beschreibung |
|---|---|---|
rms |
Double[3] |
Geschwindigkeits-RMS in mm/s je Achse (X, Y, Z). |
arms |
Double[3] |
Beschleunigungs-RMS in g je Achse (X, Y, Z). |
PHANTOM® MAX (14 und 15)
| Variablenname | OPC-UA-Datentyp | Beschreibung |
|---|---|---|
rms |
Double[3] |
Geschwindigkeits-RMS in mm/s je Achse. |
arms |
Double[3] |
Beschleunigungs-RMS in g je Achse. |
magneticspeed |
Double |
Magnetisch ermittelte Drehzahl, in Hz. |
Triaxial universal (7)
| Variablenname | OPC-UA-Datentyp | Beschreibung |
|---|---|---|
rms |
Double[3] |
Geschwindigkeits-RMS in mm/s je Achse. |
tcTemperature |
Double[] |
Thermoelement-Temperatur je Kanal, in Grad Celsius. |
instCurrent |
Double[] |
Momentanstrom je Kanal, in Ampere. |
averageCurrent |
Double[] |
Mittlerer Strom im Aktualisierungszeitraum, je Kanal. |
minCurrent |
Double[] |
Kleinster Strom im Aktualisierungszeitraum, je Kanal. |
maxCurrent |
Double[] |
Größter Strom im Aktualisierungszeitraum, je Kanal. |
accumulatedCurrent |
Double[] |
Seit dem letzten Zurücksetzen kumulierter Strom, je Kanal. |
accumulatedStart |
UInt32 |
Beginn des Kumulationsfensters, in Sekunden seit 1970. |
accumulatedEnd |
UInt32 |
Ende des Kumulationsfensters, in Sekunden seit 1970. |
Wärmebildkamera (10)
| Variablenname | OPC-UA-Datentyp | Beschreibung |
|---|---|---|
avgImageTemperature |
Double |
Mittlere Temperatur des Bildes, in Grad Celsius. |
Das Wärmebild selbst wird über OPC UA nicht veröffentlicht. Nutzen Sie MQTT.
Thermoelement-Temperatur (20, 21 und 22)
| Variablenname | OPC-UA-Datentyp | Beschreibung |
|---|---|---|
tcTemperature |
Double[] |
Temperatur jedes Thermoelement-Kanals, in Grad Celsius. |
Infrarot-Temperatur (25)
| Variablenname | OPC-UA-Datentyp | Beschreibung |
|---|---|---|
ambientTemperature |
Double |
Vom Infrarotsensor gemessene Umgebungstemperatur, in Grad Celsius. |
objectTemperature |
Double |
Temperatur des angepeilten Objekts, in Grad Celsius. |
emissivity |
Double |
Für das Messobjekt konfigurierter Emissionsgrad. |
4-20-mA-Sensor (26) und Spannungsmesser (27)
| Variablenname | OPC-UA-Datentyp | Beschreibung |
|---|---|---|
voltage |
Double[] |
Gemessene Spannung je Kanal, in Volt. |
Strommodul (30 und 32)
| Variablenname | OPC-UA-Datentyp | Beschreibung |
|---|---|---|
instCurrent |
Double[] |
Momentanstrom jedes der vier Sensorkanäle, in Ampere. |
averageCurrent |
Double[] |
Mittlerer Strom im Aktualisierungszeitraum je Kanal, in Ampere. |
minCurrent |
Double[] |
Minimaler Strom im Aktualisierungszeitraum je Kanal, in Ampere. |
maxCurrent |
Double[] |
Maximaler Strom im Aktualisierungszeitraum je Kanal, in Ampere. |
accumulatedCurrent |
Double[] |
Seit dem letzten Zurücksetzen kumulierter Strom, je Kanal. |
accumulatedStart |
UInt32 |
Beginn des Kumulationsfensters, in Sekunden seit 1970. |
accumulatedEnd |
UInt32 |
Ende des Kumulationsfensters, in Sekunden seit 1970. |
currentProbeType |
UInt16[] |
Auf jedem Kanal konfigurierter Wandlertyp. |
currentOffsets |
Double[] |
Auf jeden Kanal angewandter Kalibrier-Offset. |
currentMultiplier |
Double[] |
Auf jeden Kanal angewandter Kalibrierfaktor. |
Trockenkontaktsensor (31)
| Variablenname | OPC-UA-Datentyp | Beschreibung |
|---|---|---|
dryContactsState |
Boolean[] |
Zustand jedes Eingangs. true bedeutet Kontakt geschlossen, false bedeutet offen. |
Drehzahlsensor (RPM) (40)
| Variablenname | OPC-UA-Datentyp | Beschreibung |
|---|---|---|
rpm |
Double |
Aktuelle Drehzahl in RPM. |
Abstand (50)
| Variablenname | OPC-UA-Datentyp | Beschreibung |
|---|---|---|
distance |
UInt16 |
Gemessener Abstand, in mm. |
Universalknoten (60)
| Variablenname | OPC-UA-Datentyp | Beschreibung |
|---|---|---|
rms |
Double[] |
RMS-Wert je Achse. Geschwindigkeit in mm/s oder Beschleunigung in g, je nach Konfiguration. |
Repeater (12)
Es werden nur type und version veröffentlicht.
Erweiterte Kennwerte (triaxiale Sensoren)
Liefert ein triaxialer Sensor ein vollständiges Zeitsignal, berechnet das Gateway daraus achsweise Statistiken und veröffentlicht sie unter extendedMetrics in Unterobjekten mit den Namen 0 (X), 1 (Y) und 2 (Z):
| Kennwert | Einheiten | Beschreibung |
|---|---|---|
vrms |
mm/s | Aus dem Zeitsignal berechneter Geschwindigkeits-RMS (10-1000 Hz). |
arms |
g | Beschleunigungs-RMS über das gesamte Spektrum. |
apeak |
g | Beschleunigungsspitze. |
acf |
— | Scheitelfaktor der Beschleunigung (apeak / arms). |
highfreq |
g | Beschleunigungs-RMS im Band 5-10 kHz. |
maxfreq |
Hz | Frequenz der höchsten Spektralspitze. |
dcoffset |
g | Gleichanteil des Signals. |
Diese Knoten erscheinen, sobald zum ersten Mal ein Zeitsignal dieses Sensors erfasst wurde; ihre Zeitstempel beziehen sich auf das letzte Zeitsignal, nicht auf die letzte Statusaktualisierung.
Sensoraktionen (schreibbare Variablen)
Jedes Sensorobjekt enthält einen Ordner sensorActions mit schreibbaren booleschen Variablen. Ein Schreibvorgang stellt die entsprechende Aktion im Gateway in die Warteschlange; der zurückgelesene Wert zeigt, ob gerade eine Aktion aussteht.
| Variable | Verfügbar bei | Wirkung beim Schreiben |
|---|---|---|
triggerCollection |
Triaxiale, GP- und Wärmebildkamera-Sensoren | Fordert beim nächsten Kontakt ein vollständiges Zeitsignal oder Wärmebild an. |
triggerStateUpdate |
Alle Sensoren | Fordert eine sofortige Statusaktualisierung an, bei Sensoren mit erzwungener Aktualisierung. |
Ein true auf ns=1;s=ph40217-actions-triggerCollection löst beispielsweise eine Aufzeichnung am Sensor 40217 aus. Das entstehende Zeitsignal wird nicht über OPC UA zurückgegeben: Es wird gespeichert und je nach Konfiguration an EI-Analytic™, EI Monitor und/oder MQTT weitergeleitet.
Kabelgebundene Kanäle des DEFIANT™
Bei einem DEFIANT™ wird jeder kabelgebundene Kanal als Objekt mit dem Namen WiredCH1, WiredCH2, … angelegt, mit den für diesen Kanal berechneten Kennwerten als Double-Variablen. Der Browse Name des Objekts und seine NodeId beginnen bei 1 (WiredCH1 ist der erste Kanal, ns=1;s=wired1).
| Gruppe | Browse Names |
|---|---|
| Beschleunigung | accel_rms, accel_truepeak, accel_peaktopeak, accel_lowfreq, accel_medfreq, accel_highfreq, accel_kurtosis, accel_skewness |
| Geschwindigkeit | velocity_rms, velocity_truepeak, velocity_peaktopeak, velocity_lowfreq, velocity_medfreq, velocity_highfreq, velocity_kurtosis, velocity_skewness |
| Beschleunigungshüllkurve | gE, ge_truepeak, ge_peaktopeak, ge_lowfreq, ge_medfreq, ge_highfreq, ge_kurtosis, ge_skewness |
| Weg | displacement_rms, displacement_truepeak, displacement_peaktopeak, displacement_offset |
| Drehzahl | rpm |
| Analog / diskret | voltage_discrete, voltage_average, discrete_value |
| Phase zwischen Kanälen | phase_channel_1 … phase_channel_16 |
Verbindung: praktische Beispiele
UAExpert
- Server → Add → Custom Discovery → Double click to add server.
- Geben Sie
opc.tcp://192.168.1.2:4334/UA/PhantomGWein. - Klappen Sie den gefundenen Server auf und wählen Sie den Endpunkt: None / None für einen ersten Test oder Aes256_Sha256_RsaPss / Sign & Encrypt im Produktivbetrieb.
- Wenn Sie die anonyme Anmeldung deaktiviert haben, tragen Sie unter Authentication Settings → Username die in der Konsole angelegten Zugangsdaten ein.
- Bestätigen Sie das Zertifikat des Gateways, wenn Sie dazu aufgefordert werden, verbinden Sie sich und durchsuchen Sie Objects.
Python (opcua-asyncio)
import asyncio
from asyncua import Client
URL = "opc.tcp://192.168.1.2:4334/UA/PhantomGW"
async def main():
async with Client(url=URL) as client:
# Das vollständige Geschwindigkeits-RMS-Array lesen
rms = await client.get_node("ns=1;s=ph40217-rms").read_value()
print("Geschwindigkeits-RMS x/y/z (mm/s):", rms)
# Eine einzelne Achse lesen
rms_z = await client.get_node("ns=1;s=ph40217-rms_element2").read_value()
print("Geschwindigkeits-RMS Z (mm/s):", rms_z)
# Den Wert samt Quell-Zeitstempel lesen
dv = await client.get_node("ns=1;s=ph40217-temperature").read_data_value()
print("Temperatur:", dv.Value.Value, "um", dv.SourceTimestamp)
asyncio.run(main())
Mit aktivierter Authentifizierung und Verschlüsselung:
client = Client(url=URL)
client.set_user("scada")
client.set_password("ihr-passwort")
await client.set_security_string(
"Aes256Sha256RsaPss,SignAndEncrypt,client-cert.der,client-key.pem"
)
Abonnieren statt pollen
Da alle Variablen ein minimales Abtastintervall von 1000 ms deklarieren, fordern Sie ein Veröffentlichungsintervall von 1000 ms oder langsamer an. Ein schnelleres Intervall wird angenommen, liefert aber keine zusätzlichen Daten.
class Handler:
def datachange_notification(self, node, value, data):
print(node, value, data.monitored_item.Value.SourceTimestamp)
sub = await client.create_subscription(1000, Handler())
await sub.subscribe_data_change(client.get_node("ns=1;s=ph40217-rms_element2"))
Fehlersuche
| Symptom | Ursache und Abhilfe |
|---|---|
| Der Client findet keinen Endpunkt | Prüfen Sie, ob der Server aktiviert ist und das Gateway neu gestartet wurde; prüfen Sie, ob TCP-Port 4334 erreichbar ist. |
| Die Erkennung gelingt, die Verbindung schlägt fehl | Der Client schreibt den Endpunkt auf einen Hostnamen um, den er nicht auflösen kann. Aktivieren Sie Override OPC hostname und tragen Sie einen auflösbaren Namen ein. |
BadSecurityPolicyRejected oder kein passender Endpunkt |
Disable OPC UA unencrypted communication ist aktiv und Ihr Client beherrscht die AES-Richtlinien nicht. Nutzen Sie einen passenden Client oder deaktivieren Sie die Option. |
BadIdentityTokenRejected |
Die anonyme Anmeldung ist deaktiviert. Geben Sie eines der in der Konsole definierten Benutzer-Passwort-Paare an. |
| Ein Sensor fehlt im Baum | Export only paired sensors ist aktiv und der Sensor ist nicht gekoppelt, oder das Gateway hat ihn noch nicht gesehen. Prüfen Sie isPaired. |
| Die Werte ändern sich nie | Das Aktualisierungsintervall des Sensors ist länger als Ihr Abfragezyklus, oder der Sensor sendet nicht mehr. Vergleichen Sie sourceTimestamp mit der aktuellen Zeit. |