UNS UserTypes (Reference), also referred as UDTs, or DataTemplates, extend the platform's predefined data types by defining custom types with properties tailored to business needs, enabling modeling of solution-specific data structures like equipment status and asset attributes. A UserType provide:
UserTypes allow creating complex data structures that standard types cannot represent, such as pumps, motors, tanks, or production lines.
Property | Description | Required |
---|---|---|
Name | Member name within template | Yes |
Type | Data type (built-in or nested template) | Yes |
Array | Array size for member | No |
Parameters | Type-specific settings | No |
Min/Max | Value limits | No |
ScaleMin/Max | Engineering scale | No |
Units | Engineering units | No |
Format | Display formatting | No |
Enumeration | Value mappings | No |
StartValue | Initial value | No |
Retentive | Value persistence | No |
Domain | Server/Client scope | No |
Visibility | External access | No |
DisplayText | UI display text | No |
RelativeAddress | Device addressing | No |
Description | Member documentation | No |
Template: Motor
Members:
- Running (Digital)
- Speed (Double)
- Temperature (Double)
- AlarmStatus (Integer)
Tag: Motor1 (Type: Motor)
Access:
@Tag.Motor1.Running
@Tag.Motor1.Speed
@Tag.Motor1.Temperature
@Tag.Motor1.AlarmStatus
Templates can contain other templates:
Template: PumpStation
Members:
- Pump1 (Type: Motor)
- Pump2 (Type: Motor)
- FlowRate (Double)
- Pressure (Double)
Access:
@Tag.Station1.Pump1.Running
@Tag.Station1.Pump2.Speed
Property | Controls | Applies To |
---|---|---|
EditSecurity | Modify permission | Design-time |
ReadSecurity | Read access | Runtime |
WriteSecurity | Write access | Runtime |
Template: TankFarm
Members:
- Tanks (Type: Tank, Array: 10)
Access:
@Tag.TankFarm1.Tanks[0].Level
@Tag.TankFarm1.Tanks[1].Temperature
For device communication:
Template: AnalogInput
Members:
- Value (RelativeAddress: ".PV")
- Status (RelativeAddress: ".ST")
Device mapping automatically appends to base address
<ac:structured-macro ac:name="info"> ac:rich-text-body When setting properties for array elements or template members (StartValue, Min, Max), these values won't display in the Designer DataGrid. Access them through Tag Properties dialog or at runtime.
Property changes to one instance don't propagate to others - each template instance operates independently. </ac:rich-text-body> </ac:structured-macro>
Members:
- Running: Digital
- Speed: Double (0-1800 RPM)
- Current: Double (0-100 Amps)
- Temperature: Double (0-200 °C)
- HoursRun: Long
- LastMaintenance: DateTime
Members:
- Level: Double (0-100 %)
- Temperature: Double (-50-150 °C)
- Pressure: Double (0-10 Bar)
- HighAlarm: Digital
- LowAlarm: Digital
- Product: Text
Members:
- Station1: Motor
- Station2: Motor
- ConveyorSpeed: Double
- ProductCount: Integer
- BatchID: Text
- QualityScore: Double
Template not appearing:
Members not accessible:
Values not retained: