6.3 Core Data Type DataType

6.3.1 General

All data types defined as CDT are mapped to CDT DataTypes or CC DataTypes. Table 20 defines mapping of data types between CCTS and OPC UA.

Table 20 – CDT Data types
CDT OPC UA Description Category Definition
AmountCDTAmountCDTClause 6.3.2
Binary ObjectCDTBinaryObjectCDTClause 6.3.3
CodeCDTCodeCDTClause 6.3.4
DateDateStringCCClause 6.2.2
Date TimeCDTDateTimeCDT OPC 10000-3
DurationDurationStringCCClause 6.2.6
GraphicCDTGraphicCDTClause 6.3.6
IdentifierCDTIdentifierCDTClause 6.3.7
IndicatorBooleanCC OPC 10000-3
MeasureCDTMeasureCDTClause 6.3.7
NameLocaizedTextLanguage supplemental is mapped to a “locale” element.CC OPC 10000-3
NumberNumberDecimal, Double, Float, Int16, Int32, and Int64 are allowed.CC OPC 10000-3
OrdinalCDTOrdinalCDTClause 6.3.9
PercentCDTMeasureCodes according to only percent shall be used. (e.g. “P1”) CDTClause 6.3.7
PictureCDTPictureCDTClause 6.3.10
QuantityNumberDecimal, Double, Float, Int16, Int32, and Int64 are allowed.CC OPC 10000-3
RateCDTRateCDTClause 6.3.11
RatioNumberDecimal, Double, Float, Int16, Int32, and Int64 are allowed.CC OPC 10000-3
SoundCDTSoundCDTClause 6.3.12
TextLocalizedTextLanguage supplemental is mapped to a “locale” element.CC OPC 10000-3
TimeTimeStringCCClause 6.2.8
ValueBaseDataTypeDecimal, Double, Float, Int16, Int32, Int64 or String is allowed. (other Variant types may also be supported)CC OPC 10000-3
VideoCDTVideoCDTClause 6.3.13

Semantic of CDT that is mapped to CC DataType may be defined in ObjectTypes or VariableTypes.

6.3.2 CDTAmountDecimal

The CDTAmountDecimal is a DataType that conforms to Amount type. Table 21 defines the DataTypes.

Table 21 – DataTypes for Amount
Content Component data type for AmountOPC UA CC DataTypeOPC UA CDT DataType
Decimal

Decimal

CDTAmountDecimal

Double
Float
Integer

The CDTAmountDecimal is a number of monetary units specified in a currency. CDTAmountDecimal type is “used to represent amounts, such as costs, remunerations, and fees” from CCTS. All CC types (integer, float…) are mapped to a decimal value.

Table 22 - CDTAmountDecimal Definition
Attribute Value
BrowseNameCDTAmountDecimal
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the Decimal
HasCDTSupplementalVariableCurrencyCurrencyCodePropertyTypeOptional

6.3.3 CDTBinaryObject

The DataType CDTBinaryObject is a subtype of ByteString that defines CCTS binary data based on MIME type. The CDTBinaryObject type is “used for embedding documents such as Word, PDF and/or engineering documents” from CCTS. CDTBinaryObject is differentiated from its related types - CDTGraphic, CDTPicture, CDTSound, and CDTVideo.

Table 23 - CDTBinaryObject Definition
Attribute Value
BrowseNameCDTBinaryObject
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ByteString defined in OPC 10000-3
HasCDTSupplementalVariableMIMEContentTypeStringPropertyTypeOptional
HasCDTSupplementalVariableCharacterSetStringPropertyTypeOptional
HasCDTSupplementalVariableEncodingStringPropertyTypeOptional
HasCDTSupplementalVariableMIMEListIdStringPropertyTypeOptional
HasCDTSupplementalVariableMIMEListAgencyIdStringPropertyTypeOptional
HasCDTSupplementalVariableMIMEListVersionIdStringPropertyTypeOptional
HasCDTSupplementalVariableCharacterSetListIdStringPropertyTypeOptional
HasCDTSupplementalVariableCharacterSetListAgencyIdStringPropertyTypeOptional
HasCDTSupplementalVariableCharacterSetListVersionIdStringPropertyTypeOptional
HasCDTSupplementalVariableEncodingListIdStringPropertyTypeOptional
HasCDTSupplementalVariableEncodingListAgencyIdStringPropertyTypeOptional
HasCDTSupplementalVariableEncodingListVersionIdStringPropertyTypeOptional
HasCDTSupplementalVariableFilenameStringPropertyTypeOptional

