7 OPC UA ObjectTypes ToC Previous Next

7.1 IOLinkDeviceType ObjectType Definition ToC Previous Next

7.1.4 Methods of MethodSet ToC Previous Next

In Table 16, the Methods of the ObjectType, referenced via the MethodSet Object are defined. The first three Methods provide access rather on the protocol level and require the user calling the Methods to understand those protocol-level data transfers. The other Methods are specific IO-Link system commands mapped to OPC UA Methods.

Table 16 – MethodSet of IOLinkDeviceType

References Node Class BrowseName Modelling Rule
The following Methods are also referenced by the General Object      
HasComponent Method ReadISDU Mandatory
HasComponent Method WriteISDU Mandatory
HasComponent Method SystemCommand Mandatory
HasComponent Method ParamUploadFromDeviceStart Mandatory
HasComponent Method ParamUploadFromDeviceStop Mandatory
HasComponent Method ParamDownloadToDeviceStart Mandatory
HasComponent Method ParamDownloadToDeviceStop Mandatory
HasComponent Method ParamDownloadToDeviceStore Mandatory
HasComponent Method ParamBreak Mandatory
HasComponent Method DeviceReset Mandatory
HasComponent Method ApplicationReset Mandatory
HasComponent Method RestoreFactorySettings Mandatory

7.1.4.1 ReadISDU ToC

The Method ReadISDU reads parameters from the device using the ISDU mechanism.

Signature

ReadISDU (
[in]	UInt16		Index,
[in]	Byte			SubIndex,
[out]	Byte[]		Result,
[out]	UInt16		ErrorType,
[out]	Int32			Status
);

Argument Description
Index Index, 8-bit index and 16-bit index are both mapped to UInt16
SubIndex SubIndex, set to 0 if not used
Result Hex Values returned as data in case of a successful operation. Data needs to be interpreted according to the IO-Link Specification. Empty array if operation was not successful.
ErrorType Hex Values converted to UInt16 returned as ErrorType in case the operation was not successful. Data needs to be interpreted according to the IO-Link Specification. 0 if the operation was successful.
Status Returns the status of the operation.
   0: OK, operation successful
-1: Operation already running, either by same or different ISDU read or write
-2: Device not active, either device not connected, not in operation mode or port is configured not to be in IO-Link mode
-3: Operation executed but error code returned from device, details are provided in ErrorType

7.1.4.2 WriteISDU ToC

The Method WriteISDU writes parameters on the device using the ISDU mechanism.

Signature

WriteISDU (
[in]	UInt16		Index,
[in]	Byte			SubIndex,
[in]	Byte[]		Data,
[out]	UInt16		ErrorType,
[out]	Int32			Status
);

Argument Description
Index Index, 8-bit index and 16-bit index are both mapped to UInt16
SubIndex SubIndex, set to 0 if not used
Data Hex Values that need to be composed according to the IO-Link Specification
ErrorType Hex Values converted to UInt16 returned as ErrorType in case the operation was not successful. Data needs to be interpreted according to the IO-Link Specification. 0 if the operation was successful.
Status Returns the status of the operation.
   0: OK, operation successful
-1: Operation already running, either by same or different ISDU read or write
-2: Device not active, either device not connected, not in operation mode or port is configured not to be in IO-Link mode
-3: Operation executed but error code returned from device, details are provided in ErrorType

7.1.4.3 SystemCommand ToC

The method SystemCommand executes an IO-Link SystemCommand as defined in IO-Link Specification.

IO-Link SystemCommands shall be executed by an ISDU write request on Index 0x0002, or, in case ISDUs are not supported, via a write on Index 0x0F on Direct Parameter Page 1.

Signature

SystemCommand (
[in]	Byte				Cmd,
[out]	UInt16			ErrorType,
[out]	Int32				Status
);

