Store PLCnext CommunityPLCnext on LinkedInPLCnext on Instagram  PLCnext on YouTube Github PLCnext CommunityStore PLCnext Community

 

 How to create a Blog Entry

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

 

Introduction

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

PBCL_FileCsvRead(
    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

CXMM_SendMessage_11(
    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