A calibration target is a “thing” that provides a specific value of a quantity with high precision, which is used to calibrate a “device under calibration”. For example, a calibration target could be a piece of metal providing a very precise distance of 10cm between its edges. Therefore, it can be used to calibrate the quantity “length” of a sensor measuring the distance between these edges. A calibration target can also be a device providing a quantity. For example, a precision voltage source used to calibrate a voltage meter.

The operator wants to be able to see what calibration targets are available, what their properties are (quantity and value the target represents) and the environmental conditions they may be used in. Additionally, the operator wants to be able to uniquely identify each target.

A member of the Quality Management department wants to be able to see the last validation date of a target and if available, the quality (Information on the wear and tear of that target) and the date the target has to be revalidated next. If available, the member wants to access external certificates associated with this target.

The operator wants to be able to use devices providing a specific value of a quantity as calibration targets.

The operator wants to be able to qualify workpieces as calibration targets, by using precision measuring equipment on them and use those qualified pieces as calibration targets.

Note: Instead of the workpiece the calibration target can also be the measurement of the quantity provided by a device with the precision measuring equipment.

The operator wants to be able to manage batches of calibration targets, that are used for calibration processes destroying the target.

The Calibration Target Management Information Model defines the CalibrationTargetType (see Figure 11, and 7.4.1 for details). It represents a calibration target and contains base information about the last validation date of the calibration target, its identification, operational conditions, etc. What the calibration target can be used for is provided in a folder of calibration target features, potentially supporting several features. This specification distinguishes different categories of calibration targets, which is provided by the calibration target category.

The information model only provides the TypeDefinitions to manage calibration targets. It does not provide, how to organize several calibration targets in an OPC UA Server. This is either done in a vendor-specific manner or defined by some other companion specifications.

image014.png

Figure 11 Calibration Target Management Overview

The CalibrationTargetType provides information about a calibration target and is formally defined in Table 46. This concrete ObjectType can directly be used to represent a calibration target, or subtyped to define specific types of calibration targets.

Table 46 – CalibrationTargetType Definition

Attribute

Value

BrowseName

CalibrationTargetType

IsAbstract

False

Description

Provides information about a calibration target.

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:BaseObjectType defined in OPC 10000-5, i.e. inheriting the InstanceDeclarations of that Node.

0:HasComponent

Object

2:Identification

--

2:FunctionalGroupType

M

0:HasProperty

Variable

LastValidationDate

0:UtcTime

0:PropertyType

O

0:HasProperty

Variable

NextValidationDate

0:UtcTime

0:PropertyType

O

0:HasProperty

Variable

Quality

0:Byte

0:PropertyType

O

0:HasProperty

Variable

CertificateUri

0:String

0:PropertyType

O

0:HasComponent

Object

CalibrationTargetCategory

-

BaseCalibrationTargetCategoryType

M

0:HasComponent

Object

OperationalConditions

-

0:FolderType

O

0:HasComponent

Object

CalibrationTargetFeatures

-

0:FolderType

M

The 2:Identification Object, using the standardized name defined in OPC 10000-100, provides identification information about the calibration target. It implements the 2:IVendorNameplateType and 2:ITagNameplateType, see Table 49. The Properties defined by those interfaces are listed in Table 24. All Properties are defined as optional. It is recommended to provide the 2:ProductInstanceUri to uniquely identify the calibration target. Other Properties, like 2:SoftwareRevision, will in most cases not be provided. If the calibration target is a device (ReusableDeviceCalibrationTargetCategoryType, see 7.4.4), they might be provided.

The optional LastValidationDate provides the date, the calibration target was validated the last time. If there is no specific validation date known, the date when the calibration target was bought or created should be used. If the CalibrationTargetCategory is of type ReusableCalibrationTargetCategoryType or a subtype, the LastValidationDate shall be provided.

The optional NextValidationDate provides the date, when the calibration target should be validated the next time. If this date is not known, the Property should be omitted.

Note: Potentially the NextValidationDate is in the past, when the next validation did not take place.

The optional Quality provides the quality of the calibration target in percentage, this is, the value shall be between 0 and 100. 100 means the highest quality, 0 the lowest. The semantic of the quality is application-specific and not further defined in this specification.

The optional CertificateUri contains the URI of a certificate of the calibration target, in case the calibration target is certified and the information available. Otherwise, the Property should be omitted. The String shall be a URI as defined by RFC 3986.

Note: In many cases, the NextValidationDate, Quality, and CertificateUri will be writable and maintained from outside the Server by updating the values.

