.. include:: glb_defs.txt .. _`ladder_editor`: Editor Ladder ############## .. |le| replace:: elementos do programa ladder Uma das mais flexíveis características dos controladores lógicos programáveis é o fato deste tipo de equipamento ser configurável, tanto do ponto de vista de hardware, quanto de software de aplicação. Esta abordagem, entretanto, define que os equipamentos quando fornecidos pelos fabricantes devem ser configurados e programados, estando portanto não operacionais antes destas etapas terem sido realizadas. Utilizando o Editor Ladder o usuário pode criar o programa de aplicação que será posteriormente carregado no controlador, para que o mesmo possa operar da forma desejada de acordo com o processo conectado ao controlador. Para acesso ao Editor Ladder deve existir um projeto carregado no ambiente e um equipamento já configurado através do comando Controlador Programável no menu Programa. Uma vez executados os procedimentos mencionados, ao ativar o comando "Editor Ladder" é apresentada a tela a seguir: .. image:: _img/editor_ladder.png :width: 60% :align: center Nesta tela existem 3 regiões distintas para acesso a comandos, elementos do programa e edição do programa Ladder. 1. :ref:`editor_ladder_commands` #. |le| #. :ref:`Editor Diagrama Ladder` .. _`Editor Diagrama Ladder`: Editor do diagrama ladder *************************** Um diagrama Ladder ou diagrama de relés é um padrão de documentação definido e utilizado originalmente para documentação de circuitos de comandos elétricos. Este tipo de documentação utiliza normalmente duas barras horizontais para indicar o circuito principal de alimentação e distribui entre estas duas barras os símbolos dos elementos elétricos utilizados no comando implementado, conforme exemplo apresentado a seguir. .. image:: _img/ed_ladder_rele_sw1.jpg :width: 30% :align: center Neste exemplo é apresentado o diagrama Ladder de um circuito simples de iluminação domiciliar. Nele, os identificadores L e N representam as linhas de energia do circuito elétrico (Fase e Neutro), enquanto SW1 é a representação de um interruptor elétrico e L1 representa uma lâmpada. Quando a chave SW1 é fechada a corrente I circula pela lâmpada acendendo-a. Este tipo de diagrama é largamente utilizado em esquemas de painéis de controle e intertravamento de sinais em máquinas e processos. No exemplo acima o diagrama apresenta uma única lógica composta por 2 elementos (SW1 e L1). Um diagrama Ladder normalmente é constituído de várias lógicas onde cada uma delas pode conter 1 ou mais elementos. Estes elementos executam ações específicas e são distribuídos no diagrama de acordo com a funcionalidade desejada. Contatos e relés ***************** Para efetuar o controle de uma máquina ou processo, é necessário que o equipamento de controle possa ler informações do processo e possa também enviar comandos para controlar o mesmo. No exemplo acima, considerando que o processo a ser controlado pelo equipamento é o acendimento da lâmpada, seria necessário que a informação do estado do interruptor fosse enviada para o controlador e o mesmo fosse capaz de ligar e desligar a lâmpada. A figura a seguir apresenta como seria a forma de conectar os dispositivos (interruptor e lâmpada) no equipamento de controle (Controlador Lógico Programável). .. image:: _img/clp_processo.jpg :width: 40% :align: center Desta forma, o controlador deveria "ler" o estado do interruptor SW1 e se o mesmo estivesse ligado (fechado) o controlador deveria ligar a lâmpada L1 e vice versa. De uma forma genérica, os dispositivos de entrada que fornecem informações lógicas (ligado/desligado) são representados internamente no controlador lógico programável como contatos. Estes contatos podem ser basicamente de 2 tipos conforme descrito na tabela a seguir: .. |a| image:: ../shared_img/_cmd/k3.png .. |b| image:: ../shared_img/_cmd/k4.png +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |Dispositivos de entrada | +=============================+==========+==============================================================================================================================+ |Títulos de contatos |Símbolos |Descrição | +-----------------------------+----------+------------------------------------------------------------------------------------------------------------------------------+ |Normalmente aberto | |a| |Quando energizado (ativado) pelo programa do controlador, liga a saída associada, ativando o elemento conectado à mesma. | +-----------------------------+----------+------------------------------------------------------------------------------------------------------------------------------+ |Normalmente fechado | |b| |Quando o dispositivo conectado estiver desativado o contato associado internamente no controlador estará fechado e vice-versa.| +-----------------------------+----------+------------------------------------------------------------------------------------------------------------------------------+ Utilizando os símbolos apresentados, o programa do controlador para efetuar o controle da lâmpada, conforme o diagrama Ladder apresentado anteriormente, pode ser implementado da seguinte forma: .. |c| image:: ../shared_img/_cmd/k6.png +----------------------------------------------------------------------------------------------+ |Controle da lâmpada | +=====================+=========+==============================================================+ |Tipo de saída |Símbolo |Descrição | +---------------------+---------+--------------------------------------------------------------+ |Relé | |c| |Quando energizado (ativado) pelo programa do controlador, | | | |liga a saída associada, ativando o elemento conectado à mesma.| +---------------------+---------+--------------------------------------------------------------+ .. image:: _img/editor_ladder_4.png :width: 60% :align: center Note que o diagrama apresentado foi rotacionado de 90° no sentido anti-horário, de forma que as linhas de energização agora são representadas pelas 2 linhas verticais do editor. O contato SW1 é uma entrada lógica (Digital) do controlador, enquanto o relé L1 é uma saída lógica. A linha abaixo com o elemento "End" tem por finalidade indicar o fim do programa Ladder. Utilizando portanto o Editor Ladder, o usuário pode construir programas em forma de um diagrama Ladder, que serão capazes de ler do processo as informações fornecidas através de sensores (chaves, sensores indutivos, óticos, magnéticos etc.) e interagir com o mesmo controlando atuadores (válvulas, motores, lâmpadas, cilindros etc.). As condições para que esta atuação aconteça será definida pelas lógicas implementadas no programa de controle. A linguagem Ladder dentro do ambiente possui, além dos contatos e relés mencionados anteriormente, um vasto conjunto de elementos de controle como blocos Contadores, Flip-flops, Temporizadores, blocos de controle PID etc. Uma base de dados com recursos para representação de valores lógicos, inteiros, reais e strings se integram a elementos para execução de funções matemáticas (adição, multiplicação, extração de raiz quadrada, exponenciação etc.), funções lógicas e de comparação. Todos estes elementos estão disponíveis na barra de elementos do editor para utilização. Ver |le|. Além de permitir a inserção dos elementos do programa de controle, o Editor Ladder permite que o usuário inclua textos para documentação das lógicas que são fundamentais para que o programa possa ser facilmente compreendido posteriormente e ainda facilita o processo de manutenção do software. Menu de comandos do editor ladder ************************************ Clicando-se com o botão direito do mouse na tela do editor é apresentado um submenu conforme figura a seguir: .. image:: _img/editor_ladder_5.png :width: 60% :align: center ========================== ====== ======== ===================================================================== Submenu de Comandos =================================================================================================================== Comando Obs. Atalho Descrição -------------------------- ------ -------- --------------------------------------------------------------------- Identifica Operando |Z1| F7 Abre o painel de identificadores das variáveis da aplicação e posiciona o cursor no campo de Descrição do identificador selecionado pelo cursor do Editor Ladder. Define Tag para operando |Z1| F9 Abre o painel de identificadores das variáveis da aplicação e posiciona o cursor no campo de Tag do identificador selecionado pelo cursor do Editor Ladder. Especifica Constante |Z2| Ctrl-Q Abre o painel de descritores posicionando o cursor na coluna do valor da constante definida na posição do cursor. Edita Operando |Z1| F6 Permite o usuário, definir ou redefinir, o identificador associado ao parâmetro selecionado pelo cursor. Tag´s dos Operandos F2 Se selecionado, apresenta o Tag definido para os parâmetros dos elementos (ex. SW13). Caso contrário, apresenta os identificadores das variáveis (ex M0005). Esta opção é válida se o modo de apresentação estiver selecionado para apresentar os identificadores dos parâmetros. Valores em Hexadecimal Nenhum Selecionado, apresenta os valores das variáveis hexadecimal. Caso contrário, apresenta os valores em decimal. Esta opção é válida se o modo de apresentação estiver selecionado para apresentar os valores dos parâmetros. Documentação do programa Nenhum Se selecionado, na tela os comentários inseridos em cada lógica pelo usuário. Caso contrário, apresenta apenas o programa Ladder(sem comentários). Insere Documentação |Z3| F5 Abre um campo no Editor Ladder logo acima da posição corrente do cursor, para que o usuário possa inserir documentação no programa Ladder. Expande documento |Z6| Nenhum Acrescenta na documentação acima do cursor, 3 linhas proporcionando mais espaço para documentação. Reduz documento |Z4| Nenhum Diminui 3 linhas da área reservada para documentação acima do cursor. Copiar Bloco |Z5| CTRL C Copia o bloco marcado para o Clipboard. Cortar Bloco |Z5| CTRL X Copia o bloco marcado para o Clipboard e prepara para eliminar o bloco do editor. Colar Bloco |Z6| CTRL V Transfere o bloco copiado do Clipboard para o editor, a partir da linha selecionada pelo cursor. Se o bloco foi copiado com o comando cortar, após a cópia, elimina o bloco selecionado. Início de Bloco CTRL I Marca a linha inicial para operação de copiar e cortar. Fim de Bloco CTRL F Marca a linha final para operação de copiar e cortar. Desmarca Bloco |Z5| CTRL R Desmarca o bloco selecionado. Elimina Bloco |Z5| Nenhum Elimina o bloco selecionado sem efetuar a cópia para o Clipboard. Vai para ... CTRL G Quando ativado em um elemento de bloco de lógica (BLK), move o cursor para o início da implementação do bloco. Quando ativado em um elemento de início de lógica (BBK) move o cursor para a primeira referencia de chamada do bloco. A partir deste ponto, o comando CTRL+P posiciona o cursor nas próximas referências ao mesmo bloco que existirem no programa. ========================== ====== ======== ===================================================================== Algumas das opções do menu poderão não serem apresentadas visto que as mesmas dependem da posição corrente do cursor do editor. .. rst-class:: tbobs ====== ============================================================================ |obs| |Z1| opção apresentada quando o cursor está sobre um operando qualquer. \ |Z2| opção apresentada quando o cursor está sobre uma constante. \ |Z3| comando disponível quando a linha do cursor não possui comentário. \ |Z4| comando disponível quando a linha do cursor possui comentário. \ |Z5| comando disponível quando há um bloco definido. \ |Z6| comando disponível quando há um bloco copiado no clipboard. ====== ============================================================================ .. _`editor_ladder_commands`: Lista de comandos do editor ladder ************************************* Os comandos de edição estão disponíveis na barra de botões presente no :ref:`ladder_editor` ou através das teclas de função associadas quando a tela do editor ladder estiver selecionada. Tabela de Comandos de Edição ****************************** .. |1a| image:: ../shared_img/_cmd/m15.png :target: prg_ProcSubstituiOper.html .. |1b| image:: ../shared_img/_cmd/m16.png :target: prg_ProcProxOper.html .. |1c| image:: ../shared_img/_cmd/n8.png :target: prg_AlternaContatos.html .. |1d| image:: ../shared_img/_cmd/m17.png :target: prg_ListaIdentific.html .. |1e| image:: ../shared_img/_cmd/m18.png :target: prg_EditaOperSelec.html .. |1f| image:: ../shared_img/_cmd/n1.png :target: prg_CopiaBloco.html .. |1g| image:: ../shared_img/_cmd/n2.png :target: prg_CortaBloco.html .. |1h| image:: ../shared_img/_cmd/m19.png :target: prg_ColaBloco.html .. |1i| image:: ../shared_img/_cmd/n3.png :target: prg_InsereLinha.html .. |1j| image:: ../shared_img/_cmd/n4.png :target: prg_EliminaLinha.html .. |1k| image:: ../shared_img/_cmd/n5.png :target: prg_ProcOperDisp.html .. |1l| image:: ../shared_img/_cmd/b9.png :target: prg_AmbProgMMI.html .. |1m| image:: ../shared_img/_cmd/n9.png :target: prg_CompCarDep.html .. |1n| image:: ../shared_img/_cmd/n7.png :target: prg_AuxElem.html .. |1o| image:: ../shared_img/_cmd/n10.png :target: prg_AuxEditor.html .. |1p| image:: ../shared_img/_cmd/o1.png :target: prg_AbandonaAlteraEditor.html .. |1q| image:: ../shared_img/_cmd/n13.png :target: prg_SalvaProgDisco.html .. |1r| image:: ../shared_img/_cmd/n16.png :target: prg_AtivaDepur.html ====== ================ ========================================================================= Ícone Tecla de Atalho Função ------ ---------------- ------------------------------------------------------------------------- |1a| F3 Substitui operando |1b| CTRL+P Procura próxima ocorrência do operando |1c| CTRL+N Alterna contatos |1d| F6 Lista identificadores |1e| F7 Edita operando selecionado |1f| CTRL+C Copia bloco de lógica |1g| CTRL+X Corta bloco de lógica |1h| CTRL+V Cola bloco de lógica |1i| CTRL+INS Insere linha na posição do cursor deslocando o comentário nenhum SHIFT+INS Insere linha na posição do cursor não o comentário |1j| CTRL+DEL Elimina linha na posição do cursor removendo o comentário associado nenhum SHIFT+DEL Elimina linha na posição do cursor não removendo o comentário associado |1k| CTRL+D Procura operador disponível |1m| CTRL+Z Compila/Carrega/Depura |1n| CTRL+H Auxílio do elemento |1o| F1 Auxílio do editor |1p| Nenhuma Abandona alterações do editor |1q| Nenhuma Salva programa corrente em disco |1r| Nenhuma Ativa o :ref:`depurador` ====== ================ ========================================================================= .. only:: hitec or incon ====== ================ ============================================================================= Ícone Tecla de Atalho Função ------ ---------------- ----------------------------------------------------------------------------- |1l| Nenhuma Abre ambiente de programação da IHM para os equipamentos com IHM incorporada ====== ================ ============================================================================= Nas sessões seguintes são detalhados os comandos de edição associados ao :ref:`ladder_editor` .. raw:: pdf PageBreak .. toctree:: :maxdepth: 1 :caption: Comandos do editor ladder prg_ProcSubstituiOper prg_ProcProxOper prg_AlternaContatos prg_ListaIdentific prg_EditaOperSelec prg_CopiaBloco prg_CortaBloco prg_EliminaBloco prg_ColaBloco prg_InsereLinha prg_EliminaLinha prg_ProcOperDisp prg_CompCarDep prg_AuxElem prg_AuxEditor prg_AbandonaAlteraEditor prg_SalvaProgDisco prg_AtivaDepur .. .. only:: hitec or incon .. toctree:: :maxdepth: 1 :caption: Comandos adicionais prg_AmbProgMMI .. .. toctree:: :hidden: prg_EliminaBloco .. .. _`Editor Ladder Barra de Status`: Barra de status do Editor **************************** A barra de status está localizada na parte superior do painel do Editor Ladder e está dividida em 6 campos com funcionalidades específicas. .. image:: _img/editor_ladder_barra_status.png :width: 60% :align: center A tabela a seguir descreve os campos presentes na barra de status do editor Ladder ======================================= ============================================================================ Campo Funcionalidade --------------------------------------- ---------------------------------------------------------------------------- L:002 Apresenta o número da linha onde o cursor está posicionado. C:02 Apresenta o número da coluna onde o cursor está posicionado. Dec Indica o formato de apresentação dos valores no depurador. Pode ser decimal (**Dec**) ou hexadecimal (**Hex**). VOR Indica se o operando selecionado pelo cursor é volátil (**VOR**) ou não volátil (NVRAM - **NRV**). TAG: AQ_TEMP Nome do TAG do operando selecionado pelo cursor M0010 Apresenta o número e tipo de variável selecionada pelo cursor. Tempo corrente p/início de aquecimento Apresenta o descritor da variável selecionada pelo cursor. ======================================= ============================================================================ .. tip:: Para alterar a aparência (cores) do Editor Ladder, selecione a opção :ref:`project_menu` > :ref:`Opções` > :ref:`Preferências` > aba :ref:`Editor/Depurador`. .. raw:: pdf PageBreak