(* list of PLC library internal error codes *)
    eMDP_ErrPLC_NoError     := 16#0000,
    eMDP_ErrPLC_TimeOut     := 16#0001,
    eMDP_ErrPLC_ModuleNotFound     := 16#0002,
    eMDP_ErrPLC_BufferTooSmall     := 16#0003,
    eMDP_ErrPLC_ElementNotFound     := 16#0004


The enumeration E_MDP_ErrCodesPLC defines constant values for the different errors that can be generated internally in the library.
These values appear in the error codes, which are output by a PLC MDP function block in the event of an error.



The error eMDP_ErrPLC_TimeOut is generated if the time period tTimeout applied to the input of the function block has expired.

The length of the processing time can vary depending on the MDP query. Due to the internal processes, the processing time can sometimes exceed the Standard ADS Timeout. This can be remedied by increasing the time period tTimeout applied to the input of the function block.


A list of active modules exists in the MDP. The function blocks in the PLC MDP library search this list for the queried module. If the list does not contain the module, then the error eMDP_ErrPLC_ModuleNotFound is output. This is the case when the particular module/device is not installed on the system or does not even exist.


If a buffer has been specified at the input of the function block by means of pointers, then it is possible that this is not large enough for the existing data. In this case the error eMDP_ErrPLC_BufferTooSmall is output.


The query of a certain element was not successful. The element was not found. The respective module or element may not even be present on the system.


A general description can be found in the MDP Information Model.(IPC Diagnosis)



Development environment

Target platform

PLC libraries to include

TwinCAT v3.1.0

PC or CX (x86, x64, ARM)