TIA ET200SP als OPC-Client zu Fräse - Probleme NamespaceIndex, NodeHandle

LehnerTh

Level-2
Beiträge
44
Reaktionspunkte
6
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Forum!

Ich versuche eine OPC-Verbindung von meiner 1510SP-1 PN, V2.8, TIA V16 (Client) zu einer Fräse (Server) aufzubauen.

Ich habe die Client-Schnittstelle angelegt, kann auf den Server zugreifen und hab die Leseliste erstellt.
Kein Zertifikat, keine Benutzerabfrage.
Bei OPC-Anfragen meldet der Server sich mit seinem Namen zurück, darum habe ich die ServerUri manuell auf den passenden String geändert.
Es hängt ein Router mit NAT dazwischen.

Ich rufe nun nacheinander auf:
OPC_UA_Connect:
- Geht auf done ohne error, ConnectionHandle wird erstellt

OPC_UA_NamespaceGetIndexList:
- Geht auf done, ohne error.
- Anzahl ServerNameSpaceIndexes wird eingetragen.

OPC_UA_NodeGetHandleList:
- Geht auf error mit status 80AF_0000 BadInvalidState
- Laut Hilfe ein Verbindungsfehler

Ich probiere nun schon seit einiger Zeit herum aber finde die Lösung nicht.
Teste ich es lokal mit 2 PLCSIM Instanzen funktioniert die Kommunikation sofort.

Ich habe die Vermutung dass es etwas mit den durch das NAT geänderten IP-Adressen zu tun hat, siehe
https://support.industry.siemens.co...nem-opc-ua-server-fehlschlägt-?dti=0&lc=de-WW

Da steht als Abhilfe die IP Adresse des GetEndpointResponse zu ersetzen, ich habe aber keine Ahnung wie ich das machen soll?!

Hat jemand eine Idee?
Danke
 
Wenn der OPC_UA_Connect gut geht, bist Du schon über das Problem mit Name/IP-Adresse im Zertifikat hinweg. Das sollte im weiteren Verlauf keine Rolle mehr spielen. Stelle Server und Client mal auf "keine Verschlüsselung" und schneide dann den Netzwerkverkehr bis zum Auftreten des Fehlers mit (mit Wireshark). Bei der Anzeige in Wireshark dann den Filter "opcua" eintragen und mal schauen, wo ein Service fehlschlägt und mit welchem Code. Die Service-Aufrufe sind immer Listen von Einzel-Aufträgen, daher nicht nur den Gesamt-Status betrachten, sondern auch die Liste der Einzel-Status. Wenn nichts Geheimes mit aufgezeichnet wurde, dann gerne auch den Mitschnitt hier mit anhängen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok werde ich machen, wird aber etwas dauern (Bin über TeamViewer mit Kundenlaptop mit eingeschränkten Rechten unterwegs).
Bin mittlerweile auch mit einem Siemens Techniker am Suchen und hab den OPC UA-Client Baustein von der Siemens Homepage statt meinem selber geschriebenen probiert, gleiches Verhalten.

Ja der Connect scheint zu funktionieren aber die Statusmeldung macht mich stutzig. Ich bekomme:
Status: 16#8631 - Fehler beim Registrieren einer Leseliste (SFB "OPC_UA_NodeGetHandleList").
Substatus: 16#80AF_0000
Die Verbindung mit dem entsprechenden ConnectionHdl ist im Status "ConnectinError" (temporärer Verbindungsfehler, Verbindung unterbrochen). Die CPU versucht, die Verbindung zu "reaktivieren". Gelingt dies nicht im eingestellten Timeout-Intervall (OPC UA Session Timeout), geht die Verbindung in den Zustand "Shutdown". Voraussetzung für den Zustandsübergang: Die CPU konnte den OPC UA-Server erreichen um zu prüfen, ob die Session noch vorhanden ist oder nicht.
 
Auf welchen Wert steht der Timeout. Da du angegebenen hast, dass die Kommunikation über einen Router geht, muss ggf. der Wert des Timeout erhöht werden. Evtl. kann man das auch mit dem Wireshark Trace ermittelt, wie lang eine Antwort braucht.
 
Session-Timeout steht auf 30s, Überwachungszeit auf 5s. Ich habe die Zeiten auf 60/20s erhöht, bringt keine Veränderung.
Router ist ein Helmholz WALL-IE.
Firmware update auf V2.9.7 hat auch keine Veränderung gebracht.

Mir ist nicht ganz klar, wie ich den Wireshark Mitschnitt machen soll vom Laptop aus, kenne mich mit diesem Tool nicht aus leider...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Laut Siemens ist 16#80AF_0000 tatsächlich ein Verbindungsproblem. Warum das erst bei OPC_UA_NodeGetHandleList auftritt wissen sie nicht.
Ich fahre morgen zum Kunden und verbinde SPS und Fräse direkt ohne Router.
 
Kurze Statusinfo falls wer das selbe Problem hat:
Laut Wireshark wird der RegisterNodesRequest der SPS von der Fräse mit ServiceFault 0x80af0000 [BadInvalidState] beantwortet.
Es ist also ein serverseitiges Problem.
Ich habe nun auch Erfahren, dass der Server eine Eigenprogrammierung ist, kann also nur hier gelöst werden.
 
Guten Tag,

ich versuche eine OPC UA Komminikation zwischen einer Siemens 1500 Steuerung als Server zu einem UA Expert Client aufzubauen.
Leider kommt hier der selbe Fehler: 0x80AF_0000
Und anschließend wird die Komminukation abgebrochen.
Was kann man tun, dass dies nicht geschieht?
 
Guten Tag,

vielen Dank für das Antworten.
Es ist angedacht, dass im UA Expert eine Methode aufgerufen wird. Dieser wird ein Wert (Zeit) übergeben. Nach dem Aufruf "Call" läuft die Zeit in der Methode ab. Während diese Zeit abläuft wird ein Ausgang auf "1" gesetzt.
Nach dem Ablaufen der Zeit, wird dies im UA Expert angezeigt, indem eine boolische Varibale auf 1 gesetzt wird. Diese abgelaufenen Zeit wird ebenfalls ausgegeben.

Problem: Der Vorgang funktioniert ab und zu und ab und zu nicht.
Deshalb denke ich, dass die Hardwarekonfiguration passen sollte.

Das erste Bild ist vom UA Expert.
Das 2. Bild zeigt die Fehlermeldung an.
1714062268167.png
1714062113855.png
 

Anhänge

  • 1714062157729.png
    1714062157729.png
    16,2 KB · Aufrufe: 1
Zurück
Oben