Você está na página 1de 92

 

SUMÁRIO

SUMÁRIO

1.Apresentação do material ------------------------------------------------- 1-1 


2.CLPs - Histórico e evolução ----------------------------------------------- 2-2
3.Arquitetura genérica de CLPs --------------------------------------------- 3-1
3.1Módulos de entrada -----------------------------------------------------3-3
3.2Módulos de saída --------------------------------------------------------3-5
3.3Barramento de entrada / saída ---------------------------------------3-5
3.4Módulo CPU --------------------------------------------------------------3-5
3.5Módulo de memória - Externo ----------------------------------------3-8
3.6Terminal de programação ---------------------------------------------3-9
3.7IHM - Interface Homem Máquina ------------------------------------3-9
3.8Fonte de alimentação -------------------------------------------------3-10
3.9Mapa de memória ------------------------------------------------------3-10
3.10Endereçamento de módulos de entrada / saída de CLPs - -3-13
4.Princípio de operação de CLPs ------------------------------------------- 4-1
5.Linguagem de programação de CLPs ---------------------------------- 5-1
5.1Diagrama de contatos X Diagramas Ladder ----------------------5-2
5.2A linguagem de programação Ladder ------------------------------5-6
5.2.1Operandos e endereçamento --------------------------------5-6
Entradas ----------------------------------------------------------------5-6
Saídas -------------------------------------------------------------------5-7
Memórias auxiliares --------------------------------------------------5-8
Dados do usuário -----------------------------------------------------5-9
Constantes -----------------------------------------------------------5-10
Elementos gráficos e instruções da linguagem
ladder ------------------------------------------------------5-12
Linhas de energia ---------------------------------------------------5-12
Contato NA -----------------------------------------------------------5-12

I
 

SUMÁRIO

Contato NF -----------------------------------------------------------5-13
Conexão vertical ----------------------------------------------------5-14
Conexão horizontal -------------------------------------------------5-14
Bobina -----------------------------------------------------------------5-15
Bobina liga ------------------------------------------------------------5-15
Bobina desliga -------------------------------------------------------5-16
Contato detector de borda ascendente ------------------------5-17
Contato detector de borda descendente ----------------------5-17
Contato de negação ------------------------------------------------5-18
Relé mestre ----------------------------------------------------------5-19
Segmento ou lógica ------------------------------------------------5-20
Bobina de salto ------------------------------------------------------5-20
Contadores -----------------------------------------------------------5-21
Temporizadores -----------------------------------------------------5-23
Movimentação de dados ------------------------------------------5-29
Operações aritméticas ---------------------------------------------5-32
Operações lógicas --------------------------------------------------5-36
Operações de comparação ---------------------------------------5-40
Operações de conversão de código ----------------------------5-41

II
 

APRESENTAÇÃO DO MATERIAL

APRESENTAÇÃO DO MATERIAL

Esse material foi desenvolvido para servir como suporte instrucional em um módulo
de treinamento sobre CLPs, integrante da grade curricular de cursos técnicos de
eletrônica e informática industrial ou cursos para suprimento de demanda de profissionais
da indústria. Ele aborda conceitos, recursos, aplicações, procedimentos e aspectos
operacionais relacionados com a arquitetura e programação de CLPs.
O tema por si só já é vastíssimo e além disso, do ponto de vista prático, o mercado
oferece uma grande quantidade de opções em termos de equipamentos e recursos.
Dessa forma procuramos centrar nossas abordagens em aspectos comuns de algumas
marcas e modelos disponíveis.
Pela sua abordagem genérica e de linha acadêmica, esse material deve ser 
empregado na etapa introdutória de um módulo de treinamento de CLP, para criar 
substrato e / ou equalizar conhecimentos do grupo de treinandos. Ele deve, no entanto,
ser seguido pelo estudo de um equipamento de mercado empregando documentação
técnica do fabricante, para que os treinandos possam aplicar a carga de informações
aqui contida.
 Alguns termos técnicos foram empregados na língua inglesa, pelo fato de já serem
consagrados dessa forma nas bibliografias a respeito do tema em questão. Traduções
desses termos podem tornar ineficaz a idéia que se pretende passar, quando não a torna
confusa.
Os temas são abordados pressupondo-se pré-requisitos como conhecimento de
sistemas de numeração binária e hexadecimal, elementos lógicos combinacionais,
elementos lógicos seqüenciais e memórias digitais, desejáveis para que o material seja
eficaz no cumprimento de seus objetivos.
 

1
 

CLPs - HISTÓRICO E EVOLUÇÃO

CLPs - HISTÓRICO E EVOLUÇÃO

Objetivos do capítulo

Esse capítulo trata do surgimento e evolução do CLPs até os dias atuais,


enfatizando eventos cronologicamente ordenados. Isso facilitará ao leitor posicionar os
CLPs no contexto da automação de máquinas e processos, além de auxiliá-lo na
compreensão de vários aspectos que serão abordados nos capítulos posteriores. Em
síntese, esse capítulo pretende apresentar :
• os inconvenientes dos sistemas de automação convencionais que provocaram o
surgimento dos CLPs;
• as premissas básicas que nortearam o desenvolvimento de CLPs;
• marcos da evolução da tecnologia dos CLPs;
• características comuns de CLPs disponíveis atualmente no mercado;
• alguns fabricantes de CLPs;
•  justificativas para a implantação de CLPs;
• algumas possibilidades para aplicação de CLPs.

Desde a revolução industrial, dispositivos mecânicos, hidráulicos, pneumáticos e


elétricos passaram a ser empregados em máquinas e processos industriais com o intuito
de conferir-lhes algum tipo de automatismo. Apesar das vantagens trazidas por esses
“sistemas de automação” da época, o passar do tempo apontou alguns inconvenientes
que lhes tornariam inviáveis para as novas exigências de eficiência, baixo custo e
flexibilidade que começavam a ser impostas à indústria na década de 60.
 Até então os sistemas de automação de processos discretos eram concebidos e
implementados sob medida para atender a uma aplicação específica, sendo o
“processamento”, na maioria dos casos, realizado por contatos de relés devidamente
arranjados em seqüências lógicas e conectados por fiação. Esses sistemas eram, na
maioria das vezes, monolíticos e em raríssimos casos apresentavam algum nível de
modularidade. O projeto dedicado, a falta de modularidade e o emprego de dispositivos
eletromecânicos como elementos de processamento do controle, implicavam nos
seguintes inconvenientes :
• tempos dilatados para o projeto e implementação;
• falta de flexibilidade e expansibilidade;
• grandes tempos de parada de máquina por dificuldades de manutenção;
 

CLPs - HISTÓRICO E EVOLUÇÃO

• grandes espaços físicos para a instalação dos painéis com os elementos de


controle.
Qualquer alteração no ciclo produtivo exigia penosas, demoradas e às vezes
inviáveis modificações no sistema de controle existente, implicando, em casos extremos,
no reprojeto de um novo sistema.
 A falta de modularidade dificultava ou inviabilizava ampliações futuras do sistema
existente, além de contribuir para o aumento das dificuldades em procedimentos de
manutenção.
O emprego de dispositivos eletromecânicos, com partes móveis e sujeitos a
desgastes, impunham baixa confiabilidade ao sistema de controle, implicando em
periódicas manutenções preventivas e, em último caso, manutenções corretivas que
significavam paradas de máquina não programadas.
Frente aos inconvenientes ressaltados e principalmente às suas conseqüências
diretas e indiretas, um grupo de engenheiros da empresa americana General Motors
(GM) lançou, em 1968, uma especificação técnica para servir como premissa de projeto
de novos sistemas de controle industriais. Os itens dessa especificação técnica
propunham uma nova concepção de sistemas que visava, principalmente, eliminar as
desvantagens dos convencionais da época, além trazer algumas vantagens adicionais. A
especificação técnica era composta basicamente pelos itens listados a seguir :
1. simplicidade de programação e reprogramação, com operações seqüenciais
facilmente alteráveis, mesmo na máquina ou processo;
2. facilidade de manutenção e expansão, obtida com o emprego de uma filosofia
modular “plug-in” ( facilmente conectável );
3. maior confiabilidade operacional que os sistemas convencionais, mesmo em
condições adversas, próprias de ambientes industriais;
4. dimensões reduzidas;
5. capacidade de envio de informações para um sistema central;
6. baixo custo;
7. capacidade de excitar diretamente cargas como válvulas solenóides e pequenos
motores.
Em 1969 já surgiram os primeiros sistemas de controle baseados nos itens da
especificação feita pela GM e foram batizados de “Programable Logic Controller” ou
simplesmente PLC. As bibliografias alemãs preferem o termo PC ( Programable
Controller) e nesse material será empregado o termo CLP ( Controlador Lógico
Programável ), muito comum em bibliografias em português.
Em função dos equipamentos a que se propunham substituir, os CLPs foram
concebidos para interagir com a máquina ou processo a ser controlado, recebendo e
enviando informações digitais ( liga / desliga ).
 Apesar de sua concepção ter partido das necessidades da indústria
automobilística, os CLPs rapidamente atraíram a atenção de engenheiros de outros
ramos industriais, devido às suas grandes vantagens frente aos sistemas convencionais.
 

CLPs - HISTÓRICO E EVOLUÇÃO

 As possibilidades de aplicações se tornaram amplas e, frente a uma demanda


crescente, várias empresas fabricantes concentraram esforços em pesquisas e
desenvolvimentos para melhorar ainda mais os recursos e facilidades oferecidos pelos
CLPs, sempre empregando o que de mais recente havia em termos de tecnologia da
época. Isto fez com que os CLPs experimentassem um rápido desenvolvimento
tecnológico tanto em nível de hardware quanto em nível de software.
Em 1976 surgiram os primeiros CLPs com arquitetura descentralizada, baseada em
um processador central comunicando-se remotamente com racks de módulos de
entrada / saída, distribuídos em toda a extensão da máquina ou processo.
Em 1977 foi introduzido o primeiro CLP baseado em um microprocessador. A
responsável pelo desenvolvimento foi a Allen Bradley Corporation que utilizou o
microprocessador 8080 da Intel Corporation, ambas empresas americanas.
 A grande divulgação e disseminação dos CLPs incentivou os fabricantes a lançarem
famílias de equipamentos com vários níveis de desempenho e recursos para atenderem
às mais variadas aplicações, com as melhores relações custo / benefício.
O ano de 1980 foi marcado pelo surgimento de módulos de entrada / saída
inteligentes, com capacidade de processamento dentro de uma aplicação específica,
desenvolvidos com o intuito de amenizar a carga do processador principal e melhorar a
performance geral do sistema. Melhorias também foram introduzidas no desenvolvimento
de aplicações, com melhores recursos de programação e documentação de projetos.
 A partir de 1983, face aos avanços tecnológicos na área de CIs ( Circuitos
Integrados) de alta escala de integração, alguns fabricantes lançaram microCLPs para
atender a um nicho de pequenas aplicações que, até então, não podiam fazer uso dos
modelos disponíveis, em virtude do custo proibitivo para elas.
 A partir de 1985 os CLPs começaram a ser conectados entre si, com
microcomputadores e outros equipamentos através de redes, possibilitando
definitivamente a distribuição de tarefas de controle e supervisão no chão de fábrica.
 A década de 90 trouxe para os CLPs muitos avanços para o controle de processos
seqüenciais mas ainda incorporou a eles recursos dedicados ao controle de variáveis
contínuas, antes próprios apenas de controladores específicos para essas finalidades.
 As indústrias de hoje, empenhadas em tornar realidade filosofias operacionais como
CIM ( Computer Integrated Manufacturing ) e FMS ( Flexible Manufacturing Systems), têm
buscado os limites máximos de versatilidade e qualidade e mínimos de custo e tempo de
produção. Somados às técnicas administrativas e de gerenciamento da produção e a um
sem número de recursos, os CLPs participam como elementos tecnológicos de
fundamental importância e em constante evolução para atender às novas exigências que
a eles são feitas a cada dia. Na atualidade, inúmeros fabricantes oferecem uma
variedade de famílias e modelos de CLPs com os mais variados tamanhos,
potencialidades e recursos. No estágio de evolução em que se encontram, alguns
recursos comuns de CLPs são :

• arquitetura de hardware modular;


 

CLPs - HISTÓRICO E EVOLUÇÃO

• grande disponibilidade de módulos para aplicações específicas, porém cada vez


mais demandadas nas indústrias, como controle PID, contadores rápidos,
controle de posicionamento, interfaces com tratamento de sinal para diversos
tipos de sensores, etc;
• possibilidade de controle centralizado e distribuído;
• linguagem de programação de fácil assimilação por parte de profissionais
experientes nos tradicionais sistemas de controle a relé;
• conjunto de instruções composto de operações lógicas, aritméticas,
temporização, contagem, comparação, conversão de sistemas de
representação numérica, etc.
• facilidades para a criação e depuração de programas bem como o start up da
máquina ou processo;
• suporte facilitado para conexão, interação e desenvolvimento de aplicações com
IHM (Interfaces Homem Máquina) a base de teclado / display ou teclado /
monitor gráfico;
• possibilidade de conexão em rede com outros CLPs da mesma família, IHMs ou
sistemas de supervisão.
Citamos a seguir, em ordem alfabética, alguns fabricantes de CLPs :
•  Allen Bradley Co.;
•  Altus;
•  Atos;
• Cutler Hammer;
• General Eletric / Fanuc;
• Hitachi;
• HI Tecnologia;
• Klockner Moeller;
• Mitsubishi Eletric Ltd.;
• Siemens Ltd;
• Telemecanique.
 Algumas justificativas para o emprego de CLPs são :
• celeridade no projeto e implementação de novas aplicações;
• rapidez no comissionamento das novas aplicações;
• redução dos tempos de parada de máquina, em função de menores períodos de
tempo para manutenções preventivas e corretivas;
 

CLPs - HISTÓRICO E EVOLUÇÃO

• rapidez na assimilação da tecnologia dos equipamentos por parte da equipes


técnicas;
• baixo custo, quando comparado a sistemas dedicados;
• menor quantidade de itens de reposição em estoque de almoxarifado;
• facilidade e rapidez em expansões e atualizações tecnológicas;
• facilidade e rapidez na implementação de ajustes e modificações nas seqüências
dos ciclos produtivos.
Os CLPs podem garantidamente serem aplicados no controle de sistemas cuja
operação se constitua de um seqüência de eventos bem definidos, muito comuns em
máquinas e processos discretos, envolvendo o tratamento de variáveis digitais ou
analógicas.
 Alguns processos, mesmo sendo predominantemente discretos, exigem em alguma
