ISA-95 is an abstract specification that has no data model. The B2MML implementation further refined the ISA-95 standard to include a set of standard data types. They selected the UN/CEFACT for this data type definition. These standard data type are now the default data type of ISA-95 Models In order to support transformation between the B2MML mapping and the OPC UA mapping of the ISA-95 Information models a mapping of UN/CEFACT is required.

The UN/CEFACT core component types are a common set of types that define specific terms with semantic meaning, such as the meaning of a quantity, currency, amount, identifier, and language. The UN/CEFACT core components were defined in a core components technical specification (CCTS) developed by the ebXML project now organized by UN/CEFACT and ISO TC 154. This definition also includes supplementary components which provide metadata that refine the value domain. See CCTS for additional information.

This standard defines a data representation model that is compatible with CCTS. The value of a content component is represented by the Value Attribute of a Variable, and the supplemental components that are defined in CCTS are represented as Properties of the DataType. In addition these supplemental Properties may optionally be defined for Variables.

Most of the CDTs, defined in CCTS, are defined as CDT DataTypes in this standard but some CDTs are mapped to OPC UA Built-in DataTypes directly.

All supplemental Properties defined as part of a CDT DataType include the definition of a default value. This allows a Server to not require the addition of the optional Properties, while still allowing a client to obtain the value for the CDT DataType supplemental Properties. However, for some DataTypes or VariableTypes the supplemental Properties may have different values on instances than the default value. For example, a Unit of Measure type depends upon measurement data. In this case, the Server shall duplicate the supplemental Property from the CDT DataType and to the Variable. A client shall try to read the supplemental Property from the Variable first, if the Property does not exist on the variable than the Client shall read the supplemental Property from the CDT DataType.

image019.png

Figure 16 – Basic data representation model

Third parties may define VariableTypes that rely on CDT DataTypes to enhance data representation methodology. This approach will allow the use of generic clients that support performing actions based on a type system (programming against a type system). Figure 17 illustrates a type definition based on a CDT type. This is an enhanced feature but this standard recommends using the enhanced representation instead of the basic representation model.

image020.png

Figure 17 - Enhanced data representation model

Figure 18 illustrates an example of the Amount and the Measure types defined in CCTS. In this example, a value of Currency Property is commonly used in UA Server but a value of Unit Property relates to a measurement value that is temperature.

image021.png

Figure 18 - Example of CDT implementation

CCTS defines a finite set of primitive data types that shall be used for a Content Component. These data types are mapped to OPC UA CC (Content Component) DataTypes which are OPC UA Built-in DataTypes or DataTypes defined in the following clauses. Table 10 defines mapping between the primitive data types for the Content Component and the CC DataTypes.

Table 10 – Built-in data types

CCTS Primitive data type

OPC UA CC DataType

Description

Definition

Binary

ByteString

OPC 10000-3

Boolean

Boolean

OPC 10000-3

Decimal

Decimal

Clause 6.2.4

DecimalString

Clause 6.2.5

Double

Double

OPC 10000-3

Float

Float

OPC 10000-3

Integer

Integer

SByte, Int16, Int32, Int64

OPC 10000-3

NormalizedString

NormalizedString

Clause 6.2.7

String

String

OPC 10000-3

LocalizedText

OPC 10000-3

TimeDuration

DurationString

Clause 6.2.6

TimePoint

DateString

Clause 6.2.2

TimeString

Clause 6.2.6

Token

N/A

N/A

N/A

CurrencyCode

Used to represent code for currency

Clause 6.2.2

This is a structured DataType which represents a currency code. Its elements are defined in Table 11.

Table 11 - CurrencyCode DataType structure

Name

Type

Description

CurrencyCode

Structure

namespaceUri

String

Identifies the organization (company, standards organization) that defines the currency code. Default is http://www.opcfoundation.org/UA/Currency/ISO4217:2008

unitId

Int32

Numeric id from the ISO4217 table. This element is optional. Default value shall be “-1” that indicates that this element isn’t applicable.

charId

Byte[3]

The CharacterId from the ISO4217 table. This has a fixed length of 3 characters as defined by ISO4217:2008.The allowed values in the Byte are the ASCI codes representing each character. The range of ASCI characters that are allowed is defined in the ISO4217 table.

displayName

LocalizedText

Symbol if one is defined otherwise the same as the charid.

Description

LocalizedText

Contains the full name of the currency such as Australian Dollar or Yuan Renminbi

Its representation in the Address Space is defined in Table 12.

Table 12 - CurrencyCode Definition

Attributes

Value

BrowseName

CurrencyCode

This DataType defines a value which is a day in the Gregorian calendar in string. Lexical representation of the string conforms to ISO 8601-2000.

