Fehlerdiagnose
Im Fall eines unerwünschten Betriebsverhaltens ist möglicherweise eine erweiterte Diagnose notwendig. Je nach Sachlage beinhaltet dies die folgenden Maßnahmen: ADS Trace, Wireshark® Trace, Protokolldatei, Memory Dump. Gegebenenfalls ist auch auf Clientseite eine Protokollfunktion vorhanden und sinnvoll. Die Sinnhaftigkeit zur Durchführung der jeweiligen Maßnahme hängt stark vom Erscheinungsbild des Verhaltens ab. Führen Sie sich hierzu noch einmal die Softwarearchitektur des TwinCAT OPC UA Servers vor Augen und gleichen Sie diese mit dem Betriebsverhalten ab. Das folgende Schaubild verdeutlicht, an welchen Stellen die einzelnen Maßnahmen (genauer beschrieben in der Tabelle) hilfreich sein könnten.

Maßnahme | Anwendungsfall | Link |
---|---|---|
Client Log | Hilfreich zum Aufzeichnen von erweiterten Protokollfunktionen auf Clientseite. | Bitte wenden Sie sich an den Hersteller des Clients, um weitere Informationen zu dessen Logging-Funktionen zu erhalten. |
Wireshark Trace | Sinnvoll zur Untersuchung der Kommunikation zwischen Client und Server. | |
Server Log | Hilfreich zum Aufzeichnen von erweiterten Protokollfunktionen auf Serverseite. | Siehe Kapitel Logging in dieser Dokumentation. |
Memory Dump | Die Erstellung eines Memory Dumps kann bei einer unerwarteten Terminierung des TwinCAT OPC UA Servers sinnvoll sein. Die hierfür notwendigen Tools sind abhängig vom Betriebssystem. | |
ADS Trace | Sinnvoll zur Untersuchung der Kommunikation zwischen Server und SPS. | Beckhoff Download Finder (TF6010 TC3 ADS Monitor) |
![]() | Support Die Supportabteilung von Beckhoff unterstützt Sie gern bei der Durchführung der geeigneten Maßnahmen. |
Die folgende Tabelle gibt einen Überblick über möglicherweise unerwartet auftretendes Betriebsverhalten und Maßnahmen zu dessen Lösung.
Verhalten | Maßnahme(n) |
---|---|
Ein OPC UA Client sieht den PLC Namespace nicht. | TF6100 Setup Version 3.x und kleiner: Dieser Status ist ein Hinweis auf eine fehlende Lizenz. Überprüfen Sie, ob Sie eine gültige TF6100 Lizenz aktiviert haben. |
Ein OPC UA Client bekommt bei Auslesen von Nodes den StatusCode 0x810e0000. | TF6100 Setup Version 4.x: Dieser Status ist ein Hinweis auf eine fehlende Lizenz. Überprüfen Sie, ob Sie eine gültige TF6100 Lizenz aktiviert haben. |
Die über Kommentare/Attribute freigegebenen Variablen werden nicht im OPC UA Server angezeigt. | Überprüfen Sie, ob die Symboldatei ordnungsgemäß auf die Steuerung übertragen wurde (z. B. Auswahlkästchen im SPS-Projekt), im Bootverzeichnis vorhanden ist und der Pfad zur Symboldatei in der Konfigurationsdatei des Servers auf die richtige Symboldatei verweist. Sie können auch über die DeviceState Node im jeweiligen Namespace eventuell aufgetretene ErrorMessages überprüfen. Hier wird z. B. auch eingetragen, wenn die Symboldatei nicht gefunden wurde. Überprüfen Sie auch die ordnungsgemäße Schreibweise der Kommentare/Attribute. |
Die vom OPC UA Client geforderte Samplingrate/PublishingInterval werden vom Server nicht eingehalten. | OPC UA Client/Server ist kein Echtzeitprotokoll, d. h. dass es keine Garantie gibt, dass der Server eine vom Client geforderte Samplingrate oder PublishingInterval auch immer zu 100 % einhält. Die zur Verfügung stehenden Samplingraten und PublishingIntervalle können in der Konfigurationsdatei des Servers eingesehen und bei Bedarf modifiziert werden (<AvailableSamplingRates> und <MinPublishingInterval>). |
Ein OPC UA Client kann sich nicht mit dem Server verbinden, obwohl der Server im Windows Task Manager angezeigt wird. Es erscheint die Fehlermeldung „Host unreachable“ (o.Ä.). | Überprüfen Sie, ob gegebenenfalls Firewall-Einstellungen eine Kommunikation mit dem Server verhindern. Der Serverport muss für eine eingehende TCP-Kommunikation geöffnet sein, damit sich ein Client verbinden kann. |
Ein OPC UA Client sieht zwar die Endpunkte des Servers, eine Verbindung mit diesen schlägt jedoch mit der Fehlermeldung „Host unreachable“ fehl. | Überprüfen Sie, ob die Namensauflösung in Ihrem Netzwerk ordnungsgemäß funktioniert und der Server unter seinem Hostnamen erreichbar ist. Auch wenn sich der OPC UA Client augenscheinlich mit der IP-Adresse des Servers verbindet (z. B. opc.tcp://192.168.0.1:4840), um auf die Endpunkte des Servers zuzugreifen, so returniert der Server in seinen Endpunkten dennoch immer den eigenen Hostnamen. Wenn sich nun der Client direkt mit einem der Endpunkte verbindet, verwendet er wieder den Hostnamen des Servers. Im Fall einer nicht funktionierenden Namensauflösung schlägt dann die Verbindung fehl. |
Ein OPC UA Client sieht zwar die Endpunkte des Servers, eine Verbindung mit einem sicheren Endpunkt schlägt jedoch fehl. Es erscheint die Fehlermeldung „BadSecurityChecksFailed“ | Überprüfen Sie, ob der Server dem Client-Zertifikat vertraut. Die notwendigen Konfigurationsschritte können Sie im Kapitel Zertifikatsaustausch nachlesen. Hier ist zusätzlich darauf zu achten, dass ein Signaturhashalgorithmus der SHA 2-Gruppe (SHA256, SHA364, SHA512) zur Signierung des Client-Zertifikats verwendet wird. Werden veraltete Algorithmen wie SHA1 verwendet, lässt der TwinCAT OPC UA Server keine Verbindung zu. |
Bei Verwendung eines SQL Servers zur Speicherung von Historical Access Informationen, werden die Werte nicht zur SQL-Datenbank hinzugefügt. | Überprüfen Sie die Zugangsdaten zum SQL Server und dass der SQL Server auch im Netzwerk erreichbar ist. Stellen Sie auch sicher, dass Sie ein „Big Windows“-Betriebssystem auf dem TwinCAT OPC UA Server verwenden, da SQL Server nicht unter Windows CE für Historical Access verwendet werden können (SQL Compact hingegen schon). |
Beim Auslesen von Nodes erhält ein OPC UA Client die Fehlermeldung „BadDeviceFailure“. | Dies ist ein Hinweis darauf, dass das zugehörige ADS-Gerät nicht erreichbar ist, z. B. wenn kein SPS-Programm gestartet ist. Überprüfen Sie die Konnektivität mit dem ADS-Gerät und stellen Sie sicher, dass die entsprechende Laufzeit aktiv ist. |
Beim Auslesen von Nodes erhält ein OPC UA Client die Fehlermeldung „BadLicenseExpired“. | Dies ist ein Hinweis darauf, dass keine TF6100 Lizenz auf dem System aktiv bzw. dass diese abgelaufen ist. Bitte stellen Sie sicher, dass Sie eine TF6100 Lizenz auf dem Gerät aktiviert haben, auf dem der Server installiert wurde. |
Arrays werden nicht voll aufgelöst im Namespace dargestellt. | Standardmäßig werden Arrays von einfachen Datentypen nicht „aufgeklappt“ im Namensraum dargestellt. Einzelne Array-Indizes sind dennoch über die sogenannte IndexRange Funktion von OPC UA adressierbar. Ein OPC UA Client sollte diese Funktion entsprechend unterstützen. Ist dies nicht der Fall, so kann über einen Optionsschalter in der Konfigurationsdatei des Servers bewirkt werden, dass ein Array „aufgeklappt“ dargestellt und somit jedes einzelne Arrayelement als separate Node adressierbar ist. Dieser Optionsschalter ist im Kapitel Arrays beschrieben. |
Im Errorlog taucht wiederholt die folgende Meldung auf: "CBkUaPlcSamplingEngine_Poll : !!CRITICAL!! Sampling exceeded n times in a row, leaving no time left to rest." | Diese Meldung ist ein Hinweis darauf, dass der Server die vom Client zu einer Subscription hinzugefügten Variablen nicht in der angeforderten Samplingrate verarbeiten kann. Der Grund hierfür ist typischerweise eine zu hohe Datenmenge, z.B. beim Sampling von großen Datenstrukturen (StructuredTypes). Bitte beachten Sie, dass diese Meldung nicht zwangsläufig ein Problem darstellen muss. Bei vielen OPC UA Client Applikationen werden die Einstellungen zur Samplingrate generalisiert und für alle Variablen getroffen, auch wenn diese gegebenenfalls langsamer ge-sampled werden könnten. In jedem Fall sollte ein erster Schritt zur Optimierung jedoch immer eine Überprüfung und ggf. Reduktion der Samplingrate beinhalten. Auch sollte überprüft werden, ob im Falle einer Verwendung von großen StructuredTypes diese in der Datenmenge reduziert werden können. Auch das Upgrade auf eine schnellere CPU ist hilfreich. Allerdings kann aus der Erfahrung heraus gesagt werden, dass sich schon durch eine Reduzierung der Samplingrate und Verringerung der Datenmenge erste gute Erfolge erzielen lassen. |