NEWS
OPC UA Server add Item
-
Hallo Forum,
ich bin neu hier und benötige mal euren rat da ich mit den Beispielen und Dokumentationen über den OPC UA Server nicht
so recht klar komme.
Ich hoffe ihr könnt mir etwas auf die Sprünge helfen
Da ich auch noch wenig Erfahrung mit NODE-RED habe, könnte es etwas schwieriger werden :D:D
Umgebung: Pi 3 Model B, BS: Jessie alle Versionen von BS,NS,Node sind die momentanen aktuellsten Versionen.
Ich möchte mit einem Inject eine Variable auf einen OPC UA Server schreiben, der OPC UA Server soll auf dem PI laufen und die Werte entgegen nehmen.
Die Werte der Variablen müssten später weiterhin für einen OPC UA Client ansprechbar sein für die weiterverarbeitung.
Ich habe aktuell die Nodes: Node-red-contrib-opcua & Node-red-contrib-iot-opcua.
Wie erstelle ich einen Server mit einem Item?
Und wie kann über ein inject dem Item auf dem Server einen Wert zuweisen?
Ich hoffe ihr versteht mein Problem und könnt mir etwas weiterhelfen,
vielen Dank im voraus.
Gruß
Fizzo361
-
Ich habe mich nun weiter durchs Internet geschlagen und habe nun folgendes geschaffen,
es funktioniert jedoch noch nicht :? aber es drück glaube ich nochmal aus was ich eigentlich schaffen möchte.
Zum Client Temepratur soll nicht wirklich eine Temperatur sein, mir wäre ein dummy wert von 1 schon ausreichend.
hier mal mein Flow:
[{"id":"cfdcda95.79a7f8","type":"inject","z":"97bfc264.0283c","name":"","topic":"","payload":"{\"messageType\": \"Variable\", \"Temperature\": \"Counter\", \"variableValue\": 42}","payloadType":"str","repeat":"","crontab":"","once":false,"x":195,"y":175,"wires":[["44698749.a37dd8"]]},{"id":"44698749.a37dd8","type":"json","z":"97bfc264.0283c","name":"","pretty":false,"x":317,"y":214.24002075195312,"wires":[["ec9c12ee.dc36","d4f3ebea.965a78"]]},{"id":"ec9c12ee.dc36","type":"OpcUa-Server","z":"97bfc264.0283c","port":"53880","name":"OPC-Server","endpoint":"127.0.0.1","x":458,"y":179.96002197265625,"wires":[[]]},{"id":"d4f3ebea.965a78","type":"debug","z":"97bfc264.0283c","name":"","active":true,"console":"false","complete":"true","x":440,"y":240.33001708984375,"wires":[]},{"id":"90f5357e.40eaa8","type":"OpcUa-Client","z":"97bfc264.0283c","endpoint":"dfcd8dce.da217","action":"read","time":10,"timeUnit":"s","name":"OPC Read","x":406,"y":352,"wires":[["578c9cd8.03f1c4"]]},{"id":"93c53d49.4f76b","type":"inject","z":"97bfc264.0283c","name":"Poll Temperature","topic":"ns=2;s=Painting.Oven.Temperature;datatype=Float","payload":"","payloadType":"date","repeat":"5","crontab":"","once":false,"x":190,"y":352,"wires":[["90f5357e.40eaa8"]]},{"id":"cecf5744.f57a58","type":"debug","z":"97bfc264.0283c","name":"","active":true,"console":"false","complete":"false","x":919,"y":284,"wires":[]},{"id":"578c9cd8.03f1c4","type":"switch","z":"97bfc264.0283c","name":"Filter","property":"payload","propertyType":"msg","rules":[{"t":"neq","v":"null","vt":"str"}],"checkall":"true","outputs":1,"x":598,"y":349,"wires":[["8c8e0927.d1a888"]]},{"id":"8c8e0927.d1a888","type":"change","z":"97bfc264.0283c","name":"users/testrobot1/oven/temperature","rules":[{"t":"set","p":"topic","pt":"msg","to":"users/testrobot1/oven/temperature","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":845,"y":347,"wires":[["cecf5744.f57a58"]]},{"id":"dfcd8dce.da217","type":"OpcUa-Endpoint","z":"","endpoint":"opc.tcp://127.0.0.1:53880/OPC-Server","secpol":"None","secmode":"NONE","login":false}]
Ich freue mich über jede Unterstützung.
Schönen Abend
Fizzo361
-
Kann mir den niemand hier aus dem Forum weiterhelfen?
dabei dachte ich das mein Problem gar nicht so schwer sein kann… nun gut
Also ich habe in der Zeit etwas weiter gemacht...
[{"id":"5739b30d.c7200c","type":"OpcUa-Item","z":"f0269d14.2c554","item":"ns=4;s=MyVariable2","datatype":"Double","value":"","name":"Write Value","x":369,"y":97,"wires":[["bd2b0968.da3c88"]]},{"id":"6480c5e3.a14f5c","type":"inject","z":"f0269d14.2c554","name":"","topic":"","payload":"1","payloadType":"num","repeat":"","crontab":"","once":false,"x":151,"y":79,"wires":[["5739b30d.c7200c"]]},{"id":"bd2b0968.da3c88","type":"OpcUa-Client","z":"f0269d14.2c554","endpoint":"a02514b5.4c99b8","action":"write","time":10,"timeUnit":"s","name":"Write in MyVariable2","x":639,"y":97,"wires":[[]]},{"id":"478db615.467938","type":"inject","z":"f0269d14.2c554","name":"","topic":"","payload":"2","payloadType":"num","repeat":"","crontab":"","once":false,"x":149,"y":156,"wires":[["5739b30d.c7200c"]]},{"id":"a02514b5.4c99b8","type":"OpcUa-Endpoint","z":"","endpoint":"opc.tcp://localhost:51234/","secpol":"None","secmode":"NONE","login":false}]
Habe nun in Node-Red einen OPC UA Server erstellt und auf diesem Server gibt es bereits ein paar Items (Counter, FreeMemory und MyVariable2).
ich habe es bisher auch nur geschafft auf "MyVariable2" zuschreiben via Node-Red (siehe dazu Code von Oben), das klappt soweit super, jetzt benötige ich jedoch auf dem Server weitere Variablen, die können auch gern den gleichen aufbau wie "MyVariable2" haben, das würde passen.
Jedoch klappt keiner meiner Versuche dort ein Item hinzuzufügen.
Achja als Client zum Überwachen des Servers und zum Kontrollieren ob meine Werte dort auch ankommen habe ich UAExpert-Client verwendet.
Ich hoffe ihr habt etwas Zeit für mich und könnt euch meinem Problem annehmen.
Ich hoffe auf Unterstützung vielen Dank.
Gruß
Fizzo361