BiancoRoyal / node-red-contrib-iiot-opcua

deprecated - very new developed by PLUS for Node-RED - https://plus4nodered.com
https://www.npmjs.com/package/node-red-contrib-iiot-opcua
BSD 3-Clause "New" or "Revised" License
34 stars 8 forks source link

IIoT Flex Server: Configuration for "IP only" no FQHN at all !? #118

Closed AndreasHeine closed 2 years ago

AndreasHeine commented 4 years ago

Hey,

rigth now i have got an plc (S7-1500) as opc ua client and it needs a dns server wich resolves the server fhqn into a ip adress!

is it possible to configure the flex server in a way that all endpoints and all comunication is ip based only?

-after some emails with the contributor of node-opcua he sended me a gist how to configure it in node.js so it should be possible! (but i wasn't able to get it done with node-red) -all other opc ua stacks i have used before natively use ip only!

Doc from Siemens, i know its german but u 2 ;)

Wie konfiguriert man einen S7-1500 OPC UA Client, um sich mit einem Server zu verbinden, der mit Namen antwortet anstelle der IP-Adresse? Beschreibung: Eine S7-1500 CPU die als OPC UA Client fungiert, soll einen Verbindungsaufbau zu einem 3rd Party OPC UA Server herstellen. Im Anwenderprogramm dieser S7-1500 wird beim Verbindusaufbau das Error-Bit am Baustein "OPC UA Connect" gesetzt. Der Status liefert den Wert: 8005_0000 (OpcUa_BadCommunicationError). Ursache / Lösung: Viele OPC-UA-Server antworten mit einem Fully-Qualified Host Name (FQHN, deutsch „vollständig angegebener Rechnername“) anstelle der IP-Adresse. Ist dies der Fall, müssen bei der Konfiguration des OPC-UA-Clients der S7-1500 einige zusätzliche Schritte berücksichtigt werden. Voraussetzungen: Ein DNS-Server muss sich im selben Netzwerk befinden. Der DNS-Server muss so konfiguriert sein, dass der Name des OPC-UA-Servers in seine IP-Adresse aufgelöst wird. 1) Der Name des OPC-UA-Servers kann in der Konfiguration des OPC-UA-Clients nicht eingegeben werden (Screenshot _1). Geben Sie stattdessen die IP-Adresse und die Port- Nummer ein. 2) Die Endpunkt-URL muss innerhalb des Anwenderprogramms mit dem Namen überschrieben werden. Verwenden Sie eine globale Variable oder überschreiben Sie den Wert im OB100 (Screenshot _2) 3) Geben Sie die DNS-Serveradresse in die HWCN der SPS ein (Screenshot _3) 4) Der DNS-Server muss im Netzwerk vorhanden sein und muss so konfiguriert sein, dass der Name in die entsprechende IP-Adresse aufgelöst wird Anschließend ist eine Verbindung zwischen Client und Server möglich.

lg Andreas

AndreasHeine commented 4 years ago

some more information:

PLC (Simatic S7-1515F v2.6.1) and the Weidmüller "u-create IoT" (with Node-Red on it and some IO's for hardwarebuttons an led's aswell as a webapp for guided production)

so its more of an m2m setup there is no other connection right now! and i try to avoid using a raspberry pi as dns again...

https://www.weidmueller.de/160937/Produkte/Elektronik-und-Automatisierung/Automatisierung/Neuigkeiten/u-create-IoT/cw_index_v2.aspx

lg Andreas

AndreasHeine commented 4 years ago

doesn't seem some one is intrested in this topic? dont get me wrong i dont want to criticise, i want to help you improving the iiot-opcua-nodes (wich are awesome!)

what i found out (with wireshark) is that the endpoint response shows fhqn-url's so it should be only a change in generating the endpoints and it should work.

lg Andreas