IOF_GetDeviceIDs
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
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) |