Thread Content
A estação de tratamento de águas residuais da empresa utiliza um PLC Siemens PLC300 para se comunicar com o sistema de monitoramento DCS. Existe um parâmetro de pressão que varia entre -0,1 MPa e -0,2 MPa. No entanto, a pressão real é de -0,05 MPa. A tela do DCS sempre mostra o valor 0. Ao verificar o programa de configuração do PLC, percebeu-se que o valor medido era multiplicado por 10, resultando em -0,5. Em seguida, esse valor era convertido para um formato de número inteiro, resultando em 0. Por isso, decidiu-se multiplicar o valor medido por 100, obtendo assim o valor -5. Mas, ao ser transmitido para o DCS, o valor mostrado era 65535 Alguém sabe?
65535, parece que esses dados estão ultrapassando o limite. Já que foi feito TRUC, deve ser um inteiro de 16 bits, certo? O que está acontecendo com o DW? Seria melhor enviar uma captura de tela do programa.
Você está transmitindo o valor de 300 para o DCS. Para facilitar a transmissão de valores negativos, utiliza-se -0,1 MPA a -0,2 MPA. É melhor multiplicar esses valores por 10.000, assim eles ficam na faixa de -1000 a +2000. Em seguida, deve-se adicionar 1000, para que os valores fiquem na faixa de 0 a 3000. Por fim, a variável real precisa ser convertida para tipo dint; depois, para int. Após a transmissão ao DCS, é necessário fazer a conversão inversa.
Como este, se os valores brutos do PLC AI forem transmitidos e, em seguida, fizerem-se as conversões correspondentes no DCS, seria ainda melhor!
Deve ser um overflow de dados, mas não está claro por que houve esse overflow
Isso é uma solução, então vamos tentar fazer as alterações na hora
Assim, ainda é preciso puxar os fios, o que é bem complicado.
Você já é uma forma de comunicação, não é? Isso também é comunicação; é apenas a transmissão dos valores originais antes da padronização pela IA. Não é necessário usar cabos para isso
Quer dizer, transmitir diretamente a entrada da IA (valores entre 0 e 27648)?
Sim, ainda é melhor fazer a conversão de acordo com a escala