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.

Representación gráfica

G-SE-0047135.1.gif-high.gif

 

 

Representación IL y ST

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

TCP_ADDRES

-

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

CommunicationErrorCodes

BASE

Código de error de comunicación

q_dwOperError

OperationErrorCodes

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

Ejemplo

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);