Skip to main content

Ignition Tag Configuration and OPC Browsing

By NFM Consulting 2 min read

Key Takeaway

How to create, organize, and configure tags in Ignition — OPC tags, memory tags, expression tags, derived tags, UDTs, and tag quality management.

Quick Answer

Tags are the fundamental data elements in Ignition. Each tag represents a single data point — a PLC register, a calculated value, a database field, or an internal variable. Tags are organized in a hierarchical folder structure and can be bound to OPC device items, expressions, SQL queries, or Python scripts.

Tag Types

  • OPC Tags — Linked to a device item via the OPC-UA server. The tag value updates at the scan class rate.
  • Memory Tags — Internal tags stored in the gateway. Useful for setpoints, mode flags, and intermediate calculations.
  • Expression Tags — Computed values using a formula that references other tags (e.g., {[~]Pressure_PSI} * 6.89476 for PSI to kPa conversion).
  • Query Tags — Values sourced from SQL database queries on a configurable polling interval.
  • Derived Tags — Reference tags with additional transformations such as scaling, clamping, or unit conversion.

User Defined Types (UDTs)

UDTs are tag templates that define a reusable structure. For example, a "FlowMeter" UDT might contain tags for Flow_Rate, Totalizer, Flow_Alarm_HH, Flow_Alarm_LL, and Status. When creating instances of the UDT, all tags are automatically created with the defined structure, alarm configurations, and historian settings. Changes to the UDT definition propagate to all instances.

Tag Quality and Diagnostics

Every tag carries a quality attribute indicating data reliability. Common quality states include Good (192), Bad (0), Uncertain (64), and Stale. Quality codes help operators distinguish between valid process values and communication failures. Tags in Bad quality typically display with a strikethrough or red indicator in client screens.

Historian Configuration

Tag history is enabled per tag or at the UDT level. Configure the history provider (database connection), sample rate, sample mode (on-change or periodic), and deadband to control storage volume. Historical data is queried via the Tag Historian binding, Easy Chart component, or system.tag.queryTagHistory() scripting function.

Frequently Asked Questions

Ready to Get Started?

Our engineers are ready to help with your automation project.