Table 13 - DateString Definition

Attribute

Value

BrowseName

DateString

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Subtype of the String defined in OPC 10000-3

According to ISO 8601—2000, ‘calendar date representations are in the form [YYYY-MM-DD]. [YYYY] indicates a four-digit year, 0000 through 9999. [MM] indicates a two-digit month of the year, 01 through 12. [DD] indicates a two-digit day of that month, 01 through 31. For example, "the 5th of April 1981" may be represented as either "1981-04-05" in the extended format or "19810405" in the basic format.’

The standard also allows for calendar dates to be written with reduced precision. For example, one may write "1981-04" to mean "1981 April", and one may simply write "1981" to refer to that year or "19" to refer to the century from 1900 to 1999 inclusive.

Although the standard allows both the YYYY-MM-DD and YYYYMMDD formats for complete calendar date representations, if the day [DD] is omitted then only the YYYY-MM format is allowed. By disallowing dates of the form YYYYMM, the standard avoids confusion with the truncated representation YYMMDD (still often used).

This DataType defines a decimal value. The format of this value conforms to the following formula

(-1)sign x coefficient x 10exponent

Table 14 - Decimal Definition

Attribute

Value

BrowseName

Decimal

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Subtype of the SByte defined in OPC 10000-3

For this release the OPC UA stacks and infrastructure does not support Decimal as a base type, thus this type must be mapped to a ByteString and the ByteString must be passed to the SDK and/or Stack. This DataType has to be handled by the application.

Decimal can be encoded in a number of ways and can be defined to have 32, 64 and 128 varieties. Since the OPC UA stacks do not natively support this encoding only a single Decimal type is being defined. This will allow the stacks in the future to be expanded to support Decimal32, Decimal64 and Decimal128. The encoding of decimal is also defined by more than one group using different encodings. The binary encoding being used for this release (and will always be used for the plain decimal binary string encoding) is a string that is 128 bit and follows the IEC TR 24732 definition for a decimal. It is summarised in the table below.

Table 15 - Decimal Definition

Parameter

decimal

k, storage width in bits

128

p, precision in digits

34

Emax

6144

bias, E – q

6176

Encoding parameters

sign bit

1

w +5, combination field width in bits

17

t, trailing significant field width in bits

110

k, storage width in bits

128

This primitive DataType defines a value which can be represented by decimal number in string. Lexical representation of the string conforms to W3C XML Schema Definition Language (XSD) 1.1 Part 2: DataTypes.

Table 16 - DecimalString Definition

Attribute

Value

BrowseName

DecimalString

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Subtype of the String defined in OPC 10000-3

OPC UA Applications may have the responsibility to encode / decode the DecimalString to an appropriate data type which is supported by the application’s platform. The DecimalString is a numeric string with an optional sign and decimal point.

This DataType defines a value which is a string representation of a duration of time. It conforms to lexical rules in ISO 8601-2000.

Table 17 - DurationString Definition

Attribute

Value

BrowseName

DurationString

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Subtype of the String defined in OPC 10000-3

According to ISO 8601—2000 ‘Durations are represented by the format P[n]Y[n]M[n]DT[n]H[n]M[n]S or P[n]W as shown to the right. In these representations, the [n] is replaced by the value for each of the date and time elements that follow the [n]. Leading zeros are not required, but the maximum number of digits for each element should be agreed to by the communicating parties. The capital letters P, Y, M, W, D, T, H, M, and S are designators for each of the date and time elements and are not replaced.

P is the duration designator (historically called "period") placed at the start of the duration representation.

Y is the year designator that follows the value for the number of years.

M is the month designator that follows the value for the number of months.

W is the week designator that follows the value for the number of weeks.

D is the day designator that follows the value for the number of days.

T is the time designator that precedes the time components of the representation.

H is the hour designator that follows the value for the number of hours.

M is the minute designator that follows the value for the number of minutes.

S is the second designator that follows the value for the number of seconds.

For example, "P3Y6M4DT12H30M5S" represents a duration of "three years, six months, four days, twelve hours, thirty minutes, and five seconds". Date and time elements including their designator may be omitted if their value is zero, and lower order elements may also be omitted for reduced precision. For example, "P23DT23H" and "P4Y" are both acceptable duration representations’

This DataType defines a value which is a normalized string. Some Unicode characters have multiple equivalent binary representations consisting of sets of combining and/or composite Unicode characters. The Unicode standard defines a process called normalization that returns one binary representation when given any of the equivalent binary representations of a character. The Win32 and the .NET Framework currently support normalization forms C, D, KC, and KD, as defined in Annex15. This definition of NormalizedString uses Normalization Form C for all content, because this form avoids potential interoperability problems arising from the use of canonically equivalent, yet different, character sequences in document formats

