Histórico por batelada no E3.

Descrição:

É possível gravar/visualizar dados de uma batelada específica em um Histórico no E3, semelhantemente ao que acontece no Elipse SCADA?

Solução:

Sim, é possível. Para isto, siga estes procedimentos:

1. Crie dois objetos: um Banco Dados e um Histórico.

 

2. No Histórico, insira os campos da batelada, além de um campo para o seu nome.

<


3. Na tela, insira dois objetos E3Browser (semelhantemente ao que é feito no Elipse SCADA): um para mostrar as bateladas criadas e o outro para mostrar os valores. Além disto, crie três botões: Iniciar Batelada, Finalizar Batelada e Reiniciar Última Batelada.

 

 


4. Configure a consulta Bateladas do E3Browser para mostrar apenas os nomes das bateladas. Insira apenas o campo Batelada, e utilize a função Agrupar por.

 

Ou se preferir, insira o código SQL na aba SQL da consulta:

SELECT tab_batelada.Batelada 
FROM tab_batelada 
GROUP BY tab_batelada.Batelada

Esta função retorna todos os valores do campo sem repeti-los.

 

5. No outro objeto E3Browser, serão mostrados os valores da batelada. Para isto, configure a consulta com um filtro onde serão retornadas todas as linhas onde o valor da coluna Batelada for igual ao especificado na variável Nome_Batelada.

 

 

Código SQL:

SELECT tab_batelada.E3TimeStamp,tab_batelada.Campo1,tab_batelada.Campo2,tab_batelada.Campo3
FROM tab_batelada
WHERE ( tab_batelada.Batelada  = '<%Nome_Batelada%>' )
ORDER BY tab_batelada.E3TimeStamp  ASC

6. No evento DblClick do objeto E3Browser Batelada, insira o script abaixo:

batelada = GetColumnValue(0)
set consulta = Screen.Item("E3Browser2").Item("Consulta1")
consulta.SetVariableValue "Nome_Batelada", batelada

Este script busca o nome da batelada selecionada (GetColumnValue), que passa para a variável da consulta do outro objeto E3Browser.

7. Nos botões Iniciar, Finalizar e Reiniciar Batelada, insira os seguintes scripts:

Iniciar Batelada:

set nome_batelada = Application.GetObject("Dados.Batelada")
batelada = InputBox ("Insira o nome da batelada")
if batelada <> "" then
nome_batelada.Value = batelada
Application.GetObject("Hist1").ScanTime = 1000
MsgBox nome_batelada.Value & " Iniciada!"
else
MsgBox "Nome da batelada não informado."
end if

Finalizar Batelada:

nome_batelada = Application.GetObject("Dados.Batelada").Value
Application.GetObject("Hist1").ScanTime = 0
MsgBox  nome_batelada & " Finalizada"

Reiniciar Última Batelada:

nome_batelada = Application.GetObject("Dados.Batelada").Value
Application.GetObject("Hist1").ScanTime = 1000
MsgBox nome_batelada & " Reiniciada!"

Obs.: Anexo a este artigo está uma aplicação exemplo, desenvolvida no E3 versão 4.0 Build 214.

Anexos:

Batelada.zip

Print Friendly, PDF & Email

Este artigo foi útil? Was this helpful?

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

Leave a Reply

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