parte, a aplicação de ações de controle, próprias de processos contínuos. Visando
atender a esse tipo de necessidade, os fabricantes de CLPs passaram a dotar a sua linha
de produtos com recursos de hardware e software próprios para essas aplicações, como
por exemplo módulos analógicos especiais para condicionamento de sinais, módulos
e/ou rotinas de controle PID, etc.
Obviamente, os CLPs não possuem ainda todos os recursos operacionais de um
controlador dedicado de processos contínuos e não poderá substituí-lo em processos
que demandem complicados algoritmos de controle. Nesses casos uma boa solução
seria uma parceria : o CLP se dedica ao processamento da seqüência e o controlador 
contínuo, às variáveis contínuas, sendo a integração entre eles feita através de portas de
comunicação ou até mesmo uma rede.
Considerando todos os recursos de hardware e software, podemos citar inúmeras
aplicações para CLPs. A seguir listamos algumas :
• indústria de alimentos - dosagem, mistura, embalagem, etc;
• indústria de plástico - injeção, sopro, tratamento térmico, etc;
• indústria siderúrgica - injeção, forja, fornos, acabamento de peças, controle de
qualidade, pontes rolantes, etc;
• indústria automobilística - montagem, teste, pintura, transporte de itens etc;
• construção civil - elevadores, sistemas de climatização, ventilação, iluminação,
etc;
• etc, etc e etc.
 

CLPs - HISTÓRICO E EVOLUÇÃO

Exercícios de fixação

2.1 - Que tipos de tecnologias eram empregadas para implementar sistemas de


controle, antes do surgimento de CLPs ?
2.2 - Quais as principais razões para os inconvenientes apresentados pelos
sistemas de automação convencionais ?
2.3 - Numere os parêntesis de forma a relacionar as características dos sistemas de
automação eletromecânicos, apresentadas na coluna da esquerda, com seus
inconvenientes, listadas na coluna da direita. Cada parêntesis poderá receber mais de
um número se você achar necessário.

1. Projeto do sistema de controle feito ( ) - muito tempo gasto para projeto e


sob medida para a máquina ou implementação.
processo.
2. Sistema de controle com arquitetura ( ) - falta de flexibilidade e
monolítica. expansibilidade.
3. Emprego de dispositivos ( ) - grandes tempos de parada de
eletromecânicos para máquina para manutenção.
desempenhar funções de
“processamento” do controle
( ) - espaço físico grande para
instalação do sistema de controle.
( ) - dificuldades para mudanças na
seqüência do ciclo operacional das
máquinas.
( ) - dificuldades para a inclusão de
novos elementos a serem controlados na
máquina ou processo.
( ) - baixa confiabilidade no sistema
de controle.
2.4 - Numere os parêntesis de forma a relacionar as características dos sistemas de
automação baseados em CLPs, apresentadas na coluna da esquerda, com suas
vantagens, listadas na coluna da direita. Cada parêntesis poderá receber mais de um
número se você achar necessário.
1.dimensões reduzidas ( ) -facilidade na modificação da
seqüência operacional da máquina ou
processo;
2.emprego de dispositivos eletrônicos ( ) - facilidade de manutenção e
expansão,
3.recursos para troca de informações ( ) - maior confiabilidade operacional
com outros sistemas que os sistemas convencionais, mesmo
 

CLPs - HISTÓRICO E EVOLUÇÃO

em condições adversas, próprias de


ambientes industriais
4.algoritmo de controle realizado por  ( ) -pouco espaço ocupado pelo
programa armazenado em memória. sistema de controle
5.arquitetura preparada para interação ( ) - capacidade de envio de
com dispositivos elétricos de informações para um sistema central;
potência
6.modularidade ( ) - capacidade de excitar diretamente
cargas como válvulas solenóides e
pequenos motores.

2.5 - Relacione cada um dos itens abaixo listados relacione com uma característica
dos CLPs atuais :
1. Facilidades de substituição e expansão de elementos do hardware.
2. Facilidade para atendimento a necessidades específicas de determinadas
máquinas ou processos.
3. Emprego de um CLP controlando toda a máquina ou vários com CLPs em
ambiente com tarefas divididas.
4. Facilidades para aprendizagem e utilização da linguagem de programação.
5. Ambiente de desenvolvimento de aplicações com recursos facilitadores para
elaboração e alteração de programas em tempo implantação do sistema ou
posteriormente na necessidade de modificações.
6. Possibilidade de integração com outros equipamentos.
7. Facilidade no desenvolvimento de recursos para facilitar a interação do
operador com a máquina.
8. - Cite cinco empresas fabricantes de CLPs.
9. - Cite dez exemplos de aplicação para CLPs.
 

ARQUITETURA GENÉRICA DE CLPs

ARQUITETURA GENÉRICA DE CLPs

Objetivos do capítulo
•  Apresentar um conceito formal para CLP com o intuito de se estabelecer um
ponto de partida para a exposição da arquitetura de hardware genérica do
mesmo;
• Descrever as etapas clássicas de um sistema de controle genérico, apresentado,
em grandes blocos, a sua arquitetura, além de enfatizar a sua interação com a
máquina ou processo controlado e com o operador;
•  Analisar a arquitetura de hardware de CLPs apresentando os principais
elementos bem como a interação entre eles;
•  Apresentar a organização e aplicação dos tipos de memória empregados em
CLPs ;
• Descrever formas comuns de distribuição e endereçamento de pontos de entrada
e saída em CLPs.

O ponto de partida para o assunto desse tópico é a formalização de um conceito


para CLP :
CLP é um equipamento eletrônico digital, dedicado para controle de máquinas
e/ou processos em ambiente industrial, que recebe informações através de
módulos de entrada, realiza com elas processamentos compostos de
operações lógicas, aritméticas, de seqüenciamento, temporização e contagem,
determinados pelo programa do usuário armazenado em memória, e envia
resultados através de módulos de saída.
CLPs são, na verdade, computadores com uma estrutura projetada para suportar 
operação em ambientes hostis, dotados de interfaces de entrada e saída direcionadas
para o tratamento de sinais próprios de máquinas e processos industriais.
Em substituição aos convencionais painéis repletos de relés e outros dispositivos,
os CLPs atuam nas máquinas e processos industriais, realizando algum de tipo de
controle, de forma a torná-los automáticos.
O termo controle é comum no nosso dia-a-dia. Nós o empregamos indistintamente
em uma série de situações e até o realizamos inúmeras vezes sem o percebermos, face
ao automatismo com que é feito. No entanto, ter um conceito claro a respeito de controle
será aqui interessante pois nos levará a compreender a necessidade dos elementos que
fazem parte da arquitetura dos CLPs.
Controle pode ser entendido como um conjunto de ações pré-definidas, aplicadas
sobre um sistema, com o intuito de fazer com que ele atinja um determinado objetivo, a
partir do estado atual em que se encontra. Caso o objetivo coincida com o estado atual,
 

ARQUITETURA GENÉRICA DE CLPs

as acões que propiciaram essa situação serão mantidas até que uma nova meta seja
estabelecida.
Para realizar controle, o CLP deverá executar os seguintes procedimentos :
• receber informações do sistema a ser controlado;
• processar  essas informações com base em um conjunto de instruções,
denominado programa, previamente armazenado em memória;
• enviar informações para atuar no sistema, de forma a fazê-lo aproximar do
objetivo desejado.
 Além de interagir com o sistema a ser controlado, o CLP pode também trocar 
informações com um operador, recebendo dele comandos, que poderão interferir no
controle, e enviando para ele informações que lhe servirão para monitorar a evolução do
sistema.
Com base no anteriormente exposto, podemos delinear, em uma primeira instância,
um diagrama em blocos com todos os elementos necessários para que o CLP possa
desempenhar sua função, inserido no contexto do sistema a ser controlado. Esse
diagrama é apresentado na figura 3.1.

C LP

M e m ó ria d e
programa
Recu rsos

O p e r a d o r 
E le m e n t os d e I n t e r fa c e s
Sen sores
coman do d e e n tr ad a

P r o c e s s a d o r  S i s te m a
d o c o n t ro le c o n t ro l a d o

E le m e n t os d e I n t e r fa c e s
Atuad ores
m o n ito r a ç ã o d e s a íd a

Produ to
acabado

Figura 3.1 - Diagrama em blocos de um CLP interagindo com o sistema controlado e com
o operador.

Os sensores colhem informações do sistema controlado, disponibilizando-as para o


CLP. Como exemplos de sensores podemos citar : chaves de limite de curso,
pressostatos, termostatos, sensores de proximidade, sensores fotoelétricos, sensores de
velocidade, etc.
 As interfaces de entrada recebem as informações dos sensores, realizam nelas
algum tipo de tratamento e as repassam ao processador.
 

ARQUITETURA GENÉRICA DE CLPs

O processador recebe as informações das interfaces de entrada e as submete a um


processamento determinado pela seqüência de procedimentos dispostos na forma de um
programa, previamente armazenado na memória. Como resultado desse processamento,
o processador envia informações para as interfaces de saída.
Tendo recebido informações do processador, as interfaces de saída as submete a
algum tratamento e as envia para os atuadores.
O atuadores interferem no sistema controlado, efetivando as ações corretivas
determinadas pelo processador. Como exemplos de atuadores podemos citar : motores
com seus respectivos acionamentos, eletroválvulas acionando cilindros hidráulicos,
banco de resistências de aquecimento, etc.
 Através de elementos de comando, o operador pode enviar informações para o
processador de forma a interferir no controle. Como exemplos de elementos de comando
de operador podemos citar : botões de comando, botões de emergência, chaves
seletoras, chaves BCD ( Thumbwheel ), teclados alfanuméricos, etc
 Através dos elementos de monitoração, o operador pode acompanhar o estado de
elementos dos sistemas de controle ( CLP ) e controlado ( máquina ou processo ). Como
exemplos de elementos de monitoração de operador podemos citar : lâmpadas, quadros
sinóticos, displays de LEDs ou cristal líquido, monitores de vídeo, etc.
Independente do tamanho físico, da complexidade, das potencialidades e do
fabricante, todos os CLPs possuem um conjunto de elementos básicos que
desempenham as funções dos blocos apresentados na figura 3.1. Esses elementos, bem
como a interação entre eles, são apresentados na figura 3.2.

Módulos de entrada

Os módulos de entrada possuem a função de receber informações dos sensores


instalados no sistema controlado e disponibilizá-las, quando solicitado, para o
processador do CLP.
O Acoplador isola galvanicamente as suas entradas, que estão em contato com o
sistema controlado, do Adaptador de sinais.
O Adaptador de sinais realiza tratamentos nos sinais recebidos. Esses tratamentos
dependerão do tipo de módulo de entrada e poderão ser : conversão de nível, filtragem,
conversão A / D, etc.
O Buffer funciona como uma porta que, no momento oportuno, se abrirá liberando o
fluxo dos dados em direção ao processador.
 

