FB_MDP_SW_Read_MdpVersion 1:

The function block enables querying of the MDP version. This information can be found in the software module in the configuration area of the IPC diagnostics.

The MDP version is independent of the PLC library version. The constant stLibVersion_Tc2_MDP is used to query the PLC library version.


    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. *)
    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.

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;
    sMdpVersion : STRING(23); (* complete MDP version as string [e.g.: '1, 0, 4, 47'] *)
    iMajorNbr   : UINT;     (* major number [e.g.: 1] *)
    iMinorNbr   : UINT;     (* minor number [e.g.: 4] *)
    iRevNbr     : UINT;     (* revision number [e.g.: 47] *)

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.

sMdpVersion: At this output the queried MDP version is output as a string.

iMajorNbr: The first part of the version number output is iMajorNbr.

iMinorNbr: The second part of the version number output is iMinorNbr.

iRevNbr: The third part of the version number output is iRevNbr.


Development environment

Target platform

PLC libraries to include

TwinCAT v3.1.0

PC or CX (x86, x64, ARM)