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.