•
STOPBITS del tipo BYTE, la cual permite la elección entre 1 o 2 bits de parada (1 – 1 bit de
parada y 2 – 2 bits de parada).
•
DELAY del tipo TIME define el intervalo de tiempo mínimo entre el recibimiento y un
nuevo envío. Esta entrada puede variar entre 5 ms (T#5ms) y 1 s (T#1000ms).
La entrada TIME_OUT también del tipo TIME establece el intervalo de tiempo máximo entre el fin
del envío y el recibimiento. Esta entrada puede variar entre 100 ms (T#100ms) y 10 s (T#10000ms).
La entrada BUFFER_WR del tipo POINTER TO BYTE define la dirección de memoria del buffer
de escrita. Para tal se debe utilizar la función ADR del MasterTool IEC.
La entrada QUANTIDADE_WR del tipo WORD define el número de bytes a enviar, pudiendo
variar de 1 hasta 256.
La entrada BUFFER_RD del tipo POINTER TO BYTE indica la dirección de memoria del buffer
de lectura. Para tal se debe utilizar la función ADR del MasterTool IEC.
La entrada QUANTIDADE_RD del tipo WORD define el número de bytes a recibirse y copiar para
el BUFFER, pudiendo variar de 1 hasta 256.
La variable RESET del tipo BOOL actúa tanto como parámetro de entrada como de salida
(VAR_IN_OUT). Pone a cero las máquinas de estado y limpia los BUFFERS de datos internos.
Descripción de las Salidas
Las salidas se activan según el comportamiento descrito en la sección de funcionamiento a seguir.
Permanecen en sus estados por un periodo de un ciclo, siendo limpiadas en el próximo.
Funcionamiento
Al llamar el bloque funcional, el mismo verificará si el canal no se está usando en otra instancia.
Caso no esté en uso, el próximo paso a realizarse es la verificación de la configuración. Si alguno de
los parámetros de la estructura sPORTA ha sido alterado en relación a la última configuración, el
canal se reconfigura. Al ocurrir algún problema en esa etapa, la salida ERRO se activa y la ejecución
de la instancia se finaliza. Al haber éxito en la apertura de la puerta, la instancia señaliza que se está
utilizando la puerta serial.
Enseguida, los datos están prontos para el envío y el proceso se inicia. Si ocurre una falla en la
inicialización del envío, nuevamente se señaliza a través de la salida ERRO y la instancia se termina
liberando el canal de comunicación. En el caso de éxito, la instancia libera el procesamiento, pues no
traba el aplicativo aguardando la conclusión del envío. Es necesario procesar la función con un
POLLING según la necesidad del usuario. Vale recordar que se recomienda que este valor sea
inferior al menor DELAY de los demás dispositivos conectados a la red.
Al concluir el envío, inmediatamente se libera la recepción y su proceso se inicia. Si ocurre una falla
durante la recepción de los datos (FRAMMING, error de paridad, STOPBITS, recibimiento de
respuesta mayor que 256 bytes...), nuevamente se señaliza a través de la salida ERRO y la instancia
se termina, liberando el canal de comunicación.
En el caso de éxito, la instancia libera el procesamiento, pues no traba el aplicativo aguardando el
recibimiento de un FRAME. Nuevamente vale recordar que es necesario procesar la función con un
POLLING. El recibimiento de un paquete se señaliza a través de la salida PRONTO. Juntamente con
esa señalización, la cantidad de bytes leídos y copiados para el buffer del usuario es cuantificado en
la salida QTD_LIDO. Caso aun existan bytes que no hayan sido copiados en el BUFFER de la
UART, dicha cantidad se indica en la salida QTD_REST. La señalización de PRONTO permanecerá
activa hasta que todos los bytes recibidos por la UART sean consumidos por el usuario, es decir, la
cantidad restante debe ser igual a CERO.
75
3. Configuración