The BaseControlFunctionType provides an abstract superclass for all control functions. It is formally defined in Table 88.

Table 88 – BaseControlFunctionType Definition

Attribute

Value

BrowseName

BaseControlFunctionType

IsAbstract

True

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the FunctionType defined in7.4.2

0:HasComponent

Object

AlarmMonitor

0:ExclusiveDeviationAlarmType

O

0:HasComponent

Object

ControllerTuningParameter

ControllerTuningParameterType

O

0:HasComponent

Object

Operational

1:FunctionalGroupType

M

0:HasComponent

Object

ControlFunctionState

ControlFunctionStateMachineType

M

Conformance Units

LADS BaseControlFunctionType

AlarmMonitor indicates whether the deviation from a set point exceeds the limit. See: 10000-9: Alarms & Conditions | ExclusiveDeviationAlarmType.

ControllerTuningParameter contains information on the Controller configuration. For example, the K factor of a PID control.

Operational is a FunctionalGroup that shall organize the CurrentState property of the ControlFunctionState StateMachine and all its remote invocable Methods. Furthermore, it shall organize at least the CurrentValue and TargetValue Properties found in the ParameterSet Object. Additional references to Properties or Methods within the scope of this Object are at the implementor’s discretion (e.g., AlarmMonitor Properties).

ControlFunctionState is a state machine which represents the execution state and controls the execution of the Function.

The ControlFunctionStateMachineType represents the state of a Function in a LADS Device. It uses the same StateTypes and TransitionTypes as its parent but specifies the additional Start Method to trigger state changes.

The ControlFunctionStateMachineType is formally defined in Table 89.

Table 89 – ControlFunctionStateMachineType Definition

Attribute

Value

BrowseName

ControlFunctionStateMachineType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the FunctionalStateMachineType defined in 7.1.5

0:HasComponent

Method

Start

O

0:HasComponent

Method

StartWithTargetValue

O

Conformance Units

LADS ControlFunctionStateMachineType

Start starts a Function on the LADS Device.

The Start Method starts a Function on the LADS Device.

The signature of this Method is specified below. Table 90 specifies its representation in the AddressSpace.

Signature

Start()

Table 90 – Start Method AddressSpace Definition

Attribute

Value

BrowseName

Start

References

Node Class

BrowseName

DataType

TypeDefinition

ModellingRule

The StartWithTargetValue Method starts a Function on the LADS Device with the target value as an argument.

The signature of this Method is specified below. Table 91 and Note: The optional TargetValue can be also empty. In this case it should be handled as it not exiting.Note: The optional TargetValue can be also empty. In this case it should be handled as it not exiting.

Table 92 specify the Arguments and AddressSpace representation, respectively.

Signature

StartWithTargetValue (

[in]NumberTargetValue)

Table 91 – StartWithTargetValue Method Arguments

Argument

Description

TargetValue

(Optional) This value can be used to set the target value parallel with the start method.

Note: The optional TargetValue can be also empty. In this case it should be handled as it not exiting.

Table 92 – StartWithTargetValue Method AddressSpace Definition

Attribute

Value

BrowseName

StartWithTargetValue

References

Node Class

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

M

The ControllerTuningParameterType is an abstract class. It is formally defined in Table 93. Subtypes of the ControllerTuningParameterType contain the parameters and information about a Controller (configuration).

Table 93 – ControllerTuningParameterType Definition

Attribute

Value

BrowseName

ControllerTuningParameterType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseObjectType defined in OPC 10000-5

Conformance Units

LADS ControllerTuningParameterType

The PidControllerParameterType contains the parameters of an PID controller. It is formally defined in Table 94.

Table 94 – PidControllerParameterType Definition

Attribute

Value

BrowseName

PidControllerParameterType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the ControllerTuningParameterType defined in 7.6.2

HasComponent

Variable

CtrlP

Double

AnalogUnitRangeType

O

HasComponent

Variable

CtrlTd

Double

AnalogUnitRangeType

O

HasComponent

Variable

CtrlTi

Double

AnalogUnitRangeType

O

Conformance Units

LADS PidControllerParameterType

CtrlP is the proportional controller parameter.

CtrlTd is the derivate controller parameter.

