[Programação Ladder] Leitura de Cartões RFID via RS232
Posted: Sun Feb 03, 2019 10:26 pm
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: 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?
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: 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?