Figure 8 provides an overview of the signal model, which is an extension to the types defined in OPC 10000-8.

image011.png

Figure 8 - Signal Model Overview

This specification adds new sub-types to each of the existing VariableTypes in OPC 10000-8.

The AnalogSignalVariableType is used for analog variables representing temperature, flow, pressure, etc.. The AnalogSignalVariableType is a subtype of the AnalogUnitRangeType and adds the optional components ActualValue, SimulationValue and Damping. The model and its subtypes are illustrated in Figure 9.

image012.png

Figure 9 - AnalogSignal and Signal Object Model

The AnalogSignalVariableType can be used to model any analog signal type. It extends the AnalogUnitRangeType defined in OPC 10000-8 to add additional information such as values for simulation and damping as well as dictionary references.

The ActualValue contains the unsimulated value during a simulation and SimulationValue contains the value to be used during simulation, as illustrated in Figure 10. The Value attribute always represents what is being reported by the Variable.

image013.png

Figure 10 - Simulation

AnalogSignalVariableType is formally defined in Table 24.

Table 24 - AnalogSignalVariableType

Attribute

Value

BrowseName

AnalogSignalVariableType

IsAbstract

False

ValueRank

−2 (−2 = ‘Any’)

DataType

Number

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of AnalogUnitRangeType defined in OPC 10000-8

0:HasComponent

Variable

ActualValue

0:Number{Any}

0:BaseDataVariableType

0:Optional

0:HasComponent

Variable

SimulationValue

0:Number{Any}

0:BaseDataVariableType

0:Optional

0:HasComponent

Variable

SimulationState

0:Boolean

0:BaseDataVariableType

0:Optional

0:HasProperty

Variable

Damping

0:Float

0:PropertyType

0:Optional

0:HasDictionaryEntry

Object

3:0112/2///61987#ABN634#001

0:IrdiDictionaryEntryType

0:HasSubtype

VariableType

TemperatureMeasurementVariableType

0:HasSubtype

VariableType

PressureMeasurementVariableType

0:HasSubtype

VariableType

FlowMeasurementVariableType

0:HasSubtype

VariableType

LevelMeasurementVariableType

0:HasSubtype

VariableType

ActualDensityVariableType

0:HasSubtype

VariableType

ControlVariableType

0:HasSubtype

VariableType

TotalizerVariableType

0:HasSubtype

VariableType

AnalyticalMeasurementVariableType

AnalogSignalVariableType also extends AnalogUnitRangeType by providing additional references. These references provide dictionary entries for all of the variables defined by this addition as well as dictionary references for fields in the parent AnalogUnitRangeType. See Table 25 for a complete definition.

Table 25 - AnalogSignalVariableType Additional References

Source Path

Reference Type

Is Forward

Target Path

ActualValue

0:HasDictionaryEntry

0:True

3:0112/2///61987#ABN644#001

SimulationValue

0:HasDictionaryEntry

0:True

3:0112/2///61987#ABN613#001

Damping

0:HasDictionaryEntry

0:True

3:0112/2///61987#ABH526#002

SimulationState

0:HasDictionaryEntry

0:True

3:0112/2///61987#ABN611#001

The VariableType is extended in this definition to include the dictionary reference. The dictionary provides an additional description of Value which is copied here for clarity – “ABN634#001 defines parameter indicating the input or output value of a device using the units of measure of the process variable.”

ActualValue reflects the measured value independent of the simulation state. It is further described by dictionary entry ABN644#001 which states “defines parameter indicating the value of the not simulated process variable of a device using the units of measure of the process variable”.

SimulationValue provides a value that substitutes Value if the simulation is enabled. It is further described by dictionary entry ABN613#001 which states “defines parameter indicating the simulated value of a variable using the units of measure of the simulated variable”.

Damping provides a value that is used to flatten changes in the value. It is further described by dictionary entry ABH526#001 which states “defines for the output of a first-order system forced by a step or an impulse, the time required to complete 63.2% of the total rise or decay at any instant during the process”.

SimulationState is defined by IRDI as ABN611#001 which states “defines parameter indicating the state of simulation” and used also to enable/disable simulation.

The Property EngineeringUnits – inherited from AnalogUnitRangeType (see OPC 10000-8 Amendment 1) – shall be used to define the unit for the AnalogSignalVariableType instance and also for its ActualValue and SimulationValue component Variables.

In addition, each EngineeringUnits Property shall provide a HasDictionaryEntry reference to the IEC Common Data Dictionary entry for "unit of measure" which is 3:0112/2///61987#ABA968#002. Figure 11 illustrates this with an example.