CtrlTi is the integrator controller parameter.

The AnalogControlFunctionType describes an analogue control function (using analogue values). In addition to the LADS BaseControlFunctionType, the ParameterSet has been made Mandatory. More specialized analogue control functions can be derived from this ObjectType. The AnalogControlFunctionType is formally defined in Table 95.

Table 95 – AnalogControlFunctionType Definition

Attribute

Value

BrowseName

AnalogControlFunctionType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseControlFunctionType defined in 7.6.1

0:HasComponent

Variable

CurrentValue

0:Double

AnalogUnitRangeType

M

0:HasComponent

Variable

TargetValue

0:Double

AnalogUnitRangeType

M

Conformance Units

LADS AnalogControlFunctionType

CurrentValue is the current process value.

TargetValue is the targeted set-point value.

Table 96 – AnalogControlFunctionType AdditionalSubcomponents

BrowsePath

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

ControlFunctionState

HasComponent

Method

StartWithTargetValue

O

The StartWithTargetValue Method starts a Function on the LADS Device with the target value as an argument.

The signature of this Method is specified below. Table 91 and Note: The optional TargetValue can be also empty. In this case it should be handled as it not exiting.Note: The optional TargetValue can be also empty. In this case it should be handled as it not exiting.

Table 92 specify the Arguments and AddressSpace representation, respectively.

Signature

StartWithTargetValue (

[in]DoubleTargetValue)

Table 97 – StartWithTargetValue Method Arguments

Argument

Description

TargetValue

(Optional) This value can be used to set the target value parallel with the start method.

Note: The optional TargetValue can be also empty. In this case it should be handled as it not exiting.

Table 98 – StartWithTargetValue Method AddressSpace Definition

Attribute

Value

BrowseName

StartWithTargetValue

References

Node Class

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

M

The AnalogControlFunctionWithComposedTargetValueType describes an analogue control function (using analogue values), but the TargetValue is composed of several partial values.

An example of a composed target value used in mechanical stress analysers involves combining a static/constant base value with periodically changing values for defined amplitude, frequency, and waveform.

As the TargetValue is calculated from variables in the TargetValueSet, it should be read-only.

The AnalogControlFunctionWithComposedTargetValueType is formally defined in Table 99.

Table 99 – AnalogControlFunctionWithComposedTargetValueType Definition

Attribute

Value

BrowseName

AnalogControlFunctionWithComposedTargetValueType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the AnalogControlFunctionType defined in 7.6.5

0:HasComponent

Object

TargetValueSet

VariableSetType

M

Conformance Units

LADS AnalogControlFunctionWithComposedTargetValueType

TargetValueSet contains the partial values for the target value.

The AnalogControlFunctionWithRelativeTargetValueType supports applications where the target value is typically modified by relative increments or decrements.

Examples of its usage include position controllers where the actuator needs to modify its position relative to the last defined position by a specific amount, or dispenser controllers that are responsible for aspirating or dispensing a certain volume of fluid.

The optional DecreaseRate and IncreaseRate variables can be utilized to customize the dynamics of the resulting action based on application-specific requirements. These variables allow for adapting to factors such as viscosity when aspirating or dispensing fluids.

AnalogControlFunctionWithRelativeTargetValueType is formally defined in Table 100.

Table 100 – AnalogControlFunctionWithRelativeTargetValueType Definition

Attribute

Value

BrowseName

AnalogControlFunctionWithRelativeTargetValueType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the AnalogControlFunctionType defined in 7.6.5

0:HasComponent

Variable

DecreaseRate

Double

AnalogUnitRangeType

O

0:HasComponent

Method

ModifyTargetValueBy

O

0:HasComponent

Variable

IncreaseRate

Double

AnalogUnitRangeType

O

Conformance Units

LADS AnalogControlFunctionWithRelativeTargetValueType

The ModifyTargetValueBy Method is used to modify the current TargetValue by a relative amount. The resulting value shall be limited to the TargetValue’s allowed range (EURange).

The direction of the action is application dependent and is controlled by the sign of the provided value. For instance, negative values may indicate moving left and positive values may indicate moving right, or positive values may be used for aspirating a defined volume while negative values may be used for dispensing a defined volume.

