Prévia do material em texto
CONTROLADOR Escola de Educação Profissional SENAI Ney Damasceno FerreiraSUMÁRIO INTRODUÇÃO 3 1 APLICAÇÕES 4 2 LINGUAGEM DE PROGRAMAÇÃO 5 3 SISTEMAS DE NUMERAÇÃO 6 4 SINAIS DE ENTRADA E SAÍDA DE UM CP 7 5 COMPONENTES DO CP 8 6 ENTRADAS E SAÍDAS DOS CLPs, COM EXEMPLOS 9A 7 PRINCÍPIO DE FUNCIONAMENTO DE UM CP 10 80 PROGRAMADOR MASTERTOOL 12 8.1 FORMATO DE UMA LÓGICA 13 8.2 PROGRAMAÇÃO DA LÓGICA 13 8.3 ESTRUTURAÇÃO DO PROJETO DE PROGRAMAÇÃO 15 8.4 TIPOS DE MÓDULOS DE PROGRAMA 16 8.4.1 MÓDULO 16 8.4.2 MÓDULO E 16 8.4.3 MÓDULO P 18 8.4.4 MÓDULO F 18 8.5 ESTADOS DE OPERAÇÃO DO CP 20 8.5.1 ESTADO DE INICIALIZAÇÃO 20 8.5.2 ESTADO DE EXECUÇÃO 20 8.5.3 ESTADO DE PROGRAMAÇÃO 20 8.5.4 ESTADO CICLADO 21 8.5.5 ESTADO DE ERRO 21 8.6 EXECUÇÃO DO PROJETO DE PROGRAMAÇÃO 22 8.7 OPERANDOS 23 8.7.1 OPERANDOS SIMPLES 23 8.7.2 OPERANDO CONSTANTE 24 8.7.3 OPERANDO TABELA 24 8.7.4 OPERANDO MEMÓRIA 34 8.8 INSTRUÇÕES 25 8.8.1 GRUPO DE INSTRUÇÕES RELÉ 25 8.8.1.1 CONTATO ABERTO (RNA) 25 8.8.1.2 CONTATO NORMALMENTE FECHADO (RNF) 26 8.8.1.3 BOBINA SIMPLES (BOB) 27 8.8.1.4 BOBINA LIGA (BBL) 28 8.8.1.5 BOBINA DESLIGA (BBD) 29 8.8.1.6 RELÉ DE PULSO (PLS) 30 8.8.1.7 RELÉ MESTRE (RM) 31 8.8.1.8 FIM DE RELÉ MESTRE (FRM) 32 8.8.1.9 BOBINA DE SALTO (SLT) 33 8.8.2 GRUPO DE INSTRUÇÕES CONTADORES 35 8.8.2.1 TEMPORIZADOR NA ENERGIZAÇÃO (TEE) 35 8.8.2.2 TEMPORIZADOR NA DESENERGIZAÇÃO (TED) 368.8.2.3 CONTADOR SIMPLES (CON) 37 8.8.3 INSTRUÇÃO DE COMPARAÇÃO 44 8.8.3.1 CAR, =,>,FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL INTRODUÇÃO Consiste em um micro para aplicações dedicadas à realização de tarefas específicas, para atender a uma determinada necessidade definida em projeto, ou seja, onde existir um sistema a ser controlado ou automatizado, existirá a possibilidade de seu emprego. Devemos lembrar que trabalho de automação industrial era antigamente realizado por meio de circuitos e relés acionadores. A partir dos desenhos representativos dos controles industriais, eram elaboradas listas de trabalho e posteriormente eram montados em armários elétricos todos esses comando. A fig. 1A nos dá idéia de seqüência operacional, que antigamente era feita, onde cada comando, simbolizado através de um circuito elétrico, era traduzido em uma lista de instruções e desta para uma montagem, alojada normalmente em armários, chamados armários elétricos. Assim, quando fosse necessário efetuar uma modificação no comando, por qualquer motivo, isso implicava em um rearranjo na montagem, via de regra cansativo, demorado e dispendioso. Para quem não tem uma idéia do que era processo, uma modificação às vezes implicava em uma reforma total nos armários elétricos. As substituições das peças em caso de manutenção de montagem, tornavam-se difícieis quando não impossíveis. advento do computador encontrou nessa área de sistemas industrias inúmeras aplicações, uma modificação no comando implica, via de regra, em uma modificação de software e não de hardware(montagem), que representa mais facilidade e economia. controlador programável veio, assim trazer um avanço tecnológico quanto aos componentes. É meio para a técnica de comandos elétricos, já conhecida a muito tempo no campo da eletricidade. Hoje, a técnica de montagem de comandos elétricos segue os passos mostrados na fig. 1B. Circuito K1 K1 K1 K1 5K1 K2 K2 K1 K2 K2 Terminal de programação Lista de instruções K1/13 K2/13 Lista de instruções K1/12 K2/12 AN K1/11 K2/11 10.2 K2/11 K3/11 A 00000 O. O. 0X0X0 X0X0X Controlador programável Montagem elétrica (em armário) 1A 1B Elaborado por Antonio Paulo Leopoldo 3FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL APLICAÇÕES controle de processos industriais ou automação de manufatura é sem dúvida, uma das aplicações de maior impacto; é também onde se alcançou maior sucesso comercial dos microprocessadores. controlador programável pode ao mesmo tempo automatizar uma grande quantidade de informações, substituindo assim o homem com mais precisão, confiabilidade, custo e rapidez. Verificar na fig. 02, um esquema simplificado de um sistema de controle com um CP. Sensores mecânicos Sensores indutores de entrada Sensores capacitivos Sensores Geradores Variáveis de controle Controlador programável ou processo controlado contatores Variável de saida Válvulas Fig. 02 As variáveis de entrada do controlador programável ou variáveis controladas do sistema informam em cada instante as condições do processo. Isso é feito por um deslocamento mecânico, posição de uma haste fim-de-curso, temperatura de um termostato, botoeira, pressão etc., que dão entrada no controlador programável através de um lógico um ou zero, ou seja binário ou nível de sinal analógico. Segundo programa armazenado na memória do controlador e esses dados de entrada, controlador atua sobre processo através de suas saídas, acionando relés, contatores, válvulas etc., realizando desde uma simples operação mecânica em uma máquina-ferramenta até controle total de uma linha de montagem industrial. Elaborado por Antonio Paulo Leopoldo 4FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL LINGUAGEM DE PROGRAMAÇÃO circuito elétrico, agora, será traduzido em uma lista de instruções escrita em uma linguagem de alto nível (linguagem que se assemelha muito à utilizada pelo homem) e desta, através de um terminal de programação, é colocada no controlador programável. Existem varias linguagens de programação para os CPs hoje em dia. Cada fabricante desenvolve a sua própria linguagem ou opta por uma das três linguagens normalizadas pela ISO. Segue, um exemplo das linguagens normalizadas pela ISO. LADDER: também chamada de diagrama de contatos, é a linguagem mais utilizada no mundo, visto ser a mais simples, pois é muito similar ao diagrama elétrico de campo, conforme fig. 04. 000 %E0000.0 %50004.0 fig. 03 DIAGRAMA LÓGICO: linguagem gráfica baseada em portas lógicas, exige um bom conhecimento de eletrônica digital. & 1 fig. 04 LISTA DE INSTRUÇÕES: linguagem descritiva, onde os comandos são definidos, basicamente, pela lógica digital, é a linguagem mais complexa, pois é totalmente descritiva. MAQUINA 2 DESLIGA ESTADO 0 DESL 1 SE LIG=1 ENTAO 1 ESTADO 1 LIGA 1 SE DSL=0 ENTAO fig. 05 Elaborado por Antonio Paulo Leopoldo 5FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL SISTEMAS DE NUMERAÇÃO Os CPs, como todos os computadores, somente conseguem manipular valores representados no sistema binário. Números decimais Base: 10 Posição do algarismo no número: potências de 10 Exemplo: n° 456 = (4 X + (5 X + (6 X Números binários Dígitos: 1 Base: 2 Posição do algarismo no número: potências de 2 Exemplo: n° 0011 = + + + 3 Números Dígitos: 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Base: 16 Posição do algarismo no número: potências de 16 Exemplo: n° 1CD = (1 X + (12 X + (13 16°) = 461 CONCEITO DE BIT, BYTE, NIBBLE E WORD BIT Bit é a unidade para sistema de numeração binário. Um bit é a unidade básica de informação e pode assumir o valor "O" ou "1". NIBBLE Nibble é a unidade formada por 4 bits consecutivos. BYTE Byte é uma unidade constituída de 8 bits consecutivos. Em um CP por exemplo o estado das entradas de um módulo digital de 8 pontos pode ser armazenado em um byte (octeto). WORD Uma palavra é um conjunto de 2 bytes consecutivos. No CP por exemplo, os valores numéricos resultados de operações aritméticas, contagens ou temporizações são armazenados em palavras. Elaborado por Antonio Paulo Leopoldo 6FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAL CONTROLADOR PROGRAMÁVEL SINAIS DE ENTRADA SAÍDA DE UM CP ANALÓGICOS É a representação de uma grandeza que pode assumir, no decorrer do tempo, infinitos valores entre dois limites determinados. Pode-se citar como exemplo de sinais analógicos, a tensão da rede, a tensão gerado por um alternador, a tensão gerada por um tacogerador (tensão que é proporcional a sua velocidade), a tensão gerada por um termopar (tensão proporcional à temperatura) etc. Na figura 6 é ilustrado um sinal analógico. 100% tensão ou corrente tempo fig. 06 DIGITAIS Quando se deseja quantificar uma grandeza analógica, deve-se fracionar valor entre dois limites, em cujo intervalo varia esta grandeza. Quanto maior o fracionamento, maior a precisão de resposta de indicação. valor da leitura é indicado por uma série de algarismos que são chamados de dígitos (do inglês - digit). Daí a expressão digital. Pode-se citar como exemplos de sinais digitais, os sinais gerados por fim de curso, botões, rids, chaves etc. Na figura 7 ilustra sinais digitais tensão ou corrente tempo fig. 07 Elaborado por Antonio Paulo Leopoldo 7FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira CONTROLADOR PROGRAMÁVEL COMPONENTES DE CP ENTRADAS PROCES- MEMÓRIA MEMÓRIA DISPOSI- DE DE SAÍDAS TIVOS SADOR PROGRAMA DADOS DE TERMINAL DE CAMPO PROGRAMA- ÇÃO FONTE DE ALIMEN- FONTE DE ALIMENTAÇÃO TAÇÃO INTERNA EXTERNA fig. O8 TERMINAL DE PROGRAMAÇÃO terminal de programação é um dispositivo que conectado temporariamente ao CP permite introduzir o programa de usuário. Utiliza-se o terminal de programação para efetuar modificações em programas ou para permitir ao pessoal de manutenção exame do estado dinâmico de um sistema de controle. É possível através deste equipamento, verificar a operação própria ou imprópria de qualquer parte do sistema de controle, acompanhando todos os passos do programa em tempo real. Na figura 08 ele esta conectado através da RS-232 UNIDADE CENTRAL DE PROCESSAMENTO (UCP) Na figura 08 esta representada no retângulo maior (processador, memória de programa, memória de dados, fonte de alimentação interna. PROCESSADOR é um microcontrolador responsável por todas as operações realizadas pelo CP (CLP). Possui um programa interno gravado em EPROM (memória somente de leitura, apagável e programável, utiliza-se raios ultravioleta para apagar conteúdo, podendo ser reprogramada sempre que necessário, não perde seu conteúdo quando desenergizada), denominado executivo, que contém sistema operacional para controle da UCP. pragrama executivo gerencia todas as funções da UCP, tais como leitura dos pontos de entrada, atualização dos pontos de saída, execução do programa aplicativo, carga e leitura de programas e comunicação serial com terminais de programação e outras interfaces. Contém ainda uma biblioteca de instruções utilizadas pelo programa aplicativo. MEMÓRIA DE PROGRAMA I, memória de escrita e leitura de dados RAM, onde são armazenados programas aplicativos e valores dos operandos da UCP. Com equipamento desenergizado, os valores dos operandos retentivos e das tabelas são mantidos através da bateria. A UCP sempre executará os módulos de programa contidos nesta memória, permitido que seja feita uma cópia de segurança em uma memória E2PROM ou FLASH EPROM. MEMÓRIA DE PROGRAMA II, onde são armazenadas cópias de "back-up" dos programas aplicativos, denominadas de E2PROM ou FLASH EPROM. Estas cópias se mantêm com a desenergização do equipamento ou com a carga de novos programas em RAM. Memória apagável eletricamente. 8FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAL CONTROLADOR PROGRAMÁVEL CÃO-DE-GUARDA ou WATCHDOG, circuito temporizador que supervisiona estado do microcontrolador, qual envia pulsos periódicos para indicar seu bom funcionamento. Caso microcontrolador deixe de enviar pulsos para o circuito de CÃO-DE-GUARDA, devido alguma anomalia de funcionamento, este circuito desabilita todas as saídas do CP para segurança do controle do processo e interrompe processamento, até que CP seja desenergizado. INTERFACE DE COMINUCAÇÃO, a UCP controla um canal de comunicação serial padrão RS232C/EIA-485 que utiliza para comunicação do CP com seguintes equipamentos mestres: Microcomputadores padrão Computadores industriais Laptop Terminais de programação Interface homem-máquina (IHM) Comunicação ponto-a-ponto ou em rede com os programadores. ENTRADAS DO CONTROLADOR PROGRAMÁVEL, as entradas são as que levarão ao CP as variáveis do sistema, as quais se deseja controlar. As informações das variáveis do sistema são levadas através de sensores: indutivos, capacitivos, fotoelétrico, mecânicos e etc., que fornecem níveis lógicos: um ou zero, que corresponde a +VCC volts e zero volt respectivamente e níveis analógicos de tensão (0 a 10v) ou corrente (4 a 20 mA). Os leds acendem quando um nível lógico 1 (+VCC) é aplicado aos terminais de entrada e isso indica diretamente estado de cada entrada. O número atribuído a cada entrada corresponde a 8 bits ou um byte de informação para CP. SAÍDAS DO CONTROLADOR PROGRAMÁVEL, as saídas apresentam as mesmas características físicas das entradas, só que ao invés de receber os sinais ou informações do sistema através de atuadores controlador programável fornece as informações, através das saídas a atuadores, e podem ser normalmente relés, triacs, transistores, etc. Da mesma forma, as saídas são divididas de 8 em 8 bits ou a cada byte e numeradas em decimal (0.0 a 0.7 1.0 a 1.7 etc.). nível lógico das saídas é da mesma forma 1 ou zero, ou seja, + VCC volts ou zero volt respectivamente ou nível analógico de tensão ou corrente. Os leds das saídas indicam da mesma forma estado lógico de cada saída. Obs.: os valores de tensão ou corrente das entradas ou saídas dos CPs, podem ser diferentes dos citados a cima, dependendo de cada fabricante. ENTRADAS DE CONTAGEM, quando os sinais de entrada tem uma freqüência a cima das entradas digitais, ou seja, passagem do nível alto para baixo muito rápido, você pode utilizar este recurso. Elaborado por Antonio Paulo Leopoldo 9FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL ENTRADAS E SAÍDAS DOS CLPs Detalhes físicos das Entradas e Saídas digitais e analógicas. Geralmente são isoladas para evitar contato elétrico direto com microcontrolador, são usados optoacopladores que garantem elevada tensão de isolação elétrica e alta velocidade de comutação. ENTRADA OSAÍDA PORTA MICROCONTROLADOR ESQUEMA INTERNO Módulo de Entrada Digital em Corrente Contínua Existem dois tipos: Tipo N = os sensores mandam para o CP sinal de negativo. Tipo P = os sensores mandam para CP sinal de retorno positivo. Tipo N 5 Vcc R4 R₁ R₃ Para "port" de leitura LED R₂ C₁ Entrada Tipo P Q+ 5 Vcc R4 R₁ Para "port" de leitura Entrada LED R₂ 9-A Elaborado por Antonio Paulo LeopoldoFIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL ENTRADAS SAÍDAS DOS CLPs Módulo de Entrada Digital em Corrente Alternada Tipo 5 Vcc R4 R5 R₁ Para "port" de leitura R₂ C₁ L2 LED Módulos de Saídas Digitais em Corrente Contínua Tipo N +24V R₂ LED R₁ F1 "Port" R4 de Saída saída R3 Z₁ Tipo P + 5 Vcc R3 R5 F1 Q Saída "Port" R4 de LED saída R₂ 9-B Elaborado por Antonio Paulo LeopoldoFIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL ENTRADAS E SAÍDAS DOS CLPs Módulo de Saída Digital em Corrente Alternada (com triac) Tipo L₂ R₁ R3 Saída C₁ "Port" R4 TR1 de V₁ saída F1 R₂ R5 L₁ Módulos de Saídas Digitais em Corrente e Corrente Alternada ( através de Relés) Tipo + 5 Vcc 24 V R₁ Borne de saída "Port" R4 R3 Q₁ de saída 9-C Elaborado por Antonio Paulo LeopoldoFIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL ENTRADAS E SAÍDAS DOS CLPs Módulos de Entradas e Saídas Analógicas Converte sinais analógicos (em geral de 0 a 10 Vcc ou 4 a 20 mA) em valores numéricos que podem ser utilizados pelo controlador programável. A resolução das analógicas é normalmente de 12 bits, que garante uma sensibilidade de 2,5 mV para sistema, desta forma teremos: Entrada Registro no CLP 0000 5V 2048 10 V 4095 Unidade de Entrada Analógica +12V +5V Entrada A/D Bus do Interface controlador Unidade de Saída Analógica +5V Bus do Saída Interface controlador D/A + 12 V 9-DFIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL PRINCÍPIO DE FUNCIONAMENTO DE UM CP Um CP realiza continuamente um ciclo de varredura que consiste em: 1. Leitura de entradas; 2. Execução do programa, que consiste em calcular novas saídas em função das entradas, de acordo com a seqüência de instruções; 3. Atualização das saídas. A figura 09 mostra ciclo básico de varredura de um CP, tempo típico para execução de uma varredura é de 20 ms. Entrada com energia - 1 energia - Dades para Memória Imagem de Combinações dos dados da Imagem nas c/ Instruções gerando dades Imagem de Saída Resultado 1 Energiza a saída - 0 a saída fig. 09 A figura 10 apresenta em detalhes, fluxo de execução de um programa aplicativo apresentando pontos onde são executados cada tipo de módulo. Elaborado por Antonio Paulo LeopoldoFIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira CONTROLADOR PROGRAMÁVEL Passagem Mode Entrada de de Interrupção Inicializações Executa E018 Executa E020 Varre Entradas Reterna Execute E000 Varre Saídes Execute CHP Executa PXXX PXXX E001 CHP PXXX Executa PXXX CHF FXXX Varre Saídas Fig. 10 Outro sistema de varredura utilizado pela BCM, em cada ciclo de varredura, sistema operacional acompanha estado dos dispositivos de entrada e saída, executa rotinas operacionais específicas e atende as operações solicitadas pelo programa. Ao final de um ciclo, o microprocessador envia um pulso de controle ao circuito watchdog, voltando ao início e repetindo-o indefinidamente. diagrama a seguir apresenta as tarefas típicas de um ciclo de varredura, mostrando a ordem na qual as operações são efetuadas. EXECUÇÃO DAS ROTINAS OPERACIONAIS DOS MÓDULOS (ESA) QUANDO ESTIVEREM DEFINIDOS PROCURA ESTADO CORRENTE PARA A MÁQUINA ZERO NA TABELA DE ESTADOS EXECUTA TODAS AS INSTRUÇÕES RELATIVA AO ESTADO CORRENTE, NA ORDEM EM QUE APARECEM NO PROGRAMA PROCURA O ESTADO CORRENTE PARA A MÁQUINA UM NA TABELA DE ESTADOS EXECUTA TODAS AS INSTRUÇÕES RELATIVA AO ESTADO CORRENTE, NA ORDEM EM QUE APARECEM NO PROGRAMA REPETE PROCESSO PARA AS MÁQUINAS SEGUINTES, ATÉ A ÚLTIMA Elaborado por Antonio Paulo Leopoldo 11FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL PROGRAMADOR MASTERTOOL - CP ALTUS Elementos de Programação Linguagem de Programação Um programa aplicativo é composto por 4 elementos básicos: módulos lógicas instruções operandos Um programa aplicativo é composto por diversos módulos, permitindo uma melhor estruturação das rotinas de acordo com as suas funções. Os módulos são programados em linguagem de relés, seguindo a tendência mundial de normalização nesta área. Um módulo de programa aplicativo é dividido em lógicas de programação. O formato de uma lógica de programa aplicativo utilizado nos CPs, permite até oito elementos em série e até quatro caminhos em paralelo. As instruções são utilizadas para executar determinadas tarefas por meio de leituras e/ou alterações do valor dos operandos. Os operandos identificam diversos tipos de variáveis e constantes utilizadas na elaboração de um programa aplicativo, podendo ter seu valor modificado de acordo com a programação realizada. Como exemplo de variáveis pode-se citar pontos de E/S e memórias contadoras. Elaborado por Antonio Paulo Leopoldo 12FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL Formato de uma Lógica MÁXIMO 8 COLUNAS EM SÉRIE 1 2 3 4 5 6 7 MÁXIMO 1 4 LINHAS PARALELAS 2 3 CÉLULA BARRA DE ENERGIA BARRA DE ENERGIA ESQUERDA DIREITA As duas linhas laterais da lógica representam barras de energia entre as quais são colocadas as instruções a serem executadas. Programação da Lógica Estão disponíveis para a programação instruções simbólicas tipicamente encontradas em diagramas, tais como contatos, bobinas, ligações e instruções representadas em caixas, como temporizadores, contadores e aritméticas. A lógica deve ser programada de forma que bobinas e entradas das instruções de caixas sejam "energizadas" a partir do fechamento de um "caminho de corrente" entre as duas barras, através de contatos ou das saídas das caixas interligadas. Entretanto, fluxo de "corrente elétrica" simulado em uma lógica flui somente no sentido da barra de energia esquerda para a direita, diferentemente dos esquemas elétricos reais. conceito utilizado simplifica sobremaneira projeto lógico de relés, uma vez que não é necessário a preocupação com caminhos de fuga de corrente. Elaborado por Antonio Paulo Leopoldo 13FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL Ordem de Processamento da Lógica processamento das instruções de uma lógica é realizado em colunas, desde a coluna até a 7. Uma coluna é processada na ordem seqüencial de suas linhas, desde a linha 0 até a linha 3. existente dentro de cada célula indica a sua ordem de processamento. 01234567 1 5 9 13 17 21 25 29 1 2 6 10 14 18 22 26 30 2 3 7 11 15 19 23 27 31 3 4 8 12 16 20 24 28 32 Elaborado por Antonio Paulo Leopoldo 14FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira CONTROLADOR PROGRAMÁVEL Estruturação do Projeto de Programação Funcionalmente, um projeto de programação, pode ser visto como uma coleção de módulos utilizados para realizar uma tarefa especifica, também conhecido como programa aplicativo. Isto permite uma visão hierárquica do projeto com a criação de subrotinas e funções. Os módulos são chamados para a execução pelo software executivo (sistema operacional do CP) ou por outros módulos, através de instruções apropriadas. Quando armazenado em disquete, o projeto de programação corresponde a um conjunto de arquivos, onde cada arquivo contém um módulo, denominados da seguinte forma: T XXXXXX NNN nome do arquivo número do módulo a 255) ponto de separação nome do módulo (até 6 identificador de módulo tipo módulo R) Exemplo: F-PID.033 Na ajuda do MASTERTOOL módulos de programa são referenciados pelo seu tipo e número, quando não for relevante nome utilizado no mesmo. Exemplo: E018 ATENÇÃO: nome do arquivo correspondente a um módulo de programa não deve ser alterado através de um comando ou utilitário do sistema operacional (comando REN ou outros). Para alterar nome de um arquivo, deve-se ler e salvar mesmo com nome desejado através do comando Salvar Módulo como. Se o nome do arquivo for modificado através de um comando do sistema operacional, poderá ser atribuído um nome inválido para mesmo, não podendo mais ser lido para MASTERTOOL ou carregado no CP. Elaborado por Antonio Paulo Leopoldo 15FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL Existem quatro tipos de módulos programa: Módulo C módulo C contém parâmetros de configuração do CP. Sua criação é pré-requisito para a edição dos demais módulos do programa aplicativo no MASTERTOOL. A definição dos parâmetros contidos no mesmo é realizada através da janela de edição de módulo C. Há somente um módulo por projeto e seu nome é o próprio nome do projeto para uma melhor identificação do mesmo. Conteúdo de um módulo Modelo de UCP Operandos Barramento Tempo Máximo de Ciclo de Varredura Período de Acionamento do Módulo E018 Parâmetros da rede ALNET I Parâmetros da rede ALNET II Parâmetros da rede Ethernet Parâmetros da rede de Sincronismo Módulo E Os módulos E contêm trechos do programa aplicativo, sendo chamados para a execução pelo software executivo. Existem diversos módulos E, diferenciando-se entre si pelo modo que são chamados à execução, conforme o seu número. Tipos de módulos E: E000 Módulo de Inicialização É executado uma única vez, ao se energizar CP ou na passagem de modo programação para execução com MASTERTOOL, antes da execução cíclica do módulo E001. E001 Módulo Seqüencial de Programa Aplicativo Contém trecho principal do programa aplicativo, sendo executado ciclicamente. E018 Módulo Acionado por Interrupção de Tempo Elaborado por Antonio Paulo Leopoldo 16FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL trecho de programa aplicativo colocado neste módulo é chamado para a execução em intervalos de tempo periódicos. Define-se o período de chamada do mesmo nos parâmetros do módulo C, podendo ser escolhido entre 50 ms, 25 ms, 10 ms, 5 ms, 3,125 ms, 2,5 ms, 1,25 ms e 0,625 ms. Ao ser transcorrido tempo programado, a execução seqüencial do programa aplicativo é interrompida e módulo E018 é disparado. Após seu final, sistema retorna a execução para ponto do processamento seqüencial onde o módulo havia sido interrompido. tempo continua a ser contado durante a chamada do módulo E018, devendo a sua execução ser mais breve possível para não haver o aumento excessivo no tempo de ciclo do módulo E001. ATENÇÃO: tempo de execução do módulo E018 não pode ser maior ou igual ao período de chamada. Caso isto aconteça, CP entra em modo erro sendo exibida a mensagem Reentrada no módulo E018, na janela Informações (comando Comunicação, Estado, Informações). E020 Módulo Acionado pela Entrada de Interrupção trecho de programa aplicativo colocado neste módulo é executado com acionamento da entrada de interrupção dos CPs AL-600/4, AL-600/8 ou AL-600/16. Quando ocorrer uma transição de subida no sinal presente nesta entrada, a execução seqüencial do programa aplicativo é interrompida e o módulo E020 é disparado. Após seu final, sistema retorna a execução para ponto do processamento seqüencial onde módulo havia sido interrompido. Se a entrada for acionada com muita freqüência, tempo de execução do módulo E020 deve ser mais breve possível, para não haver o aumento excessivo no tempo de ciclo do módulo E001. ATENÇÃO: O tempo de execução do módulo E018 não pode ser maior ou igual ao período de chamada. Caso isto aconteça, o CP entra em modo erro sendo exibida a mensagem Reentrada no módulo E018, na janela Informações (comando Comunicação, Estado, Informações). módulo E020 atua somente nos CPs AL-600/4, AL-600/8 e AL-600/16, a partir da versão 1.20 do software executivo. Somente estes CPs possuem a entrada rápida de interrupção que aciona E020. Elaborado por Antonio Paulo Leopoldo 17FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL Módulo P Os módulos P contêm trechos de programas aplicativos chamados a partir de módulos E, P ou F através da instrução CHP (CHama Procedimento). Este tipo de módulo não possui passagem de parâmetros, sendo similar ao conceito de sub-rotina. número máximo de módulos deste tipo é 112 (P000 a P111). módulo P é útil para conter trechos de programas aplicativos que devem ser repetidos várias vezes no programa principal, sendo assim programados uma só vez e chamados quando necessário, economizando memória de programa. Podem ser usados também para uma melhor estruturação do programa principal, dividindo-o em segmentos de acordo com a sua função e declarando-os em diversos módulos P. Neste caso, o módulo de execução contínua E001 somente chama os módulos P na seqüência desejada. Exemplos: P-MECAN.000 realiza intertravamento mecânico da máquina P-TEMPER.001 realiza o controle de temperaturas P-VIDEO.002 realiza interfaceamento homem-máquina P-IMPRES.003 gerencia a impressão de relatórios Módulo F Os módulos F contêm trechos de programas aplicativos chamados a partir de módulos E, P ou F, através da instrução CHF (CHama Função). Na chamada dos módulos F é possível a passagem de valores como parâmetros para módulo chamado. Estes módulos são usualmente escritos de forma genérica para serem aproveitados por vários programas aplicativos, em linguagem de relés ou de máquina, sendo semelhantes às instruções da linguagem de relés. Os valores dos parâmetros são enviados e devolvidos através de listas de operandos existentes na instrução de chamada e no módulo F. Na edição de um instrução CHF, devem ser definidas 2 listas de operandos que são utilizadas para: enviar parâmetros para execução do módulo função (Entrada) receber valores retornados pelo módulo função (Saída) Na edição do módulo função, também devem ser definidas 2 listas de operandos, utilizando comando Edição, Editar Parâmetros, que são utilizados para: Elaborado por Antonio Paulo Leopoldo 18FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL receber parâmetros da instrução CHF (Entrada) enviar valores de retorno para a instrução CHF (Saída) A passagem de parâmetros é realizada através da cópia dos valores dos operandos declarados (passagem de parâmetros por valor). A figura a seguir apresenta fluxo de dados entre a instrução CHF e módulo função. CHF Parâmetros enviados OPER1 OPER4 Módulo Função para a função Entrada OPER2 Entrada Processamento da Função OPER3 Saída Valores pela função Maiores informações a respeito da passagem de parâmetros podem ser encontradas na descrição da instrução CHF. É permitida a passagem de todos os tipos de operandos. Exemplos: F-LINEAR.002 executa a linearização de valores lidos de um sensor F-PID.033 realiza cálculos para implementação de laço PID de controle Elaborado por Antonio Paulo Leopoldo 19FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL Estados de Operação Existem cinco estados ou modos de operação do CP: inicialização, execução, programação, ciclado e erro. estado em que o controlador programável se encontra é indicado nos LEDs do painel frontal da UCP, podendo também ser consultado pelo MASTERTOOL através da opção Informações do comando Comunicação, Estado do menu principal. Estado Inicialização CP inicializa as diversas estruturas de dados de uso do programa executivo e realiza consistências no programa aplicativo presente na memória. Este estado ocorre após a energização do controlador, passando após alguns segundos para estado execução. Caso não exista programa aplicativo na memória, CP passa para modo erro. Enquanto CP está inicializando, pode-se acionar o comando Comunicação, Estado, Programação, ou equivalente na barra de ferramentas, fazendo com que CP passe diretamente para o estado de programação, ao invés de executar programa aplicativo. Este procedimento é útil para a reinicialização de CPs com programas contendo erros graves de programação. Por exemplo, um módulo com um laço infinito de execução, programado com uma instrução de salto para uma lógica anterior, provoca o acionamento do circuito de cão- de-guarda da UCP sempre que for ligada. Executando-se procedimento anterior logo após a energização, CP passa para o estado programação após inicializar, permitindo apagamento ou a substituição do programa. Estado Execução Normalmente controlador programável se encontra neste estado, varrendo continuamente os pontos de entrada e atualizando OS pontos de saída de acordo com a lógica programada. Este estado indica que CP está executando corretamente um programa aplicativo. Estado Programação programa aplicativo não é executado, não havendo a leitura dos pontos de entrada, sendo as saídas desativadas e a memória do CP é compactada. CP permanece inoperante, esperando comandos do Este modo normalmente é utilizado para a carga dos módulos do programa aplicativo pelo MASTERTOOL, através do canal serial. Ao passar para estado execução ou ciclado a partir do estado programação, os operandos são zerados. Elaborado por Antonio Paulo Leopoldo 20FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL Estado Ciclado Quando em modo ciclado, controlador programável não executa ciclicamente módulo E001, permanecendo à espera de comandos do MASTERTOOL. Cada comando executa ciclo acionado no MASTERTOOL (opções Comunicação, Estado, Executa Ciclo a partir do menu principal ou atalho equivalente) dispara uma única varredura do programa aplicativo (módulo E001), permanecendo o CP à espera de um novo comando após a execução da mesma. Quando CP passa para modo ciclado, a contagem de tempo nos temporizadores pára, sendo os mesmos incrementados de uma unidade de tempo a cada duas varreduras executadas. As chamadas para módulo de interrupção de tempo E018 não são realizadas neste modo. módulo E020, acionado pela entrada de interrupção externa, continua sendo chamado neste modo. Estado de Erro Indica que houve alguma anomalia no CP durante processamento do programa aplicativo. tipo de erro ocorrido pode ser consultado através da caixa de diálogo (opções Comunicação, Estado, Informações a partir do menu principal), enquanto CP estiver neste estado. A saída do estado de erro somente é possível passando-se controlador programável para modo programação. Em condições normais, controlador programável pode estar nos modos execução, programação e ciclado, sendo esses modos acionados através de comandos do MASTERTOOL (opções Execução, Programação e Ciclado respectivamente, a partir do comando Comunicação, Estado menu principal, ou seus atalhos equivalentes na Barra de Ferramentas). Na ocorrência de alguma situação de funcionamento errôneo nestes modos, CP passa para estado de erro. A recuperação do modo erro somente é possível passando-se controlador programável para modo programação. A figura a seguir apresenta as possibilidades de troca de estados. MODOS DE OPERAÇÃO DO CP Ciclado P P P P P Inicialização Execução Programação P E E P E Erro P Comando do MASTERTOOL E Situação de Erro 21FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL Nos modos execução, programação e ciclado é possível carregar e ler módulos de programa aplicativo pelo canal serial do controlador programável, bem como monitorar e forçar quaisquer operandos utilizados. Essas operações não são possíveis caso CP esteja em modo erro. Os operandos que não são retentivos são zerados na passagem de modo programação para execução ou programação para ciclado, permanecendo demais inalterados. Execução do Projeto de Programação Após a ligação do CP ou a passagem para modo execução, as inicializações do sistema são realizadas de acordo com o conteúdo do módulo C, sendo logo após executado módulo E000 uma única vez. controlador programável passa então para processamento cíclico do módulo E001, atualizando as entradas e saídas e chamando o módulo E018 a cada período de tempo de interrupção programado. Nos CPs AL-600/4, AL-600/8 e AL-600/16, módulo E020 é chamado com acionamento da entrada de interrupção. Elaborado por Antonio Paulo Leopoldo 22FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL Operandos Simples Os operandos simples são utilizados como variáveis de armazenamento de valores no programa aplicativo. Conforme a instrução que utilizam, eles podem ser referenciados na sua totalidade ou em uma subdivisão (uma parte do operando). As subdivisões de operandos podem ser palavra, octeto, nibble ou ponto. Formato geral de um operando simples: % XXXX S E endereço da subdivisão - opcional) tipo da opcional) endereço de operando (decimal) tipo do operando (E, S, A, R, D) identificador de endereço de operando Tipo do operando: %E entrada %S saída %A auxiliar %R - endereço no barramento %M - memória %D - decimal Tipo da subdivisão: - ponto da palavra baixa (1 ponto) h - ponto da palavra alta (1 ponto) n - nibble (4 pontos) b - octeto (8 pontos) W palavra (16 pontos) Exemplos: %E0002.3 ponto 3 do operando de entrada 2 %S0004.7 - ponto 7 do operando de saída 4 %A0039n1 - nibble 1 do operando auxiliar 39 %A0045 - octeto auxiliar 45 %M0205 operando memória 205 %M0205b0 octeto 0 da memória 205 %D0029 - operando decimal 29 %D0034w1 - palavra 1 do decimal 34 Elaborado por Antonio Paulo Leopoldo 23FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL Operandos Simples Os operandos simples são utilizados como variáveis de armazenamento de valores no programa aplicativo. Conforme a instrução que utilizam, eles podem ser referenciados na sua totalidade ou em uma subdivisão (uma parte do operando). As subdivisões de operandos podem ser palavra, octeto, nibble ou ponto. Formato geral de um operando simples: % XXXX S E endereço da subdivisão - opcional) tipo da opcional) endereço de operando (decimal) tipo do operando (E, S, A, R, D) identificador de endereço de operando Tipo do operando: %E entrada %S saída %A auxiliar %R - endereço no barramento %M - memória %D - decimal Tipo da subdivisão: - ponto da palavra baixa (1 ponto) h - ponto da palavra alta (1 ponto) n - nibble (4 pontos) b - octeto (8 pontos) W palavra (16 pontos) Exemplos: %E0002.3 ponto 3 do operando de entrada 2 %S0004.7 - ponto 7 do operando de saída 4 %A0039n1 - nibble 1 do operando auxiliar 39 %A0045 - octeto auxiliar 45 %M0205 operando memória 205 %M0205b0 octeto 0 da memória 205 %D0029 - operando decimal 29 %D0034w1 - palavra 1 do decimal 34 Elaborado por Antonio Paulo Leopoldo 23FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL LISTA DAS INSTRUÇÕES RNA Contato Normalmente Aberto OPER Descrição Sintaxe da Instrução Exemplo Descrição Esta instrução reflete, logicamente, o comportamento real de um contato elétrico de um relé no programa aplicativo. contato normalmente aberto fecha conforme o estado do seu operando associado. Caso ponto do operando esteja no estado lógico 1 ou o contato normalmente aberto está fechado ou aberto, respectivamente. Quando um contato está fechado, a instrução transmite estado lógico da sua entrada para a sua saída. Se estiver aberto, valor da entrada não é colocado na saída. Sintaxe da Instrução OPER1 Exemplo %E0002.3 LIGAF1 Elaborado por Antonio Paulo Leopoldo 25FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL RNF - Contato Normalmente Fechado OPER Descrição Sintaxe da Instrução Exemplo Descrição Esta instrução reflete, logicamente, comportamento real de um contato elétrico de um relé no programa aplicativo. contato normalmente fechado possui comportamento oposto ao normalmente aberto. Caso ponto do operando associado esteja no estado lógico 1 ou contato normalmente fechado está aberto ou fechado, respectivamente. Quando um contato está fechado, a instrução transmite estado lógico da sua entrada para a sua saída. Se estiver aberto, valor da entrada não é colocado na saída. Sintaxe da Instrução OPER1 Exemplo %A0000.2 FORNO2 Elaborado por Antonio Paulo Leopoldo 26FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira CONTROLADOR PROGRAMÁVEL BOB - Bobina OPER Descrição Sintaxe da Instrução Exemplo Descrição As instruções bobinas modificam estado lógico do operando na memória imagem do controlador programável, conforme estado da linha de acionamento das mesmas. A instrução bobina simples liga ou desliga o ponto do operando conforme a linha de acionamento. Se a linha de acionamento estiver energizada o ponto do operando associado é ligado, contrário ponto do operando associado é desligado. Esta instrução somente pode ser posicionada na coluna 7 da lógica. Sintaxe da Instrução OPER1 Exemplo %S0032.0 CALD1 Elaborado por Antonio Paulo Leopoldo 27FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL BBL - Bobina Liga OPER (L) Descrição Sintaxe da Instrução Exemplo Descrição As instruções bobinas modificam estado lógico do operando na memória imagem do controlador programável, conforme estado da linha de acionamento das mesmas. A instrução bobina liga, liga o ponto do operando associado quando a linha está energizada ("set"). Esta instrução somente podem ser posicionada na coluna 7 da lógica. Sintaxe da Instrução OPER1 Exemplo %A0002.6 TANQUE1 (L) (L) Elaborado por Antonio Paulo Leopoldo 28FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira CONTROLADOR PROGRAMÁVEL BBD - Bobina Desliga OPER (D) Descrição Sintaxe da Instrução Exemplo Descrição As instruções bobinas modificam estado lógico do operando na memória imagem do controlador programável, conforme estado da linha de acionamento das mesmas. A instrução bobina desliga modifica estado lógico do operando na memória imagem do controlador programável, conforme estado da sua linha de acionamento. A instrução bobina desliga, desliga ponto do operando associado quando a linha está energizada ("reset"). Esta instrução somente pode ser posicionada na coluna 7 da lógica. Sintaxe da Instrução OPER1 Exemplo %S0032.1 TANQUE2 (D) (D) Elaborado por Antonio Paulo Leopoldo 29FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira CONTROLADOR PROGRAMÁVEL PLS - Relé de Pulso PLS Descrição entrada OPER Sintaxe da Instrução Exemplo Descrição A instrução relé de pulso gera um pulso de uma varredura em sua saída, ou seja, permanece energizada durante uma varredura do programa aplicativo quando estado da sua entrada passar de desenergizado para energizado. relé auxiliar declarado serve como memorizador, evitando limitações quanto ao número de instruções de pulso presentes no programa aplicativo. ATENÇÃO O valor do relé auxiliar não deve ser modificado em nenhum outro ponto do programa aplicativo. Sintaxe da Instrução OPER1 Exemplo PLS entrada %A0000.0 PLS entrada PULSOF1 saída Elaborado por Antonio Paulo Leopoldo 30FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL RM Relé Mestre Descrição RM Descrição As instruções relé mestre e fim de relé mestre são utilizadas para delimitar trechos de programas aplicativos, energizando ou não a barra lógica de alimentação nos mesmos, conforme estado da sua linha de acionamento. Estas instruções não necessitam de operandos, podendo ser posicionadas somente na coluna 7 da lógica. Quando a entrada da instrução RM estiver desenergizada, a barra lógica de alimentação é desenergizada desde a lógica seguinte até a lógica que contém a instrução FRM. Como estas instruções atuam sempre na lógica seguinte a que estão contidas é aconselhável seu posicionamento sempre como últimas instruções da lógica em que estiverem presentes. Assim sendo, trecho de programa aplicativo delimitado visualmente pelas instruções no diagrama corresponde exatamente ao controlado pelas mesmas, evitando assim má interpretação de seu funcionamento. ATENÇÃO: As instruções CON, COB, TEE e TED contém saídas energizadas mesmo sem acionamento das suas entradas. Estas saídas permanecem energizadas mesmo dentro de um trecho sob comando de um relé mestre desenergizado, podendo causar acionamentos indesejáveis. Elaborado por Antonio Paulo Leopoldo 31FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL FRM Fim de Relé Mestre Descrição FRM Descrição As instruções relé mestre e fim de relé mestre são utilizadas para delimitar trechos de programas aplicativos, energizando ou não a barra lógica de alimentação nos mesmos, conforme estado da sua linha de acionamento. Estas instruções não necessitam de operandos, podendo ser posicionadas somente na coluna 7 da lógica. Quando a entrada da instrução RM estiver desenergizada, a barra lógica de alimentação é desenergizada desde a lógica seguinte até a lógica que contém a instrução FRM. Como estas instruções atuam sempre na lógica seguinte a que estão contidas é aconselhável seu posicionamento sempre como últimas instruções da lógica em que estiverem presentes. Assim sendo, trecho de programa aplicativo delimitado visualmente pelas instruções no diagrama corresponde exatamente ao controlado pelas mesmas, evitando assim má interpretação de seu funcionamento. ATENÇÃO: As instruções CON, COB, TEE e TED contém saídas energizadas mesmo sem acionamento das suas entradas. Estas saídas permanecem energizadas mesmo dentro de um trecho sob comando de um relé mestre desenergizado, podendo causar acionamentos indesejáveis. Elaborado por Antonio Paulo Leopoldo 32FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL SLT Bobina de Salto Descrição Sintaxe da Instrução Exemplo KM+ Descrição (s) XXXXX A instrução bobina de salto serve para controlar a seqüência de execução de um programa aplicativo, sendo usada para desviar o processamento do mesmo para uma lógica determinada. Seu operando é uma constante que determina o número de lógicas a serem saltadas a partir da energização da bobina. A determinação da lógica destino é realizada pela soma da constante que acompanha a instrução com número da lógica onde a mesma se encontra. Quando a linha de acionamento da bobina de salto estiver desenergizada, salto não ocorre, e a instrução seguinte àquela em que esta bobina está declarada é executada. Sintaxe da Instrução OPER1 Exemplo %KM+ (s) 00005 Elaborado por Antonio Paulo Leopoldo 33FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL Operandos %M - Memórias Os operandos %M são usados para processamento numérico, armazenando valores em precisão simples, com sinal. Faixa de valores armazenáveis: - 32.768 a +32.767 A quantidade de operandos memória é configurável na declaração do módulo C, sendo limite máximo dependente do modelo de CP em uso. Os operandos %M são utilizados em instruções de movimentação, comparação, aritméticas, contagem, temporização e de conversão. Podem ser utilizados em contatos, da mesma forma que os operandos %E, %S e %A. Estes operandos ocupam dois bytes de memória (16 bits). Exemplos: %M0032 memória 32 %M0064b0 octeto 0 da memória 64 %M0072n1 nibble 1 da memória 72 %M0084.F ponto 15 da memória 84 de 128 Máx 103-R 3968 (128x31) Elaborado por Antonio Paulo Leopoldo 34FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAL CONTROLADOR PROGRAMÁVEL TEE Temporizador na Energização TEE Descrição libera OPER1 Sintaxe da Instrução Exemplo OPER2 Descrição Esta instrução realiza contagens de tempo com a energização das suas entradas de acionamento. A instrução TEE possui dois operandos. primeiro OPER1 especifica a memória acumuladora da contagem de tempo. segundo operando OPER2 indica tempo máximo a ser acumulado. A contagem de tempo é realizada em décimos de segundos, ou seja, cada unidade incrementada em OPER1 corresponde a 0,1 segundo. Enquanto as entradas libera e ativa estiverem simultaneamente energizadas, o operando OPER1 é incrementado a cada décimo de segundo. Quando OPER1 for maior ou igual a OPER2, a saída Q é energizada e -Q desenergizada, permanecendo OPER1 com o mesmo valor de Desacionando-se a entrada libera, há a interrupção na contagem do tempo, permanecendo OPER1 com mesmo valor. Desacionando-se a entrada ativa, valor em OPER1 é zerado. Se OPER2 for negativo ou acesso indireto for inválido, OPER1 é zerado e a saída -Q é energizada. estado lógico da saída Q é exatamente oposto da saída -Q, mesmo estando a instrução desativada. ATENÇÃO: Com a entrada ativa desativada, a saída -Q permanece sempre energizada, mesmo quando a instrução estiver em um trecho comandado pela instrução RM (relé mestre). Deve-se ter cuidado para não realizar acionamentos indesejáveis na lógica devido a este fato. Sintaxe da Instrução Exemplo: TEE libera ACUMUL1 Q %M %M %KM+ %M'M ativa 00040 %KM Elaborado por Antonio Paulo Leopoldo 35FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira CONTROLADOR PROGRAMÁVEL TED Temporizador na Desenergização Descrição Sintaxe da Instrução TED Exemplo bloqueia OPER1 Descrição ativa OPER2 Esta instrução realiza contagens de tempo com a desenenergização da sua entrada de acionamento. A instrução TED possui dois operandos. primeiro OPER1 especifica a memória acumuladora da contagem de tempo. segundo operando OPER2 indica tempo máximo a ser acumulado. A contagem de tempo é realizada em décimos de segundos, ou seja, cada unidade incrementada em OPER1 corresponde a 0,1 segundo. Enquanto a entrada ativa estiver energizada e a entrada bloqueia desenergizada, operando OPER1 é incrementado a cada décimo de segundo. Quando OPER1 for maior ou igual a OPER2, a saída Q é desenergizada e -Q energizada, permanecendo OPER1 com mesmo valor de OPER2. A saída Q fica energizada sempre que a entrada ativa estiver energizada e OPER1 for menor do que OPER2. Ao ser acionada a entrada ativa e desacionada a entrada bloqueia, depois que tempo especificado em OPER2 for transcorrido a saída Q é energizada. Acionando-se a entrada bloqueia, há a interrupção na contagem do tempo, enquanto que desacionando a entrada ativa, tempo do acumulador é zerado e a saída Q é desacionada. Se OPER2 for negativo ou acesso indireto for inválido, OPER1 é zerado e a saída -Q é energizada. estado lógico da saída -Q é exatamente oposto da saída Q, mesmo estando a instrução desativada. ATENÇÃO: Com a entrada ativa desativada, a saída -Q permanece sempre energizada, mesmo quando a instrução estiver em um trecho comandado pela instrução RM (relé mestre). Deve-se ter cuidado para não realizar acionamentos indesejáveis na lógica devido a este fato. Exemplo TED bloqueia %MO Q ativa %KM50 Elaborado por Antonio Paulo Leopoldo 36FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL CON Contador Simples Descrição Sintaxe da Instrução Exemplo CON incrementa OPER1 Descrição ativa OPER2 Esta instrução realiza contagens simples, com incremento de uma unidade em cada acionamento. A instrução contador simples possui dois operandos. OPER1, sempre do tipo %M, especifica a memória que contabiliza os eventos. OPER2 estabelece valor limite de contagem para energização da saída da célula superior e pode ser do tipo %KM, %M ou operando %M referenciado indiretamente. Se a entrada ativa esta desenergizada, a memória em OPER1 é zerada, a saída não limite energizada e a saída limite desenergizada. Quando a entrada ativa está energizada, cada transição de ligação na entrada incrementa aumenta valor do operando contador em OPER1 de uma unidade. Se valor de OPER1 igualar-se ao de OPER2, a saída limite é energizada. A variável contadora não é incrementada com novas transições na entrada incrementa, permanecendo com valor limite. Se for menor, a saída limite é desenergizada. estado lógico da saída não limite é exatamente oposto da saída limite, mesmo estando a instrução desativada. Atenção: Com a entrada ativa desativada, a saída não limite permanece sempre energizada, mesmo quando a instrução estiver em um trecho comandado pela instrução RM (relé mestre). Deve-se ter cuidado para não realizar acionamentos indesejáveis na lógica devido a este fato. Sintaxe da Instrução %M %M Exemplo CON %M0010 limite superior Elaborado por Antonio Paulo Leopoldo ativa 10SEGND não limite 37FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL A LINGUAGEM DESCRITIVA BCM A estrutura da Linguagem Descritiva BCM é formada por três elementos básicos: ESTADOS, as TRANSIÇÕES e a MALHA DE CONTROLE. ESTADO Conjunto de comandos que, quando ativado, provoca ações que caracterizam uma etapa ou evento do processo. Ativação sucessiva dos estados determina a sequência de controle do processo. Nos diagramas, o estado é representando por uma elipse. No canto esquerdo será colocado o número do estado. No espaço da direita serão descritas as ações efetuadas ou os comandos ativos para esse estado. TRANSIÇÃO Combinação de eventos que determinam uma mudança de estado, isto é, a transferência da atividade de um estado para outro. No diagrama, a transição é representada por uma seta orientada que liga a estado de origem com estado para a transferência. Sobre a seta são descritas as condições válidas para essa transição. MALHA DE CONTROLE OU MÁQUINA É um diagrama de estados parcial, que corresponde a um ramo do processo, dentro do qual apenas um estado pode estar ativo a cada momento. diagrama de estados completo do processo pode ser composto por uma ou mais malhas. Devide aos recursos de multiprocessamento do controlador, todas as malhas serão atendidas simultaneamente quando da execução do programa em tempo real. MÁQUINA MALHA ESTADO DESL 1 0 BO1=1 BO2=1 ENTAO 1 TRANSIÇÃO LIGA 1 1 BO1=0 BO2=0 ENTAO 0 38FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL COMANDOS DE CONFIGURAÇÃO DO CLP Tipo de CLP: CLP=BCM1086 Configura sistema para operar com CLP BCM1086(A) Interface de Comunicação: INTERFACE1(XXX)=YYY Habilita a comunicação entre CLP e microcomputador via canal serial RS232. Onde: 1 - Identifica canal serial RS232 nas CPUs BCM. (XXX) Representa a velocidade de comunicação. São aceitos os valores 1200 ou 9600 baud (bits por segundo). Se omitido assume o valor 1200. YYY - Representa endereço lógico do CLP. São aceitos valores de 1 a 254. Obs.: os valores de "XXX" e "YYY" devem ser os mesmos especificados na opção Preferências do Menu Arquivo do PROCP/WIN. Display Alfanumérico: DISPLAY=DPA(20) Habilita a operação dos displays alfanuméricos no BCM2085 ou BCM1086. controle da apresentação de mensagens e valores no display é totalmente feito pela instrução MOSTRA. A opção "DPA20" é usada quando o display alfanumérico é de 20 colunas. Caso contrário, o compilador assume que display possui 16 colunas. Entradas e Saídas Analógicas: ESA=X Habilita tratamento das interfaces de E/S analógicas. Onde: X - representa número de placas instaladas. No CLP BCM1086 o valor de X sempre será igual a 1. Todo inicio de um novo programa você tem que determinar as configurações utilizadas. Exemplo: CLP=BCM1086 ; tipo de CLP. INTERFACE1(9600)=1 canal de comunicação RS232, velocidade 9600 bauds. DISPLAY=DPA quando usar display alfanumérico. ESA=1 ; quando usar entradas e saídas analógicas. Elaborado por Antonio Paulo Leopoldo 39FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL INSTRUÇÕES DE PROGRAMAÇÃO MALHA ou MAQUINA Γ para o copilador o início dos estados e instruções relativas a malha ou máquina de controle Onde: representa o número da malha corrente. São aceitos valores de a 63. As malhas devem ser editadas em ordem seqüencial e crescente a partir do número O(zero). A linguagem descritiva BCM aceita indistintamente nomes MALHA ou MAQUINA. ESTADO r Especifica para o compilador das instruções relativas ao estado Onde: pode variar de 0 a 254. primeiro estado deve ser sempre o os demais não há necessidade de ordenamento seqüencial. Controle das Saídas Digitais LIGA Liga a(s) saída(s) especificada em a m, quando a malha entra no estado corrente. DESL Desliga a(s) saída(s) especificada em a m, quando a malha entra no estado corrente. Obs.: rn representa o número da saída digital a ser ligada ou desligada. Os números das saídas podem ser separados por ponto(.) ou Leitura de Entradas Digitais As entradas digitais são interfaces que recebem e interpretam informações do processo sob controle. Uma entrada digital pode assumir dois níveis lógicos: Nível Lógico Significado 1 Sensor acionado/ contato fechado 0 Sensor desacionado/ contato aberto Na linguagem descritiva BCM as entradas digitais são consideradas um tipo específico de variável. Esta variável DEVE ser associada à respectiva entrada física do CLP em que estiver conectada no instante da edição do programa no compilador PROCP. Obs.: o nome de uma variável deve Ter de 3 a 5 caracteres, sendo que o primeiro caracter deve ser SEMPRE uma letra. SE aaa=x ENTAO r Se a variável especificada em "aaa" estiver no nível lógico desejado "X" então muda do estado corrente para o estado de destino especificado em Se no mesmo estado existirem outras instruções a(s) linha(s) que contém a instrução "SE" devem ser as últimas editadas. Elaborado por Antonio Paulo Leopoldo 40FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL EXEMPLO: - COM INSTRUÇÕES; MAQUINA, ESTADO, LIGA, DESL Esquema Elétrico Diagrama de Estados + ED DESL 1 24Vcc(+) CLP PAR=1 PAR ED1 SD1 PAR=0 1 LIGA 1 Obs.: PAR é uma variável de entrada digital (chave ou botoeira). Listagem do programa CLP=BCM1086 ;especifica tipo de CLP a ser utilizado INTERFACE1(9600)=1 ;habilita canal serial RS232 na velocidade de 9600 baud(bits por segundo) DISPLAY=DPA ;habilita funcionamento do display alfanumérico ;especifica número da malha(maquina) de controle ESTADO_0 ;especifica número do estado corrente DESL_1 ;mantém saída 1 desligada SE_PAR=1_ENTAO_1 ;se variável PAR for acionada salta p/o estado 1 ESTADO_1 ;especifica número do estado corrente LIGA_1 saída 1 ligada SE_PAR=0_ENTAO_0 ;se variável PAR for desacionada retorna ao estado Obs.: na edição do programa para indicar espaço coloquei um traço(_). Elaborado por Antonio Paulo Leopoldo 41FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL PROGRAMA PROCP97 - BCM VA PARA r Mudança imediata do estado corrente para estado independente de qualquer condição. Exemplo: CLP=BCM1086 INTERFACE1(9600)=1 DISPLAY=DPA MAQUINA_0 ESTADO_0 VA_PARA_1 ESTADO_1 FIM SE ATRASO=xxx ENTAO r A malha corrente muda para estado de destino somente após decorrido o tempo especificado em "xxx" (em décimos de segundo). Somente teste igual (=) é admissível no termo ATRASO. Exemplo: CLP=BCM1086 INTERFACE1(9600)=1 DISPLAY=DPA ESTADO_0 DESL_1 SE_ATRASO=50_E_BOT1=1_ENTAO_1 ESTADO_1 LIGA_1 SE_ATRASO=50_ENTAO_0 FIM OBS.: BOT1 variável de entrada N° 1 Elaborado por Antonio Paulo Leopoldo 42FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira SENAI CONTROLADOR PROGRAMÁVEL PROGRAMA PROCP97 - - BCM Display Alfanumérico DPA controle de apresentação de mensagens e variáveis no display alfanumérico é feito unicamente através da instrução MOSTRA. MOSTRA aaa, "mensagem2" Apresenta uma cobinação de mensagens e conteúdo de variável, posicionamento do display na linha I(1 ou 2) e iniciado na coluna c(1 a 20). O atributo r trabalha com apresentações das mensagens: - T = limpa a tela antes de apresentar nova mensagem. - L = limpa a linha antes de apresentar a nova mensagem. Exemplo: CLP=BCM1086 INTERFACE1(9600)=1 DISPLAY=DPA MAQUINA_0 ESTADO_0 SE_ATRASO=20_E_BOT1=1_ENTAO_1 ESTADO_1 SE_ATRASO=20_ENTAO_2 ESTADO_2 FIM Obs.: declarar a variável de entrada BOT1 na entrada 1. Elaborado por Antonio Paulo Leopoldo 43FIERGS Escola de Educação Profissional SENAI Ney Damasceno Ferreira CONTROLADOR PROGRAMÁVEL Instruções de COMPARAÇÃO de OPERANDOS CAR Operando CAR (menu principal Arit) OPER sucesso Tem a função de comparar valores armazenados de outras instruções e, através de instruções de comparação provocar eventos, isto é, energizar ou desenergizar saídas. Intruções de Comparação quando for igual e CAR(conteúdo) OPER registrador - habilita saída V OPER registrador quando CAR(conteúdo) for maior, OPER habilita saída EXEMPLO: Lógica: 000 INCREME CON CAR %S0002.1 %M0000 NE G liga, se CON 00004 for a 4 ATIVA %KM+ %S0002.2 00010 () se CON fe que 6 %S0002.3 %KM+ () se CON fe 00008 maler que 8 SINTAXE BÁSICA OPER %M %D %KM %KD %A %E %S Elaborado por Antonio Paulo Leopoldo 44SENAI ESCOLA DE EDUCAÇÃO PROFISSIONAL SENAI NEY DAMASCENO FERREIRA CONTROLADOR PROGRAMÁVEL COMO USAR CANAL ANALÓGICO CP-PICOLLO MÓDULO F A função analógica nos CPs Picollo são feitas em um módulo especial, módulo FUNÇÃO, chamado ANLOG.006, para usar analógica no projeto, tem que enserir este módulo junto, isto é, além dos módulos "C", "E" e agora "F", especificamente F- anlog.006. Basta um módulo F-anlog.006 no projeto para todos os canais analógicos. CONVERSÃO A-D ou D-A conversor interno do CP é de 8 bits e seu conteúdo é lançado em um operando %M(16bits). Para facilitar a vida do programador software MASTERTOOL oferece a possibilidade de trabalhar e monitorar este conteúdo em valor decimal, se a conversão é de 8 bits, então = 256(0 à 255). COMO INSERIR F-ANLOG.006 NO PROJETO Projeto (no menu principal) II. Editar III. Inserir módulo IV. Na janela Inserir Módulo, clicar duas vezes na pasta ir na barra de rolagem, e localizar a pasta dentro da pasta selecionar tipo de CLP, depois na mesma janela localizar Lista arquivo do vão aparecer três opções, escolher F, na parte decima selecionar F-anlog.006, confirmar e depois fechar. Você inseriu módulo F referente as analógicas no seu projeto. COMO USAR NO PROGRAMA APLICATIVO Vai até a tela de edição da lógica normalmente, na lógica colocar a instrução CHF(chama função), esta intrução faz a ligação entre módulos, todas as funções especiais são chamadas através dela. Configuração de CHF para canal analógico CHF habilita ANLOG 006 sucesso este operando determina OPER1 OPER3 número de posições no OPER3, para OPER2 OPER4 erro analógica %KM3. este operando determina número de posições no OPER4, não é usado, para analógica %KMO. Esta posição especifica canal usado na parte física, canal 1 canal 2 %KM1. II. Tipo de conversão, A/D(analógica para digital) %KMO, D/A(digital para analógica) %KM1. III. Especifica operando que vai receber conteúdo, operando %M. não é utilizado. operando escolhido recebera a conversão, basta usar mesmo com outras instruções conforme necessiddade. Elaborado por Leopoldo