ADSREADEX
The function block executes an ADS read command to request data from an ADS device. The function block has the same functionality as the ADSREAD function block; in addition it returns the number of actually read data bytes as parameter.
Inputs
VAR_INPUT
NETID : T_AmsNetId;
PORT : T_AmsPort;
IDXGRP : UDINT;
IDXOFFS : UDINT;
LEN : UDINT;
DESTADDR : PVOID;
READ : BOOL;
TMOUT : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR
Name | Type | Description |
---|---|---|
NETID | T_AmsNetId | String containing the AMS network ID of the target device to which the ADS command is addressed (type: T_AmsNetId). |
PORT | T_AmsPort | Port number of the ADS device (type: T_AmsPort) |
IDXGRP | UDINT | Index group number (32-bit, unsigned) of the requested ADS service. This value is to be found in the ADS table of the addressed device. |
IDXOFFS | UDINT | Index offset number (32-bit, unsigned) of the requested ADS service. This value is to be found in the ADS table of the addressed device. |
LEN | UDINT | Number of data to be read in bytes |
DESTADDR | PVOID | Address of the buffer that is to receive the read data. The programmer is responsible for dimensioning the buffer such that it can accommodate LEN bytes. The buffer can be a single variable, an array or a structure, whose address can be found with the ADR operator. |
READ | BOOL | The ADS command is triggered by a rising edge at this input. |
TMOUT | TIME | Indicates the time before the function is canceled. |
Outputs
VAR_OUTPUT
BUSY : BOOL;
ERR : BOOL;
ERRID : UDINT;
COUNT_R : UDINT;
END_VAR
Name | Type | Description |
---|---|---|
BUSY | BOOL | This output remains TRUE until the function block has executed a command, but at the longest for the duration supplied to the Timeout input. While BUSY = TRUE, no new command will be accepted at the inputs. Note that it is not the execution of the service but its acceptance whose time is monitored. |
ERR | BOOL | This output is switched to TRUE as soon as an error occurs during the execution of a command. The command-specific error code is contained in ERRID. If the function block has a timeout error, ERR is TRUE and ERRID is 1861 (hexadecimal 0x745). Is reset to FALSE by the execution of a command at the inputs. |
ERRID | UDINT | ADS error code or command-specific error code of the last executed command. Is reset to 0 by the execution of a command at the inputs. |
COUNT_R | UDINT | Number of successfully read data bytes |
Requirements
Development environment |
Target system type |
PLC libraries to include (Category group) |
---|---|---|
TwinCAT v3.1.0 |
PC or CX (x86, x64, ARM) |
Tc2_System (System) |