The data types in the GSDML file are defined in [GSDML] table 18. Table 58 defines the mapping of GSDML data types to OPC UA data types.
Table 58 – GSDML data type to OPC UA data type mapping
DataType attribute value of Ref element |
Length in bytes |
OPC UA data type |
Comment |
“Bit” |
1 |
0:Boolean |
|
“BitArea” |
Specified by “BitLength” attribute |
0:ByteString |
|
“Integer8” |
1 |
0:SByte |
|
“Integer16” |
2 |
0:Int16 |
|
“Integer32” |
4 |
0:Int32 |
|
“Integer64” |
8 |
0:Int64 |
|
“Unsigned8” |
1 |
0:Byte |
|
“Unsigned16” |
2 |
0:UInt16 |
|
“Unsigned32” |
4 |
0:UInt32 |
|
“Unsigned64” |
8 |
0:UInt64 |
|
“Date” |
7 |
0:DateTime |
=BinaryDate |
“VisibleString” |
Specified by “Length” attribute |
0:String |
|
“OctetString” |
Specified by “Length” attribute |
0:ByteString |
|
“Float32” |
4 |
0:Float |
|
“Float64” |
8 |
0:Double |
|
“Unsigned8+Unsigned8” |
2 |
0:Byte |
Value without status byte. Status returned with StatusCode. |
“Float32+Unsigned8” |
5 |
0:Float |
|
“Boolean” |
1 |
0:Boolean |
|
“UnicodeString8” |
Specified by “Length” attribute |
0:NormalizedString |
According to PNO-2.712, Application Layer services, the UnicodeString8 may contain characters from ISO/IEC 10646. |
“61131_STRING” |
Specified by “Length” attribute |
0:ByteString |
|
“61131_WSTRING” |
Specified by “Length” attribute |
0:ByteString |
|
“TimeStamp” |
12 |
GsdGenIoTimeStampDataType |
|
“TimeStampDifference” |
12 |
GsdGenIoTimeStampDataType |
|
“TmeStampDifferenceShort” |
8 |
0:UInt64 |
|
“OctetString2+Unsigned8” |
3 |
0:ByteString
|
Two bytes in hexadecimal notation, plus status in hexadecimal notation. Status returned with StatusCode. |
“Unsigned16_S” |
2 |
0:UInt16 |
Decimal integer in range of 0 to 16383, plus status: ‘B’ = bad, ‘S’ = simulation, ‘U’ = uncertain, ‘G’ = good.Status returned with StatusCode. |
“Integer16_S” |
2 |
0:Int16 |
Decimal integer in range of -8192 to 8191, plus status: ‘B’ = bad, ‘S’ = simulation, ‘U’ = uncertain, ‘G’ = good.Status returned with StatusCode. |
“Unsigned8_S” |
1 |
0:Byte |
Decimal integer in range of 0 to 63, plus status: ‘B’ = bad, ‘S’ = simulation, ‘U’ = uncertain, ‘G’ = good.Status returned with StatusCode. |
“OctetString_S” |
Specified by “Length” attribute |
0:ByteString |
List of values consisting of byte in hexadecimal notation plus status: ‘B’ = bad, ‘S’ = simulation, ‘U’ = uncertain, ‘G’ = good.Status returned with StatusCode. |
“N2” |
2 |
0:Int16 |
Decimal integer in range of -32768 to 32767. Interpreted as: Value / 16384 %. |
“N4” |
4 |
0:Int32 |
Decimal integer in range of -2147483648 to 2147483647.Interpreted as: Value / 1073741824 %. |
“V2” |
2 |
0:Boolean[16] |
Bit string consisting of 16 single bits. |
“L2” |
2 |
0:Boolean[16] |
Bit string consisting of 4 nibbles (range of 0 to 15). A nibble is a four-bit aggregation, or half a byte. |
“R2” |
2 |
0:UInt16 |
Decimal integer in range of 0 to 65535.Interpreted as: 16384 × (Ta / Value).*) |
“T2” |
2 |
0:UInt16 |
Decimal integer in range of 0 to 65535.Interpreted as: Value × Ta. *) |
“T4” |
4 |
0:UInt32 |
Decimal integer in range of 0 to 4294967295.Interpreted as: Value × Ta. *) |
“D2” |
2 |
0:UInt16 |
Decimal integer in range of 0 to 65535.Interpreted as: Value × ( Ta / 16384). *) |
“E2” |
2 |
0:Int16 |
Fixed-point number. Range: -256+2-7 to 256-2-7Resolution: 2-7 (0.0078125). |
“C4” |
4 |
0:Int32 |
Fixed-point number. Range: -214748.3648 to 214748.3647.Resolution: 0.0001. |
“X2” |
2 |
0:Int16 |
Decimal integer in range of -32768 to 32767.Interpreted as: Value / 2X. |
“X4” |
4 |
0:Int32 |
Decimal integer in range of -2147483648 to 2147483647.Interpreted as: Value / 2X. |
“Unipolar2.16” |
2 |
0:UInt32 |
Fixed-point number which expresses a value in percent. Range: 0% to (400-2-14) %. Resolution: 2-14 (0.0061) %. |
*): Constant sampling time Ta.