Utilizando ferramentas de diagnose


Introdução

O software Action.NET possui duas ferramentas de diagnóstico que podem ser utilizadas para verificar o comportamento de uma aplicação em desenvolvimento: Janela WATCH e janela TRACE.


Janela Watch

Esta ferramenta é uma janela dividida em dois quadros, conforme mostra a figura abaixo, cujos principais objetivos são:

n        Simular off-line o valor de objetos e de suas propriedades;

n        Acompanhar, on-line, o estado dos objetos e suas propriedades:

Na figura pode-se visualizar:

1.      O quadro da esquerda, possui quatros abas (List1 a List4) onde o projetista da aplicação pode agrupar objetos de um mesmo tipo. Assim, por exemplo, na aba <List1> da figura abaixo se colocou tags de um mesmo religador @Tag.GZM_01Z4_D00060.

n        Se o projetista não estiver conectado aos IEDs e alterar o valor do tag, manualmente, serão executadas todas as ações da aplicação associadas a esta alteração.

n        Se o projetista estiver conectado a algum IED, on-line, o valor de cada tag cuja origem é o IED será o valor que está vindo do campo.

2.      O quadro da direita, contém as propriedades do objeto selecionado no quadro da esquerda. No exemplo abaixo, propriedades do objeto <@Tag.BVA_01C4_E01799.MED.A_A>.

n        Se o projetista não estiver conectado aos IEDs, ele pode alterar o valor de uma propriedade, manualmente, e verificar se os tratamentos previstos para esta alteração ocorrerão.

n        Se o projetista estiver conectado a IEDs, os valores destas propriedades referem-se a condições associadas ao objeto. Assim, no exemplo, o objeto possui qualidade = 0 (ponto com falha), sua última leitura foi no 10/09/2018 17:35:58.690 (estampa de tempo), etc.

inset_1.jpg 

 


Janela Trace

Esta ferramenta permite que se depure rotinas associadas aos diversos módulos do programa ActionₒNET. Assim, por exemplo, se foram desenvolvidos vários códigos de Scripts associados a uma janela de comando, pode-se definir que o módulo de Display (responsável por apresentar telas da aplicação) seja rastreado e, dentro do código dos Scripts, pode-se colocar comandos que incluem informações na janela do trace, como o comando abaixo, sublinhado em vermelho: <@Info.Trace(txtAux + "_L");> que irá colocar na janela de Trace o valor da variável Txtaux concatenada com o string “_D”.

inset_2.jpg

 


Ativando as Ferramentas de Diagnóstico

Quando o usuário vai ativar o run-time da aplicação, é possível definir quais ferramentas de diagnóstico serão ativadas junto com a aplicação (ver seleção em vermelho), assim como quais módulos da aplicação serão ativados (ver seleção em verde):

Uma vez ativada a aplicação, é apresentada a janela abaixo, com o estado de todos os módulos da  aplicação:

inset_4.jpg

 

inset_3.jpg

 

 

Na figura do exemplo acima, todos os módulos estão ativados, a menos do Devices e do Reports

inset_6.jpg

Assim, por exemplo, se o usuário faz uma alteração no módulo de Devices, que trata a comunicação com IEDs, basta parar o módulo e após reativá-lo.

Se ao ativar a aplicação o projetista não ativou o Watch ou Trace, basta pressionar os botões acima de Watch e Trace para iniciá-los.


Usando o Watch

Quando ativado, este módulo vem com todos os campos vazios. Para inserir objetos em cada uma de suas abas, basta teclar a letra associada ao objeto (por exemplo, tag) que através da propriedade de “intellisense” (código inteligente) são mostrados os possíveis objetos associados àquela letra, como mostram as figuras abaixo:

Ao digitar <H> são apresentados diversos objetos onde em destaque cinza <Historian> aparece o primeiro objeto que emparelha com a letra <H>.

inset_0.jpg

 

Foi inserido através de “Intellisense” o nome <tag.A1.> e ao ser inserido ponto após o A1 (alimentador 1) são apresentados todos os pontos deste alimentador.

inset_5.jpg

 

Foi selecionado o ponto <Tag.A1.DJ.PCOND> e ao ser inserido o ponto são apresentadas todas as propriedades associadas a este ponto. Dessa forma, é possível selecionar apenas as propriedades que se pretende depurar em um agrupamento de pontos.

inset_9.jpg

 

Concluindo, através do Watch adicionam-se vários objetos a uma aba da janela, os quais se pretende analisar o comportamento, como mostra a figura abaixo:

inset_7.jpg

 

 

Quando a aplicação é encerrada, esta janela é mantida de forma que ao reiniciar a aplicação, todos os objetos colocados são mantidos, isto é, se em cada aba foram inseridos 20 objetos, os mesmos permanecerão quando a aplicação for reativada.

