Skip to main content

IRMPService

Methoden und Eigenschaften des Interface IRMPService.

Methode: IsMessageSent

METHOD IsMessageSent : BOOL
VAR_INPUT
    uiHandle: UINT;
END_VAR

Diese Methode überprüft, ob eine Meldung, welche mit QueueSendMessage in die Sende-Warteschlange geschrieben wurde, gesendet und quittiert wurde. uiHandle ist der Handle, der von QueueSendMessage zurückgegeben wurde. Für diese Überprüfung sollte der Funktionsbaustein RMPSendMessage verwendet werden, da dieser eine standardisierte Kommandierungsschnittstelle besitzt.

Methode: QueueSendMessage

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

Diese Methode fügt eine Meldung, die gesendet werden soll, in die Sende-Warteschlange und gibt einen Handle zurück. Mit diesem Handle kann überprüft werden, ob die Übertragung erfolgreich war.

Der Rückgabewert 16#FFFF zeigt an, dass der Puffer voll ist und die Meldung nicht übertragen wurde. Der Rückgabewert 16#FFFE zeigt an, dass das Empfangsmodul in der gleichen Applikation ist und die Übertragung erfolgreich war.

Um Meldungen zu der Sende-Warteschlange hinzuzufügen sollte der Funktionsbaustein RMPSendMessage verwendet werden, da dieser eine standardisierte Kommandierungsschnittstelle besitzt.

Methode: Receive

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

Diese Methode kann von jedem Modul, das Meldungen empfangen kann, aufgerufen werden. Für uiReceiverID wird die älteste empfangene Meldung verwendet. Wenn keine Nachricht vorhanden ist, wird 16#FFFFFFFF zurückgegeben. Wenn mindestens eine Nachricht vorhanden ist, die älteste aber durch einen gleichzeitigen Zugriff aus einer anderen Task gesperrt wird, wird 16#FFFFFFFE zurückgegeben. Andernfalls wird die Adresse des Senders zurückgegeben.

Eigenschaft: LocalAppID

PROPERTY LocalAppID : UINT (get)

Diese Eigenschaft beschreibt die Adresse der lokalen Applikation, also die oberen 16-Bit der Kommunikationsadressen aller Modulinstanzen in dieser Applikation.