Baixe o app para aproveitar ainda mais
Prévia do material em texto
Escola SENAI “Prof. Dr. Euryclides de Jesus Zerbini” Campinas – S.P. 2002 Controladores Programáveis Controladores Programáveis SENAI-SP, 2001 Trabalho elaborado pela Escola Senai “Prof. Dr. Euryclides de Jesus Zerbini” Coordenação Geral Magno Diaz Gomes Equipe responsável Coordenação Luíz Zambon Neto Elaboração Edson Carretoni Júnior Conteúdo técnico Sérgio Luiz Risso Versão Preliminar SENAI - Serviço Nacional de Aprendizagem Industrial Escola SENAI “Prof. Dr. Euryclides de Jesus Zerbini” Avenida da Saudade, 125, Bairro Ponte Preta CEP 13041-670 - Campinas, SP senaizer@sp.senai.br Controladores Programáveis SENAI Sumário Controladores Programáveis 5 Estrutura Básica 9 Princípio de Funcionamento do CP 21 Programação 25 Anexos Sistemas Automáticos de Controle 31 Computadores 45 Memórias 51 Microprocessador 57 Lógica Digital 61 Referências Bibliográficas 79 Controladores Programáveis SENAI 5 Controladores programáveis Informações gerais O primeiro CP surgiu na indústria automobilística, até então um usuário em potencial dos relés eletromagnéticos utilizados para controlar operações seqüenciadas e repetitivas numa linha de montagem. A primeira geração de CP’s utilizou componentes discretos, como transistores e Circuitos Integrados (CI’s) com baixa escala de integração. Este equipamento foi batizado nos Estados Unidos como PLC (Programable Logic Control ), em português CLP (Controlador Lógico Programável ) e este termo é registrado pela Allen Bradley (fabricante de CP’s). Por esta razão usaremos o termo CP, Controlador Programável. Definição segundo a ABNT É um equipamento eletrônico digital com hardware e software compatíveis com aplicações industriais. Definição segundo a NEMA Aparelho eletrônico digital que utiliza uma memória programável para armazenamento interno de instruções para implementações específicas, como lógica, seqüenciamento, temporização, contagem e aritmética, para controlar, através de módulos de entradas e saídas, vários tipos de máquinas ou processos. Características Basicamente, um controlador programável apresenta as seguintes características: • hardware e/ou dispositivo de controle de fácil e rápida programação ou reprogramação, com a mínima interrupção da produção; Controladores Programáveis SENAI 6 • capacidade de operação em ambiente industrial; • sinalizadores de estado e módulos tipo plug-in de fácil manutenção e substituição; • hardware ocupando espaço reduzido e apresentando baixo consumo de energia; • possibilidade de monitoração do estado e operação do processo ou sistema, através da comunicação com computadores; • compatibilidade com diferentes tipos de sinais de entrada e saída; • capacidade de alimentar, de forma contínua ou chaveada, cargas que consomem correntes de até 2 A; • hardware de controle que permite a expansão dos diversos tipos de módulos, de acordo com a necessidade; • custo de compra e instalação competitivo em relação aos sistemas de controle convencionais; • possibilidade de expansão da capacidade de memória; • conexão com outros CP’s através de rede de comunicação. Histórico O controlador programável nasceu praticamente dentro da indústria automobilística americana, especificamente na Hydromic Division da General Motors, em 1968, devido a grande dificuldade de se mudar a lógica de controle de painéis de comando a cada mudança na linha de montagem. Estas mudanças implicavam altos gastos de tempo e dinheiro. Sob a liderança do engenheiro Richard Morley, foi preparada uma especificação que refletia os sentimentos de muitos usuários de relés, não só da indústria automobilística como de toda a indústria manufatureira. Nascia, assim, a indústria de controladores programáveis, hoje com um mercado mundial estimado em 4 bilhões de dólares anuais, que no Brasil é estimado em 50 milhões de dólares anuais. Evolução Desde o seu aparecimento até hoje, muita coisa evoluiu nos controladores lógicos. Esta evolução está ligada diretamente ao desenvolvimento tecnológico da informática em suas características de software e de hardware. Controladores Programáveis SENAI 7 O que no seu surgimento era executado com componentes discretos, hoje se utiliza de microprocessadores e microcontroladores de última geração, usando técnicas de processamento paralelo, inteligência artificial, redes de comunicação, fieldbus, etc. Até recentemente não havia nenhuma padronização entre fabricantes, apesar da maioria utilizar as mesmas normas construtivas. Porém, pelo menos no nível de software aplicativo, os controladores programáveis podem se tornar compatíveis com a adoção da norma IEC 1131-3, que prevê a padronização da linguagem de programação e sua portabilidade. Outra novidade que está sendo incorporada pelos controladores programáveis é o fieldbus (barramento de campo), que surge como uma proposta de padronização de sinais em nível de chão-de-fábrica. Este barramento diminui sensivelmente o número de condutores usados para interligar os sistemas de controle aos sensores e atuadores, além de propiciar a distribuição da inteligência por todo o processo. Hoje os CP’s oferecem um considerável número de benefícios para aplicações industriais, que podem resultar em economia que excede o custo do CP e devem ser considerados na seleção de um dispositivo de controle industrial. Vantagens As vantagens da utilização dos CP's, comparados a outros dispositivos de controle industrial, são: • menor espaço ocupado; • menor potência elétrica requerida; • reutilização; • programável: • maior confiabilidade; • fácil manutenção; • maior flexibilidade; • permite interface através de rede de comunicação com outros CP’s e microcomputadores; • projeto mais rápido. Todos estes aspectos mostram a evolução de tecnologia, tanto de hardware quanto de software, o que permite acesso a um maior número de pessoas nos projetos de aplicação de controladores programáveis e na sua programação. Controladores Programáveis SENAI 8 Aplicações O controlador programável automatiza processos industriais, de seqüenciamento, intertravamento, controle de processos, batelada, etc. Este equipamento tem seu uso na área de automação da manufatura e de processos contínuos. Praticamente não existem ramos de aplicações industriais onde não se possa aplicar os CP’s. Por exemplo: • máquinas industriais (operatrizes, injetoras de plástico, têxteis, calçados); • equipamentos industriais para processos (siderurgia, papel e celulose, petroquímica, química, alimentação, mineração, etc); • equipamentos para controle de energia (demanda, fator de carga); • controle de processos com realização de sinalização, intertravamento e controle PID; • aquisição de dados de supervisão em: fábricas, prédios inteligentes, etc; • bancadas de teste automático de componentes industriais. Com a tendência dos CP’s terem baixo custo, muita inteligência, facilidade de uso e massificação das aplicações, este equipamento pode ser utilizado nos processos e nos produtos. Poderemos encontrá-lo em produtos eletrodomésticos, eletrônicos, residências e veículos. Controladores Programáveis SENAI 9 Estrutura básica do CP Estrutura básica O controlador programável tem sua estrutura baseada no hardware de um computador, dispondo de uma unidade central de processamento (UCP), interfaces de entrada e saída e memórias. As principais diferenças em relação a um computador comum estão relacionadas à qualidade da fonte de alimentação que possui boascondições de filtragem e estabilização, interfaces de E/S imune a ruídos e invólucro específico para aplicações industriais. O diagrama de blocos, a seguir, ilustra a estrutura básica de um controlador programável: Processador Fonte de Alimentação Interna Terminal de Programação Memória de programa Memória de dados Entradas Saídas E / S Fonte de Alimentação Externa UCP Controladores Programáveis SENAI 10 Dentre as partes integrantes desta estrutura temos: • UCP; • Memória; • E/S (Entradas e Saídas); • Terminal de Programação. Unidade central de processamento (UCP) A Unidade Central de Processamento (UCP) é responsável pelo processamento do programa, isto é, coleta os dados dos cartões de entrada, efetua o processamento segundo o programa do usuário, armazenado na memória, e envia o sinal para os cartões de saída como resposta ao processamento. Este processamento poderá ter estruturas diferentes para a execução de um programa: • processamento cíclico; • processamento por interrupção; • processamento comandado por tempo; • processamento por evento. Processamento cíclico É a forma mais comum de execução que predomina em todas as UCP’s conhecidas. Delas advém o conceito de varredura, ou seja, as instruções de programa, contidas na memória, são lidas uma após a outra, seqüencialmente, do início ao fim, daí retornando ao início, ciclicamente. Início Fim Controladores Programáveis SENAI 11 Um dado importante de uma UCP é o seu tempo de ciclo, ou seja, o tempo gasto para a execução de uma varredura. Este tempo está relacionado com o tamanho do programa do usuário (em média 1ms a cada 1.000 instruções). Processamento por interrupção Certas ocorrências no processo controlado não podem, algumas vezes, aguardar o ciclo completo de execução do programa. Neste caso, ao reconhecer uma ocorrência deste tipo, a UCP interrompe o ciclo normal de programa e executa outro programa chamado rotina de interrupção. Esta interrupção pode ocorrer a qualquer instante da execução do ciclo de programa. Ao finalizar esta situação o programa voltará a ser executado do ponto onde ocorreu a interrupção. Uma interrupção pode ser necessária, por exemplo, numa situação de emergência. Início Fim Interrupção Ciclo normal de programa Rotina de interrupção Processamento comandado por tempo Da mesma forma que determinadas execuções não podem ser dependentes do ciclo normal de programa, algumas devem ocorrer com certos intervalos de tempo, as vezes muito curto, na ordem de milisegundos. Esse tipo de processamento também pode ser encarado como um tipo de interrupção, porém, ocorre com intervalos regulares de tempo dentro do ciclo normal de programa. Controladores Programáveis SENAI 12 Processamento por evento Trata-se de processamento em eventos específicos como no retorno de energia, falha na bateria e estouro do tempo de supervisão do ciclo da UCP. Neste último caso temos o chamado Watch Dog Time (WD), que normalmente ocorre ao se detectar condição de estouro de tempo de ciclo da UCP, parando o processamento numa condição de falha, indicando-a ao operador através de sinal visual e às vezes, sonoro. Memória O sistema de memória é uma parte de vital importância no processador de um controlador programável. Armazena todas as instruções e dados necessários para executá-las. Existem diferentes tipos de sistemas de memória. A escolha de um determinado tipo depende: • Tipo de informação armazenada; • Forma como a informação será processada pela UCP. As informações armazenadas num sistema de memória são chamadas palavras de memória, formadas sempre com o mesmo número de bits. A capacidade de memória de um CP é definida em função do número de palavras de memória, previstas para o sistema. Controladores Programáveis SENAI 13 Mapa de memória A capacidade de memória de um CP pode ser representada por um mapa, chamado mapa de memória. 8, 16, ou 32 bits 25 51 Decimal Octal Hexadecimal ENDEREÇO DAS PALAVRAS DE MEMÓRIA 377 FF 777 1FF 1023 1777 3FF 2047 4095 3777 7FF 7777 FFF Controladores Programáveis SENAI 14 Tipos de memória de um CP A arquitetura de memória de um controlador programável pode ser constituída por diferentes tipos de memória. Quadro: Tipos de memória Tipo de Memória Descrição Observação RAM Memória de acesso aleatório - Volátil - Gravada pelo usuário ROM Memória somente de leitura - Não Volátil - Não permite apagamento - Gravada pelo fabricante PROM Memória programável somente de leitura - Não volátil - Não permite apagamento - Gravada pelo usuário EPROM Memória programável/ apagável somente de leitura - Não Volátil - Apagamento por ultravioleta - Gravada pelo usuário EPROM EEPROM FLASH EPROM Memória programável/ apagável somente de leitura - Não Volátil - Apagável eletricamente - Gravada pelo usuário Estrutura Independente dos tipos de memórias utilizadas, o mapa de memória de um controlador programável pode ser dividido em cinco áreas principais: • memória executiva; • memória do sistema; • memória de status dos cartões de E/S; • memória de dados; • memória do usuário. Memória Executiva - É formada por memórias do tipo ROM ou PROM e em seu conteúdo está armazenado o sistema operacional responsável por todas as operações que são realizadas no CP. O usuário não tem acesso a esta área de memória. Memória do Sistema - Esta área é formada por memórias tipo RAM, pois terá o seu conteúdo constantemente alterado pelo sistema operacional. Controladores Programáveis SENAI 15 Armazena resultados e/ou operações intermediárias, geradas pelo sistema, quando necessário. Pode ser considerada como um tipo de rascunho. Não pode ser acessada nem alterada pelo usuário. Memória de Status de E/S - A memória de status dos módulos de E/S são do tipo RAM. A UCP, após efetuar a leitura dos estados de todas as entradas, armazena essas informações na área denominada status das entradas ou imagem das entradas. Após o processamento dessas informações, os resultados serão armazenados na área denominada status das saídas ou imagem das saídas. Memória de Dados - As memórias de dados são do tipo RAM, e armazenam valores do processamento das instruções utilizadas pelo programa do usuário. Funções de temporização, contagem, aritméticas e especiais, necessitam de uma área de memória para armazenamento de dados. Estes dados podem ser: • Valores pré-selecionados ou acumulados de contagem e temporização; • Resultados ou variáveis de operações aritméticas; • Resultados ou dados diversificados a serem utilizados por funções de manipulação de dados. Controladores Programáveis SENAI 16 Memória do Usuário - A UCP lê as instruções contidas nesta área a fim de executar o programa do usuário, de acordo com os procedimentos do sistema operacional. As memórias destinadas ao usuário podem ser do tipo: • RAM; • RAM/EPROM; • RAM/EEPROM. Quadro: Tipos de memória de usuário Tipo de Memória Descrição RAM A maioria do CP’s utiliza memórias RAM para armazenar o programa do usuário assim como os dados internos do sistema. RAM/EPROM O usuário desenvolve o programa e efetua testes em RAM. Uma vez checado o programa, este é transferido para EPROM. RAM/EEPROM Esta configuração de memória do usuário permite que, uma vez definido o programa, este seja copiado em EEPROM. Uma vez efetuada a cópia, o CP poderá operar tanto em RAM como em EEPROM. Para qualquer modificação bastará um comando via software, e este tipo de memória será apagada e gravada eletricamente. Módulos de entrada Os módulos de entrada são interfaces entre ossensores, localizados no campo, e a lógica de controle de um controlador programável. Esses módulos são constituídos de cartões eletrônicos, cada qual com capacidade para receber certo número de variáveis. Pode ser encontrada uma variedade muito grande de tipos de cartões, para atender as mais variadas aplicações nos ambientes industriais. Controladores Programáveis SENAI 17 Elementos discretos Este tipo de entrada trabalha com dois níveis definidos: ligado e desligado (0 ou 1). Elementos analógicos Este tipo de entrada trabalha numa faixa de valores conhecidos. Módulos de saída Os módulos de saída são elementos que fazem interface entre o processador e os elementos atuadores. Esses módulos são constituídos de cartões com capacidade de enviar sinal para atuadores, conforme a lógica de controle. BOTÃO CHAVE PRESSOSTATO FLUXOSTATO TERMOSTATO FIM DE CURSO TECLADO CHAVE BCD FOTOCÉLULA OUTROS CARTÕES DISCRETOS UCP TRANSMISSORES UCP C.A. C.A. C.A. C.A. C.A. C.A. TACO GERADOR TERMOPAR TERMO RESISTÊNCIA SENSOR DE POSIÇÃO OUTROS Controladores Programáveis SENAI 18 Atuadores discretos Este tipo de saída pode assumir dois estados definidos: ligado e desligado (0 ou 1). São usados para acionar atuadores, como solenóides, sinalizadores, etc. Atuadores analógicos Este tipo de saída atua numa faixa de valores conhecidos. São usados para acionar dispositivos, como posicionadores, atuadores, indicadores, etc. Terminal de programação O terminal de programação é um dispositivo (periférico) que, conectado temporariamente ao CP permitindo introduzir o programa do usuário e a configuração do sistema. Pode ser um equipamento dedicado, ou seja, um terminal que só tem esta utilidade e específico de um fabricante, ou um software que transforma um computador pessoal em um programador. Por meio de linguagem de fácil entendimento e utilização, será feita a codificação das informações vindas do usuário numa informação que possa ser entendida pelo processador de um CP. No terminal de programação (TP), poderão ser realizadas funções tais como: • elaboração do programa do usuário; • análise do conteúdo dos endereços de memória; • introdução e modificação de instruções; • monitoração do programa do usuário; • cópia do programa do usuário em disco ou impressora. Terminal portátil dedicado Geralmente compostos por um teclado dedicado que é utilizado para introduzir o programa do usuário. Os dados e instruções são apresentados num display que fornece sua indicação, e a posição da memória endereçada. A maioria dos programadores portáteis é conectada diretamente ao CP através de uma interface de comunicação (serial). Pode-se utilizar a fonte interna do CP ou obter alimentação própria através de bateria. Com o advento dos computadores pessoais portáteis (Lap-Top), esses terminais estão perdendo sua função, já que se pode executar todas as funções de Controladores Programáveis SENAI 19 programação em ambiente mais amigável, com todas as vantagens de equipamento portátil. Terminal dedicado TRC Tem como desvantagens seu custo elevado e sua baixa taxa de utilização, já que sua maior utilização se dá na fase de projeto e implantação da lógica de controle. Esses terminais são compostos por um teclado para introdução de dados/instruções e um monitor (TRC - tubos de raios catódicos). O monitor tem a função de apresentar as informações e condições do processo a ser controlado. Como no caso dos terminais portáteis, com o advento da utilização de computadores pessoais, este tipo está caindo em desuso. Terminal não dedicado - PC Pode-se utilizar um computador pessoal (PC) como terminal de programação. Isto é possível através da utilização de um software aplicativo dedicado a esta função. O custo do hardware (PC) e software é bem menor do que o de um terminal dedicado. Além da grande vantagem de ter, após o período de implantação e eventuais manutenções, o PC disponível para outras aplicações comuns a um computador pessoal. Outra vantagem é a utilização de softwares com mais interação com o usuário, utilizando todo o potencial e recursos de software e hardware, disponíveis nos computadores pessoais. Controladores Programáveis SENAI 21 Princípio de funcionamento de um CP Um controlador programável tem seu funcionamento baseado num sistema de microcomputador onde se tem uma estrutura de software que realiza continuamente ciclos de varredura. Estados de operação Basicamente, a UCP de um controlador programável possui dois estados de operação : • programação • execução A UCP pode assumir, também, o estado de erro, que aponta falhas de operação e execução do programa. Programação Neste estado o CP não executa programa, não assumindo nenhuma lógica de controle. Ficando preparado para ser configurado, receber novos programas ou modificações de programas já instalados. Este tipo de programação é chamado off- line (fora de linha). Execução Estado em que o CP assume a função de execução do programa do usuário. Neste estado, alguns controladores podem sofrer modificações de programa. Este tipo de programação é chamado on-line (em linha). Controladores Programáveis SENAI 22 Funcionamento Ao ser energizado, o CP, no estado de execução, cumpre uma rotina de inicialização gravada em seu sistema operacional. Esta rotina realiza as seguintes tarefas : • limpeza da memória imagem, para operandos não retentivos; • teste de memória RAM; • teste de executabilidade do programa. Após a execução desta rotina, a UCP passa a fazer uma varredura (ciclo) constante, isto é, uma leitura seqüencial das instruções em loop (laço). Entrando no loop, o primeiro passo a ser executado é a leitura dos pontos de entrada. Com a leitura do último ponto ocorre a transferência de todos os valores para a chamada memória ou tabela imagem das entradas. Após a gravação dos valores na tabela imagem, o processador inicia a execução do programa do usuário de acordo com as instruções armazenadas na memória. Terminando o processamento do programa, os valores obtidos serão transferidos para a chamada memória ou tabela imagem das saídas. Ocorre também, a transferência de valores de outros operandos, como resultados aritméticos, contagens, etc. Ao término da atualização da tabela imagem, será feita a transferência dos valores desta tabela de saídas para os cartões de saída, fechando o loop. Neste momento, é iniciado um novo ciclo (loop). Para a verificação do funcionamento da UCP, é estipulado um tempo de processamento, cabendo a um circuito, chamado Watch Dog Time, supervisioná-lo. Ocorrendo a ultrapassagem deste tempo máximo, o funcionamento da UCP será interrompido, sendo assumido um estado de erro (WD). O termo varredura ou scan, é usado para dar nome a um ciclo completo de operação (loop). O tempo gasto para a execução do ciclo completo é chamado Tempo de Varredura e depende do tamanho do programa do usuário e da quantidade de pontos de entrada e saída. Controladores Programáveis SENAI 23 Através do fluxograma a seguir e da figura na próxima página, este funcionamento é demonstrado graficamente. PARTIDA START Limpeza de memória Teste de RAM Teste de execução OK? Não Sim Leitura das entradas tabela imagem Atualização da das entradas usuário programa do Execução do das saídas tabela imagem Atualização da Transferência da tabela para a saída Tempo de varredura OK? Sim Não PARADA STOP Controladores Programáveis SENAI 24 o - 00 o - 01 o - 02 o - 03 o - 04 o - 05 o - 06 o - 07 IN o - 00 o - 01o - 02 o - 03 o - 04 o - 05 o - 06 o - 07 OUT 1 0 1 Memória Imagem E N T R A D A S S A Í D A S IN 00 IN 04 OUT 04 Cartão de Saída Cartão de Entrada Controladores Programáveis SENAI 25 Programação Linguagem de programação Na execução de tarefas ou resolução de problemas com dispositivos microprocessados, é necessária a utilização de uma linguagem de programação, para o usuário se comunicar com a máquina. A linguagem de programação é uma ferramenta necessária para gerar o programa que vai coordenar e seqüenciar as operações que o microprocessador deve executar. Classificação • linguagem de baixo nível • linguagem de alto nível Linguagem de baixo nível Conhecida por linguagem de máquina, é a linguagem corrente de um microprocessador ou microcontrolador, onde as instruções são escritas em código binário (bits 0 e 1). Para minimizar as dificuldades de programação usando este código, pode-se utilizar também o código hexadecimal. Cada microprocessador ou microcontrolador possui estruturas internas diferentes. Portanto, seus conjuntos de registros e instruções também são diferentes. Linguagem de alto nível É uma linguagem próxima da linguagem corrente, utilizada na comunicação de pessoas. Controladores Programáveis SENAI 26 Quando um microcomputador trabalha com uma linguagem de alto nível, é necessária a utilização de compiladores e interpretadores para traduzir este programa em linguagem de máquina. Vantagem - Elaboração de programa em tempo menor, não necessitando de conhecimento da arquitetura do microprocessador. Desvantagem - Tempo de processamento maior do que o despendido em sistemas desenvolvidos em linguagens de baixo nível. Programação de controladores programáveis Podemos programar um controlador através de um software que possibilita usualmente quatro formas de apresentação da lógica do usuário: • diagrama de contatos; • diagrama de blocos lógicos; • lista de instruções; • texto estruturado. Alguns tipos de software de programação possibilitam a programação em mais de uma forma. É o caso do STEP 5 da Siemens, como também os baseados na norma IEC 1331-3 Diagrama de contatos Também conhecida como: • diagrama de relés; • diagrama escada; • diagrama Ladder. Esta forma gráfica de apresentação está muito próxima à forma normalmente usada em diagramas elétricos. COMPILADORES OU INTERPRETADORES PROGRAMA 1111 0000 0101 0100 Controladores Programáveis SENAI 27 Diagrama de blocos lógicos Mesma linguagem utilizada em lógica digital, onde sua representação gráfica é feita através das chamadas portas lógicas. Lista de instrução Linguagem semelhante à utilizada na elaboração de programas para computadores. Análise das linguagens de programação Com o objetivo de ajudar na escolha de um sistema que melhor se adapte às necessidades de cada usuário, pode-se analisar as características das linguagens de programação disponíveis em CP’s. Esta análise se deterá nos seguintes pontos: • forma de programação; • forma de representação; • documentação; • conjunto de instruções. Forma de programação É a maneira pela qual o programa se estrutura. Esta forma pode ser linear ou estruturada. Programação Linear - Programa escrito em um único bloco. Programação Estruturada - Estrutura de programação que permite: • organização; • desenvolvimento de bibliotecas de rotinas utilitárias para uso em vários programas; • facilidade de manutenção; • simplicidade de documentação e fácil entendimento por outras pessoas, além do autor do software. Permite também dividir o programa segundo critérios funcionais, operacionais ou geográficos. Controladores Programáveis SENAI 28 Forma de representação Pode-se analisar também quanto à forma de representação: • diagrama de Contatos; • diagrama de Blocos; • lista de Instruções. Estas três formas são mais usuais e permitem que o usuário se adapte a uma forma de programar mais próxima do ambiente de projeto usado para desenvolver projetos de diagramas elétricos. Documentação A documentação é mais um recurso de editor de programa que de linguagem de programação. De qualquer forma, uma abordagem neste sentido torna-se cada vez mais importante, tendo em vista que um grande número de profissionais está envolvido no projeto de um sistema de automação que se utiliza de CP’s, desde sua concepção até a manutenção. Quanto mais rica em comentários, melhor a documentação que normalmente se divide em vários níveis. Conjunto de instruções É o conjunto de funções que definem o funcionamento e aplicações de um CP. Podem servir para mera substituição de comandos a relés: • funções lógicas; • memorização; • temporização; • contagem. Serve também, para manipulação de variáveis analógicas: • movimentação de dados; • funções aritméticas. Podem ter funções mais complexas como comunicação de dados, conexão com interfaces homem-máquina (IHM), controle analógico, seqüênciamento, etc: • saltos controlados; • indexação de instruções; • conversão de dados; Controladores Programáveis SENAI 29 • PID; • seqüenciadores; • aritmética com ponto flutuante. Normalização Existe a tendência de utilizar um padrão de linguagem de programação em que é possível a intercambiabilidade de programas entre modelos de CP’s e até de fabricantes diferentes. Essa padronização está de acordo com a norma IEC 1131-3. Este tipo de padronização é viável, utilizando-se o conceito de linguagem de alto nível. Através de um chamado compilador pode-se adaptar um programa à linguagem de máquina de qualquer tipo de microprocessador. Isto é, um programa padrão pode servir tanto para o CP de um fabricante A como de um fabricante B. A norma IEC 1131-3 prevê três linguagens de programação e duas formas de apresentação. As linguagens são: • Ladder Diagram - programação como esquemas de relés; • Boolean Blocks - blocos lógicos representando portas “E”, “OU”, “Negação”, “Ou exclusivo”, etc; • Structured Control Language (SCL) - vem a substituir todas as linguagens declarativas como linguagem de instruções, BASIC estruturado e inglês estruturado. Esta linguagem, novidade no mercado internacional, é baseada no Pascal. As formas de representação são : • programação convencional; • Sequencial Function Chart (SFC) - evolução do graphcet francês. A grande vantagem de se ter o software normalizado é que ao se conhecer um, conhece-se todos, economizando em treinamento e garantindo que, por mais que um fornecedor deixe o mercado, nunca se fique sem condições de crescer ou de repor equipamentos. Controladores Programáveis SENAI 31 Sistemas automáticos de controle A cada dia que passa, os sistemas manuais de controle, ou seja, aqueles comandados por um operário, vem sendo mais e mais substituídos por sistemas de controle automáticos. Estes, por sua vez, vêm apresentando um desenvolvimento que torna necessário seu estudo pormenorizado, pois são encontrados nos mais diversos setores da indústria como por exemplo, em controle de máquinas operatrizes, linhas de montagem automáticas, controle de temperatura e qualidade, robótica e até mesmo em controle de tráfico urbano. Estudaremos o sistema de controle automático no que se refere ao subsistema eletrônico. Sistema Sistema é um conjunto de elementos (ou subsistemas) reunidos de forma a executar uma determinada tarefa, como por exemplo, o comando de uma máquina. Um sistema comporta vários subsistemas que podem ser, por exemplo mecânico, hidráulico, pneumático, eletrônico. Subsistema eletrônico Um sistema eletrônico é composto por blocos funcionais que, por sua vez, são formados por agrupamentos de componentes eletrônicos. Ele pode ser analógico, digital ou híbrido.Controladores Programáveis SENAI 32 O subsistema eletrônico analógico é um sistema de controle que trabalha com circuitos não-lineares ou com tensão analógica e é, na maioria das vezes, construído com amplificadores operacionais. O subsistema eletrônico digital é um sistema de controle que opera com portas lógicas, níveis lógicos definidos e números digitais. O subsistema eletrônico híbrico é formado por conjuntos lógicos e digitais. Os sistemas de controle atuais têm no microcomputador seu elemento principal. Microcomputador como elemento de controle A utilização do microcomputador como elemento de controle, exige circuitos de interface para que ele se comunique com o processo controlado. A maioria dos circuitos interfaceados são analógicos, de forma que os circuitos controlados por microcomputador são sempre híbricos. A figura a seguir mostra um diagrama de blocos de um subsistema eletrônico comandado por um microcomputador. Computador (micro/mini) ↔ Interface Conversores AD/DA ↔ Controle do Processo Bloco funcional Bloco funcional é uma das subdivisões do subsistema eletrônico. Ele representa uma função a ser executada por conjuntos de componentes discretos e pode ser uma porta lógica, um temporizador, um multivibrador, um oscilador etc. Diagrama funcional de processo O diagrama funcional de processo tem com objetivo transmitir informações sobre o funcionamento do sistema. Ele apresenta o processo de acordo com a função de cada etapa e as relações existentes entre elas. Pode ser representado de duas maneiras: • Por fluxograma • Por blocos Controladores Programáveis SENAI 33 A figura a seguir ilustra as etapas do diagrama funcional de processo. Apresentação do Problema ↓ Esclarecimento e análise ↓ Descrição do funcionamento desejado “algoritmo” ↓ Diagrama de blocos lógicos Fluxograma de controle de processos • Apresentação do problema - Esta etapa consiste na descrição do processo ou sistema que se deseja automatizar. Esta descrição deve ser feita pelo especialista do processo automatizado. A apresentação deve ser feita numa linguagem compreensível e objetiva através da qual devem ser observados todos os detalhes necessários a um bom desempenho do processo. • Esclarecimento e análise do problema - Nesta etapa, um especialista em automação faza análise do problema observado e de todos os detalhes citados na etapa anterior. Dessa análise pode surgir uma melhoria no processo a medida em que são eliminados passos dispensáveis e acrescentados outros necessários. • Descrição do funcionamento (algoritmo) - Nesta etapa, faz-se uma descrição passo a passo do processo e na seqüência correta de execução. A descrição é basicamente o que foi abordado na primeira etapa, porém os eventos são seqüenciados e hierarquizados com detalhamento técnico do sistema a ser automatizado. Controladores Programáveis SENAI 34 • Diagrama funcional por blocos - É constituído pelos mesmos blocos utilizados em eletrônica digital. A seguir são detalhadas as regras dessa representação e, em seguida, dois exemplos de aplicação ⇒ O formato básico é um quadrado com tamanho arbitrário (como uma porta lógica) ⇒ As entradas e saídas de uma função são colocadas em lados opostos de modo que as entradas fiquem à esquerda ou em cima e as saídas à direita ou embaixo. ⇒ Um sinal de entrada ou de saída é negado por um pequeno círculo entre o fio do sinal e o quadrado da função. ⇒ O estágio de memória é representado dividindo-se um retângulo ao meio por meio de uma linha tracejada no sentido das entradas para as saídas o que caracteriza o comportamento biestável. ⇒ Uma variável de entrada pode ser representada na forma de palavras ou números, porém, sempre representa a situação equivalente a um estado, como por exemplo, tanque cheio, válvula aberta. ⇒A natureza do sinal de saída correspondente deve ser escrita dentro de um retângulo. No retângulo menor (x), coloca-se de forma abreviada a natureza da saída: S - ação memorizada (set); NS - não - memorizada; DY - ação dinâmica (impulso); tc - tempo de controle; tw - tempo de espera em vista do evento seguinte a ser executado. Controladores Programáveis SENAI 35 ⇒ No retângulo maior é colocado a ordem a ser executada, como por exemplo, abrir válvula, tanque cheio. ⇒ O tempo de duração definido (impulso) em que a saída permanece no nível lógico 1 é indicado por um sinal de impulso sobre o qual se escreve a duração (tL) ⇒ A função de temporização é representada por uma barra indicando à esquerda o retardo na ligação e à direita o retardo no desligamento. Exemplo 1: Acionamento de reversão de um motor - Um motor elétrico deve operar com reversão de sentido de rotação. Cada um dos sentidos é determinado por comando manual. O desligamento deve desativar o motor em qualquer um dos sentidos de rotação. Deseja-se evitar que, ao ser desligado quando se encontra em um sentido de rotação, o motor possa ser religado, principalmente em sentido contrário. Para isso, o intervalo de tempo entre o desligamento não deve ser inferior a 10s. O motor não deverá entrar em funcionamento se pelo menos uma dessas condições estiver presente: • O desligamento de emergência foi acionado; • A pressão do óleo lubrificante nos mancais do motor for igual a zero; • A temperatura da carcaça for superior a 70ºC. Observação A ocorrência de uma dessas condições deve levar o motor a se desligar, se ele estiver em funcionamento. Solução O problema pode ser representado em diagrama funcional de blocos dividido em duas partes: comando e proteção. Operações de comando: • Ligar o motor para girar em sentido horário. • Ligar o motor para girar no sentido anti-horário. Controladores Programáveis SENAI 36 • Desligar o motor. A ação de ligar o motor deve se dar através de sinal momentâneo que, adequado ao estágio memorizador, transforma-se em sinal contínuo. Da mesma forma, o desligamento deve provocar a desmemorização da ordem de ligação. Entre o funcionamento do motor em sentido horário e o seu funcionamento em sentido anti- horário deve existir um bloqueio mútuo, obtido pela associação adequada de saídas e entradas dos memorizadores. A proteção requerida implica no desligamento do motor e na inibição de sua ligação. Todas as funções que executam a proteção devem atuar na desmemorização e bloqueio das ordens de ligar o motor. Finalmente, a temporização exigida deve ser de 10s. O diagrama funcional por blocos resultante é: Exemplo 2: Iluminação de escadaria - Deseja-se um sistema de iluminação para a escada de um edifício de três andares. No pavimento térreo e em cada patamar haverá uma lâmpada e um interruptor ao ser acionado, o interruptor do pavimento térreo ou de Controladores Programáveis SENAI 37 qualquer dos três patamares, todas as lâmpadas devem se acender e permanecer acesas por três minutos ao fim desse tempo, o desligamento se fará automaticamente. Restrições: • Acionada por um dos interruptores, a iluminação não deverá ter seu tempo de permanência prolongado pelo acionamento do próprio interruptor ou por outro, antes de esgotado o tempo de três minutos, decorrentes do primeiro acionamento. • A iluminação só deverá funcionar à noite ou no caso de a iluminação natural cair a um nível compatível ao da noite. Solução O processo proposto é relativamente simples e pode ser representado satisfatoriamente pelo seguinte diagrama funcional de blocos: Fluxograma de processo Controladores Programáveis SENAI 38 O fluxograma de processo permite representar as condições do processo. Ele apresenta os eventos na seqüência definida pelo processo que se deseja controlar e utiliza a simbologia que é mostrada a seguir. Nessa representação, “n” indicaa posição do evento (1,2,3...n) e no retângulo “x” indica-se a função do evento, como por exemplo: misturar, esvaziar etc. As condições de liberação do passo (ou entradas) são indicadas textualmente e de forma resumida. Exemplo: Válvula V aberta, Válvula S fechada, Bomba B acionada. As ordens de saída da etapa que são emitidas para os “operadores” (válvulas, contatores, motores etc.) são colocadas em retângulos à direita do passo. Exemplo: Desligar transportador ML, Zerar contador T2, Tempo de espera t2. À esquerda da ordem de saída é colocada a natureza dessa mesma ordem. À direita estão numeradas as ordens de saída que serão solicitadas pelo passo seguinte. A figura a seguir mostra os exemplos citados acima. Na figura a seguir, as entradas com identificação 1 e 2 no passo 5 indicam que esse passo depende da execução das ordens de saída do passo 4, identificadas com os mesmos números. Essa regra só é válida para as ordens usadas nos passos Controladores Programáveis SENAI 39 subsequentes. Quando se quer utilizar a mesma ordem em outro passo qualquer, deve-se acrescentar a esse número de ordem o número do passo ao qual pertence. Exemplo: 1.5, ou seja, ordem 1, passo 5. Quando essas ordens não são numeradas, é porque elas não condicionam a liberação de outros passos. Portanto, na figura acima, a realização do passo 5 independe da realização da operação zerar contador T2 do passo 4. Caso seja necessário colocar alguma condição adicional às entradas dos passos da seqüência, pode-se usar os mesmos símbolos usados em diagramas de blocos lógicos. A solução de um comando seqüencial pode sofrer ramificações conforme indicado. A natureza ou as condições dos eventos são colocadas ao lado da interserção: ⇒ & - todos os ramos são percorridos ⇒ >1 - pelo menos um dos ramos é percorrido ⇒ =1 - exclusivamente um dos ramos é percorrido Controladores Programáveis SENAI 40 ⇒ ( ) m n - dos “n” ramos, “m” são percorridos Passos de funções como memórias, temporizadores, contadores etc, são representados como na simbologia dos diagramas de blocos lógicos. Observação Esse tipo de representação gráfica apresentada se aplica bem para comandos seqüenciais ou em situações em que o número de variáveis e de etapas do processo é elevado. Exemplo: Preparação de solução salina A figura a seguir mostra o esquema do processo. Descrição do funcionamento desejado: a) processo pode ser iniciado manual ou automaticamente. Controladores Programáveis SENAI 41 b) No início do processo, a válvula VA se abre, admitindo água no tanque. O volume QA de água é previamente fixado para a operação e medido por um medidor de fluxo. O volume QA deve ser superior ao necessário para atingir a nível Nmin do tanque e igual ou inferior ao necessário para o nível Nmax do tanque. c) Quando a água atingir o nível Nmin, o motor M1 do agitador deve ser ligado. O tempo entre a ordem de iniciar o processo e a ligação do motor M1 não deve ser superior a quinze minutos. d) Quando o volume pré-fixado da água for atingido, a válvula VA deve ser fechada. O tempo tQA é necessário para se alcançar o volume Q. Caso ele seja ultrapassado, deve ser dado alarme. e) Volume QA de água admitido no tanque determina o volume QS de sal a ser dissolvido. A proporção QA/QS deve ser constante para qualquer volume de água. O volume QS é medido por uma balança fotoelétrica de conversão massa-volume, colocada na saída da válvula VS. f) A correia transportadora acionada pelo motor M2 é ligada ao se fechar a válvula VA. Dez segundos após a ligação de M2, a válvula VS deve abrir para a admissão de sal. g) Quando o valor QS é atingido, a válvula VS deve ser fechada e o motor M2 desligado 30s após. h) A partir desse instante, deve transcorrer o tempo tK de agitação (variável conforme o volume QA de água e QS de sal. i) Ao final do tempo tK, a correlação entre a condutividade da solução e sua temperatura deve apresentar um valor K. Caso esse valor não seja alcançado, deve ser dado aviso de tempo tK ultrapassado. j) Quando o valor K é atingido, ou através de comando manual, inicia-se a descarga do tanque de mistura, se o nível do tanque de eletrólise for ND. A descarga do tanque de mistura é iniciada com a abertura da válvula S. Vinte segundos após a abertura da válvula S, a bomba B é ligada. O motor M1 deve ser desligado ao ser atingido o nível Nmin. O tanque deve ser esvaziado até que seja dada a indicação de tanque vazio No. Nesse instante, deve-se desligar a bomba B e 10s após, a válvula S deve ser fechada. Controladores Programáveis SENAI 42 k) Desligada a bomba B e fechada a válvula S, o sistema deve se manter em repouso durante 30s. Não ocorrendo ordem manual de desligar, o processo pode ser automaticamente reiniciado. Antes que isso aconteça, os contadores QA e QS devem ser levados a zero. Esta deve ser a condição inicial do processo. Solução O exemplo apresentado é complexo e sua solução corresponde ao diagrama funcional por fluxograma de processo mostrado a seguir. Controladores Programáveis SENAI 43 Controladores Programáveis SENAI 44 Localização de defeitos em sistemas de controle O processo de operação de uma máquina é controlado por um sistema principal e diversos subsistemas. Na maioria dos processos, o sistema eletroeletrônico é o sistema principal cuja função é receber informações, processá-las e tomar decisões que são enviadas ao subsistemas. Em virtude do sistema ser quase sempre controlado elétrica ou eletronicamente, o operador tem a tendência de associar qualquer defeito do sistema a uma falha elétrica ou eletrônica. Isso o leva a requisitar o técnico em manutenção eletroeletrônica para a correção do defeito. Por isso, o técnico deve ter uma visão geral do sistema e ser capaz de identificar qual subsistema está danificado. Para isso, é necessário que ele conheça o funcionamento da máquina e analise o sistema como um todo. O fluxograma a seguir mostra as etapas que devem ser seguidas pelo profissional para detectação e eliminação do defeito. Controladores Programáveis SENAI 45 Controladores Programáveis SENAI 45 Computadores Este capítulo tem por objetivo apresentar os blocos componentes de um computador, como eles funcionam e como se relacionam entre si. O que é um computador O computador é um equipamento que executa automaticamente uma seqüência de operações para as quais foi anteriormente programado. Essas operações podem apresentar a solução de problemas matemáticos ou controle de certas funções como, por exemplo, o comando de uma máquina. Os computadores têm a fama de processar muitos dados de uma só vez. Contudo, na verdade, eles processam apenas um dado de cada vez. O que dá a impressão de que ele executa muitas funções ao mesmo tempo é alta a velocidade com que essas operações são realizadas. O computador é composto basicamente pelo “hardware” e pelo “software”. “Hardware” é o termo utilizado para designar a parte física do computador, ou seja, todos os componentes eletrônicos, mecânicos, magnéticos, fios e conexões que são utilizados na sua fabricação. O “hardware” se divide em três blocos principais: • O processador, • A memória, • Os dispositivos de entrada e saída. O processador é o “cérebro” do computador. Ele tem a capacidade de executar as instruções (programa) enviadas ao computador pelo usuário. Tem também a função de somar, subtrair e executar operações lógicas. Controladores Programáveis SENAI 46 Em um computador de grande porte, o processador é chamado de UCP ou unidade central de processamento. Em um mini ou microcomputador, o processador é chamado de microprocessador. A memória é a área de trabalho do computador e sua capacidade determina o que ele pode fazer ou não. Por isso, a capacidade de um computadoré determinada pela quantidade de memória que ele possui. Os dispositivos de entrada e saída (ou I/O do inglês “input/output”) são todas as formas usadas pelo computador para receber ou enviar dados. Esses dispositivos incluem a entrada que digitamos pelo teclado e a saída que o computador apresenta na tela do monitor, imprime na impressora e os conteúdos dos discos de armazenamento. Esses dispositivos são também chamados de periféricos. Dentre todos os dispositivos citados, o mais importante e é o “hard disk”, ou disco de armazenamento, pois é nele que o computador guarda seus dados quando não estão em uso na memória principal. “Software” é o termo utilizado para designar o programa dos computadores, ou seja, uma série de instruções que informam ao computador como ele deve operar. É o programa que traz o computador “a vida” e o transforma numa poderosa ferramenta de trabalho. O computador, portanto, nunca pode ser considerado isoladamente, como estrutura física (circuitos, componentes, interconexões), mas sim como um conjunto de dois blocos interdependentes: o “hardware” e o “software”. Origens do computador Os computadores começaram a ser usados comercialmente na década de 50. O avanço da tecnologia empregada na construção dos componentes fez com que estes ficassem cada vez menores, mais rápidos e econômicos, já que consomem menos energia. O desenvolvimento dos computadores aconteceu rapidamente a ponto de se distinguirem claramente até agora quatro gerações: Controladores Programáveis SENAI 47 Primeira geração: os computadores da primeira geração funcionavam totalmente a válvula, portanto seu tamanho físico era muito grande, o consumo de energia era excessivo e quilômetros de fios eram usados na conexão de seus componentes. Outra característica dessa geração de computadores era a falta de confiabilidade e o tempo excessivo para processar as informações. Nessa geração, a programação era feita em linguagem de máquina, e os programas eram executados de forma estritamente seqüencial. Segunda geração: nos computadores da segunda geração, as válvulas foram substituídas por transistores. Essa inovação levou a uma grande redução no tamanho físico e no consumo. Além disso, os fios de ligação foram substituídos por placas de circuito impresso. Desta maneira, os computadores tornaram-se menores, mais rápidos e mais confiáveis. A linguagem de programação foi simplificada consideravelmente. Ao invés de se utilizar linguagem de máquina, podiam ser utilizados comandos alfabéticos abreviados (linguagem “assembler”). Terceira geração: os computadores da terceira geração foram marcados pela utilização de circuito integrados. Essa utilização permitiu um novo e apreciável aumento da capacidade de trabalho dos computadores, pois aumentou a confiabilidade e diminuiu o tempo de processamento das informações. A utilização de CLs também reduziu consideravelmente o tamanho físico dos computadores. A programação dos computadores é agora realizada com o auxílio de linguagens de programação orientadas para o problema a ser resolvido. São linguagens de natureza universal que se assemelham cada vez mais à linguagem humana. As mais importantes dessa categoria são “fortran” (para problemas científicos) e “cobol” (para tarefas comerciais e industriais). Quarta geração: A quarta geração de computadores foi marcada pela larga integração de componentes em um único circuito integrado que resultou no microprocessador. O microprocessador, apesar de seu tamanho (que justifica seu prefixo micro), é muito mais rápido e possante que os mais populares computadores da geração anterior. Controladores Programáveis SENAI 48 A linguagem usada pelos computadores dessa geração é “basic”, especialmente desenvolvida para os microcomputadores. Estamos caminhando para a quinta geração de computadores que será provavelmente caracterizada pela linguagem de programação ainda mais próxima da natural, processamento paralelo de dados, inteligência artificial, reconhecimento de imagens. Tipos de computadores Os computadores podem ser classificados segundo sua capacidade de armazenamento de dados e a velocidade com que manipulam esses dados. De acordo com essa classificação, eles se dividem em três grupos: • Computadores pequenos ou microcomputadores; • Computadores médios ou microcomputadores; • Computadores de grande porte ou “mainframes”. Microcomputadores Os microcomputadores são capazes de resolver problemas similares aos que os computadores de grande porte resolvem, porém os problemas devem ser menos complexos, com menor quantidade de dados e com velocidade maior de processamento. Os microcomputadores podem ser classificados de acordo com seu emprego: os de uso dedicado em aplicações comerciais e os de uso geral, ou microcomputadores pessoais. Computadores de médio porte Controladores Programáveis SENAI 49 Esses computadores estão numa posição intermediária entre os micros e os computadores de grande porte. São computadores que possuem uma razoável quantidade de memória e são capazes, por exemplo, de controlar o processo de produção de uma indústria. Computadores de grande porte Os computadores de grande porte são aqueles empregados para resolver problemas complexos de ordem técnica e científica, em situações onde exista uma grande quantidade de dados a serem processados em tarefas que envolvem usualmente um número extremamente grande de cálculos e dados. Os computadores de grande porte normalmente trabalham com número elevado de periféricos que muitas vezes se encontram espalhados geograficamente. O processamento das informações é extremamente rápido. Um exemplo desse tipo de computador é o computador usado pelo sistema bancário. Características dos computadores Os computadores são caracterizados de uma maneira geral por três aspectos: • Capacidade de memória, ou seja, o total de memória residente que o computador possui. É expressa em bytes (kilobytes) ou mbytes (megabytes) • Tamanho da palavra, ou seja, o número de bits de dados que o computador pode manusear de uma só vez. Existem computadores de oito, dezesseis, trinta e dois e sessenta e quatro bits. • Velocidade de processamento, ou seja, o tempo que o computador leva para processar as informações. Acima vimos que para apresentar as características dos computadores, precisamos empregar algumas palavras novas como “Kbytes e bits”. Vamos, então ver o significado delas e de mais algumas outras importantes para entender o funcionamento dos computadores. Bit, do inglês “binary digit”, é a menor unidade de informação que um computador pode processar. Os bites são expressos em números binários e podem assumir os valores zero e um. Controladores Programáveis SENAI 50 Palavra - Binária, ou simplesmente palavra é um conjunto de números binários. Essas palavras têm nomes especiais dependendo do número de bits que ela contenha, ou seja: • Byte é uma palavra de oito bits. • Nibble corresponde a meio byte, isto é, quatro bits. • Word é uma palavra de dezesseis bits. • Doubleword (palavra dupla) é uma palavra de trinta e dois bits. Kylobyte, ou simplesmente Kbyte ou ainda Kb, é múltiplo de byte e corresponde a 1024 bytes. Quando ouvimos falar em 64Kb, isso significa 64 vezes 1024, ou 65 536 bytes. Megabyte corresponde a 1Kb de 1Kb (1024 x 1024), ou mais exatamente, 1048 576 bytes. Controladores Programáveis SENAI 51 Memórias Em qualquer computador, tanto as instruções quanto os dados do programa devem ser armazenados a fim de que possam estar disponíveis sempre que o usuário do equipamento necessitar deles. Essa função imprescindível no sistema é realizada pelas memórias. Neste capítulo, estudaremos as operações que as memórias realizam, como essas operações são realizadas e quais os tipos de memórias que existem para realizá-las. Armazenamentode dados Os circuitos integrados de memória têm uma capacidade de armazenamento de um determinado número de palavras com um determinado número de bits. Assim, um circuito de memória muito usado tem capacidade de armazenamento de 1 kbyte, ou seja, 1024 palavras de 8 bits. Cada unidade de armazenamento da memória pode ser comparada a um registrador capaz de guardar uma palavra de dados. O número de palavras que pode ser armazenado é igual ao número de registradores que a memória possui. A “largura” de cada registrador corresponde ao número de bits que a palavra possui. Observe a figura a seguir. Controladores Programáveis SENAI 52 O conteúdo de cada registrador está sujeito a duas operações possíveis leitura e escrita. A leitura é o processo de retirar a palavra armazenada do registrador e enviá-la para algum outro lugar. Por isso, quando se efetua a leitura de um dado (palavra) na memória, seu conteúdo se modifica. A escrita é o processo de colocar uma nova palavra em um determinado registrador. A operação de escrita apaga a palavra memorizada anteriormente e grava a nova palavra. Obsevação Não são todos os tipos de memória que permitem a escrita de novas palavras como veremos mais adiante Endereçamento Para que o dado que está sendo lido seja encontrado, é preciso que ele tenha um endereço. Esse endereço tem a forma de um número e cada registrador recebe um número. Esse número especifica a exata localização do registrador e, conseqüentemente, da palavra armazenada. A figura ao lado mostra a representação esquemática da organização interna de uma memória que armazena 64 palavras de 4 bits cada. Controladores Programáveis SENAI 53 Seleção da memória A maioria das memórias têm uma entrada chamada “chip-select” (CS)que é utilizada para habilitar ou desabilitar as entradas e saídas do CI. Quando a entrada CS está no modo desabilitado todas as entradas e saídas de dados do CI estarão desabilitadas. Isso impossibilita qualquer operação de escrita ou leitura. Operação de leitura ou escrita A operação de leitura ou escrita é selecionada pela entrada de leitura/escrita (R / W, do inglês “read/write”). Quando está em nível alto, esta entrada habilita os amplificadores de saída e faz a leitura do registrador endereçado. Quando esta entrada está em nível baixo, habilita os amplificadores de entrada e coloca níveis lógicos no registrador endereçado. Observação Para economizar pinos nos CIs, os fabricantes combinam as funções de entrada e saída de dados em pinos de entrada e saída comuns. Observe a figura a seguir que mostra os pinos sendo usados como entrada/saída (I/O, do inglês “input/output”). Controladores Programáveis SENAI 54 Tipos de memória Os CIs de memória se dividem em duas grandes classificações de acordo com as funções de leitura ou escrita que desempenham. As memórias em que se pode ler ou escrever dados são chamadas de memórias de leitura e escrita (RWM, do inglês “read/write memory”). O termo usual para identificar esse tipo de memória é RAM (do inglês “random access memory” e que quer dizer memória de acesso aleatório). Na verdade, o termo RAM define qualquer memória capaz de ter qualquer de seus registradores acessados sem ter que passar antes por outros registradores. As RAMs são utilizadas em computadores para o armazenamento temporário de programas e dados. A principal característica e desvantagem desse tipo de memória é o fato de serem “voláteis”, ou seja, elas perdem a informação armazenada ao serem desenergizadas. Existem dois tipos de memórias RAM: a estática e a dinâmica . A RAM estática usa flip-flops internos para armazenar os dados. Cada flip-flop corresponde a um bit de dado, o que limita a capacidade de armazenamento a 64 kbytes por CI. A vantagem da RAM estática é que a informação armazenada fica no biestável que permanece travado enquanto a alimentação for mantida constante. A RAM dinâmica não utiliza flip-flops para o armazenamento de dados, mas minúsculos capacitores. Essa técnica permite que apenas alguns componentes sejam utilizados por dado armazenado. Isso aumenta a capacidade de armazenamento do CI para 64 kbytes. A RAM dinâmica é assim chamada porque os capacitores tendem a se descarregar e precisam ser periodicamente recarregados. Essa recarga periódica é chamada de refrescamento (“refreshing”) da memória. Esse refrescamento é feito a cada 2ms (milissegundos). Controladores Programáveis SENAI 55 Além de maior capacidade de armazenamento, as RAMs dinâmicas têm menor consumo. Da mesma forma como as RAMs estáticas, as RAMs dinâmicas também perdem os dados armazenados quando são desenergizadas. Além das RAMs, existem também as ROMs (do inglês “read only memory”) que são memórias utilizadas apenas para terem seus dados lidos. Sua principal característica é ser não-volátil, isto é, ela não perde o dado armazenado mesmo depois de desenergizada. Em operação normal, nenhum dado pode ser escrito em uma ROM. O processo de escrita não é simples e dependendo do tipo de ROM usado, os dados podem ser escritos apenas uma vez ou quantas vezes for necessário. Devido à sua característica principal (memória não-volátil), as ROMs são utilizadas para armazenar dados que não mudam como por exemplo, programas monitores de computadores ou de controladores lógicos programáveis. As ROMs podem ser classificadas de acordo com o processo de escrita de dados que é empregado: • ROM programável por máscara - a escrita é feita pelo fabricante sob encomenda do usuário. Durante o processo de fabricação, o fabricante confecciona uma máscara (ou gabarito fotográfico do circuito) que permite a produção das memórias. Esse processo, porém tem custo elevado e sua produção só se torna economicamente viável quando feito em larga escala. Essas ROMs estão disponíveis pré-programadas com dados que são utilizados comumente como tabelas matemáticas e códigos geradores de caracteres. • ROM programável - (PROM do inglês “programmable read only memory” ) permite que o próprio usuário armazene os dados ou programas desejados. Isso é feito com o auxílio do programador PROM. A memória contém elos fusíveis que se queimam à medida que os bits são gravados com os níveis lógicos desejados. Uma vez completada a gravação, esta não pode mais ser alterada. • ROM apagável -(EPROM, do inglês “erasable programmable read only memory”) pode ser apagada e reprogramada um número indefinido de vezes. Uma vez programada, ela é uma memória não volátil e mantém os dados armazenados indefinidamente. Existem dois tipos de EPROMs que são diferenciadas pelo processo de apagamento. Controladores Programáveis SENAI 56 O primeiro processo é o que usa exposição à luz ultravioleta através de um janela de quartzo na face superior do CI. O segundo processo é utilizado na EEPROM (do inglês “electrically erasable programmable read only memory”, ou seja, PROM eletricamente apagável). O CI possui um pino ao qual se aplica determinada tensão que apaga os dados armazenados. Controladores Programáveis SENAI 57 Microprocessador A UCP controla todas as funções realizadas pelo sistema de um microcomputador. Nessa tarefa, ela chama as instruções da memória, decodifica-se e executa-as. Além disso, ela alimenta a memória e as portas de entrada e saída para executar as diversas instruções recebidas. Dentro desse sistema, o CI que comanda todas essas funções é o microprocessador que corresponde à unidade central de processamento. Esse microprocessador possui algumas características que serão estudadas neste capítulo. Blocos funcionais do microprocessador O microprocessador executa um grande número de funções: • Gera sinais de controle e temporização; • Busca instruções e dados na memória; • Transfere dados para dispositivos de entrada/saída; • Executa operaçõeslógicas e aritméticas; • Responde a sinais de controle gerados pelos dispositivos de entrada/saída. Para executar essas funções, o microprocessador possui um circuito lógico completo que pode ser dividido em três blocos: 1.registradores; 2.temporização e controle; 3.unidade lógica e aritmética. Os registradores são unidades funcionais usadas para armazenamento temporário dos bits do microprocessador. Eles também transferem os dados ali armazenados para a memória ou dispositivo de entrada e saída. Controladores Programáveis SENAI 58 A unidade de temporização e controle tem a função de controlar as operações de todas as unidades do sistema de modo que funcionem numa seqüência lógica e sincronizada para que cada dispositivo opere no momento correto. A unidade lógica e aritmética (ULA) executa as operações lógicas e aritméticas do sistema. Barramentos Para que o microprocessador possa se comunicar com as outras unidades do sistema, ele necessita de vias que transportem as informações e os sinais envolvidos na operação do sistema. Essas vias são chamadas de barramentos. Os barramentos têm a função de interligar os blocos funcionais do sistema e cada um deles tem uma função específica. Controladores Programáveis SENAI 59 O barramento de endereço leva as informações para a memória ou para os dispositivos de entrada e saída. É uma via unidirecional pois os dados só fluem da UCP para as memórias ou para os dispositivos de entrada e saída. O barramento de dados é uma via bidirecional pela qual os dados podem entrar ou sair, dependendo da operação que está sendo realizada (leitura ou escrita). Ele envia ou recebe informações das posições de memória ou dos dispositivos de entrada e saída que são selecionados pelas informações geradas pela UCP e enviadas pelo barramento de endereços. O número de bits do barramento de dados determina o tamanho da palavra que o computador manipula. O barramento de controle também é uma via bidirecional e tem a função de controlar e coordenar as operações da UCP. Praticamente, o barramento se divide em duas partes, pois tem algumas vias que recebem sinais e algumas enviam sinais. Através do barramento de controle, o microprocessador é informado sobre qual a operação que deve ser efetuada. Em seguida, a UCP gera os sinais de controle e informa aos blocos funcionais qual é a operação que deve ser efetuada. Controladores Programáveis SENAI 61 Lógica Digital Sistemas de Numeração Através dos tempos foram criados vários sistemas de numeração para atender variadas aplicações, dentre os quais se destacam : • Sistema Decimal; • Sistema Binário; • Sistema Octal; • Sistema Hexadecimal. Sistema Decimal O sistema decimal é o mais conhecido e utilizado em nosso dia-a-dia. É formado por dez símbolos (0,1,2,3,4,5,6,7,8 e 9) que através de suas posições terão um determinado valor. Por possuir dez símbolos possíveis, é chamado sistema de numeração na base 10. Representação Algarismos: 0,1,2,3,4,5,6,7,8 e 9 Base: 10 Posição do algarismo no número: potências de 10 ( 10n ) Símbolo: dec Controladores Programáveis SENAI 62 Exemplo: 1.99510 Milhar Centena Dezena Unidade 1 9 9 5 1 x 103 9 x 102 9 x 101 5 x 100 1.000 900 + 90 5 1.995 Sistema Binário O sistema binário representado por apenas dois símbolos (0 e 1), que representam dois estados possíveis em um sistema: aberto/fechado, ligado/desligado, sim/não, etc. Os números binários são usados para representar o sistema de funcionamento de um computador, já que este utiliza a característica de chaves elétricas que abrem e fecham. Aos dois estados possíveis da chave (aberta ou fechada) associam-se os valores binários (0 e 1). É um sistema de numeração posicional, isto é, os símbolos têm valores diferentes de acordo com a posição que ocupam. Como possui dois símbolos é chamado de sistema de base 2. Representação Algarismos: 0 e 1 Base: 2 Posição do algarismo no número: potências de 2 ( 2n ) Símbolo: bin Exemplo: 11012 23 22 21 20 1 1 0 1 1 x 8 1 x 4 0 x 2 1 x 1 (1 x 8) + (1 x 4) + (0 x 2) + (1 x 1) = 8 + 4 + 1 = 13 Logo : 11012 = 1310 Controladores Programáveis SENAI 63 Sistema Octal O sistema octal é representado por oito símbolos ( 0, 1, 2, 3, 4, 5, 6 e 7 ) e é chamado de sistema na base 8. Este sistema é uma boa forma de simplificar a representação de números binários. Representação Algarismos: 0, 1, 2, 3, 4, 5, 6 e 7 Base: 8 Posição do algarismo no número: potências de 8 ( 8n ) Símbolo: oct Exemplo: 50278 83 82 81 80 5 0 2 7 5 x 512 0 x 64 2 x 8 7 x 1 (5 x 512 ) + ( 0 x 64 ) + ( 2 x 8 ) + ( 7 x 1 ) = 2.560 + 16 + 7 = 2.583 Logo : 50278 = 2.58310 Sistema hexadecimal O sistema hexadecimal é representado por dezesseis símbolos ( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E e F ) e é chamado de sistema na base 16. Este sistema também é uma boa forma de simplificar a representação de números binários. Representação Algarismos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E e F Base: 16 Posição do algarismo no número: potências de 16 ( 16n ) Símbolo: hex Controladores Programáveis SENAI 64 Exemplo: 19FA16 163 162 161 160 1 9 F A 1 x 4096 9 x 256 F(15) x 16 A(10) x 1 ( 1 x 4096 ) + ( 9 x 256 ) + ( 15 x 16 ) + ( 10 x 1 ) = 4096 + 2304 + 240 + 10 = 6650 Logo : 19FA16 = 6.65010 Equivalentes entre sistemas numéricos DEC BIN OCT HEX 0 0000 0 0 1 0001 1 1 2 0010 2 2 3 0011 3 3 4 0100 4 4 5 0101 5 5 6 0110 6 6 7 0111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F * * Controladores Programáveis SENAI 65 Conversão entre os sistemas de numeração Binário para Decimal Exemplo: 10102 23 22 21 20 1 0 1 0 1 x 8 0 x 4 1 x 2 0 x 1 (1 x 8) + (0 x 4) + (1 x 2) + (0 x 1) = 8 + 2 = 10 Logo : 10102 = 1010 Octal para Decimal Exemplo: 17508 83 82 81 80 1 7 5 0 1 x 512 7 x 64 5 x 8 0 x 1 ( 1 x 512 ) + ( 7 x 64 ) + ( 5 x 8 ) + ( 0 x 1 ) = 512 + 448 + 40 = 1.000 Logo : 17508 = 1.00010 Hexadecimal para Decimal Exemplo: 0AFE16 163 162 161 160 0 A F E 0 x 4096 A(10) x 256 F(15) x 16 E(14) x 1 ( 0 x 4096 ) + ( 10 x 256 ) + ( 15 x 16 ) + ( 14 x 1 ) = 0 + 2560 + 240 + 14 = 2.814 Logo : 0AFE16 = 2.81410 Controladores Programáveis SENAI 66 Decimal para Binário Dividir o número sucessivamente por 2 até que o quociente seja 0. A leitura do número em binário é feita do último resto para o primeiro (vide seta). Exemplo: 1210 = ?2 Logo : 1210 = 11002 Decimal para Octal Dividir o número sucessivamente por 8 até que o quociente seja 0. A leitura do número em octal é feita do último resto para o primeiro (vide seta). Exemplo: 10010 = ?8 Logo : 10010 = 1448 Decimal para Hexadecimal Dividir o número sucessivamente por 16 até que o quociente seja 0. A leitura do número em hexadecimal é feita do último resto para o primeiro (vide seta). Exemplo: 25410 = ?16 16 16254 1 01 14 8 8 8 100 1 14 4 1 0 2 2 2 1 6 30 0 1 1 21 0 Controladores Programáveis SENAI 67 15 = F 14 = E Logo : 25410 = FE16 Representação binária Os números binários são representados por dígitos que recebem denominações específicas em função de sua utilização. Os números binários podem receber as seguintes representações: • Bit; • Byte; • Nibble ou Tétrada. Bit É o nome dado a um dígito binário, e pode assumir o valor 0 ou 1. A palavra Bit vem do inglês Binary digit (dígito binário). Exemplo: 1 0 1 é um número binário formado por três bits Nibble ou TétradaÉ um número binário formado pela combinação de 4 bits consecutivos. Exemplo : 1 0 1 0 Byte Byte a palavra utilizada para denominar a combinação de 8 bits consecutivos. Exemplo : 1 1 0 1 1 0 0 1 BYTE NIBBLE NIBBLE Controladores Programáveis SENAI 68 Obs.: um byte é composto por dois nibbles. Palavra (Word ) Uma palavra é um conjunto de 2 bytes consecutivos, isto é, 16 bits. 1 1 0 1 1 0 1 1 0 0 1 1 1 0 1 1 Números BCD - Decimal Codificado em Binário É um código que utiliza números binários para representar os dígitos de um número decimal. Cada grupo de 4 dígitos binários representa um dígito de um número decimal. Números Decimais Números Binários 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 Exemplo : 0010 0101 0001 0011 2 x 103 2000 Milhar 5 x 102 500 Centena 1 x 101 10 Dezena 3 x 100 3 Unidade PALAVRA BYTE BYTE Controladores Programáveis SENAI 69 2000 + 500 + 10 + 3 = 2.513 Fundamentos da lógica digital O sistema binário tem uma grande aplicação em técnicas digitais e computação, sendo a base de operações de dispositivos digitais. No sistema binário só existem duas possibilidades de operação. Esse conceito de dois estados 1 ou 0, se encaixa no que se conhece como lógica binária. Dependendo do contexto que for usado, um sinal designado com um valor de 1 ou 0, também pode ser descrito conforme mostrado abaixo: Estado 1 Estado 0 Elemento Ligado Desligado Motor Avançado Recuado Cilindro Pneumático Aberta Fechada Porta Ligado Desligado Circuito Elétrico Tocando Muda Buzina Acesa Apagada Lâmpada +5V 0V Sinal Digital +12V 0V Sinal Digital Aberta Fechada Chave Obs.: Deve-se notar que a definição de 1 como sendo a condição de ligado e 0 como desligado, é arbitrária. Em algumas aplicações pode ser conveniente definir 1 como desligado e 0 como ligado. Operações lógicas A relação entre duas variáveis que representam estados binários é estabelecida através de operações lógicas que são realizadas conforme os princípios da álgebra booleana. Controladores Programáveis SENAI 70 Para realizar uma operação lógica é necessário um arranjo físico que é chamado de porta lógica. Dentro da lógica digital pode se fazer arranjos para se obter as seguintes funções: Portas Lógicas Básicas Portas Lógicas Derivadas “E” “NÃO E” “OU” “NÃO OU” “NÃO” “OU EXCLUSIVO” “SIM” “EQUIVALÊNCIA” Todos os arranjos para se conseguir as funções, terão sempre duas ou mais entradas e uma saída, com exceção das funções “NÃO” e “SIM” que sempre terão apenas uma entrada. Tabela verdade Para uma melhor análise e compreensão de uma função lógica, se utiliza a tabela verdade, onde são retratadas as possíveis condições dos elementos de entrada, e como conseqüência a condição de cada elemento de saída. Exemplo: Tabela Verdade da função lógica “E” de duas entradas. Convenção: 1 - Botão acionado 0 - Botão desacionado 1- Lâmpada acesa 0 - Lâmpada apagada Tabela Verdade A B Y 0 0 0 0 1 0 1 0 0 1 1 1 Entradas Saída Controladores Programáveis SENAI 71 O número de combinações possíveis entre os elementos de entrada pode ser obtido através da seguinte fórmula: 2n = X Exemplo: 22 = 4 As entradas podem assumir 4 combinações possíveis entre elas. Simbologia Porta Lógica “E” Equação: Y = A . B SÍMBOLO Norma ASA Norma ABNT N° de entradas N° de combinações possíveis para a(s) entrada(s) N° de estados que assumem os elementos de entrada A B Y A B Y & Controladores Programáveis SENAI 72 Equivalente Elétrico Porta Lógica “OU” Equação : Y = A + B SÍMBOLO Norma ASA Norma ABNT Equivalente Elétrico A B A B Y A B Y > = A B Controladores Programáveis SENAI 73 Porta Lógica “NÃO E” Equação : Y = A . B SÍMBOLO Norma ASA Norma ABNT Equivalente Elétrico A B Y A B Y & A B Controladores Programáveis SENAI 74 Porta Lógica “NÃO OU” Equação : Y = A + B SÍMBOLO Norma ASA Norma ABNT Equivalente Elétrico A B Y A B Y > = A B Controladores Programáveis SENAI 75 Porta Lógica “OU Exclusivo” Equação : Y = A + B SÍMBOLO Norma ASA Norma ABNT Equivalente Elétrico A B Y A B Y =1 A B BA Controladores Programáveis SENAI 76 Porta Lógica “NÃO” Equação : Y = A SÍMBOLO Norma ASA Norma ABNT Equivalente Elétrico A Y A Y 1 A Controladores Programáveis SENAI 77 Porta Lógica “SIM” Equação : Y = A SÍMBOLO Norma ASA Norma ABNT Equivalente Elétrico A Y A Y 1 A Controladores Programáveis SENAI 79 Referências Bibliográficas SENAI-SP. Controladores Programáveis - Teoria. São Paulo, 1998. SENAI-SP. Eletricista de Manutenção IV – Acionamentos – Teoria. São Paulo, 1997. SILVEIRA, Paulo R. e SANTOS, Winderson E. Automação – Controle Discreto. Ed. Érica, São Paulo, 2000.
Compartilhar