EcoStruxure Machine Expert versión 1.1 no soporta los controladores M258, LMC058 y LMC078.

SEND_RECV_MSG: Envío o recepción de mensajes definidos por el usuario

Descripción de la función

El bloque de funciones SEND_RECV_MSG envía y recibe mensajes definidos por el usuario. Envía un mensaje con el medio seleccionado (por ejemplo, una línea serie) y, a continuación, espera una respuesta. También es posible enviar sin esperar una respuesta o bien recibir un mensaje sin enviar uno.

Esta función debe utilizarse con un gestor ASCII. También se puede utilizar con un gestor Modbus si desea enviar una petición que no se ha implementado en la biblioteca de comunicación. En este caso, debe generar una petición usted mismo.

Representación gráfica

G-RU-0010457.2.gif-high.gif

 

 

Descripciones de parámetros específicos de SEND_RECV_MSG

Entrada

Tipo

Comentario

QuantityToSend

UINT

QuantityToSend es el número de bytes a enviar.

Limitación del controlador:

oM258/LMC058: 1050 bytes

oM241/M251: 252 bytes

BufferToSend

POINTER TO BYTE

BufferToSend es la dirección del búfer (matriz de bytes) en la que se almacena el mensaje a enviar. La función estándar ADR debe utilizarse para definir el puntero asociado. Consulte el ejemplo siguiente. Si es 0, la función es de solo recepción.

SizeRecvBuffer

UINT

SizeRecvBuffer es el tamaño disponible (en bytes) del búfer de recepción.

El tamaño de los datos recibidos (en bytes) está disponible en la propiedad interna de la instancia del bloque de funciones (variable interna): <Instance Name>.NbRecvBytes.

Limitación del controlador:

oM258/LMC058: 1050 bytes

oM241/M251: 252 bytes

BufferToRecv

POINTER TO BYTE

BufferToRecv es la dirección del búfer (matriz de SizeRecvBuffer bytes) en la que se almacena el mensaje recibido. La función estándar ADR debe utilizarse para definir el puntero asociado. Consulte el ejemplo siguiente. Si es 0, la función es de solo envío.

Para las operaciones de sólo envío, se considera que el intercambio es completo (Busy restablecido en 0) cuando todos los datos (incluidos los posibles caracteres de inicio y detención) se han enviado a la línea.

Para una operación de envío/recepción o de sólo recepción, el sistema recibe caracteres hasta la condición de fin. Cuando se alcanza la condición de fin, el intercambio finaliza (Busy restablecido en 0). A continuación, los caracteres recibidos se copian en el búfer de recepción hasta sizeRecvBuffer caracteres y el tamaño de los datos recibidos (en bytes) está disponible en la propiedad de la instancia del bloque de funciones (variable interna): <Nombre de instancia>.NbRecvBytes. La entrada sizeRecvBuffer no representa una condición de fin.

Los parámetros de entrada y salida que son comunes para todos los bloques de funciones de bibliotecas PLCCommunication se describen en otras partes del texto.

Las condiciones de inicio y fin de los mensajes definidos por el usuario se configuran en el cuadro de diálogo de configuración del gestor ASCII:

G-SE-0001723.1.gif-high.gif

 

 

NOTA: En este ejemplo no hay caracteres de inicio y fin. La condición de fin de tramas recibidas es un timeout de 250 ms.

Ejemplo

Esta POU permite solo el envío del mensaje definido por el usuario “hello” en la línea serie 1:

G-SE-0002099.1.jpg

 

 

NOTA: Un flanco ascendente en la variable Start inicia la conversión de una dirección y el envío del mensaje.