MIMEContentType defines the Multipurpose Internet Mail Extensions (MIME) media type of the binary object. This standard recommends use of text code defined in IETF RFC2045, IETF RFC2046 and IETF RFC2047 for the MIME. In this case the MIMEContentType is actually referencing the Content-Type that is defined as part of the MIME type and commonly used as a reference to a specific MIME. The top-level media type is used to declare the general type of data, while the subtype specifies a specific format for that type of data. Thus, a media type of "image/xyz" is enough to tell a user agent that the data is an image, even if the user agent has no knowledge of the specific image format "xyz". Such information can be used, for example, to decide whether or not to show a user the raw data from an unrecognized subtype such an action might be reasonable for unrecognized subtypes of "text", but not for unrecognized subtypes of "image" or "audio".

CharacterSet defines a specific character set of text data if MIME is text. This standard recommends use of text code defined in IANA for the CharacterSet.

Encoding defines an encoding/decoding mechanism of the Binary Object. If contents of the Binary Object are encoded in specific formats, UA Server represents the formats using this supplemental to indicate a code to identify the encoding. Generally, UA Server doesn’t need to encode Binary Objects since the UA Stack always Encodes Messages in the appropriate format defined in OPC 10000-6. This standard recommends the use of text codes defined in IETF RFC2045, IETF RFC2046 and IETF RFC2047 for the Encoding.

MIMEListId represents the identification of a list of codes (refers to the MIMEContentType).

MIMEListAgencyId represents the identification of the agency that manages the code list (refers to the MIMEContentType).

MIMEListVersionId represents the identification of the version of the list of codes (refers to the MIMEContentType).

CharacterSetListId represents the identification of a list of codes (refers to the CharacterSet).

CharacterSetListAgencyId represents the identification of the agency that manages the code list (refers to the CharacterSet).

CharacterSetListVersionId represents the identification of the version of the list of codes (refers to the CharacterSet).

EncodingListId represents the identification of a list of codes (refers to the Encoding).

EncodingListAgencyId represents the identification of the agency that manages the code list (refers to the Encoding).

EncodingListVersionId represents the identification of the version of the list of codes (refers to the Encoding).

Filename defines the recommended file name that can be used to store data. The file name is usually the name of the original data file that is represented in the Binary Object.

6.3.4 CDTCode

The DataType CDTCode is a subtype of String that defines CCTS Code type. The CDTCode Type is a character string (letters, figures or symbols) that for brevity and/or language independence may be used to represent or replace a definitive value or text of an attribute” from CCTS.

OPC UA Client may have the code list as its implementation or OPC UA Server may provide it in an Address Space. OPC UA Application will get symbol of a code from the code list in any case.

Table 24 - CDTCode Definition
Attribute Value
BrowseNameCDTCode
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the String defined in OPC UA Part3
HasCDTSupplementalVariableListIdStringPropertyTypeOptional
HasCDTSupplementalVariableListAgencyIdStringPropertyTypeOptional
HasCDTSupplementalVariableListVersionIdStringPropertyTypeOptional

ListId represents the identification of a list of codes.

ListAgencyId represents the identification of the agency that manages the code list.

ListVersionId represents the identification of the version of the list of codes.

6.3.5 CDTDateTime

The DataType CDTDateTime is a subtype of DateTime that defines CCTS DateTime. The DateTime identifies a date and time of day to various common resolutions: year, month, week, day, hour, minute, second, and fraction of second from CCTS and is used to represent a Gregorian calendar date with UTC time.

