Funções temporais - AWS IoT SiteWise

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Funções temporais

Você pode usar funções temporais para retornar valores com base nos registros de data e hora dos pontos de dados.

Usando funções temporais em métricas

Somente em métricas, você pode usar as seguintes funções que retornam valores com base nos registros de data e hora dos pontos de dados.

Os argumentos da função temporal devem ser propriedades do modelo de ativo local ou expressões aninhadas. Isso significa que você não pode usar propriedades de modelos de ativos secundários em funções temporais.

Você pode usar expressões aninhadas em funções temporais. Ao usar expressões aninhadas, as seguintes regras serão aplicadas:

  • Cada argumento pode ter apenas uma variável.

    Por exemplo,latest( t*9/5 + 32 ) é suportado.

  • Argumentos não podem ser funções de agregação.

    Por exemplo,first( sum(x) ) não há suporte para o suporte para o suporte para o suporte

Função Descrição

first(x)

Retorna o valor da variável fornecida com o primeiro timestamp ao longo do intervalo de tempo atual.

last(x)

Retorna o valor da variável fornecida com o timestamp mais recente ao longo do intervalo de tempo atual.

earliest(x)

Retorna o valor da variável fornecida com a data e hora mais antiga antes do intervalo de tempo atual.

Se a propriedade input tiver pelo menos um ponto de dados em seu histórico, esta função calcula um ponto de dados para cada intervalo de tempo.

latest(x)

Retorna o valor da variável fornecida com a data e hora mais recente antes do final do intervalo de tempo atual.

Se a propriedade input tiver pelo menos um ponto de dados em seu histórico, esta função calcula um ponto de dados para cada intervalo de tempo.

statetime(x)

Retorna a quantidade de tempo em segundos que as variáveis fornecidas são positivas ao longo do intervalo de tempo atual. Você pode usar as funções de comparação para criar uma propriedade de transformação para astatetime função consumir.

Por exemplo, se tiver uma propriedade Idle que seja 0 ou 1, você poderá calcular o tempo ocioso por intervalo de tempo com esta expressão: IdleTime = statetime(Idle). Para obter mais informações, consulte o exemplo de cenário de statetime.

Essa função não é compatível com as propriedades de métrica como variáveis de entrada.

Se a propriedade input tiver pelo menos um ponto de dados em seu histórico, esta função calcula um ponto de dados para cada intervalo de tempo.

O diagrama a seguir mostra como o AWS IoT SiteWise calcula as funções temporais first, last, earliest e latest em relação ao intervalo de tempo atual.


                  AWS IoT SiteWisefunções temporais retornam pontos de dados com base em seu timestamp.
exemplo Exemplo de cenário de statetime

Considere um exemplo em que você tem um ativo com as seguintes propriedades:

  • Idle— Uma medida que é0 ou1. Quando o valor é 1, a máquina está ociosa.

  • Idle Time— Uma métrica que usa a fórmulastatetime(Idle) para calcular a quantidade de tempo em segundos em que a máquina está ociosa, por intervalo de 1 minuto.

A propriedade Idle tem os pontos de dados a seguir.

Time stamp 2:00:00 PM 2:00:30 PM 2:01:15 PM 2:02:45 PM 2:04:00 PM
Idle 0 1 1 0 0

O AWS IoT SiteWise calcula a propriedade Idle Time a cada minuto a partir dos valores de Idle. Depois que esse cálculo for concluído, a propriedade Idle Time terá os seguintes pontos de dados.

Time stamp 2:00:00 PM 2:01:00 PM 2:02:00 PM 2:03:00 PM 2:04:00 PM
Idle Time N/D 30 60 45 0

