Resumen
En una Interfaz serial, los bits de datos son enviados secuencialmente a través de un canal de comunicación o de barraje. Diversas tecnologías utilizan comunicación serial para transferencia de datos, incluyendo las interfaces RS232.
Configuración
Algunos parámetros precisan ser configurados para realizar la comunicación RS232, para eso, verifique el ítem RS232.
Existen 3 modos de operación de la comunicación RS232.
| • | Modo 0: Esclavo Modbus; |
| • | Modo 2: Protocolo ASCII; |
| • | Modo 4: Telegramas genéricos. |
|
¡NOTA! Los modos 1 y 3 son reservados. |
Modo 0: Esclavo Modbus
Verificar manual PLC300 - comunicación Modbus RTU, disponible en http://www.weg.net/br.
Modo 2: Protocolo ASCII
El protocolo ASCII, vía RS232, fue desarrollado para lectura de códigos de barras.
Variables implicadas:
| • | RS232_MODE: marcador de sistema tipo BYTE que define el modo de funcionamiento de la RS232: |
| o | 2: protocolo ASCII; |
| • | RS232_RX_CLEAR: marcador tipo BIT; limpia el buffer de datos (RS232_ASCII_BYTEBUFFER) y el flag RS232_RX_FINISHED; |
| • | RS232_RX_FINISHED: marcador tipo BIT; indica que un paquete de datos está disponible en el buffer RS232_ASCII_BYTEBUFFER; |
| • | RS232_ASCII_BYTEBUFFER: buffer de 256 bytes que almacena los caracteres recibidos; |
| • | RS232_ASCII_STRING: buffer tipo STRING que puede ser mostrado en la pantalla del PLC300 por el componente ‘Text Output’. |
Cómo utilizar la RS232 en modo ASCII:
| • | Seleccionar el protocolo ASCII, y a continuación: RS232_MODE = 2, en el ladder; |
| • | Dar un pulso en el marcador RS232_RX_CLEAR, para limpiar el buffer RS232_ASCII_BYTEBUFFER, y el flag RS232_RX_FINISHED; |
| • | Al recibir un paquete, el flag: RS232_RX_FINISHED pasa a TRUE; |
| • | Los datos están disponibles para el ladder a través del array: RS232_ASCII_BYTEBUFFER, de 256 bytes; |
| • | Para utilizar con la función ‘Text Output’, de la IHM, utilizar el marcador tipo STRING, RS232_ASCII_STRING. |
Observaciones:
| • | Incluso sin accionar RS232_RX_CLEAR, el sistema puede recibir otra lectura, colocando los datos por encima de la lectura anterior; |
| • | La finalización del paquete es realizada cuando recibe los caracteres CR/LF (0x0d/0x0a); |
| • | Los caracteres CR/LF no son almacenados en el buffer; |
| • | El buffer es terminado con carácter NULL (0x00); |
La configuración de la RS232 debe ser hecha por la configuración normal del PLC300
En las pantallas fue añadido el componente 'Text Output' que acepta solamente el tipo STRING, para mostrar RS232_ASCII_STRING, que es la string que muestra el valor leído por el protocolo, limitado a 20 caracteres (limitación de la función output = 1 línea).
Modo 4: Telegramas genéricos.
Funcionalidad desarrollada para envío y recepción de telegramas, a través de la comunicación serial RS232.
Variables de comando implicadas:
| • | RS232_MODE: Marcador de tipo BYTE; define el modo de funcionamiento de la RS232: |
| o | 4: telegramas vía RS232. |
| • | RS232_TIMEOUT: marcador tipo WORD; indica el tiempo máximo (en ms) de espera de una respuesta, impidiendo que el nuevo telegrama sea enviado antes de que transcurra ese tiempo. |
| • | RS232_END_CHARACTER: define un carácter que puede terminar un telegrama, por ejemplo, ETX (03H). Al recibir ese carácter, el PLC300 considera que los bytes recibidos hasta el mismo, son los necesarios, los demás serán ignorados. |
| • | RS232_ENABLE_END_CHARACTER: marcador tipo BIT; marcador de sistema que habilita la utilización del carácter de finalización del telegrama especificado en RS232_END_CHARACTER; |
| o | 0: deshabilitado; |
| o | 1: habilitado. |
| • | RS232_START_TX: marcador tipo BIT; el telegrama es enviado en el borde de subida de ese marcador; |
| • | RS232_TX_ADDRESS: marcador tipo WORD; indica la dirección inicial de los datos a ser transferidos; |
| • | RS232_TX_LENGTH: marcador de tipo BYTE; indica el número de bytes de la información a ser enviada; |
| • | RS232_RX_ADDRESS: marcador tipo WORD; indica la dirección inicial de los datos recibidos; |
| • | RS232_MAX_RX_BUFFER_LENGTH: marcador de tipo BYTE; indica el número máximo de bytes que puede ser recibido; |
Variables de status implicadas:
| • | RS232_TX_TELEGRAM_COUNTER: marcador tipo WORD; cuenta el número de telegramas enviados; |
| • | RS232_RX_TELEGRAM_FINISHED: marcador tipo BIT; indica que un paquete de datos está disponible en la memoria, a partir de la dirección indicada en RS232_RX_ADDRESS. |
| • | RS232_TX_FINISHED: marcador tipo BIT; indica que un paquete de datos fue enviado completamente. |
| • | RS232_TIMEOUT_INDICATOR: marcador tipo BIT; indica si transcurrió el tiempo especificado en RS232_TIMEOUT. |
| o | 0: no ocurrió agotamiento; |
| o | 1: ocurrió agotamiento de tiempo. |
| • | RS232_RX_TELEGRAM_COUNTER (status): marcador tipo WORD; cuenta el número de telegramas recibidos; |
| • | RS232_RX_BYTE_COUNTER (status): marcador tipo WORD; cuenta el número de bytes que fueron recibidos. |
Cómo utilizar la RS232 para envío y recepción de telegramas:
| 1. | Seleccionar "envío y recepción de telegramas vía RS232" haciendo RS232_MODE = 4 en el ladder; |
| 2. | Configurar la dirección inicial de los telegramas a ser enviados y recibidos en, respectivamente, RS232_TX_ADDRESS y RS232_RX_ADDRESS; |
| 3. | Especificar el tamaño (en bytes) del telegrama a ser enviado a través del marcador RS232_TX_LENGTH; |
| 4. | Especificar el tamaño máximo (en bytes) del telegrama que puede ser recibido a través del marcador RS232_RX_LENGTH; |
| 5. | Especificar el timeout en RS232_TIMEOUT; |
| 6. | Si fuera el caso, configurar respectivamente los caracteres de finalización de telegramas, a través de los marcadores: RS232_ENABLE END_CHARACTER y RS232_END_CHARACTER; |
| 7. | Resetear el flag RS232_RX_TELEGRAM_FINISHED y así estar pronto para recibir un telegrama; |
| 8. | Dar un pulso en RS232_START_TX para enviar un telegrama. |
|
¡NOTA! Será considerado fin de recepción de telegrama, la recepción del carácter especial, si es configurado en RS232_END_CHARACTER, con el flag RS232_ENABLE_END_CHARACTER habilitado, o un timeout igual a dos veces el tiempo de transmisión de un byte. |
Compatibilidad
Equipo |
Versión |
PLC300 |
Modo 0: 1.00 o superior |
Modo 2: 1.11 o superior |
|
Modo 4: 1.50 o superior |