O PLC32 está equipado com um borne para comunicação RS485 ou CANBus. Essa saída é especialmente projetada para servir como interface entre a placa e IHM (Interface Homem-Máquina), CLP (Controlador Lógico Programável), inversores de frequência e outros dispositivos que utilizam esses padrões de conexão elétrica.
Neste blog, vamos ver como utilizar a comunicação RS485 no PLC32.
Sumário
1. Visão geral
Por padrão, o PLC32 vem equipado com um MAX485, que permite a utilização da comunicação RS485. O MAX485 está conectado nos pinos do serial 2 do ESP32, pinos 16, 17 e 2. Na figura a seguir, podemos ver a região do PLC32 destinada à comunicação RS485.
Os pinos utilizados para a comunicação estão detalhados na tabela abaixo.
Os terminais do borne estão claramente identificados na serigrafia da placa, quanto a sua função. Porém, na figura a seguir estamos identificando os pinos do conector.
Além disso, a comunicação RS485 é eletricamente isolada do ESP32, pois o PLC32 utiliza um ADUM1201 e outros componentes para isolar a alimentação e a comunicação. Desta forma, o ESP32 está completamente isolado eletricamente do barramento RS485.
2. Como utilizar a comunicação RS485
Para demonstrar o funcionamento da comunicação RS485 do PLC32, vamos programar a placa para receber um dado do monitor serial pela porta USB (serial 0) e enviar o valor recebido pela RS485 (serial 2), e vice-versa. Para receber e enviar os dados pela RS485 no computador, vamos utilizar um ESP32 e um módulo RS485, conforme mostrado na figura a seguir.
A figura a seguir ilustra a topologia utilizada para este exemplo.
No código a seguir, estamos configurando as duas portas seriais do ESP32. Em seguida, monitoramos se algum dado foi recebido em ambas as portas. Se o PLC32 receber alguma informação na Serial 0, o valor será enviado pela Serial 2. Da mesma forma, se receber algo na Serial 2, será enviado pela Serial 0.
#define MAX485_DIR 2
#define SSERIAL_RX_PIN 17
#define SSERIAL_TX_PIN 16
void setup() {
pinMode(MAX485_DIR, OUTPUT);
digitalWrite(MAX485_DIR, LOW);
Serial.begin(9600);
Serial2.begin(9600);
}
void loop() {
while (Serial.available() > 0) {
digitalWrite(MAX485_DIR, HIGH);
delay(10);
Serial2.write(Serial.read());
digitalWrite(MAX485_DIR, LOW);
}
while (Serial2.available() > 0) {
Serial.write(Serial2.read());
}
}
Na figura a seguir, podemos ver os dois monitores abertos. A COM 5 está conectada diretamente à porta USB do PLC32. A COM 3 está conectada ao ESP32 ligado ao RS485.
Agora enviamos a frase “Essa mensagem foi enviada para a porta USB” através do terminal da COM 5. O resultado pode ser visto na figura a seguir.
Perceba que a mensagem foi enviada usando a COM 5 e exibida na COM 3, ou seja, o PLC32 recebeu o dado via USB e o reenviou via RS485. Agora vamos enviar a mensagem “Essa mensagem foi enviada para a RS485” através do terminal da COM 3. O resultado pode ser visto na figura a seguir.
Isso significa que os dados estão trafegando perfeitamente através da porta RS485 do PLC32, pois conseguimos enviar e receber mensagens utilizando esta porta.
Neste blog, vimos como utilizar a porta RS485 do PLC32. Essa interface de comunicação permite que a placa possa trocar informações com diversos tipos de dispositivos industriais, ampliando consideravelmente as aplicações que podem ser realizadas com ela.
Se você deseja ver mais detalhes sobre o PLC32, acessar o seu manual ou adquirir uma unidade, clique neste link.
Autor: Thales Ferreira
Comments