Utilizando o componente TrendAnalysis no Elipse E3/Power.

A partir da versão 6.0 do Elipse E3/Power, é possível  utilizar o componente TrendAnalysis. Os objetivos deste artigo são primeiramente apresentar a ferramenta, e depois demonstrar sua utilização com uma aplicação exemplo.

O TrendAnalysis é uma ferramenta para exibição de dados históricos e que usa os Tags providos pelo serviço de histórico automático do E3 (o tag utilizado precisa estar sendo armazenado em um Histórico). Sendo assim, os principais recursos do TrendAnalysis são os seguintes:

  • Capacidade para grande volume de dados
  • Visualização clara da escala de tempo para qualquer nível de zoom
  • Rolagem e zoom por escala ou por área
  • Pesquisa por valor anterior, mais próximo ou interpolado
  • Displays atualizados automaticamente
  • Visualização da qualidade de um ponto e indicação de pontos com valores nulos
  • Enquadramento permanente de Penas por eixo

Esta ferramenta está acessível não só através do método GetTrendAnalysis, para criação e configuração, mas também do ShowTrendAnalysis, do E3 Viewer, para visualização. Desse modo, a janela resultante pode ser vista na figura a seguir.

Assim, as opções de configuração das abas presentes na janela do TrendAnalysis estão descritas nos tópicos a seguir.

Aba Exibições

Esta aba mostra as Penas correspondentes aos dados disponíveis na aba Conexões. Desse modo, as opções disponíveis ao clicar com o botão direito do mouse na Exibição estão descritas na tabela a seguir.

Opção

Descrição

Selecionar Colunas

Permite selecionar quais as colunas são mostradas para as Penas
Atualização Automática Habilita ou desabilita o modo de atualização automática
Mostrar Linhas da Grade Mostra ou esconde as linhas de grade na área das Penas
Mostrar Pontos Mín./Máx. Mostra ou esconde os pontos mínimos e máximos das Penas
Mostrar Legenda Local Mostra uma legenda com o nome da Pena e a respectiva cor
Interpolar Utiliza interpolação para desenhar a Exibição

Aba Marcadores

A aba Marcadores permite adicionar um marcador, ou bookmark, a um determinado período de tempo de uma Pena. Para isto, clique com o botão direito do mouse na área da aba e então selecione a opção Novo Marcador para abrir a janela da figura a seguir.

Aba Conexões

A aba Conexões mostra a conexão com o E3 e os Tags disponíveis para uso nas Exibições. Para adicionar uma Pena, arraste um Tag para a área da Exibição ou então clique com o botão direito do mouse em um Tag e selecione a opção Inserir.

Área de Exibições

A barra de título de uma Exibição mostra um ícone que representa o modo de reprodução daquela Exibição, que pode ser reproduzindo ou pausada .

No modo de reprodução, a Escala de Tempo se desloca em direção ao futuro, permitindo assim que se acompanhem valores em tempo real. Portanto, mover a Escala de Tempo para o passado ou aplicar um zoom não altera o sentido de deslocamento da Escala.

Assim, para maiores detalhes sobre as opções de configuração do objeto, consulte o item TrendAnalysis do Manual do Usuário do E3 e Manual de Referência e Scripts do E3.

Aplicação Exemplo

A fim de mostrar uma janela do TrendAnalysis carregando uma configuração previamente salva, definindo seu tamanho e posição, foi utilizado o seguinte script:

Sub CommandButton2_Click()
Application.ShowTrendAnalysis "TrendAnalysis Window", , _
, Application.GetObject("Dados.TagTrendSave").Value

Set TA = Application.GetTrendAnalysis("TrendAnalysis Window")
TA.SetWindowPlacement 400, 150, 800, 500
End Sub

Caso objetivo seja exibir uma janela sem configuração pré-definida e tamanho, utilize então o seguinte script:

Application.ShowTrendAnalysis "TrendAnalysis Window", 200, 200, ""

Para persistir o conteúdo do objeto, dentro da tela inicial há um CommandButton cuja função é exibir uma janela do TrendAnalysis e então carregar (método Load) a configuração do objeto TrendAnalysis:

Sub CommandButton1_Click()
Set TA = Application.GetTrendAnalysis("TrendAnalysis")

if (not Application.GetObject("Dados.TagLoaded").Value) then
TA.Load Application.GetObject("Dados.TagTrendSave").Value, ConfigStatus
  If ConfigStatus <> 0 Then
    MsgBox "Error " & CStr(ConfigStatus) & " when loading configuration!"
    End If
Application.GetObject("Dados.TagLoaded").Value = true
end if

Application.GetObject("Dados.Open").Value = true
TA.Show
End Sub

Ao mesmo tempo, ainda na tela inicial há dois scripts nos eventos OnStartRunning() e OnStopRunning(), cujas funções são respectivamente criar ou recuperar a janela TrendAnalysis com identificador/título “TrendAnalysis”, e salvar (método Save) a sua configuração:

Sub TelaInicial_OnStartRunning()
Set TA = Application.GetTrendAnalysis("TrendAnalysis")
Application.Item("TagTrendObj").Value = TA
Application.GetObject("Dados.TagLoaded").Value = false
End Sub
Sub TelaInicial_OnStopRunning()
if Application.GetObject("Dados.Open").Value then

Set TA = Application.GetTrendAnalysis("TrendAnalysis")
Application.GetObject("Dados.TagTrendSave").Value = TA.Save	
Application.GetObject("Dados.Open").Value = false
Application.GetObject("Dados").Save

end if
End Sub

Posteriormente, para fechar a janela do TrendAnalysis:

Sub CommandButton3_Click()
Set TE = Application.GetTrendAnalysis("TrendAnalysis")
TE.Close
End Sub

Por fim, para verificar se existe uma janela do TrendAnalysis aberta ou não.

Sub CommandButton4_Click()
Set TE = Application.GetTrendAnalysis("TrendAnalysis")
MsgBox "TrendAnalysis IsOpened= " & TE.IsOpened
End Sub

Em anexo encontra-se a aplicação exemplo, que foi desenvolvida no Elipse E3 v6.0.199.

Anexos:

Trend_Analysis.zip

 

Print Friendly, PDF & Email

Este artigo foi útil? Was this helpful?

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

Thoughts on “Utilizando o componente TrendAnalysis no Elipse E3/Power.

  1. Notei que quando crio um trend dentro do viewer, ele pega os dados históricos do meu banco de dados (registro de 5 em 5 minutos) e depois as penas começam a desenhar em tempo real (2 em 2 segundo).
    Mesmo após eu fechar o viewer e fazer logoff no servidor onde minha aplicação roda, quando entro novamente noto que ao abrir o gráfico ele faz três coisas:
    1 – Pega os valores antigos (de 5 em 5 minutos)
    2 – Busca os valores que tinha desenhado em tempo real (2 em 2 segundos) na ultima vez que abri o gráfico.
    3 – A pena continuou desenhando em tempo real (2 em 2 segundos) no gráfico mesmo eu não estando com ele aberto.
    Obs.: No meu banco de dados continuou o registro de 5 em 5 minutos durante esse tempo mas o gráfico conseguiu puxar as informações (2 em 2 segundos) de algum lugar.

    Gostaria de saber onde fica armazenado esses valores em Tempo real (2 em 2 segundos) que o gráfico consegue buscar.
    Receio de isso acabar gerando muito dados armazenados no servidor e prejudicar o desempenho da aplicação.

Leave a Reply

Your email address will not be published.Required fields are marked *