Argument Description
Cmd Index of the SystemCommand
ErrorType Hex Values converted to UInt16 returned as ErrorType in case the operation was not successful. Data needs to be interpreted according to the IO-Link Specification. 0 if the operation was successful.
Note that in case the device supports no ISDUs and the SystemCommand is triggered via writing Parameter Page 1, no indication of a positive or negative response is provided and the ErrorType is always 0.
Note that the SystemCommand is optional. In case the IO-Link Device does not support it, the ErrorType returned by the IO-Link Device shall be returned.
Status Returns the status of the operation.
   0: OK, operation successful
-1: Operation already running, either by same or different ISDU read or write
-2: Device not active, either device not connected, not in operation mode or port is configured not to be in IO-Link mode
-3: Operation executed but error code returned from device, details are provided in ErrorType

7.1.4.4 ParamUploadFromDeviceStart ToC

This method executes the SystemCommand 0x01.

Signature

ParamUploadFromDeviceStart (
[out]	UInt16			ErrorType,
[out]	Int32				Status
);

Argument Description
ErrorType Hex Values converted to UInt16 returned as ErrorType in case the operation was not successful. Data needs to be interpreted according to the IO-Link Specification. 0 if the operation was successful.
Note that in case the device supports no ISDUs and the SystemCommand is triggered via writing Parameter Page 1, no indication of a positive or negative response is provided and the ErrorType is always a 0.
Status Returns the status of the operation.
   0: OK, operation successful
-1: Operation already running, either by same or different ISDU read or write
-2: Device not active, either device not connected, not in operation mode or port is configured not to be in IO-Link mode
-3: Operation executed but error code returned from device, details are provided in ErrorType

7.1.4.5 ParamUploadFromDeviceStop ToC

This method executes the SystemCommand 0x02. The same argument description as for ParamUploadFromDeviceStart (see 7.1.4.4) applies.

Signature

ParamUploadFromDeviceStop (
[out]	UInt16			ErrorType,
[out]	Int32				Status
);

7.1.4.6 ParamDownloadToDeviceStart ToC

This method executes the SystemCommand 0x03. The same argument description as for ParamUploadFromDeviceStart (see 7.1.4.4) applies.

Signature

ParamDownloadToDeviceStart (
[out]	UInt16			ErrorType,
[out]	Int32				Status
);

7.1.4.7 ParamDownloadToDeviceStop ToC

This method executes the SystemCommand 0x04. The same argument description as for ParamUploadFromDeviceStart (see 7.1.4.4) applies.

Signature

ParamDownloadToDeviceStop (
[out]	UInt16			ErrorType,
[out]	Int32				Status
);

7.1.4.8 ParamDownloadToDeviceStore ToC

This method executes the SystemCommand 0x05. The same argument description as for ParamUploadFromDeviceStart (see 7.1.4.4) applies.

Signature

ParamDownloadToDeviceStore (
[out]	UInt16			ErrorType,
[out]	Int32				Status
);

7.1.4.9 ParamBreak ToC

This method executes the SystemCommand 0x06. The same argument description as for ParamUploadFromDeviceStart (see 7.1.4.4) applies.

Signature

ParamBreak (
[out]	UInt16			ErrorType,
[out]	Int32				Status
);

7.1.4.10 DeviceReset ToC

This method executes the SystemCommand 0x80. The same argument description as for ParamUploadFromDeviceStart (see 7.1.4.4) applies.

Signature

DeviceReset (
[out]	UInt16			ErrorType,
[out]	Int32				Status
);

7.1.4.11 ApplicationReset ToC

This method executes the SystemCommand 0x81. The same argument description as for ParamUploadFromDeviceStart (see 7.1.4.4) applies.

Signature

ApplicationReset (
[out]	UInt16			ErrorType,
[out]	Int32				Status
);

7.1.4.12 RestoreFactorySettings ToC

This method executes the SystemCommand 0x82. The same argument description as for ParamUploadFromDeviceStart (see 7.1.4.4) applies.

Signature

RestoreFactorySettings (
[out]	UInt16			ErrorType,
[out]	Int32				Status
);

Previous Next