Possibility to change units of template based attributes
I have template based elements including analysis that can be used for calculations with a variety of units (tonnes, MWh,...). So it would be great to have the possibility to change the units of template based attributes. At the moment they are fixed to the template.
Christoph Rose commented
Like I wrote in my previous comment, the problem we are running into is that we want to use generic element templates for the use in collections in PI Vision displays. That way it is very easy to have a generic display with a dynamic number of symbols.
So, for example, we have displays that have 5 to 10 gauges that display various PI Points. These gauges show completely different things: water flow, temperature, pressure, various percentages, etc.
Each gauge has different minimum, maximum, start of arc values. These values (min/max/start) can be set as child attributes of a PI Point in an AF Element and retrieved by the PI Vision gauge symbol.
However, because we can not change the UoM of a templated attribute, we can not add the attribute with the PI Point reference (and the child attributes) to the element template. Instead we have to use a lot of copy & pasting. Which leads to errors and to problems if we want to adjust something, as we can't simply change the template.
I added a screenshot of the element attributes. In this example, the UoM of the PI Point is a flow velocity which is converted into a flow volume through an UoM conversion (both in the same UoM class).
As PI Vision can't change the UoM that is displayed, the AF attribute needs to have the correct UoM.
Currently attribute template UOM cannot be overridden in the element instance. However, client tools can implement a way to change the display UOM, which enables the user to see the UOM of choice, as long as it's in the same UOM class as the attribute template UOM. This works, for example, in PI System Explorer.
Asset Analytics can support UOM conversion within some limits. If all the inputs are in the same UOM class, then analyses would take that into consideration. In the case of inputs with mixed UOM classes, the user can use the Convert() function to manage the UOM.
If that is insufficient, please provide more details on your use case.
Christoph Rose commented
This would be very useful. We are using templated elements for usage in collections in PI Vision displays. For example, we want to show various gauges for the temperature, pressure, etc.
However, since the UoM is fixed in the template, I can't actually include the attribute that is displayed as the value on the gauge in the template. Instead that attribute has to be copy & pasted.
This has the additional effect of making it difficult to use subsitution parameters, as they are immediately evaluated and the subsituted value is stored in the attribute ConfigString.
I don't want to mix tonnes and MWh (or other units). I have a template that I can use to aggregate data (e.g. sum or avarage over a certain time range). This template can be used for nearly every kind of unit. So I don't want to set a fixed unit in the template. I want to set the unit for the each attribute that is based on this (unit independent) template.
Kenneth Barber commented
When would you be mixing tonnes and MWh in the same attribute? Or am I misunderstanding?