Give an existing limit alarm node the behaviour of the limit alarm its type says it is.
The limit alarm counterpart of promoteToAlarm, for a node that came from a nodeset XML or
from objectType.instantiate(). The node is retyped in place to the class its type definition
calls for - exclusive or non-exclusive, level, deviation, rate of change, or a subtype of those -
so it keeps its NodeId and every reference, and then gets the same initialization
instantiateExclusiveLimitAlarm / instantiateNonExclusiveLimitAlarm run.
The limits are the values the HighHighLimit / HighLimit / LowLimit / LowLowLimit properties of
the node already hold; options overrides them, and adds the property (and the matching state of
a non-exclusive alarm) for a limit the node does not have.
A node that is already promoted is returned as it is. A node that is not a limit alarm, a bare LimitAlarmType (it has no limit states to drive), and a node without an input node all throw.
Optionaloptions: PromoteToLimitAlarmOptions
Upgrading a node to the typed view of what it already is.
An alarm built by
objectType.instantiateor loaded from a nodeset has the children of an alarm and none of the behaviour; promoting it retypes the node in place and installs the machinerynamespace.instantiateAlarmConditionwould have installed.