Monitoramento temperaturas, contador, nível de cloro

Bom dia,

Pessoal estou desenvolvendo uma aplicação que faz o monitoramento das temperaturas de vários pontos da empresa, dentro da mesma rede MODBUS temos o controlador de nível de cloro e o contador de Frangos, dentro desta rede todos os equipamentos que fornecem os dados são da marca Novus.


 

Meu status atual é o seguinte consigo capturar todos os valores, a VIEWER das temperaturas está rodando bem, porém na VIEWER os dados são atualizados a cada 5 segundos e para os relatórios eu precisaria gerar uma media destes dados de hora em hora pensei no seguinte script:


 

P8

var contador = 0;

var p8Relatorio =0;

 

data = new Date();

hora = data.getHours();

 

if(hora>=5 && hora<=16){

 

p8Relatorio += p8;

 

contador++;

 

if(contator==720){

 

p8Relatorio/720;

 

return p8Relatorio;

 

}

}

 

Mas esta retornando um erro de conversão de dados, e a TAG data source meta não retorna nenhum valor.

 

Para o cloro vou ter a mesma situação.

 

Já para o contador os dados devem ser somados até o seu reset a partir dai ele deve pular para um novo ponto.

 

Bom fora isso queria saber se tem com eu aumentar o tamanho da VIEWER.

 

Boa noite,

não pode configurar o datapoint para fazer recolha num intervalo de 1 hora e fazer a média das leituras?

Narra Pisa

Bom dia,

O que acontece é que precisamos deixar visivel para os operadores da sala de máquinas as temperaturas com um tempo de atualização de 5 segundos e gerar para a Gestão da Qualidade a média desses dados por hora.

 

desde já grato pela ajuda.

Olha, eu não sou muito entendido e posso não estar a compreender o seu problema, mas já tentou por o período de actualização do datasource em 5s e configurar o "tipo de registo" do datapoint para intervalo, "período de intervalo" 1h e tipo de valor "média"?

Eu penso que resolve.

narrapisa

Agora sim, não tinha me ligado nisso ainda valeu pela força, e tu sabe se tem a possibilidade de aumentar o tamanho da area do view?

Sim, basta criar uma imagem noutro programa com o tamanho desejado e fazer o upload. Se você não quiser ter nenhuma imagem de fundo, cria uma imagem em branco com as medidas desejadas.

Narra Pisa

Mais uma vez obrigado,

até mais

Amigos,

Quero levantar este tópico pois preciso de ajuda.

Não entendo de script e estou precisando calcular a media de um ponto a cada 60 segundos, ou seja, a média do minuto.

Sei que ao identificar o datapoint de origem o scadabr coloca uma letra em seu lugar (p1, p2, etc)

Dai vou colocar os valores no meta data point.

Não entendi a solução dada em 2012. Alguem pode me ajudar?

Acho que tu poderia ter um metadatasouce com um datapoint que tenha um loop que acada minuto retorne a média algo assim:

VAR contador = 0;

VAR media = 0;

IF(contador <= 60){

     media =(media+ P1)/contador

contador++;

}

return media;

onde P1 é o datasource que recebe os dados.

mHenkel,

dessa forma como colocou não funciona no scadabr. Dando uma arrumada ele calcula a média mas se eu comparar o resultado dos graficos calculando a media e sem calcular os graficos são exatamente os mesmos.

então acredito que não está contando.

Opa pessoal, 

O próprio elemento ponto no metadata source tem uma função para cálculo de média - basta definir um período bem grande pra ele pegar todos os dados.

return p1.past(YEAR,10).average;

 

Abs