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 usar el bloque de funciones, debe añadir al menos un dispositivo EtherNet/IP en gestor de protocolo. Consulte Añadir un dispositivo.
Para ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.
En esta tabla se describen las variables 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. Se ignora otro flanco ascendente de la entrada Execute mientras se ejecuta el bloque de funciones.
|
i_xAbort |
BOOL |
BASE |
Valor predeterminado: FALSE.
|
i_xMsgType |
BOOL |
- |
|
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 describen las variables de salida:
Salida |
Tipo |
Heredado de |
Comentario |
---|---|---|---|
q_xDone |
BOOL |
BASE |
Valor predeterminado: FALSE.
|
q_xBusy |
BOOL |
BASE |
Valor predeterminado: FALSE.
|
q_xAborted |
BOOL |
BASE |
Valor predeterminado: FALSE.
|
q_xError |
BOOL |
BASE |
Valor predeterminado: FALSE.
|
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);