Thread Content
Gostaria de pedir ajuda a todos vocês sobre o problema do cálculo do fluxo médio no sistema Yokogawa. Os requisitos do processo permitem especificar qualquer período de tempo para calcular a vazão média. Por exemplo, calcular o fluxo médio no período que começou às 14h29 de três dias atrás e terminou às 15h07; o horário pode ser especificado livremente. Pelo que me lembro, não existe uma interface de programa para ler tendências históricas; peço a todos que possam me ajudar.
A funcionalidade de ler tendências ainda não foi desenvolvida pelos fabricantes, mas você pode implementá-la logicamente: basta dividir o consumo total pelo tempo total
A funcionalidade de ler tendências ainda não foi desenvolvida pelos fabricantes, mas você pode implementá-la logicamente: basta dividir o consumo total pelo tempo total
O requisito mais importante é que o tempo seja arbitrário; assim, não consigo coletar dados
Eu ofereço uma ideia: você pode usar blocos de cálculo ou sequenciamento para isso, e dentro deles fazer referência a funções de tempo a fim de somar os valores amostrados
Obrigado pela sua ideia. Minha dúvida é sobre como obter o valor da variável que representa um tempo específico. Especialmente quando esse tempo é aleatório, então é necessário ler o valor da variável que representa esse tempo aleatório. É possível ler funções de tempo?
A tendência histórica parece ter uma opção de valor médio, mas o tempo é em horas inteiras
É possível criar uma tendência de valor acumulado, definindo um intervalo menor entre as medições. Ao ler o valor acumulado em 2 pontos ao longo dessa tendência e subtrair esses valores, dividindo pelo intervalo de tempo, obtém-se o fluxo médio, o que deve ser bastante preciso.
O ponto-chave da pergunta que fiz é como ler as tendências.
Você pode fazer isso usando a linguagem SEBOL. Existe uma função chamada gettime, que retorna as horas, minutos e segundos daquele momento
Obrigado. Depois de obter a hora atual, como posso saber o valor PV dessa hora?
Crie um array para armazenar os valores coletados após a determinação da hora atual. Você pode comparar esse valor com o horário de início definido. Quando chegar esse horário, os valores coletados são armazenados no array. Depois de coletar vários valores, eles são somados e o resultado é dividido pelo número de vezes em que foram coletados. Isso não é a média?
No início, pensei em adotar essa abordagem. Mas, como o tempo é arbitrário e o operador pode definir qualquer valor de tempo, se for necessário ter precisão até o segundo, será preciso muitos elementos nesse array. Por exemplo, para ler dados de uma hora atrás, uma variável de processo precisa ser armazenada 3600 vezes. Assim, o volume de dados é muito grande. Por favor, me dê suas orientações. Obrigado.
Usando blocos de cálculo: F = valor do fluxo; DELAY TIME = valor do atraso. F1 = F; DELAY TIME = mesmo valor. F2 = F1; DELAY TIME = mesmo valor. F3 = F2; DELAY TIME = mesmo valor. F4 = (F1 + F2 + F3) / 3. Por fim, o valor de F4 é exibido em um PVI. Mais ou menos assim. Tente você mesmo