OPC UA Client

OPC UA Client

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

OPC UA Client Plugin Reference Manual

1. Overview

Plugin Name: OPC UA Client

Type: Industrial Protocols

Identifier: uniflow.plugin.opcuaclient

Description

Integration with OPC UA Servers.


2. Technical Architecture

The OPC UA Client plugin builds upon the official OPC Foundation OPC UA .NET Standard SDK stack. It connects to OPC UA Servers over opc.tcp:// binary channels, negotiates security policies (None, Basic256Sha256, Aes128_Sha256_RsaOaep), handles user certificates and session renewal, performs recursive address space node browsing, creates Monitored Item subscriptions for data change notifications, and executes OPC UA method calls.

System Interaction & Exposed Catalog Routes

The OPC UA Client plugin connects to industrial OPC UA Servers using the OPC Foundation SDK. It browses NodeId hierarchies, creates OPC UA MonitoredItems, receives DataChange subscriptions, and issues NodeId writes.

Catalog Routes & Node Integration

Input Event Triggers (Input Nodes):

  • opcua.datachange_received - Emitted when a monitored NodeId value changes.
  • opcua.event_received - Emitted when an OPC UA Event arrives.
  • opcua.connection_status - Connection status change event.
  • Executable Actions (Action Nodes):

  • opcua.write_node_value - Writes a value to an OPC UA NodeId.
  • opcua.call_method - Invokes a remote OPC UA Method.
  • opcua.browse_nodes - Browses address space hierarchy.
  • 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
    Endpoint URLSpecifies the endpoint url.
    Security ModeSpecifies the security mode.
    Security PolicySpecifies the security policy.
    AuthenticationSpecifies the authentication.
    UsernameSpecifies the username.
    PasswordSpecifies the password (secure).
    Publish Interval (ms)Numeric value specifying the publish interval (ms).
    Connect Timeout (ms)Numeric value specifying the connect timeout (ms).
    Reconnect Delay (ms)Specifies the reconnect delay (ms).
    Health Check (ms)Specifies the health check (ms).
    Auto-accept Server CertificateSpecifies the auto-accept server certificate.

    4. Exposed Routes & Data Types

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

    Input Source

    The Input Source node reads live variable values monitored over subscription sessions from remote OPC UA servers.

    Human-Readable Field NameData TypeDescription
    Monitored Variable Node  Double` / `Float` / `Int32` / `Int64` / `Bool` / `String
    Live telemetry value of monitored OPC UA server variable node (e.g., ns=2;s=Device1.Temperature).

    Data Source

    The Data Source node queries browsable object hierarchies and folder structures within the OPC UA server address space.

    Human-Readable Collection NameData TypeExposed Fields & Data TypesDescription
    Address Space Objects  Json` (`collection`)
    NodeId (String)
    BrowseName (String)
    NodeClass (String)
    Browsable hierarchy of OPC UA objects, folders, and variable nodes.

    Output Target

    The Output Target node acts as an action sink node to write values to remote OPC UA variable nodes or invoke server-side methods.

    Target NameData TypeAssociated ParametersParameter Data TypeRequiredDescription
    Writable Variable Node Target  Double` / `Float` / `Int32` / `Int64` / `Bool` / `String
    ValueDouble / Float / Int32 / Int64 / Bool / StringTrueValue payload to write to target OPC UA variable node.
    OPC UA Method Target  Json
    Input Argument NamesMapped OPC UA Data TypesDependentMethod input arguments required by the target OPC UA method node.

    5. Usage Examples

    Scenario A: OPC UA Turbine Vibration MonitoredItem Triggers Avigilon Alarm & Email Alert

    Workflow Overview:

    The OPC UA Client maintains a high-frequency subscription (MonitoredItem) on a Siemens PLC Node (ns=2;s=Turbine.VibrationVelocity). When the vibration level exceeds 4.5 mm/s (Vibration > 4.5), Uniflow evaluates the data change event and fires two actions:

    1. Triggers an active alarm (AlarmId: 601-TURBINE-VIB) in Avigilon Control Center.

    2. Dispatches an alert email to the maintenance supervisor.

    Rule Node Configuration:

    1. Input Source Node: OPC UA Client

  • Node Identifier: ns=2;s=Turbine.VibrationVelocity (Double)
  • 2. Logic Filter Node: GreaterThan

  • Expression: VibrationVelocity > 4.5
  • 3. Output Target Node A: Avigilon ACC Action

  • Action Target: Alarms (avigilon:alarm)
  • AlarmId: 601-TURBINE-VIB
  • Action: TRIGGER
  • Notes: Turbine 1 vibration exceeds ISO threshold 4.5 mm/s
  • 4. Output Target Node B: Email Client Action

  • Action Target: Send Email
  • To: maintenance@powerplant.local
  • Subject: URGENT - Turbine 1 High Vibration Alert
  • Logic Flow Diagram:

    VISUAL ARCHITECTURE FLOW DIAGRAM
    Rendering Flow Architecture Diagram...

    Scenario B: Scheduled Time Event Writes Target Pressure Setpoint to OPC UA Server Node

    Workflow Overview:

    When a Uniflow Scheduler cron timer fires at shift start (07:00 AM daily), Uniflow issues an opcua.write_node_value action to set the target pipeline pressure setpoint node (ns=2;s=Pipeline.TargetPressure) on a remote PLC to 6.5 Bar.

    Rule Node Configuration:

    1. Event Input Node: Scheduler Event Listener

  • Cron Expression: 0 0 7 * * ? (Daily at 07:00 AM)
  • 2. Logic Pass-Through Node: Constant Double

  • Output Value: 6.5
  • 3. Output Target Node: OPC UA Client Writer

  • Action Target: Writable Variable Node Target (opcua.write_node_value)
  • NodeId: ns=2;s=Pipeline.TargetPressure
  • Value: 6.5
  • Logic Flow Diagram:

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