---
title: Ignition Module Metadata Support
description: The module can send tag metadata from Ignition to Timebase alongside the tag's time-series data. Metadata includes engineering units, descriptions, format strings, and custom tag properties.
---

[Skip to content](https://docs.timebase.flow-software.com/knowledge-base/ignition-module-metadata-support#main-content)

[More support](https://docs.timebase.flow-software.com/knowledge-base/kb-tickets/new?hsLang=en)

[![FlowEmailHeader](https://docs.timebase.flow-software.com/hs-fs/hubfs/FlowEmailHeader.png?width=120&height=33&name=FlowEmailHeader.png)](https://flow-software.com/)

Open main navigation

Close main navigation

- [More support](https://docs.timebase.flow-software.com/knowledge-base/kb-tickets/new)
- [Open a Support Ticket](https://docs.timebase.flow-software.com/knowledge-base/kb-tickets/new)

[Open a Support Ticket](https://docs.timebase.flow-software.com/knowledge-base/kb-tickets/new?hsLang=en)

 Search all Timebase documentation

- There are no suggestions because the search field is empty.

1. [Timebase Knowledge Base](https://docs.timebase.flow-software.com/knowledge-base?hsLang=en)
2. [Timebase Data Collectors](https://docs.timebase.flow-software.com/knowledge-base/timebase-data-collectors?hsLang=en)

# Ignition Module Metadata Support

## The module can send tag metadata from Ignition to Timebase alongside the tag's time-series data. Metadata includes engineering units, descriptions, format strings, and custom tag properties.

#### Overview

The module can send tag metadata from Ignition to Timebase alongside the tag's time-series data. Metadata includes engineering units, descriptions, format strings, and custom tag properties. Once stored in Timebase, this information is displayed alongside the data — for example, a chart axis can show the unit of measure, or a tooltip can show the description.

Metadata is stored per tag and only the current (latest) values are kept. Timebase does not track historical changes to metadata — if you change a tag's engineering unit, the new unit applies going forward.

#### Enabling Metadata for a Tag

Metadata collection is controlled by the **Include Metadata** setting on each tag individually:

1. In Ignition Designer, open the Tag Browser.
2. Right-click the tag and select **Edit Tag**.
3. On the **History** tab, enable **Include Metadata**.
4. Save the tag.

No additional configuration is required on the historian provider itself.

#### What Gets Sent to Timebase

When **Include Metadata** is enabled, the module maps the following Ignition tag properties to Timebase fields:

| Ignition Property | Timebase Field | Notes |
| --- | --- | --- |
| `Tooltip` | `d` (Description) | The tag's tooltip text, used as a description in Timebase |
| `Eng Unit` | `u` (Unit of Measure) | The engineering unit (e.g. `°C`, `PSI`, `m/s`). Stored as a suffix UOM — displayed after the value. |
| `Format String` | `f` (Format) | The display format string. See note on format compatibility below. |
| Data Type | `t` (Type) | Always sent, even when Include Metadata is off. Ensures Timebase uses the correct data type. |
| Custom tag properties | `fl` (Custom fields) | User-defined properties that are not part of Ignition's standard tag property set are collected into a key-value custom fields object. |

### Data Type Mapping

The tag's data type is always included in metadata, regardless of the Include Metadata setting:

| Ignition Data Type | Timebase Type |
| --- | --- |
| Float4, Float8 | `System.Double` |
| Int1, Int2, Int4 | `System.Int32` |
| Int8 | `System.Int64` |
| Boolean | `System.Boolean` |
| String, DateTime, other | `System.String` |

### Format String Compatibility

Ignition uses Java's `DecimalFormat` syntax for format strings; Timebase uses .NET's custom numeric format syntax. Most common patterns are identical between the two (`0.00`, `#,##0.00`, `0.0%`) and are passed through directly.

However, the following Java-only patterns are not sent to Timebase, as they would render incorrectly:

- Single-quote literals (`'text'`) — used in Java for literal text in format strings
- The currency placeholder (`¤`)
- More than two semicolon-separated sections (Java supports two; .NET supports three with different meanings)

If your format string uses any of these patterns, the `f` field is omitted from the Timebase metadata update. The existing value in Timebase is preserved — it is not cleared. A trace-level log entry is written with the tag path and format string for debugging.

### Custom Properties

User-defined custom tag properties (those not part of Ignition's standard tag property set) are captured and sent to Timebase in the `fl` (custom fields) object. Each custom property appears as a key-value pair.

> **Known limitation:** Custom property changes that occur without a simultaneous change to a standard property (Tooltip, Eng Unit, Format String, Data Type) may not be sent immediately. Custom property updates are captured the next time a standard property change triggers a metadata event. If custom properties change frequently without standard property changes, the `fl` values in Timebase may lag behind Ignition.

#### When Metadata Is Sent

Metadata is sent in two situations:

1. **Tag initialization** — When a tag with Include Metadata enabled is first set up (or the module starts with the tag already configured), the current metadata values are sent to Timebase.
2. **Property change** — When any of the monitored metadata properties (Tooltip, Eng Unit, Format String, or Data Type) changes on a running tag.

Metadata is only sent when values have actually changed. The module compares the new metadata against a local cache of what Timebase currently holds for each tag, and only sends an update if something is different. This avoids unnecessary API calls.

#### What Happens When Include Metadata Is Disabled

If you disable Include Metadata on a tag, the module stops sending Tooltip, Eng Unit, Format String, and custom properties to Timebase. The tag's data type continues to be sent (it is always required).

Disabling Include Metadata does **not** clear the existing metadata from Timebase. The last values that were sent remain on the tag record until something updates them.

#### Troubleshooting

| Symptom | Likely cause | What to do |
| --- | --- | --- |
| Engineering units do not appear in Timebase charts | Include Metadata is not enabled, or Eng Unit is not set | Enable Include Metadata on the tag. Confirm the Eng Unit field is filled in. |
| Description in Timebase is wrong or missing | Tooltip property is empty or Include Metadata is off | Check the tag's Tooltip property in Ignition. Enable Include Metadata if it is disabled. |
| Format string is missing from Timebase | Format string uses Java-only syntax | Check whether the format string contains single quotes, the `¤` symbol, or more than two semicolons. These are skipped — use a compatible format string or set the format manually in Timebase. |
| Custom property changes are not reflected in Timebase | Only standard property changes trigger a metadata sync | This is a known limitation. Change any standard metadata property (e.g. add a space to the Tooltip and remove it) to trigger a sync that will also pick up the custom property change. |
| Metadata appears correct in Ignition but Timebase shows old values | Metadata cache mismatch | Restart the Ignition Gateway. The module will re-read the current Timebase tag records on startup and resync any differences. |

- [Software Releases](https://docs.timebase.flow-software.com/knowledge-base/software-releases?hsLang=en)
- [Timebase Quick Start](https://docs.timebase.flow-software.com/knowledge-base/timebase-quick-start?hsLang=en#main-content)

    - [Start Here!](https://docs.timebase.flow-software.com/knowledge-base/timebase-quick-start?hsLang=en#start-here)
    - [System Requirements](https://docs.timebase.flow-software.com/knowledge-base/timebase-quick-start?hsLang=en#system-requirements)
    - [Advanced Topics](https://docs.timebase.flow-software.com/knowledge-base/timebase-quick-start?hsLang=en#advanced-topics)
- [Timebase Historian](https://docs.timebase.flow-software.com/knowledge-base/timebase-historian?hsLang=en)
- [Timebase Data Collectors](https://docs.timebase.flow-software.com/knowledge-base/timebase-data-collectors?hsLang=en)
- [Timebase Explorer](https://docs.timebase.flow-software.com/knowledge-base/timebase-explorer?hsLang=en)
- [Timebase Pulse](https://docs.timebase.flow-software.com/knowledge-base/timebase-pulse?hsLang=en)
- [Windows Services Starter](https://docs.timebase.flow-software.com/knowledge-base/windows-services-starter?hsLang=en)

Copyright © 2025, Flow Software