Então, estou justamente fazendo isso…
Criei um Data Source Modbus IP, e os Data Points, desejo monitorar o tempo de acionamento do datapoint com o Offset 4, como faço para identificar o ID deste?
Existem várias formas de achar esse ID. Vou passar uma que eu acho que vai ser mais prática pra você. No seu data point Meta, vá até a opção Contexto do script
e adicione o data point que você precisa descobrir o ID. Ele vai aparecer numa tabelinha na parte de baixo, e nessa tabela você vai ver um campo chamado “Var”. Nesse campo, vai aparecer um nome começado em p seguido de um número. Esse número que vem depois do p é o ID do data point.
Veja na imagem abaixo:
Depois que você achou esse número, se não precisar, pode até remover o data point do “Contexto do Script”.
Showw, consegui identificar o ID e rodar o scripit, no entanto esta ocorrendo um atraso, perca e zeramento das informações de forma intermitente, por exemplo meu datapoint entra em funcionamento durante 5 minutos, teoricamento era para contabilizar esses 5 minutos (obs: a taxa de atualização do datasource esta a cada 1s), porém esse tempo as vezes é contabilizado e as vezes não, ou contabiliza e reseta após um liga/desliga do datapoint.
O que pode estar ocorrendo para perca dessas informações?
(Na propriedade de registro das informações dos datapoint o descarte de registro esta para a cada 1 ano.)
Boa tarde.
Então, o script que eu postei é um código bem simples. Basicamente ele parte do pressuposto de que o data point funciona de forma ininterrupta. O horímetro usa o histórico de valores do ScadaBR, que, além de salvar os valores do data point, salva o horário da alteração de valor. O script basicamente pega o horário em que houve a mudança entre os estados e calcula o tempo decorrido, chegando ao total de horas em que permaneceu ligado.
Se o seu data point liga e desliga várias vezes, esse horímetro não irá funcionar. Seria necessário adaptar o código para as suas necessidades, de modo que ele saiba exatamente quanto começar e terminar a contagem. Você também implementar um horímetro no Arduino ao invés do ScadaBR.
Infelizmente, estou com muito pouco tempo para interagir no fórum e não poderei lhe ajudar com essa implementação. De qualquer forma, desejo-lhe boa sorte.