The CalibrationTargetCategory defines what category the calibration target is of. The BaseCalibrationTargetCategoryType is defined in 7.4.2. Instances of CalibrationTargetType shall use a subtype of this abstract ObjectType, and thereby provide the category of the calibration target.

The optional OperationalConditions is a folder containing information about operational conditions of the calibration target. For example, it might provide in what ranges of humidity the calibration target can be operated. It might also provide correction information, for example, depending on the temperature the calibration values need to be corrected (in case of a length, the length might increase with high temperatures). This specification just provides this folder as grouping construct for this information. The concrete information is either vendor-specific or needs to be defined by other companion specifications. If no operational conditions are provided, this folder should be omitted.

The mandatory CalibrationTargetFeatures is a folder containing information about the features of a calibration target, that is, what can be calibrated with the calibration target.

  • It can contain one or more calibration values. A calibration value indicates the value the calibration target provides for calibration and includes its quantity and engineering unit. The VariableType representing calibration values is defined in 7.5.1.
  • It can contain one or more capacity ranges. A capacity range indicates a range (low and high value) as well as a resolution, and thus defines a number of values the calibration target provides for calibration and includes the quantity and engineering unit. The VariableType representing capacity ranges is defined in 7.5.2.
  • It can contain other mechanisms to define the features of a calibration target not defined in this specification.

Although all components of CalibrationTargetFeatures are defined as optional, each instance shall have at least one feature.

The components of the CalibrationTargetType have additional subcomponents which are defined in Table 47.

Table 47 – CalibrationTargetType Additional Subcomponents

BrowsePath

References

Node Class

BrowseName

DataType

TypeDefinition

Others

CalibrationTargetFeatures

0:HasComponent

Variable

<CalibrationValue>

0:Number

CalibrationValueType

OP

CalibrationTargetFeatures

0:HasComponent

Variable

<CapacityRange>

0:Range

CapacityRangeType

OP

Properties of the 2:IVendorNameplateType defined in OPC 10000-100

2:Identification

0:HasProperty

Variable

2:Manufacturer

0:LocalizedText

0:PropertyType

O

2:Identification

0:HasProperty

Variable

2:ManufacturerUri

0:String

0:PropertyType

O

2:Identification

0:HasProperty

Variable

2:Model

0:LocalizedText

0:PropertyType

O

2:Identification

0:HasProperty

Variable

2:ProductCode

0:String

0:PropertyType

O

2:Identification

0:HasProperty

Variable

2:HardwareRevision

0:String

0:PropertyType

O

2:Identification

0:HasProperty

Variable

2:SoftwareRevision

0:String

0:PropertyType

O

2:Identification

0:HasProperty

Variable

2:DeviceRevision

0:String

0:PropertyType

O

2:Identification

0:HasProperty

Variable

2:DeviceManual

0:String

0:PropertyType

O

2:Identification

0:HasProperty

Variable

2:DeviceClass

0:String

0:PropertyType

O

2:Identification

0:HasProperty

Variable

2:SerialNumber

0:String

0:PropertyType

O

2:Identification

0:HasProperty

Variable

2:ProductInstanceUri

0:String

0:PropertyType

O

2:Identification

0:HasProperty

Variable

2:RevisionCounter

0:Int32

0:PropertyType

O

Properties of the 2:ITagNameplateType defined in OPC 10000-100

2:Identification

0:HasProperty

Variable

2:AssetId

0:String

0:PropertyType

O

2:Identification

0:HasProperty

Variable

2:ComponentName

0:LocalizedText

0:PropertyType

O

The child Nodes of the CalibrationTargetType have additional Attribute values defined in Table 48.

Table 48 – CalibrationTargetType Attribute values for child Nodes

BrowsePath

Description Attribute

2:Identification

Provides identification information.

LastValidationDate

Provides the date, the calibration target was validated the last time. If there is no specific validation date known, the date when the calibration target was bought or created should be used.

NextValidationDate

Provides the date, when the calibration target should be validated the next time. If this date is not known, the Property should be omitted. Note: Potentially the NextValidationDate is in the past, when the next validation did not take place.

Quality

Provides the quality of the calibration target in percentage, this is, the value shall be between 0 and 100. 100 means the highest quality, 0 the lowest. The semantic of the quality is application-specific.

CertificateUri

Contains the Uri of a certificate of the calibration target, in case the calibration target is certified and the information available. Otherwise, the Property should be omitted.

CalibrationTargetCategory

Defines what category the calibration target is of.

OperationalConditions

A folder containing information about operational conditions of the calibration target. For example, it might provide in what ranges of humidity the calibration target can be operated. It might also provide correction information, for example, depending on the temperature the calibration values need to be corrected (in case of a length, the length might increase with high temperatures). If no operational conditions are provided, this folder should be omitted.