Table 25 - CDTDateTime Definition
Attribute Value
BrowseNameCDTDateTime
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the UtcTime defined in OPC 10000-3
HasCDTSupplementalVariableTimezoneStringPropertyTypeOptional
HasCDTSupplementalVariableDaylightSavingsBooleanPropertyTypeOptional

The Timezone can be used to indicate the time zone associated with the data source. The UtcTime value is in GMT and does not have a time zone factor applied. This parameter is provided to allow a client to display the provided time in the time zone that was associated with to original value.

The DaylightSavings can be used to indicate daylights saving if DaylightSavings was in effect when for the given DateTime. The UtcTime value is in GMT and does not have a Timezone factor applied. This parameter is provided to allow a client to display the provided time with the daylight savings time adjustment that was associated with to original value.

6.3.6 CDTGraphic

The DataType CDTGraphic is a subtype of ByteString that defines CCTS Graphic type. The CDTGraphic type is used to represent binary data and binary files for vector based graphics, such as CAD drawings, diagrams, graphs, mathematical curves and charts from CCTS.

Table 26 – CDTGraphic Definition
Attribute Value
BrowseNameCDTGraphic
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ByteString defined in OPC 10000-3
HasCDTSupplementalVariableMIMEContentTypeStringPropertyTypeOptional
HasCDTSupplementalVariableMIMEListIdStringPropertyTypeOptional
HasCDTSupplementalVariableMIMEListAgencyIdStringPropertyTypeOptional
HasCDTSupplementalVariableMIMEListVersionIdStringPropertyTypeOptional
HasCDTSupplementalVariableFilenameStringPropertyTypeOptional

MIMEContentType defines the Multipurpose Internet Mail Extensions (MIME) media type of the binary object. For additional information see 6.3.3

MIMEListId represents the identification of a list of codes (refers to the MIMEContentType).

MIMEListAgencyId represents the identification of the agency that manages the code list (refers to the MIMEContentType).

MIMEListVersionId represents the identification of the version of the list of codes (refers to the MIMEContentType).

Filename defines the recommended file name that can be used to store data. The file name is usually the name of the original data file that is represented in the Binary Object.

6.3.7 CDTIdentifier

The DataType CDTIdentifier is a subtype of String that defines CCTS Identifier Type. The CDTIdentifier type is an identifier is a character string used to uniquely identify one instance of an object within an identification scheme that is managed by an agency from CCTS.

Table 27 - CDTIdentifier Definition
Attribute Value
BrowseNameCDTIdentifier
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the String defined in OPC 10000-3
HasCDTSupplementalVariableSchemeIdStringPropertyTypeOptional
HasCDTSupplementalVariableSchemeVersionIdStringPropertyTypeOptional
HasCDTSupplementalVariableSchemeAgencyIdStringPropertyTypeOptional

SchemeId represent the identification of the identifier scheme.

SchemeVersionId represents the identification of the version of the identifier scheme.

SchemeAgencyId represents the identification of the agency that manages the identifier scheme.

6.3.8 CDTMeasure

The CDTMeasure is a generic term for DataTypes that conform to the Measure type. The actual DataTypes are defined separately according to each primitive data type of content component. Table 28 defines the DataTypes.

Table 28 - DataTypes according to CDTMeasure
Content Component data typeOPC UA CC DataTypeOPC UA CDT DataType
DecimalDecimalCDTMeasureDecimal
DoubleDoubleCDTMeasureDouble
FloatFloatCDTMeasureFloat
IntegerInt16CDTMeasureInt16
Int32CDTMeasureInt32
Int64CDTMeasureInt64

The CDTMeasure is a numeric value determined by measuring an object along with the specified unit of measure. It “is used to represent a kind of physical dimension such as temperature, length, speed, width, weight, volume, latitude of an object. More precisely, it should be used to measure intrinsic or physical properties of an object seen as a whole according to CCTS.

