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](mk:@MSITStore:C:DProjekteclipx_PLCPLCnext_iec61131_librariesCXMM_MessageManagementDocumentsCXMM_MessageManagement.chm::/docs/images/CXMM_MessageDisplay.png)
![CXMM MessageDisplay](https://www.plcnext-community.net/images/users/w.sommer/CXMM_MessageManagement/CXMM_MessageDisplay.png)
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](mk:@MSITStore:C:DProjekteclipx_PLCPLCnext_iec61131_librariesCXMM_MessageManagementDocumentsCXMM_MessageManagement.chm::/docs/images/MessageText_csv.png)
![MessageText csv](https://www.plcnext-community.net/images/users/w.sommer/CXMM_MessageManagement/MessageText_csv.png)
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](mk:@MSITStore:C:DProjekteclipx_PLCPLCnext_iec61131_librariesCXMM_MessageManagementDocumentsCXMM_MessageManagement.chm::/docs/images/CXMM_MessageDisplayParameter.png)
![CXMM MessageDisplayParameter](https://www.plcnext-community.net/images/users/w.sommer/CXMM_MessageManagement/CXMM_MessageDisplayParameter.png)
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_MessageDisplay](mk:@MSITStore:C:DProjekteclipx_PLCPLCnext_iec61131_librariesCXMM_MessageManagementDocumentsCXMM_MessageManagement.chm::/docs/images/CXMM_SendInfoDisplay.png)
![CXMM SendInfoDisplay](https://www.plcnext-community.net/images/users/w.sommer/CXMM_MessageManagement/CXMM_SendInfoDisplay.png)
Download the library: https://github.com/WaldemarSommer22/MessageManagement-iec61131-plcnext.git
Leave a Reply
You must be logged in to post a comment.