image014.png

Figure 11 - EngineeringUnits Property with HasDictionaryEntry Reference

If MultiStateDictionaryEntryDiscreteType Variables reference an IEC 61987 CDD PROPERTY with a Value list, the following mapping applies:

  • For each possible element in the "Value list" map the Preferred name of the element to the „EnumValuesProperty.
  • For each possible element in the "Value list" map the IRDI of the element to the „EnumDictionaryEntriesProperty.

An example for the SensorConnection Property with IRDI 0112/2///61987#ABB091#002 is in Table 26:

Table 26 - Example of a MultiStateDictionaryEntryDiscreteType with CDD reference

IEC 61987 CDD

ecl@ss

OPC UA mapping

„Value list“ attribute

„Value list“ attributeto be defined

„EnumValues“ Property

„EnumDictionaryEntries“ Property

0112/2///61987#ABL113 - 4-wire

0173-1#02-CCCnnn#00n

[0] "4-wire"

[0] 3:0112/2///61987#ABL113#001

0112/2///61987#ABL114 - 3-wire

0173-1#02-CCCnnn#00n

[1] "3-wire"

[1] 3:0112/2///61987#ABL114#001

0112/2///61987#ABL115 - 2-wire

0173-1#02-CCCnnn#00n

[2] "2-wire"

[2] 3:0112/2///61987#ABL115#001

0112/2///61987#ABI407 – others

0173-1#02-CCCnnn#00n

[3] "others"

[3] 3:0112/2///61987#ABI407#004

The TemperatureMeasurementVariableType is a subtype of the AnalogSignalVariableType. It is formally defined in Table 27.

Table 27 - TemperatureMeasurementVariableType

Attribute

Value

BrowseName

TemperatureMeasurementVariableType

IsAbstract

False

ValueRank

−2 (−2 = ‘Any’)

DataType

Float

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of AnalogSignalVariableType

0:HasComponent

Variable

SensorType

0:UInt32{Any}

0:MultiStateDictionaryEntryDiscreteType

0:Mandatory

0:HasComponent

Variable

SensorConnection

0:UInt32{Any}

0:MultiStateDictionaryEntryDiscreteType

0:Optional

0:HasComponent

Variable

SensorReference

0:UInt32{Any}

0:MultiStateDictionaryEntryDiscreteType

0:Optional

0:HasDictionaryEntry

Object

3:0112/2///61987#ABA927#005

0:IrdiDictionaryEntryType

This type defines temperature and is formally defined by ABA927#005.

ABA927#005 defines for a physical system exchanging quantities of heat with two bodies, during a reversible cycle, a positive state quantity characterizing each body and proportional to the quantity of heat exchanged with this body (Temperature).

For SensorType there are two possible IRDIs as target of the HasDictionaryEntry reference, depending on the kind of the connected sensor. In case of RTD (thermoresistance) sensors the IRDI 3:0112/2///61987#ABB088#002 shall be referenced, in case of thermocouple sensors the IRDI 3:0112/2///61987#ABB092#002 shall be referenced. For mapping rules see 8.2.4.

SensorType: ABB088#002 defines classification of RTDs based on material and resistance used.

SensorType: ABB092#002 defines classification of a thermocouple according to the material pair or standard type code.

SensorConnection: ABB091#002 defines classification of an RTD connection based on the number of wires used. For mapping rules see 8.2.4.

SensorReference: ABB093#002 defines type of reference junction for a thermocouple. For mapping rules see 8.2.4.

Table 28 - TemperatureMeasurementVariableType Additional References

Source Path

Reference Type

Is Forward

Target Path

SensorConnection

0:HasDictionaryEntry

0:True

3:0112/2///61987#ABB091#002

SensorReference

0:HasDictionaryEntry

0:True

3:0112/2///61987#ABB093#002

The FlowMeasurementVariableType is a subtype of the AnalogSignalVariableType. It is formally defined in Table 29.

Table 29 - FlowMeasurementVariableType

Attribute

Value

BrowseName

FlowMeasurementVariableType

IsAbstract

False

ValueRank

−2 (−2 = ‘Any’)

DataType

Float

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of AnalogSignalVariableType

0:HasProperty

Variable

LowFlowCutOff

0:Float{Any}

0:PropertyType

0:Mandatory

0:HasComponent

Variable

FlowDirection

0:UInt32{Any}

0:MultiStateDictionaryEntryDiscreteType

0:Optional

0:HasSubtype

VariableType

MassFlowRateVariableType

0:HasSubtype

VariableType

