Boa tarde.
Gostaria de saber se tem como o Arduíno ler as informações do sensores que estão ligado no PLC e transmitir via internet ?
Tags:
Na verdade não é bem isso. Vc vai usar uma saída analógica e três saídas digitais do PLC, . Uma entrada analógica e três entradas digitais do arduino. Tipo assim:
analog_out >------------------------------------------------< analog_in
PLC digital_out1 >------------------------------------------------< digital_in1 ARDUINO
digital_out2 >------------------------------------------------< digital_in2
digital_out3 >------------------------------------------------< digital_in3
O PLC vai manda um valor de cada vez pro arduino, sinalizando nas saidas digitais qual sensor ele ta enviando. E o arduino vai ler um valor de cada vez, guardando em 6 variáveis diferentes. Isso tudo vai acontecer de 0,5 em 0,5 segundos, demorando 3s pra realizar a leitura de todas as variáveis. Entendeu?
O seu plc não tem um bloco 'DAC' que envia um valor pro cartão de saída analógica? O MOV só realiza movimentações de uma memória para a outra não?
Teria como VC fazer um exemplo pra ler um sensor, uma programação completa PLC e Arduíno, aí DPS eu faço o restante
No plc é meio díficil, não conheço as lógicas do Delta como são, mas vc vai ter que bolar um esquema, pro PLC ler um sensor de cada vez, e colocar nas três saídas digitais o número do sensor que ele vai ta lendo. Por ex.:
Passo 1: Sensor1 na saída analógica e nas saídas digitais o valor 000.
Passo 2: Sensor2 na saída analógica e nas saídas digitais o valor 001.
Passo3: Sensor3 na saída analógica e nas saídas digitais o valor 010.
Passo4: Sensor4 na saída analógica, e nas saídas digitais o valor 011.
Passo5: Sensor5 na saída analógica, e nas saídas digitais o valor 100.
Passo6: Sensor6 na saída analógica, e nas saídas digitais o valor 101.
Passo7: voltar para o passo1
No Arduino:
void setup()
{
pinMode(2, INPUT); pinMode(3, INPUT); pinMode(4, INPUT); //digs
pinMode(A0, INPUT); //A0 analog
}
int an1, an2, an3, an4, an5, an6; //variaveis para ler as analogicas
bool di0, di1, di2; //variaiveis par aler as digitais
void loop()
{
e0 = digitalRead(2);
e1 = digitalRead(3);
e2 = digitalRead(4);
if(!e0 and !e1 and !e3) an1 = analogRead(A0); //se di = 000 ler an1
if(!e0 and !e1 and e3) an2 = analogRead(A0); //se di = 001 ler an2
if(!e0 and e1 and !e3) an3 = analogRead(A0); //se di = 010 ler an3
if(!e0 and e1 and e3) an4 = analogRead(A0); //se di = 011 ler an4
if( e0 and !e1 and !e3) an5 = analogRead(A0); //se di = 100 ler an5
if( e0 and !e1 and e3) an6 = analogRead(A0); //se di = 101 ler an6
}
O código é basicamente isso, existem maneiras mais sofisticadas de fazer isso, mas coloquei o mais simplificado possível
Teria como fazer algum comunicação RS485 com IHM e ler os valores do sensor ?
Opa. Da uma olhada nos fóruns gringo de arduino, talvez tenha algo. Você vai ter um servidor local, ou ira enviar diretamente para a nuvem? Qual o seu conhecimento em sistemas? Qual o modelo da IHM da delta? Sds
Então ainda estou projetando devo jogar na nuvem, quero ler dados pelo celular, modelo da IHM e DOP-B10S411
Entendo. Mas ler pelo celular é simples. Só colocar um conversor modbus RTU para TCP e usar um APP com drive modbus, ou você mesmo fazer uma APP. Sds.
VC teria algum exemplo, para fazer a programação no PLC E NO ARDUÍNO, e onde será ligado o cabo de comunicação
Provavelmente sim, se vc quer ir por esse caminho, recomendo baixar o SCADA BR, e comunicar o arduino com ele via Modbus seguindo algum tutorial qualquer na internet (tem milhares). Faça isso para aprender como funciona o Modbus, e como implementar isso no Arduino. Depois que fizer isso, pega o software da sua IHM, se ele tiver um simulador, tenta comunicar o Arduino com o simulador da sua IHM via Modbus. Pra fazer isso vc vai precisar pegar o manual da sua IHM e pesquisar um pouco como implementar o Modbus nela, não deve ser difícil. Comunicando o arduino com software da IHM, ta pronto, é só acrescentar um canal de comunicação a mais na IHM física que vc já tem, e repetir o processo que vc fez com o simulador.
Há sim
Vou ver se consigo primeiro fazer pelo saídas analógica
Nessa caso não se esqueça, se o PLC solta 0-10, vc tem que fazer uma interface e reduzir isso pra 0-5v. o mesmo pras digitais, se o plc solta 24vcc, faça uma interface pra que isso se reduza pra 5v.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2023 Criado por Marcelo Rodrigues.
Ativado por