No video

Node Red OPC UA - How To Create an OPC UA Server Using Node Red

  Рет қаралды 32,490

Industry40tv

Industry40tv

Күн бұрын

Пікірлер: 24
@LearnPLCinHindi
@LearnPLCinHindi 4 жыл бұрын
Thank you for this video :)
@kerryimacs
@kerryimacs 4 жыл бұрын
Really good presentation with actual examples. For clarity It would have been nice to see how conveyor running with the weights on the conveyor
@industry40tvonline
@industry40tvonline 4 жыл бұрын
Thanks Aidan. That's true. I'll work on a demo running with the weights on the conveyor.
@sangramlene3668
@sangramlene3668 2 жыл бұрын
Thank you for the video….very helpful👍🏻
@industry40tvonline
@industry40tvonline 2 жыл бұрын
Glad it was helpful. Thanks, Sangram.
@muhammadatif1696
@muhammadatif1696 4 жыл бұрын
Thanks for uploading these contents! Glad to see to again :)
@johncaipa
@johncaipa 3 жыл бұрын
Thanks for this, how can i add a Boolean variable?
@leonardoroman5457
@leonardoroman5457 2 жыл бұрын
Thanks for the video, very good presentation. One question, is the client constantly polling to read new values?
@industry40tvonline
@industry40tvonline 2 жыл бұрын
Yes client is constantly polling. Thanks, Leonardo.
@sosok2873
@sosok2873 Жыл бұрын
I want to simulate datas through an opc ua Server, how do i change the code then?
@Felix-te1dw
@Felix-te1dw 4 жыл бұрын
Realy helpfull video. Can you please share your node-red flow (as json file)
@gurkancekic9057
@gurkancekic9057 4 жыл бұрын
function constructAlarmAddressSpace(server,adressSpace,eventObjects,done){ const opcua=coreServer.core.nodeOPCUA; const LocalizedText=opcua.LocalizedText; const namespace=addressSpace.getOwnNamespace(); coreServer.internalDebugLog('init dynamic address space'); node.warn('construct new address space for OPC UA'); const Variant=opcua.Variant; const DataType=opcua.DataType; const DataValue=opcua.DataValue; var flexServerInternals=this; this.sandboxFlowContext.set("motorSpeed",0); this.sandboxFlowContext.set("motorStatus",0); this.sandboxFlowContext.set("motorWeight",0); coreServer.internalDebugLog("init dynamic address space") const rootFolder=addressSpace.findNode("RootFolder"); node.warn("construct new address space for OPC UA"); const demoStation=namespace.addFolder(rootFolder.objects, { "browseName":"Demo-Station" }); const conveyorFolder=namespace.addFolder(demoStation,{ "browseName":"Conveyor-System"}); const weigherFolder=namespace.addFolder(demoStation,{ "browseName":"Weighing-Platform"}); const motorComponents=namespace.addFolder(conveyorFolder, { "browseName":"StepperMotor" }); const loadcellComponents=namespace.addFolder(weigherFolder, { "browseName":"Loadcell" }); const motorSpeed=namespace.addVariable({ "organizedBy":motorComponents, "browseName":"MotorSpeed", "nodeId":"ns=1;s=Motor_Speed", "dataType":"Double", "value": { "get":function() { return new Variant({ "dataType":DataType.Double, "value":flexServerInternals.sandboxFlowContext.get("motorSpeed") }); }, "set":function(variant) { flexServerInternals.sandboxFloxContext.set( "motorSpeed", parseFloat(variant.value) ); return opcua.StatusCodes.Good; } } }); const motorStatus=namespace.addVariable({ "organizedBy":motorComponents, "browseName":"MotorStatus", "nodeId":"ns=1;s=Motor_Status", "dataType":"Double", "value": { "get":function() { return new Variant({ "dataType":DataType.Double, "value":flexServerInternals.sandboxFlowContext.get("motorStatus") }); }, "set":function(variant) { flexServerInternals.sandboxFloxContext.set( "motorStatus", parseFloat(variant.value) ); return opcua.StatusCodes.Good; } } }); const scaleWeight=namespace.addVariable({ "organizedBy":loadcellComponents, "browseName":"ScaleWeight", "nodeId":"ns=1;s=Scale_Weight", "dataType":"Double", "value": { "get":function() { return new Variant({ "dataType":DataType.Double, "value":flexServerInternals.sandboxFlowContext.get("scaleWeight") }); }, "set":function(variant) { flexServerInternals.sandboxFloxContext.set( "scaleWeight", parseFloat(variant.value) ); return opcua.StatusCodes.Good; } } }); coreServer.internalDebugLog("create dynamic address space done"); node.warn("construction of neww address space for OPC UA done"); done(); }
@gurkancekic9057
@gurkancekic9057 4 жыл бұрын
But Felix , it didn't work for me. if it works for you please advice. You will see my issue on my comment above.
@mohamedharmouche9490
@mohamedharmouche9490 3 жыл бұрын
Thanks for sharing! Is that possible to have the code?
@valentinebright8804
@valentinebright8804 3 жыл бұрын
thanks a lot for this video, i have a small request, ive got Matrikon OPC running locally and connected to a simple, small Mitsubishi FX1n PLc, i have set up matrikon appropriately and i am able to read data and write to the PLC from the matrikon OPC interface, now id like to do same from NOdered,: in other words, id like to connect NOde red as a client to Matrikon OPc(server) to access data, thanks
@sosok2873
@sosok2873 Жыл бұрын
I get the error "cannot find name "coreServer"" can someone please help me?
@CravoJunior
@CravoJunior 4 жыл бұрын
Is there another way? These nodes aren't available anymore...
@gurkancekic9057
@gurkancekic9057 4 жыл бұрын
yes you are right , i stuck like you manage palette install it is missing but you can install from command line with ; it works for me. npm install node-red-contrib-iiot-opcua
@ThePalmerlad
@ThePalmerlad 4 жыл бұрын
@@gurkancekic9057 Command line doesnt appear to work either.
@umeraslamsunny
@umeraslamsunny 3 жыл бұрын
@@gurkancekic9057command line doesnt work may be version mismatch
@umeraslamsunny
@umeraslamsunny 3 жыл бұрын
@@gurkancekic9057 node read. and node.js version ?
@gurkancekic9057
@gurkancekic9057 4 жыл бұрын
Dear Friend, thank you for this json address space definition lesson. I have got this error when i type your DemoStation sample script carefully, can you address this issue. "ReferenceError: addressSpace is not defined" Default adress space script for oil tank level and gas tank level is working and return "construct new address space for OPC UA"
@industry40tvonline
@industry40tvonline 4 жыл бұрын
Please Note: The name of the Node-Red package has changed, but it still works the same way. You can find the new OPCUA Server Node-Red Package here: flows.nodered.org/node/node-red-contrib-opcua-server
@sosok2873
@sosok2873 Жыл бұрын
The package item has no input or output, how do i connect it then??? please help me :(
What is OPC UA and How it Works? [1 of 11]
12:46
Industry40tv
Рет қаралды 102 М.
❌Разве такое возможно? #story
01:00
Кэри Найс
Рет қаралды 3,3 МЛН
طردت النملة من المنزل😡 ماذا فعل؟🥲
00:25
Cool Tool SHORTS Arabic
Рет қаралды 19 МЛН
The Joker saves Harley Quinn from drowning!#joker  #shorts
00:34
Untitled Joker
Рет қаралды 72 МЛН
小丑把天使丢游泳池里#short #angel #clown
00:15
Super Beauty team
Рет қаралды 46 МЛН
OPC UA Lesson 4-  Accessing OPCUA server in IIoT Device via Node RED
20:01
What I LOVE and HATE About MQTT and OPC UA
13:58
RealTimeAutomation
Рет қаралды 23 М.
Is OPC UA the Future of IIoT?
12:54
4.0 Solutions
Рет қаралды 36 М.
Getting Started with OPC-UA and Node-RED
55:39
FlowFuse
Рет қаралды 8 М.
Node-RED: урок по базовым нодам | Умный дом
21:04
Внутренний инженер
Рет қаралды 9 М.
Modbus communication done right in Node-Red
31:31
Csongor Varga
Рет қаралды 14 М.
How to use APIs with Node-RED: OpenWeatherMap Example
28:06
Opto Video
Рет қаралды 51 М.
❌Разве такое возможно? #story
01:00
Кэри Найс
Рет қаралды 3,3 МЛН