IOF_GetDeviceIDs

IOF_GetDeviceIDs 1:

The function block IOF_GetDeviceIDs allows the device IDs of all the configured and active I/O devices to be read into a data buffer. The data buffer can be defined as an array of word variables. When successful, the function block returns the total number of the device IDs that exist in the first data word, while the remaining data words contain the corresponding device IDs of the individual I/O devices. The device IDs are specified during configuration by the TwinCAT System Manager, and can not be configured by the user. Internally to the function block an instance of the ADSREAD function block is called.

VAR_INPUT

VAR_INPUT
    NETID       : T_AmsNetId;
    LEN         : UDINT;
    DESTADDR    : DWORD;
    START       : BOOL;
    TMOUT       : TIME;
END_VAR

NETID: It is possible here to provide the AmsNetId of the TwinCAT computer on which the function to be executed. If it is to be run on the local computer, an empty string can be entered.

LEN: The length in bytes of the data buffer into which the device IDs are to be read.

DESTADDR: Address of the data buffer into which the device IDs are to be read.

START: The function block is activated by a positive edge at this input.

TMOUT: States the length of the timeout that may not be exceeded by execution of the ADS command.

VAR_OUTPUT

VAR_OUTPUT
    BUSY        : BOOL;
    ERR         : BOOL;
    ERRID       : UDINT;
END_VAR

BUSY: When the function block is activated this output is set. It remains set until and acknowledgement is received.

ERR: If an ADS error should occur during the transfer of the command, then this output is set once the BUSY output is reset.

ERRID: Supplies the ADS error number when the ERR output is set.

Example of a call in FBD:

IOF_GetDeviceIds1   : IOF_GetDeviceIDs;
IdsData             : ARRAY[1..201] OF WORD;
StartGetDevIds      : BOOL;
GetDevIds_Busy      : BOOL;
GetDevIds_Err       : BOOL;
GetDevIds_ErrId     : UDINT;

IOF_GetDeviceIDs 2:

Requirements

Development environment

Target system type

IO hardware

PLC libraries to include

TwinCAT v2.7.0

PC (i386)

All IO devices

Standard.Lib; PLCSystem.Lib; TcPLCAds.Lib; TcPlcIoFunctions.Lib

TwinCAT v2.8.0

PC (i386)

All IO devices

TcIoFunctions.Lib

( Standard.Lib; TcBase.Lib; TcSystem.Lib; TcUtilities.Lib are included automatically )