LogoLogo
Contact Uscybus.io
Connectware 1.11.0
Connectware 1.11.0
  • Getting Started
    • Introduction
    • System Requirements
    • Connectware Admin UI
    • Basic Components of Connectware
    • Connecting your First Machine
      • Your First Service Commissioning File
  • Documentation
    • Installation and Upgrades
      • Installing Connectware
        • Installing Connectware (Kubernetes)
        • Installing Connectware (Docker)
      • Upgrading Connectware
        • Upgrading Connectware (Kubernetes)
          • Version-Specific Upgrades (Kubernetes)
        • Upgrading Connectware (Docker)
          • Version-Specific Upgrades (Docker)
      • Uninstalling Connectware
        • Uninstalling Connectware (Kubernetes)
        • Uninstalling Connectware (Docker)
      • Licensing
      • Restarting Connectware
    • User Management
      • Users and Roles View
      • Users
      • Roles
      • Permissions
      • Password Policy Rules
      • Default Admin User
      • MQTT Users
      • Adding a MQTT Publish Prefix for Users
      • Multi-Factor Authentication
      • Single Sign-On (SS0)
        • Single Sign-On with Microsoft Entra ID
        • Single Sign-On with LDAP
      • JSON Web Tokens
      • Access Permissions for Admin-UI
        • UI Access
        • Minimum Access Role Pages
    • Services
      • Service Overview
      • Service Resources View
        • Service Links View
        • Servers View
        • Containers View
        • Volumes View
        • Connections View
        • Endpoints View
        • Mappings View
      • Service Details View
      • Service Commissioning Files
        • Version
        • Description
        • Metadata
        • Parameters
        • Definitions
        • Resources
          • Cybus::Connection
          • Cybus::Container
            • Docker Problem with Network Changes
          • Cybus::Endpoint
          • Cybus::File
          • Cybus::IngressRoute
          • Cybus::Link
          • Cybus:Mapping
          • Cybus::Node
          • Cybus::Role
          • Cybus::Server
          • Cybus::User
          • Cybus::Volume
      • Setting Up and Configuring Services
        • Installing Services
        • Enabling Services
        • Updating Services
        • Disabling Services
        • Deleting Services
      • FlowSync
        • Example 1 - Node with Transaction Mode (HTTP)
        • Example 2 - Node Responds (HTTP)
        • Example 3 - Node with Error (HTTP)
        • Example 4 - Node with Timeout Error Code and Error Message (HTTP)
        • Example 5 - Full Transactional Data Flow (HTTP)
        • Example 6 - Full Transactional Data Flow (OPC UA)
      • ServiceID
      • Inter-Service Referencing
      • Deviations
      • Service Logs
        • Logs of Individual Services
        • Logs of All Services
      • Rule Engine
        • Data Processing Rules
        • Rule Sandbox
      • Shared Subscriptions
        • Setting Up Shared Subscriptions
    • Agents
      • Agents View
      • Installing Agents
        • Installing Agents via Docker
        • Installing Agents via Docker Compose
        • Installing Agents via Kubernetes
        • Using Mutual TLS for Agents
      • Registering Agents in Connectware
      • Using Agents
      • Monitoring Agents
      • Agents in Kubernetes
        • Adding Agents Inside your Connectware Installation
        • Remote Agents with the connectware-agent Helm Chart
        • Kubernetes Cluster Requirements for the connectware-agent Helm Chart
        • Installing Connectware Agents using the connectware-agent Helm Chart
        • Installing Connectware Agents without a License Key Using the connectware-agent Helm Chart
        • Upgrading the connectware-agent Helm Chart
        • Uninstalling Connectware agents with the connectware-agent Helm chart
        • Configuration Principles for the connectware-agent Helm Chart
        • Configuring Agents with the connectware-agent Helm Chart
          • Configuring Target Connectware for the connectware-agent Helm Chart
          • Configuring Agent Persistence for the connectware-agent Helm Chart
          • Configuring Compute Resources for the connectware-agent Helm Chart
          • Using a Custom Image Registry for the connectware-agent Helm Chart
          • Configuring Image Pull Policy for the connectware-agent Helm Chart
          • Using Mutual Transport Layer Security (mTLS) for agents with the connectware-agent Helm chart
          • Configuring image name and version for the connectware-agent Helm chart
          • Configuring Environment Variables for the connectware-agent Helm Chart
          • Configuring Labels and Annotations for the connectware-agent Helm Chart
          • Configuring podAntiAffinity for the connectware-agent Helm Chart
          • Assigning Agents to Kubernetes Nodes for the connectware-agent Helm Chart
          • Configuring Security Context for the connectware-agent Helm Chart
          • Controlling the Name of Kubernetes Objects for the connectware-agent Helm Chart
      • Troubleshooting Agents
    • Client Registry
      • Implicit Flow
      • Explicit Flow
      • Granting Access
    • Certificates
      • Certificates View
      • Adding Certificates
      • Removing Certificates
    • Monitoring
      • Data Explorer
      • Live Data
    • Node-RED Workbench
    • System Status
      • Info
      • Metrics
      • Status
      • Retrieving More System Information
      • System Health
    • Backup and Restore
      • Volumes
      • User Database
    • CybusMQ
      • Configuring CybusMQ
    • Connectware on Kubernetes
      • Connectware Helm Chart
      • Resizing Broker Volumes in Kubernetes
      • Configuring Core Services
      • LDAP Authentication
        • Configuring LDAP Authentication
        • Enabling TLS for LDAP Authentication
        • Manual Kubernetes Secret for LDAP Authentication Bind User
        • Customizing the Search Filter for LDAP Authentication
        • Customizing the User RDN for LDAP Authentication
      • Troubleshooting Connectware on Kubernetes
    • Environment Variables
    • Industry Protocol Details
      • ADS
        • ADS Connection Properties
        • ADS Endpoint Properties
      • BACnet
        • BACnet Connection Properties
        • BACnet Endpoint Properties
      • Custom Connectors
        • Developing Custom Connectors
        • Deploying Custom Connectors
        • Using Custom Connectors
      • EtherNet/IP
        • EtherNet/Ip Connection Properties
        • EtherNet/Ip Endpoint Properties
      • FOCAS
        • FOCAS Connection Properties
        • FOCAS Endpoint Properties
      • Hottinger Baldwin Messtechnik (HBM)
        • HBM Connection Properties
        • HBM Endpoint Properties
      • Heidenhain DNC
        • Heidenhain DNC Connection Properties
        • Heidenhain DNC Endpoint Properties
      • HTTP/REST
        • HTTP/REST Connection Properties
        • HTTP/REST Endpoint Properties
      • HTTP Server/Node
        • HTTP Server Properties
        • HTTP Node Properties
      • InfluxDB
        • InfluxDB Connection Properties
        • InfluxDB Endpoint Properties
      • Kafka
        • Kafka Connection Properties
        • Kafka Endpoint Properties
      • Modbus/TCP
        • Modbus/TCP Connection Properties
        • Modbus/TCP Endpoint Properties
      • MQTT
        • MQTT Connection Properties
        • MQTT Endpoint Properties
      • MSSQL
        • Mssql Connection Properties
        • Mssql Endpoint Properties
      • OPC DA
        • OPC DA Connection Properties
        • OPC DA Endpoint Properties
      • OPC UA
        • OPC UA Client
          • OPC UA Client Connection Properties
          • OPC UA Client Endpoint Properties
        • OPC UA Server
          • OPC UA Server Properties
          • OPC UA Node Properties
        • OPC UA Object Types
        • OPC UA Server References
          • OPC UA Reference Node
          • OPC UA Object Node
      • Siemens SIMATIC S7
        • Siemens S7 Connection Properties
        • Siemens S7 Endpoint Properties
      • Shdr
        • Shdr Connection Properties
        • Shdr Endpoint Properties
      • SINUMERIK
        • SINUMERIK Connection Properties
        • SINUMERIK Endpoint Properties
      • SOPAS
        • SOPAS Connection Properties
        • SOPAS Endpoint Properties
      • SQL
        • SQL Connection Properties
        • SQL Endpoint Properties
      • Werma WIN Ethernet
        • Werma WIN Ethernet Connection Properties
        • Werma WIN Ethernet Endpoint Properties
      • Systemstate
        • Systemstate Endpoint Properties
    • API Reference
      • User Management (API)
      • Client Registry (API)
      • Services (API)
      • Resources (API)
      • System Status (API)
      • Resource Status Tracking (HTTP API)
      • Industry Protocol Details (API)
    • Changelog