Uma forma mais rápida de se incluir pontos em uma aba é importá-los de uma planilha Excel, gerada como apresentada em capítulos anteriores. O exemplo apresentado na figura abaixo mostra uma planilha Excel gerada a partir do template de um Alimentador, onde adicionou-se o o header das colunas: Object / Value. Após gerar esta planilha, com todos os tags do Alimentador 1, basta copiar as colunas em cinza e cola-las em uma das abas da ferramenta Watch.

inset_10.jpg

 

 

 

 

inset_8.jpg

 


Usando o Trace

O Trace, como dito acima, permite que se faça o rastreamento de módulos do ActionₒNET. Ao ser ativado, como mostrado na figura abaixo, é aberta uma janela para que o projetista da aplicação selecione as opções de depuração. O botão de <Settings> abre uma segunda janela com as possíveis opções.

inset_11.jpg

 

Uma vez definidas as opções o usuário o projetista da aplicação fecha esta janela (Close) e ela ficará associada a este projeto sempre que o mesmo for ativado.

Os botões da janela de Trace são:

n        Settings: abre a janela com opções de depuração;

n        Clear: limpa todas as linhas desta janela;

n        Pause: para de inserir linhas na planilha, em função da execução da aplicação;

n        Export: Esporta os dados para uma planilha XML;

n        Close: Fecha a janela de Trace.

Janela de Opções do Trace

Esta janela é subdividida em quatro secções:

1.      Rastreamento de Objetos: permite selecionar objetos como, por exemplo, tags, Scripts, etc. que sempre que utilizados / alterados provocam a criação de uma nova linha na janela de Trace informando a modificação. Os objetos suportam “Intellisense” e os botões <Add>, <Remove> e <Clear> são utilizados para executar estas ações na lista.


inset_12.jpg

 

2.      Módulos que serão Rastreados: permite que o projetista selecione um ou mais módulos dentre os existentes no ActionₒNET. Além da seleção do módulo é possível selecionar os tipos de eventos associados ao módulo: Error, Warning, Info e Debug.

3.      Outputs (saídas): define onde serão escritas as linhas de rastreamento, se na matriz de Trace e/ou em um arquivo no formato XML.

4.      Tema da Janela: permite escolher a cor da janela dentre quatro possíveis.


Solução de Problemas de comunicação

Registros de operações (LOG)

O protocolo utiliza um sistema de registro de LOG em arquivo de texto e em evento do Windows. Existem quatro tipos de mensagem: Debug, Info, Warning e Error.

Debug

Mensagens em nível mais baixo. Utilizada quando necessita-se identificar com mais detalhes cada processo. Geralmente utilizada por desenvolvedores, testadores e integradores.

Info

Mensagens de informações importantes para acompanhamento do funcionamento do Módulo de comunicação.

Warning

Mensagens de aviso, as quais podem ser ignoradas ou necessitam ser verificadas.

Error

Mensagens de erro, que não podem ser ignoradas e necessitam de atenção e correção imediata para o funcionamento correto do Módulo de comunicação.

Trace Window do Action.NET

O Action.NET possui a janela trace, que é executada no servidor e apresenta o registro de operações em tempo real de cada canal e nó. Ela possui 4 colunas importantes (Info 1, Info 2, Info 3 e Info 4), as quais, informam o Canal, Nó, Endereço do ponto e método executado pelo driver.

Evento do Windows

O Módulo de comunicação está configurado internamente para registrar sempre todas as mensagens de Warning e Error. Essa regra independe da configuração de nível de log definida.

O formato da mensagem é composto por: Canal, Nó (quando houver), Endereço do ponto (quando houver), Data/Hora, Tipo da mensagem, Thread, Método e mensagem.

Arquivo de texto

O Módulo de comunicação irá registrar as mensagens baseado no nível hierárquico definido na configuração de canal (Sessão 2 do Manual).

O diretório é composto por pastas para cada canal e nó que foi inicializado. A raiz encontra-se em: C:\Action.NET\Projects\Logs\Drivers\

O arquivo de texto é criado no formato: Log-DIA-MES-ANO.log

Por exemplo, se configurado o armazenamento máximo de 30 arquivos, cada um com tamanho máximo de 35 Megabytes. A cada ciclo de dia um arquivo é criado, caso o mesmo não tenha ultrapassado o tamanho máximo. Caso, esse tamanho seja ultrapassado uma vez. Uma cópia do arquivo do dia com final .1 será criada e será criado um outro novo arquivo. Se o estouro se repetir no mesmo dia. O arquivo novo substitui a cópia e é iniciado um novo arquivo. Se não, um novo ciclo de arquivo diário é criado. Sendo assim, cada nó poderá armazenar aproximadamente 1076 Megabytes em disco.

O formato da mensagem é composto por: Endereço do ponto (quando houver), Data/Hora, Tipo da mensagem, Thread, Método e mensagem.