The datatype mapping for parameter data is described in Table 70.
Table 70 – Mapping of simple data types
OPC |
FDT |
|
Data type |
Data type |
Description |
Float |
Float |
|
Double |
Double |
|
Byte |
Byte |
|
Int32 |
Int |
|
Int64 |
Long |
|
UInt32 |
UInt |
|
UInt64 |
ULong |
|
DateTime |
DateTime |
|
DateTime |
Date |
Date is represented as date at 0:00 a clock. |
Duration |
Time |
Time is expressed as duration since midnight. |
Duration |
TimeSpan |
Duration is expressed in milliseconds, TimeSpan is expressed in terms of days, hours, minutes. For the conversion of large TimeSpan a loss of precision may occur. |
String |
String |
|
Array of Byte |
BinaryByteArray |
|
Array of Bit |
BinaryBitArray |
|
Enumeration |
Enumerator |
|
Boolean |
Boolean |
|
SByte |
SByte |
|
In OPC UA array datatypes are represented by a combination of the properties datatype, value-rank and array-dimensions (see OPC OPC UA 10000-5, section 5.6.2).
In FDT array datatypes are represented with a dedicated ArrayDatatypeInfo datatype. This datatype has a member ArrayDatatypeInfo.ArrayDimensions, which specifies the length of each dimension of the array.
The mapping for array data types is defined as follows.
- OPC datatype value is mapped according to Table 70.
- OPC value rank is:
- -1 for a simple datatype, or
- Number of fields in FDT ArrayDatatypeInfo.ArrayDimensions (always > 0)
- OPC array-dimensions property is:
- NULL for a simple datatype, or
- has the same value as ArrayDatatypeInfo.ArrayDimensions.
value of 0 means that the array has a variable length,
values > 0 indicate a defined length.