Registro de Metros cubicos por hora


#1

Olá a todos, Alguem já fez a aplicação de um Contador de m3/h, com base num data point(só fáz a contagem quando o data point esta em estado True). Tenho uma bomba que succiona 1000m3/h, gostaria de ter um registro que fizesse a contagem tipo hidrometro, para ver quanto ele puchou no fim do mes. Algo que fosse mostrando em tempo real a cada minuto na representação grafica.

 

Desde já agradeço alguma resposta

 

Abraço a todos


#2

Oi Ebluhm,

Isso você pode fazer com um Meta Data Source - ultimamente o meta data source parece ser resposta para tudo =]

Basta você adicionar um Data Source Meta, e criar um data point meta, que eu vou chamar de acumulador. Depois de salvar ele, e recarregar a página do data source, você pode adicionar ele em seu próprio contexto.

Agora é só retornar o valor do data point acumulador somado com o de vazão ou status, se for binário, vezes a vazão. Você pode inclusive definir de quanto em quanto tempo ele faz essa soma (segundo, minuto, hora, etc), e adaptar seu valor de vazão.

O meu ficou assim: 

if(status) { return acum.value+100*vazao.value; } else { return acum.value; }

Eu tenho 2 variáveis virtuais, uma para vazão em % e outra para status, utilizadas para configurar. e "acum" é o próprio contexto do data point meta.

Se você pretende zerar o acumulador uma vez por mês, pode usar um evento agendado e um tratador de eventos para setar o meta data point, mas precisa deixá-lo configurável.

Abraços


#3

Olá Diego, tdo bem?, me diz como setar para dar inicio a vazão, no meu caso tenho uma bomba, quando o motor entrasse e status de Bypass (datapoint true ou false) começasse a contar a vazão, não consegui entender como configurar isso no teu texto.

 

 


#4

Olá diego, tdo bem?

 

Cara, consegui me achar no script, um puquinho de dedicação, informação ali, outra aqui, a gente consegue se achar, não tenho nehuma pratica em scripts, mas ao pucos estou me familiarizando, desde já te agradeço muito pelas dicas.

Nesse mesmo seguimento, tenho como acumular as vezes que um data point sai do estado de 0 para 1, seria para ver o numero de vezes que cada motor partiu no mes.

Verifiquei esse codigo num post do fabiodurão

T = 60
SOMA = 0
for (int i = 0; i = 60; i++)
{
T = T - i;
return p101past(MINUTE, T).dataget(0).starts
SOMA = SOMA + return
}

Mas da erro no script na linha 3

Teria algum modelo de script para registrar o valor maximo lido por um Meta data point (exemplo: Registro de Tensão maxima na rede eletrica)

Mais uma vez muito obrigado pela tua contribuição para alavancar nossos projetos no ScadaBR

 

abração

 


#5

Oi Ebluhm

Eu acho que você poderia somar a cada mudança de 0 para 1 do status do motor. Ficaria mais simples.

Se precisar zerar 1 vez por mês/dia/semana..., faça através de um evento agendado e um tratador deste evento.

Resolve para você?


#6

Boa tarde pessoal eu estou com medidor de vazão
que me manda um pulso cada 1m3
eu não estou conseguindo criar um data meta
contador alguém tem algum
exemplo para me ajudar


#7

Ola pessoal do fórum, estou tentando fazer algo parecido com este tópico. E utilizei como base a resposta do @ebluhm. Cheguei ao seguinte script:
tempo = 60;
soma = 0;
for (int i =0; i > 60; i++)
{tempo = tempo-i; soma p962.past(SECOND, tempo).dataget(0).starts; return += soma }

Quando o executo, a resposta que me retorna é 0.0, porém quando coloco o mesmo para rodar, o valor se permanece em 0 ao invés de se somar com o p62.

script

OBS: coloquei SECOND para teste mais rápido