IOF_GetDeviceIDs

IOF_GetDeviceIDs 1:

The IOF_GetDeviceIDs function block reads the device IDs of all configured and active IO devices 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 by the TwinCAT system during the configuration and cannot be configured by the user.

VAR_INPUT

VAR_INPUT
    NETID    : T_AmsNetId;
    LEN      : UDINT;
    DESTADDR : PVOID;
    START    : BOOL;
    TMOUT    : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR

NETID: The network address of the TwinCAT computer on which the function is to be executed can be entered here (type: T_AmsNetID). 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 block is activated by a positive edge at this input.

TMOUT: States the length of the timeout that may not be exceeded during execution of the 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 a feedback is received.

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

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

Example:

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

IOF_GetDeviceIDs 2:

Requirements

Development environment

Target platform

IO hardware

PLC libraries to be integrated (category group)

TwinCAT v3.1.0

PC or CX (x86, x64, ARM)

All IO devices

Tc2_IoFunctions (IO)