Powered by GitBook
LogoLogo

Cybus

  • Terms and Condition
  • Imprint
  • Data Privacy

© Copyright 2025, Cybus GmbH

On this page
  • Input Format
  • Output Format
  • Browsing the tags
  • Service Commissioning File Example

Was this helpful?

  1. Documentation
  2. Industry Protocol Details

OPC DA

PreviousMssql Endpoint PropertiesNextOPC DA Connection Properties

Last updated 2 months ago

Was this helpful?

The OPC DA protocol may require root permissions in some constellations. If you experience problems with running this protocol, please make sure to install your service on an agent with root permissions as described in .

The OPC Data Access (OPC DA) specification is an older protocol specification for real-time data from PLCs and devices, but nowadays this is mostly being superseded by .

In OPC DA, the endpoints are called tags and are referenced to by plain strings.

Endpoints can either refer to one single tag, using the property tag, or multiple tags in one network query, using the property tags.

Currently read, write and subscribe operations are possible.

Additionally, browsing all available data is available, too, by using the property browse and sending a message to the req sub-topic of this endpoint.

Input Format

To write data to a particular tag, first you need to define a write endpoint with a tag and type properties defined.

You can see an example of such endpoint on the provided commissioning file below.

Once you have a proper endpoint, you will need to send the following message with the value you want to write to the /set sub-topic of the endpoint, i.e. if there is an endpoint named myEndpoint, you need to send a message to the topic myEndpoint/set with the following payload:

