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.
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.
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.
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 |
|
|
Boolean |
Boolean |
|
|
Decimal |
Decimal |
|
Clause 6.2.4 |
|
DecimalString |
|
Clause 6.2.5 |
Double |
Double |
|
|
Float |
Float |
|
|
Integer |
Integer |
SByte, Int16, Int32, Int64 |
|
NormalizedString |
NormalizedString |
|
Clause 6.2.7 |
String |
String |
|
|
|
LocalizedText |
|
|
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
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.
Parameter |
decimal |
k, storage width in bits |
128 |
p, precision in digits |
34 |
6144 |
|
6176 |
|
sign bit |
1 |
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.
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 |
|
Duration |
DurationString |
|
CC |
Clause 6.2.6 |
Graphic |
CDTGraphic |
|
CDT |
Clause 6.3.6 |
Identifier |
CDTIdentifier |
|
CDT |
Clause 6.3.7 |
Indicator |
Boolean |
|
CC |
|
Measure |
CDTMeasure |
|
CDT |
Clause 6.3.7 |
Name |
LocaizedText |
Language supplemental is mapped to a “locale” element. |
CC |
|
Number |
Number |
Decimal, Double, Float, Int16, Int32, and Int64 are allowed. |
CC |
|
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 |
|
Rate |
CDTRate |
|
CDT |
Clause 6.3.11 |
Ratio |
Number |
Decimal, Double, Float, Int16, Int32, and Int64 are allowed. |
CC |
|
Sound |
CDTSound |
|
CDT |
Clause 6.3.12 |
Text |
LocalizedText |
Language supplemental is mapped to a “locale” element. |
CC |
|
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 |
|
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
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.
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.
Attribute |
Value |
||||
BrowseName |
One of the OPC UA CDT DataType values in Table 32) |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
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.