Skip to main content

IRMPService

Methods and properties of the interface IRMPService.

Method: IsMessageSent

METHOD IsMessageSent : BOOL
VAR_INPUT
    uiHandle: UINT;
END_VAR

This method checks if a message that has been queued with QueueSendMessage has been sent and acknowledged. uiHandle is the handle returned by QueueSendMessage. For this check the use of the function block RMPSendMessage is recommended, because it provides a standardized command interface.

Method: QueueSendMessage

METHOD QueueSendMessage : UINT
VAR_INPUT
    udiSenderID: UDINT;
    udiReceiverID: UDINT;
    tValidity: TIME;
    pmdData: POINTER TO ARRAY[0..63] OF BYTE;
END_VAR

This method adds a message to send into the send queue and returns a handle. This handle can be used to check if the transmission was successful.

A return value of 16#FFFF indicates that the buffer is full and the message was not transmitted. A return value of 16#FFFE indicates that the receiver module is in the same application and that the transmission was successful.

To add a message to the send queue the use of the function block RMPSendMessage is recommended, because it provides a standardized command interface.

Method: Receive

METHOD Receive : UDINT
VAR_INPUT
    uiReceiverModuleID: UINT;
    pmd: POINTER TO ARRAY[0..63] OF BYTE;
END_VAR

This method is called by each module that is able to receive a message. It takes the oldest received message for uiReceiverID and acknowledges it. If a message is not available, then 16#FFFFFFFF is returned. It returns 16#FFFFFFFE if there is at least one message waiting for the receiver, if the oldest message is currently locked by a different task. In all other cases, the communication address of the sender is returned.

Property: LocalAppID

PROPERTY LocalAppID : UINT (get)

This property describes the address of the local application. (The high-word of the communication ID of module instances of this application.)