Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note

Writing historical events directly to tag is required if there are:

  • Tag Events scripts that fire when applicable
  • Alarms that are triggered when applicable
  • Reference tags used to indirectly reference MQTT Engine tags



Anchor
writetodatabase
writetodatabase
Writing historical events directly to the database, via the Historian, bypassing the tag

The configuration parameters required to write historical events directly to the database, via the Historian, bypassing the Tag are shown below.

MQTT Engine

Under the MQTT Engine Settings General Tab, navigate to the Miscellaneous Settings and ensure Store Historical events is selected

Tag History Configuration

History must be enabled on the MQTT Engine tag but the only property used from the tag history configuration is the Storage Provider.

...

Note
All other properties such as Sample Mode, Max Time Between Samples, Deadband etc are ignored when writing historic data

Edge Client

The Edge side client can publish historic data either in-order (synchronously) or asynchronously.

Tip

If you are using MQTT Transmission as the Edge side client, under the MQTT Transmission Settings for your transmitter, navigate to the History Settings to disable the In-Order History configuration parameter. Enabling the In-Order History for MQTT Transmission is unnecessary and will result in a waste of resources.  



Anchor
writetotag
writetotag
Writing historical events directly to tags

The configuration parameters required to write historical events to the tag instead of directly to the Historian are detailed below. 

MQTT Engine

Under the MQTT Engine Settings General Tab, navigate to the Miscellaneous Settings and ensure Store Historical events is de-selected

Tag History Configuration

History must be enabled on the tag (either directly on the MQTT Engine tag and/or reference tag) with these two three settings required:

  • Deadband Style set to Discrete
  • Sample Mode set to On Change
  • Min Time Between Samples set to 0

Image RemovedImage Added

All historic data will be written to the tag using the timestamp associated with the historical data.

Note

Deadband Style must be set to Discrete for all tag datatypes. This ensures that a change is registered any time the value moves +/- the specified amount from the last stored value.

If left at the default Auto setting, Ignition will determine the deadband style based on the tag datatype. See this Ignition Configuring Tag History Deadband and Analog Compression for details on how the Analog and Discrete Deadband Styles differ. 


Note

When Max Time Between Samples is

only honored with real-time data writes to the Storage Provider because

greater than 0, inserts at this sample time are not honored during historical data flushes

,

because the tag updates for historical data occur too quickly.

For example the Max Time Between Samples is 5 Seconds. Whilst the edge node is offline, the edge node tag has updates every 10 seconds. On reconnect, all these historical change events are published and written to the MQTT Engine tag within milliseconds. As a result the Max Time Between Samples does not trigger.

Edge Client 

If you are not using reference tags, the Edge side client must publish historic data in-order (synchronously) before live data resumes. This is because Ignition will ignore writes to the tag if the timestamp on the tag change is older that the current value.

...

Tip

If you are using MQTT Transmission as the Edge side client, under the MQTT Transmission Settings for your transmitter, navigate to the History Settings to select or deselect the In-Order History configuration parameter.

As shown below, when the MQTT Transmission client comes back online and flushes history, it will flush the oldest historical events first (in order) before sending live Tag changes events to Engine. 


History Configuration Examples

Anchor
example1
example1
Sample Mode = On Change, Min Time Between Samples = 0, Max Time Between Samples = 0

  • Suitable for writing historical events directly to the database or writing historical events directly to the tag
  • Real-time data is written to the storage provider on each tag change event whilst the tag quality is Good
  • Historical data is written to the storage provider or tag using the timestamp associated with the historical data 
    • Handles historical metrics flushed from the Edge that have very high resolution; e.g., the historical metrics have timestamps 1 ms apart for a single tag

Image RemovedImage Added

Anchor
example2
example2
Sample Mode = On Change, Min Time Between Samples = 0, Max Time Between Samples = 5

  • Suitable for writing historical events directly to the database or writing historical events directly to the tag
  • Real-time data is written to the storage provider on each tag change event whilst the tag quality is Good
  • Real-time data is written to the storage provider on the Max Time Between Samples interval if no tag change events whilst the tag quality is Good
  • Historical data is written to the storage provider or tag using the timestamp associated with the historical data 
    • When the Max Time Between Samples inserts > 0, there will not be inserted into the middle of historical databe no inserts during a history flush as the tag updates occur too quickly
    • Handles historical metrics flushed from the Edge that have very high resolution; e.g., the historical metrics have timestamps 1 ms apart for a single tag

Image RemovedImage Added

Anchor
example3
example3
Sample Mode = Periodic, Max Time Between Samples = 0, Sample Rate = 5

  • Suitable only for writing historical events directly to the database
  • Real-time data is written to the storage provider on the Sample Rate whilst the tag quality is Good
  • Historical data is written to the storage provider using the timestamp associated with the historical data
  • Max Time Between Samples inserts will not be inserted into the middle of historical data

Image RemovedImage Added






Anchor
backfill
backfill
Ignition Allow Back-fill Data

...