RMPSendMessage
Questo blocco funzione serve per inviare messaggi a qualsiasi istanza del modulo. L'indirizzo dell'istanza deve essere noto.
Il comportamento delle variabili xExecute, xDone, xBusy, E xError è conforme alle “Linee guida per la progettazione delle biblioteche”. Questo documento fa parte del CODESYS installazione 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_VARTenere presente che il lavoro del blocco funzione viene concluso con successo non appena viene confermata la ricezione del messaggio nell'RMPService del lato opposto. Ciò non significa necessariamente che il messaggio abbia raggiunto l'interfaccia effettiva del modulo ricevitore.
In mdData, i dati da inviare verranno trasferiti. udiReceiverID definisce l'ID del destinatario.rmp definisce l'istanza RMPService locale.
La durata fino all'invio del messaggio non deve superare
tValidity(altrimenti verrà creato un messaggio di errore).Il tempo necessario per la ricezione del messaggio da parte del destinatario della parte opposta non deve essere superiore
tValidity(altrimenti il messaggio verrà cancellato).
uiErrorID:Il buffer di invio è pieno; si consiglia di inviare nuovamente in un secondo momento.
Il messaggio non verrà cancellato dal buffer di invio. I motivi possono essere un trasferimento lento, una connessione interrotta o un buffer di ricezione pieno sul lato opposto.
L'applicazione a cui viene inviato il messaggio non è connessa a questa applicazione. In questo caso la trasmissione dei dati non è possibile.