Configuración del buffer de recepción de la CPU

Para la comunicación en modo propósito general, se debe especificar un buffer de recepción (área de memoria DT). El área máxima es de hasta 16384 palabras.Especificar los siguientes parámetros:

  1. Dirección de inicio

  2. Capacidad del buffer de recepción (número de palabras)

Buffer de recepción

  1.  (1) Dirección de inicio
  2.  (2) Número de bytes recibidos
  3.  (3) Datos recibidos
  4.  (4) Capacidad

Los números en negrita indican el orden de recepción.Los datos de entrada se almacenan en el buffer de recepción. El carácter de inicio de trama y el código de fin de trama no se almacenan en el buffer. El área de almacenamiento para los datos de recepción comienza en la segunda palabra del buffer (offset 1). Offset 0 contiene el número de bytes recibidos. El valor inicial del offset 0 es 0.

  1. Hacer doble clic en PLC en el navegador.
  2. Hacer doble clic en Registros del Sistema
  3. Hacer doble clic en Puertos serie

    Los puertos de comunicación ocupan posiciones de bit diferentes de un mismo registro del sistema, de forma que se puede configurar de forma independiente cada puerto de comunicación.Para realizar la configuración del puerto de programación, seleccionar Registros del Sistema > Puertos serie > TOOL. El número de registros del sistema para las respectivas configuraciones puede variar dependiendo del tipo de PLC.
NOTA

Para utilizar los datos en el buffer de recepción, se debe definir una variable en la lista de variables globales con la misma dirección de inicio y del mismo tamaño que el buffer. Sin embargo, las unidades de expansión FP7 y MCU no tienen una dirección de registro DT correspondiente. Para transferir los datos del buffer de recepción al registro de datos del PLC, usar ReceiveData

Temas relacionados

Procesar los datos en el buffer de recepción y preparar el sistema para recibir los siguientes datos.

Recibir un string de 8 bytes con los caracteres "ABCDEFGH" a través del puerto COM 1. Los caracteres se almacenan en código ASCII HEX sin código de inicio ni fin de trama.

  1.  (1) Bandera de "recepción completa"
  2.  (2) Condición de ejecución
  3.  (3) Comienza la recepción
  4.  (4)  Continua la recepción
  5.  (5) Ejecución de F159_MTRN (n_Number=0)

Buffer de recepción:

Cuando comienza la recepción, el valor de offset 0 es 0. Al final de la recepción, el valor de offset 0 es 8. Los datos de offset 1 a offset 4 se reciben comenzando por el byte de menor peso.

Configuración de los registros del sistema

Para utilizar los datos en el buffer de recepción, se debe definir una variable en la lista de variables globales con la misma dirección de inicio y del mismo tamaño que el buffer. En este ejemplo, la dirección de inicio del buffer de recepción es DT200 (VAR_GLOBAL DT200_awReceivedBuffer) y su capacidad es de 5 (ARRAY [0..4] OF WORD).

Variables Globales

Cabecera de la POU y cuerpo en LD

Cuerpo en ST

Para poder enviar los datos desde un dispositivo externo, la bandera "recepción completa" debe ser FALSE. La bandera de "recepción completa" es evaluada por la variable del sistema sys_bIsComPort1ReceptionDone. Cuando ha finalizado la recepción de los datos (se ha recibido el final de trama), la bandera de "recepción completa" pasa a TRUE, y por lo tanto, no se pueden recibir más datos. Para preparar la recepción de los siguientes datos, se resetea el buffer ejecutando la instrucción F159_MTRN con n_Number = 0.

NOTA
  • El número de bytes recibidos puede cambiar dentro del ciclo de scan. Por ejemplo, si el número de bytes recibidos se lee más de una vez, se pueden dar estados diferentes dentro de un ciclo de scan.
  • El carácter de inicio de trama "STX" resetea el buffer de recepción.

Modificado el: 2024-07-16Comentarios sobre esta páginaLínea directa de Panasonic