Sonstiges PLCSIM adv. 5.0 zwei Steuerunge OPC UA

MFreiberger

Level-3
Beiträge
3.272
Reaktionspunkte
913
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin Zusammen,

ich versuche gerade eine Kommunikation zwischen zwei simulierten Steuerungen per OPC UA aufzubauen. Dazu nutze ich ein Beispiel von SIEMENS:
SIEMENS OPC UA

Aber anscheinend mache ich noch irgendetwas falsch oder es geht gar nicht. Wenn ich im Client "opcUaConnect" auf TRUE setze, kommt die Fehlermeldung 16#8601 (Da bin ich mir nicht sicher, ab das ein proprietärer Fehlercode in diesem Anwendungsbeispiel ist). Diese meldet: "Fehler beim Verbindungsaufbau (SFB "OPC_UA_Connect").". Angeblich liefert der Baustein den Fehlercode 16#8012, den ich aber nicht in der Bausteinbeschreibung finden kann.

Mehr Diagnoseinformationen finde ich aktuell nicht.

Kann es sein, dass ich keine zwei simulierten Steuerungen in PLCSIM adv. per OPC UA kommunizieren lassen kann?

Verwendet wird:
- PLCSIM Adv. 5.0 Upd2
- TIA V16 Upd6 (Weil das SIEMENS-Beispiel nur in dieser TIA-Version und nicht neuer vorlag)

Hat Jemand in diesem Bereich Erfahrungen?

VG
MFreiberger
 
Ich hab das nur in V20 mit PLCSim Adv. V6 im Betatest mal probiert da ging es. Sollte laut meinen Infos auch in älteren klappen, vllt. mal auf V19 + FW oder so hochrüsten.
 
Grundsätzlich müsste das funktionieren. Kannst du einen Screenshot von deinem Plcsim advanced machen wenn die CPUS geladen und gestartet sind? Was steht im TIA in den Verbindungen drin wenn du online bist?
 
ok, jetzt bin ich beim subfunctionStatus etwas weitergekommen.

OPC_UA_Connect: Verbindung erzeugen
Mögliche Ursachen:
  • Die Server-Adresse (ServerEndpointURL) ist falsch oder unvollständig.
  • Server unterstützt die angeforderte Operation nicht.
 
Da es sich bei der Operation um den Connect handelt, kann ich mir nicht vorstellen, dass diese Operation nicht unterstützt wird. Die EndpointURL ist 'opc.tcp://192.168.99.11:4840' und sollte passen. Zumindest erkenne ich nicht, was falsch sein sollte.

Hat da Jemand eine Idee?
 
Moin,

hatte Urlaub. Jetzt kann ich mich wieder um die Problematik kümmern.

Leider bin ich noch nicht wirklich weitergekommen. Der SIEMENS Support verweist nur auf die URL und meint, das eine weitere Diagnose kostenpflichtig wäre... naja...

Vielleicht liegt es ja grundsätzlich an der Konfiguration/Programmierung des Client? Im Beispielprogramm von SIEMENS ist die security zwar deaktiviert, aber vielleicht braucht der Client noch irgendwelche Zertifikate (obwohl es eigentlich alles akzeptieren sollte)?

VG
MFreiberger
 
Moin,

stelle mal bei deiner Clientverbindung den
UserIdentityTokenType auf 65.

Ich hatte das Problem das ich mit dem Server per UAExpert eine Verbindung aufbauen konnte, mit meinem Client nicht.


UserIdent.JPG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin Corvax,

das Umstellen habe ich versucht. Im Instand-DB (von dem Du den Screenshot gepostet hast) konnte ich den Aktualwert nicht umstellen. Im Konfigurationsbaustein konnte ich zwar den Wert umstellen und dadurch hat der I-DB den auch übernommen, aber mein Problem besteht weiterhin.
Ich vermute, dass der Wert irgendwo in der Konfiguration der Schnittstelle eingestellt werden muss. Also, dass das Umstellen in dem Konfigurations-DB noch nicht hilft, sondern dieser erst das Übernimmt, was in der Schnittstellenkonfiguration eingestellt wurde.
Aber da finde ich den Einsprungpunkt noch nicht.

Vielleicht hast Du noch einen Tipp?

VG
Mario
 
Moin,

wieder ein kleiner Schritt:

OPC UA-Client: Unterstützung von Verbindungen mit einem unverschlüsselten Passwort im Klartext

Ab Firmware-Version V2.9.4 unterstützen S7-1500 CPUs als OPC UA-Client gemäß der OPC UA Spezifikation auch die unverschlüsselte Übertragung des Passworts bei der Benutzerauthentifizierung. Setzen Sie hierfür den UserIdentityTokenType auf den Wert 65. Nutzen Sie diesen UserIdentityTokenType nur dann, wenn der OPC UA-Server die unsichere Übertragung fordert und stellen Sie sicher, dass die Übertragung nur in einer abgesicherten Umgebung stattfindet. Das Passwort wird im entsprechenden Globaldatenbaustein oder Instanzdatenbaustein im Klartextgespeichert und kann ausgelesen werden. Empfehlung: Verwenden Sie Benutzer aus der Benutzerverwaltung des Projekts.

Leider führt das Vorgehen noch nicht zum Erfolg. Ich denke auch, dass das eine nachgelagerte Problematik zu meinem eigentlichen Problem behandelt.

VG
Mario
 
Das scheint irgendetwas mit der Security zu tun zu haben.
Wenn ich in dem Konfigurations-DB den Wert "Connection.ConnectInfo.SecurityPolicy" ändere, ändert sich auch der Sub-Fehlercode.

Der Wert steht bei mir auf 1.

Änderung auf 2 oder 3: Subfehlercode = 8055_0000 => Server unterstützt angeforderte Security Policy oder Transport Profile nicht

Änderung auf 0: Subfehlercode = B080_2200 => Falscher Wert der Variablen "SessionConnectInfo".

Ist das vielleicht ein Ansatz?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was ja auch noch spannend ist: Ich kann mit dem Konfigurationstool der Client-Schnittstelle (CPU > OPC UA-Kommunikation > Client-Schnittstellen > ...) online gehen und den server browsen.
Nur die Verbindung über die programmierte Schnittstelle funktioniert nicht.
 
Welche Sicherheiten sind im Server eingestellt? Benutzername und Passwort, Gast, Sign sha256 oder dergleichen?

Wenn du dich mit UAExpert verbindest, wird dir ein Hinweis bei der Verbindung angezeigt den du akzeptieren musst?
 
Moin Corvax,

wenn ich mich mit dem UAExpert verbinde, gibt es keinerlei Abfragen (auch kein Zertifikat).

Am Server ist "keine Security", Gast-Authentifizierung und "Client-Zertifikate zur Laufzeit automatisch akzeptieren" eingestellt.
Also keine Sicherheiten. Einfach, um zu schauen, ob man online kommt.
 
Zurück
Oben