Acessando arquivos texto através do E3.

1) Introdução

Algumas vezes, é necessário acompanhar os valores de dados de uma aplicação detalhadamente: verificar se um determinado dado está com o valor esperado ou quando um trecho de um script não está a contento, saber até onde o script chegou ou onde está o erro, conferir o valor de retorno de uma determinada função, etc. Gerando nossos próprios logs, podemos facilmente monitorar esses itens. Para a criação desses logs, a melhor ferramenta é a utilização das funções de criação e acesso a arquivos texto, que são suportados pelo VBScript, disponível no E3.Para ilustrar o funcionamento desse item, será gerado um log de uma comunicação OPC, onde o E3 atuará como servidor e como cliente, ao mesmo tempo.

2) Desenvolvimento

Criação do Projeto

Ao iniciar o E3 Studio, escolha a opção Criar um projeto novo, e em seguida Aplicação Padrão. Nomeie este projeto como TreinamentoTXT e escolha uma pasta para salvar o aplicativo. Crie um novo domínio com o mesmo nome do projeto. Responda Não para as perguntas das três próximas telas.

Na pasta Dados, crie um tag interno e um tag demo, que servirão como os dados a serem transferidos via OPC. Aumente o Scan do tag demo para 10000. Inicie o domínio para inicializar o OPC Server.

Para configurar a aplicação como OPC Client, insira no projeto um driver de comunicação OPC. Nas propriedades do driver, acesse a aba OPC Driver e procure, através do botão Selecionar, por E3 OPC Server (Elipse.OPCSvr.1) em Servidores locais. Para que seja possível importar os tags criados no projeto, ative a comunicação.


Figura 1: Selecionar Servidor OPC

Retorne ao Organizer, clique com o botão direito no objeto DriverOPC e escolha a opção Importar Tags. O E3 perguntará se você deseja criar um grupo para continuar a importação, e em seguida se gostaria de detectar os tags OPC disponíveis; escolha Sim para as duas perguntas.

Será aberta a tela de Importação de Tags OPC. Selecione à direita, dentro da pasta Dados, o TagDemo1 e arraste-o ao GrupoOPC1 à esquerda. Faça o mesmo com o TagInterno1. O resultado final é mostrado na figura abaixo.


Figura 2: Importação de tags

Configure a TelaInicial conforme a Figura 3. Associe os dois displays à esquerda a propriedade Value dos Tags OPC e o setpoint à direita à propriedade Value do TagInterno. Habilite a propriedade MultiLine do TextBox (TRUE).


Figura 3: Tela Inicial

Para verificar o funcionamento do aplicativo, execute o projeto antes de partir para a implementação dos scripts de escrita em arquivo. Na TelaInicial, os valores do tag interno e do tag interno via OPC devem ser iguais. Modifique os valores em um setpoint, e repita estes valores em outro setpoint.

Scripts

Feita a confirmação de que os dados estão sendo corretamente enviados e recebidos através do protocolo OPC, será feita a implementação dos scripts de escrita e leitura em arquivos texto.

O primeiro item a ser logado para arquivos é a identificação do servidor OPC, assim que este for iniciado. Isso acontece após o domínio ter sido executado. As propriedades ID e Name do Servidor, assim como o nome do objeto DriverOPC no E3, aparecerão no início do arquivo.

Para isso, adicione o seguinte script no evento OnStartRunning do DriverOPC:

Const ForReading = 1, ForWriting = 2, ForAppending = 8

Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("C:\LogOPC.txt", ForWriting, True)

f.WriteLine Name
f.WriteLine CStr( "ServerID: " & ServerId )
f.WriteLine CStr( "ServerName: " & ServerName )
f.WriteLine

f.Close

Para que a cada variação de valor dos tags OPC seja adicionada uma nova linha no arquivo de log, crie um novo evento chamado Change em cada um dos tags OPC e associe-o à propriedade Value. A Figura 4 ilustra como implementar esses eventos.


Figura 4: Criando novos eventos

Depois de criados os novos eventos, insira o código abaixo em cada um deles. Como o script foi desenvolvido, pode-se apenas copiar o código de um evento para outro, sem a necessidade de modificações.

set Valor = Item(1) 'Aponta para a propriedade Value do tag.
DateTime = Valor.TimeStamp
Grupo = Parent.Name

' Adiciona linhas no arquivo de log.
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso, f

Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("C:\LogOPC.txt", ForAppending, False)

' Hora do Evento Grupo Nome da variável Valor
f.WriteLine DateTime & " " & Grupo & " " & Name & " " & Valor
f.Close

Para permitir a visualização do arquivo gerado, será criado um script para sua leitura. Para isso, insira o código abaixo no evento Click do botão da TelaInicial:

Const ForReading = 1, ForWriting = 2

Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("C:\LogOPC.txt", ForReading)

Screen.Item("TextBox1").Value = f.ReadAll
f.Close

Execute a aplicação e verifique o resultado dessas implementações.

3) Considerações Finais

Frequentemente, o uso de arquivos de log auxilia na localização de erros em aplicativos desenvolvidos, principalmente no que se refere a objetos que são executados no servidor, como tags, históricos, etc. Para isso, uma interessante ferramenta disponível na linguagem VBScript é o acesso a esses arquivos através de objetos FileSystemObject, que têm um poderoso conjunto de métodos para leitura e escrita em arquivos. A documentação completa desse objeto, assim como outros exemplos de uso, estão no tutorial sobre VBScript que acompanha a instalação do E3.

Anexos:

arquivo-texto

Este artigo foi útil? Was this post helpful?
Yes0
No0

Deixe seu Comentário

Seu endereço de e-mail não será publicado. Campos marcados com asterisco são obrigatórios *