ActualVolumeFlowRateVariableType

0:HasSubtype

VariableType

NormalizedVolumeFlowRateVariableType

This type defines flow and is formally defined within the subtypes.

LowFlowCutOff: ABJ724#002 defines value of flow cut-off in units of span.

FlowDirection: ABN594#002 defines configuration parameter of the value sign of the flow signal for forward flow. For mapping rules see 8.2.4.

Table 30 - FlowMeasurementVariableType Additional References

Source Path

Reference Type

Is Forward

Target Path

LowFlowCutOff

0:HasDictionaryEntry

0:True

3:0112/2///61987#ABJ724#002

FlowDirection

0:HasDictionaryEntry

0:True

3:0112/2///61987#ABN594#002

The PressureMeasurementVariableType is a subtype of the AnalogSignalVariableType. It is formally defined in Table 31.

Table 31 - PressureMeasurementVariableType

Attribute

Value

BrowseName

PressureMeasurementVariableType

IsAbstract

False

ValueRank

−2 (−2 = ‘Any’)

DataType

Float

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of AnalogSignalVariableType

0:HasDictionaryEntry

Object

3:0112/2///61987#ABN616#001

 

0:IrdiDictionaryEntryType

This type defines pressure and is formally defined within ABN616#001.

ABN616#001 defines at a point of a surface, scalar quantity equal to the limit of the quotient of the magnitude of the component vector normal to the surface of the force acting at this point, by the area of a surface containing the point, when all the dimensions of that surface tend to zero (Pressure).

The LevelMeasurementVariableType is a subtype of the AnalogSignalVariableType. It is formally defined in Table 32.

Table 32 - LevelMeasurementVariableType

Attribute

Value

BrowseName

LevelMeasurementVariableType

IsAbstract

False

ValueRank

−2 (−2 = ‘Any’)

DataType

Float

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of AnalogSignalVariableType

0:HasDictionaryEntry

Object

3:0112/2///61987#ABH329#002

 

0:IrdiDictionaryEntryType

This type defines level and is formally defined within ABH329#001.

ABH329#002 defines height of process material in a tank, vessel, silo or other container.

The MassFlowRateVariableType is a subtype of the FlowMeasurementVariableType. It is formally defined in Table 33.

Table 33 - MassFlowRateVariableType

Attribute

Value

BrowseName

MassFlowRateVariableType

IsAbstract

False

ValueRank

−2 (−2 = ‘Any’)

DataType

Float

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of FlowMeasurementVariableType

0:HasDictionaryEntry

Object

3:0112/2///61987#ABB290#005

 

0:IrdiDictionaryEntryType

This type defines mass flow and is formally defined within ABB290#005.

ABB290#005 defines mass of material flowing per unit time.

The ActualVolumeFlowRateVariableType is a subtype of the FlowMeasurementVariableType. It is formally defined in Table 34.

Table 34 - ActualVolumeFlowRateVariableType

Attribute

Value

BrowseName

ActualVolumeFlowRateVariableType

IsAbstract

False

ValueRank

−2 (−2 = ‘Any’)

DataType

Float

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of FlowMeasurementVariableType

0:HasDictionaryEntry

Object

3:0112/2///61987#ABB291#005

 

0:IrdiDictionaryEntryType

This type defines volume flow and is formally defined within ABB291#005.

ABB291#005 defines actual volume of fluid that passes a given point per unit time.

The NormalizedVolumeFlowRateVariableType is a subtype of the FlowMeasurementVariableType. It is formally defined in Table 35.

Table 35 - NormalizedVolumeFlowRateVariableType

Attribute

Value

BrowseName

NormalizedVolumeFlowRateVariableType

IsAbstract

False

ValueRank

−2 (−2 = ‘Any’)

DataType

Float

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of FlowMeasurementVariableType

0:HasDictionaryEntry

Object

3:0112/2///61987#ABB292#005

 

0:IrdiDictionaryEntryType

This type defines normalized volume flow and is formally defined within ABB292#005.

ABB292#001 defines volume of material flowing per unit time calculated to base conditions.

The ActualDensityVariableType is a subtype of the AnalogSignalVariableType. It is formally defined in Table 36.

Table 36 - ActualDensityVariableType

Attribute

Value

BrowseName

ActualDensityVariableType

IsAbstract

False

ValueRank

−2 (−2 = ‘Any’)

DataType

Float

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of AnalogSignalVariableType

0:HasDictionaryEntry

Object

3:0112/2///61987#ABA946#004

 

0:IrdiDictionaryEntryType

This type defines density and is formally defined within ABA946#004.

