1. INTRODUÇÃO
O objetivo de uma ferramenta de playback é facilitar o processo pós-operação, sobretudo a análise de ocorrências. Ela permite que o usuário visualize as variações de eventos e pontos analógicos em tempo passado através das telas de monitoramento em tempo real, já que em alguns casos a visualização destes dados pode ser dificultada apenas pela observação de relatórios de eventos e valores analógicos.
O E3Playback busca no banco de dados os tags referenciados nas telas, bem como os demais links entre Viewer e servidor (tais como os tags do Viewer com links para objetos do servidor), e mostra valores, animações, estados e gráficos de acordo com as informações existentes no banco de dados e o período de playback definido.
2. CONFIGURANDO A APLICAÇÃO PARA UTILIZAR O E3PLAYBACK
Este artigo mostra, de forma simples e clara, como configurar uma aplicação que utiliza a ferramenta E3Playback para monitorar dados de telas (tags, alarmes, tabelas, Storage, E3Chart, bibliotecas). Esta configuração permite tanto a utilização imediata do E3Playback como também prepara a aplicação para o seu uso futuro.
Neste exemplo, será desenvolvida uma aplicação com três tags Demo, um Histórico, um Storage, um E3Chart, uma Biblioteca e um Servidor de Alarmes.
Aplicação e Banco de Dados
Todas as informações utilizadas pelo E3Playback são retiradas das tabelas de um banco de dados; por isso, a configuração de um banco de dados na aplicação é fundamental para o uso do E3Playback.
Para isto, crie uma aplicação padrão no E3, chamada ProjetoPlayBack. Em seguida, insira um objeto Banco de Dados chamado BancoDados1.
NOTA: O banco de dados utilizado neste exemplo é o SQL Server 2005, pois o objeto Storage (utilizado mais adiante neste exemplo) não é compatível com o Access.
Tags de Comunicação
Esta aplicação utiliza dois tags de comunicação, mostrados através de instâncias de objetos de biblioteca, para simular valores de temperatura. Para isto, adicione um driver no Servidor de Dados da aplicação (qualquer arquivo .dll; no exemplo, serão utilizados o driver Modbus e o simulador Modbus ModSim), e dentro dele adicione dois tags de comunicação, Temperatura1 e Temperatura2.
Tags Demo
Esta aplicação utiliza três tags Demo: um que simula valores de vazão (que serão gravados via Storage), e dois que simulam valores de velocidade (que serão mostrados através de um Display diretamente colocado na tela). Para isto, acesse o Servidor de Dados da aplicação e adicione três tags Demo: Vazao, Velocidade1 e Velocidade2, com qualquer configuração.
Históricos
O formato de arquivo Histórico não é o ideal para playback, pois este objeto normalmente armazena muitos dados duplicados, sendo recomendado o uso do objeto Storage sempre que possível. Caso seja absolutamente necessário utilizar dados de Histórico no playback, siga estes procedimentos.
1. Este primeiro histórico da aplicação será utilizado para gravar dados de grandezas que simularão valores de campo e que serão visualizadas diretamente em objetos de uma tela da aplicação. Na aplicação exemplo, estas informações correspondem aos valores dos tags Velocidade1 e Velocidade2.
2. Insira um objeto Histórico no Servidor de Dados e configure-o. É indispensável que este Histórico tenha o campo E3TimeStamp.
3. Configure a propriedade UserTable como False.
4. Crie dois campos, Velocidade1 e Velocidade2, e associe a propriedade fonte de cada um ao correspondente tag de velocidade.
5. Crie um índice para o campo E3TimeStamp. Sem este índice, as consultas ao Histórico ficam muito lentas, tornando o playback impraticável.
6. Utilize tabelas com poucos campos e, se possível, adicione um índice individual para cada um deles (principalmente para os campos com poucas variações).
Storage
O uso do Storage no E3Playback não apresenta grandes restrições. Recomenda-se, entretanto, que o campo Fonte do Storage não contenha expressões, ou seja, ele deve ser associado diretamente ao tag desejado.
Após ter adicionado o objeto Storage na aplicação, configure-o conforme abaixo.
Em seguida, crie um tag chamado Vazao, e associe-o ao campo Fonte.
Alarmes
O uso de Alarmes no E3Playback também não apresenta grandes restrições. Para que o E3Playback funcione, é necessário apenas que os campos EventTime, FullAlarmSourceName, ConditionActive, Acked e AckRequired sejam registrados. No entanto, é recomendado que também os campos InTime + InTimeMS (ou InTimeDbl), OutTime + OutTimeMS (ou OutTimeDbl), AckTime + AckTimeMS (ou AckTimeDbl), Area, ActorID, Enabled, EventCategory, EventType, Message, Severity, Source, SubConditionName e CurrentValue também sejam registrados para uma melhor performance.
Para configurar os alarmes, insira um Servidor de Alarmes e um Configurador de Alarmes na aplicação. Dentro do Configurador de Alarmes, insira uma Área, e dentro dela três alarmes analógicos cujas fontes serão os tags Temperatura1, Temperatura2 e Vazao, adicionando as mensagens desejadas através das propriedades de cada alarme analógico.
Em seguida, configure o Servidor de Alarmes e insira os campos exigidos anteriormente.
Biblioteca XObjects
Quando houver uma biblioteca de usuário na aplicação, é ncessário apontar quais as propriedades dos XObjects são acessadas pelas telas do Viewer. Então, identifique a relação existente entre essas propriedades e os tags que lhe servem de fonte de informação para definir o que precisa ser armazenado no banco de dados, através de um Histórico ou de um Storage.
Existem dois casos de relação entre tags e propriedades:
- Caso 1: XObject com propriedades diferentes de Link (Boolean, Integer, Double, String, etc.); neste caso, é necessário armazenar as propriedades do XObject no banco de dados.
- Caso 2: XObject com propriedades iguais a Link (IOTag, InternalTag, DemoTag, etc.); neste caso, pode-se armazenar tanto o tag de comunicação como as propriedades do XObject. Note que caso o XObject possua alguma propriedade associada a outro objeto (um IOTag, InternalTag, etc.), é necessário verificar se este objeto está sendo armazenado no banco de dados. Em caso positivo, não é necessário armazenar a propriedade da instância do XObject no banco de dados; caso contrário, isto é indispensável.
Na aplicação exemplo, será criada uma biblioteca de componentes pelo E3Studio chamada LibPlayBack. Nesta biblioteca, existe um XObject chamado DadosTemperatura, com duas propriedades: Temp1 (Double) e Temp2 (IOTag).
Em seguida, adicione um XControl chamado DisplayTemperatura com dois Displays e uma propriedade chamada Fonte, do tipo DadosTemperatura.
Primeiro, associe o primeiro Display à propriedade Temp1 do XObject correspondente.
Depois, associe o segundo Display ao valor da propriedade Temp2 do XObject correspondente.
No Servidor de Dados do projeto, insira uma instância do XObject chamada DadosTemperatura, e associe as propriedades Temp1 e Temp2 do objeto aos tags de comunicação correspondentes.
Note que a propriedade Temp1 do objeto DadosTemperatura é do tipo Double, e por isso está associada à propriedade Value do tag de comunicação Temperatura1, o que a caracteriza um exemplo do primeiro caso de tipos de links. Já a propriedade Temp2 do objeto DadosTemperatura é do tipo IOTag, e por isso está associada diretamente ao tag de comunicação Temperatura2, o que a caracteriza como exemplo do segundo caso de tipos de links.
Além disso, é necessário obedecer os critérios de armazenamento de dados explicados anteriormente para que o E3Playback funcione corretamente. Para isto, crie um novo Histórico no projeto, chamado Hist2, e configure-o.
3. CONFIGURANDO AS TELAS DA APLICAÇÃO
Nesta aplicação, serão desenvolvidas duas telas.
- TelaProcesso, que ilustra um processo cujos dados de temperatura, vazão e velocidade (gráfico, gravação no banco de dados e geração de alarmes) serão monitorados.
- TelaPlayBack, que possui apenas um objeto E3Playback mostrando a tela TelaProcesso.
TelaProcesso
Insira uma tela na aplicação chamada TelaProcesso. Esta será a tela inicial e principal da aplicação; para isto, altere a propriedade InitialScreen do Viewer.
Nesta tela, insira:
- dois E3Browsers
- um E3Chart
- uma instância do XControl do objeto DisplayTemperatura, cuja propriedade Fonte deve ser associada ao objeto de dados DadosTemperatura
- um E3Alarm
- dois Setpoints para alteração dos limites de data/hora do E3Chart
- dois Displays que mostrarão os valores de velocidades
- um botão de navegação para a futura TelaPlayback
O primeiro E3Browser deve ser configurado para mostrar os dados de Temperatura1, Temperatura2 e E3TimeStamp, que estão na tabela TabelaDisplay1; o segundo deve ser configurado para mostrar os dados do campo Vazao do Storage1, utilizando a função LastValue.
O E3Alarm deve ser configurado com o nome do Servidor de Alarmes e com os campos desejados.
NOTA: O E3Chart só funcionará dentro do E3Playback se as penas forem configuradas como tipo Histórico. As penas do tipo Tempo Real serão desabilitadas dentro do E3Playback.
Nesta aplicação, será utilizado um E3Chart com apenas uma pena, do tipo Histórico, que mostrará os dados do tag de comunicação Temperatura1. Para configurar o tipo de pena como Histórica, acesse suas propriedades da pena e altere a aba Dados.
Em seguida, altere a escala do eixo horizontal, selecionando seu tipo como Intervalo de tempo (histórico).
Nos campos Setpoints, utilize o método Application.ShowDatePicker para chamar a função Calendário, que possibilita ao usuário selecionar a data desejada para a consulta. É também possível associar a propriedade Value dos Setpoints às propriedades HorScaleBegin e HorScaleEnd do E3Chart.
TelaPlayBack
Insira uma segunda tela na aplicação chamada TelaPlayback. Nesta tela, será adicionado o ActiveX E3Playback, ou seja, esta será a tela responsável pelo monitoramento pós-operação da TelaProcesso. Para isto, insira na tela o E3Playback e um botão de navegação para retornar à TelaProcesso.
A configuração do objeto E3Playback é simples: acesse suas propriedades e faça as seguintes associações.
No Modo de Execução, após pressionar o botão , o E3Playback entrará no Modo Online e TelaPlayback mostrará o seguinte:
A parte inferior do objeto E3Playback é a lista de tags, uma interface que mostra quais tags estão sendo utilizados pelo E3Playback.
As colunas desta lista são:
- Caminho do Tag: Mostra o caminho do tag.
- Tabela: Mostra o nome da tabela do banco de dados que contém os dados do tag.
- Estado: Indica se o tag foi encontrado ou não no banco de dados.
- Valor: Mostra o valor do tag na data/hora atual de playback.
- Data/Hora: Mostra o timestamp atual do tag. Caso o tag suporte interpolação (apenas para pontos analógicos armazenados no Storage), então o timestamp será igual ao horário atual de playback. Caso contrário, o timestamp será o do último evento com timestamp anterior ou igual ao horário atual de playback.
- Qualidade: Mostra a qualidade do tag (padrão OPC) no momento atual de playback. Quando a qualidade é 192, é mostrado apenas o texto “Boa”.
- Evento Anterior: Mostra o timestamp do evento anterior deste tag no banco de dados. Caso o tag suporte interpolação, o evento anterior será o último timestamp registrado no banco de dados antes do horário atual de playback. Do contrário, o evento anterior será sempre igual ao timestamp atual do tag.
- Próximo Evento: Mostra o timestamp do próximo evento deste tag.
A parte lateral do objeto E3Playback é a lista de eventos, que mostra a ordem cronológica dos eventos de Playback, permitindo ao usuário navegar entre eventos.
As colunas desta lista são:
- Data/Hora: Mostra a data e a hora do evento, conforme registrado no banco de dados.
- Caminho do Tag: Mostra o caminho do tag ou da fonte de alarmes que gerou este evento, ou então o nome do marcador.
- Evento: Caso o evento seja de mudança do valor de um tag, esta coluna mostra o seu novo valor. Se a qualidade não for Boa (192), ela será mostrada na frente do valor (por exemplo, “Ruim(20); 45.433”). Caso o evento seja uma alteração no estado de um alarme, esta coluna mostra o nome da sub-condição (HI, HIHI, LO, LOLO, etc.) e a descrição do alarme. Se o alarme está (ou foi) reconhecido, o texto “ACK” será mostrado no início, com o nome do operador entre parênteses. Caso seja um marcador, este campo mostra o comentário associado.
Para colocar o E3Playback em Modo de Execução, pressione o botão para acompanhar a evolução dos valores na tela e na lista de tags.
4. ARTIGOS RELACIONADOS