Makers Blog

Message management library for plc applications using IEC-61131 and eHMI

w.sommer 11 October 2021 min. read
298 views 0 comments


The CXMM_MessageManagement library offers functions to display information-, warning-, error- and other messages from the application program on the hmi. The design lean on the PLCnext WBM notification display.

CXMM MessageDisplay


First steps example

Set the message text to the plc variable udtTextBuffer

It is recommended to store the message text in an csv file and to use the FB PBCL_FileCsvRead from the PLCnextBase library to set the data to the pls variable.

Set text for the sender column

For the sender column set the parameters as follow:
uiSender > 0, wCode = 0, wAddCode = 0

CXMM_udtMessageMgr.udtTextBuffer.arrText[0].uiSender := 12345;
CXMM_udtMessageMgr.udtTextBuffer.arrText[0].wCode    := WORD#16#0;
CXMM_udtMessageMgr.udtTextBuffer.arrText[0].wAddCode := WORD#16#0;
CXMM_udtMessageMgr.udtTextBuffer.arrText[0].strText  := 'My_FB';

Set text for the message column

For the message column set the parameters as follow:
uiSender > 0, wCode > 0, wAddCode > 0

CXMM_udtMessageMgr.udtTextBuffer.arrText[1].uiSender := 12345;
CXMM_udtMessageMgr.udtTextBuffer.arrText[1].wCode    := WORD#16#8001;
CXMM_udtMessageMgr.udtTextBuffer.arrText[1].wAddCode := WORD#16#1001;
CXMM_udtMessageMgr.udtTextBuffer.arrText[1].strText  := 'Not in position';

Example how to use the PBCL_FileCsvRead FB

    uiOffset        := UINT#1, 
    strFileName     := strFileNameFileCsvRead, 
    strDataTypes    := 'UINT;WORD;WORD;STRING' , 
    strDelimiter    := ';', 
    udiRowCnt       => udiRowCntFileCsvRead, 
    anyTable        := CXMM_udtMessageMgr.udtTextBuffer.arrText);

MessageText csv

Instantiate the function block CXMM_MessageManager

CXMM_MessageManager(udtMessageMgr := CXMM_udtMessageMgr);

Instantiate the hmi symbol CXMM_MessageDisplay

Connect it to the CXMM_MessageManager function block.

CXMM MessageDisplayParameter

Instantiate the function block CXMM_SendMessage

    xSend           := xSend, 
    uiSender        := UINT#12345, 
    uiSenderType    := UINT#0, 
    wCode           := WORD#1, 
    wAddCode        := WORD#0, 
    enSeverity      := CXMM_enSeverity#Error, 
    udtMessageMgr   := CXMM_udtMessageMgr);

CXMM_MessageDisplay show the message text

CXMM SendInfoDisplay

 Download the library:


The Makers Blog shows applications and user stories of community members that are not tested or reviewed by Phoenix Contact. Use them at your own risk.


Please login/register to comment


Leave a Reply

Never miss a new article
Sign up for the newsletter
Never miss news about PLCnext Technology
Get interesting content via newsletter four times a year
Receive exclusive information before all other users