Olá pessoal,
Tenho um projeto em mãos que tem o objetivo de fazer a comunicação do arduino com um PLC ILC 131 ETh da Phoenix contact.
Como não há muita informação na internet sobre o PLC e formas de integração com o arduino.
O PLC possui blocos diretos de comunicação RS232 ( Init, send, receive)
Procurei bastante aqui nos forums sobre como integrar o módulo de conversão RS232 TTL com o arduino e em muitos posts aparecia "Solucionado" mas na emoção de terem o problema resolvido, os colegas não partilhavam a solução.
O que comumente acontece é se você usar um conversor RS232 - USB vai conseguir mandar comandos para o arduino através do conversor RS232 TLL, mas se voce for usar uma ficha DB9 externa, seja para retirar valores de uma balança, de um sensor ou de um PLC, você vai reparar que depois de ligar, nada funciona!
Pois é!
A solução é simples.
Solucção 1 : O cabo não está cruzado. Portanto use fios diretos. Você vai ligar o pino 2 do leitor ao pino 3 da DB9 do conversor, vai ligar o pino 3 do leitor ao pino 2 da DB9, mas quando chegar a parte de ligar o pino 5 do leitor, não ligue diretamente o pino 5 do leitor no pino 5 da DB9 do conversor, você vai ligar diretamente no GND do arduino....
E pronto!
Agora só vai restar você construir sua propria ficha adaptada
#include <SoftwareSerial.h>
//SoftwareSerial mySerial(4, 7 ); // RX, TX <------<<<< use the pins you want
void setup()
{
Serial.begin(9600);
// mySerial.begin(9600);
}
void loop()
{
//Serial.write("Command:");
while (Serial.available())
{
Serial.println(Serial.readString()); // You can also use: Serial.print((char)mySerial.read());
delayMicroseconds(200);
//Serial.write("Agua");
}
}