The signature of this Method is specified below. Table 101 and Table 102 specify the Arguments and AddressSpace representation, respectively.

Signature

ModifyTargetValueBy (

[in]0:DoubleValue

)

Table 101 – ModifyTargetValueBy Method Arguments

Argument

Description

Value

Relative value by which the target value will be changed. The resulting value will typically be limited to the target-value’s allowed range. Provided values can be positive or negative.

Table 102 – ModifyTargetValueBy Method AddressSpace Definition

Attribute

Value

BrowseName

ModifyTargetValueBy

References

Node Class

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

0:Mandatory

The AnalogControlFunctionWithTotalizerType describes an analogue control (using analogue values) function with totalizer.

Typical usage examples include but are not limited to fluid controllers where the quantity of fluid needs to be accurately measured and totalled for metering purposes.

AnalogControlFunctionWithTotalizerType is formally defined in Table 103.

Table 103 – AnalogControlFunctionWithTotalizerType Definition

Attribute

Value

BrowseName

AnalogControlFunctionWithTotalizerType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the AnalogControlFunctionType defined in 7.6.5

0:HasComponent

Method

ResetTotalizer

O

0:HasComponent

Variable

TotalizedValue

Double

AnalogUnitRangeType

M, RO

Conformance Units

LADS AnalogControlFunctionWithTotalizerType

ResetTotalizer resets the totalizer to a specific value, or to zero if no input value is specified.

TotalizedValue is the totalized process value. It can be reset at any time using the ResetTotalizer() command.

The ResetTotalizer Method resets the totalizer to a specific value, or to zero if no input value is specified. The signature of this Method is specified below. Table 104 and Table 105 specify the Arguments and AddressSpace representation, respectively.

Signature

ResetTotalizer (

[in] 0:Double value

)

Table 104 – ModifyTargetValueBy Method Arguments

Argument

Description

Value

Relative value by which the target value will be changed. The resulting value will typically be limited to the target-value’s allowed range. Provided values can be positive or negative.

Table 105 – ResetTotalizer Method AddressSpace Definition

Attribute

Value

BrowseName

ResetTotalizer

References

Node Class

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

0:Mandatory

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.

The ControllerParameterType represents a pair of target and current value variables for a specific mode of the MultiModeAnalogControlFunction (which typically have the same engineering unit).

Table 107 – ControllerParameterType Definition

Attribute

Value

BrowseName

ControllerParameterType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseObjectType defined in OPC 10000-5

0:HasComponent

Object

AlarmMonitor

0:ExclusiveDeviationAlarmType

O

0:HasComponent

Variable

CurrentValue

0:Double

0:AnalogUnitRangeType

M, R

0:HasComponent

Variable

TargetValue

0:Double

0:AnalogUnitRangeType

M, RW

Conformance Units

LADS ControllerParameterType

AlarmMonitor indicates whether the deviation from a setpoint exceeds the limit. See: 10000-9: Alarms & Conditions | ExclusiveDeviationAlarmType.

CurrentValue is the current process value.

TargetValue is the targeted set-point value.

The DiscreteControlFunctionType describes a discrete control function (using discrete values). More specialized discrete control functions can be derived from this ObjectType. The DiscreteControlFunctionType is formally defined in Table 108.

Table 108 – DiscreteControlFunctionType Definition

Attribute

Value

BrowseName

DiscreteControlFunctionType

IsAbstract

True

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseControlFunctionType defined in 7.6.1

0:HasComponent

Variable

CurrentValue

BaseDataType

DiscreteItemType

M

0:HasComponent

Variable

TargetValue

BaseDataType

DiscreteItemType

M

Conformance Units

LADS DiscreteControlFunctionType

CurrentValue is a current discrete process value.

TargetValue is the targeted set-point value.

The MultiStateDiscreteControlFunctionType describes a discrete control function (using more than two discrete values). It is formally defined in Table 109.

Table 109 – MultiStateDiscreteControlFunctionType Definition

Attribute

Value

BrowseName

MultiStateDiscreteControlFunctionType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the DiscreteControlFunctionType defined in 7.6.1

0:HasComponent

Variable

CurrentValue

UInt32

MultiStateDiscreteType

M

0:HasComponent

Variable

TargetValue

