FB_MDP_TwinCAT_Read 1:

The function block enables querying of the IPC diagnostics module TwinCAT.


    bExecute  : BOOL;         (* Function block execution is triggered by a rising edge at this input.*)
    tTimeout  : TIME := DEFAULT_ADS_TIMEOUT; (* States the time before the function is cancelled. *)
    iModIdx   : USINT := 0;     (* Index number of chosen MDP module *)
    sAmsNetId : T_AmsNetId;     (* keep empty '' for the local device *)

bExecute: The function block is called by a rising edge on the input bExecute, if the block is not already active.

tTimeout: Specifies a maximum length of time for the execution of the function block.

iModIdx: If several instances of an IPC diagnostics module exist, a selection can be made by means of the input iModIdx (0,...,n).

sAmsNetId: To execute the query on the local device, it is not necessary to specify this input variable. Alternatively, an empty string can be specified. To direct the query to another computer, its AMS Net Id (of type T_AmsNetId) can be specified here.


    bBusy      : BOOL;
    bError     : BOOL;
    nErrID     : UDINT;
    iErrPos    : USINT;
    stMDP_ModuleHeader  : ST_MDP_ModuleHeader;
    stMDP_ModuleContent : ST_MDP_TwinCAT;

bBusy: This output is TRUE as long as the function block is active.

bError: Becomes TRUE as soon as an error situation occurs.

nErrID: Returns an error code if the bError output is set.

iErrPos: If an error occurred and this refers to an individual element, then this output indicates the position (subindex of the element) at which an error first occurred.

stMDP_ModuleHeader: At this output the header information for the read IPC diagnostics modules is displayed in the form of the structure ST_MDP_ModuleHeader.

stMDP_ModuleContent: The information from TableID 1 of the read IPC diagnostics module is displayed at this output in the form of the structure ST_MDP_TwinCAT.


Development environment

Target platform

PLC libraries to include

TwinCAT v3.1.0

PC or CX (x86, x64, ARM)