INÍCIO > Fórum > Programação IEC 61131 (LogicLab) > Leve as temperaturas 3 das sondas 1-Wire
- Este tópico tem 34 respostas, 9 participantes e foi atualizado pela última vez 2 anos, 11 meses atrás da [email protegido].
-
autorPublique
-
Pode 3, 2021 em 8: 01 am #59873[email protegido]participante
Estou tentando executar um programa simples que lê duas sondas de temperatura de 1 fio. Primeiro implementei os exemplos encontrados em FBD e ST, usando OWireCore_v1 e OWRdTemperature. As bibliotecas são as mais recentes atualizadas.
Todos os programas funcionam muito bem no início, mas após algumas horas de operação, eles param acidentalmente de ler os valores de temperatura que permanecem em um valor de 0.0 O bloco OWire falha comigo e o valor SysGetLastError 46728.
O ruim é que mesmo reconhecendo o estado de não funcionamento, não consigo encontrar nada que reinicie tudo e faça com que reinicie corretamente. A única maneira é desligar o PLC um MPS054B. Invariavelmente, eles param de ler o ônibus depois de um tempo.
Eu conectei as duas sondas apenas com as conexões IW e GND, que devem ser suficientes. Será que as pontas de prova ainda precisam de uma fonte de alimentação de 5v? O que posso fazer para entender por que eles ficam presos?
Pode 3, 2021 em 10: 16 am #59878Sergio BertanaAdministrador do fórumEle não retorna o código de erro relatado, os erros têm códigos de 8 dígitos, onde os 5 dígitos mais significativos são o ID do objeto e os três dígitos menos significativos são o número do erro. Você não pode verificar a versão exata do FB OWireCore_v1 (Veja imagem de tela).
Para reinicializar o controlador One-Wire do módulo de CPU MPS054, a entrada deve ser desabilitada Enable do FB OWireCore_v1 e então reabilitá-lo. Tente ver se ao fazer isso a leitura é reiniciada.
Quanto à fonte de alimentação das sondas, depende do tipo de sonda que você usou, o modelo TR160 não requer energia.
Pode 4, 2021 em 1: 51 pm #59885[email protegido]participanteEntão, eu tive que esperar o problema ocorrer novamente. O código de erro nem voltou para mim, eu tinha usado UINT em vez de UDINT, por isso estava lendo aquele código de erro incompreensível. O correto é 1000820, ou seja Errore sequenza Strong Pullup.
A versão das bibliotecas é a correta, verifiquei. A sonda que uso é a caixa DES-216 com apenas a sonda de temperatura. Desativar e reativar a entrada de ativação do controlador não reinicia as leituras.
Pode 4, 2021 em 3: 24 pm #59893Sergio BertanaAdministrador do fórumErro estranho parece ser problema no ônibus, eu também montei um sistema aqui no laboratório que adquire o mesmo sensor, vamos ver se encontro problema parecido.
Que tipo e comprimento de cabo você tem para conectar as pontas de prova?
Quando o problema ocorrer, você pode tentar desconectar e reconectar as sondas ao sistema sem desligar o sistema e ver se a leitura é reiniciada.
Se não reiniciar, você pode tentar interromper a execução do programa e reiniciá-lo sem desligar o sistema (menu LogicLab On-Line->Halt/Warm restart).
Pode 4, 2021 em 6: 24 pm #59894[email protegido]participanteAlém disso, ainda tenho tudo na bancada, se você disser que parece um problema de hardware do barramento, tento religar tudo. Os cabos ficarão a 50 cm do PLC até a primeira sonda e dela até a segunda, então simplesmente coloquei um cabo de 1mmq.
Eu coloco uma rede UTP e conecto apenas um par e conecto os outros juntos. Eu também já havia tentado desconectar e reconectar, mas quando entra em “travamento” as leituras não reiniciam, mas quando funciona bem, mesmo ao desconectar, nada trava e reinicia com as leituras.
Eu já tinha tentado o início a quente também e, ao fazê-lo, inicia tudo de novo.
Fio com cabo trançado e posso dizer se isso acontecer de novo.
Pode 4, 2021 em 6: 27 pm #59896Sergio BertanaAdministrador do fórumComo a fiação é muito curta, acho que não dá problemas mesmo usando dois cabos separados, mas se eu pudesse testar conectando uma única sonda de temperatura, faríamos as mesmas condições de teste que estou realizando aqui no laboratório.
Para que possamos comparar os resultados, meu sistema está funcionando há mais de 6 horas sem problemas, mas ver amanhã de manhã ...
Pode 7, 2021 em 8: 36 am #59898[email protegido]participanteResultado do teste, tenho duas sondas 1 e 2 para esclarecer. Ontem à noite liguei apenas 1 e até esta manhã tudo funcionou, a esta altura liguei 2 e desliguei 1 e agora ao meio-dia reapareceu.
Sem tocar em nada, tentei reconectar 1, mas o sistema permanece bloqueado e não lê nenhum dos dois. Deixei os mesmos cabos de ligação para não mudar duas coisas ao mesmo tempo, o erro que sai é sempre 1000820.
Agora tenho que tirar da mesa porque tenho que montar a imagem, quando reconectar tudo farei com os cabos cruzados e tento de novo. Se nesse ínterim outros testes vierem à mente, nós os faremos assim que tudo estiver remontado.
Pode 7, 2021 em 8: 42 am #59905Sergio BertanaAdministrador do fórumPelo que você escreveu e pelo teste feito por mim no laboratório onde o sistema vem adquirindo temperatura sem problemas por 3 dias, parece que você tem um problema com a sonda que identificou como 2. Esta sonda provavelmente para de funcionar após um pouco o barramento de 1 fio.
Com o sistema operacional atual no SlimLine não é possível "desligar" o barramento de 1 fio, o que é possível agindo no sinal DTR se você usar oAdaptador serial / 1 fio conectado à porta serial e, portanto, a sonda, permanecendo energizada, continua a bloquear o barramento.
Lançamos uma nova versão do sistema operacional Sfw198d050, que permite redefinir o comando Open do FB SysSerialPort para desligar o barramento de 1 fio.
Eu recomendo que você atualize o sistema com o novo sistema operacional e insira um cronômetro que zera o comando em caso de erro Open por um tempo e depois o reabilita.
Pode 12, 2021 em 12: 12 pm #59927[email protegido]participanteFiz como você me disse, baixei o novo FW e instalei. A porta que estou usando é aquela dedicada a 1-Wire que no programa LogicLab eu defino com Sp1.COM:=ADR('PCOM255.0 '); portanto, sem adaptador.
Defino um tempo limite de leitura no FB OWRdTemperature, esperando o sinal Done, e identifico corretamente o caso em que ele vai para mim. Daí em diante fiz o que você disse, defini o comando como FALSE Open do FB SysSerialPort e, de fato, verificar com o testador desliga a fonte de alimentação no barramento (5V) e o reativa no Open:=TRUE. Eu mantenho o sinal baixo por 4 seg.
Se eu simular o problema, ou seja, desconectando todas as sondas, o sistema funciona bem, ele atinge o tempo limite, o tempo de reinicialização começa (Open:=FALSE), e quando eu reconecto as sondas, tudo começa novamente.
Por outro lado, quando o problema desaparece por si só não se zera, e o FB serial permanece com a condição de Fault ativo, sem poder reinicializá-lo. A única maneira é sempre desligá-lo e ligá-lo novamente. O próximo teste que faço é resetar os parâmetros seriais durante o RESET, ou seja, fazer o reset como no SysFirstLoop.
Se eu simular o problema desconectando as pontas de prova, claramente o programa entra em um loop tentando redefinir a porta serial e reativá-la. Eu vi com o testador que depois de 7/8 vezes que ele desliga e liga o ônibus novamente, ele não liga novamente, no sentido de que fisicamente os 5vs não sobem mais, e o FB serial aumenta a falha = TRUE e daí não sai até que o PLC seja completamente resetado.
Pode 12, 2021 em 12: 21 pm #59933Sergio BertanaAdministrador do fórumVocê já experimentou com o FB SysSerialPort in Fault para redefinir o comando de Abra. Reiniciar aberto e configurá-lo novamente reinicia a porta e o Culpa deve reiniciar.
Se quando você tem uma falha na porta você executa um comando SysLog da conexão Telnet, ou veja a página de Logs da interface da web (Screenshot) você tem o relatório de erro, e isso nos permite entender o que acontece.
Pode 17, 2021 em 10: 15 am #59961[email protegido]participanteSim, tentei, quando está com falha, coloco OPEN: = FALSE do FB SysSerialPort, mas a falha não é resetada. Este é o log que você me disse ...
12/05/2021, 14:56:28.155 [SFW198][6400] No resources:PCOM255.0
12/05/2021, 14:56:28.155 [SFR050][1000] Fct:eSetSerialMode
12/05/2021, 14:56:38.877 [SFW198][6000] User program error:9992010A essa altura não acho que dependa das sondas, pois quando desligo o serial o barramento também desliga e portanto as leituras devem reiniciar. Parece ser um problema serial de 1 fio.
Lembro que usei o dedicado e não um RS232 com adaptador. Usei apenas dois fios e nenhuma fonte de alimentação para as sondas, apenas o que vem do barramento. Tudo funciona perfeitamente por algumas horas e, em seguida, ele trava e não consigo reiniciar de forma alguma.
Neste ponto, não sei mais o que fazer.
Pode 17, 2021 em 10: 23 am #59968Sergio BertanaAdministrador do fórumO problema de ativação / desativação do comando Open do FB SysSerialPort nós consertamos com a nova versão do firmware Pck051a040 que iremos lançar hoje. Para ser claro, foi o problema que causou o erro No resources:PCOM255.0.
Para um BUG, fechar e reabrir a porta saturou os recursos disponíveis. Na prática, entretanto, nunca aconteceu de ter que fechar e reabrir o recurso usando dispositivos 1-Wire.
Então, definitivamente resolvemos um BUG latente, mas ele nunca apareceu porque ninguém nunca teve essa necessidade. Dada a sua situação, acredito que uma de suas sondas entra em alguma situação de bloqueio de ônibus. E a única maneira de reiniciá-lo é desligá-lo fechando / reabrindo a porta.
Pode 17, 2021 em 2: 25 pm #59969[email protegido]participanteSim, eu tinha visto que quando você fecha e reabre aquela porta depois de fazer isso 6/7 vezes, a barra MAlloc no monitor da web ultrapassou 90%. A partir daí, a porta falha e nunca mais sai. Assim que a nova versão do FW está disponível, eu faço o download e tento.
Só que nestes dias eu testei por muito tempo tanto com uma sonda quanto com a outra e em qualquer caso o bloqueio de barramento ocorre com ambas. Se fosse um problema de sondas neste ponto, eu acredito, desligando a porta (como agora eu já faço e verifico com o testador se a tensão do barramento vai para zero) ou desconectando fisicamente as sondas e reconectando, deveria começar lendo novamente. Mas este não é o caso.
Vamos ver com o novo FW se resolve. Vamos torcer.
Pode 17, 2021 em 2: 43 pm #59971Sergio BertanaAdministrador do fórumA nova versão do firmware está disponível na área de download.
O seu problema é muito estranho, é a primeira vez que isso nos acontece, temos clientes que usam de 5 a 10 sondas conectadas em paralelo em aplicações de automação residencial e nunca tive feedback de não funcionamento, tanto que agradeço ao seu relatório descobrimos BUGs latentes que nunca haviam sido revelados.
Se você pode se confortar com o sistema que testei com a aquisição de uma sonda DES-216, ele está funcionando continuamente há 13 dias. Se você ainda tiver problemas, tente enviar seu programa para o nosso suporte e faremos uma verificação.
Pode 19, 2021 em 8: 42 am #59976[email protegido]participanteSim, na verdade imagino que sejam normalmente usados sem problemas, então os blocos de funções que estão nas bibliotecas são simples de configurar, e de fato funcionam bem até que ... o azar intervém no meu caso.
O mesmo azar que ao baixar o FW PCK051A040 me remete à página 404 não encontrada. O outro FW os baixa para mim sem problemas. Não aquele. Uma bênção é urgente para mim.
-
autorPublique
- Você deve estar logado para responder a este tópico.