Skip to main content
  1. Projects/

OPC-UA Suite

Table of Contents

The Problem
#

OPC-UA is the industry standard for machine-to-machine communication in industrial automation — but existing Node-RED OPC-UA nodes waste resources by opening a separate TCP connection per node, don’t support batch operations, and make certificate management painful. There’s a gap between what OPC-UA can do and what’s practical in a visual programming environment.

The Solution
#

A modern OPC-UA suite for Node-RED that uses shared connections, batch operations, and drag-and-drop certificates — from simple tag reads to event subscriptions and embedded servers.

What is OPC-UA?
#

OPC Unified Architecture is the interoperability standard for secure, reliable data exchange in industrial automation. It’s platform-independent, vendor-neutral, and supported by virtually every major PLC, SCADA, and MES vendor.

flowchart TB
    S["Siemens PLC"]
    B["Beckhoff PLC"]
    A["ABB DCS"]
    NR["Node-RED
OPC-UA Suite"] D["Dashboard"] DB["Database"] C["Cloud / MQTT"] S -->|OPC-UA| NR B -->|OPC-UA| NR A -->|OPC-UA| NR NR --> D NR --> DB NR --> C

7 Nodes
#

  • opcua-endpoint — Shared connection pooling with reference counting (one TCP connection per endpoint, not per node)
  • opcua-client — All-in-one node for read, write, subscribe, browse, methods, history, and discovery
  • opcua-item — Visual batch operation builder through node chaining
  • opcua-browser — Address space navigation with recursive traversal
  • opcua-method — Method invocation with auto-detected typed arguments
  • opcua-event — Event subscription for alarm conditions and custom event types
  • opcua-server — Embedded OPC-UA server for testing and integration

Shared Connections
#

Unlike legacy packages that open one TCP connection per node, this suite uses reference-counted connection pooling. Multiple nodes pointing to the same endpoint share a single TCP connection — automatically cleaned up when the last node closes.

Batch Operations
#

Single OPC-UA service calls handle multiple variables simultaneously. Chain opcua-item nodes to visually build batch configurations:

flowchart LR
    I1["item
Temp"] I2["item
Pressure"] I3["item
Speed"] C["opcua-client
(batch read)"] I1 --> I2 --> I3 --> C

Security
#

  • Drag-and-drop certificate upload in the editor
  • Security modes: None, Sign, SignAndEncrypt
  • Optional username/password authentication

Why OPC-UA?
#

FeatureModbusMQTTOPC-UA
Data typingNoNoYes (rich types)
Information modelNoNoYes (browsable)
SecurityNoneTLSTLS + certificates + auth
DiscoveryNoNoYes (automatic)
Method callsNoNoYes
Historical dataNoNoYes (built-in)
Industry adoptionLegacyIT/IoTOT/Automation

Quality
#

  • 120 unit tests + 36 integration tests with embedded test server
  • Docker support for local development and CI
  • Automatic datatype detection from JavaScript primitives
  • MIT licensed

Related