CalibrationTargetFeatures

A folder containing information about the features of a calibration target, that is, what can be calibrated with the calibration target.

CalibrationTargetFeatures

<CalibrationValue>

A calibration value indicates the value the calibration target provides for calibration and includes its quantity and engineering unit.

CalibrationTargetFeatures

<CapacityRange>

A capacity range indicates a range (low and high value) as well as a resolution, and thus defines a number of values the calibration target provides for calibration and includes the quantity and engineering unit.

The components of the CalibrationTargetType have additional references which are defined in Table 49.

Table 49 – CalibrationTargetType Additional References

SourceBrowsePath

Reference Type

Is Forward

TargetBrowsePath

2:Identification

0:HasInterface

True

2:IVendorNameplateType

2:Identification

0:HasInterface

True

2:ITagNameplateType

The BaseCalibrationTargetCategoryType is an abstract ObjectType used for categorizing calibration targets and is formally defined in Table 50.

Table 50 – BaseCalibrationTargetCategoryType Definition

Attribute

Value

BrowseName

BaseCalibrationTargetCategoryType

IsAbstract

True

Description

Abstract base type for categorizing calibration targets. Subtypes define the concrete categories.

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:BaseObjectType defined in OPC 10000-5, i.e. inheriting the InstanceDeclarations of that Node.

This ObjectType does not define any InstanceDeclarations.

The ReusableCalibrationTargetCategoryType categorizes a calibration target to be reused several times. For example, a calibration target like a meter, that is bought specifically for calibration and not destroyed by an individual usage is of this category. The ObjectType is formally defined in Table 51.

Table 51 – ReusableCalibrationTargetCategoryType Definition

Attribute

Value

BrowseName

ReusableCalibrationTargetCategoryType

IsAbstract

False

Description

Categorizes a calibration target to be reused several times. For example, a calibration target like a meter, that is bought specifically for calibration and not destroyed by an individual usage is of this category.

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseCalibrationTargetCategoryType defined in 7.4.2, i.e. inheriting the InstanceDeclarations of that Node.

This ObjectType does not define any InstanceDeclarations.

The ReusableDeviceCalibrationTargetCategoryType is a subtype of the ReusableCalibrationTargetCategoryType and categorizes a calibration target to be a reusable device that produces a certain environment like pressure that can be used for calibration. The ObjectType is formally defined in Table 52.

Table 52 – ReusableDeviceCalibrationTargetCategoryType Definition

Attribute

Value

BrowseName

ReusableDeviceCalibrationTargetCategoryType

IsAbstract

False

Description

Categorizes a calibration target to be a reusable device that produces a certain environment like pressure that can be used for calibration.

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the ReusableCalibrationTargetCategoryType defined in 7.4.3, i.e. inheriting the InstanceDeclarations of that Node.

This ObjectType does not define any InstanceDeclarations.

The OneTimeCalibrationTargetCategoryType categorizes a calibration target to be used only once, for example because the calibration destroys the target. Typically, Objects of this ObjectType do not represent one individual calibration target, but a batch of calibration targets with the same characteristics. In that case, the information provided by the CalibrationTargetType, like 2:Identification, represents the batch of calibration targets. The ObjectType is formally defined in Table 53.

Table 53 – OneTimeCalibrationTargetCategoryType Definition

Attribute

Value

BrowseName

OneTimeCalibrationTargetCategoryType

IsAbstract

False

Description

Categorizes a calibration target to be used only once, for example because the calibration destroys the target. Typically, Objects of this ObjectType do not represent one individual calibration target, but a batch of calibration targets with the same characteristics.

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseCalibrationTargetCategoryType defined in 7.4.2, i.e. inheriting the InstanceDeclarations of that Node.

This ObjectType does not define any InstanceDeclarations.

The DynamicCalibrationTargetCategoryType characterizes a calibration target that is created by using a high precision measurement instrument, to determine the measures of an item to use it later on to calibrate lower precision equipment with it. This Item can be a piece created during the normal production process or an item specifically created for calibration purposes. Such targets are usually short lived as they are not made from special wear resistant materials, which distinguishes them from the ReusableCalibrationTargetCategoryType. The calibration target represents an individual piece or item, that is, if a new piece should be used or item is created, a new Object of this ObjectType shall be created. The ObjectType is formally defined in Table 54.

Table 54 – DynamicCalibrationTargetCategoryType Definition

Attribute

Value

BrowseName

DynamicCalibrationTargetCategoryType

IsAbstract

False

Description

