Tenho uma leitura de temperatura onde preciso coletar o valor máximo medido durante espaço de tempo, esse tempo pode variar dependendo da necessidade. Comecei com uma mudança de evento que, se a temperatura for maior que 1000°C, conto alguns segundos e tento registrar, porém vejo que é ineficiente.
Gostaria de montar um array onde, se a temperatura for maior que 1000°C, armazene esses valores e por fim retorne o maior valor.
Alguém possui algum script que faça esse trabalho?
Acredito que você possa usar os recursos que existem nativamente no Data Point Meta para verificar o valor máximo em um período.
Segue um link para a documentação do Data Point Meta em PDF (é a mesma informação que você pode ler nas janelas de ajuda na interface do ScadaBR): Meta Data Point.pdf
De acordo com a documentação informada acima, se você tivesse um ponto no contexto do data point meta com o nome de p123, por exemplo, você poderia obter o valor máximo das últimas duas horas assim:
var valor_maximo = p123.past(HOUR, 2).maximum;
return valor_maximo;
No meu caso, realizo a medição em tempos não definidos. Poderia ficar 3 horas sem medições quanto posso realizar uma medição daqui 20 minutos como exemplo, isto está sendo a dificuldade em resgatar esses valores.
Nesse caso pensei em criar um array, mas para falar verdade, até então não trabalhei com array no ScadaBr.