Skip to content

an implementation of a OPC UA stack fully written in javascript and nodejs

License

Notifications You must be signed in to change notification settings

huazh/node-opcua

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

node-opcua

an implementation of a OPC UA stack fully written in javascript and nodejs

NPM download NPM version Build Status Build status

Dependency Status Coverage Status Code Climate

OPC UA

Gitter chat

Node-opcua is an full OPC-UA stack written in NodeJS.

Why NodeJS ?

Because nodeJs is a great framework to design asynchronous application.

Getting started

installing node-opcua

$ npm install node-opcua

running the demo server

$ git clone https://github.com/node-opcua/node-opcua.git
$ cd node-opcua
$ npm init
$ node bin/simple_server

running the demo client

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

Tutorials

API Documentation

Contributing

$ git clone git://github.com/node-opcua/node-opcua.git node-opcua
$ cd node-opcua
$ npm install
$ npm test

Supporting the project

If you like the project, please Flattr us. This will give us full of motivation to carry on and keep working on the roadmap.

NPM

Project Stats

Supported Features

Transport Protocol

Transport Status Comment
UA-TCP UA-SC UA Binary OPC.TCP - Binary
SOAP-HTTP WS-SC UA Binary 🌑 HTTP/HTTPS - Binary
SOAP-HTTP WS-SC UA XML 🌑
SOAP-HTTP WS-SC UA XML-UA Binary 🌑

Security Policies

node-opcua support sign & encrypt security policies

Policy Status Comment
None
Basic128Rsa15
Basic256
Basic256Sha256
Authentication Status Comment
Anonymous
User Mame Password
X509 Certificate 🌑

client facets

Base Client Behaviour
AddressSpace Lookup
Attribute Read
DataChange Subscription
DataAccess
Discovery
Event Subscription
Method call
Historical Access 🌑
Advanced Type
Programming 🌑
Auditing 🌑
Redundancy 🌑

Service

Discovery Service Set
FindServers()
GetEndpoints()
RegisterServer()
Secure Channel Service Set
OpenSecureChannel()
CloseSecureChannel()
Session Service Set
CreateSession()
CloseSession()
ActivateSession()
Cancel()
View Service Set
Browse()
BrowseNext()
TranslateBrowsePathsToNodeIds()
RegisterNodes()
UnregisterNodes()
Attribute Service Set
Read()
Write()
HistoryRead() 🌒
HistoryUpdate() 🌒
MonitoredItems Service Set
CreateMonitoredItems()
ModifyMonitoredItems()
SetMonitoringMode()
SetTriggering() 🌑
DeleteMonitoredItems()
Subscription Service Set
CreateSubscription()
ModifySubscription()
DeleteSubscriptions()
Publish()
Republish()
TransferSubscriptions() 🌑
Node Management Service Set
AddNodes() 🌑
AddReferences() 🌑
DeleteNodes() 🌑
DeleteReferences() 🌑
Query Service Set
QueryFirst() 🌑
QueryNext() 🌑

server profiles

Core Server
Data Access Server
Embedded Server
Nano Embedded Device Server
Micro Embedded Device Server
Standard DataChange Subscription Server
Standard Event Subscription Server
Standard UA Server
Redundancy Transparent Server 🌑
Redundancy Visible Server 🌑
Node Management Server 🌑
Auditing Server 🌑
Complex Type Server

Road-map

This are the item we would like to achieve in the next version of the API.

  • improved documentation
  • Compliance testing and certification (CTT)
  • HA Support : supporting the historizing service
  • more tutorials

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 a issue

About

an implementation of a OPC UA stack fully written in javascript and nodejs

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%