Git Product home page Git Product logo

node-red-contrib-opcua's Introduction

NPM download NPM version

Node-RED OPC UA

node-red-contrib-opcua

opcuanodeLogo64

A Node-RED nodes to communicate or serve via OPC UA.

based on node-opcua

nodeopcua64

Install

Run command on Node-RED installation directory.

npm install node-red-contrib-opcua

or run command for global installation.

npm install -g node-red-contrib-opcua

Usage

Use OpcUa-Item to define variables. Use OpcUa-Client to read / write / subscribe / browse OPC UA server.

See some flows under Examples. Updated server sub-flow example OPCUA-TEST-NODES.json look commands: addFolder, addVariable, addMethod, setFolder. Added new opcua-rights node to set folder/variable access level and role & permissions.

Here you got some ready to use examples. You can use the Import in Node-RED in the right upper corner menu.

node-red-opcua-flow

Examples are available for Schneider IGSS and Prosys Simulation Server as Node-RED flow. Search for OPC UA on: http://flows.nodered.org/

node-red-opcua-flow-Prosys

New method node example

Events example

Message parameters

Input message

Property Function/Value Notes
payload set interval for subscription or monitorItem
interval Subscription interval
queueSize Subscription queue size
deadbandType "a" abs. or "p" percent Action monitor
deadbandValue integer for deadband Action monitor
topic NodeId and DataType in format ns=3;s=Counter;datatype=Int32
action subscribe nodeId / variable
unsubscribe nodeId / variable
deletesubscription subscription
browse nodeId / folder
info nodeId
read nodeId
write nodeId & value
monitor deadbandtype abs/pro
events nodeId
readmultiple [nodeId + datatype]
writemultiple [nodeId + datatype + value]

readmultiple to readmultiple items writemultiple to write multiple items clearitems to empty multiple items (readmultiple / writemultiple)

NOTE: With datatype=xxxArray msg.payload.range = "2:4" can used as indexRange to read/write partial array

Output message

Property Function/Value Notes
payload dataValue.value.value
statusCode OPC UA StatusCode
sourceTimestamp Source timestamp
serverTimestamp ServerΒ΄s timestamp

Release history (only couple of older releases):

v0.2.223

Fixed: Namespace index used with variables (set value).
Enhancements: Initial value can be set to server variable, server returns nodeId as variable created. Added support for StringArray.

v0.2.117

Enhancement: Added users to server. Users.json contains username, password and role for each user.

v0.2.116

Enhancement: server allow anonymous, added verbose to show trusted/rejected folders.

v0.2.115

Enhancement: server node security settings; mode and policy

v0.2.114

Fix: added to client certificate manager

v0.2.113

Enhancement: server commands: registerNamespace and getNamespaceIndex, user can addVariables with registered namespaces like ns=5.
Enhancement: msg.topic = readmultiple AND msg.payload = ALL then msg.payload = values

v0.2.112

Added DateTime to server.

v0.2.111

Fixed DateTime conversion (write).

v0.2.110

Added 2D and 3D array support. Examples:
ns=1;s=Float2D;datatype=FloatArray[5,5]
ns=1;s=Float3D;datatype=FloatArray[5,5,5]
NOTE: Write range uses msg.range
New feature msg.payload.range can be used to read part of Array
New feature msg.range can be used to write part of Array
Updated example OPCUA-TEST-NODES.json

v0.2.109

Added array range examples (examples/OPCUA-TEST-NODES.json).
Send only if payload contains something.
Added msg.payload.range usage
New feature msg.payload.range can be used to read/write part of Array
Fix: FQDN -> hostname in makeAplicationUri
EventId and statustext as clear string
EventId as hex string

v0.2.108 and older

Fixed support for server Array variables
Browse will create topic and datatype thus output can be connected. Next node can progress output msg.
Refactored browse action fast and simple
Merged event payload fix. Merge pull request #265 from list3f/master
Put OPC UA event data in msg.payload

# Advanced examples - needed from users (add links to examples folder)

Authors

Testing

karma start opcua.conf.js --log-level debug --single-run

TBD List

Nodes Function Done
All
Project structure βœ…
Async calls πŸŒ’
UnitTesting πŸŒ‘
Documentation πŸŒ“
Item βœ…
Browser
Browse βœ…
Simple UI interface πŸŒ“
Client
Read βœ…
Read Multiple βœ…
Write βœ…
Write Multiple βœ…
Subscribe βœ…
Unsubscribe βœ…
DeleteSubscription βœ…
Info βœ…
Browse βœ…
AE πŸŒ‘
reconnect on error πŸŒ’
Server
Commands
Restart βœ…
Add Folder βœ…
Set Folder βœ…
Add Variable βœ…
Add Object πŸŒ‘
Add Method πŸŒ‘
Add Equipment πŸŒ“
Add PhysicalAssets πŸŒ“
Delete by NodeId βœ…
Examples
Methods
Structures
Variables
Objects
AE
Alarm and Events
Subscribe βœ…

EMOJI CHEAT SHEET

node-red-contrib-opcua's People

Contributors

mikakaraila avatar biancode avatar dependabot[bot] avatar theodorekimtrumpf avatar koseng avatar faerylnahr avatar gmerciel avatar list3f avatar tedkim13 avatar andreasheine avatar drehermi avatar powellblyth avatar aitor-gamarra avatar allatrue avatar frostmark avatar erossignon avatar nrok-hpotsirhc avatar c0ppy avatar jclavier44 avatar sajidbaloch avatar alv67 avatar ste-hoe avatar jumo-sballing avatar nospam2000 avatar mscbpi avatar eruvanos avatar kcamenzind avatar jlorich avatar ivan0x17 avatar glennmatthys avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.