OPC UA Verbindung B&R (Server) WinCC Client

gucky123

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe Gemeinde,
ich versuche seit geraumer Zeit eine OPC UA Verbindung zwischen einer B&R Steuerung X20CP3584 (OPC-Server) und WinCC V7.4 SP1 (Client) aufzubauen.
Bisher ohne Erfolg. Auch das Tool OPC-Scout liefert keine Verbindung. Alleine die Freeware Software UA Expert verbindet sich erfolgreich mit der Steuerung.
Für Hilfe wäre ich sehr dankbar.


OPC_Scout.jpg

OPC_UA_1.jpg

OPC_UA_2.jpg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank für den Hinweis,
ich habe jedoch den Verbindungsaufbau immer über die IP-Adresse vorgenommen.
opc.tcp://192.168.0.100:4840

opc.tcp://br-automation:4840 wurde zurückgemeldet.
 
Das Problem ist behoben.
Der OPC Scout und WinCC finden jetzt den B&R OPC UA Server. Ich habe Einträge in die Windows Dateien hosts und lmhost.sam vorgenommen.

192.168.01.00 br-automation
bzw.
192.168.0.100 br-automation 'PRE
 
Hallo zusammen,

auch wenn es schon etwas spät ist und das Problem gelöst ist hier nochmal die Erklärung dazu (falls andere das hier lesen).

Der Verbindungsaufbau bei OPC UA ist mehrstufig. Ein UA Client fragt erst den Server "GetEndpoints()?" um herauszufinden welche Möglichkeiten es alles gibt. Der Server antwortet darauf mit "Endpoint-Descriptions" von denen er mehrere haben kann. Dann verwendet der Client eine der zurückgegebenen "Endpoints"-Descriptions, um sich damit zu verbinden. Die Namensauflösung ist hierbei insofern kritisch als das viele Client (völlig zurecht) davon ausgehen, dass sie den returnierten Endpoint einfach so verwenden können, und das können sie auch wenn es in dem Netwerk eine funktionierende Namensauflösung (DNS) gibt.

Also man fragt bei einer IP-Adresse nach "Endpoints" und bekommt vom Server Endpoints geliefert in denen aber ein "hostname" drin steht. Dann macht der Client einen Verbindungsaufbauversuch mit den "hostname" und (weil die Namensauflösung in deinem Netz nicht funktioniert) geht es dann nicht. Hinweis: der UaExpert funktioniert hier etwas anders denn er "ignoriert" den zurückgegebenen Hostname und verwendet genau das was bei der "GetEndpoints"-Anfrage bereits funktioniert hatte.

Zur Lösung:
1) in einem OPC UA Netzwerk sollte die Namensauflösung funktionieren (testen mit Ping auf "IP" versus Ping auf "hostname")
->> DNS Server installieren

2) falls die Namensauflösung (dauerhaft) nicht funktioniert, sollte der Server auch nur Endpoints zurückgeben in denen wieder die IP Adresse drin steht
->> Server um-konfigurieren

3) die lokale "etc\hosts" Datei editieren (die Lösung die hier verwendet wurde), wird sehr mühsam wenn es a) viele PC sind auf denen die Clients laufen bzw. b) wenn man viele BuR Steuerungen hat.
->> geht, ist aber eine Lösung die schlecht skaliert

Der Punkt 3 ist auch deshalb schlecht weil (bei sicheren Verbindungen) auch noch das X509 Zertifikat geprüft wird, wenn auch hier, konsitent zum Endpoint, der "hostname" im Zertifikat steht, wird die Prüfung des Zertifikates fehlschlagen (also der Vergleich ob der Inhalt des Zertifikat auch zum Endpoint und zum Absenders des Zertifikates passt). Diese Prüfung kann man bei vielen UA Geräten zwar abschalten, aber man schaltet damit auch eine Sicherheitsprüfung ab. Wenn man also keinen DNS hat, sollte im Server-Endpoint-Description und auch im Server-Zertifikat jeweils die korrekte IP-Addresse drin stehen, damit alles konsistent zusammen passt und die Clients sich nicht "erschrecken".
 
Zurück
Oben