Table 18 - NormalizedString Definition

Attribute

Value

BrowseName

NormalizedString

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Subtype of the String defined in OPC 10000-3

This DataType defines a value which is the string representation of a time. It conforms to lexical rules in ISO 8601-2000.

Table 19 - TimeString Definition

Attribute

Value

BrowseName

TimeString

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Subtype of the String defined in OPC 10000-3

ISO 8601 uses the 24-hour clock system. The basic format is [hh][mm][ss] and the extended format is [hh]:[mm]:[ss].

[hh] refers to a zero-padded hour between 00 and 24 (where 24 is only used to notate midnight at the end of a calendar day).

[mm] refers to a zero-padded minute between 00 and 59.

[ss] refers to a zero-padded second between 00 and 60 (where 60 is only used to notate an added leap second).

So a time might appear as either "134730" in the basic format or "13:47:30" in the extended format.

It is also acceptable to omit lower order time elements for reduced accuracy: [hh]:[mm], [hh][mm] and [hh] are all used.

Midnight is a special case and can be referred to as both "00:00" and "24:00". The notation "00:00" is used at the beginning of a calendar day and is the more frequently used. At the end of a day use "24:00"

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

Amount

CDTAmount

CDT

Clause 6.3.2

Binary Object

CDTBinaryObject

CDT

Clause 6.3.3

Code

CDTCode

CDT

Clause 6.3.4

Date

DateString

CC

Clause 6.2.2

Date Time

CDTDateTime

CDT

OPC 10000-3

Duration

DurationString

CC

Clause 6.2.6

Graphic

CDTGraphic

CDT

Clause 6.3.6

Identifier

CDTIdentifier

CDT

Clause 6.3.7

Indicator

Boolean

CC

OPC 10000-3

Measure

CDTMeasure

CDT

Clause 6.3.7

Name

LocaizedText

Language supplemental is mapped to a “locale” element.

CC

OPC 10000-3

Number

Number

Decimal, Double, Float, Int16, Int32, and Int64 are allowed.

CC

OPC 10000-3

Ordinal

CDTOrdinal

CDT

Clause 6.3.9

Percent

CDTMeasure

Codes according to only percent shall be used. (e.g. “P1”)

CDT

Clause 6.3.7

Picture

CDTPicture

CDT

Clause 6.3.10

Quantity

Number

Decimal, Double, Float, Int16, Int32, and Int64 are allowed.

CC

OPC 10000-3

Rate

CDTRate

CDT

Clause 6.3.11

Ratio

Number

Decimal, Double, Float, Int16, Int32, and Int64 are allowed.

CC

OPC 10000-3

Sound

CDTSound

CDT

Clause 6.3.12

Text

LocalizedText

Language supplemental is mapped to a “locale” element.

CC

OPC 10000-3

Time

TimeString

CC

Clause 6.2.8

Value

BaseDataType

Decimal, Double, Float, Int16, Int32, Int64 or String is allowed. (other Variant types may also be supported)

CC

OPC 10000-3

Video

CDTVideo

CDT

Clause 6.3.13

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

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

Table 21 – DataTypes for Amount

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

Content Component data type for Amount

OPC UA CC DataType

OPC UA CDT DataType

Decimal

Decimal

CDTAmountDecimal

Double

Float

Integer

Attribute

Value

BrowseName

CDTAmountDecimal

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the Decimal

HasCDTSupplemental

Variable

Currency

CurrencyCode

PropertyType

Optional

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

BrowseName

CDTBinaryObject

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the ByteString defined in OPC 10000-3

HasCDTSupplemental

Variable

MIMEContentType

String

PropertyType

Optional

HasCDTSupplemental

Variable

CharacterSet

String

PropertyType

Optional

HasCDTSupplemental

Variable

Encoding

String

PropertyType

Optional

HasCDTSupplemental

Variable

MIMEListId

String

PropertyType

Optional

HasCDTSupplemental

Variable

MIMEListAgencyId

String

PropertyType

Optional

HasCDTSupplemental

Variable

MIMEListVersionId

String

PropertyType

Optional

HasCDTSupplemental

Variable

CharacterSetListId

String

PropertyType

Optional

HasCDTSupplemental

Variable

CharacterSetListAgencyId

String

PropertyType

Optional

HasCDTSupplemental

Variable

CharacterSetListVersionId

String

PropertyType

Optional

HasCDTSupplemental

Variable

EncodingListId

String

PropertyType

Optional

HasCDTSupplemental

Variable

EncodingListAgencyId

String

PropertyType

Optional

HasCDTSupplemental

Variable

EncodingListVersionId

String

