Skip to main content

Comunicação RS485

Visão Geral

Em uma interface serial, os bits de dados são enviados sequencialmente através de um canal de comunicação ou barramento. Diversas tecnologias utilizam comunicação serial para transferência de dados, incluindo as interfaces RS485.

Configuração

Alguns parâmetros precisam ser configurados para realizar a comunicação RS485, para isso, verifique o item RS485.

Existem 3 modos de operação da comunicação RS485:

  • Modo 0: Escravo Modbus;
  • Modo 1: Mestre Modbus;
  • Modo 4: Telegramas genéricos.

NOTA! Os modos 2 e 3 são reservados.

Modo 0: Escravo Modbus

Verificar manual PLC300 - Comunicação Modbus RTU, disponível em http://www.weg.net/br.

Modo 1: Mestre Modbus

Verificar manual PLC300 - Comunicação Modbus RTU, disponível em http://www.weg.net/br.

Modo 4: Telegramas genéricos

Funcionalidade desenvolvida para envio e recepção de telegramas através da comunicação RS485.

Variáveis envolvidas:

  • RS485_MODE: Marcador do tipo BYTE; define o modo de funcionamento da RS485:
    • 4: Telegramas via RS485.
  • RS485_TIMEOUT: marcador tipo WORD; indica o tempo máximo (em ms) de espera de uma resposta.
  • RS485_TIMEOUT_INDICATOR: marcador tipo BIT; indica se houve estouro de tempo.
    • 0: não ocorreu estouro;
    • 1: ocorreu estouro de tempo.
  • RS485_ENABLE_END_CHARACTER: marcador tipo BIT; caractere de fim de transmissão;
    • 0: desabilitado;
    • 1: habilitado.
  • RS485_END_CHARACTER: define o caractere que pode terminar um bloco, por exemplo, ETX (03H). RS485_ENABLE_END_CHARACTER deve estar habilitado. Nesse caso, tanto timeout (RS485_TIMEOUT) quanto o caractere de final terminam a recepção do telegrama, o que ocorrer primeiro.
  • RS485_START_TX: marcador tipo BIT; deve ser colocado em TRUE para enviar o telegrama;
  • RS485_TX_ADDRESS: marcador tipo WORD; indica o endereço inicial dos dados a serem transferidos;
  • RS485_TX_LENGTH: marcador do tipo BYTE; indica o número de bytes da informação a ser enviada;
  • RS485_TX_TELEGRAM_COUNTER: marcador tipo WORD; conta o número de telegramas enviados;
  • RS485_RX_ADDRESS: marcador tipo WORD; indica o endereço inicial dos dados recebidos;
  • RS232_MAX_RX_BUFFER_LENGTH: marcador do tipo BYTE; indica o número máximo de bytes que pode ser recebido;
  • RS485_RX_TELEGRAM_FINISHED: marcador tipo BIT; indica que um pacote de dados está disponível na memória, a partir do endereço indicado em RS485_RX_ADDRESS.
  • RS485_TX_FINISHED (status): marcador tipo BIT; indica que um pacote de dados foi enviado completamente.
  • RS485_RX_TELEGRAM_COUNTER: marcador tipo WORD; conta o número de telegramas recebidos;
  • RS485_RX_BYTE_COUNTER: marcador tipo WORD; conta o número de bytes que foram recebidos.

Como utilizar a RS485 para envio e recepção de telegramas:

  1. Selecionar "envio e recepção de telegramas via RS485" fazendo RS485_MODE = 4 no Ladder;
  2. Configurar o endereço inicial dos telegramas a serem enviados e recebidos em, respectivamente, RS485_TX_ADDRESS e RS485_RX_ADDRESS;
  3. Especificar o tamanho (em bytes) do telegrama a ser enviado, através do marcador RS485_TX_LENGTH;
  4. Especificar o tamanho máximo (em bytes) do telegrama que pode ser recebido através do marcador RS485_RX_LENGTH;
  5. Especificar o timeout em RS485_TIMEOUT;
  6. Se for o caso, configurar os caracteres de finalização de telegramas através, respectivamente, dos marcadores: RS485_ENABLE_END_CHARACTER e RS485_END_CHARACTER;
  7. Resetar o flag RS485_RX_TELEGRAM_FINISHED para ficar pronto para receber um telegrama;
  8. Dar um pulso em RS485_START_TX para enviar um telegrama.

NOTA! Será considerado fim de recepção de telegrama, o recebimento do caractere especial, se configurado em RS485_END_CHARACTER, com o flag RS485_ENABLE_END_CHARACTER habilitado, ou um timeout igual a duas vezes o tempo de transmissão de um byte.

Compatibilidade

EquipamentoVersão
PLC300Modo 0: 1.00 ou superior
PLC300Modo 2: 1.11 ou superior
PLC300Modo 4: 1.50 ou superior