{ 'value': 228736 }

Output Format

If data is read from OPC DA the output will be provided as JSON object

{ 'timestamp': '<timestamp as given from OPC DA>', 'value': 'value' }

The timestamp as given from OPC DA is usually given in ISO 8601 form, which is a string of the following form: Year-Month-Date, then a T separator, followed by hour:minutes:second, followed by a period, and the milliseconds, and a Z suffix. Example: 2024-02-15T15:57:36.278Z

The value is in one of two forms, depending on whether this endpoint requested a single tag or multiple tags.

If a single tag was requested, the value is just the literal value of the tag, such as an integer number. Example:

{ 'timestamp': '2021-11-15T16:12:22.835Z', 'value': 58.420013427734375 }

If multiple tags were requested, the value is a JSON object with the tag names as keys, and the tag’s values as values. Example:

{ 'timestamp': '2022-04-15T16:12:23.679Z', 'value': { 'Triangle Waves.Int4': 24690, 'Triangle Waves.Real4': 63.50001525878906 } }

Browsing the tags

When intending to explore the available tags, the browse property of the endpoint is useful. To use this, define a read endpoint with the property browse: 'flat' as the only addressing property. (Alternatively, browse: 'tree' can be used, too.) To browse the tag list, send an empty MQTT message to the topic of the endpoint but with the suffix /req (“request”). The Connectware will run the browsing and return the result on the endpoint topic with the suffix /res.

For flat browsing, the result value is an array of strings, which are just the tag names. Example:

{
    'timestamp': '2022-04-15T16:12:23.679Z',
    'value':
        ['@ClientCount', 'Bucket Brigade.ArrayOfReal8', 'Bucket Brigade.ArrayOfString', 'Bucket Brigade.Boolean', 'Bucket Brigade.Int1', 'Bucket Brigade.Int2'],
}

For tree browsing, the result value is a JSON object tree structure representing the tag tree on the server. Example:

{
    'timestamp': '2022-04-15T16:12:23.679Z',
    'value':
        {
            '@ClientCount': '@ClientCount',
            'Simulation Items':
                {
                    'Bucket Brigade':
                        {
                            'ArrayOfReal8': 'Bucket Brigade.ArrayOfReal8',
                            'ArrayOfString': 'Bucket Brigade.ArrayOfString',
                            'Boolean': 'Bucket Brigade.Boolean',
                            'Int1': 'Bucket Brigade.Int1',
                            'Int2': 'Bucket Brigade.Int2',
                        },
                },
        },
}

Service Commissioning File Example

opcda-example.yml
---
description: >

    Accessing an OPC DA server

metadata:
    name: Using OPC DA Server
    version: 1.0.0
    icon: https://www.cybus.io/wp-content/uploads/2019/03/Cybus-logo-Claim-lang.svg
    provider: cybus
    homepage: https://www.cybus.io

parameters:
    opcdaHost:
        type: string
        description: Hostname or IP of the OPC DA server
        default: 192.168.0.1

    opcdaUser:
        type: string
        default: cybus

    opcdaPass:
        type: string
        default: PASSWORD

    initialReconnectDelay:
        type: integer
        default: 1000

    maxReconnectDelay:
        type: integer
        default: 30000

    factorReconnectDelay:
        type: integer
        default: 2

resources:
    opcdaConnection:
        type: Cybus::Connection
        properties:
            protocol: Opcda
            connection:
                host: !ref opcdaHost
                username: !ref opcdaUser
                password: !ref opcdaPass
                domain: 'WORKGROUP'
                classId: 'F8582CF2-88FB-11D0-B850-00C0F0104305'
                connectionStrategy:
                    initialDelay: !ref initialReconnectDelay
                    maxDelay: !ref maxReconnectDelay
                    incrementFactor: !ref factorReconnectDelay

    multipleTags:
        type: Cybus::Endpoint
        properties:
            protocol: Opcda
            connection: !ref opcdaConnection
            subscribe:
                interval: 2000
                tags:
                    - 'Triangle Waves.Int4'
                    - 'Triangle Waves.Real4'

    triangleWaveReal4:
        type: Cybus::Endpoint
        properties:
            protocol: Opcda
            connection: !ref opcdaConnection
            subscribe:
                interval: 2000
                tag: 'Triangle Waves.Real4'

    writeTag:
        type: Cybus::Endpoint
        properties:
            protocol: Opcda
            connection: !ref opcdaConnection
            write:
                tag: 'Triangle Waves.Int4'
                type: 'INTEGER'

    browse:
        type: Cybus::Endpoint
        properties:
            protocol: Opcda
            connection: !ref opcdaConnection
            read:
                browse: 'flat'
agent orchestration
OPC UA
Connection Properties
Endpoint Properties
2KB
opcda-example.yml