Criar histórico baseando numa condição

Olá,

Eu preciso montar dois históricos em momentos diferentes, o primeiro quando o status de uma tag for true, ai a partir desse momento preciso aquisitar de hora em hora, e o segundo também quando uma tag for uma variável mudar de valor e zerar, ai pego o consumo de material, eu li o manual mais fiquei com algumas duvidas.

@ezequielsd, bom dia.

Na própria Tag criar um evento de usuário com a Expressão Value e habilitar para sempre que mudar de valor:

Sub TagInterno1_HistHora()
If Value = True Then
Application.GetObject(“Hist1”).ScanTime = 3600000 'Gravar de hora em hora
Application.GetObject(“Hist1”).WriteRecord() ’ Salva o primeiro dado
Else Application.GetObject(“Hist1”).ScanTime = 0 'Para de gravar
End If

End Sub

Esta parte não ficou muito claro para mim. Por favor, teria como dar mais detalhes?

Abraços.

Obrigado @Fernando pela primeira dica, a segunda é assim: tenho uma tag que é um contador de passos, e todo o momento que este contador vai para “1”, significa que os passos acabaram e inicia uma nova batelada, ai neste instante devo gerar um histórico com quantidade de material que será utilizada nessa batelada. Acredito que em parte, a primeira solução que me passou atende, criando um evento de alteração do valor, ai dentro eu comparo quando atingir um, isso né? Uma duvida em relação a solução comentada, devo criar este evento na tag que vai de false/true, que no meu caso é o modo automático, isso?

@ezequielsd,

Acredito que sirva para a segunda também fazendo as modificações necessárias.

Sim, deve fazer no tag booleano. Caso seja um tag de comunicação, pode utilizar o evento OnRead.

Abraço.

Fernando, o que o evento OnRead no tag de comunicação faz?

@ezequielsd,

Segundo o Manual de Referência de Scripts:

Ocorre quando é efetuada uma leitura do Tag pelo driver. Utilize o evento OnRead quando for necessário efetuar alguma operação logo após algum dado ser modificado no Tag, como por exemplo, as propriedades Value, Quality ou TimeStamp. Este evento é gerado por uma leitura em background.

Abraços.