EipDataExch: enviar un mensaje explícito
Descripción de bloques de funciones
Este bloque de funciones envía un mensaje explícito.
El tiempo para ejecutar la operación puede configurarse en el gestor de protocolo.
Existe un valor de tiempo de espera para los mensajes conectados y otro para los mensajes no conectados.
Este bloque genérico de funciones puede utilizarse para características no implementadas en la Biblioteca de mensajes explícitos de EtherNet/IP.
Para ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones
Descripción de variables de E/S
En esta tabla se describe la variable de entrada:
Entrada |
Tipo |
Heredado de |
Comentario |
---|---|---|---|
i_xExecute |
BOOL |
BASE |
Valor predeterminado: FALSE. Un flanco ascendente de la entrada Execute inicia el bloque de funciones. El bloque de funciones continúa ejecutándose, y la salida Busy se establece en TRUE. oFALSE: si Enable está establecido en FALSE, las salidas Done, Error o CommandAborted se establecerán en TRUE durante un ciclo. oTRUE: si Enable está establecido en FALSE, las salidas Done, Error o CommandAborted permanecerán establecidas en TRUE. |
i_xAbort |
BOOL |
BASE |
Valor predeterminado: FALSE. oFALSE: la ejecución no se ha interrumpido. oTRUE: la ejecución ha sido interrumpida por otro bloque de funciones. |
i_xMsgType |
BOOL |
- |
oFALSE: UCCM oTRUE: mensaje conectado (clase 3) |
i_adTargetIP |
- |
Dirección IP del destino |
|
i_byService |
BYTE |
- |
Servicio que se ejecutará (consulte el código de servicio arriba) |
i_dwClass |
DWORD |
- |
Clase del destino. Consulte Cómo encontrar información de objetos en la documentación de dispositivos. Debe ser 0xFFFFFFFF si la clase no debe formar parte de la petición |
i_dwInstance |
DWORD |
- |
Instancia del destino. Consulte Cómo encontrar información de objetos en la documentación de dispositivos. Puede ser 0 si el destino es una instancia de clase. Debe ser 0xFFFFFFFF si la instancia no debe formar parte de la petición |
i_dwAttribute |
DWORD |
- |
Atributo del destino. Consulte Cómo encontrar información de objetos en la documentación de dispositivos. Debe ser 0xFFFFFFFF si el atributo no debe formar parte de la petición |
i_dwMember |
DWORD |
- |
Miembro del destino. Consulte Cómo encontrar información de objetos en la documentación de dispositivos. Debe ser 0xFFFFFFFF si el miembro no debe formar parte de la petición |
i_abyRequestTag |
ARRAY OF [0…250] BYTE |
- |
Segmento de símbolo ampliado de destino. Si no se utiliza, i_wTagSize debe ser igual a 0 |
i_wTagSize |
WORD |
- |
Tamaño real de i_abyRequestTag |
i_abyRequestData |
ARRAY OF [0…999] BYTE |
- |
Los datos que deberán enviarse al destino. Si no se utiliza, i_wDataSize debe ser igual a 0 |
i_wDataSize |
WORD |
- |
Tamaño real de i_abyRequestData |
En esta tabla se describe la variable de salida:
Salida |
Tipo |
Heredado de |
Comentario |
---|---|---|---|
q_xDone |
BOOL |
BASE |
Valor predeterminado: FALSE. oFALSE: no se ha iniciado la ejecución o bien se ha detectado un error. oTRUE: la ejecución ha finalizado sin errores detectados. |
q_xBusy |
BOOL |
BASE |
Valor predeterminado: FALSE. oFALSE: el bloque de funciones no se está ejecutando. oTRUE: el bloque de funciones se está ejecutando. |
q_xAborted |
BOOL |
BASE |
Valor predeterminado: FALSE. oFALSE: la ejecución no se ha interrumpido. oTRUE: la ejecución ha sido interrumpida por la entrada Abort. |
q_xError |
BOOL |
BASE |
Valor predeterminado: FALSE. oFALSE: el bloque de funciones se está ejecutando y no se han detectado errores. oTRUE: se ha detectado un error en la ejecución del bloque de funciones. |
q_byCommError |
BASE |
Código de error de comunicación |
|
q_dwOperError |
BASE |
Código de error de funcionamiento |
|
q_abyResponseData |
ARRAY OF [0…999] BYTE |
- |
Datos de respuesta en caso de operación correcta |
q_wDataSize |
WORD |
- |
Tamaño de los datos de respuesta en bytes |
q_abyExtStatus |
ARRAY OF [0…499] BYTE |
- |
Datos de estado ampliados en caso de respuesta de error |
q_wExtStatusSize |
WORD |
- |
Tamaño de los datos de estado ampliados en palabras de 16 bits |
q_wExtStatus |
WORD |
- |
Palabra de estado ampliado |
Este es un ejemplo de llamada de esta función:
MyEipDataExch(
i_xExecute:= Execute,
i_xAbort:= Abort,
q_xDone=> Done,
q_xBusy=> Busy,
q_xAborted=> Aborted,
q_xError=> Err,
q_byCommError=> CommError,
q_dwOperError=> OperError,
i_adTargetIp:= IpAddr,
i_xMsgType:= MsgType,
i_byService:= Service,
i_dwClass:= Class,
i_dwInstance:= Instance,
i_dwAttribute:= Attribute,
i_dwMember:= Member,
i_abyRequestTag:= RequestTag,
i_wTagSize:= TagSize,
i_abyRequestData:= RequestData,
i_wDataSize:= ReqDataSize,
q_abyResponseData=> ResponseData,
q_wDataSize=> ResDataSize,
q_abyExtStatus=> ExtStatusArray,
q_wExtStatusSize=> ExtStatusSize,
q_wExtStatus => ExtStatus);