PropertyType

Optional

HasCDTSupplemental

Variable

Filename

String

PropertyType

Optional

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.

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

BrowseName

CDTCode

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the String defined in OPC UA Part3

HasCDTSupplemental

Variable

ListId

String

PropertyType

Optional

HasCDTSupplemental

Variable

ListAgencyId

String

PropertyType

Optional

HasCDTSupplemental

Variable

ListVersionId

String

PropertyType

Optional

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.

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

BrowseName

CDTDateTime

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the UtcTime defined in OPC 10000-3

HasCDTSupplemental

Variable

Timezone

String

PropertyType

Optional

HasCDTSupplemental

Variable

DaylightSavings

Boolean

PropertyType

Optional

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.

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

BrowseName

CDTGraphic

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the ByteString defined in OPC 10000-3

HasCDTSupplemental

Variable

MIMEContentType

String

PropertyType

Optional

HasCDTSupplemental

Variable

MIMEListId

String

PropertyType

Optional

HasCDTSupplemental

Variable

MIMEListAgencyId

String

PropertyType

Optional

HasCDTSupplemental

Variable

MIMEListVersionId

String

PropertyType

Optional

HasCDTSupplemental

Variable

Filename

String

PropertyType

Optional

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.

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

BrowseName

CDTIdentifier

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the String defined in OPC 10000-3

HasCDTSupplemental

Variable

SchemeId

String

PropertyType

Optional

HasCDTSupplemental

Variable

SchemeVersionId

String

PropertyType

Optional

HasCDTSupplemental

Variable

SchemeAgencyId

String

PropertyType

Optional

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.

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 type

OPC UA CC DataType

OPC UA CDT DataType

Decimal

Decimal

CDTMeasureDecimal

Double

Double

CDTMeasureDouble

Float

Float

CDTMeasureFloat

Integer

Int16

CDTMeasureInt16

Int32

CDTMeasureInt32

Int64

CDTMeasureInt64

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

BrowseName

One of the OPC UA CDT DataType value in Table 28

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the one of the OPC UA CC DataTypes Table 28

HasCDTSupplemental

Variable

Unit

EUInformation

PropertyType

Optional

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.

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

BrowseName

CDTOrdinal

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the Int32 defined in OPC 10000-3

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

BrowseName

CDTPicture

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the Image defined in OPC 10000-3

HasCDTSupplemental

Variable

MIMEContentType

String

PropertyType

Optional

HasCDTSupplemental

Variable

MIMEListId

String

PropertyType

Optional

HasCDTSupplemental

Variable

MIMEListAgencyId

String

PropertyType

Optional

HasCDTSupplemental

Variable

MIMEListVersionId

String

PropertyType

Optional

HasCDTSupplemental

Variable

Filename

String

PropertyType

Optional

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.

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 type

OPC UA CC DataType

OPC UA CDT DataType

Decimal

Decimal

CDTRateDecimal

Double

Double

CDTRateDouble

Float

Float

CDTRateFloat

Integer

Integer

CDTRateInt32

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)

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the CC DataType according to the BrowseName

HasCDTSupplemental

Variable

Multiplier

Double

PropertyType

Optional

HasCDTSupplemental

Variable

Unit

EUInformation

PropertyType

Optional

HasCDTSupplemental

Variable

Currency

CurrencyCode

PropertyType

Optional

HasCDTSupplemental

Variable

BaseMultiplier

Double

PropertyType

Optional

HasCDTSupplemental

Variable

BaseUnit

EUInformation

PropertyType

Optional

HasCDTSupplemental

Variable

BaseCurrency

CurrencyCode

PropertyType

Optional

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.

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

BrowseName

CDTSound

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the ByteString defined in OPC 10000-3

HasCDTSupplemental

Variable

MIMEContentType

String

PropertyType

Optional

HasCDTSupplemental

Variable

MIMEListId

String

PropertyType

Optional

HasCDTSupplemental

Variable

MIMEListAgencyId

String

PropertyType

Optional

HasCDTSupplemental

Variable

MIMEListVersionId

String

PropertyType

Optional

HasCDTSupplemental

Variable

Filename

String

PropertyType

Optional

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.

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

BrowseName

CDTVideo

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the ByteString defined in OPC 10000-3

HasCDTSupplemental

Variable

MIMEContentType

CDTCode

PropertyType

Optional

HasCDTSupplemental

Variable

MIMEListId

String

PropertyType

Optional

HasCDTSupplemental

Variable

MIMEListAgencyId

String

PropertyType

Optional

HasCDTSupplemental

Variable

MIMEListVersionId

String

PropertyType

Optional

HasCDTSupplemental

Variable

Filename

String

PropertyType

Optional

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.