RMPSendMessage
Este bloque de funciones sirve para enviar mensajes a cualquier instancia de módulo. La dirección de la instancia debe ser conocida.
El comportamiento de las variables xExecute
, xDone
, xBusy
, y xError
cumple con las "Directrices para el diseño de bibliotecas". Este documento es parte del CODESYS instalación estándar.
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_VAR
Tenga en cuenta que el trabajo del bloque de funciones finaliza con éxito tan pronto como se confirma la recepción del mensaje en el RMPService del lado opuesto. Esto no significa necesariamente que el mensaje haya llegado a la interfaz del módulo receptor real.
En mdData
, se transferirán los datos a enviar. udiReceiverID
define el ID del receptor.rmp
define la instancia local de RMPService.
La duración hasta que se envíe el mensaje no debe exceder
tValidity
(de lo contrario, se creará un mensaje de error).La duración hasta que el mensaje sea recogido por el receptor del lado opuesto, no debe exceder
tValidity
(de lo contrario, el mensaje será eliminado).
uiErrorID
:El búfer de envío está lleno; se recomienda enviar de nuevo en una fecha posterior.
El mensaje no se eliminará del búfer de envío. Las razones pueden ser una transferencia lenta, una conexión interrumpida o un búfer de recepción lleno en el lado opuesto.
La aplicación a la que se envía el mensaje no está conectada a esta aplicación. En este caso no es posible una transferencia de los datos.