Table 29 - CDTMeasure Definition
Attribute Value
BrowseNameOne of the OPC UA CDT DataType value in Table 28
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the one of the OPC UA CC DataTypes Table 28
HasCDTSupplementalVariableUnitEUInformationPropertyTypeOptional

Unit defines measurement units defined in OPC 10000-8. EUInformation identifies unit by three letters specified in Unit element. This rule is reasonable if code set of Unit is based on UNECE. Otherwise, code shall be set into Display, and Unit shall be set to (-1).

NOTE: OPC 10000-8 defines EUInformation DataType to indicate code of the unit defined in UN/ECE. This standard uses the EUInformation to represent code defined in UN/ECE instead of CDTCode.

6.3.9 CDTOrdinal

The DataType CDTOrdinal is a subtype of Int32 that defines CCTS Ordinal type. It is an assigned mathematical number that represents order or sequence according to CCTS.

Table 30 - CDTOrdinal Definition
Attribute Value
BrowseNameCDTOrdinal
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the Int32 defined in OPC 10000-3

6.3.10 CDTPicture

The DataType CDTPicture is a subtype of Image that defines CCTS Picture type. It is a visual representation of a person, object, or scene in binary notation (octets). It should be used for embedding binary data of pictures such as photos, art, and clip art according to CCTS. If no supplemental data is to be provided it is also acceptable to directly map any CDTPicture data to a subtype of the standard OPC UA Image dataType (ImageBMP, ImageGIF, ImageJPG, ImagePNG).

Table 31 - CDTPicture Definition
Attribute Value
BrowseNameCDTPicture
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the Image defined in OPC 10000-3
HasCDTSupplementalVariableMIMEContentTypeStringPropertyTypeOptional
HasCDTSupplementalVariableMIMEListIdStringPropertyTypeOptional
HasCDTSupplementalVariableMIMEListAgencyIdStringPropertyTypeOptional
HasCDTSupplementalVariableMIMEListVersionIdStringPropertyTypeOptional
HasCDTSupplementalVariableFilenameStringPropertyTypeOptional

The MIMEContentType supplemental property is rarely used, since in most cases the picture binary blob includes header information that includes the MIME information. Most applications can just obtain the information directly from the picture blob

MIMEContentType defines the Multipurpose Internet Mail Extensions (MIME) media type of the binary object. For additional information see 6.3.3

MIMEListId represents the identification of a list of codes (refers to the MIMEContentType).

MIMEListAgencyId represents the identification of the agency that manages the code list (refers to the MIMEContentType).

MIMEListVersionId represents the identification of the version of the list of codes (refers to the MIMEContentType).

Filename defines the recommended file name that can be used to store data. The file name is usually the name of the original data file that is represented in the Binary Object.

6.3.11 CDTRate

The CDTRate is a generic term for DataTypes that conform to the Rate type. The actual DataTypes are defined separately according to each primitive data type of content component. Table 32 defines the DataTypes.

Table 32 - DataTypes according to CDTRate
Content Component data typeOPC UA CC DataTypeOPC UA CDT DataType
DecimalDecimalCDTRateDecimal
DoubleDoubleCDTRateDouble
FloatFloatCDTRateFloat
IntegerIntegerCDTRateInt32

The CDTRate is a quantity, amount, frequency, or dimensionless factor, measured against an independent base unit, expressed as a quotient. In addition CCTS describe it is used to represent the numerical quotient resulting from a comparison of two independent things such as a quantity measured with respect to another measured quantity such as a rate of speed, a measure of a part with respect to a whole - a proportion such as the mortality rate, a tax rate, the cost per unit of a commodity or service or a charge or payment calculated in relation to a particular sum or quantity such as interest rates. The quotient is calculated by taking into account the Rate.Multiplier.Value and Rate.Base.Multiplier. Value supplementary components that affect the unit codes used at the numerator and the denominator.

