DataTalk

UDT — User-Defined Types

Create reusable tag structure templates for repeated equipment types — define the register layout once and instantiate it for every device of that type.

On this page

UDT — šablony typů zařízení

UDT (User-Defined Types) solve one of the most common problems in industrial projects: repeated equipment. When a plant has 20 identical pumps, each with the same 12 PLC registers, creating 240 individual tags manually is time-consuming and error-prone. A UDT defines the structure once as a reusable template and generates all tags automatically for each instance.

How UDTs work

Create the UDT template

Click Add to create a new UDT. Give it a name that reflects the equipment type (e.g., ConveyorDrive, CoolingPump, PressureTransmitter).

Define the member tags — the individual registers that make up one instance of this equipment:

  • Relative register address (offset from the instance’s base address)
  • Data type
  • Scale, unit, and format
  • Label and description

The template has no physical device yet — it is a blueprint.

Instantiate for each device

In the Tag Database, add a tag of type UDT, select your template, and enter:

  • The Connection (which device to read from)
  • The base address for this specific instance

The gateway calculates each member tag’s absolute address as base + relative offset and generates all member tags automatically, prefixed with the instance name.

Repeat for every device

Add one UDT instance per physical device with its unique base address. All instances share the same structure from the template.

For 20 pumps, this means 20 tag additions instead of 240.

Benefits

Efficiency — Reduces manual tag creation time significantly, especially for projects with many similar components. Creating 20 pump instances from a 12-register UDT template generates 240 tags in seconds instead of hours.

Consistency — All instances share an identical structure. There is no risk of one pump having a misspelled tag name or a missing data point.

Scalability — When a new firmware version adds a register or a process change requires a new measurement, add the member once to the UDT template. Every existing instance automatically gains the new tag without per-instance editing.

Large-scale UDT projects

In industrial applications where similar devices — motors, pumps, sensors, drives — are widespread across a facility, UDTs can reduce tag setup time by an order of magnitude and eliminate structural inconsistencies that accumulate in manually built tag databases. Combine UDTs with Categories to keep large tag lists navigable after instantiation.

Naming convention

Instances are prefixed with the name you give when creating the UDT tag. Example for template PumpUnit instantiated as Pump_01:

Pump_01.Speed
Pump_01.Current
Pump_01.FaultCode
Pump_01.RunHours
Pump_01.StartCommand

All 20 pumps follow the same pattern: Pump_02.Speed, Pump_03.Speed, etc. — making navigation and filtering in the Tag Database straightforward.

Updating a template

If a new firmware version of your device adds a register, or you discover a missing data point, add the new member to the UDT template. All existing instances automatically include the new member tag — no per-instance changes needed.

Combine with Categories for organized projects

Assign all UDT-based pump tags to a Pumps category automatically by configuring the category in the template’s member definitions. Every instance then inherits the category.