Seamless Integration between Ignition and Canary
This guide contains all the information required to integrate the Ignition SCADA system with the Canary Historian.
Table of contents
Canary is a single historian solution which is a performant time-series database. It consists of three components, Data Collection, Data Storage and Data Analytics. Canary’s NoSQL data historian is the engine that delivers enterprise level solutions. HTML based trending, dashboarding and automated solutions are delivered through the web-based reporting tool Axiom.
Ignition is an industrial application platform for collecting data, designing and deploying industrial applications throughout an enterprise. It empowers the creation of any kind of industrial application including SCADA, MES, IIoT, reporting, alarming and more.
OPC Unified Architecture is a machine-to-machine communication protocol for industrial automation.
MQTT is a lightweight, publish-subscribe network protocol that transports messages between devices. This protocol runs over TCP/IP, however any network protocol that provides ordered, lossless, bi-directional connections can support MQTT.
There are 2 main topics that will be covered in this technical note:
- Architecture Overview
- Device Connections
These topics are described in greater detail in the following sections.
2. Architecture Overview
We have a general architecture here with simulated PLC’s that are producing data and being forwarded to an OPC Server and Canary Sender. The data gets stored in the Canary Historian Server and is accessible through client tools.
Canary has multiple Collectors, and we will be covering the MQTT Collector and the OPC UA Collector.
The idea is to install your Canary Collectors as close to your data source as possible. In this case, it would be the Canary Sender Service that you would want to install on the same node as the OPC Server is installed on. That enables you to use the UPC UA and OPC DA connection to the server to start pushing data to the Canary Historian.
The Historian can be local (on site) or hosted. If hosted, you will need to use the Store and Forward service to send your data from the Sender service to your Historian.
The same setup can be used for MQTT connections. You can connect the Sender service to the MQTT broker, where it can be local, or cloud based. Any tag that is pushed to the MQTT broker and adheres to the Sparkplug B protocol, the Sender service will consume.
These are the typical type of architectures that will deploy either utilizing OPC UA or MQTT to get the data into the Canary Historian.
3. Device Connections
3.1 OPC UA Collector
Ignition is in fact an OPC UA server. Ignition has a standard OPC UA Server created in the Gateway. It is a ‘loopback’ connection to the Ignition OPC UA server running on that Gateway. This can be found under Config > OPC Client > OPC Connections:
You can see on which port the OPC Server is running by clicking on the ‘More’ dropdown and ‘Endpoint’ option:
This port can be changed in the Config > OPC UA > Server Settings:
The last thing to ensure is that you have the OPC-UA Module installed and running on the Gateway under Config > System > Modules:
Next is to set up the Canary Collector, in this case, the OPC Collector. You can use the OPC Collector to connect to the Ignition OPC UA Server.
- Create a new session in the OPC Collector with the relevant information for the OPC Server:
The ‘Historian’ field is the address where your Canary Historian is currently running and the ‘DataSet’ is the specific DataSet where you want the data to be stored in that is collected by the OPC collector (the DataSet needs to exist first).
The ‘Host Name or URL’ for the OPC server is the address where the Ignition Gateway is installed. And the ‘Host Port’ is the port the server is running on; and for Ignition’s standard OPC Server it is port 62541.
2. Once you save the settings, it will create a group where all the tags can be seen when added. Now to add the tags, you want to browse the OPC Server:
On the left side panel, you can browse the OPC Server, the devices and tags. You can select all the tags you want and click on “Apply” and then “OK”. You will see all your chosen tags appear in the session group you just created as such:
3. The last thing to do is enable the session by clicking on the play button in the Session section. This will activate the session, connect to the OPC UA Server and start historizing the tags.
4. You can view the data in the Historian tile under the OPC Dataset you created previously.
3.2 MQTT Collector
The MQTT Collector in the Canary Admin Tool should be connected to a broker. To get Ignition to push data into the broker, it needs an additional module to be installed on the Ignition Gateway for data transmission capabilities. It’s called the MQTT Transmission module.
It can be downloaded from the Inductive Automation website.
Make sure that you specify your Ignition version before downloading:
The MQTT Transmission module will take the tags inside of Ignition and send them out to whatever broker you have configured it to. Once you have the modules installed, you can navigate to Config > MQTT Transmissions > Settings
Under ‘Servers’ is where you would configure your connection to an existing MQTT broker:
You can configure Tag Paths to read specific tags which falls under those paths to push the data under ‘Transmitters’:
You can add tags to these paths by simply dragging and dropping them in the designer. In this example, the default Tag Path is “MQTT Tags”. In my Tag Browser, when I open a project in the designer, there will be a folder automatically created for ‘MQTT Tags’ where the Transmission module will go and search in for the tags to start pushing them out to the broker:
Whatever tag paths you configure in the Gateway, it will automatically create that instance for you in the Tag Browser which is accessible in all your projects.
*One thing to note, there is the refreshing of the Transmitter required in the Designer every time you add new tags to the Tag Path folders:
- When you have added tags to your folder, switch over to the MQTT Transmission option in the Tag Browser:
2. Under ‘Transmission Info’, the ‘Refresh Required’ boolean tag will be true if a refresh is required. To enable a refresh, click on the ‘Refresh’ Boolean tag under ‘Transmission Control’
These tags will then push into the DataSet you configured in Canary to historize the data.
3.3 Canary Historian Module
The whole concept of the Ignition Scada is that you can extend the functionality of the platform by installing different modules.
To set up the connection between Ignition and the Canary Historian, you will need to install a Canary module in Ignition and configure the connection to write the data to and read from Canary. Refer to the ‘Store Ignition Historian Data in Canary’ guide for the setup procedure.
4. Additional Resources
- You can download the Ignition module from the Canary website.
- You can check out the ‘Store Ignition Historian Data in Canary’ guide on our website.
- You can also check out the video ‘Seamless integration between Ignition and Canary’.