A DTM instance can offer command functions. These functions do not have a user interface, they can have arguments and optional default values.

Each command function shall be mapped to a method in the MethodSet of the device instance (see Figure 15). The arguments are mapped to the InputArguments and OutputArguments for the methods. Optional arguments shall be included.

image019.png

Figure 15 – Example for source of function information

Table 65 – Method node information mapping

OPC

FDT

Attribute

Interface

Method

Data member

Description

BrowseName

IFunctions

FunctionInfo

FunctionItem.Label

DisplayName

IFunctions

FunctionInfo

FunctionItem.Label

Description

IFunctions

FunctionInfo

FunctionItem.Descriptor

The DTMInfoBuilder can offer information about static functions that are independent of a DTM instance. Such FDT Static Functions may be mapped to methods on the device type created for the DTM. The execution of the method on a device object will need to be mapped to the execution of a static function with a StaticFunctionProvider. The Frame/Server will need to hold the reference to the provider internally and use it for execution of the method (see Figure 16).

image020.png

Figure 16 – Example for source of static function information

Table 66 – Method node information mapping for Static Function

OPC

FDT

Attribute

Interface

Method

Data member

Description

BrowseName

IStaticFunctionInformation

GetStaticFunctions

StaticFunctionDescription.Label

DisplayName

IStaticFunctionInformation

GetStaticFunctions

StaticFunctionDescription.Label

Description

IStaticFunctionInformation

GetStaticFunctions

StaticFunctionDescription.Descriptor

For a DTM instance it is mandatory to provide the interface IOnlineOperation if the device provides online data. This interface is mapped to an object of type FdtTransferServiceType (see 7.8). Since the DTM interface is not mandatory for all devices, the availability of the TransferServices depends on the availability of the DTM interface. The member SupportedTransfer indicates, which TransferServices are supported for the device.

Table 67 – TransferService mapping

OPC

FDT

BrowseName

Interface

Method

Data member

Description

2:TransferToDevice

IOnlineOperation

BeginWriteDataToDevice / EndWriteDataToDevice

-

2:TransferFromDevice

IOnlineOperation

BeginReadDataFromDevice / EndReadDataFromDevice

-

2:FetchTransferResultData

IOnlineOperation

-

-

Retrieves the result / status from the executed methods.

SupportedTransfer

IOnlineOperation

-

SupportedTransfer

The TransferServices Type object (with browse name “Transfer”) is provided as child node of an offline device node (not for an online device node).

For the method FetchTransferResultData the server is allowed to limit the TransferResultData in regard to the list of transferred parameters (parameterDefs) to zero data. The results of the transfer will be represented in the parameter values of the device node.