Seite 1 von 1
OPC Node ID
Verfasst: Mittwoch 10. April 2019, 12:49
von TheBird
Hallo Zusammen,
ich bin gerade dabei über ein Python Skript auf den OPC UA Server einer CPU 1511 zu zugreifen. Die Verbindung zum Server funktioniert einwandfrei und ich kann auch diverse Daten / Information abrufen aber sobald ich über mein Python Skript auf eine Datenbaustein Variable zugreifen will bekomme ich folgende Fehlermeldung :
BadNodeIdUnknown: The node id refers to a node that does not exist in the server address space.(BadNodeIdUnknown)
Wenn ich über OPC UA Expert auf die Variable zugreife, sehe ich die aktualisierte Variable mit der dementsprechenden Node ID (siehe Bild)
Sobald ich über mein Python Skript zugreifen will, erkennt das Skript die Node ID nicht.
Code: Alles auswählen
import time
from opcua import Client
url = "opc.tcp://192.168.100.164:4840"
client = Client(url)
client.connect()
print("Client Connected")
while True:
Temp = client.get_node("ns=3;s=:Daten.real_01")
Temperature = Temp.get_value()
print(Temperature)
time.sleep(1)
Wenn ich nun bei client.get_node("ns3;s="Daten"."real_00"") eingebe bekomme ich vom Python Interpreter einen Syntax Fehler.
Bedanke mich schon im Voraus für die Hilfe, schönen Tag
ROB
Re: OPC Node ID
Verfasst: Mittwoch 10. April 2019, 14:26
von Jankie
Hey,
in dem Screenshot steht die NodeId:
in deinem Code steht die NodeId:
und in deinem Text darunter steht die NodeId:
Vielleicht könnte es daran liegen.
Re: OPC Node ID
Verfasst: Donnerstag 11. April 2019, 06:00
von TheBird
die Lösung ist wie folgt man muss die äußeren " durch ' ersetzen
client.get_node('ns=3; s="Daten"."real_01"')
Ist es Möglich wenn man nur die Adresse vom OPC UA Server kennt mit Python den Server zu durchsuchen um zu sehen welche Daten / Variablen dieser anbietet...? hat hier eventuell jemand einen Beispiel Code auf welchen man aufbauen kann...?
Danke
Re: OPC Node ID
Verfasst: Donnerstag 11. April 2019, 08:41
von __deets__
Die Bibliothek die du benuzt hat solchen Code als Beispiel, zb
https://github.com/FreeOpcUa/python-opc ... example.py
Re: OPC Node ID
Verfasst: Freitag 12. April 2019, 06:50
von TheBird
Danke, werde mich dieses WE mal durch die Beispiele arbeiten, da ich mir zur Zeit noch unsicher bin welches Python Modul das "Beste" für mich und meine Anwendungen ist bin ich auf der Suche nach weiteren Möglichkeiten auf folgende Bibliothek / Modul gestoßen.
https://github.com/uaf/uaf ich habe versucht laut Anleitung alles zu Installieren um UAF in Python verwenden zu können, leider ohne Erfolg. Ich bekomme immer folgende Fehlermeldung wenn ich den cmake Befehl ausführe.
Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.17134.
The C compiler identification is MSVC 19.20.27508.1
The CXX compiler identification is MSVC 19.20.27508.1
Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Preview/VC/Tools/MSVC/14.20.27508/bin/Hostx64/x64/cl.exe
Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Preview/VC/Tools/MSVC/14.20.27508/bin/Hostx64/x64/cl.exe -- works
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Detecting C compile features
Detecting C compile features - done
Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Preview/VC/Tools/MSVC/14.20.27508/bin/Hostx64/x64/cl.exe
Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Preview/VC/Tools/MSVC/14.20.27508/bin/Hostx64/x64/cl.exe -- works
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Detecting CXX compile features
Detecting CXX compile features - done
######################### Creating Makefile of uasdk ###############################################
CMake Error at cmake/SetThirdPartyPaths.cmake:83 (message):
The used Visual Studio version was not recognized. If matching third-party
libraries can be provided, please adapt 'C:/Program
Files/UnifiedAutomation/UaSdkCppBundleEval/cmake/SetThirdPartyPaths.cmake'
accordingly for finding and using them.
Call Stack (most recent call first):
cmake/FindUaOpenSSL.cmake:69 (include)
examples/CMakeLists.txt:12 (find_package)
Configuring incomplete, errors occurred!
See also "F:/uaf/build/CMakeFiles/CMakeOutput.log".
Hat hierzu jemand eine Idee bzw. ist es eventuell möglich das UAF Modul auf andere Weise für Python zu beziehen / installieren.
DANKE,
Re: OPC Node ID
Verfasst: Freitag 12. April 2019, 08:42
von __deets__
Na die Fehlermeldung ist doch recht klar - falsch Visual Studio Version. Du wirst die nehmen müssen, mit der auch dein Python übersetzt wurde.
Wenn ich aber sehe, welche Probleme du hier noch hast, denke ich ist die Zeit besser investiert Python zu lernen. Denn eine wirklich Bewertungsgrundlage hast du ohne zu verstehen wie man programmiert doch gar nicht.