OPC UA Server

OPC UA Server

ID: uniflow.plugin.opcuaserver Category: Industrial & Communication Protocols Version: v1.3.0 Min Uniflow Version: Uniflow ≥ v1.4.0

OPC UA Server Plugin Reference Manual

1. Overview

Plugin Name: OPC UA Server

Type: Industrial Protocols

Identifier: uniflow.plugin.opcuaserver

Description

Integration with OPC UA Clients.


2. Technical Architecture

The OPC UA Server plugin embeds an OPC UA Server using the official OPC Foundation SDK. It hosts a dynamic OPC UA address space, maps Uniflow catalog tags into OPC UA Variable nodes with read/write access permissions, enforces configurable endpoints and security policies, and dispatches value changes to connected third-party OPC UA clients via subscription notifications.

System Interaction & Exposed Catalog Routes

The OPC UA Server plugin embeds an OPC UA Server instance into Uniflow. It builds custom Information Model nodes and variables, allowing external SCADA/MES software to connect and read/write engine telemetry with security certificate support.

Catalog Routes & Node Integration

Input Event Triggers (Input Nodes):

  • opcua.client_connected - Emitted when an external client connects.
  • opcua.client_write_received - Emitted when a client writes to a server node.
  • opcua.node_updated - Internal node state update event.
  • Executable Actions (Action Nodes):

  • opcua.update_node_value - Updates value of an OPC UA server variable.
  • opcua.trigger_server_event - Emits a custom server event.
  • opcua.set_node_status - Configures StatusCode on a node.
  • Architecture Diagram

    VISUAL ARCHITECTURE FLOW DIAGRAM
    Rendering Flow Architecture Diagram...

    3. Configuration Parameters

    The following configuration fields are available in the User Interface for this plugin:

    Configuration SettingDescription
    Binding IP AddressSpecifies the binding ip address.
    Local PortNumeric value specifying the local port.
    Server Connection URLSpecifies the server connection url.
    Authorized Users (Format: username:password, one per line)Specifies the authorized users (format usernamepassword, one per line) (secure).
    Certificate Path (.pfx)Specifies the certificate path (.pfx).
    AnonymousSpecifies the anonymous.
    User / PasswordSpecifies the user / password (secure).
    X.509 CertificateSpecifies the x.509 certificate.
    Auto-generate self-signed certificateSpecifies the auto-generate self-signed certificate.

    4. Exposed Routes & Data Types

    This plugin exposes catalog fields across the following rule graph nodes:

    Input Source

    The Input Source node reads current variable node values stored inside the local OPC UA server address space.

    Human-Readable Field NameData TypeDescription
    Server Variable Node  Double` / `Float` / `Int32` / `Int64` / `Bool` / `String
    Live value stored in local OPC UA server node tree for external OPC UA client consumption.

    Output Target

    The Output Target node acts as an action sink node to set values of internal OPC UA server variable nodes.

    Target NameData TypeAssociated ParametersParameter Data TypeRequiredDescription
    Writable Server Variable Node Target  Double` / `Float` / `Int32` / `Int64` / `Bool` / `String
    ValueDouble / Float / Int32 / Int64 / Bool / StringTrueValue payload to update inside local server address space.

    5. Usage Examples

    Scenario A: BACnet Building Temperature Values Published to Embedded OPC UA Server for Enterprise MES Access

    Workflow Overview:

    Uniflow reads room temperature values polled from a BACnet MS/TP thermostat (AnalogValue_101). Whenever the temperature changes, Uniflow updates the local OPC UA Server variable node (ns=2;s=HVAC.RoomTemperature). External Enterprise MES clients connect over opc.tcp:// to read real-time building environmental metrics.

    Rule Node Configuration:

    1. Input Source Node: BACnet Agent

  • Point Name: AnalogValue_101 (Double)
  • 2. Logic Pass-Through Node: Identity

  • Processing: Direct float value transfer
  • 3. Output Target Node: OPC UA Server Writer

  • Action Target: Writable Server Variable Node Target (opcua.update_node_value)
  • NodeId: ns=2;s=HVAC.RoomTemperature
  • Value: AnalogValue_101
  • Logic Flow Diagram:

    VISUAL ARCHITECTURE FLOW DIAGRAM
    Rendering Flow Architecture Diagram...

    Scenario B: External Enterprise Client Write Event Triggers Modbus Relay Output

    Workflow Overview:

    When an external OPC UA client writes True to local server node ns=2;s=Control.EmergencyStrobe (opcua.client_write_received), Uniflow catches the client write event and issues a Modbus command setting physical relay output Coil 10 to True.

    Rule Node Configuration:

    1. Event Input Node: OPC UA Server Listener

  • Filter Event: opcua.client_write_received
  • Exposed Schema Fields: NodeId (String), Value (String), Timestamp (DateTime)
  • 2. Logic Filter Node: And Condition

  • Expression: NodeId == "ns=2;s=Control.EmergencyStrobe" AND Value == "True"
  • 3. Output Target Node: Modbus Client Writer

  • Action Target: Direct Access
  • Type: Coils
  • Address: 10
  • Value: True
  • Logic Flow Diagram:

    VISUAL ARCHITECTURE FLOW DIAGRAM
    Rendering Flow Architecture Diagram...
    Architecture Flow Diagram — Full Preview