Table 69 shows the mapping for the FdtParameter.
Table 69 – FdtParameter mapping
|
OPC |
FDT |
|||
|
Attribute |
Interface |
Method |
Data member |
Description |
|
NodeClass |
|
|
|
Fixed value: Variable |
|
BrowseName |
IData |
<GetDataInfo> |
Name |
|
|
DisplayName |
IData |
<GetDataInfo> |
Label |
|
|
Description |
IData |
<GetDataInfo> |
Descriptor |
|
|
WriteMask |
|
|
|
Generated by Frame |
|
UserWriteMask |
IData |
<GetDataInfo> |
IsChangeEnabled |
Generated by Frame |
|
Value |
IData |
<Read> / <Write> |
|
|
|
DataType |
IData |
<GetDataInfo> |
DataTypeInfo |
|
|
ValueRank |
IData |
<GetDataInfo> |
DataTypeInfo |
Indicates whether the datatype is an array. |
|
ArrayDimensions |
IData |
<GetDataInfo> |
DataTypeInfo |
If the datatype is an array, then provide dimensions. |
|
AccessLevel |
IData |
<GetDataInfo> |
IsReadable, IsWritable |
Generated by Frame |
|
UserAccessLevel |
IData |
<GetDataInfo> |
IsReadable, IsWritable |
Generated by Frame |
|
MinimumSamplingInterval |
|
|
|
Defined by Frame. |
|
Historizing |
|
|
|
Defined by Frame. |
|
BrowseName |
|
|
|
|
|
2:EURange |
IData |
<GetDataInfo> |
RangeDataRefs |
|
|
2:EngineeringUnits |
IData |
<GetDataInfo> |
UnitDataRef |
|
|
0:HasComponent |
|
|
|
May be used for structured datatypes (StructDataGroup) |
|
2:HasDefinition |
|
|
|
Defined by Frame. |
|
2:ValuePrecision |
|
|
|
Defined by Frame. |
|
DisplayFormat |
IData |
<GetDataInfo> |
DisplayFormat |
|
|
AlarmType |
IData |
<GetDataInfo> |
AlarmType |
|
|
RangeType |
IData |
<GetDataInfo> |
RangeType |
|
|
SubstitutionType |
IData |
<GetDataInfo> |
SubstitutionType |
|
|
ApplicationId |
IData |
<GetDataInfo> |
ApplicationId |
|
|
SemanticInfo |
IData |
<GetDataInfo> |
SemanticInfos |
|
|
DataRef |
IData |
<GetDataInfo> |
DataRefs |
|
|
IOSignalRef |
IData |
<GetDataInfo> |
IOSignalRef |
|
|
AlarmDataRef |
IData |
<GetDataInfo> |
AlarmDataRefs |
|
|
SubstituteDataRef |
IData |
<GetDataInfo> |
SubstituteDataRef |
|
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.