Retornando o tempo (em minutos) de um alarme ativo.

Descrição:

Como posso retornar o tempo (em minutos) em que o alarme esteve ativo?

Solução:

As Fontes de Alarme são objetos do Elipse E3  que definem todas as informações relativas às condições de alarme. Em cada Fonte de Alarme são configurados seus limites, a mensagem relativa ao evento, sua severidade, bem como a necessidade ou não de reconhecimento desse evento.

Existem cinco tipos de alarmes no Elipse E3, a saber: analógico, digital, banda morta, taxa de variação e discreto. Para maiores informações sobre estes tipos de alarmes, assim como sua configuração e sua utilização em aplicações com o sistema Elipse, consulte o artigo Tipos de Alarmes do E3.

Para retornar o tempo em que o alarme esteve ativo, pode-se utilizar o método DateDiff do banco de dados SQL. Este método retorna a diferença de tempo entre duas datas para um intervalo determinado. Seu resultado, portanto,  é a contagem (como um valor inteiro com sinal) dos limites de datepart especificados cruzados entre os parâmetros especificados startdate e enddate.

A sintaxe da função DateDiff é a seguinte:

DATEDIFF ( datepart , startdate , enddate )

Seus argumentos são:

  • datepart: unidade na qual a função relata a diferença entre startdate e enddate. As unidades mais frequentemente utilizadas são segundos (second) e meses (month). Seu valor não pode ser especificado em uma variável, nem como uma cadeia de caracteres entre aspas.
  • startdate: expressão que resolve a data inicial.
  • enddate: expressão que resolve a data final.

Exemplo de consulta para retornar a diferença das datas por minuto:

SELECT InTime, OutTime, DateDiff("n", InTime, OutTime) AS ActiveTime
FROM Alarms
WHERE (InTime>0 AND OutTime>0)
ORDER BY InTime Desc

Para mais informações sobre método DateDiff, recomenda-se consultar sua documentação específica no site da Microsoft.

Print Friendly, PDF & Email

Este artigo foi útil? Was this helpful?

Classificação média - Average rating 0 / 5. Count: 0

Deixe seu Comentário

Seu endereço de e-mail não será publicado. Campos marcados com asterisco são obrigatórios *