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