1500er als OPC UA Client. ERROR 8018

volker

Supermoderator
Teammitglied
Beiträge
5.803
Reaktionspunkte
1.025
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Ich habe hier folgenden Testaufbau

2 1516er CPU verbunden über einen x208. Alle im selben Netz
Alles in einem projekt (TIA 15.1). Zertifikatmanager ist nicht aktiviert.
Auf beiden CPU ist OPC UA Client und Server aktiviert.

PLC1 (.200) fungiert hier als OPC-Server und stellt eine Server-Methode zur Verfügung.
PLC2 (.201) ist der Client und ruft die Servermethode auf.

Auf dem Server ist Gastlogin sowie auch verschlüsselte Verbindung erlaubt.
Ein Benutzer mit Passwort ist im Server hinterlegt.

Konfiguriere ich in der Client-Schnittstelle 'Ohne Security' funktioniert alles einwandfrei.
Aktiviere ich im Client Securtity mit Benutzerlogin bekomme ich den OPC-Fehler 8018.
BadCertificateUseNotAllowed = 0x80180000
s7 meldet: WSTRING#'Error handling: Resources cannot be released!'

Mit UA-Expert gelingt der Secutity-Login auf die PLC1.
anbei auch zwei wireshark mitschnitte. einmal als gast und einmal als user/pw.

--------------------------------

Test 2
Auf dem PC UaAnsiCServer-Demo installiert.

1. Server mit gethostname gestartet. Sever hat also einen Name als Endpoint.
Im Log des Servers kann man sehen das der Anfang eines Verbindungsaufbau ist der direkt abgebrochen wird.
S7 meldet OPC-Fehler 8005. (Logdatei: plc2_2_ansiC_user-pw_hostname.log.txt)

Zugriff (mit user/pw) mit UA-Expert funktioniert ohne weitere meldung

2. Server mit IP konfiguriert.
Erster Verbindungsaufbau liefert Fehler 8013. Logisch, da das Clientzertifikat im rejected liegt.

Zertifikat verschoben nach trusted. Auch hier habe ich nun den Fehler 8018.
Gastzugang funktioniert.

Zugriff (mit user/pw) mit UA-Expert funktioniert. Allerdings kommt folgende Meldung wenn im connectstring eine IP verwendet wird.
Error BadCertificateHostNameInvalid was returned during CreateSession.
Ich vermute das kommt daher das im Serverzertifikat bei Alternativer Antragsteller keine IP-Adresse eingetragen ist.

Die Anhänge zu Test 2 im nächsten post. (sind ja nur 5 erlaubt)
 

Anhänge

  • plc2_2_plc1_mit_user_pw_error8018_01.jpg
    plc2_2_plc1_mit_user_pw_error8018_01.jpg
    168,7 KB · Aufrufe: 49
  • plc2_2_plc1_mit_user_pw_error8018_02.jpg
    plc2_2_plc1_mit_user_pw_error8018_02.jpg
    163,7 KB · Aufrufe: 40
  • wireshark_log.zip
    26,5 KB · Aufrufe: 2
  • uaexpert_2_plc1_user_pw_ok_2_opcua_01.jpg
    uaexpert_2_plc1_user_pw_ok_2_opcua_01.jpg
    180,4 KB · Aufrufe: 41
  • uaexpert_2_plc1_user_pw_ok_2_opcua_02.jpg
    uaexpert_2_plc1_user_pw_ok_2_opcua_02.jpg
    180,1 KB · Aufrufe: 40
Zuletzt bearbeitet:
Hier die Anhänge zu Test 2

Noch eine Frage am Rande.
Zeichne ich die Kommuniktion von der PLC1 zum AnsiCServer auf tauch keine Pakete mit dem OPCUA Protokoll auf. Warum?
 

Anhänge

  • plc2_2_ansiC_user-pw_hostname.log.txt
    5 KB · Aufrufe: 6
  • plc2_2_ansiC_guest_info.log.txt
    7 KB · Aufrufe: 5
  • plc2_2_ansiC_user-pw_info.log.txt
    6,2 KB · Aufrufe: 3
Zuletzt bearbeitet:
Zeichne ich die Kommuniktion von der PLC1 zum AnsiCServer auf tauch keine Pakete mit dem OPCUA Protokoll auf. Warum?

Für den Wireshark-Dissector musst du die Liste der Ports angeben für die er die Decodierung versuchen soll. Ich vermute der Port 4840 (den der Siemens Server verwendet) ist konfiguriert, aber der Port 48020 (den der AnsiCServer verwendet) ist nicht konfiguriert im Wireshark.
 
Zurück
Oben