Raw historian tags carry the names that the SCADA or PLC gave them, one tag at a time. Canary adds two layers on top: Virtual Views, which rename tags and group them into assets, and Calcs & Events, which runs calculations and detects events across every asset of a type. This article explains, from Canary's documentation, how the two layers work together for KPIs, downtime, batches and shifts, and what to settle before building them. How the Canary System is put together is covered in Canary Historian architecture.
Virtual Views: one naming structure and an asset model
In the Canary System, clients reach the Historian through the Views service. Besides the default view of the local Historian, Canary lets users build Virtual Views on DataSets or on other Virtual Views, for two purposes: renaming tags and defining assets. Renaming in a Virtual View standardises tag paths without changing the names at the SCADA source, which Canary notes can be costly to change.
The renaming is done with Model rules: regular expressions that find and replace patterns in the tag path and in properties appended to it, applied in order. Asset rules then define asset types at each level of the hierarchy, for example a line, its machines and their motors. Canary's article says a Virtual View rebuilds itself every 5 minutes when source tags are added or removed or when their properties change, and it can also be rebuilt by hand.
Calcs & Events: jobs that run per asset type
The Calculation service connects to Views, reads data from the Historian and runs jobs whose output is either calculated tags or events. A job runs periodically, for example every 15 minutes with an optional offset, or whenever one of its inputs changes. It can target a single tag or an asset type from a Virtual View; with an asset type, a %Asset% placeholder in the tag paths and expressions is replaced by each asset, so one definition produces one result per asset.
When a job starts, it backfills calculations and events from a chosen start time until it reaches live data, and it can be backfilled again later to correct wrong results. Calculated tags are written to the Historian through store and forward. Canary recommends a separate DataSet for them, which also makes it easy to delete calculated data and start again, and that DataSet must be added as a source of the view before the results appear.
Events: downtime, batches, shifts and alarms
An event needs a start expression; a stop expression is optional, and without one the event ends when the start expression is no longer true. A minimum duration sets how long the expression must hold before it counts. Each event records its start, end and duration, and properties can be calculated over the event, such as the average and maximum of a temperature during a batch.
Canary's product page names downtime, batches, shifts and alarms as uses. Events are stored in a local SQLite database according to the Boot Camp article, and the product page also names Microsoft SQL Server or MySQL as options. Event logs are exposed through Views to Axiom, the Excel Add-in, the API and the ODBC connector.
Canary's sources describe events built from tag conditions. They do not describe work orders or operator entry of stop reasons; where a plant needs those, an MES layer such as Sepasoft OEE Downtime on Ignition is another option.
What to settle before building
- The naming structure the plant wants, and how each source's tag names map onto it.
- The asset types and levels, for example area, line, machine and drive.
- The KPIs per asset type, with their formulas, units and calculation interval.
- The event definitions: start and stop conditions, minimum duration and the properties to record.
- The DataSet for calculated tags, and the start date for the first backfill.
How TDL approaches it
TDL Industrial Automation is a Canary Certified Partner, listed on Canary's partner page for Vietnam. Our work on downtime and production data so far has been on Rockwell Automation platforms, described on OEE and downtime monitoring. On a Canary project we would start from the tag names already in the plant and agree the asset model and the KPI definitions with the plant before any job is built. More on historian services: Canary Historian in Vietnam.
Frequently asked questions
Do the tag names in SCADA have to change to build an asset model?
No. A Virtual View renames tags and defines assets on top of the stored tags, without changing the names at the source.
Can one calculation be written for every machine of the same type?
Yes. A Calcs & Events job can target an asset type from a Virtual View, and the %Asset% placeholder is replaced by each asset, giving one result per asset.
Can KPIs be calculated for past data?
Yes. When a job starts, it backfills calculations and events from a chosen start time, and it can be backfilled again later to correct results.
Where are calculated tags and events stored?
Calculated tags go to the Historian through store and forward, preferably into their own DataSet. Events are kept in a local SQLite database, and Canary's product page also names Microsoft SQL Server or MySQL.
Sources
- Canary Labs, Data Contextualization, Project Boot Camp, Canary Community (version 25 documentation)
- Canary Labs, Calcs & Events, Project Boot Camp, Canary Community (version 25 documentation)
- Canary Labs, Event Monitoring, product page
Read 12 November 2026. This article paraphrases the sources and does not quote them; read the original documents before designing or working on a system.