Makers Blog

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

w-sommer 11 October 2021 min. read
1,362 views 0 comments

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

 Download the library: https://github.com/WaldemarSommer22/MessageManagement-iec61131-plcnext.git

Note:

The Makers Blog shows applications and user stories of community members that are not tested or reviewed by Phoenix Contact.

Discussion

Please login/register to comment
Login/Register
Newsletter
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