ADSRDWRTINDEX

ADSRDWRTINDEX 1:

The function block registers ADSRDWRT Requests to a PLC task as Indications and allows them to be processed. The queuing of an Indication is reported at the VALID output port by means of a rising edge. The Indication is reported as processed via a positive edge at the CLEAR input. A falling edge releases the function block for the processing of further indications. After an Indication has been processed a response must be sent to the source device via the ADSRDWRTRES function block. The PORT and NETID parameters can be used to address the source device for this purpose. The INVOKEID parameter is used by the source device to assign the responses to the requests and is also sent back to the source device as a parameter.

Compared to the ADSRDWRTIND function block there is the possibility to specify a desired range of the IndexGroup via an additional input.

This way, requests are filtered and only desired areas are responded to.

There are 16 freely selectable ranges available:
0x80000000 - 0x80FFFFFF
0x81000000 - 0x81FFFFFF

0x8E000000 – 0x8EFFFFFF
0x8F000000 – 0x8FFFFFFF

To specify such a range of the index group at an Indication function block, the index group value with which the selected range begins is specified at input MINIDXGRP.
Example: With MINIDXGRP:=16#85000000 all requests are filtered and requests with an index group in the range 0x85000000 - 0x85FFFFFF are registered as Indication.

ADSRDWRTINDEX 2: Inputs

VAR_INPUT
    CLEAR      : BOOL;
    MINIDXGRP  : UDINT;
END_VAR

Name

Type

Description

CLEAR

BOOL

With a rising edge at this input an indication is reported as processed and the outputs of the ADSRDWRTIND function block are reset. A falling edge releases the function block for the processing of further indications.

MINIDXGRP

UDINT

This input allows filtering the requests by IndexGroup ranges. Specification of the IndexGroup value with which the selected range starts.

ADSRDWRTINDEX 3: Outputs

VAR_OUTPUT
    VALID     : BOOL;
    NETID     : T_AmsNetId;
    PORT      : T_AmsPort;
    INVOKEID  : UDINT;
    IDXGRP    : UDINT;
    IDXOFFS   : UDINT;
    RDLENGTH  : UDINT;
    WRTLENGTH : UDINT;
    DATAADDR  : PVOID;
END_VAR

Name

Type

Description

VALID

BOOL

The output is set if an Indication was registered from the function block and remains set until the latter was reported as processed by a positive edge at the CLEAR input.

NETID

T_AmsNetId

String containing the AMS network ID of the source device, from which the ADS command was sent (type: T_AmsNetId).

PORT

T_AmsPort

Contains the port number of the ADS source device, from which the ADS command was sent (type: T_AmsPort).

INVOKEID

UDINT

Handle of the command, which was sent. The InvokeId is specified from the source device and serves to identify the commands.

IDXGRP

UDINT

Index group number (32-bit, unsigned) of the requested ADS service.

IDXOFFS

UDINT

Index offset number (32-bit, unsigned) of the requested ADS service.

RDLENGTH

UDINT

Length of the data to be read in bytes.

WRTLENGTH

UDINT

Length of the written data in bytes.

DATAADDR

PVOID

Address of the data buffer in which the written data is located.

Development environment

Target platform

PLC libraries to include

TwinCAT v3.1.4024.35

PC or CX (x86, x64, ARM)

Tc2_System (system) >= 3.4.26.0