The MultiModeAnalogControlFunctionType is used when a controller or actuator can be operated in different modes, depending on how the target value and current value are represented.

A common example in the laboratory and analytical domain is a peristaltic pump. In this case, the user can choose from various operation modes, such as relative pump speed (0 to 100%), absolute pump rotor speed in RPM, volumetric rate in mL/min (requiring pump calibration), or mass flow rate in g/min (requiring knowledge of the fluid density).

Another example in the laboratory and analytical domain is centrifuges. Operators can select between RPM or RCF (Rotational Centrifugal Force, defined as a multiple of G-force) modes. The RCF mode considers the radius of the centrifuge rotor when converting RCF to RPM.

When the centrifuge is operated in RCF mode, the RPM target value for the motor controller is calculated based on the RCF target value, while the reported RCF current value is calculated using the inverse function based on the measured rotation speed:

Centrifuge.RPM.TargetValue = f(Centrifuge.RCF.TargetValue, Radius)

Centrifuge.RCF.CurrentValue = f-1(Centrifuge.RPM.CurrentValue, Radius)

As shown, a sequence of simple (typically bijective) mathematical equations can be used to convert between the target and current values of different modes. For example, linear functions are used in the pump example, while quadratic functions are used in the centrifuge example.

Essentially, the MultiModeAnalogControlFunctionType is modelled utilizing one common state machine with its methods to control the operation of the underlying resource (inherited from BaseControlFunctionType), a set of target/current value pairs, and a variable that allows the selection of the currently commanding mode.

The MultiModeAnalogControlFunctionType is formally defined in Table 95.

Table 106 – MultiModeAnalogControlFunctionType Definition

Attribute

Value

BrowseName

MultiModeAnalogControlFunctionType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseControlFunctionType defined in 7.6.1

0:HasComponent

Object

ControllerModeSet

ControllerParameterSetType

M

0:HasComponent

Variable

CurrentMode

0:UInt32

0:MultiStateDiscreteType

M, RW

Conformance Units

LADS MultiModeAnalogControlFunctionType

ControllerModeSet is the set of target/current value pairs.

CurrentMode defines the currently selected mode. Its EnumStrings array lists the different defined modes, which shall match the names of the corresponding elements in the ControllerModeSet.

Note: The EnumStrings array contains LocalizedText entries. The DisplayName of the ControllerMode is used to map the child node of the ControllerModeSet. The locale should be “en-US” or empty.