RMPSendMessage
Ce bloc fonction sert à envoyer des messages à n'importe quelle instance de module. L'adresse de l'instance doit être connue.
Le comportement des variables xExecute, xDone, xBusy, et xError est conforme aux "Directives pour la conception des bibliothèques". Ce document fait partie du CODESYS installation standard.
FUNCTION_BLOCK : RMPSendMessage
FUNCTION_BLOCK RMPSendMessage EXTENDS CBM.ETRIG
VAR_IN_OUT
    mdData: ARRAY[0..63] OF BYTE;
END_VAR
VAR_INPUT
    itfrmp: IRMPService;
    xExecute: BOOL;
    udiReceiverID: UDINT;
    uiSenderModuleID: UINT;
    tValidity: TIME := t#1s;
END_VAR
VAR_OUTPUT
    xDone: BOOL;
    xBusy: BOOL;
    xError: BOOL;
    uiErrorID: UINT;
END_VARVeuillez noter que la tâche du bloc fonctionnel est terminée avec succès dès que la réception du message dans le RMPService du côté opposé est confirmée. Cela ne signifie pas nécessairement que le message a atteint l'interface réelle du module récepteur.
Dans mdData, les données à envoyer seront transférées. udiReceiverID définit l'ID du récepteur.rmp définit l'instance locale de RMPService.
- La durée jusqu'à l'envoi du message ne doit pas dépasser - tValidity(sinon un message d'erreur sera créé).
- La durée jusqu'à ce que le message soit capté par le récepteur du côté opposé, ne doit pas dépasser - tValidity(sinon le message sera supprimé).
uiErrorID:- Le tampon d'envoi est plein ; il est recommandé de renvoyer ultérieurement. 
- Le message ne sera pas supprimé du tampon d'envoi. Les raisons peuvent être un transfert lent, une connexion interrompue ou un tampon de réception plein du côté opposé. 
- L'application à laquelle le message est envoyé n'est pas connectée à cette application. Dans ce cas, un transfert des données n'est pas possible.