The Canary module
for Ignition

Module Supports Version 8.1.5 and Newer
DOWNLOAD NOW

Current release: 24.0.1

Support for Canary v24
Read more here.

Module Documentation

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. The module supports version 8.1.5 and any newer version of Ignition.

As of version 8.1, Ignition will require the Tag Historian Module to be licensed for the Canary Module to function.  This includes not only the logging of data but the reading of data as well.

Installation

1

Download the latest module by using the link above.

2

Install the module on your Ignition Gateway server.

Ignition Gateway Server
3

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 HistoriCAL Ignition Data To Canary

1

Open the Canary Admin application on your Ignition Gateway and navigate to the Sender tile.

2

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'.

Canary Admin Web Api
3

Next select 'Access' from left menu and add 'ANONYMOUS LOGON' to the 'Allow' window and click 'Apply'.

Canary Admin Web Api
4

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.

Gateway Configuration highlighting Configure Collectors
5

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:

Create a new collector
6

Click 'Save Changes' when complete.

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 the Canary Historian.  It is recommended this not be the same machine as the 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 be automatically 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 lowercase which will result in your Canary tag names being entirely lower case.  Note, that Canary is case-sensitive and will create separate historical tags if a case does not match.

Collector Enabled:
By default, this feature will be enabled.  Setting it to 'false' will suspend all tag logging for this Storage Provider.

Verbose Logging Enabled:
By default, this feature will be disabled.  Setting it to 'true' will provide additional data to the Ignition Logs which could be useful for debugging purposes.

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'.

Gateway Tag Editor

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

1

Open the Canary Admin application on the Canary Historian server and navigate to the Views tile.

2

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.)

Canary Administrator Views Configuration
3

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.)

Canary
4

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.

Gateway Configure Providers
5

Select 'Create new Provider...'. By completing the fields, the user will be able to read data from the Canary Historian back into Ignition.

Create New Provider in Configuration

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.

Anonymous:
Enabled by default.

Username, Change Password, and Password:
Blank by default.

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 annotation to be written to the historian using the Power Chart control. Must be the name of the configured Canary Collector.

6

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.

Vision Project with Easy Chart

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.

Browse Tags

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 requried)

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
Time-weighted Average
Average
Min/Max
Closest Value
Last Value
Basic Average
Sum
Minimum
Maximum
Duration On
Duration Off
Count On
Count Off
Count
Range
Variance
Standard Deviation
Percent Good
Percent Bad
Canary Aggregate Name
TimeAverage2
TimeAverage2
Minimum2 and Maximum2
EndBound
End
Average
Sum
Minimum2
Maximum2
DurationInStateNonZero
DurationInStateZero
CountInStateNonZero
CountInStateZero
Count
Range2
VariancePopulation
StandardDeviationPopulation
PercentGood
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 the 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.

BUG REPORT

Please report any bugs using the Canary Community Bugs or Issues section.

DOWNLOAD THE MODULE