ABA946#001 defines density measured under operating conditions.

The ControlVariableType is a subtype of the AnalogSignalVariableType. It is formally defined in Table 37.

Table 37 - ControlVariableType

Attribute

Value

BrowseName

ControlVariableType

IsAbstract

False

ValueRank

−2 (−2 = ‘Any’)

DataType

Float

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of AnalogSignalVariableType

0:HasComponent

Variable

Setpoint

0:Float{Any}

0:BaseAnalogType

0:Mandatory

0:HasComponent

Variable

OperatingDirection

0:UInt32

0:MultiStateDictionaryEntryDiscreteType

0:Mandatory

0:HasComponent

Variable

ActuatorType

0:UInt32

0:MultiStateDictionaryEntryDiscreteType

0:Mandatory

0:HasDictionaryEntry

Object

3:0112/2///61987#ABJ683#001

 

0:IrdiDictionaryEntryType

This type defines control which is used e.g. for an actuator, positioner.

ABJ683#001 defines parameter indicating the current output value of the block (READBACK_VALUE).

Setpoint: ABN607#001 defines set point for a valve position.

OperatingDirection: ABD740#002 defines output change to a given input signal. For mapping rules see 8.2.4.

ActuatorType: ABD742#002 defines classification of a positioner according to the actuator for which it can be used. For mapping rules see 8.2.4.

Table 38 - ControlVariableType Additional References

Source Path

Reference Type

Is Forward

Target Path

Setpoint

0:HasDictionaryEntry

0:True

3:0112/2///61987#ABN607#001

OperatingDirection

0:HasDictionaryEntry

0:True

3:0112/2///61987#ABD740#002

ActuatorType

0:HasDictionaryEntry

0:True

3:0112/2///61987#ABD742#002

The TotalizerVariableType provides means to summarize pulses. The TotalizerVariableType is a subtype of the AnalogSignalVariableType. It is formally defined in Table 39.

Table 39 - TotalizerVariableType

Attribute

Value

BrowseName

TotalizerVariableType

IsAbstract

False

ValueRank

−2 (−2 = ‘Any’)

DataType

Number

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of AnalogSignalVariableType

0:HasProperty

Variable

PulseValue

0:Number

0:PropertyType

0:Mandatory

0:HasProperty

Variable

PulseWidth

0:Float

0:PropertyType

0:Mandatory

This type defines a totalizer value.

For TotalizerVariableType there are two possible IRDIs as target of the HasDictionaryEntry reference, depending on the type of the totalized quantity. In case of mass totalization the IRDI 3:0112/2///61987#ABH327#001 shall be referenced, in case of actual volume totalization the IRDI 3:0112/2///61987#ABH328#001 shall be referenced. The related HasDictionaryEntry reference shall be defined after the concrete totalizer type is known.

PulseValue: ABA418#002 defines mass quantity assigned to one pulse.

PulseValue: ABE882#001 defines volume quantity assigned to one pulse.

PulseWidth: ABA635#002 defines factory setting of the pulse width.

Table 40 - TotalizerVariableType Additional References

Source Path

Reference Type

Is Forward

Target Path

PulseWidth

0:HasDictionaryEntry

0:True

3:0112/2///61987#ABA635#002

For PulseValue there are two possible IRDIs as target of the HasDictionaryEntry reference, depending on the type of the totalized quantity. The dictionary entry for PulseValue shall be 3:0112/2///61987#ABA418#001 for mass flow and 3:0112/2///61987#ABE882#001 for volume flow.

The AnalyticalMeasurementVariableType is a subtype of the AnalogSignalVariableType. It is formally defined in Table 41.

Table 41 - AnalyticalMeasurementVariableType

Attribute

Value

BrowseName

AnalyticalMeasurementVariableType

IsAbstract

False

ValueRank

−2 (−2 = ‘Any’)

DataType

Float

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of AnalogSignalVariableType

This type defines analytical measurement.

The TwoStateDiscreteSignalVariableType is used for process variables, that can have two states, and illustrated in Figure 8. It is formally defined in Table 42.

Table 42 - TwoStateDiscreteSignalVariableType

Attribute

Value

BrowseName

TwoStateDiscreteSignalVariableType

IsAbstract

False

ValueRank

−2 (−2 = ‘Any’)

DataType

Boolean

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of TwoStateDiscreteType defined in OPC 10000-8

0:HasComponent

Variable

ActualValue

0:Boolean{Any}

0:BaseDataVariableType

0:Optional

0:HasComponent

Variable

SimulationValue

0:Boolean{Any}