Table 33 - CDTRate Definition
Attribute Value
BrowseName One of the OPC UA CDT DataType values in Table 32)
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the CC DataType according to the BrowseName
HasCDTSupplementalVariableMultiplierDoublePropertyTypeOptional
HasCDTSupplementalVariableUnitEUInformationPropertyTypeOptional
HasCDTSupplementalVariableCurrencyCurrencyCodePropertyTypeOptional
HasCDTSupplementalVariableBaseMultiplierDoublePropertyTypeOptional
HasCDTSupplementalVariableBaseUnitEUInformationPropertyTypeOptional
HasCDTSupplementalVariableBaseCurrencyCurrencyCodePropertyTypeOptional

Multiplier defines multiplier of the numerator. The default value is "1" if the element is omitted.

Unit defines the unit of measure of the numerator. The Unit is represented in EUInformation defined in OPC UA Part8.

Currency defines the currency unit of the numerator.

BaseMultiplier defines multiplier of the denominator. The default value is "1" if the element is omitted.

BaseCurrency defines the currency unit of the denominator BaseUnit defines the unit of measure of the denominator. The BaseUnit is represented in EUInformation defined in OPC UA Part8.

6.3.12 CDTSound

The DataType CDTSound is a subtype of ByteString that defines CCTS Sound type. It is any form of an audio file such as audio recordings in binary notation according to CCTS.

Table 34 - CDTSound Definition
Attribute Value
BrowseNameCDTSound
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ByteString defined in OPC 10000-3
HasCDTSupplementalVariableMIMEContentTypeStringPropertyTypeOptional
HasCDTSupplementalVariableMIMEListIdStringPropertyTypeOptional
HasCDTSupplementalVariableMIMEListAgencyIdStringPropertyTypeOptional
HasCDTSupplementalVariableMIMEListVersionIdStringPropertyTypeOptional
HasCDTSupplementalVariableFilenameStringPropertyTypeOptional

The MIMEContentType supplemental property is rarely used, since in most cases the sound binary blob includes header information that includes the MIME information. Most applications can just obtain the information directly from the sound blob

MIMEContentType defines the Multipurpose Internet Mail Extensions (MIME) media type of the binary object. For additional information see 6.3.3

MIMEListId represents the identification of a list of codes (refers to the MIMEContentType).

MIMEListAgencyId represents the identification of the agency that manages the code list (refers to the MIMEContentType).

MIMEListVersionId represents the identification of the version of the list of codes (refers to the MIMEContentType).

FileName defines the recommended file name that can be used to store data. The file name is usually the name of the original data file that is represented in the Binary Object.

6.3.13 CDTVideo

The DataType CDTVideo is a subtype of ByteString that defines CCTS Video type. It is a recording, reproducing or broadcasting of visual images on magnetic tape or digitally in binary notation.

Table 35 - CDTVideo Definition
Attribute Value
BrowseNameCDTVideo
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ByteString defined in OPC 10000-3
HasCDTSupplementalVariableMIMEContentTypeCDTCodePropertyTypeOptional
HasCDTSupplementalVariableMIMEListIdStringPropertyTypeOptional
HasCDTSupplementalVariableMIMEListAgencyIdStringPropertyTypeOptional
HasCDTSupplementalVariableMIMEListVersionIdStringPropertyTypeOptional
HasCDTSupplementalVariableFilenameStringPropertyTypeOptional

The MIMEContentType supplemental property is rarely used, since in most cases the Video blob includes header information that includes the MIME information. Most applications can just obtain the information directly from the Video blob

MIMEContentType defines the Multipurpose Internet Mail Extensions (MIME) media type of the binary object. For additional information see 6.3.3

MIMEListId represents the identification of a list of codes (refers to the MIMEContentType).

MIMEListAgencyId represents the identification of the agency that manages the code list (refers to the MIMEContentType).

MIMEListVersionId represents the identification of the version of the list of codes (refers to the MIMEContentType).

Filename defines the recommended file name that can be used to store data. The file name is usually the name of the original data file that is represented in the Binary Object.