[Programação Ladder] Leitura de Cartões RFID via RS232

Tutoriais e dúvidas relacionadas aos controladores ZAP, P7C, NEON, RION e módulos de I/O em geral.
Post Reply
User avatar
Samuel.Cappelli
Posts: 6
Joined: Sun Jan 13, 2019 3:21 pm

[Programação Ladder] Leitura de Cartões RFID via RS232

Post by Samuel.Cappelli »

Olá amigos da HI Tecnologia,

Coloquei um leitor de RFID com comunicação RS232 no meu NEON. Tive um pouco de dúvida no modo que eu deveria fazer o cabeamento para conectar no CLP, já que não havia um exemplo específico para o leitor em questão, que contava com 4 fios (12V, GND, TX e RX), mas vendo vários exemplos no site, pude deduzir o modo certo de ligar ao CLP.

Em seguida, reservei uma posição de memória string X0 para receber a informação ASCII do leitor.

Programei o CLP conforme a figura abaixo:
241.png
241.png (5.89 KiB) Viewed 6175 times
Executando o programa e ativando a chave R000, passo a visualizar o dump das variáveis:
1. X0 está limpo enquanto nenhum cartão RFID é passado no leitor.
2. Quando o cartão é passado, a transmissão do texto é feita corretamente para X0.
3. No entanto, a partir do momento que X0 recebeu dados, ela não pode mais ser atualizada. Se eu passar cartoes diferentes na sequencia, X0 não é atualizado, mantendo sempre o valor recebido na primeira leitura. Parece-me que o valor inscrito na string ficou emperrado ali.
4. Uma curiosidade, a chave R000 pode ser ativada e desativada, mas R0001 não muda mais de estado. Para eu poder fazer a leitura de um cartão diferente, preciso reiniciar o programa.

Pergunta: A String X0 não deveria receber um novo valor cada vez que eu passe um cartão diferente? Por que isto pode estar acontecendo?
User avatar
phius
Moderadores
Posts: 57
Joined: Fri Dec 16, 2016 12:08 pm

Re: Leitura de Cartões RFID via RS232

Post by phius »

Olá Samuel,
Coloquei um leitor de RFID com comunicação RS232 no meu NEON. Tive um pouco de dúvida no modo que eu deveria fazer o cabeamento para conectar no CLP, já que não havia um exemplo específico para o leitor em questão, que contava com 4 fios (12V, GND, TX e RX), mas vendo vários exemplos no site, pude deduzir o modo certo de ligar ao CLP.
> O seu cabo deverá ser RX do CLP (pino 2) no TX do leitor, TX do CLP (pino 3) no RX do Leitor, e GND (pino 5) no GND do leitor. Você deverá alimentar "por fora" com uma fonte de 12Vdc o seu leitor, pois a serial do NEON não disponibiliza 12V para alimentação externa.

Pergunta: A String X0 não deveria receber um novo valor cada vez que eu passe um cartão diferente? Por que isto pode estar acontecendo?
> Isto está acontecendo porque você não está "resetando" o Bloco de Leitura SCB. Você utilizou o código do programa de exemplo, correto? Neste exemplo o usuário precisa desativar e ativar manualmente o contato R0 para fazer a uma nova leitura. Isto é necessário porque o bloco SCB funciona quando é detectada uma transição de subida na entrada do bloco e a entrada deve ficar ativa até a saída indicar fim de execução. Para executar novamente, uma nova transição de subida na entrada é necessária.

Uma boa estratégia é você deixar o bloco sempre habilitado e todas as vezes que o CLP receber a string o bloco é "resetado". Veja o código a seguir:
bloco_scb_241.PNG
bloco_scb_241.PNG (5.3 KiB) Viewed 6168 times
User avatar
Samuel.Cappelli
Posts: 6
Joined: Sun Jan 13, 2019 3:21 pm

Re: [Programação Ladder] Leitura de Cartões RFID via RS232

Post by Samuel.Cappelli »

Fabuloso!!! Deu certo!
Muito obrigado!
Post Reply