Para poder enviar los datos desde un dispositivo externo, la bandera "recepción completa" debe ser FALSE. (La bandera de "recepción completa" pasa a FALSE después de conmutar a “Modo RUN” o si se envían datos o se ejecuta ClearReceiveBuffer.) Los datos se reciben automáticamente en el buffer de recepción de la CPU o del módulo de comunicación múltiple. Para la CPU, el buffer de recepción se configura en los registros del sistema. Después de verificar el fin de recepción, se pueden copiar los datos en el área destino especificada de la CPU.
Cuando durante el tiempo especificado no se reciben más bytes o lse ejecuta a instrucción ClearReceiveBuffer, la salida IsDone pasa a TRUE. No es posible la recepción de más datos. F159_MTRN o ClearReceiveBuffer pone la bandera "IsDone" a FALSE.
Procedimiento de recepción de datos desde los dispositivos externos:
Configurar los parámetros de comunicación y buffer de recepción
Configuración: modo de comunicación (propósito general), velocidad, formato de comunicación, buffer de recepción (solamente para la CPU)
Recepción de datos
Los datos se reciben automáticamente en el buffer de recepción.Verificar el fin de recepción
Utilizar uno de los siguientes métodos:
Método |
Comentario |
IsReceptionDone |
Devuelve el estado de la bandera de "recepción completa". Está a TRUE si se ha recibido el código de fin de trama. |
IsReceptionDoneByTimeOut |
Se utiliza para verificar el fin de recepción por timeout, por ejemplo, cuando se transmiten datos binarios donde no se espera el código de fin de trama. NOTA MCU: El tiempo de espera de la recepción debe ajustarse en el registro del sistema del puerto de comunicación. |
sys_bIsComPort1ReceptionDone sys_bIsComPort2ReceptionDone sys_bIsToolPortReceptionDone (Solamente para la CPU) |
Estas variables del sistema pasan a TRUE si se recibe el código de fin de trama. |
Banderas de Entrada (X) del módulo MCU X0 y X2 (solamente para la MCU) |
Estas banderas se pueden usar para verificar el fin de recepción en una módulo de comunicación múltiple. |
Evaluación directa del buffer de recepción |
Procesar datos del buffer de recepción
Utilizar una de las siguientes opciones:Instrucción |
Comentario |
ReceiveData |
Copia automáticamente los datos recibidos por la CPU o por el módulo de comunicación múltiple en la variable especificada. |
ReceiveCharacters |
Copia automáticamente los caracteres recibidos por la CPU o por el módulo de comunicación múltiple en la variable String. |
F10_BKMV |
Transfiere datos desde el buffer de recepción al área destino. No es necesario si se utiliza ReceiveData o ReceiveCharacters. |
F161_MRCV |
Copia los datos recibidos por el módulo de comunicación múltiple en el buffer de recepción de la CPU. No es necesario si se utiliza ReceiveData o ReceiveCharacters. |
Preparar la CPU o la MCU para la recepción de los siguientes datos
Utilizar una de las siguientes opciones:
Instrucción |
Comentario |
ClearReceiveBuffer |
El buffer de recepción se resetea automáticamente cuando se envían los siguientes datos. Para resetear el buffer de recepción sin necesidad de enviar datos, utilizar una de estas instrucciones. |
SendData |