UInt32

MultiStateDiscreteType

M

Conformance Units

LADS MultiStateDiscreteControlFunctionType

Table 110 – MultiStateDiscreteControlFunctionType AdditionalSubcomponents

BrowsePath

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

ControlFunctionState

HasComponent

Method

StartWithTargetValue

O

The StartWithTargetValue Method starts a Function on the LADS Device with the target value as an argument.

The signature of this Method is specified below. Table 91 and Note: The optional TargetValue can be also empty. In this case it should be handled as it not exiting.Note: The optional TargetValue can be also empty. In this case it should be handled as it not exiting.

Table 92 specify the Arguments and AddressSpace representation, respectively.

Signature

StartWithTargetValue (

[in]UInt32TargetValue)

Table 111 – StartWithTargetValue Method Arguments

Argument

Description

TargetValue

(Optional) This value can be used to set the target value parallel with the start method.

Note: The optional TargetValue can be also empty. In this case it should be handled as it not exiting.

Table 112 – StartWithTargetValue Method AddressSpace Definition

Attribute

Value

BrowseName

StartWithTargetValue

References

Node Class

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

M

The TwoStateDiscreteControlFunctionType describes a discrete control function with two possible values (e.g., on/off). It is formally defined in Table 113.

Table 113 – TwoStateDiscreteControlFunctionType Definition

Attribute

Value

BrowseName

TwoStateDiscreteControlFunctionType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the DiscreteControlFunctionType defined in 7.6.7

0:HasComponent

Variable

CurrentValue

Boolean

TwoStateDiscreteType

M

0:HasComponent

Variable

TargetValue

Boolean

TwoStateDiscreteType

M

Conformance Units

LADS TwoStateDiscreteControlFunctionType

Table 114 – TwoStateDiscreteControlFunctionType AdditionalSubcomponents

BrowsePath

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

ControlFunctionState

HasComponent

Method

StartWithTargetValue

O

The StartWithTargetValue Method starts a Function on the LADS Device with the target value as an argument.

The signature of this Method is specified below. Table 91 and Note: The optional TargetValue can be also empty. In this case it should be handled as it not exiting.Note: The optional TargetValue can be also empty. In this case it should be handled as it not exiting.

Table 92 specify the Arguments and AddressSpace representation, respectively.

Signature

StartWithTargetValue (

[in]BooleanTargetValue)

Table 115 – StartWithTargetValue Method Arguments

Argument

Description

TargetValue

(Optional) This value can be used to set the target value parallel with the start method.

Note: The optional TargetValue can be also empty. In this case it should be handled as it not exiting.

Table 116 – StartWithTargetValue Method AddressSpace Definition

Attribute

Value

BrowseName

StartWithTargetValue

References

Node Class

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

M

The TimerControlFunctionType defines a simple “one shot” Timer which stops once it has elapsed. It follows the design of other LADS ControlFunctions, utilizing the same state machine and similar variable definitions. The TimerFunctionType is formally defined in Table 117.

Once started, the CurrentValue counts upwards from zero until it reaches the TargetValue.

The DifferenceValue is calculated by subtracting the CurrentValue from the TargetValue. Thus, it counts downwards from the TargetValue to zero.

As soon as the CurrentValue reaches the TargetValue, the CurrentState of the TimerFunction automatically transitions to Off. This is typically accompanied by some (internal) action/effect, such as stopping the execution of a Function or similar.

In the SuspendedState the CurrentValue holds its current value and does not count further until the state switches back to On, either due to a Client command or an internal state change.

Table 117 – TimerControlFunctionType Definition

Attribute

Value

BrowseName

TimerControlFunctionType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseControlFunctionType defined in 7.6.1

0:HasComponent

Variable

CurrentValue

Duration

AnalogUnitRangeType

O

0:HasComponent

Variable

DifferenceValue

Duration

AnalogUnitRangeType

O

0:HasComponent

Variable

TargetValue

Duration

AnalogUnitRangeType

O

Conformance Units

LADS TimerControlFunctionType

CurrentValue is the elapsed time in milliseconds since the Timer was started.

DifferenceValue is the remaining time in milliseconds until the Timer will be stopped.

TargetValue is the target time in milliseconds.