Migrating from Ignition
How to export tags and device connections from an Inductive Automation Ignition Gateway and translate them into a Connectware service commissioning file with the help of an AI assistant.
This guide shows you how to migrate the connectivity layer of an Inductive Automation Ignition Gateway to Connectware by exporting the tag configuration as JSON and translating it into a service commissioning file. Ignition covers many roles, from HMI to historian. This guide is about one of them: the device connections and OPC tags that read data from PLCs. In more detail, the following topics are covered:
Understanding how Ignition concepts map to Connectware resources
Exporting tags from the Ignition Designer and collecting device connection settings
Translating the export into a service commissioning file with an AI assistant
Reviewing the generated service commissioning file
Verifying the migrated data points in the Data Explorer
A complete worked example, from tag export to service commissioning file, is available at the end of this guide.
Migration is not the only way to combine the two products. Many teams keep Ignition for visualization and move the connectivity and Unified Namespace layer to Connectware, with Ignition consuming data from Connectware over MQTT or OPC UA. See Ignition Integration for that pattern.
Prerequisites
To follow this guide, you will need the following:
A running instance of Cybus Connectware with licenses for the connectors that replace your Ignition device drivers.
Access to the Ignition Designer and the Gateway web interface. The export steps apply to Ignition 8.x, including Ignition Edge.
Network access from Connectware to the PLCs that Ignition currently polls. After the migration, Connectware connects to the devices directly.
An AI assistant to translate the export. Any capable large language model (LLM) works. Cybus Connectware GPT is a ChatGPT assistant that already knows the service commissioning file format.
Basic knowledge of the Connectware services concept (for example, service commissioning files, connections, and endpoints).
How Ignition Concepts Map to Connectware
Ignition's OPC UA module turns the Gateway into an OPC UA server that hosts device drivers. Tags subscribe to driver data through the internal OPC UA connection, and tag groups define the polling policy. Connectware organizes the same information in resources of a service commissioning file:
Device connection
One connection per configured driver instance, carrying the host, port, and device-specific options.
OPC tag
The opcItemPath contains the device name and the driver-specific address; the tag data type and tag group complete the endpoint definition.
Tag folder hierarchy
MQTT topic hierarchy
Folder nesting becomes path segments in the topics of a Cybus::Mapping.
Tag group
Polling interval
The tag group rate becomes the endpoint interval (or the connection pollInterval for connectors that poll per connection, such as S7).
User-defined type (UDT)
No direct equivalent
UDT instances must be flattened into explicit endpoint lists during translation.
MQTT Transmission (Cirrus Link)
Connectware publishes every endpoint to its integrated MQTT broker. For Sparkplug B consumers, see Sparkplug B Integration.
Tag provider
MQTT topic root
Providers become a prefix in the topic structure.
Mapping Drivers to Connectors
The following Ignition OPC UA drivers have a native Connectware connector:
Modbus
Siemens (S7-300/400/1200/1500)
Allen-Bradley Ethernet (Logix)
BACnet
For drivers without a native connector, for example DNP3, Omron, or Mitsubishi, keep the Ignition Gateway in place for those devices and read them through Ignition's OPC UA server with the Connectware OPC UA Client connector. A migration can be partial: native connectors for the covered devices, the OPC UA route for the rest.
What Does Not Migrate 1:1
Ignition is an application platform, and everything beyond connectivity needs a deliberate decision instead of a translation:
Vision and Perspective screens
Out of scope. Visualization stays in Ignition or moves to another HMI, consuming data from Connectware.
Tag Historian
Store time-series data in an external database through the enterprise connectors, for example InfluxDB. Historical data itself does not transfer.
Gateway and project scripts
Re-implement data logic with Rule Engine rules or in the Node-RED Workbench.
Alarm pipelines
Re-implement alarm evaluation and notification in the consuming systems.
Reporting
Out of scope for a connectivity layer.
Exporting the Ignition Configuration
The migration needs three inputs: the tag export, the device connection settings, and the tag group rates.
Exporting Tags
In the Ignition Designer, open the Tag Browser.
Select the Tags tab, a folder, or individual tags.
Open the More Options menu and select Export Tags.
Save the export as a
.jsonfile.
If your project uses UDTs, export the definitions as well: they are not included in the tag export. Repeat the export on the UDT Definitions tab of the Tag Browser and keep both files. For details, see Exporting and Importing Tags in the Ignition documentation.
Collecting Device Connection Settings
The tag export references devices only by name in the opcItemPath, so the connection settings must be collected separately:
On Ignition 8.3, the Gateway configuration is stored as human-readable
config.jsonfiles under thedata/configdirectory of the Gateway installation, and the Gateway REST API serves the same information. Hand the device connection files to the AI assistant together with the tag export.On Ignition 8.1 and earlier, device connections live in the Gateway's internal database, and the Gateway backup is a binary archive. Transcribe the settings from the Gateway web interface under Config > OPC UA > Device Connections: driver type, hostname, port, and driver-specific options such as rack and slot for Siemens devices.
Collecting Tag Group Rates
The tag export names the tag group of each tag in the tagGroup property, but not its rate. Open the Tag Group Editor in the Designer and note the mode and rate of every tag group that your exported tags reference. The default tag group polls at 1,000 ms.
Translating the Export with an AI Assistant
Tag exports can contain more than addresses, for example connection details in UDT parameters or documentation properties. Review the export and remove anything sensitive before you paste it into an AI tool, and check the data privacy terms of the tool you use. See also the privacy notes for Cybus Connectware GPT.
Copy the following prompt, attach the tag export, the UDT definitions if any, and your list of device connections and tag group rates:
For large projects, translate one tag provider or folder at a time and combine the results. Projects that rely heavily on UDTs need the most review effort, because every instance must resolve to concrete addresses.
Reviewing the Generated Service Commissioning File
Work through this checklist before installing:
Validate the file structure. The Cybus Connectware Extension for VS Code validates service commissioning files against the official schemas as you edit.
Check every connection against the Gateway's device connection settings: driver, host, port, rack, and slot.
Spot-check translated addresses, especially Modbus designators with typed suffixes and resolved UDT instances. The 1-based to 0-based register offset is the most common translation error.
Check that every tag group rate was applied and that S7 connections with mixed rates are handled deliberately.
Confirm that no credentials ended up in the file and that all site-specific values are parameters.
Compare the endpoint count against the migration report of the AI assistant and the tag count in the Tag Browser.
Installing the Service
Install the service commissioning file. See Installing Services.
Enable the service. See Enabling Services.
Result: Connectware connects to the migrated PLCs directly and the connections reach the Connected state.
For read-only validation, Connectware and Ignition can usually poll the same PLC at the same time. Check the connection limits of your devices first: Siemens S7 PLCs in particular accept only a limited number of concurrent connections, and S7-1200/1500 devices must have PUT/GET communication enabled for both clients. Remove the migrated devices from Ignition once the migration is verified.
Verifying the Data
Open the Data Explorer and subscribe to the topics of the migrated service. Compare live values side by side with the Tag Browser in the Ignition Designer:
Every migrated tag publishes on its topic with plausible values.
Values match between Ignition and Connectware for the same data point.
Implausible numbers on multi-register Modbus tags indicate a wrong register offset or data type.
Data arrives at the rate of the original tag group.
Worked Example
The following tag export contains one folder with three OPC tags, spread over two devices: a Siemens S7-1500 behind the Siemens driver and a PLC behind the Modbus driver.
The device connections, transcribed from the Gateway: S7-1500_Line1 is a Siemens driver instance at 192.168.1.100, rack 0, slot 1; ModbusPLC is a Modbus driver instance at 192.168.1.101, port 502. The tag group Fast500ms polls at 500 ms; the other tags use the default group at 1,000 ms.
Applying the translation rules produces the following service commissioning file. MotorSpeed becomes an S7 endpoint with the address DB10,INT4 on a connection polling at 500 ms; FillLevel (HRF20) becomes a holding register endpoint with fc: 3, address: 19, length: 2, and dataType: floatBE; and RunningFlag (C5) becomes a coil endpoint with fc: 1, address: 4:
For all S7 and Modbus connection and endpoint properties, see S7 Connection Properties, S7 Endpoint Properties, Modbus Connection Properties, and Modbus Endpoint Properties.
Disclaimer: Ignition and Ignition Edge are registered trademarks of Inductive Automation, LLC. Cybus is not affiliated with or endorsed by Inductive Automation.
Last updated
Was this helpful?