ARQUITETURA GENÉRICA DE CLPs

         /
       e        o
         ã
         d
         l        ç
       a
       a
         M
       n
         i        m
       a         H
         I
       m       r
       r        g
       e        o
         T        r
       p

       m       e        o
         ã
       o         d
       c         l        ç
       a        a
       e        n          M
       c          i        m          H
         I
       a        m       a
       r
         f        r
       r        g        e
       e        e        o
         t          t        r
       n
         I        o        p

       m       s         /
       o        o        a
       c         l          d
       u        a
       e         d        a
       r          d
       c         ó         t          í
       a        n        a
         f        m
       r        e        s
       e
         t        s        e
       n        o         d
         I

  .

           C
           L
           P

         l        e         m


       a          d        r
       a        s
        u
         i        a        n        r        o
       r        o        r        s          d        a
         i        o         i
         ó         M        m        e
         f          d        a        a          d         e
       e        c          f          l        a
       m          O         t        a        a        n        p        r            d
       u          t          i
       s        r          t
       e         R         i        p        s        o
       e          B        n
         S       p        a        c         o
         M          E
         d          A         c
         O
         A
           i
        r
           é
         A
         O         n
         L          D
       e        s
        e
         l
       a          U         E         A
       o        o         g
       r          k          d          d          D         D         R
         t          í          T
       n        c        a            Ó         s
       a
       s        o        o
         l          d        s          N
       o        c
         /          M          E         o
         C        e        a
         U        ç         c
       e          d          d
         P        e
       r          d        a         o
         C        e
       o
         t        r            l
       o          t
         d          t        n        n            b
         O        n        n        e
         E
         L        e        e          )
       m        c
         U        r        a
       e         m
       e        m          d          d
       o        r
         D          d        a        r         e
       r          d          V        o
           Ó        r        a          t
       o        a          5
         t        a          B         a
       s        +        n
         M        n
         B        s          /        e
       e
       e        m         m
       c
       m        c
         d        a         a
       a        o        r
       r        r          V        r         r
       r
         P          2        a         g
       a
         1          B
         B        +         a
           i
         /
       c            D
         d
     -
         V
         2
         T
         1
           2
         D     -   .
         (
           3
         W        o
         ã         a
       ç         r
       a
         t         u
       n
       e         g
           i
       m
         i
         l            F
       a
       a        a
         i        r        s
       r        e          h
       e        a
         ó         M       m          d        c
       e          t        v          d
         A         t          i          í
       m        o        a        r
       s          t        a
       e         R         i          L
       n          D
         S
         M          S        e
       m
       a
       r
       r
       a
  .          B
         t          O
       a          L          A
         B          U         E         D
           Í
         D         D
         A
           Ó          S
         M

       a
         i        o
       r          i
       r
         ó         M
         á
       m          A        u
       e         R       s
         U
         M

  r  e f f   u  B   r   e f f   u B

  ,        o
       e
       a
         d         i          M        e         ã
       o         M          M        ç
       r          d
       n         O         O
       o         ó        r        a
         l          A          t
       e
       u        m        e         R         R         R          t        n
         t
         d        e        x         P         P        n        e
       u        o          C
         ó        e         V         E        o
       m        m       ~
         F         i          A
         M          U         E          l
       a
 

ARQUITETURA GENÉRICA DE CLPs

Módulos de saída

Os módulos de saída recebem informações oriundas do processador com o intuito


de comandar os elementos atuadores presentes no sistema controlado.
O Latch recebe e mantém a informação até a recepção da próxima.
O Driver amplifica os sinais das saídas do Latch de forma a comandar os
dispositivos de saída, que no diagrama em questão são bobinas de relés.
Os relés, ao terem suas bobinas energizadas, fecham os contatos NA comandando
os atuadores a eles conectados.

Barramento de entrada / saída

O barramento de entrada / saída é formado por um grupo de condutores na forma


de trilhas de uma placa de circuito impresso ou veias de um “flat cable”, por onde fluem
sinais de dados e controle relacionados aos módulos de entrada e saída do CLP.

Módulo CPU

Interface com módulos de entrada e saída


Esse bloco intermedia a troca de informações entre o processador e os módulos de
entrada e saída, fazendo o acoplamento lógico entre os barramentos de dados, endereço
e controle do processador e o barramento de entrada / saída.

Interface com terminal de programação e IHM ( Interface Homem Máquina )


Esse bloco permite a interação entre o terminal de programação ou a IHM com o
processador, providenciando o sincronismo em nível de hardware, necessário na troca de
informações.
 A conexão do terminal de programação ou IHM à interface em questão é geralmente
feita por meio de cabos seriais.

Memória ROM - Sistema Operacional


Essa memória armazena um programa imutável, gravado na fábrica, que orienta o
processador na realização de procedimentos unicamente relacionados à operação
interna do CLP. Uma das denominações dadas a esse programa é sistema operacional.
 Além do sistema operacional, essa memória poderá conter uma pequena biblioteca
de programas, denominados rotinas, escritas pelo fabricante, com o intuito de facilitar o
trabalho do usuário em alguns casos.
 

ARQUITETURA GENÉRICA DE CLPs

Dependendo do fabricante do CLP, o sistema operacional recebe outras


denominações como : programa executivo, firmware, programa monitor, programa do
sistema, etc.
Como o sistema operacional do CLP é transparente à aplicação de controle, a
capacidade de memória ROM não interessa ao usuário.

Memória RAM - Usuário


Essa memória é organizada em duas áreas de armazenamento bem distintas. Uma
dessas áreas armazena os códigos de máquina das instruções relativas ao programa de
aplicação, desenvolvido pelo usuário para o controle do sistema. A outra área é
reservada para armazenar dados utilizados durante o processamento do programa de
aplicação.
Como exemplo de informações geradas e empregadas pelo programa de aplicação,
podemos citar :
• ajustes de temporizadores;
• ajustes de contadores;
• valores limites toleráveis de determinadas variáveis do sistema controlado;
• etc.
 A capacidade de armazenamento dessa memória limita o tamanho do programa de
aplicação, sendo um fator determinante na escolha do CLP a ser utilizado.
Provavelmente os leitores gostariam de ter uma idéia quantitativa a respeito da
capacidade de armazenamento desse tipo de memória. Embora existam uma grande
variedade de possibilidades e até alguns critérios diferenciados para especificação de
memória RAM do usuário, por parte de diferentes fabricantes, podemos dizer que, na
época em que esse material foi elaborado, tínhamos :
• capacidade de memória de usuário típica para CLPs dedicados a pequenas
aplicações ≅ 2Kbytes;
• capacidade de memória de usuário típica para CLPs dedicados a grandes
aplicações ≅ 1.024Kbytes.
Como a memória em questão é volátil ( perde o conteúdo na falta de alimentação ),
a bateria mantém o programa de aplicação íntegro, mesmo com o CLP desligado.

Memória RAM - Sistema


Essa memória tem a função de armazenar informações intermediárias geradas e
utilizadas pelo processamento do sistema operacional.
Como exemplo de informações geradas e empregadas pelo programa de aplicação,
podemos citar :
 

ARQUITETURA GENÉRICA DE CLPs

• cópia do estado de cada uma das entradas, denominada imagem das entradas,
que será acessada pelo processador durante a execução do programa de
aplicação;
• cópia dos resultados do processamento do programa de aplicação, denominada
imagem das saídas, que serão utilizadas pelo processador para atualização
dos estados das saídas.
• memórias empregadas como temporizadores;
• memórias empregadas como contadores;
• memórias auxiliares empregadas para armazenamento intermediário durante a
execução do programa de aplicação;
• data e hora atualizadas;
• códigos de erros;
• tempo gasto para execução do programa do usuário;
• dados intermediários gerados pelo sistema;
• etc.
 A bateria associada a essa memória serve para manter íntegro parte ou todo
conteúdo relativo aos temporizadores, contadores e memórias auxiliares na falta de
alimentação. Essa possibilidade de preservar o conteúdo desses elementos estratégicos,
denomina-se retentividade, e a sua existência dependerá do fabricante e modelo do
CLP.

Processador 
O processador é o “cérebro” do CLP e trabalha, tendo seu tempo dividido entre a
execução do sistema operacional e o programa do usuário .
Como resultado da execução do sistema operacional, o processador realiza
procedimentos como :
• auto-teste e rotinas de inicialização, após a alimentação ter sido ligada;
• leitura periódica dos estados das entradas e armazenamento em uma área da
memória de dados;
• leitura periódica dos resultados dos processamentos, em uma área da memória
de dados, e envio às saídas para atualização de seus estados;
• troca de informações com o terminal de programação ou IHM;
• atualização de temporizadores e contadores;
• atendimento a outros dispositivos do CLP.
 

ARQUITETURA GENÉRICA DE CLPs

Enquanto dedicado ao programa de aplicação, o processador executa as instruções


usando como insumos os estados recebidos das entradas. As instruções do programa de
aplicação orientam o processador a realizar operações do tipo :

• lógicas; • comparação;
• set e reset; • movimentação de dados;
• temporização; • conversão de códigos numéricos;
• contagem; • saltos;
• aritméticas; • etc.

Clock
Esse bloco gera um sinal de onda quadrada periódico cuja função é sincronizar 
todas as operações realizadas pelo processador.

WDT
O WDT ( Watch Dog Timer ) é o cão de guarda do sistema do CLP. Periodicamente
o WDT recebe estímulos do processador como indicativo que o sistema do CLP está em
perfeito estado de funcionamento. Caso uma anomalia ocorra e um estímulo esperado
não chegue no período de tempo determinado, o WDT “interpreta” como mal
funcionamento, força o processador a entrar em estado de inatividade e envia um
comando para o bloco Interface com módulos de entrada / saída para que ele desative
todas as saídas. Desativar indistintamente todas as saídas é um procedimento de
segurança para evitar acidentes, caso alguma delas fique ativada em momento
inoportuno.
 Alguns PLCs possuem um contato NF de propósito geral comandado pelo WDT.
Estando o CLP em condições normais de funcionamento, o WDT mantém o contato em
repouso ( fechado ). Ante a presença de uma anomalia, o WDT ativa o contato. Esse
contato pode ser usado para sinalização ou para interromper a alimentação de
determinados dispositivos, como medida de segurança.

Módulo de memória - Externo

Módulos de memória externos podem conter memórias do tipo UVPROM, EEPROM


ou RAM.
Módulos externos de UVPROMs ou EEPROMs servem como uma opção à RAM
interna dedicada ao usuário.
Módulo externos de RAM servem para expandir a capacidade de armazenamento
da RAM dedicada ao usuário.
 

ARQUITETURA GENÉRICA DE CLPs

Quando o programa de aplicação já estiver funcionando corretamente, ele poderá


ser gravado em módulos de memória não voláteis do tipo UVPROM ou EEPROM e
anexados ao Módulo CPU, em conector apropriado para tal. Isso garante que o programa
de controle esteja sempre presente ao ser ligada a alimentação do CLP, independente da
presença da bateria ou de suas condições de carga.
Os módulos externos de UVPROM ou EEPROM são fornecidos pelo fabricante do
CLP, bem como os recursos para gravação dos mesmos. Esses módulos são também
conhecidos como cartuchos de memória.
 Alguns CLPs, apresentados com uma determinada capacidade de memória RAM de
usuário, admitem uma expansão dessa memória através da instalação de um módulo
externo de RAM. A expansão de memória RAM de usuário se fará necessária em caso de
futuras alterações do sistema controlado que venham a exigir aumento do programa de
aplicação e/ou dos dados a ele relacionados.

Terminal de programação

O terminal de programação é a denominação que se dá a todo equipamento externo


ao CLP empregado para funções como :
• enviar o programa de aplicação para a memória de programa do usuário;
• ler o programa da memória do usuário;
• realizar operações de teste e depuração no programa do usuário;
• escrever ou ler informações na área da memória de dados,
• etc.
Terminais de programação são utilizados por pessoal técnico durante as fases de
implantação e “start-up” do sistema de controle ou durante procedimentos de
manutenção.

IHM - Interface Homem Máquina

IHM é a denominação que se dá a todo equipamento externo ao CLP cuja função é


permitir a interação do operador com o processador para troca de informações. Através
da IHM o operador pode monitorar condições do sistema controlado ou nele interferir,
indiretamente, através de comandos enviados para o processador.
Citamos a seguir algumas operações que podem ser realizadas com IHMs :
• monitorar uma determinada variável do processo;
• ajustar um valor de tempo;
• ler o número de peças produzidas em uma determinada linha de produção;
 

ARQUITETURA GENÉRICA DE CLPs

• atuar manualmente ligando ou desligando elementos do sistema controlado;


• etc.

Fonte de alimentação

 A fonte de alimentação é um módulo cuja função é converter a tensão AC aplicada


em sua entrada em níveis de tensão DC, necessários ao funcionamento dos demais
elementos do CLP.
Um barramento de alimentação conduz as diversas tensões de saída da fonte de
alimentação a todos os módulos que façam parte arquitetura do CLP.
Em alguns CLPs, a bateria que preserva as informações das memórias RAM da
CPU fica acondicionada na fonte de alimentação.

Mapa de memória

 A distribuição de toda a memória disponível no CLP em faixas de endereços é


denominada mapa de memória.
O mapa de memória pode ser organizado em bytes ( 8 bits ) ou words (grupo de 2
bytes), dependendo do CLP.
Na figura 3.3 apresentamos um mapa de memória de um CLP hipotético, organizado
em bytes.
 A área do sistema operacional contém o programa que gerencia os recursos do CLP
e controla a execução do programa do usuário. Essa área pode conter também, em
alguns equipamentos, rotinas que podem ser acessadas pelo usuário.
 A área de dados do sistema operacional será por ele utilizada para armazenamento
temporário durante a execução de suas tarefas. Em algumas aplicações mais avançadas,
alguma informação dessa área poderá ser útil ao usuário, como por exemplo o tempo que
está sendo gasto para a execução do programa de aplicação.
Cada bit da área de memória imagem das entradas digitais, corresponde a uma
entrada digital. Periodicamente o processador, sob o comando do sistema operacional,
lê os estados das entradas e atualiza os bits dessa área. No momento da execução do
programa do usuário, à medida que estados das entradas vão sendo solicitados, o
processador acessa essa área e lê o bits correspondentes.
Cada bit da área de memória de imagem das saídas digitais corresponde a uma
saída digital. À medida em que o programa do usuário vai sendo executado, os
resultados produzidos vão sendo escritos no bits dessa área de memória que
posteriormente serão enviados para as saídas correspondentes para atualizar seus
estados.
 

ARQUITETURA GENÉRICA DE CLPs

Em algumas aplicações pode-se fazer necessário, dentro do programa do usuário,


acessar diretamente as entradas ou saídas. Nesses casos usa-se rotinas do sistema
operacional ou instruções especiais fazem permitem esse tipo de acesso.
 A área de memórias auxiliares é também denominada área de relés auxiliares ou
área de flags e é muito utilizada nos programas de usuários, para armazenar resultados
de processamentos intermediários. O conteúdo dessa área de memória é normalmente
referenciado, no programa do usuário, pelos seus endereços relativos, que na figura 3.3
é M0 a M1023. Referências podem ser feitas a bits, bytes ou words como demonstrado a
tabela 3.1 :
Referência Exemplo de mnemônico Elemento(s) referenciado(s)
bit M 0.4 bit 4 do byte M0
byte MB 4 byte 4 completo
word MW 4 bytes 4 e 5

Tabela 3.1 - Formas de referência aos elementos da área de memórias auxiliares

Cada uma das posições de memória da área de temporizadores poderá ser 


carregada, sob o comando do programa do usuário, com um determinado valor que
corresponderá a uma temporização necessária na tarefa de controle. Ante a ativação de
um sinal de habilitação, providenciado também pelo programa do usuário, o sistema
operacional decrementa o valor do temporizador em períodos de tempo determinados por 
uma base de tempo de período fixo e conhecido. O resultado da temporização poderá ser 
monitorado de duas formas :
• a qualquer instante, durante a temporização, o valor da memória poderá ser lido,
obtendo-se valores intermediários de tempo;
• ao final da temporização um bit designado no programa do usuário é levado a
estado lógico 1 e poderá ser utilizado em processamentos posteriores.
Cada temporizador é referenciado no programa do usuário pelo seu endereço
relativo, que na figura 3.3 pode ser de T 0 a T127.
Cada uma das posições da área de memória de contadores poderá ser utilizada
para registrar, em regime crescente ou decrescente, a ocorrência de eventos gerados
externamente no sistema controlado ou internamente no próprio CLP.
Qualquer posição dessa área poderá ser carregada, sob o comando do programa
do usuário, com um valor a partir do qual de deseje realizar uma contagem crescente ou
decrescente. Periodicamente o valor do contador empregado deverá ser lido e
comparado com uma referência considerada limite para a contagem.
Cada contador é referenciado no programa do usuário pelo seu endereço relativo,
que na figura 3.3 pode ser de C 0 a C127.
O mapa de memória é divulgado nos catálogos técnicos de alguns CLPs e será
necessário em algumas situações específicas onde se fizer necessário conhecer 
endereços físicos absolutos de determinadas posições de memória, principalmente da
área de dados do sistema operacional. A expansão de memória é outro caso que pode
 

ARQUITETURA GENÉRICA DE CLPs

exigir o conhecimento do mapa de memória para análise e decisão a respeito da


viabilidade.
 

ARQUITETURA GENÉRICA DE CLPs

Endereços relativos
Endereços absolutos
em hexadecimal

8bits

FFFF

Módulo externo 8Kb


de RAM

56Kb E000
DFFF

16KB Programa do usuário

40Kb  A000
9FFF C127
Contadores
C0
T127
Temporizadores
T0
M1023
8Kb Memórias auxiliares
M0

Imagem das saídas digitais

Imagem das entradas digitais

Dados do sistema operacional


32Kb 8000
7FFF

32Kb Sistema Operacional

0Kb 0000

Figura 3.3 - Mapa de memória de um CLP hipotético.


 

ARQUITETURA GENÉRICA DE CLPs

Endereçamento de módulos de entrada / saída de CLPs

Os módulos de um CLP são instalados lado a lado em racks, bastidores, ou trilhos


em uma disposição similar à apresentada na figura 3.4.
 A fonte de alimentação e o módulo de CPU possuem posições fixas, na maioria dos
casos as duas mais à esquerda, sendo as demais ocupadas por módulos de entrada e/ou
saída (E/S). Na maioria dos CLPs, módulos de E/S digitais não possuem posição
definida, podendo ser instalados em qualquer uma que esteja livre. Esses módulos,
geralmente, acomodam quatro, oito ou dezesseis pontos que devem ser referenciados
individualmente no programa de aplicação e para tal devem possuir um endereço único e

F o n te d e CPU
a l im e n t a ç ã o M ó d u l o s d e e n t r a d a o u s a íd a

Figura 3.4 - Exemplo da disposição de módulos de um CLP genérico.

distinto. Como os módulos de E/S podem ser intercambiados entre as diversas


acomodações do bastidor, o endereço de cada ponto dependerá da posição na qual for 
instalado.
O endereço de cada ponto de E/S digital é formado por uma letra que informa se o
ponto é de entrada ou saída e uma seqüência numérica que informa a posição física do
ponto a ser acessado. Os elementos que formam os endereços de pontos de E/S digitais
dependem das convenções estabelecidas pelo fabricante do CLP, uma vez que ainda
não existe nenhum tipo de padronização. A seguir apresentamos, com o auxílio da figura
3.5, um exemplo de método de endereçamento de alguns pontos de entrada e saída
adotado por alguns fabricantes.
Os módulos apresentados acomodam pontos de E/S organizados em bytes que são
numerados em ordem crescente de cima para baixo e da esquerda para a direita.
 

ARQUITETURA GENÉRICA DE CLPs

O endereço de cada ponto de E/S é obtido da seguinte forma :


• a letra E identifica um ponto de entrada e a letra S identifica um ponto de saída;
• as letras E ou S são seguidas por um número que indica o número do byte;
• na seqüência temos um ponto e logo a seguir um outro número que se refere à
posição do bit dentro do byte em questão.

P o s iç ã o P o s iç ã o P o s iç ã o
0 1 2
E 0.0 S 4 .0
S 8 .0

E 0.7 S 4 .7

E 1.0 S 5 .0

S 8 .7
E 1.7 S 5 .7

E 2.0 S 6.0
S 9 .0

E 2.7 S 6.7

E 3.0 S 7.0

S 9 .7
E 3.7 S 7.7

F o n te d e CPU
a l im e n t a ç ã o
M ó d u lo d e s a íd a
c om 1 6 b it s
M ó d u lo d e s a íd a
c om 3 2 b it s
M ó d u lo d e e n tr a d a
c om 3 2 b it s

Figura 3.5 - Módulos de entrada e saída instalados em um bastidor de um CLP qualquer.


 

ARQUITETURA GENÉRICA DE CLPs

Caso seja necessário, uma word ou um byte inteiros ou apenas um nibble ( 4 bits )
podem ser referenciados. Os exemplos de endereçamento apresentados a seguir 
facilitarão a compreensão do leitor :
• E 4.5 → bit de entrada nº5 do byte de entrada nº 4;
• S 8.7 → bit de saída nº7 do byte de entrada nº 8;
• EB 5 → 8 bits do byte de entrada nº 5;
• EW 2 → 16 bits relativos aos bytes de entrada 2 e 3;
• S 2n0 → nibble menos significativo do byte de saída nº 2;
• E 4n1 → nibble mais significativo do byte de entrada nº 4.
Caso o número de módulos de E/S exceda o número de acomodações físicas
disponíveis, um rack ou bastidor de expansão é utilizado. Esse bastidor de expansão é
conectado ao principal através de um cabo que leva as tensões de alimentação, sinais de
endereço e controle e permite o intercâmbio de dados.
Considerando o mesmo critério de endereçamento apresentado anteriormente, os
bytes de E/S dos módulos instalados no bastidor de expansão serão numerados em
ordem crescente, de cima para baixo e da esquerda para a direita. O número do primeiro
byte do canto superior esquerdo do bastidor de expansão será o imediatamente posterior 
àquele relativo ao último byte possível no bastidor principal, esteja ele sendo utilizado ou
não.
 A figura 3.6 apresenta a conexão de dois bastidores e o endereçamento de alguns
bytes.
Outro critério de endereçamento que pode ser utilizado referencia o ponto de E/S
levando em consideração o nº do bastidor, o nº da posição física do módulo e nº do bit
que ele ocupa dentro do módulo, utilizando-se o seguinte padrão :

X R P b b
Y R P b b

onde :
X indica que o ponto é de entrada;
Y indica que o ponto é de saída;
R indica o número do rack, numerado de 0 a n;
P indica a posição física do módulo dentro do rack, numerada de 0 a m;
bb indica o número do bit dentro do módulo, considerando-se uma numeração
crescente de cima para baixo a partir do número 0.
Considerando que os racks principal e de expansão são numerados como 0 e 1,
respectivamente, vejamos como ficaria, empregando esse outro critério, o
endereçamento do ponto de entrada E 2.1 apresentado na figura 3.6 :
 

ARQUITETURA GENÉRICA DE CLPs

P r im e i r o b y t e d o
b a s tid o r d e e x p a n s ã o P o s ic a o 0 P o s ic a o 1 P o s ic a o 2 P o s ic a o 3
E 1 6 .0 E 2 0 .0 S 2 4 .0 S 2 8 .0

E 16.7 E2 0.7 S 2 4 .7 S 2 8 .7

E 1 7 .0 E 2 1 .0 S2 5.0 S2 9.0

        o
           ã
        s
        n
        a
        p
        x
        e

        e
           d F o n te d e E 1 7 .7 E 2 1 .7 S2 5.7 S2 9.7         e
        c
        a
           f
        r
        o a l im e n t a ç ã o         r
        e
           d
           i
           t
E 18.0 E 2 2 .0 S 2 6 .0 S 3 0 .0            t
        n
           I
        s
        a
           B

E 18.7 E 2 2 .7 S 2 6 .7 S 3 0 .7

E 19.0 E 2 3 .0 S 2 6 .0 S 3 1 .0

E 19.7 E 2 3 .7 S 2 7 .7 S 3 1 .7

P o s ic a o 0 P o s ic a o 1 P o s ic a o 2 P o s ic a o 3
E0 .0 E 4 .0 S8 .0 S 1 2 .0

E0 .7 E 4 .7 S8 .7 S 1 2 .7

E 1 .0 E 5 .0 S 9 .0 S1 3.0

           l
        a
        p
           i
        c
        n
           i
        r
F o n te d e E 1 .7 E 5 .7 S 9 .7 S1 3.7         e
        c
        p
CPU         a
           f
        r
        o a l im e n t a ç ã o         r
        e
           d
           i
           t
E 2 .0 E 6.0 S 1 0 .0 S 1 4 .0            t
        n
           I
        s
        a

           B

E 2 .7 E 6.7 S 1 0 .7 S 1 4 .7

E 3 .0 E 7.0 S 11.0 S 1 5 .0

E 3 .7 E 7.7 S 11.7 S 1 5 .7

Ú l t im o b y te d o
b a s t id o r p r i n c i p a l

Figura 3.6 - Instalação e endereçamento de módulos de E/S de CLPs em bastidores


principal e de expansão.
 

ARQUITETURA GENÉRICA DE CLPs

X 0017
bit 17
módulo da posição 0
rack 0
entrada

Vejamos como ficaria nesse outro critério o ponto de saída S 31.0 apresentado na
figura 3.6 :
Y 1324
bit 24
módulo da posição
3
rack 1
saída
Frente a diversidade de marcas e modelos de CLPs, atualmente em oferta, é de se
esperar que o leitor venha a se deparar como outros critérios de endereçamento de
pontos de E/S. No entanto, tendo entendido as sistemáticas apresentadas anteriormente,
o processo de assimilação de outros métodos fica mais fácil.
O material técnico divulgado pelo fabricante orientar-lhe-á com respeito ao método
adotado em determinado CLP com o qual estiver trabalhando.
 

ARQUITETURA GENÉRICA DE CLPs

Exercícios de fixação

3.1 - Cite diferenças entre microcomputadores pessoais e CLPs.


3.2 - Descreva a função dos elementos de um sistema de controle listados a seguir :
3.3 sensores;
3.4 atuadores;
3.5 elementos de comando de operador;
3.6 elementos de monitoração;
3.7 processador;
3.8 memória;
3.9 interfaces de entrada;
3.10 interfaces de saída.
3.11 - Numere corretamente os parêntesis, de forma a associar os elementos da
arquitetura de um CLP genérico com as características e funções apresentadas.

1 - Processador 9 - Interface com terminal de


programação e IHM
2 - Gerador de clock 10 - Módulos de entrada
3 - Watch Dog Timer ( cão de guarda ) 11 - Módulos de saída
4 - Memória RAM do usuário 12 - Barramento de entrada / saída
5 - Memória RAM do sistema 13 - Fonte de alimentação
6 - Memória ROM do sistema 14 - Terminal de programação
7 - Memórias UVPROM ou EEPROM 15 - Interface Homem Máquina
8 - Interface com módulos de E / S

( ) - gera um sinal de freqüência constante empregado para sincronizar o


funcionamento do processador.
( ) - fornece as diversas tensões DC necessárias para o funcionamento dos
módulos eletrônicos do CLP.
( ) - adeqüa os sinais colhidos da máquina ou processo, realizando com eles
operações do tipo : conversão de nível, filtragem, conversão A / D,
linearização, etc.
( ) - armazena o programa executivo do CLP.
( ) - intermedia a troca de informações entre o processador e os módulos de
entrada e saída.
( ) - supervisiona o perfeito funcionamento do CLP, colocando a CPU em
estado inativo em caso de anomalias.
 

ARQUITETURA GENÉRICA DE CLPs

( ) - faz a interface entre o processador e os atuadores da máquina ou


processo.
( ) - responsável pela execução do sistema operacional e programa do usuário.
( ) - armazena o programa de aplicação e dados do usuário, tendo o seu
conteúdo mantido por bateria de back up, em caso de falta de alimentação.
( ) - armazena uma imagem de todas as entradas e saídas que integram a
arquitetura do CLP.
( ) - possibilita ao operador interagir com o CLP e a máquina, permitindo
operações como : monitorar variáveis, ajustar parâmetros operacionais,
atuar manualmente no sistema controlado, ativando e desativando
elementos, etc
( ) - podem ser empregados como opção à RAM de usuário, armazenando uma
cópia do programa de aplicação definitivo, com a vantagem de não perderem
o conteúdo na falta de alimentação, mesmo sem a presença da bateria de
back up.
( ) - utilizado durante a implantação do sistema de controle e, posteriormente,
em procedimentos de manutencão, possibilitando: enviar o programa de
aplicação para a memória de programa do usuário, ler o programa da
memória do usuário, realizar operações de teste e depuração no programa
do usuário, escrever ou ler informações na área da memória de dados.
( ) - permite a troca de informações entre o processador e o terminal de
programação.
3.4 - Considere a figura 3.3 para responder às questões propostas a seguir.
3.5 Qual a capacidade máxima de memória possível para programas de
aplicação de usuário ?
3.6 Considerando que cada contador exige duas words, quantos bytes são
dedicados para a área de contadores nesse CLP ?
3.7 Considerando que esse CLP admite no máximo 512 pontos de entrada ou
saídas digitais, qual a quantidade de bytes dedicada à área de imagem
das saídas digitais.
3.8 Qual o tamanho da área dedicada às rotinas do programa executivo desse
CLP ?
3.9 Quais as formas empregadas para instalação e conexão de módulos de
CLPs ?
3.10 Quais os elementos empregados para compor endereços de pontos de
entrada / saída em CLPs ?
3.11 Considere a figura 3.6 para responder às questões propostas a seguir.
3.12 Qual a capacidade de pontos de entrada / saída digitais disponíveis no
CLP da figura ?
 

ARQUITETURA GENÉRICA DE CLPs

3.13 Apresente um endereço que referencie de uma só vez o 1º e o 2º byte do


módulo instalado na posição 2 do bastidor de expansão.
3.14 Escreva o endereço do 27º bit do módulo instalado na posição 2 do
bastidor principal, utilizando as duas formas de endereçamento para
pontos de entrada / saída apresentadas no capítulo 3.
3.15 Escreva o endereço do 117º ponto de E / S do bastidor de expansão,
utilizando as duas formas de endereçamento para pontos de entrada / saída
apresentadas no capítulo 3.
 

PRINCÍPIO DE OPERAÇÃO DE CLPs

PRINCÍPIO DE OPERAÇÃO DE CLPS

Objetivos do capítulo

Esse capítulo apresenta de forma detalhada o princípio de operação de CLPs


enfatizando todas as etapas do processamento do programa do usuário, bem como
atividades concernentes à operação dos recursos internos.

Para compreendermos o princípio de operação de CLPs partiremos de um diagrama


elétrico de comando simples e mostraremos como ele pode ser substituído por um CLP.
Para nos ajudar nessa tarefa, faremos uso do clássico diagrama de partida / parada
de uma carga, apresentado na figura 4.1

L C

Figura 4.1 - Diagrama elétrico de comando partida / parada.

O próximo passo é determinar os elementos de entrada e saída do sistema a ser 


controlado.
Elementos de entrada são aqueles cujos estados influenciam o resultado do
processamento. Na figura 4.1 esses elementos são os botões L e D.
Elementos de saída são aqueles cujos estados são influenciados pelo resultado do
processamento. Na figura 4.1 temos apenas o relé C como elemento de saída.

1
 

PRINCÍPIO DE OPERAÇÃO DE CLPs

Devemos agora eleger pontos de entrada e saída de nosso CLP para conectar,
respectivamente, nossos elementos de entrada e saída. O resultado dessa operação
pode ser visto na figura 4.2.

Módulo de Módulo de saída


entrada

+ 24V L
E
1.0
D CPU S C
4.0
E
1.1

Figura 4.2 - Conexão de elementos aos pontos de entrada e saída do CLP.

Observando a figura 4.2 podemos tirar algumas conclusões simples, mas


importantes para a evolução de nossa análise. São elas :
• o acionamento do botão L levará a entrada E 1.0 a estado lógico 1;
• o acionamento do botão D levará a entrada E 1.1 a estado lógico 0;
• o relé só será energizado quando a saída S 4.0 for levada a estado lógico 1.
O passo seguinte é escrevermos um programa de aplicação que realize a mesma
função da lógica implementada através do arranjo dos elementos no diagrama elétrico de
comando original.
O programa de aplicação a ser desenvolvido para o CLP é peça fundamental para
que possamos compreender o seu princípio de funcionamento. Assim sendo, antes de
prosseguirmos em nossa análise, introduziremos alguns breves conceitos a respeito de
programas de CLPs, sem maiores pretensões, visto que a programação de CLPs é um
assunto que será abordado no capítulo 5.
Existem algumas linguagens de programação de CLPs mas talvez a mais simples e
preferida no meio industrial seja a linguagem de diagrama de contatos ou linguagem
ladder , como é mais conhecida.
Na linguagem ladder, o programa de aplicação é representado empregando-se
símbolos similares àqueles utilizados em diagramas elétricos e, por esse motivo, a sua

2
 

PRINCÍPIO DE OPERAÇÃO DE CLPs

compreensão e assimilação é extremamente fácil por profissionais que já tenham


experiência em equipamentos e sistemas industriais.
De volta ao nosso exemplo escrevamos um programa em ladder para executar a
operação desejada.
Depois de pronto nosso programa será como mostrado na figura 4.3.

E 1.0 E 1.1 S 4.0


(
)

S 4.0

Figura 4.3 - Programa em ladder para a realização da função do diagrama elétrico de


comando partida / parada.

 A programação é feita em um ambiente de desenvolvimento de aplicações fornecido


pelo próprio fabricante do CLP.
 A próxima etapa é enviar o programa para a memória da CPU do CLP e colocá-la
em modo de execução.
 Ao executar um programa de aplicação a CPU realiza essencialmente três
operações :
1. varre todas as entradas digitais, armazenando seus estados na área de memória
de sistema dedicada para imagem de entradas;
2. varre seqüencialmente todo o programa, executando, com os estados imagem
das entradas, as operações definidas no programa e atualiza os estados dos
bits correspondentes às saídas, na área de memória de sistema dedicada para
imagem de saídas;
3. copia para as saídas, os estados presentes nos respectivos bits da área de
memória relativa à imagem das mesmas.
 As três operações são realizadas ciclicamente e ininterruptamente controlando o
sistema para o qual foi desenvolvida a aplicação.
Cada ciclo formado pelas três operações é denominado scan.
 A figura 4.4 mostra de forma pictórica o ciclo formado pelas operações 1, 2 e 3.

Lê entradas e  Atualiza saídas a 3


Executa o programa
atualiza memória partir da memória
do usuário
imagem imagem de saídas
de entradas
 

PRINCÍPIO DE OPERAÇÃO DE CLPs

Figura 4.5e - Botão D liberado.

Para a figura 4.5e valem as seguintes observações :


• o botão L permanece em repouso;
• o botão D retorna à posição de repouso;
• a entrada E 1.0 permanece em estado lógico 0;
• a entrada E 1.1 assume estado lógico 1;
• após a varredura das entradas, o bit 0 do byte 0 da memória imagem das
entradas é atualizado com estado lógico 0 e o bit 1 do mesmo byte é
atualizado com estado 1;
• o processador executa a lógica embutida no programa e escreve estado lógico 0
no bit 0 do byte 4 da memória imagem das saídas, uma vez que nenhuma
condição de ativação da saída foi satisfeita;
• o estado do bit 0 do byte 4 da memória imagem das saídas é enviado para a
saída S 4.0, fazendo com que o relé permaneça desativado.
Quando a CPU está executando normalmente o programa do usuário, dizemos que
ela se encontra no modo de execução.
No modo de execução a CPU realiza todo o ciclo de scan já descrito anteriormente
e, além disso, de uma forma transparente para o usuário, realiza algumas tarefas
relativas ao sistema, disparadas por meio de sinais de interrupção internos.
 Além do modo de execução, alguns outros modos de operação comuns para CPUs
de CLPs são :
• inicialização;

8
 

PRINCÍPIO DE OPERAÇÃO DE CLPs

• programação;
• inativo por falha;
• inativo por ausência de aplicação;
• ciclo a ciclo.
O modo de inicialização ocorre toda vez que a alimentação da CPU é ligada. Nesse
modo a CPU realiza rotinas de auto-teste e prepara o ambiente para o trabalho.
 Após a execução das rotinas do modo de inicialização, a CPU procura por um
programa de usuário válido e, caso exista ela entre modo de execução. Não existindo
programa de usuário a CPU entra em modo inativo por ausência de aplicação.
 Algumas anomalias, durante o processamento, podem levar a CPU ao modo inativo
por falha. Um exemplo de anomalia seria a presença de um código de máquina
desconhecido no programa do usuário que pode ter sido produzido por um ruído.
No modo de programação a CPU se encontra em interação com o terminal de
programação, pronta a receber algum comando do usuário, ou até mesmo um novo
programa de aplicação.
O modo ciclo a ciclo é um recurso utilizado em fase de depuração do programa de
aplicação. Nesse modo, a CPU realiza um ciclo de scan e aguarda o comando do
usuário, via terminal de programação, para realização do próximo. Empregando esse
modo de operação, o programador pode acompanhar passo a passo a execução do
programa e detectar com mais facilidade causas de possíveis erros.
Em CLPs comerciais o modo operacional no qual se encontra a CPU em
determinado momento é por ela sinalizado por meio de LEDs.
Os nomes utilizados para os modos de operação anteriormente descritos,
provavelmente não coincidirão com os empregados por CLPs comerciais
( principalmente por estarem em português ), mas o importante é que o leitor tenha
entendido a idéia concernente a cada um.

9
 

PRINCÍPIO DE OPERAÇÃO DE CLPs

Exercícios de fixação
4.1 - Conceitue o termo “scan”, no contexto da operação de CLPs.
4.2 - Um determinado CLP, ao executar uma aplicação, gasta 400 µs para atualizar a
imagem das entradas, 80ms para varrer todo o programa de aplicação e mais
400µs para atualizar as saídas. Suponha que o diagrama ladder da figura 4.3
faça parte do programa de aplicação e que inicialmente a saída S 4.0 se
encontre em estado lógico 0. Em um determinado scan, a entrada E 1.0 se
encontrava em estado lógico 0 e imediatamente após ter sido amostrada para
atualização da sua imagem, ela comutou para estado lógico1. Considere o pior 
caso e calcule o tempo transcorrido desde o instante em que E 1.0 comutou
para estado 1 até o instante em que S 4.0 foi ativada.
4.3 - Cite cinco estados operacionais de CPUs de CLPs, explicando o que ocorre
em cada um.

10
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

LINGUAGEM DE PROGRAMAÇÃO LADDER

Objetivos do capítulo

• Conceituar “ programa de CLP”.


• Mostrar a relação entre alguns diagramas elétricos de comando e seus
respectivos diagramas da linguagem de programação ladder, tabelas verdade
de funcionamento estático, símbolos lógicos e diagramas de tempo de
funcionamento dinâmico.
•  Apresentar os tipos de operandos empregados em programas de CLP, bem como
formatos e as possíveis formas de endereçamento dos mesmos.
• Descrever os elementos e as principais instruções da linguagem de programação
ladder apresentado símbolos, operação e possíveis operandos de cada um.

Um programa de CLP é um conjunto de instruções representadas na forma gráfica


ou textual, dispostas pelo programador em uma seqüência tal que, quando executadas
pelo processador, produzirão as ações necessárias para obtenção dos objetivos de
controle estabelecidos para uma máquina ou processo controlado.
 Atualmente existem quatro formas de representação de instruções em programas de
CLPs :
• diagrama de contatos ou diagrama ladder;
• blocos lógicos;
• lista de instruções;
• fluxograma seqüencial.
Dentre todos esses métodos, talvez o mais simples e preferido no meio industrial
seja o diagrama de contatos ou linguagem ladder , como é mais conhecida.
Na linguagem ladder, o programa de aplicação é representado empregando-se
símbolos similares àqueles utilizados em diagramas elétricos e, por esse motivo, a sua
compreensão e assimilação é extremamente fácil por profissionais que já tenham
experiência em equipamentos e sistemas industriais. Como nem tudo é perfeito, as
facilidades inerentes ao método ladder tornam inviável e, em alguns casos, impossível a
sua aplicação em determinados controles mais complexos, tendo o programador que
lançar mão de outro método. Vale lembrar também que alguns CLPs admitem a utilização
de mais de um método dentro de um mesmo programa.
Já tivemos um contato informal com um pequeno programa ladder, no capítulo
anterior. A figura 5.1 traz de volta esse programa.

1
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

E 1.0 E 1.1 S 4.0


(
)

S 4.0

Figura 5.1 - Programa de CLP representado em linguagem ladder.

Os elementos E 1.0 e E 1.1 são variáveis de entrada.


O elementos S 4.0 é a variável de saída.
 A disposição física dos elementos no diagrama ladder determina uma lógica
combinacional que deverá ser realizada com eles de forma a comandar a saída.
 Assim sendo, o grande desafio do programador, na tarefa de programação, é
“enxergar”, em uma aplicação, quais as combinações que deverão ser efetuadas com as
variáveis de entrada de forma que as variáveis de saída sejam comandadas para
produzirem o resultado desejado.

Diagramas de contatos X Diagramas ladder 

 A maneira clássica e mais fácil de compreender a sistemática do método de


programação ladder, é começar mostrando a equivalência entre diagramas elétricos de
comando básicos, as funções lógicas associadas e seus equivalentes ladder. Essa
estratégia funciona muito bem e é exatamente a que utilizaremos nesse tópico.
Para complementar, apresentamos também a tabela verdade que mostra o
comportamento estático da função e o diagrama de tempo que mostra o seu
comportamento dinâmico.
Posteriormente trataremos de alguns aspectos formais da linguagem ladder.

2
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

Função driver - acionamento direto

Tabela verdade

E1.0 S 4.0
Diagrama Diagrama ladder 
elétrico 0 0
1 1
E 1.0 S
4.0
(
E )

Símbolo lógico Diagrama de tempo

E 1.0 & S E 1.0


4.0
S S
4.0
0 → botão em
repouso
1 → botão acionado
Figura 5.2a - Função driver - acionamento direto.
Descrição : a saída assumirá o mesmo estado da entrada.

Função NOT - inversão

Diagrama Diagrama ladder  Tabela verdade


elétrico
E 1.0 S E1.0 S 4.0
4.0
( 0 1
E
) 1 0

Símbolo lógico Diagrama de tempo


S

E 1.0 & S E 1.0


4.0
S
4.0
0 → botão em
repouso
1 → botão acionado 3
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

Figura 5.2b - Função NOT - inversão.


Descrição : a saída assumirá estado inverso ao da entrada.
Função AND - E
Diagrama Tabela verdade
Diagrama ladder 
elétrico E 1.0 E 1.1 S 4.0
E 1.0 E 1.1 S 0 0 0
4.0
( 0 1 0
E 1 0 0
1 )
1 1 1
E
2

S Símbolo lógico
Diagrama de tempo
E 1.0  
& S
E 1.1 4.0 E 1.0

0 → botão em E1.1
0
repouso S
1 → botão acionado 4.0

Figura 5.2c - Função AND - E.


Descrição : a saída será ativada apenas quando todas as entradas estiverem
simultaneamente ativadas.

Função OR - OU
Diagrama Diagrama ladder 
elétrico Tabela verdade

E 1.0 S E 1.0 E 1.1 S 4.0


4.0
( 0 0 0
E 1.1 ) 0 1 1
E E 1 0 1
1 2 1 1 1

S
4
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

Símbolo lógico
Diagrama de tempo
E 1.0
 ≥1 S
E 1.1 4.0 E 1.0

0 → botão em E1.1
repouso 0
S
1 → botão acionado 4.0
Figura 5.2d - Função OR - OU.
Descrição : a saída será ativada sempre que qualquer uma das entradas estiver 
ativada.
Função NOR - não ou
Tabela verdade
Diagrama Diagrama ladder 
elétrico E 1.0 E 1.1 S 4.0
0 0 1
E 1.0 E 1.1 S 0 1 0
E 4.0
(
) 1 0 0
1 1 1 0
E
2

Símbolo lógico
S
E 1.0 Diagrama de tempo
& S
E 1.1 4.0
0 → botão em E 1.0
repouso
E1.1
1 → botão acionado 0
S
4.0 OU.
Figura 5.2e - Função NOR - NÃO
Diagrama
Descrição : a saída será desativada sempre que qualquer uma das entradas estiver 
ativada.elétrico

Função NAND - não e


E E Diagrama ladder  Tabela verdade
1 2
E 1.0 S
4.0
(
E 1.1 ) 5
S
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

E 1.0 E 1.1 S 4.0


0 0 1
0 1 1
1 0 1
1 1 0

Símbolo lógico Diagrama de tempo

E 1.0
 ≥1 S E 1.0
E 1.1 4.0
0 → botão em E1.1
repouso 0
S
1 → botão acionado 4.0
Figura 5.2f - Função NAND - NÃO E.
Descrição : a saída será desativada apenas quando todas as entradas estiverem
ativadas.
 A combinação dessas funções lógicas básicas nos permite implementar qualquer 
outra.

A linguagem de programação ladder 

Como toda linguagem de programação, a linguagem ladder possui suas instruções,


regras e limitações e é isso que pretendemos discutir a partir de agora.
 As instruções da linguagem ladder são representadas graficamente, como já
tivemos oportunidade de perceber, e podem ser agrupadas em algumas categorias, a
saber :
• relés - contatos e bobinas;
• conexões;
• temporizadores e contadores;
• movimentação de dados;
• aritméticas e lógicas;
• comparação;

6
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

Figura 5.6 - Área de memória de dados do usuário.

Constantes

Dados que não variam no decorrer do programa, ocupam uma área da memória
disponível para o programa do usuário. Uma mesma constante pode ser representada de
várias formas dependendo da conveniência em determinado momento. As formas de
representação mais comuns são :
• constante binária KB → 01000001 00110111 (2) ;
• constante hexadecimal KH → 41 37(16) ; 
• constante ASCII KA→ A7 (ASCII) ;
• constante decimal com sinal KD → +16695(10) .
 A figura 5.7 apresenta uma área da memória de aplicação do usuário, enfatizando o
armazenamento da constante mostrada anteriormente.

 Área da memória
de aplicação do
usuário

3 0 0 1 0 0 0 00 KH 4137
Endereços 2 0 1 0 0 0 0 01 operando KD
de cada 1 0 0 1 1 0 1 11 +16695
posição 0 0 0 0 1 0 0 10 KA A7
76543210
Posição dos bits
Figura 5.7 - Constante armazenada na área de aplicação do usuário.

Existem ainda dois outros tipos de endereçamento de operando cuja sistemática


utiliza um método indireto.
Um deles é o endereçamento indireto, onde o endereço de uma variável se
encontra armazenado em outra variável. O outro é o endereçamento indexado, muito
empregado para se acessar informações em tabelas unidimensionais. Nesse tipo de
endereçamento, a tabela é tratada como uma variável com várias posições, sendo que
cada uma possui um índice através do qual é referenciada. Uma outra variável é

11
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

escolhida para armazenar o índice e, dependendo de seu conteúdo, uma posição


qualquer da tabela pode ser acessada.
Esses dois tipos de endereçamento ficam mais claros quando representados
graficamente. Vejamo-los na figura 5.8.

8 1 0 0 1 0 0 0 0
7 0 0 1 0 0 0 0 0
6 0 0 0 0 0 1 1 1
5 0 0 0 10 0 1 0
4 0 0 0 1 0 0 0 0
3 0 0 1 0 0 0 0 0
2 0 0 0 0 0 1 1 1
1 0 0 0 10 0 1 0
0 0 0 0 00 1 1 1

O endereço 0 contém uma informação utilizada para endereçar outra variável. Como
o conteúdo da posição 0 é o número 7, a variável endereçada será aquela residente
no endereço 7.

Figura 5.8a - Endereçamento indireto.

índice d
cada posi
8 1 0 0 1 0 0 0 0
7 0 0 1 0 0 0 0 0 3
6 0 0 0 0 0 1 1 1 2 Tabela c
5 0 0 0 10 0 1 0 1 quatro posi
4 0 0 0 1 0 0 0 0 0
3 0 0 1 0 0 0 0 0
2 0 0 0 0 0 1 1 1
1 0 0 0 10 0 1 0
0 0 0 0 00 0 0 1

12
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

O endereço 0 contém uma informação relativa ao índice da posição da tabela a ser 


acessada. Como o conteúdo da posição 0 é o número 1, a posição da tabela que será
acessada será a de índice 1.

Figura 5.8b - Endereçamento indexado.

Os tipos de operandos apresentados anteriormente são os mais comuns. No


entanto, o leitor fatalmente encontrará outros tipos, específicos de determinados CLPs do
mercado.

Elementos gráficos e instruções da linguagem ladder 

Um programa em ladder é escrito empregando-se basicamente linhas de energia,


contatos, conexões, bobinas e blocos funcionais.

Linhas de energia

São duas linhas verticais sendo uma disposta à esquerda e a outra disposta à
direita, conectadas pela combinação dos demais elementos gráficos anteriormente
citados. O diagrama ladder sempre começa a ser construído a partir da linha de energia
da esquerda que tem associado a ela estado lógico 1.

Contato NA 
operand
E o
Símbolo →  1.0
contato NA

Figura 5.9 - Contato NA.


 A presença de um contato NA indica que o estado lógico do operando deve ser 
avaliado. Se o estado detectado for 1, o estado presente no lado esquerdo do contato é
repassado para seu lado direito.

Diagrama de tempo

E
1.0 x E1.0
0
x
13
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

Figura 5.10 - Operação do contato NA.

Contato NF 
operand
E o
Símbolo →  1.0
contato NF

Figura 5.11 - Contato NF.

 A presença de um contato NF indica que o estado lógico do operando deve ser 


avaliado. Se o estado detectado for 0, o estado presente no lado esquerdo do contato é
repassado para seu lado direito.

Diagrama de tempo
E
1.0 x E1.0
0
x

Figura 5.12 - Operação do contato NA.

Conexão vertical

Símbolo → 

Figura 5.13 - Conexão vertical.

14
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

 A presença de conexão vertical indica o início de um novo ramo de contatos.


Conexões verticais serão sempre empregadas quando for necessário a programação de
uma lógica OR de contatos.

E
1.0
E
1.0

Figura 5.14 - Aplicação da conexão vertical.

Conexão horizontal

Símbolo → 

Figura 5.15 - Conexão horizontal.

 A presença de conexão horizontal indica o fim de um ramo paralelo de contatos.

E
1.0
E
1.0

Figura 5.16 - Aplicação da conexão horizontal.

Bobina
operand
o
S
Símbolo →  4.0
( )
bobina

Figura 5.17 - Bobina

15
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

 A presença de uma bobina indica que o operando deve receber o estado lógico a
ela aplicado.

Diagrama de tempo
S
x 4.0
( )
x

S
4.0
Figura 5.18 - Operação da bobina.

Bobina Liga
operand
o
S
Símbolo →  4.0
( L)
bobina
liga

Figura 5.19 - Bobina liga.

 A presença de uma bobina liga indica que o operando deve, incondicionalmente,


receber estado lógico 1 assim que a ela for aplicado estado 1. Uma vez assumido estado
1, o operando deve assim permanecer independente dos estados posteriores aplicados à
bobina.
Somente uma bobina desliga poderá comutar o estado do operando.

Diagrama de tempo
S
x 4.0
(L )
x

S
4.0
Figura 5.20 - Operação da bobina liga.

 A bobina liga é também denominada bobina set ou bobina latch.

16
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

Bobina Desliga
operand
o
S
Símbolo →  4.0
( D)
bobina
desliga

Figura 5.21 - Bobina desliga.

 A presença de uma bobina desliga indica que o operando deve, incondicionalmente,


receber estado lógico 0 assim que a ela for aplicado estado 1. Uma vez assumido estado
0, o operando deve assim permanecer independente dos estados posteriores aplicados à
bobina.
Somente uma bobina liga poderá comutar o estado do operando.

Diagrama de tempo
S
x 4.0
(D )
x

S
4.0
Figura 5.22 - Operação da bobina desliga..

 A bobina desliga é também denominada bobina reset ou bobina unlatch.

Contato detector de borda ascendente (P)

Símbolo →  P
contato detector de borda ascendente

Figura 5.23 - Contato detector de borda ascendente.

Se no scan anterior o estado lógico presente à esquerda do contato P era 0 e no


atual tornou-se 1, esse contato fará com que seu lado direito seja levado a estado 1 e
assim permaneça por um período de tempo igual a um scan. Se o estado lógico presente

17
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

à esquerda de um contato P permanecer inalterado, em estado 0 ou estado 1, seu lado


direito será mantido, incondicionalmente, em estado 0.
O contato P não é vinculado a nenhum operando.
Diagrama de tempo

E
1.0 P x
E1.0
0
x

período de
scan
Figura 5.24 - Operação do contato detector de borda ascendente.

Contato detector de borda descendente (N)

Símbolo →  N
contato detector de borda descendente

Figura 5.25 - Contato detector de borda descendente.

Se no scan anterior o estado lógico presente à esquerda do contato N era 1 e no


atual tornou-se 0, esse contato fará com que seu lado direito seja levado a estado 1 e
assim permaneça por um período de tempo igual a um scan. Se o estado lógico presente
à esquerda de um contato N permanecer inalterado, em estado 0 ou estado 1, seu lado
direito será mantido, incondicionalmente em estado 0.
O contato N não é vinculado a nenhum operando.
Diagrama de tempo

E
1.0 N x
E1.0
0
x

período de
scan
Figura 5.26 - Operação do contato detector de borda descendente.

18
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

Contato de negação ( NOT)

Símbolo → NOT
contato de negação

Figura 5.27 - Contato de negação.

O contato de negação repassa para o seu lado direito, o inverso do estado lógico
presente em seu lado esquerdo. Esse contato não é vinculado a nenhum operando e é
empregado, após uma associação de contatos, para inverter o resultado da lógica
implementada. Na maioria dos CLPs esse contato só pode ser usado precedendo uma
bobina.
O contato NOT não é vinculado a nenhum operando.

Diagrama de tempo

S
x 4.0 x
NOT ( )
S
4.0
Figura 5.28 - Operação do contato de negação.

Relé mestre (MR)

Símbolo → (MR)
relé
mestre
Figura 5.29 - Relé mestre.

O relé mestre é sempre utilizado em pares.


Sempre que o primeiro MR do par receber estado lógico 1 em seu lado esquerdo,
ele comandará a desenergização da barra de energia vertical da esquerda a partir do
ponto onde se encontra. A barra ficará denenergizada até que apareça o segundo MR do
par.

19
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

Todas as bobinas comuns existentes entre os dois MR serão, incondicionalmente,


levadas a estado lógico 0. Bobinas ou outros elementos, como contadores e
temporizadores, que possuam algum recurso de memorização, terão seus estados
mantidos.
Elementos que se mantenham energizados, de forma não prevista, dentro dos
limites impostos pelos dois MR, podem provocar erros no controle e, em pior caso,
conseqüências danosas para o processo ou para pessoas.
O segundo MR do par não depende de nenhuma lógica precedendo-o para
energizar novamente a barra de energia esquerda.

MR
Barra de energia energizada
x ( )
S
4.0
( )

Espaço delimitado pelo


Barra de energia desenergizada S par de MRs
4.1
( L )
MR
( )
Barra de energia energizada

Figura 5.30 - Operação do relé mestre.

Segmento ou Lógica

Dentro do contexto de programação ladder, chama-se segmento ou lógica a um


grupo de instruções dispostos em um arranjo matricial com um número limite de linhas e
colunas. Os elementos gráficos que representam as instruções, com exceção das
conexões horizontal e vertical, são inseridos nas células existentes na interseção das
linhas e colunas. O número limite de elementos gráficos admitidos em um segmento
dependerá do CLP empregado.
Cada segmento é responsável pela execução de parte do programa de controle e
possui um número identificador.
Números identificadores de segmentos são empregados em instruções de salto que
Segmento
permitem : 007 o fluxo do programa, dependendo da circunstância.
modificar
S
E E E
4.0
( )
1.0 4.4 7.0
E S
1.5 P (L
4.0 )
E E S 20
1.0 1.0 (
4.0 )
E
1.0
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

Figura 5.31 - Disposição de elementos em um segmento ou lógica.

Bobina de salto
declara uma constante decimal
KF+ /
positiva ou negativa
Símbolo → - (J
)
xxxx valor da
x amplitude do
salto

Figura 5.32 - Bobina de salto.

 Ao receber estado lógico 1, a bobina de salto comanda um desvio do fluxo normal
do programa para uma lógica cujo número é determinado somando-se o número da
lógica onde aparece a bobina de salto e a constante que a acompanha.
Se a constante for positiva o salto será para uma lógica posterior. Se a constante for 
negativa o salto será para uma lógica anterior.
Cuidados especiais devem ser tomados ao se utilizar saltos em programas de CLP,
pois se um laço de programa for executado várias vezes e demandar um tempo maior do
que o período do WDT da CPU, o programa do usuário será interrompido.

Contadores

Contadores são elementos que se prestam a contar eventos cuja ocorrência lhes é
informada, aplicando-se um sinal do tipo borda ascendente a uma entrada dedicada para
esse fim.
OS contadores podem ser crescentes, decrescentes e crescentes / decrescentes.

Contador crescente

21
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

C xxx = número do contador a ser utilizado


C xxx CU = entrada digital que comanda o incremento do
contador, de uma unidade, a cada borda
C ascendente recebida
Símbolo →  U CUR
P PV = valor estabelecido como limite superior da
V R contagem.
RE
S  A RES = entrada digital que, quando recebe estado 1,
E C zera o contador e interrompe a contagem
N
EN = entrada digital que, quando recebe estado 1,
habilita a operação de contagem
CUR = saída digital que assume estado 1 sempre
que o valor atual de contagem for igual ou
maior que o estabelecido em PV
 AC = valor atual da contagem

Figura 5.33 - Contador crescente.

Fisicamente, cada contador crescente ocupa duas words na memória RAM do


sistema, sendo que uma armazena o valor de PV e a outra é incrementada a cada borda
ascendente aplicada em CU, desde que as condições para tal estejam satisfeitas : EN em
estado 1 e RES em estado 0.
O número de contadores disponíveis depende do CLP empregado.
O parâmetro PV poderá ser um valor decimal fixo na forma de uma constante KD ou
um valor variável armazenado em uma memória auxiliar MW ou em uma memória de
dados do usuário DW.

C 10
E S
1.0 C 4.0
U CU (
KD+ PV R )
E 1.1 7
RE
E 1.2 S  AC DW5
E
N

E 1.1

E 1.2

E
1.0
S
4.0 22
0 1 2 3 4 5 6 7 0 1 2 0
0
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

Figura 5.34 - Operação do contador crescente

Contador decrescente
C xxx = número do contador a ser utilizado
C xxx CD = entrada digital que comanda o decremento
do contador, de uma unidade, a cada borda
C ascendente recebida
Símbolo →  D
P CDR PV = valor estabelecido como início da contagem.
V
SE SET = entrada digital que, quando recebe estado 1,
TS  A interrompe a operação do contador e copia o
E C valor de PV para o registro de contagem
N
EN = entrada digital que, quando recebe estado 1,
habilita a operação de contagem
CDR = saída digital que assume estado 1 sempre
que o valor atual de contagem atingir zero
 AC = valor atual da contagem

Figura 5.35 - Contador decrescente.

Fisicamente, cada contador decrescente ocupa duas words na memória RAM do


sistema, sendo que uma armazena o valor de PV e a outra é decrementada a cada borda
ascendente aplicada em CD, desde que as condições para tal estejam satisfeitas : EN em
estado 1 e SET em estado 0.
O número de contadores disponíveis depende do CLP empregado.
O parâmetro PV poderá receber um valor decimal
C 10 fixo na forma uma constante KD
ou um valor variável armazenado em uma memória auxiliar MW Sou em uma memória de
E
dados do usuário DW. 1.0 C 4.0
D ( CD
KD+ PV R )
E 1.1 4
SE
E 1.2 T  AC DW8
E
N

E 1.1

E 1.2

E
1.0 23
S
4.0
4 3 2 1 0 4 3 2 1 4 3
0
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

Figura 5.36 - Operação do contador decrescente.

Contador crescente / decrescente


Contadores crescentes / decrescentes podem ser obtidos através da combinação de
um contador crescente e um decrescente, embora alguns CLPs tenham em seu conjunto
de instruções, contadores crescentes / decrescentes como elementos independentes.

Temporizadores

Temporizadores nada mais são que contadores crescentes incrementados sob o


comando de um sinal, que serve como base de tempo, de período constante e estável
gerado pelo processador.
O ajuste de tempo é feito atribuindo-se ao temporizador um número inteiro que
corresponde à quantidade de incrementos que devem ocorrer.
Em alguns CLPs a base de tempo é fixa e em outros pode ser escolhida, devendo
ser informada na própria instrução. Existem ainda alguns CLPs que agrupam os
temporizadores em conjuntos, atribuindo uma base de tempo diferente para cada
conjunto.
Existem basicamente três tipo de temporizadores :
• retardo para ligar (TON);
• retardo para desligar (TOFF);
• pulso (TP).
 Alguns outros tipos podem ser obtidos a partir de variações dos três tipos básicos.

Temporizador retardo para ligar (TON)

24
 

LINGUAGEM DE PROGRAMAÇÃO LADDER


T xxx = número do temporizador a ser utilizado
T xxx TR = entrada digital que dispara a contagem de
tempo
TR TON EN = entrada digital que habilita a contagem do
CU Q
E tempo
N TB = ajuste da base de tempo
T
B E
T T TV = numero decimal inteiro que determina o
V tempo a ser contado
B
Q = saída digital que indica que o tempo ajustado
foi transcorrido
ET = valor do tempo transcorrido

Figura 5.37 - Temporizador retardo para ligar.

Sendo TR = 0, teremos Q = 0.
 A entrada EN deve receber estado lógico 1 para permitir a contagem de tempo.
TB deve receber um número que corresponda à base de tempo a ser utilizada. Por 
exemplo 1.0 para uma base de tempo de 1 segundo ou 0.01 para uma base de tempo de
10 ms.
TV deve receber um número inteiro decimal que corresponde a quantos períodos da
base de tempo serão contados.
Estando EN = 1, assim que TR recebe um sinal do tipo borda ascendente, o tempo
começa a ser contado.
Transcorrido o tempo, a saída Q assume estado lógico 1 e assim permanece até
que a entrada TR receba estado lógico 0.

Se durante a contagem de tempo o sinal ENTreceber


10
estado lógico 0, a contagem é
“congelada” e retomada assim Eque EN receber novamente estado lógico 1.
1.0 T TON S
Para receber o valor do tempo
E 1.1
transcorrido,
R uma variável
Q
do
( tipo memória MW ou
4.0
DW deve ser atribuída à saída ET. EN )
  1. TB
ET DW8
0 T
KD+
7 V

E 1.1

E 1.0

S 4.0

7 7 4 3
1 S 2 1 3 1 S 2 1S 4 5S 1

25
1 - Início da temporização 4 - T emporização “congelada”
2 - Término da 5 - T emporização retomada
tem oriza ão
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

3 - Temporização
cancelada
Figura 5.38 - Operação do temporizador retardo para ligar.

Temporizador retardo para desligar (TOFF )

T xxx = número do temporizador a ser utilizado


T xxx TR = entrada digital que dispara a contagem de
tempo
TR TOF EN = entrada digital que habilita a contagem do
F Q
E tempo
N TB = ajuste da base de tempo
T
B E
T T TV = numero decimal inteiro que determina o
V tempo a ser contado
B
Q = saída digital que indica que o tempo ajustado
foi transcorrido
ET = valor do tempo transcorrido

Figura 5.39 - Temporizador retardo para desligar.

26
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

 A entrada EN deve receber estado lógico 1 para permitir a contagem de tempo.


TB deve receber um número que corresponda à base de tempo a ser utilizada. Por 
exemplo 1.0 para uma base de tempo de 1 segundo ou 0.01 para uma base de tempo de
10 ms.
TV deve receber um número inteiro decimal que corresponde a quantos períodos da
base de tempo serão contados.
Estando EN = 1, assim que TR recebe um sinal do tipo borda ascendente o mesmo
ocorre na saída Q.
Quando TR retorna a estado lógico 0 o tempo começa a ser contado.
Transcorrido o tempo, a saída Q comuta para estado lógico 0 e assim permanece
até que a entrada TR receba novamente estado lógico 1.
Se durante a contagem de tempo o sinal EN receber estado lógico 0, a contagem é
“congelada” e retomada assim que EN receber novamente estado lógico 1.
Para receber o valor do tempo transcorrido, uma variável do tipo memória MW ou
DW deve ser atribuída à saída ET.

T 10
E
1.0 T TOF S
R FN 4.0
(
E 1.1 Q
EN )
1. TB DW8
ET
0 T
KD+
7 V

E 1.1

E 1.0

S 4.0

7 7 3 4
1 S 2 1 3 1 S 2 1S 4 5S 2 1

1 - Início da temporização 4 - T emporização “congelada”


27
2 - Término da 5 - T emporização retomada
temporização
3 - Temporização
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

Figura 5.40 - Operação do temporizador retardo para desligar.

Temporizador tipo pulso (TP )


T xxx = número do temporizador a ser utilizado
T xxx TR = entrada digital que dispara a contagem de
tempo
TR TP EN = entrada digital que habilita a contagem do
Q tempo
E
N TB = ajuste da base de tempo
T
B E
T T TV = numero decimal inteiro que determina o
V tempo a ser contado
B
Q = saída digital que indica que o tempo ajustado
foi transcorrido
ET = valor do tempo transcorrido

Figura 5.41 - Temporizador tipo pulso.


 A entrada EN deve receber estado lógico 1 para permitir a contagem de tempo.
TB deve receber um número que corresponda à base de tempo a ser utilizada. Por 
exemplo 1.0 para uma base de tempo de 1 segundo ou 0.01 para uma base de tempo de
10 ms.
TV deve receber um número inteiro decimal que corresponde a quantos períodos da
base de tempo serão contados.
Estando EN = 1, assim que TR recebe um sinal do tipo borda ascendente, o mesmo
ocorre na saída Q e inicia-se a temporização.
Transcorrido o tempo, a saída Q comuta para estado lógico 0 e assim permanece
até que a entrada TR receba novamente um sinal do tipo borda ascendente .
Se durante a contagem de tempo o sinal EN receber estado lógico 0, a contagem é
“congelada” e retomada assim que EN receber novamente estado lógico 1.
Para receber o valor do tempo transcorrido, uma variável do tipo memória MW ou
DW deve ser atribuída à saída ET.

28
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

T 10
E
1.0 T TP S
R 4.0
E 1.1 Q (
EN )
1. TB DW8
ET
0 T
KD+
7 V

E 1.1

E 1.0

S 4.0

7 7 7 3 4
1 S 2 1 S 2 1 3 S 2 1S 4 5S 2

1 - Início da temporização 4 - T emporização “congelada”


2 - Término da 5 - T emporização retomada
temporização
3 - T emporização reiniciada

Figura 5.42 - Operação do temporizador tipo pulso.


Movimentação de dados

 As instruções dessa categoria visam transferir, para o operando destino, uma
informação ou um bloco de informações especificadas no operando origem.
Considerando que são muitas as variações de instruções desse tipo, em PLCs de
fabricantes diferentes, apresentaremos aqui apenas dois tipos, que são fundamentais
para a compreensão das demais.

29
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

Transferência simples

EN = entrada digital que habilita a transferência de


MO
dados
V
E
N SR = operando origem
S D DT = operando destino
R T

Figura 5.43 - Transferência de dados simples.

 Assim que a entrada EN receber estado lógico 1, o conteúdo especificado através


do operando origem é transferido para a posição determinada pelo operando destino.
Deve-se observar que, caso a entrada EN seja mantida em estado lógico 1, a
transferência é repetida em cada ciclo de scan.
O operando SR pode ser do tipo : constante, byte ou word de entrada, memória
auxiliar ou memória de dados.
O operando DT pode ser do tipo : byte ou word de saída, memória auxiliar ou
memória de dados.
 Alguns CLPs exigem que os operandos origem e destino sejam compatíveis em
número de bits. Caso você trabalhe com um CLP que não faça essa restrição, deve
lembrar que :
• se o operando origem é maior que o destino, o dado transferido será truncado;
• se o operando origem é menor que o destino, o dado transferido será
completado com zeros, nos bits mais significativos.

MO
E V
1.0 E
N
KD +117 S D DW 25
R T

Figura 5.44 - Operação da transferência de dados simples.

 Assim que a entrada E1.0 receber estado lógico 1, a constante decimal +117 será
transferida para a posição 25 da área de memória de dados do usuário.

30
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

MO
E V
1.0 E
N
EB 4 S D MB 10
R T

Figura 5.45 - Operação do temporizador tipo pulso.


 Assim que a entrada E1.0 receber estado lógico 1, o conteúdo da memória imagem
de entradas, relativo ao byte 4, será transferido para a posição de endereço 10 da área
de memórias auxiliares.

Transferência de bloco

EN = entrada digital que habilita a transferência de


MOVB dados
E SAS = inicio do bloco origem
N T BL = quantidade de dados a serem transferidos
SA E
S SAD = início do bloco destino
B SA
L D DPS = quantidade de dados transferidos por 
DP varredura
SB TE = saída digital ativada por um período de tempo
L igual a um scan, assim que a transferência do
bloco for concluída

Figura 5.46 - Transferência de dados em bloco.


 Assim que a entrada EN receber estado lógico 1, o bloco de informações, com
endereço inicial especificado pelo parâmetro SAS e tamanho especificado pelo
parâmetro BL, será transferido para a área destino, de endereço inicial determinado pelo
parâmetro SAD.
Caso a entrada EN seja levada a estado lógico 0, a transferência será suspensa até
que estado lógico 1 seja novamente aplicado a ela.
O número de dados por varredura determina quantos dados do bloco serão
transferidos em cada scan. Um número muito alto não deve ser utilizado para esse
parâmetro, sob pena de aumentar muito o tempo de scan e fazer atuar o WDT da CPU.
O operando SAS pode ser do tipo byte ou word de entrada, memória auxiliar ou
memória de dados.
Os operandos BL e DPS devem ser do tipo constante.
O operando SAD pode ser do tipo byte ou word de saída, memória auxiliar ou
memória de dados.

31
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

MOVB
E S
1.0 E 4.0
N T ( )
DW10 SA E
S MW
B SA
L D 100
KD+25
KD+1 DP
SB
L
Figura 5.47 - Operação da transferência de dados em bloco.

 Assim que a entrada E1.0 receber estado lógico 1, um bloco de 25 words da


memória de dados do usuário, com início na posição nº10, será transferido para a área
de memórias auxiliares, a partir da posição nº100. Uma transferência será realizada em
cada scan. Ao final, a saída S 4.0 será mantida em estado lógico 1 pelo tempo
correspondente ao período de um scan.

32
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

Operações Aritméticas

 Adição
EN = entrada digital que habilita a realização da
operação
 ADD OP1 = operando relativo à primeira parcela
E O OP2 = operando relativo à segunda parcela
N V
OP OP3 = operando onde deverá ser armazenado o
1 OP resultado da operação
OP2 3 OV = saída digital que receberá estado lógico 1,
caso o resultado da operação não seja
comportado pelo operando OP3.

Figura 5.48 - Adição.

 Assim que EN é levada a estado 1, o conteúdo especificado em OP1 é somado ao


conteúdo especificado em OP2 e o resultado é armazenado em OP3. Caso o resultado
suplante a capacidade de representação de OP3, tanto no sentido positivo quanto
negativo, a saída OV receberá estado lógico 1, sinalizando que ocorreu “transbordo” e a
operação não foi executada com sucesso. OV será desativada assim que a entrada EN
receber estado lógico 0.
Os operandos OP1 e OP2 podem ser do tipo constante, byte ou word de entrada ou
saída, memória auxiliar ou memória de dados.
O operando OP3 pode ser do tipo byte ou word de saída, memória auxiliar ou
memória de dados.

 ADD
E S
1.0 E O 4.0
( )
N V
DW4 OP
7 1 OP MW5
KD+ OP2 3 0
7OP
2
Figura 5.49 - Operação da adição.
 Assim que a E 1.0 receber estado lógico 1, a word da posição nº 47 da área de
dados do usuário será somada à constante 7 e o resultado será armazenado na posição
nº 50 da área de memórias auxiliares, no formato de word.
Caso não ocorra transbordo a saída S 4.0 receberá estado lógico 0.
Havendo transbordo, S 4.0 receberá estado lógico 1 até que a entrada E 1.0 seja
levada a estado 0.

33
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

Subtração
EN = entrada digital que habilita a realização da
operação
SUB OP1 = operando relativo ao minuendo
E O OP2 = operando relativo ao subtraendo
N V
OP OP3 = operando onde deverá ser armazenado o
1 OP resto
OP2 3 OV = saída digital que receberá estado lógico 1,
caso o resultado da operação não seja
comportado pelo operando OP3.

Figura 5.50 - Subtração.

 Assim que EN é levada a estado 1, o conteúdo especificado em OP2 é subtraído do


conteúdo especificado em OP1 e o resultado é armazenado em OP3. Caso o resultado
suplante a capacidade de representação de OP3 tanto no sentido positivo quanto
negativo, a saída OV receberá estado lógico 1, sinalizando que ocorreu “transbordo” e a
operação não foi executada com sucesso. OV será desativada assim que a entrada EN
receber estado lógico 0.
Os operandos OP1 e OP2 podem ser do tipo constante, byte ou word de entrada ou
saída, memória auxiliar ou memória de dados.
O operando OP3 pode ser do tipo byte ou word de saída, memória auxiliar ou
memória de dados.

SUB
E S
1.0 E O 4.0
( )
N V
MB2 OP
0 1 OP DW1
IB4 OP2 3 7
KD
+7
Figura 5.51OP
- Operação da subtração.
2

 Assim que a E 1.0 receber estado lógico 1, o conteúdo da posição de memória


imagem das entradas, relativa ao byte 4, será subtraída do byte da posição nº 20 da área
de memórias auxiliares e o resultado será armazenado na posição nº17 da área de dados
do usuário, no formato de word.
Caso não ocorra transbordo a saída S 4.0 receberá estado lógico 0.

34
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

Havendo transbordo, S 4.0 receberá estado lógico 1 até que a entrada E 1.0 seja
levada a estado 0.

Multiplicação

EN = entrada digital que habilita a realização da


MUL operação
E OP1 = operando relativo ao multiplicando
N
OP OP OP2 = operando relativo ao multiplicador 
1 3
OP3 = operando onde deverá ser armazenado o
OP2 produto

Figura 5.52 - Multiplicação.

 Assim que EN é levada a estado 1, o conteúdo especificado em OP1 é multiplicado


pelo conteúdo especificado em OP2 e o resultado é armazenado em OP3.
Os operandos OP1 e OP2 podem ser do tipo constante, byte ou word de entrada ou
saída, memória auxiliar ou memória de dados.
O operando OP3 pode ser do tipo memória auxiliar ou memória de dados,
declarados sempre no formato de dupla word, para que não ocorra transbordo.

E MUL
1.0 E
N OP DD10
DB25 OP
47 1 3
DW4 2 OP2
OP2

Figura 5.53 - Operação da multiplicação.

Todos os operandos dessa instrução referem-se à área de dados do usuário.


 Assim que a E1.0 receber estado lógico 1, o byte da posição nº 25 será
multiplicado pela word da posição nº 42 e o resultado será armazenado na posição nº 10,
no formato de dupla word.

Divisão

35
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

EN = entrada digital que habilita a realização da


DIV operação
E OP OP1 = operando relativo ao dividendo
N 3
OP OP2 = operando relativo ao divisor 
1 RE
M OP3 = operando onde deverá ser armazenado o
OP2 quociente da divisão
REM = operando onde deverá ser armazenado o
resto da divisão

Figura 5.54 - Divisão.

 Assim que EN é levada a estado 1, o conteúdo especificado em OP1 é dividido pelo


conteúdo especificado em OP2, o quociente é armazenado em OP3 e o resto é
armazenado em REM.
O operandos OP1 e OP2 podem ser do tipo constante, byte ou word de entrada ou
saída, memória auxiliar ou memória de dados.
Os operandos OP2 e OP3 podem ser do tipo word de saída, memória auxiliar ou
memória de dados.

E DIV
1.0 E OP DW 7
N 3
IW4 OP
1 RE DW 10
KD+8 OP2 M

Figura 5.55 - Operação da divisão.

 Assim que a E 1.0 receber estado lógico 1, o conteúdo da posição de memória


imagem das entradas, relativa à word 4, será dividida pela constante +8, o quociente e o
resto serão armazenados, respectivamente, nas posições nº7 e nº10 da área de dados
do usuário, no formato de word.

36
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

Operações lógicas

NOT

EN = entrada digital que habilita a realização da


NOT operação
E
N OP OP1 = operando relativo à informação a ser 
OP 2 complementada
1 OP2 = operando que receberá o resultado da
operação

Figura 5.56 - Função lógica NOT.

 Assim que EN é levada a estado 1, o conteúdo especificado em OP1 é submetido a


uma operação de complemento lógico bit a bit e o resultado é armazenado em OP2.
O operando OP1 pode ser do tipo constante, byte ou word de entrada ou saída,
memória auxiliar ou memória de dados.
O operando OP2 pode ser do tipo byte ou word de saída, memória auxiliar ou
memória de dados.
 A operação lógica NOT obedece à tabela 5.1

Bits de OP1 Bits de OP2


0 1
1 0

Tabela 5.1 - Função lógica NOT.

E NOT
1.0 E
N OP SB
MB OP 2 5
4 1

Figura 5.57 - Operação da função lógica NOT.

 Assim que a E 1.0 receber estado lógico 1, o byte da posição nº 4 da área de


memórias auxiliares será submetido a operação de complemento lógico e o resultado
será armazenado na posição nº 5 da memória imagem das saídas, no formato de byte.
 AND

37
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

EN = entrada digital que habilita a realização da


 AND operação
E
N OP1 = primeiro operando de entrada
OP OP OP2 = segundo operando de entrada
1 3
OP OP3 = operando que receberá o resultado da
2 operação

Figura 5.58 - Operação da função lógica AND.

 Assim que EN é levada a estado 1, o conteúdos especificados em OP1 e OP2 são


submetidos a uma operação AND bit a bit e o resultado é armazenado em OP3.
Os operandos OP1 e OP2 podem ser do tipo constante, byte ou word de entrada ou
saída, memória auxiliar ou memória de dados.
O operando OP3 pode ser do tipo byte ou word de saída, memória auxiliar ou
memória de dados.
 A operação lógica AND obedece à tabela 5.2

Bits de OP1 Bits de OP2 Bits de OP3


0 0 0
0 1 0
1 0 0
1 1 1

Tabela 5.2 - Função lógica AND.

 AND
E
1.0 E
N
DW OP OP DW
4 1 3 7
MW1 OP
02 2

Figura 5.59 - Operação da função lógica AND.

 Assim que a E 1.0 receber estado lógico 1, a word da posição nº 4 da área de dados
do usuário e a word nº10 da área de memórias auxiliares serão submetidas a uma
operação AND bit a bit e o resultado será armazenado na posição nº 7 da área de dados
do usuário, no formato de word.

38
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

OR

EN = entrada digital que habilita a realização da


OR operação
E
N OP1 = primeiro operando de entrada
OP OP OP2 = segundo operando de entrada
1 3
OP OP3 = operando que receberá o resultado da
2 operação

Figura 5.60 - Função lógica OR.

 Assim que EN é levada a estado 1, o conteúdos especificados em OP1 e OP2 são


submetidos a uma operação OR bit a bit e o resultado é armazenado em OP3.
Os operandos OP1 e OP2 podem ser do tipo constante, byte ou word de entrada ou
saída, memória auxiliar ou memória de dados.
O operando OP3 pode ser do tipo byte ou word de saída, memória auxiliar ou
memória de dados.
 A operação lógica OR obedece à tabela 5.3
Bits de OP1 Bits de OP2 Bits de OP3
0 0 0
0 1 1
1 0 1
1 1 1

Tabela 5.3 - Função lógica OR.

OR
E
1.0 E
N
KH 74 OP OP DW
1 3 40
MW1 OP
72 2

Figura 5.61 - Operação da função lógica OR.

 Assim que a E 1.0 receber estado lógico 1, a constante hexadecimal 74 e a word da


posição nº 17 da área de memórias auxiliares serão submetidas a uma operação OR bit a
bit e o resultado será armazenado na posição nº 40 da área de dados do usuário, no
formato de word.

39
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

EXCLUSIVE OR - XOR

EN = entrada digital que habilita a realização da


XOR operação
E
N OP1 = primeiro operando de entrada
OP OP OP2 = segundo operando de entrada
1 3
OP OP3 = operando que receberá o resultado da
2 operação

Figura 5.62 - Função lógica XOR.

 Assim que EN é levada a estado 1, o conteúdos especificados em OP1 e OP2 são


submetidos a uma operação XOR bit a bit e o resultado é armazenado em OP3.
Os operandos OP1 e OP2 podem ser do tipo constante, byte ou word de entrada ou
saída, memória auxiliar ou memória de dados.
O operando OP3 pode ser do tipo byte ou word de saída, memória auxiliar ou
memória de dados.
 A operação lógica XOR obedece à tabela 5.4
Bits de OP1 Bits de OP2 Bits de OP3
0 0 0
0 1 1
1 0 1
1 1 0

Tabela 5.4 - Função lógica XOR.

XOR
E
1.0 E
N
DB 25 OP OP DB 72
1 3
MB OP
77 2

Figura 5.63 - Operação da função lógica XOR.


 Assim que a E 1.0 receber estado lógico 1, o byte da posição 25 da área de dados
do usuário e o byte da posição nº 77 da área de memórias auxiliares serão submetidas a
uma operação XOR bit a bit e o resultado será armazenado na posição nº 72 da área de
dados do usuário, no formato de byte.

40
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

Operações de comparação

 As operações de comparação realizadas pela maioria dos CLP são : maior que,
menor que e igual a. Outras comparações podem ser conseguidas combinando-se esse
tipos básicos.
Maior que

> EN = entrada digital que habilita a realização da


operação
E
N OP1 = primeiro operando de entrada
OP CR OP2 = segundo operando de entrada
1
OP CR = saída digital que assumirá estado lógico 1 se,
2 e somente se, OP1 > OP2

Figura 5.64 - Função de comparação maior que.

 Assim que EN é levada a estado 1, o conteúdos especificados em OP1 e OP2 são


submetidos a uma comparação. A saída CR assumirá estado lógico 1 se EN = 1 e OP1 >
OP2.
Os operandos OP1 e OP2 podem ser do tipo constante, byte ou word de entrada ou
saída, memória auxiliar ou memória de dados. A comparação é feita desconsiderando-se
o sinal dos operandos.

Menor que

< EN = entrada digital que habilita a realização da


operação
E
N OP1 = primeiro operando de entrada
OP CR OP2 = segundo operando de entrada
1
OP CR = saída digital que assumirá estado lógico 1 se,
2 e somente se, OP1 < OP2

Figura 5.65 - Função de comparação menor que.

 Assim que EN é levada a estado 1, o conteúdos especificados em OP1 e OP2 são


submetidos a uma comparação. A saída CR assumirá estado lógico 1 se EN = 1 e OP1 <
OP2.
Os operandos OP1 e OP2 podem ser do tipo constante, byte ou word de entrada ou
saída, memória auxiliar ou memória de dados. A comparação é feita desconsiderando-se
o sinal dos operandos.

41
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

Igual a

= EN = entrada digital que habilita a realização da


operação
E
N OP1 = primeiro operando de entrada
OP CR OP2 = segundo operando de entrada
1
OP CR = saída digital que assumirá estado lógico 1 se,
2 e somente se, OP1 = OP2

Figura 5.66 - Função de comparação igual a.

 Assim que EN é levada a estado 1, o conteúdos especificados em OP1 e OP2 são


submetidos a uma comparação. A saída CR assumirá estado lógico 1 se EN = 1 e OP1 =
OP2.
Os operandos OP1 e OP2 podem ser do tipo constante, byte ou word de entrada ou
saída, memória auxiliar ou memória de dados.

Operações de conversão de código

Conversão binário → BCD

EN = entrada digital que habilita a realização da


BI - BCD operação
E C OP1 = operando a ser convertido
N R
OP OP OP2 = resultado da conversão
1 2
CR = saída digital que assumirá estado lógico 1 se a
conversão foi efetuada com sucesso

Figura 5.67 - Conversão binário → BCD.

 Assim que EN é levada a estado 1, o número binário indicado por OP1 é convertido
em BCD e armazenado em OP2. Se a conversão for realizada com sucesso, a saída CR
é levada a estado 1 e assim permanecerá enquanto EN = 1.
O operando OP1 pode ser do tipo constante, byte ou word de entrada ou saída,
memória auxiliar ou memória de dados.
O operando OP2 pode ser do tipo byte ou word de saída, memória auxiliar ou
memória de dados.
Exemplos de conversão binário → BCD :

42
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

OPE1 Representação em decimal OPE2


1001 0111 1111 0101 38901 0011 1000 1001 0000 0001
3 8 9 0 1
11000111 199 0001 1001 1001
1 9 9

Conversão BCD → binário

EN = entrada digital que habilita a realização da


BCD - BI operação
E C OP1 = operando a ser convertido
N R
OP OP OP2 = resultado da conversão
1 2
CR = saída digital que assumirá estado lógico 1 se a
conversão foi efetuada com sucesso

Figura 5.68 - Conversão BCD → binário.

 Assim que EN é levada a estado 1, o número BCD indicado por OP1 é convertido
em binário e armazenado em OP2. Se a conversão for realizada com sucesso, a saída
CR é levada a estado 1 e assim permanecerá enquanto EN = 1.
O operando OP1 pode ser do tipo constante, byte ou word de entrada ou saída,
memória auxiliar ou memória de dados.
O operando OP2 pode ser do tipo byte ou word de saída, memória auxiliar ou
memória de dados.
Exemplos de conversão BCD → binário:
OPE1 Representação em decimal OPE2
0010 0100 0101 0010 0010 24522 0101 1111 1100 1010
2 4 5 2 2
0001 0101 0100 154 10011010
1 5 4

Decodificador 
  EN = entrada digital que habilita a realização da
DECO operação
E OP1 = operando cujo nibble menos significativo será
N OP
OP 2 decodificado
1 OP2 = resultado da decodificação

43
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

Figura 5.69 - Decodificador.

 Assim que EN é levada a estado 1, o nibble menos significativo de OPE 1 será


submetido a uma decodificação do tipo 4 para 16 e o resultado será armazenado em
OPE2.
O operando OP1 deve ser um byte do tipo constante, entrada ou saída, memória
auxiliar ou memória de dados.
O operando OP2 deverá ser uma word de saída, memória auxiliar ou memória de
dados.
 A conversão realizada obedece à tabela 5.5.

Entrada Saída
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Tabela 5.5 - Tabela de operação do decodificador 4 para 16.

Codificador 
  EN = entrada digital que habilita a realização da
COD operação
E OP1 = operando que será submetido a codificação
N OP
OP 2 OP2 = resultado da codificação
1

44
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

Figura 5.70 - Codificador.

 Assim que EN é levada a estado 1, a informação presente OPE 1 será submetido a


uma codificação do tipo 16 para 4 e o resultado será armazenado em OPE2.
O operando OP1 deve ser uma word do tipo constante, entrada ou saída, memória
auxiliar ou memória de dados.
O operando OP2 deverá ser um byte de saída, memória auxiliar ou memória de
dados.
 A conversão realizada obedece à tabela 5.6.

Entrada Saída
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1

Tabela 5.6 - Tabela de operação do codificador 16 para 4..

45
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

• DW1 →  • EB 7→ 
• DD 2 →

5.4 - Analise a figura seguinte para solucionar a questão proposta.

+ 24VDC

CL
P
 AVAN
C1 C2 1 E 4.0

 AVAN
C
2 S 7.0
E 4.1 1

REC1
M1 E 4.2
3~
REC2
E 4.3 C
S 7.1 2
DESL
1
E 4.4

DESL
2
E 4.5

O motor M1 traciona uma esteira que pode fazer movimentos denominados avanço
e recuo. Dois botões NA identificados como AVAN1 e AVAN 2, dispostos em painéis
diferentes, permitem comandar o avanço da esteira. Outros botões, igualmente dispostos
em painéis diferentes, permitem comandar o recuo da esteira.
Dois botões NF identificados como DESL1 e DESL2, dispostos em painéis
diferentes, permitem interromper o movimento em curso, desligando o motor.
O contator C1 comanda o giro do motor em um sentido que corresponde ao
movimento de avanço. O contator C2 comanda o giro do motor em um sentido que
corresponde ao movimento de recua.

Os elementos de comando foram conectados em um CLP conforme mostra a figura.

47
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

Escreva um programa em ladder para controlar o movimento da esteira


considerando as seguintes premissas :
• apenas um toque nos botões deve ser necessário para comandar o movimento;
• um determinado movimento só pode ser interrompido pelo comando de desligar;
• caso dois botões de movimento para sentidos opostos sejam pressionados
simultaneamente, o movimento de avanço deve ter prioridade.

5.5 - Escreva um programa ladder que permita ligar e desligar uma carga com
apenas um botão, da seguinte forma :
5.6 se a carga estiver desligada e o botão for pressionado ela é ligada;
5.7 se a carga estiver ligada e o botão for pressionado ela é desligada.
OBS : a escolha das entradas e saídas fica a seu critério.
5.6 - Escreva um programa em ladder para comandar dois semáforos instalados em
um cruzamento prevendo ainda o sinal para pedestres em ambas as avenidas.
Considere um botão para partida do ciclo operacional e os seguintes tempos para
os faróis :
• verde → 10 S; • amarelo → 3 S;

Por uma questão de segurança, os faróis vermelhos de ambas as avenidas devem


ficar fechados simultaneamente por 2S.
OBS : a escolha das entradas e saídas fica a seu critério.

5.7 - A presente questão se refere à figura seguinte.


Esteira
2 SIR
Produt
o D Caix
2 a  AL
Esteira 1
1 Sensor 
Cx1  AL
Sensor  2
B D R Cx2
1 1 Sensor 
Painel de
C P1
 A operação
T
1 1 7
1 7 Chave
Thumbweel
00010111 Código
BCD
b b b b b b b b
7 6 5 4 3 2 1 0

48
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

Temos aqui um sistema empregado para colocar um determinado número de


produtos em uma caixa.
 A esteira 1 movimenta os produtos, enquanto a esteira 2 movimenta as caixas.
P1 é um sensor fotoelétrico que gera um pulso de nível alto sempre que o feixe de
luz é interrompido.
Cx1 e Cx2 são sensores fotoelétricos que indicam que uma caixa está posicionada
debaixo da esteira 1.
 As esteiras 1 e 2 são tracionadas por dois motores, acoplados a redutores,
denominados respectivamente M1 e M2.
 Assim que B1 é pressionada, a esteira 2 é ligada e um tempo T1 começa a ser 
contado. Transcorrido o tempo T1, se nenhuma caixa estiver posicionada, a sirene SIR é
ligada juntamente com a lâmpada AL1.
 Assim que uma caixa é posicionada, a esteira 1 é ligada e um tempo T2 começa a
ser contado. Se findo T2 nenhum produto for contado, a sirene SIR é ligada juntamente
com a lâmpada AL2.
Quando um produto passa na frente de P1, o tempo T2 é zerado. Logo que o
produto libera o feixe de luz de P1, o tempo T2 começa novamente a ser contado. Se
findo T2 outro produto não aciona P1, SIR é ligada juntamente com AL2.
O botão R no painel de operação serve para reconhecer alarmes, desligando SIR,
 AL1 e AL2.
Quando n produtos caírem na caixa, a esteira 1 é desligada e a esteira 2 é ligada
para que outra caixa seja posicionada.
O número de produtos pode ser ajustado através de uma chave tipo Thumbweel.
Essa chave possui um frontal que se assemelha a um odômetro de kilometragem de
veículos. A chave é constituída por dois dígitos decimais sendo que cada um pode ser 
modificado girando uma pequena manopla a ele acoplada. A chave disponibiliza oito bits
divididos em dois grupos de quatro. Cada grupo corresponde ao código BCD de um dos
dígitos ajustados, como pode ser visto na figura.
Depois de feito o ajuste na chave thumbweel, o botão A1 do painel de operação
deve ser pressionado para autorizar a entrada do dado. O novo dado será aceito mas só
será válido para a próxima caixa vazia que for posicionada.
Os botões D1 e D2 servem para desligar os motores interromper o processo.
Caso o processo seja interrompido, o contador não deverá ser zerado pois poderá
ser reiniciado a qualquer momento.
O contador só poderá ser zerado nos seguintes casos :
• a qualquer momento quando a chave R2 for pressionada e não existir nenhuma
caixa posicionada;
• quando o contador atingir a contagem ajustada na chave T1 e existir uma caixa
posicionada.
Escreva um programa em ladder para controlar o sistema anteriormente descrito.

49
 

LINGUAGEM DE PROGRAMAÇÃO LADDER

O sistema deve funcionar atendendo a todos os itens da especificação técnica


anterior. Qualquer situação não prevista deverá ser solucionada com base no bom senso
do operador, sempre levando em conta, primeiramente, a segurança do operador e
depois a do sistema. Outras implementações que visem melhorar a eficácia e a melhor 
operação do sistema não devem ser economizadas.
Considere a relação de entradas e saídas apresentada a seguir :
Elemento Entrada / saída do CLP
B1 E 4.0
D1 E 4.1
D2 E 4.2
R E 4.3
 A1 E 4.4
b7, b6, b5 e b4 de CT E 5.7, E 5.6, E 5.5 e E 5.4
b3, b2, b1 e b0 de CT E 5.3, E 5.2, E 5.1 e E 5.0
P1 E 4.5
Cx1 E 7.0
Cx2 E 7.1
Comando de M1 S 8.0
Comando de M2 S 8.1
Comando de SIR S 8.2
Comando de AL1 S 8.3
Comando de AL2 S 8.4

Outros elementos utilizados ficam a critério do programador.

50
 

REFERÊNCIAS BIBLIOGRÁFICAS

REFERÊNCIAS BIBLIOGRÁFICAS

1. HUGHES, Thomas A. PROGRAMABLE CONTROLLERS. - RESOURCES FOR


MEASUREMENTS AND CONTROL SERIES - ISA. North Caroline, Instrument
Society of America., 1989, 252p.
2. WARNOCK, Ian G. PROGRAMABLE CONTROLLERS - OPERATION AND
 APPLICATION, Great Britain, Prentice Hall, 1988, 447p.
1. Documentação técnica de fabricantes diversos.

Você também pode gostar