0:BaseDataVariableType

0:Optional

0:HasComponent

Variable

SimulationState

0:Boolean

0:BaseDataVariableType

0:Optional

0: HasDictionaryEntry

Object

3:0112/2///61987#ABN635#001

0:IrdiDictionaryEntryType

ActualValue: ABN645#001 defines parameter indicating the binary value of a not simulated binary process variable of a device.

SimulationValue: ABN632#001 parameter indicating the simulated value of a binary variable.

SimulationState is defined by IRDI as ABN611#001 which states “defines parameter indicating the state of simulation” and used also to enable/disable simulation.

Table 43 - TwoStateDiscreteSignalVariableType Additional References

Source Path

Reference Type

Is Forward

Target Path

ActualValue

0:HasDictionaryEntry

0:True

3:0112/2///61987#ABN645#001

SimulationValue

0:HasDictionaryEntry

0:True

3:0112/2///61987#ABN632#001

SimulationState

0:HasDictionaryEntry

0:True

3:0112/2///61987#ABN611#001

The MultiStateDiscreteSignalVariableType is used for process variables that can have more than two states. It is formally defined in Table 44.

Table 44 - MultiStateDiscreteSignalVariableType

Attribute

Value

BrowseName

MultiStateDiscreteSignalVariableType

IsAbstract

False

ValueRank

−1 (−1 = ‘Scalar’)

DataType

UInt32

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of MultiStateDictionaryEntryDiscreteBaseType defined in OPC 10000-19

0:HasComponent

Variable

ActualValue

0:UInt32

0:BaseDataVariableType

0:Optional

0:HasComponent

Variable

SimulationValue

0:UInt32

0:BaseDataVariableType

0:Optional

0:HasComponent

Variable

SimulationState

0:Boolean

0:BaseDataVariableType

0:Optional

0:HasDictionaryEntry

Object

3:0112/2///61987#ABN636#001

 

0:IrdiDictionaryEntryType

ActualValue: ABN646#001 parameter indicating the discrete value of the not simulated discrete process variable of a device.

SimulationValue: ABN637#001 defines parameter indicating the simulated discrete value of a variable, which can have multiple states.

SimulationState is defined by IRDI as ABN611#001 which states “defines parameter indicating the state of simulation” and used also to enable/disable simulation.

Table 45 - MultiStateDiscreteSignalVariableType Additional References

Source Path

Reference Type

Is Forward

Target Path

ActualValue

0:HasDictionaryEntry

0:True

3:0112/2///61987#ABN646#001

SimulationValue

0:HasDictionaryEntry

0:True

3:0112/2///61987#ABN637#001

SimulationState

0:HasDictionaryEntry

0:True

3:0112/2///61987#ABN611#001

The DiscreteSignalVariableType is used for process variables of any data type, Integer, UInteger, Boolean, Structure etc. E.g. the data type Structure can be for aggregation of multiple values into one signal variable. ActualValue contains the unsimulated value during a simulation and SimulationValue contains the value to be used during simulation.

The DiscreteSignalVariableType is a subtype of the DiscreteItemType defined in OPC 10000-8 and adds optionally ActualValue and SimulationValue components. It is formally defined in Table 46.

Table 46 - DiscreteSignalVariableType

Attribute

Value

BrowseName

DiscreteSignalVariableType

IsAbstract

False

ValueRank

−2 (−2 = ‘Any’)

DataType

BaseDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of DiscreteItemType defined in OPC 10000-8

0:HasComponent

Variable

ActualValue

0:BaseDataType{Any}

0:BaseDataVariableType

0:Optional

0:HasComponent

Variable

SimulationValue

0:BaseDataType{Any}

0:BaseDataVariableType

0:Optional

0:HasComponent

Variable

SimulationState

0:Boolean

0:BaseDataVariableType

0:Optional

ActualValue: ABN644#001 parameter indicating the discrete value of the not simulated discrete process variable of a device.

SimulationValue: ABN613#001 defines parameter indicating the simulated discrete value of a variable, which can have multiple states.

SimulationState is defined by IRDI as ABN611#001 which states “defines parameter indicating the state of simulation” and used also to enable/disable simulation.

Table 47 - DiscreteSignalVariableType Additional References

Source Path

Reference Type

Is Forward

Target Path

ActualValue

0:HasDictionaryEntry

0:True

3:0112/2///61987#ABN644#001

SimulationValue

0:HasDictionaryEntry

0:True

3:0112/2///61987#ABN613#001

SimulationState

0:HasDictionaryEntry

0:True

3:0112/2///61987#ABN611#001