Socket
Socket
Sign inDemoInstall

node-red-contrib-opcua

Package Overview
Dependencies
230
Maintainers
1
Versions
220
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    node-red-contrib-opcua

A Node-RED node to communicate via OPC UA based on node-opcua library.


Version published
Weekly downloads
4.9K
increased by15.09%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

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 folder ![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

PropertyFunction/ValueNotes
payloadset interval for subscription or monitorItem
intervalSubscription interval
queueSizeSubscription queue size
deadbandType"a" abs. or "p" percentAction monitor
deadbandValueinteger for deadbandAction monitor
topicNodeId and DataType in format ns=3;s=Counter;datatype=Int32
actionsubscribenodeId / variable
unsubscribenodeId / variable
deletesubscriptionsubscription
browsenodeId / folder
infonodeId
readnodeId
writenodeId & value
monitordeadbandtype abs/pro
eventsnodeId
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

PropertyFunction/ValueNotes
payloaddataValue.value.value
statusCodeOPC UA StatusCode
sourceTimestampSource timestamp
serverTimestampServer´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

NodesFunctionDone
All
Project structure:white_check_mark:
Async calls:waxing_crescent_moon:
UnitTesting:new_moon:
Documentation:first_quarter_moon:
Item:white_check_mark:
Browser
Browse:white_check_mark:
Simple UI interface:first_quarter_moon:
Client
Read:white_check_mark:
Read Multiple:white_check_mark:
Write:white_check_mark:
Write Multiple:white_check_mark:
Subscribe:white_check_mark:
Unsubscribe:white_check_mark:
DeleteSubscription:white_check_mark:
Info:white_check_mark:
Browse:white_check_mark:
AE:new_moon:
reconnect on error:waxing_crescent_moon:
Server
Commands
Restart:white_check_mark:
Add Folder:white_check_mark:
Set Folder:white_check_mark:
Add Variable:white_check_mark:
Add Object:new_moon:
Add Method:new_moon:
Add Equipment:first_quarter_moon:
Add PhysicalAssets:first_quarter_moon:
Delete by NodeId:white_check_mark:
Examples
Methods
Structures
Variables
Objects
AE
Alarm and Events
Subscribe:white_check_mark:

EMOJI CHEAT SHEET

Keywords

FAQs

Last updated on 17 May 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc