Utilizando ferramentas de diagnose
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.
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.
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”.
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:
Na figura do exemplo acima, todos os módulos estão ativados, a menos do Devices e do Reports
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.
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>.
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.
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.
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:
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.
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.
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.
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.
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
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. |
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.
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.
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.