Attribute Reflection
- Last UpdatedJan 24, 2022
- 1 minute read
An attribute can be configured to reflect the value of an attribute on a referenced object when it does not have a value set locally. For example, if there are two User Defined Element Types (UDETs) representing an Instrument and a Signal, where Signal has a User-Defined Attributes (UDA) Function, and Instrument has a UDA Instrument Function, then Function on the Signal can be configured to either have its own value, or if unset, to reflect the value of Instrument Function on the Instrument. In this latter case, if the value of Instrument Function is changed, the value of Function will also appear to change on the Signal.
To set up a reference UDA from the Signal to the Instrument is needed, so that the path to follow to get the reflected value can be defined.
The following example here is Signal Container and it would be defined along with the two attributes according to the following table.
|
UDA |
ELELIST |
REFLIST |
|---|---|---|
|
:SignalContainer |
:Signal |
:Instrument |
|
:Function |
:Signal |
|
|
:InstrumentFunction |
:Instrument |
To specify the reflection behaviour, the Function UDA needs two settings according to the following table:
|
Field in UDA Properties |
UDA Attribute |
Setting |
|---|---|---|
|
Default Location |
DefaultLocation |
:SignalContainer |
|
Default Attribute |
DefaultAtt |
:InstrumentFunction |
When the data instances are created, the instance of Signal needs its Signal Container reference set to point to the instance of Instrument. While Function on Signal is unset, it reflects the value of Instrument Function from the Instrument.