2.33.0 • Published 3 years ago

zsbonc-node-opcua v2.33.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

node-opcua

node-opcua is an implementation of an OPC UA stack fully written in Typescript for NodeJS.

NPM download NPM version Build Status Build status HitCount lerna

Coverage Status Code Climate

OPC UA Gitter chat

The Book

Node-opcua is the OPC-UA stack running on NodeJS.

Why NodeJS ?

Because nodeJs is a great framework to design asynchronous applications.

Getting started

installing node-opcua as a node package

$ mkdir mytest
$ cd mytest
$ npm init 
$ npm install node-opcua --unsafe-perms
$ # create your first app.js file!

installing node-opcua samples as a node package

$ mkdir myserver
$ cd myserver
$ npm init
$ npm install node-opcua-samples --unsafe-perms
$ ./node_modules/.bin/simple_server

or

$ ./node_modules/.bin/simple_client  -e "opc.tcp://opcserver.mAutomation.net:4841" -n="ns=1;s=EVR2.system.RTC_SEC"

or

$ ./node_modules/.bin/simple_client  -e "opc.tcp://opcuademo.sterfive.com:26543" 

Minimum nodejs requirement

  • nodejs version 10.23 or above

API Documentation

tutorials and guided examples

The Book

Getting professional support

NodeOPCUA is developed and maintained by sterfive.com.

To get professional support, consider subscribing to the node-opcua membership community:

Professional Support

or contact sterfive for dedicated consulting and more advanced support.

:heart: Supporting the development effort - Sponsors & Backers

If you like node-opcua and if you are relying on node-opcua in one of your projects, please consider becoming a backer and sponsoring us, this helps us to maintain a high-quality stack and constant evolution of the stack.

If your company would like to participate and influence the development of future versions of node-opcua please contact sterfive.

Road-map

Those are the items we would like to achieve in the next version of the API.

  • improved documentation
  • Compliance testing and certification (CTT)
  • Pub-sub support
  • support for redundancy
  • more tutorials

Advanced topics

installing node-opcua from source

running the demo server from source

 $ git clone https://github.com/node-opcua/node-opcua.git
 $ cd node-opcua
 $ npm install -g pnpm 
 $ pnpm install
 $ pnpm recursive install
 $ pnpm build
 $ node packages/node-opcua-samples/bin/simple_server

running the demo client from source

 $ git clone https://github.com/node-opcua/node-opcua.git
 $ cd node-opcua
 $ npm install -g pnpm 
 $ pnpm install
 $ pnpm recursive install
 $ pnpm build
 $ node packages/node-opcua-samples/bin/simple_client.js -e "opc.tcp://opcserver.mAutomation.net:4841" -n="ns=1;s=EVR2.system.RTC_SEC"
    

Tutorials

Contributing

$ git clone git://github.com/node-opcua/node-opcua.git
$ cd node-opcua
$ npm install -g pnpm 
$ pnpm install
$ pnpm recursive install
$ pnpm build

NPM

Project Stats

Supported Features

Service
Discovery Service Set
FindServers():white_check_mark:
GetEndpoints():white_check_mark:
RegisterServer():white_check_mark:
RegisterServer2():white_check_mark:
FindServersOnNetwork():white_check_mark:
Secure Channel Service Set
OpenSecureChannel():white_check_mark:
CloseSecureChannel():white_check_mark:
Session Service Set
CreateSession():white_check_mark:
CloseSession():white_check_mark:
ActivateSession():white_check_mark:
Cancel()
View Service Set
Browse():white_check_mark:
BrowseNext():white_check_mark:
TranslateBrowsePathsToNodeIds():white_check_mark:
RegisterNodes():white_check_mark:
UnregisterNodes():white_check_mark:
Attribute Service Set
Read():white_check_mark:
Write():white_check_mark:
HistoryRead():waxing_crescent_moon:
HistoryUpdate():waxing_crescent_moon:
MonitoredItems Service Set
CreateMonitoredItems():white_check_mark:
ModifyMonitoredItems():white_check_mark:
SetMonitoringMode():white_check_mark:
SetTriggering():new_moon:
DeleteMonitoredItems():white_check_mark:
Subscription Service Set
CreateSubscription():white_check_mark:
ModifySubscription():white_check_mark:
DeleteSubscriptions():white_check_mark:
Publish():white_check_mark:
Republish():white_check_mark:
TransferSubscriptions():white_check_mark:
Node Management Service Set
AddNodes():new_moon:
AddReferences():new_moon:
DeleteNodes():new_moon:
DeleteReferences():new_moon:
Query Service Set
QueryFirst():new_moon:
QueryNext():new_moon:
Transport Protocol
TransportStatusComment
UA-TCP UA-SC UA Binary:white_check_mark:OPC.TCP - Binary
SOAP-HTTP WS-SC UA Binary:new_moon:HTTP/HTTPS - Binary
SOAP-HTTP WS-SC UA XML:new_moon:
SOAP-HTTP WS-SC UA XML-UA Binary:new_moon:
Security Policies
PolicyStatusComment
None:white_check_mark:
Basic128Rsa15:white_check_mark:deprecated in 1.04
Basic256:white_check_mark:deprecated in 1.04
Basic256Sha256:white_check_mark:
AuthenticationStatusComment
Anonymous:white_check_mark:
User Name Password:white_check_mark:
X509 Certificate:white_check_mark:
client facets
Base Client Behaviour:white_check_mark:
AddressSpace Lookup:white_check_mark:
Attribute Read:white_check_mark:
DataChange Subscription:white_check_mark:
DataAccess:white_check_mark:
Discovery:white_check_mark:
Event Subscription:white_check_mark:
Method call:white_check_mark:
Historical Access:first_quarter_moon:
Advanced Type:white_check_mark:
Programming:new_moon:
Auditing:first_quarter_moon:
Redundancy:new_moon:Sponsors wanted
server profiles
Core Server:white_check_mark:
Data Access Server:white_check_mark:
Embedded Server:white_check_mark:
Nano Embedded Device Server:white_check_mark:
Micro Embedded Device Server:white_check_mark:
Standard DataChange Subscription Server:white_check_mark:
Standard Event Subscription Server:white_check_mark:
Standard UA Server:white_check_mark:
Redundancy Transparent Server:new_moon:Sponsors wanted
Redundancy Visible Server:new_moon:Sponsors wanted
Node Management Server:new_moon:Sponsors wanted
Auditing Server:first_quarter_moon:
Complex Type Server:white_check_mark:(sponsored)
Session Diagnostics:white_check_mark:(sponsored)
Subscription Diagnostics:white_check_mark:(sponsored)
Alarms & Conditions:white_check_mark:(sponsored)
Pub & Sub:new_moon:Sponsors wanted

Feedback

  • if you're using node-opcua in one of your project, please feel free to leave a comment and a quick description in the wiki

  • if you have a particular wish or found a issue, let us known and create an issue