Characterizes a calibration target to be used together with a measurement instrument, that determines the values to be calibrated. It can be a piece created during the normal production process or an item specifically created for calibration purposes. The calibration target represents an individual piece or item, that is, if a new piece should be used or item is created, a new Object of this ObjectType is created.

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseCalibrationTargetCategoryType defined in 7.4.2, i.e. inheriting the InstanceDeclarations of that Node.

This ObjectType does not define any InstanceDeclarations.

Objects of this ObjectType should use References of the ReferenceType HasReferenceMeasurementInstrument defined in 7.6.1, or a subtype of it, to relate the calibration target to the measurement instrument used to determine its features.

In case the piece or item used as calibration target is also managed otherwise by the OPC UA Server, Objects of this ObjectType may reference the other representation to make the relationship explicit.

The CalibrationValueType is a subtype of the DataItemType. It represents the specific quantity and value (with engineering unit) that a calibration target provides for calibration of equipment. The VariableType is formally defined in Table 55.

Table 55 – CalibrationValueType Definition

Attribute

Value

BrowseName

CalibrationValueType

IsAbstract

False

ValueRank

−2 (−2 = Any)

DataType

0:Number

Description

Represents the specific quantity and value (with engineering unit) that a calibration target provides for calibration of equipment.

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:DataItemType defined in OPC 10000-8, i.e. inheriting the InstanceDeclarations of that Node

0:HasProperty

Variable

0:EngineeringUnits

0:EUInformation

0:PropertyType

M

The CalibrationValueType inherits the Properties of the DataItemType. That does include the optional 0:ValuePrecision, defining the precision of the calibration value.

The mandatory 0:EngineeringUnits defines the engineering unit of the calibration values.

Remark: The quantity of the calibration value is of importance. This specification waits for this to be solved in the base OPC UA specification (OPC 10000-8), and will use this afterwards.

The VariableType can be used with an (multi-dimensional) array or scalar values. When a calibration target provides several independent values, e.g., lengths, that can be used for calibration, each one should get its own instance of CalibrationValueType. If the calibration target provides for example a scale for length, the CapacityRangeType should be used. The array of the CalibrationValueType shall only be used, when it represents one overall value consisting of a number of distinct values for example the spatial frequency of line pattern blocks on a resolution test chart for calibration of optical instruments.

The CapacityRangeType is a subtype of the DataItemType. It is used to represent a scale of calibration values. The value of the Variable defines the range (lowest and highest value), and the resolution the size of each step. The VariableType is formally defined in Table 55.

Table 56 – CapacityRangeType Definition

Attribute

Value

BrowseName

CapacityRangeType

IsAbstract

False

ValueRank

−1 (−1 = Scalar)

DataType

0:Range

Description

Represent a scale of calibration values. The value defines the range (lowest and highest value), and the resolution property the size of each step.

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the DataItemType defined in OPC 10000-8, i.e. inheriting the InstanceDeclarations of that Node

0:HasProperty

Variable

0:EngineeringUnits

0:EUInformation

0:PropertyType

M

0:HasProperty

Variable

Resolution

0:Double

0:PropertyType

M

The CapacityRangeType inherits the Properties of the DataItemType. That does include the optional 0:ValuePrecision, defining the precision of the calibration value.

The mandatory 0:EngineeringUnits defines the engineering unit of the calibration values.

The Resolution defines the step size and is used in combination with the Range provided in the Value Attribute to determine, what individual calibration values can be used for calibration.

Remark: The quantity of the calibration value is of importance. This specification waits for this to be solved in the base OPC UA specification (OPC 10000-8), and will use this afterwards.

The HasReferenceMeasurementInstrument is a concrete ReferenceType and can be used directly. It is a subtype of NonHierarchicalReferences.

The semantic of this ReferenceType is to link a Node using a reference measurement instrument to such an instrument, like for example a calibration target using a reference measurement instrument.

The SourceNode of References of this type can be any Node using a reference measurement instrument, like for example instances of DynamicCalibrationTargetCategoryType.

The TargetNode of this ReferenceType can be any Node representing a measurement instrument.

The HasReferenceMeasurementInstrument is formally defined in Table 45.

Table 57 – HasReferenceMeasurementInstrument Definition

Attributes

Value

BrowseName

HasReferenceMeasurementInstrument

InverseName

ReferenceMeasurementInstrumentOf

Symmetric

False

IsAbstract

False

Description

Relates the source node to a reference measurement instrument, like for example a calibration target using a reference measurement instrument.

References

NodeClass

BrowseName

Comment

Subtype of NonHierarchicalReferences defined in OPC 10000-5