O AWS IoT SiteWise executa os cálculos a seguir para Idle Time no final de cada minuto.

  • Às 2:00 PM (para 1:59 PM a 2:00 PM)

    • Não há dados para Idle antes das 2:00 PM, portanto nenhum ponto de dados é calculado.

  • Às 2:01 PM (para 2:00 PM a 2:01 PM)

    • Às 2:00:00 PM, a máquina está ativa (Idle é 0).

    • Às 2:00:30 PM, a máquina está ociosa (Idle é 1).

    • Idle não muda novamente antes do final do intervalo às 2:01:00 PM, assim Idle Time é de 30 segundos.

  • Às 2:02 PM (para 2:01 PM a 2:02 PM)

    • Às 2:01:00 PM, a máquina está ociosa (pelo último ponto de dados às 2:00:30 PM).

    • Às 2:01:15 PM, a máquina ainda está ociosa.

    • Idle não muda novamente antes do final do intervalo às 2:02:00 PM, assim Idle Time é de 60 segundos.

  • Às 2:03 PM (para 2:02 PM a 2:03 PM)

    • Às 2:02:00 PM, a máquina está ociosa (de acordo com o último ponto de dados às 2:01:15 PM).

    • Às 2:02:45, a máquina está ativa.

    • Idle não muda novamente antes do final do intervalo às 2:03:00 PM, assim Idle Time é de 45 segundos.

  • Às 2:04 PM (para 2:03 PM a 2:04 PM)

    • Às 2:03:00 PM, a máquina está ativa (de acordo com o último ponto de dados às 2:02:45 PM).

    • Idle não muda novamente antes do final do intervalo às 2:04:00 PM, assim Idle Time é de 0 segundos.

Usando funções temporais em transformações

Somente em transformações, você pode usar apretrigger() função para recuperar o valorGOOD de qualidade de uma variável antes da atualização da propriedade que iniciou o cálculo da transformação atual.

Considere um exemplo em que um fabricante usaAWS IoT SiteWise para monitorar o status de uma máquina. O fabricante usa as seguintes medidas e transformações para representar o processo:

  • Uma medida,current_state, que pode ser 0 ou 1.

    • Se a máquina estiver no estado de limpeza, écurrent_state igual a 1.

    • Se a máquina estiver no estado de fabricação, écurrent_state igual a 0.

  • Uma transformaçãocleaning_state_duration, isso é igualif(pretrigger(current_state) == 1, timestamp(current_state) - timestamp(pretrigger(current_state)), none). Essa transformação retorna quanto tempo a máquina está no estado de limpeza em segundos, no formato Unix epoch. Para obter mais informações, consulteFunções condicionais e a função timestamp ().

Se a máquina permanecer no estado de limpeza por mais tempo do que o esperado, o fabricante poderá investigar a máquina.

Você também pode usar apretrigger() função em transformações multivariadas. Por exemplo, você tem duas medidas denominadasx ey, e uma transformaçãoz, que é igual ax + y + pretrigger(y). A tabela a seguir mostra os valores dexy, ez das 9h às 9h15.

nota
  • Este exemplo pressupõe que os valores das medições cheguem cronologicamente. Por exemplo, o valor dex para 09:00 AM chega antes do valorx de 09:05 AM.

  • Se os pontos de dados das 9h05 chegarem antes dos pontos de dados das 9h05,z não serão calculados às 9h05.

  • Se o valor dex para 9:05 AM chegar antes do valor dex 09:00 AM e os valores dey chegarem cronologicamente, seráz igual22 = 20 + 1 + 1 às 9:05 AM.

09:00 DA MANHÃ 09:05 DA MANHÃ 09:10 DA MANHÃ 09:15 DA MANHÃ

x

10

20

30

y

1

2

3

z = x + y + pretrigger(y)

ynão recebe nenhum ponto de dados antes das 09:00 da manhã. Portanto,z não é calculado às 09:00 da manhã.

23 = 20 + 2 + 1

pretrigger(y)é igual a 1.

25 = 20 + 3 + 2

xnão recebe um novo ponto de dados. pretrigger(y)é igual a 2.

36 = 30 + 3 + 3

ynão recebe um novo ponto de dados. Portanto,pretrigger(y) é igual a 3 às 09:15 da manhã.