Depuração

A depuração permite acompanhar e alterar, em tempo real, os valores das variáveis da aplicação em execução no equipamento conectado. Ela é controlada pela atividade Executar (CTRL + SHIFT + D) e apresentada no painel CONSOLE DE DEPURAÇÃO.

Ver também

Para o passo a passo, veja Monitorar e alterar variáveis com o equipamento rodando.

../../_images/executar_console.png

Fig. 100 Atividade Executar com a sessão ativa e o CONSOLE DE DEPURAÇÃO monitorando variáveis da aplicação em execução no controlador.

Pré-requisitos:

  • um equipamento conectado (ver Gerenciamento do dispositivo) com a aplicação do projeto aberto carregada e ativa;

  • a aplicação compilada no OnStudio com as mesmas fontes, para que os endereços das variáveis correspondam aos do equipamento.

Sessão de depuração

  • Iniciar (atividade Executar ou menu Executar ‣ Iniciar): abre a sessão de depuração com o equipamento e começa a atualização das variáveis monitoradas. Enquanto a sessão está ativa o comando muda para Parar.

  • Abrir Depuração: mostra o painel CONSOLE DE DEPURAÇÃO.

A sessão é encerrada automaticamente quando a aplicação é substituída (upload concluído; o ambiente tenta reconectar a depuração automaticamente), excluída, quando o dispositivo é reiniciado ou colocado em modo bootloader, ou quando o servidor encerra a sessão. Se a conexão com o serviço OnStudio cair durante a depuração (por exemplo, quando o serviço é reiniciado), o ambiente tenta reconectar a sessão automaticamente até o serviço voltar a responder, e avisa se não conseguir. Não é possível iniciar a depuração durante um upload nem quando o controlador está sem programa.

O intervalo de atualização e o número máximo de elementos de vetor apresentados são definidos em Configurações ‣ Preferências ‣ Depuração (ver Configurações) e no cartão Configuração de Debug das propriedades do recurso.

Console de depuração

A tabela do console apresenta uma linha por variável monitorada:

Coluna

Conteúdo

Hab.

Habilita ou desabilita a monitoração da linha.

Nome

Nome completo da variável (Programa.variavel, variavel_global ou io.canal). Variáveis estruturadas e vetores são apresentados como grupos expansíveis.

Tipo

Tipo IEC da variável.

Formato

Formato de apresentação do valor (decimal, hexadecimal, binário etc., ver Tipos de dados e Formatos), alterável por linha.

Valor

Valor corrente. Variáveis de tipos enumerados apresentam o valor seguido do nome do item (por exemplo 3 - OPERANDO), conforme a aplicação carregada no equipamento. O campo é editável: digite o novo valor e confirme para escrevê-lo no equipamento (o comando Escrever variáveis em depuração pode estar bloqueado pelos recursos de segurança).

Ações

Adicionar variável antes, Adicionar variável depois, Alternar depuração, Remover linha.

O console pode manter várias visualizações (abas View 1, View 2 …), criadas pelo botão +, cada uma com a sua lista de variáveis. Os botões do painel oferecem Adicionar variável, Remover tudo, Iniciar / Parar e a alternância da apresentação em Tabela.

Adicionar variáveis

../../_images/dlg_adicionar_variavel.png

Fig. 101 Diálogo Adicionar variável com as sugestões agrupadas por origem.

As variáveis podem ser adicionadas ao console de três formas (além de pedidos ao assistente IA):

  • pelo menu de contexto Adicionar à Depuração sobre o nome da variável no editor ST;

  • pelo ícone de depuração da linha nas tabelas de variáveis globais e locais;

  • pelo botão Adicionar variável do console, digitando parte do nome e selecionando a sugestão nos grupos Global (Recurso), Variáveis de POU e Canais de I/O (io). As variáveis são identificadas pelo nome completo:

    • global: RECURSO.VARIAVEL (por exemplo RESOURCE_01.SETPOINT_NIVEL);

    • variável de programa: POU.VARIAVEL (por exemplo MAIN.CONTADOR);

    • membro de uma instância de bloco de função: POU.INSTANCIA.MEMBRO (por exemplo MAIN.BOMBA.PARTIDAS). O grupo Variáveis de POU sugere as entradas, saídas e variáveis internas de cada instância declarada no projeto;

    • canal de E/S: io.CANAL.

    As variáveis de um bloco de função só existem dentro das suas instâncias: um nome como FB_BOMBA.PARTIDAS (o tipo do bloco, sem instância) não é aceito.

Para vetores é possível indicar um elemento ou um intervalo (vetor[2], vetor[0:10]); o ambiente valida o índice contra a dimensão declarada e o máximo de itens configurado. Variáveis temporárias e resultados intermediários não são depuráveis.

Dica

A lista de variáveis do console (visualizações, linhas e seleção) é gravada no projeto ao salvar e restaurada ao abri-lo, permitindo parar e reiniciar a sessão, ou retomar o trabalho em outro dia, sem reconstruí-la. As variáveis adicionadas pelo assistente IA também são gravadas.