Module Download and Installation Instructions (pre-24 version)
Latest tested and supported version of Ignition: 8.1.43
If using 8.1.31 or 8.1.32, the provider name must match the collector name. A bug was introduced in 8.1.31 (and fixed in 8.1.33) that prevented the module from working properly without the names being the same.
The Canary Module for Ignition by Inductive Automation can be used to both write data from Ignition 8 projects to the Canary System as well as read historic and last known values from Canary and publish them to Ignition 8 projects. Versions of Ignition 7.* are not supported. Perspective projects are supported and the module works with the Ignition Power Chart. Additional Perspective historical controls require scripting for the visualization of historic data from Canary as the Tag History UI does not include a tag browse.
As of version 8.1, Ignition will require the Tag Historian Module be licensed for the Canary Module to function. This includes not only the logging of data but the reading of data as well.
Installation
- Download the latest module by using the link above.
- Install the module on your Ignition Gateway server.
- Install the Canary Admin and Sender service on the Ignition Gateway server.
Note, as a best practice it is always recommended that the Canary System be installed separate from the Ignition Gateway, with only the Sender Service, Canary Admin, and Canary Module for Ignition installed local to the gateway. This ensures local data buffering should the Historian be disconnected from the network and will provide maximum resources to both the Historian as well as the Ignition Gateway.
This documentation assumes your Canary Historian server is already configured. If you need to install and configure the Canary Historian server, see this guide and refer to the 'Canary Historian Installation' section.
Configuration Of Historizing Ignition Data To Canary
- Open the Canary Admin application on your Ignition Gateway and navigate to the Sender tile.
- Use the 'Configuration' menu (at bottom) and then open the 'Endpoints' menu at left. Ensure the 'Http - Anonymous (Web API)' endpoint (55253) is enabled and click 'Apply'.
- Next select 'Access' from left menu and add 'ANONYMOUS LOGON' to the 'Allow' window and click 'Apply'.
- Navigate to the Ignition Gateway and launch the Gateway Configuration in the browser. Towards the bottom of the left menu, select 'Configure Collectors' under the 'CANARY' subheading.
- Select 'Create new Collector...'. Canary Collectors are responsible for logging data to the Canary Historian. Here you can configure Ignition to send data to Canary as a tag Storage Provider by completing the following fields:
Name - the display name of the Storage Provider instance
Sender Service - assuming you are following best practices and the Sender service is installed locally, this should be 'localhost'; otherwise, enter the machine name or IP address of where the Sender Service is located
Sender Service Port - 55253 by default. (If needing to connect to a remote Sender service remotely, 55254. However, using a remote Sender service does not take advantage of Canary's store-and-forward capabilities in the event that the Ignition Gateway loses communication with the Sender.)
Anonymous - Enabled by default
Username, Change Password, and Password - All unnecessary if Anonymous is enabled. (Only needed if making a secure connection to a remote Sender service. Not recommended.)
Historian - the machine name or IP address of your Canary Historian. It is recommended this not be the same machine as your Ignition Gateway.
DataSet - the name of the DataSet you wish to log all tags from this Storage Provider to. As a best practice it is recommended to keep each DataSet to less than 25,000 tags. Additionally, the DataSet is part of a tag's name. Logging the same tag to more than one DataSet will result in more than one historical record. The DataSet will automatically be created for you within Canary as soon as you begin logging.
Lower Case Tag Paths - by default Canary will copy the case structure of your Ignition tag names. If you enable this field you will force all upper case to lower case and will result in your Canary tag names being entirely lower case. Note, Canary is case sensitive and will create separate historical tags if case does not match.
Collector Enabled - by default, this feature will be enabled. Setting to false will suspend all tag logging for this Storage Provider.
Verbose Logging Enabled - by default, this feature will be disabled. Setting to true will provide additional data to the Ignition Logs which could be useful for debugging purposes.
Click 'Save Changes' when complete.
You may create additional Collectors to enable additional logging to additional DataSets. It is recommended you keep a 'one-to-one' relationship for your Collector sessions to DataSets, meaning do not create multiple Collectors logging to the same DataSet. While this will work, it is not a best practice as you may later wish to individually manage your DataSets without interrupting the logging of data for your entire system.
Open your Ignition Project, and navigate to a tag you wish to enable history for. Right-click on the tag and select 'Edit tag'.
You may now enable history for your tag and select your newly created Canary Collector as the Storage Provider. Since the module is built on top of Ignition's Tag History Module you can take advantage of all history settings including, deadbands, tag groups, and min/max times between samples.
Configuration Of Querying History From Canary
- Open the Canary Admin application on the Canary Historian server and navigate to the Views tile.
- Use the 'Configuration' menu (at bottom) and ensure the 'Http - Anonymous - Web API' endpoint (55235) is enabled. (If making a secure connection, the 'Https - Username (Web API)' endpoint (55236) needs enabled.)
- Navigate to the 'Access' tab (on the left) and ensure the 'ANONYMOUS LOGON' is listed in the 'ALLOW' list. (By default, Everyone and ANONYMOUS LOGON are listed.)
- Navigate to your Ignition Gateway and launch the Gateway Configuration in your browser. Towards the bottom of the left menu, select 'Configure Providers' under the 'CANARY' subheading.
- Select 'Create new Provider...'. By completing the fields, the user will be able to read data from the Canary Historian back into Ignition.
History Provider Name - the name you wish to be displayed as a Tag History Provider
Hostname - machine name or IP address of the Canary Historian
Port - 55235 by default, or 55236 if using the secure endpoint
Anonymous - enabled by default
Username, Change Password, and Password - Blank by default. If using the secure endpoint (55236), a username and password must be provided.
Verbose Logging Enabled - by default, this feature will be disabled. Setting to true will provide additional data to the Ignition Logs which could be useful for debugging purposes.
Annotation Collector - allows annotations to be written to the historian using the Power Chart control. Must be the name of the configured Canary Collector. Click 'Save Changes' when complete.
For Vision projects, you may now open your Ignition Designer and browse the Canary Historian referenced above as a Tag History Provider. Note, not only will you able to browse the historian archive, but Canary will also expose any Virtual Views and Asset Models created on top of the historical record.
Note: With the exception of the Power Chart, Perspectives does not include a Tag History Provider UI for browsing tags and will require scripting to call the Canary tag path.
Canary Historian Integration To Ignition Components
The following Ignition Vision components work with the Canary Module.
- Table
- Power Table
- Easy Chart
- Chart
- Sparkline Chart
- Bar Chart
- Status Chart
- Pie Chart
The following Ignition Vision components have not been validated at this time to work with the Canary Module.
- Radar Chart
- Box & Whisker Chart
- Equipment Schedule
- Gantt Chart
The following Ignition Perspective components have been validated to work with the Canary Module but require tag path scripting. Presently, the Tag History Provider tag browser UI is not available within Perspectives.
- Time Series Chart
- Table
- Sparkline
- Power Chart (no scripting required)
Linking Ignition And Canary Terminology
Ignition offers several aggregates for viewing data based on intervals of time. These Ignition aggregates are linked to Canary aggregates as follows:
Ignition Aggregate Name |
Canary Aggregate Name |
Time-weighted Average |
TimeAverage2 |
Average |
TimeAverage2 |
Min/Max |
Minimum2 and Maximum2 |
Closest Value |
EndBound |
Last Value |
End |
Basic Average |
Average |
Sum |
Sum |
Minimum |
Minimum2 |
Maximum |
Maximum2 |
Duration On |
DurationInStateNonZero |
Duration Off |
DurationInStateZero |
Count On |
CountInStateNonZero |
Count Off |
CountInStateZero |
Count |
Count |
Range |
Range2 |
Variance |
VariancePopulation |
Standard Deviation |
StandardDeviationPopulation |
Percent Good |
PercentGood |
Percent Bad |
PercentBad |
Easy Chart Tag History Resolution Modes And Drawing Behavior
You should adjust your pen’s draw style within the ‘Edit Pen’ menu to ‘Line’. By default, Canary writes ‘null’ values whenever a tag has been disconnected from the logging session. Using the ‘Line’ drawing style will result in the most accurate representation of the raw historic data within Canary. Leaving the style set to the default ‘Line w/ gaps’ will not result in accurate data depictions of Canary data.
The Canary Module Works With Both Historic, Manual, And Realtime Easy Chart Modes.
When invoking each of the following Easy Chart Tag History Resolution modes, the following behavior will result within Canary.
Fixed
Canary will pass the start and end times of the Easy Chart as well as the selected aggregate as indicated within the Edit Pen menu found in the Easy Chart Customizer. Additionally, the interval for the aggregate is determined by the Tag History Resolution value. Ignition recommends ensuring the duration of the chart is evenly divisible by the value within the Tag History Resolution. Canary will return the selected aggregate with a time interval equal to chart duration divided by the Tag History Resolution value.
Raw
Canary will return raw data values from the start time to the end time of the Easy Chart.
Natural
Canary will return raw data values from the start time to the end time of the Easy Chart. You should adjust your pen’s draw style within the ‘Edit Pen’ menu to ‘Line’. By default, Canary writes ‘null’ values whenever a tag has been disconnected from the logging session. Using the ‘Line’ drawing style will result in the most accurate representation of the raw historic data within Canary. Leaving the style set to the default ‘Line w/ gaps’ will not result in accurate data depictions.
If an Easy Chart is not showing values update in 'Realtime' mode, set the Tag History Property Mode to Natural to fix the issue.
Chart Width
Assuming there are more values than pixels available, Canary will return aggregated values of all values associated with each available pixel. The aggregate applied is based on the selected aggregate as indicated within the Edit Pen menu found in the Easy Chart Customizer.
Table Settings And Resulting Canary Behavior
The Canary Module works in both Realtime and Historic Modes. All aggregate modes are supported when the Sample Size is set to ‘Fixed’ or ‘Interval’. See the chart above in the ‘Linking Ignition and Canary Terminology’ section for additional aggregate information. When the Sample Size is set to ‘On Change’ or ‘Natural’, Canary returns raw data without an aggregate applied.
The ‘Fixed’ Sample Size will result in the total duration of time as represented by the Table being divided by the Fixed sample size value. This will then be used as the Canary aggregate interval. Ignition recommends keeping the duration of time evenly divisible by the interval to avoid a remainder.
The ‘Interval’ Sample Size will result in the total duration of time as represented by the Table being divided by the Interval sample size as entered. This will then be used as the Canary aggregate interval.
Setting Polling Mode to Absolute or Relative will result in new data retrieval from Canary based on the Polling Rate.
Tag Path
When needing to use the Canary tag path in scripting, the following example can be used:
[CanaryHistorian/default:default]canaryhistorian/Ignition 1/Pump 1
The above example indicates 'CanaryHistorian' is the name of your Provider as configured within the History Provider Name field. Keep the 'default:default' and '[ ]' part of the path the same. 'canaryhistorian/Ignition 1/Pump 1' indicates the name of the Canary Historian Server (canaryhistorian), the DataSet (Ignition 1), and the tag name (Pump 1). Note, your tag name will likely be must longer as Canary respects the folder structure found within Ignition. Add the '/' between each part of tag name hierarchy.