Olá, que isso, denada, é o famoso QuiProCó, uma mão lava a outra e as duas lavam a cara hauhAIUH
Entendi um pouco melhor o que está fazendo, olha, eu vejo 2 soluções:
1ª Essa é a mais fácil e que eu tenho mais certeza que vai funcionar.
Se vc já estiver usando a versão 0.8.6 do ScadaBR vai ver uma seção chamada Scripting, que é diferente dos Scripts do Meta Data Points, lá vc pode criar um script que escreve em vários Data Points, só que ele só é executado quando for clicado num botão, e este precisa ser criado na tela do supervisório:
- Vá na seção scripting;
- Crie um novo script;
- Dê um nome;
- Marque a opção “Comandos para Datapoints” e coloque o nome “dp” na caixa “Var”, pode ser usado outro nome, só pra exemplificar estou mantendo o dp.
- No script escreva a linha abaixo porém substitua o DP_392414 pelo XID do Meta Data Point que vc quer zerar.
dp.writeDataPoint(‘DP_392414’,0);
(**) Pronto, acho que deve funcionar, senão funcionar, uma solução dentro dessa 1ª, seria criar um Data Point Virtual, e naquele seu Meta Data Point, começar a acumular o valor nesse Data Point Virtual aí depois vc teria que repetir o procedimento acima utilizando o XID do Data Point Virtual.
O ruim deste procedimento, é que sempre que trocar de receita, vc vai ter que ir na tela do supervisório de dar um clique no Botão que vc vai adicionar na tela (se não souber como fazer essa parte do botão, escreve aí, é sussa)!
2ª Essa segunda opção ainda é meio arcaica, porém pode agilizar o processo para que não seja necessário resetar o valor na tela do supervisório. A idéia agora é usar um botão pulsante físico em algum painel, assim, qdo o operador trocar a receita, ele só vai ter que apertar o botão, pra zerar, pra isso funcionar, vc não precisa mudar mta coisa, só criar um novo Meta Data Point que tenha um “if” no começo, + ou - igual em baixo:
- Use uma entrada do CLP pra pegar o valor do botão de reset;
- Crie um data point pra ele;
- Crie um novo Meta Data point e dê um nome;
- No contexto do Script adicione o data point do botão de reset;
- Em Var dê um apelido do tipo Botao_reset;
- E cole o texto abaixo lá;
- Por fim no point link relacione este meta data point com o meta data point contador.
if ((Botao_reset.value) == true)
return true
return false
Se não funcionar eu acho que a solução de (**) deve resolver aqui tb.
A vantagem do Meta Data point sobre o Scripting é que ele fica atualizando sozinho e funciona sem precisar mandar. A vantagem do Scripting sobre o Meta Data Point é que ele pode escrever em varios Data Points e ainda habilitar e desabilitar Data Point e Data Sources, porém, precisa ser mandado por um botão de script.
É isso, para mais ajuda, mande mais detalhes da programação.
Abraço