Ignition Integration
How to integrate Inductive Automation Ignition with Connectware, including publishing tag data with the MQTT Transmission module and reading Ignition tags with the OPC UA client connector.
This guide describes how to integrate the Ignition SCADA platform by Inductive Automation with Connectware. Ignition publishes tag data to the Connectware MQTT broker using the Cirrus Link MQTT Transmission module, and Connectware reads Ignition tags directly through the OPC UA server that is built into every Ignition gateway. A complete example file is available at the end of this guide.
Objectives
Creating a Connectware user that the Ignition gateway uses to authenticate against the Connectware MQTT broker.
Configuring the MQTT Transmission module to publish Ignition tag data to Connectware as plain JSON.
Understanding the difference between Sparkplug B and plain JSON payloads.
Reading Ignition tags with the Connectware OPC UA client connector.
Prerequisites
To follow this guide, you will need the following:
A running instance of Cybus Connectware.
An Ignition gateway (8.1 or later) with network access to Connectware. For the MQTT path, the Cirrus Link MQTT Transmission module 4.0.25 or later must be installed on the gateway. The UNS Transmitter used in this guide is available starting with this release.
For the OPC UA path: the Ignition OPC UA module, which is part of the standard Ignition installation.
Access to the Admin UI with sufficient user permissions.
Basic knowledge of MQTT and the Connectware services concept (for example, service commissioning files, connections, and endpoints).
It helps to be familiar with Connecting an MQTT Client to Publish and Subscribe Data.
Connectware and Ignition Integration
Ignition is a SCADA and HMI platform that manages its data as tags on the gateway. There are two complementary ways to exchange this data with Connectware:
MQTT (recommended): The MQTT Transmission module turns the Ignition gateway into an MQTT client that connects out to the Connectware broker and publishes tag changes as they happen. Connectware acts as the central broker, so no inbound firewall port to Ignition is required, and the data is immediately available to every other Connectware service and consumer.
OPC UA: Connectware connects to the OPC UA server built into the Ignition gateway using the OPC UA client connector and subscribes to individual tags. Use this path when the Cirrus Link modules are not available on the gateway, or when you want Connectware to control exactly which tags are read.
The MQTT path is configured mostly on the Ignition side. The only Connectware-side preparation is a user with publish permissions. The OPC UA path is configured in a service commissioning file.
Sparkplug B and Plain JSON
By default, MQTT Transmission publishes tag data as Sparkplug B: the topics live under the spBv1.0 namespace and the payloads are protobuf-encoded binary. Connectware routes these messages like any other MQTT message, but treats the payloads as opaque binary data. The Rule Engine, mappings, and the Data Explorer cannot inspect or transform them without an additional decoding step. Choose Sparkplug B only if a downstream consumer, such as a Sparkplug-aware application, decodes the payloads itself.
Since release 4.0.25, MQTT Transmission includes the UNS Transmitter, which publishes tag values as plain JSON messages under the unsAv1.0 namespace. Connectware can read, transform, and route these messages directly, which makes the UNS Transmitter the preferred option for this integration. This guide uses the UNS Transmitter.
Publishing Ignition Tags to Connectware
Creating a Connectware User for Ignition
The Ignition gateway authenticates against the Connectware broker with username and password. Create a dedicated user and grant it publish permissions on the UNS namespace:
In the Admin UI, click User on the navigation panel.
Click Add User and create a user, for example
ignition, with a strong password.In the Users and Roles list, click the new user.
In the Edit User dialog, click Advanced Mode.
Click the + icon to open the Add Permissions panel.
Click MQTT and enter
unsAv1.0/#in the Topic field. The wildcard#covers every tag path that the UNS Transmitter publishes.Select the
writeoperation. This is equivalent to MQTT publish. The UNS Transmitter only publishes and does not subscribe to any topics.Click Add, then click Update.
For details on MQTT permissions, see Permissions.
If you decide to use the default Sparkplug B transmitters instead of the UNS Transmitter, grant the user readWrite permissions on spBv1.0/#. Sparkplug edge nodes subscribe to command topics in addition to publishing data.
Adding Connectware as an MQTT Server in Ignition
Configure the connection to the Connectware broker on the Ignition gateway:
In the Ignition Gateway web interface, navigate to Config > MQTT Transmission > Settings.
On the Servers tab, click Create new MQTT Server.
Enter a name, for example
Connectware.Set the URL to
ssl://${CONNECTWARE_HOST}:8883.Enter the username and password of the Connectware user that you created for Ignition.
If your Connectware instance uses a self-signed certificate, upload the Connectware CA certificate in the CA Certificate File field. For more information, see CA Certificates.
Save the server configuration. The new server is assigned to the Default server set.
Replace the following value:
${CONNECTWARE_HOST}: The hostname or IP address of your Connectware instance.
The Servers tab shows the connection state. Once the configuration is saved, the state changes to 1 of 1 connected. If the state stays at 0 of 1, check the credentials, the broker address, and the certificate settings.
For unencrypted test setups, you can use tcp://${CONNECTWARE_HOST}:1883 instead. Use TLS on port 8883 for production.
Publishing Plain JSON with the UNS Transmitter
The UNS Transmitter monitors a tag folder and publishes every tag change as a JSON message:
In the Ignition Gateway web interface, navigate to Config > MQTT Transmission > Settings.
On the UNS Transmitter tab, create a new transmitter.
Select the Tag Provider, for example
default, and optionally a Tag Path to restrict the transmitter to a tag folder.Keep the Default server set, so the transmitter uses the Connectware server connection.
Save the transmitter configuration.
The transmitter publishes each tag on a topic that mirrors the tag path, prefixed with the unsAv1.0 namespace. For example, a tag Enterprise/Site 1/Line 1/Temperature arrives on the topic unsAv1.0/Enterprise/Site 1/Line 1/Temperature with a payload like the following:
In addition to the data messages, the transmitter publishes one .props message per tag when it connects, containing the tag properties.
MQTT topic segments with spaces, such as Site 1, are valid MQTT but harder to handle in downstream systems. Prefer tag names without spaces on the Ignition side.
Republishing the UNS Topics
You can use the incoming data directly from the unsAv1.0 topics. If you prefer to serve the data in your own topic hierarchy, add a mapping that republishes the whole topic tree. The named wildcard #topic carries the remainder of the topic path over to the output topic:
This mapping is part of the example service commissioning file at the end of this guide. For more information on topic wildcards, see Cybus::Mapping.
Reading Ignition Tags via OPC UA
Every Ignition gateway includes an OPC UA server. Connectware connects to it as an OPC UA client and subscribes to tags.
Preparing the Ignition OPC UA Server
By default, the Ignition OPC UA server only listens on localhost and does not expose the Ignition tag providers. Adjust the server settings:
In the Ignition Gateway web interface, navigate to Config > OPC UA > Server Settings.
Set the Bind Addresses to
0.0.0.0, or to the specific network interface that Connectware reaches, so external clients can connect.In the Advanced section, enable Expose Tag Providers. This makes the Ignition tag providers visible to external OPC UA clients. Without this setting, only device nodes are visible.
Check the Security Policies setting. Connectware connects without message security by default, so add the
Nonepolicy for a first test. To useBasic256Sha256instead, configure theoptions.securityPolicyandoptions.messageSecurityModeproperties and a client certificate on the Connectware connection. For the available properties, see OPC UA Connection Properties.Note the credentials for the OPC UA server. Anonymous access is disabled by default, and new Ignition installations create the user
opcuauserwith the passwordpassword. Change this password before you expose the server to the network.
The server listens on port 62541. The session endpoint is opc.tcp://${IGNITION_HOST}:62541 and the discovery endpoint is opc.tcp://${IGNITION_HOST}:62541/discovery. For details, see Ignition's OPC UA Server in the Ignition user manual.
Exposed tags use NodeIds of the form ns=2;s=[${TAG_PROVIDER}]${TAG_PATH}, for example ns=2;s=[default]Line1/Temperature. To find the NodeIds of your tags, browse the server with an OPC UA client as described in Using Connectware as an OPC UA Client.
Connecting Connectware to the Ignition OPC UA Server
We define the address and the credentials of the Ignition gateway as parameters, so you can set them when you install the service:
The connection resource uses the Opcua protocol and the endpoint resources subscribe to individual tags. The topic property defines the MQTT topic on which Connectware publishes the values:
Replace the NodeId with the tag path of your own tag provider and tags.
Verifying the Integration
Install the service commissioning file and set the parameters. See Installing Services.
Check that the OPC UA connection is in the Connected state on the service details page in the Admin UI. If the connection does not reach the connected state, check the bind address, the security policies, and the credentials of the Ignition OPC UA server.
In Ignition, check that the MQTT Transmission server state shows 1 of 1 connected.
Change a tag value in the Ignition Designer, for example with a memory tag.
Open the Data Explorer and check the incoming data on the
unsAv1.0topics (orignition/unsif you use the republishing mapping) and on theignition/opcuatopics.
Service Commissioning File Example
Last updated
Was this helpful?

