The AlternativeUnitType describes alternative units to a ServerUnit. It is required to specify a conversion method for a value from the ServerUnit to this AlternativeUnit. It is formally defined in Table 42.

The use of conversions enables that a server and a client can work with different units and even in different systems of units. E.g. a server works with imperial units and a client uses metric units.

As a single server may distribute values to a number of clients with different needs the actual conversion has to be performed at client side.

Table 42 – AlternativeUnitType definition

Attribute

Value

BrowseName

AlternativeUnitType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the UnitType

HasProperty

Variable

LinearConversion

LinearConversionDataType

PropertyType

O

HasProperty

Variable

MathMLConversion

String

PropertyType

O

HasProperty

Variable

MathMLInverseConversion

String

PropertyType

O

Conformance Units

Data Access Alternative Units

The Server shall provide either a LinearConversion or a MathMLConversion together with a corresponding MathMLInverseConversion. It may provide Linear and MathML conversions in parallel.

The optional Property LinearConversion represents a simple conversion according to the following formula. The values(a, b, c, d) are given in a Structure as defined in the LinearConversionDataType in chapter 6.6.2. The valuex is published by the server in the named server unit andy is the value converted into the named alternative unit.

image013.png

image014.png

Figure 10 MathML example linear conversion

This also defines the inverse conversion to be used if a client wants to write a value to the server. The values (a, b, c, d) are given in a Structure as defined in the LinearConversionDataType in chapter 6.6.2. The valuey1 is the value that the client wants to write to the server in the named alternative unit and x1 is the value the client actually has to write to the server instead

image015.png

image016.png

Figure 11 MathML example inverse linear conversion

The optional Property MathMLConversion allows the specification of all kinds of conversion methods. The MathML syntax is used for this. Within the MathML expression X always stands for the value at the server side and Y for the value at the client side. An example (formula of the LinearConversion) looks as follows.