Você está na página 1de 93

INSTITUTO POLITCNICO DE BRAGANA

ESCOLA SUPERIOR DE TECNOLOGIA E GESTO

Notas de Apoio Disciplina de


Automao Industrial
Engenharia Electrotcnica

Paulo Jorge Pinto Leito

ndice
1

AUTOMAO DE PROCESSOS
1.1

Introduo aos Autmatos Programveis

5
6

1.2
Arquitectura dos Autmatos Programveis
1.2.1
Unidade Central de Processamento
1.2.2
Memria
1.2.3
Unidade de programao
1.2.4
Mdulos de Entrada e Sada
1.2.5
Fonte de Alimentao
1.2.6
Cartas Especiais

7
8
9
11
12
13
13

1.3

Funcionamento

14

1.4

Aplicaes dos Autmatos Programveis

15

PROGRAMAO BSICA DE AUTMATOS PROGRAMVEIS

17

2.1
Escrita de programas
2.1.1
Fluxogramas e Algoritmia
2.1.2
Linguagens de Programao para Autmatos
2.1.3
Procedimentos bsicos para a escrita de um programa

17
17
20
20

2.2

21

Endereamento da memria

2.3
Instrues Bsicas
2.3.1
LOAD
2.3.2
OUTPUT
2.3.3
AND
2.3.4
OR
2.3.5
END
2.3.6
Instrues Lgicas de Bloco
2.3.7
Combinao de instrues AND LOAD e OR LOAD
2.3.8
Execuo de Vrias sadas
2.3.9
SET e RESET
2.3.10
DIFFERENTIATE UP, DIFFERENTIATE DOWN
2.3.11
Instrues de Bifurcao
2.3.12
KEEP

22
22
22
23
24
24
26
27
29
29
30
30
31

2.4
Temporizadores
2.4.1
Temporizador ao Impulso
2.4.2
Temporizador aps a operao
2.4.3
Temporizador de alta velocidade

34
36
37
38

2.5
Contadores
2.5.1
CNT
2.5.2
Contador reversvel CNTR
2.5.3
Exemplo de aplicao

38
38
39
40

2.6

41

Instrues de Manipulao de Dados

Automao Industrial

2.6.1
2.6.2
2.6.3
2.6.4

41
42
42
43

2.7

Interrupes

43

2.8

Subrotinas

45

MODELAO DE SISTEMAS COMPLEXOS CONDUZIDOS POR EVENTOS


3.1

MOVE
MOVE NOT
Instrues Diferenciais
Endereamento Indirecto

Introduo ao Grafcet

47
47

3.2
Especificao Funcional e Tecnolgica
3.2.1
Especificao Funcional
3.2.2
Especificao Tecnolgica

48
48
48

3.3
Conceitos Bsicos do Grafcet
3.3.1
Etapas
3.3.2
Transies

48
48
49

3.4
Princpio de Funcionamento
3.4.1
Inicializao
3.4.2
Validao
3.4.3
Disparo de uma transio

49
50
50
50

3.5
Representao de Sequncias Simultneas e Alternativas
3.5.1
Sequncias Simultneas - Paralelismo Estrutural (N AND)
3.5.2
Sequncias Alternativas - Paralelismo Interpretado (N OR)

53
53
54

3.6
Conceitos Complementares
3.6.1
Aco Condicional
3.6.2
Temporizao

56
56
56

3.7
Cooperao entre Processos
3.7.1
Sincronizao
3.7.2
Partilha de Recursos
3.7.3
Subtarefas

57
57
60
62

3.8
Anlise e Validao de Grafcet
3.8.1
Introduo Anlise de Grafcet
3.8.2
Grafcet Autnomo
3.8.3
Grfico das situaes acessveis
3.8.4
Anlise de Grafcet

65
66
66
66
67

SENSORES
4.1

72

SENSORES CAPACITIVOS

73

4.2
SENSORES INDUTIVOS
4.2.1
Relutncia Varivel
4.2.2
Correntes de Foucault

74
74
74

4.3

75

SENSORES FINS DE CURSO

Automao Industrial

4.4
SENSORES FOTOELCTRICOS
4.4.1
Barreira
4.4.2
Reflexo
4.4.3
Reflexo no objecto

75
75
76
76

4.5
SENSORES DE ULTRASONS
4.5.1
Distncia de um Objecto
4.5.2
Deteco de Objectos

76
77
77

4.6
SENSORES ESPECIAIS
4.6.1
Leitores de Cdigos de Barras
4.6.2
Dispositivos de Escrita/Leitura de Etiquetas

77
77
78

MONITORIZAO E CONTROLO DE PROCESSOS

79

5.1

DESENVOLVIMENTO DO PROGRAMA PARA O AUTMATO

79

5.2

DESENVOLVIMENTO DA APLICAO DE MONITORIZAO

80

REFERNCIAS BIBLIOGRFICAS

ANEXO - REPRESENTAO DA INFORMAO

84
85

Sistemas de Numerao
Sistema Decimal
Sistema Binrio
Sistema Hexadecimal

85
86
86
87

Converso entre Bases


Converso de Decimal para Outra Base
Converso de Outra Base para Decimal

88
88
89

Sistemas de Codificao Avanados


BCD (Binary Coded Decimal)
Cdigo GRAY
Cdigo ASCII

89
89
90
90

lgebra de Boole
Operadores
Teoremas
Leis de Morgan

91
91
92
92

Automao Industrial

1 AUTOMAO DE PROCESSOS
Nos ltimos anos, tem-se assistido a uma mudana drstica dos esquemas de
produo. Isto deve-se, por um lado crescente competio entre as empresas, por
outro, ao enorme desenvolvimento das tecnologias que envolvem micro-controladores,
robs, mquinas de controlo numrico, redes de comunicao, inteligncia artificial,
etc.
Em abstracto, todas as estratgias de produo visam um conjunto de objectivos,
que na realidade corresponde a um s mais lato: o aumento da competitividade. No
correcto dizer-se que o objectivo o aumento da produtividade, pois de que serve
produzir mais se no houver clientes para os produtos?
Assim, automatizao industrial poder ser definida pelo conjunto de tecnologias
relacionadas com a aplicao de equipamentos (mecnicos, electrnicos, baseados em
computador, etc.) em sistemas industriais de produo, e que com ela conseguido
um aumento de competitividade (em termos de custos, qualidade, disponibilidade e
inovao).
Um sistema automatizado pode contribuir para o aumento da competitividade da
empresa atravs da:
Reduo de custos de pessoal: a reduo de custos de pessoal obtm-se, por
exemplo, com a automatizao das mquinas (tem o seu custo...) ou com a
automatizao do controlo e planeamento da produo.
Reduo de custos de stock (intermdios e terminais): devido aoo controlo e
planeamento da produo, que visa, entre outros aspectos, atingir stocks
intermdios mantidos ao mnimo (stock zero), disponibilidade de produtos
(atraso zero), optimizao de compras graas ao controlo de produo em tempo
real, etc.
Aumento da qualidade dos produtos: utilizao de mquinas mais precisas do
que o homem, o que garantem melhores caractersticas de repetibilidade
(qualidade constante, no dependente de turnos particulares).
Maior disponibilidade dos produtos: reduo do nmero de avarias.
Aumento da evolutibilidade: menos tempo necessrio para o projecto,
planeamento e fabrico de novos produtos, associado utilizao de mquinas
programveis aptas a desempenhar diferentes operaes.
Aumento da flexibilidade da produo: resposta rpida s solicitaes do
mercado e capacidade de operar diferentes variantes de produtos.
Um dos dispositivos mais importantes num sistema automatizado o autmato
programvel (PLC - Programmable Logic Controller), que pode ser definido como um
dispositivo electrnico e programvel, destinado a comandar e controlar, em
ambiente industrial e em tempo real, processos produtivos.
O PLC surgiu com o objectivo de substituir os sistemas de controlo, desenvolvidos
em lgica cablada, vulgarmente utilizados na indstria. Esta lgica cablada recorre
utilizao de rels electromecnicos e de blocos lgicos interligados entre si, que
apresenta algumas desvantagens, como sejam a complexidade de expanso e de
alterao nas funes a desempenhar, os custos envolvidos na concepo do sistema
Automao Industrial

de controlo e a complexidade de realizar manuteno (por exemplo, detectar o


estado de um sistema que engloba 1000 sensores e actuadores, bastante complexo
em lgica cablada, pois necessrio verificar localmente cada um dos dispositivos).
1.1 INTRODUO AOS AUTMATOS PROGRAMVEIS
O PLC foi inicialmente concebido por um grupo de engenheiros da General Motors
em 1968, tendo em mente algumas especificaes bsicas [Simpson, 94; Warnock, 88]:
Facilidade de programao e reprogramao;
Facilidade de manuteno e reparao, de preferncia utilizando mdulos
plug-in;
Reduo de dimenses em relao a um sistema equivalente em lgica
cablada;
Reduo de custos.
Estes controladores programveis pretendiam, na altura em que foram concebidos,
fornecer alguma flexibilidade de controlo, baseada na programao e modularidade
de funes, alm de reduzir o tempo de concepo e de instalao de sistemas de
controlo.

Figura 3.1 Exemplo de um Autmato Programvel


O sucesso que se seguiu introduo de PLCs no controlo de processos, provocou
um incremento de grupo de engenheiros a estudar esta tecnologia emergente.
Naturalmente e rapidamente, foi necessrio criar funcionalidades adicionais aos PLCs.
O conjunto de instrues disponveis para a sua programao cresceu rapidamente
desde as simples instrues lgicas (E, Ou, Negao, etc) para instrues avanadas,
que incluam contadores e temporizadores, e posteriormente, para instrues
matemticas avanadas. O desenvolvimento a nvel do hardware tambm se verificou
com o aumento das capacidades de memria e o aumento do nmero de entradas e
sadas disponveis.
As possibilidades de comunicao surgiram aproximadamente em 1973. O primeiro
sistema foi o Modbus da Modicon. Esta funcionalidade, permite que um PLC possa
comunicar com outro PLC para trocar e partilhar informaes, alm de poderem estar
afastados do processo que controlam. A falta de estandardizao associada mudana

Automao Industrial

contnua da tecnologia e aos protocolos de comunicao incompatveis, faz com que


as comunicaes entre PLCs sejam um pesadelo.
Nos anos 80 houve um esforo para normalizar as comunicaes entre PLCs, com a
General Motors a desenvolver um protocolo standard para a indstria da manufactura,
o MAP (Manufacturing Automation Protocol). Mais tarde, tentou-se desenvolver um
novo protocolo no to pesado do que o anterior, designado por Fieldbus, mas a falta
de normalizao deu origem a vrios standards de facto, desenvolvidos por diferentes
fabricantes de tecnologia de automao.
Nos anos 90 a grande novidade foi a tentativa de normalizar as vrias linguagens de
programao de PLCs. Deste modo, existe a possibilidade de programar PLCs
utilizando diagramas de blocos, lista de instrues, C e texto estruturado ao mesmo
tempo.
Actualmente existem mais de 50 fabricantes diferentes de autmatos programveis,
cada um dos quais apresenta diferentes gamas de autmatos com diferentes
funcionalidades, diferentes linguagens de programao e diferentes protocolos de
comunicao. Dos diversos fabricantes de autmatos programveis, destacam-se:
Siemens, Omron, Schneider, Rockwell, Mitsubishi, Telemecanique, AEG, Allen-Bradley,
Fagor, Saia e Fatrnica.
O rpido crescimento do mercado (principalmente a partir da dcada de 80),
associado grande variedade de PLCs disponveis, fez com que os sistemas de controlo
previamente utilizados na indstria, se tornassem rapidamente obsoletos,
principalmente devido ao facto de apresentarem pouca flexibilidade. Actualmente, os
autmatos programveis so os componentes fulcrais no desenvolvimento de
aplicaes de automao industrial, dadas as suas caractersticas, das quais se
destacam:
Baixo custo e um vasto domnio de aplicaes;
Instalao e manuteno simples e barata;
Substituio directa de automatismos baseados em tecnologias cabladas;
Linguagens de programao adaptadas aos automatismos e de simples
percepo;
Elevada flexibilidade: reprogramvel, modular, etc;
Adaptao a ambiente industrial, sendo robusto contra a humidade, choque,
poeiras e rudo electromagntico.
Uma ltima caracterstica e vantagem o facto das dimenses de um PLC serem
cada vez mais reduzidas, necessitando de um menor espao fsico para a sua
implementao.
1.2 ARQUITECTURA DOS AUTMATOS PROGRAMVEIS
Independentemente do fabricante, um PLC possui um conjunto de mdulos comuns
e um conjunto de caractersticas similares. Genericamente, a arquitectura de um
autmato programvel assenta nos seguintes blocos funcionais: unidade central de
Automao Industrial

processamento, memria, mdulos de entrada e sada, fonte de alimentao e


unidade de programao.
Basicamente, o mdulo de entrada adquire o estado do mundo exterior e armazena
esses valores na memria. A execuo do programa, tambm ele armazenado na
memria, permite de acordo com os valores das entradas tomar decises de aces a
realizar, atravs do mdulo de sada. O programa de software que gere o
funcionamento do sistema de controlo que se pretenda que o PLC realize, criado
utilizando uma linguagem de programao adequada e transferido para o PLC atravs
de uma unidade de programao.
A potencialidade de cada autmato programvel pode ser analisada atrs da
capacidade de endereamento, conjunto de instrues, nmero de entradas e sadas,
nmero de cartas especiais, assim como o tempo de ciclo, as suas capacidades de
comunicao e a facilidade de utilizao.

CPU

Memria

Sadas

Mundo
Exterior

Entradas

Fonte de
Alimentao

Mundo
Exterior

Unidade de
Programao

Figura 3.2 - Arquitectura de um PLC


Cada um destes blocos ser abordado mais aprofundadamente nos pontos que se
seguem, sendo para cada um deles referidas as suas principais funcionalidades.
1.2.1 Unidade Central de Processamento
A Unidade Central de Processamento, designada por CPU, o crebro do PLC,
tendo por funo o controlo e superviso de todas as suas actividades, assim como a
gesto do fluxo de informao no seu interior, a partir da execuo de um programa
que se encontra armazenado em memria (normalmente EEPROM).
O CPU constitudo genericamente por um microprocessador e por uma pequena
memria interna. Este microprocessador controlado por um programa especial,
designado por sistema operativo, e que armazenado de forma permanente na
memria. As funes do sistema operativo so criar uma plataforma de trabalho que
permita ao microprocessador, entre outras funes, o controlo, o processamento e a
comunicao. Durante a execuo do programa de controlo sobre o sistema operativo,
o CPU realiza a gesto da memria, a monitorizao das entradas e a actualizao das
sadas.
Um CPU tem tipicamente as seguintes funes:
Automao Industrial

Operao de entrada e sada, que permitem ao PLC comunicar com o mundo


exterior, atravs da transferncia de dados para os mdulos de entrada e sada;
Operaes aritmticas e lgicas, que so executadas na Unidade de Lgica
Aritmtica (ALU). A ALU capaz de executar, entre outras, as operaes de
adio, subtraco e comparao. Para efectuar uma operao, a ALU necessita
que lhe sejam fornecidos dois operandos e um operador, sendo os resultados
armazenados na memria temporria ou utilizados de imediato para o
processamento, conforme as instrues do programa;
Leitura e actualizao do contedo da memria, que podem ser dados sobre o
estado do sistema ou instrues contidas no programa;
Operao de salto, que permitem que na execuo de um programa, seja
possvel saltar algumas pores desse programa sem que estas sejam
executadas.
Adicionalmente, ao CPU existe um relgio que gera uma frequncia a partir de um
oscilador externo, que ir determinar a velocidade de operao do PLC e fornece a
sincronizao para todos os elementos do sistema.
Alguns PLCs, normalmente os de gama alta, destinados a tarefas de controlo
complexas, possuem CPUs com mais de um microprocessador. A vantagem a
possibilidade de multi-processamento, o que permite uma maior velocidade de
processamento, atravs da diviso das tarefas de controlo e de comunicao.
Uma condicionante a que os CPUs devem estar preparados a imunidade ao rudo
elctrico proveniente por exemplo de motores trifsicos. Alm de serem fisicamente
robustos para suportarem ambientes hostis, os PLCs j possuem, actualmente, rotinas
que verificam que a memria do PLC no foi corrompida por rudo ou outros
problemas, permitindo assim o bom funcionamento do equipamento.
1.2.2 Memria
O PLC necessita de armazenar a informao que recebe do exterior atravs das
unidades de aquisio de informao e guard-la para posterior processamento, assim
como toda a informao resultante do processamento. Como implementada esta
possibilidade de armazenamento de informao?
Num PLC possvel encontrar dois tipos de memrias quanto tarefa a realizar:
memria de sistema e memria do utilizador [Almeida, 93]. A primeira contm todo o
programa que permite ao PLC realizar o conjunto de operaes que caracterizam o
seu funcionamento e assegurar a comunicao entre o utilizador e o processador e
ainda traduzir a linguagem do utilizador para linguagem mquina. A memria do
utilizador destina-se ao armazenamento do programa de controlo e da informao que
circular no PLC.
A capacidade de memria expressa em termos do nmero de grupos de 8 bits
(Binary Digits), designados por bytes, que possui. vulgar dizer que um PLC possui 48
Kbytes de memria, o que significa que poder armazenar 48 mil bytes de informao
ou 384000 bits.

Automao Industrial

Endereo

Informao

10

11

12

13

14

15

16

17

18

19

Figura 3.3 -Representao da memria de um computador


A memria pode ser comparvel a um conjunto de gavetas ou registos, cada uma
das quais bem definida por um rtulo ou endereo, onde possvel colocar ou ir
buscar informao binria (estrutura sequencial e ordenada de clulas onde possvel
guardar e manipular toda a espcie de informao).
Cada clula de memria tem um endereo que indica a sua posio relativa,
permitindo referenciarmos a informao armazenada numa clula de memria como o
contedo dessa posio. Assim, a indicao do endereo de uma posio de memria
permite ler o seu contedo e/ou modifica-lo.
O acesso a estas clulas de memria do tipo aleatrio, isto , no preciso ler o
contedo de todas as gavetas anteriores a uma que contm a informao pretendida,
o que permite uma velocidade de acesso bastante grande.
As memrias podem ser classificadas de acordo com diferentes parmetros. Assim,
existem dois tipos de memrias, quanto possibilidade de armazenamento da
informao aps se desligar a alimentao: as memrias que retm o seu contedo
mesmo que no exista alimentao so designadas por memrias no volteis. Por
outro lado, existem as memrias volteis, que apenas armazenam a informao
enquanto estiver alimentada, perdendo-a quando for desligada a alimentao.
Por outro lado, as memrias podem ser classificadas quanto possibilidade de
alterao do seu contedo, sendo de seguida descritos os principais tipos de memria
[Simpson, 94].
Read Only Memory (ROM)
A ROM (Read Only Memory) uma memria apenas de leitura, isto , a informao
nela armazenada durante o processo de fabrico permanente, no se perdendo
quando se desliga a alimentao. Este tipo de memria utilizada pelos fabricantes
para armazenar de forma permanente dados estticos e programas que iro ser
necessrios ao funcionamento do PLC.
Geralmente, os PLCs raramente utilizam memria ROM nas suas aplicaes, a no
ser PLCs dedicados, que tem por objectivo o controlo de apenas um pequeno grupo de
tarefas.
Random Acess Memory (RAM)
Esta memria permite a leitura e escrita da informao, apresentando no entanto a
desvantagem de perder toda a informao quando se desliga. Esta memria utilizada

Automao Industrial

10

para armazenar temporariamente a informao que circula no PLC e os dados que


reflectem o mundo exterior e a execuo do programa.
Programmable Read Only Memory (PROM)
um tipo especial de ROM que pode ser programada. Normalmente utilizada para
guardar de forma permanente os dados armazenados na RAM.
Erasable Programmable Read Only Memory (EPROM)
Este tipo de memria armazena os dados de forma permanente, mas diferencia-se
das memrias anteriores pelo facto de ser possvel reprogramar o seu contedo. As
EPROM possuem uma pequena janela sobre o array de memria, que exposto a uma
fonte de luz ultra-violeta apaga todo o contedo da memria. Esta operao tem uma
durao mdia de 20 minutos. Aps a EPROM ter sido apagada, possvel voltar a
escrever dados para a memria, normalmente atravs da transferncia de programas
para o seu interior, utilizando um dispositivo electrnico adequado.
Electrically Erasable Programmable Read Only Memory (EEPROM)
O contedo deste tipo de memria pode ser de novo programado, utilizando um
terminal de programao de PLC, e aps todo o seu contedo ter sido eliminado,
operao que demora 10 milisegundos. utilizada para armazenar o programa de
controlo que se pretende realizar.
1.2.3 Unidade de programao
As unidades de programao tm por objectivo a escrita off-line e online de
programas, a monitorizao e a modificao do estado do PLC.
A programao dos PLC pode ser realizada utilizando consolas de programao ou
utilizando PCs com acesso rede. As consolas de programao esto a ser
progressivamente substitudas pela programao atravs de PC, e a sua aplicao
resume-se fundamentalmente programao on-line em ambiente industrial.

Computador

Figura 3.4 - Dispositivos de Programao


Ambos os dispositivos permitem a programao off-line dos PLCs, o que significa
que o programa pode ser escrito sem que o dispositivo esteja conectado ao PLC, sendo
o programa transferido para o PLC quando for necessrio.

Automao Industrial

11

As consolas de programao esto a ser abandonadas, porque necessrio um


dispositivo de programao para cada PLC, alm de apenas programar uma gama
restrita de autmatos programveis. A sua utilizao resume-se a tarefas de
manuteno, programao dedicada e modificao de dados do sistema; por exemplo,
se o protocolo de comunicao do PLC com o PC falhar necessrio o uso da consola
para estabelecer de novo o protocolo.
1.2.4 Mdulos de Entrada e Sada
Os mdulos de entrada e sada tm como objectivo, a interface entre o PLC e o
mundo exterior, devendo igualmente implementar o condicionamento e isolamento do
sinal. Os mdulos de entrada tm por objectivo a aquisio de informao do mundo
real, para posterior tratamento. Por outro lado, o controlo de um processo requer a
actualizao de equipamentos, pelo que necessrio ligar os dispositivos a controlar
ao mdulo de sada.
Todos os mdulos de entradas e sadas possuem isolamento elctrico do processo a
controlar, utilizando acoplamento ptico.

Dispositivo de
Entrada

Isolamento ptico

Sada para o CPU

Figura 3.5 - Isolamento das entradas


Este isolamento garante que no existe ligao elctrica entre o mundo exterior e o
CPU. Um isolamento ptico consiste num dodo emissor de luz e num fototransistor,
formando um acoplador ptico, que permite a transmisso de sinais de pequena
tenso e o isolamento de sinais de elevados valores de tenso. Por exemplo, a entrada
fornece um sinal elctrico que transformado em luz. A luz emitida recebida pelo
receptor que de novo transformada num sinal elctrico. O isolamento ptico usado
para entradas e sadas.
Cada entrada/sada possui um endereo que o identifica univocamente, e que
utilizado ao longo do programa de controlo, sempre que se pretende manipular essa
entrada/sada. Normalmente, os mdulos de E/S possuem a indicao do estado de
cada entrada/sada atravs de leds, o que torna simples a verificao do estado do
processo. As entradas/sadas esto disponveis atravs de cartas de expanso que
comunicam com o CPU atravs de um barramento, designado de bus, de dados e de
endereos.
Existem dois tipos de entradas/sadas: digitais e analgicas. As entradas e sadas
digitais apresentam apenas dois valores: ON e OFF (1 e 0). Por exemplo, se um sensor
de proximidade detectar a presena de um objecto, na entrada aparecer o sinal
lgico 1; caso contrrio estar o valor 0.

Automao Industrial

12

Quando o sinal a adquirir pode tomar uma gama de valores determinada e de forma
contnua, est-se na presena de sinais analgicos, que requerem o uso de mdulos de
entrada/sada analgicos. Por exemplo, um sensor de luminosidade pode ser
considerado como sendo uma entrada analgica, porque produz uma tenso que
proporcional luz que detecta.
Um mdulo de entradas analgicas executa a converso analgico-digital (A/D),
ficando o sinal em formato digital e disponvel para ser processado pelo CPU. O
mdulo de sada analgico efectua o processo inverso e converte o sinal digital para
um valor analgico (D/A). A resoluo da converso um factor importante para a
preciso de controlo quando se utilizam PLCs. Os conversores que usam palavras de 8
bits tero uma resoluo de 1:128. Desta forma, um sinal de valor mximo 5V pode ser
convertido num valor digital com um intervalo entre valores de 0,02V. O aumento da
resoluo passa pelo aumento do numero de bits utilizados pelo conversor.
Mdulo de Entrada
Este mdulo interliga o PLC ao mundo exterior, adquirindo sinais que reflectem o
estado do mundo exterior, atravs da utilizao de sensores, interruptores, etc. O
mdulo de entrada converte o nvel lgico do mundo real para o nvel lgico requerido
pelo CPU, ao mesmo tempo que executa o isolamento.
Existem no mercado uma vasta gama de sensores que podero implementar as
entradas de um PLC, das quais se destacam os sensores indutivos, capacitivos, fins de
curso, clulas fotoelctricas, etc.
Mdulo de Sada
O mdulo de sada disponibiliza uma conexo ao mundo real, permitindo a
actualizao do processo, de acordo com a informao obtida pelas entradas e com a
execuo do programa. As sadas podem ser disponibilizadas atravs de rel, transstor
ou triac.
Os dispositivos de sada vulgarmente utilizados no controlo de processos so os
motores passo a passo, lmpadas, vlvulas pneumticas, etc.
1.2.5 Fonte de Alimentao
A fonte de alimentao tem por objectivo o fornecimento das vrias tenses de
alimentao requeridas para o funcionamento de todos os componentes do PLC.
Esta unidade converte a tenso de alimentao exterior (220 V) numa tenso
continua requerida pelo CPU, memria e mdulo de entradas e sadas (normalmente 5
ou 24 V).
1.2.6 Cartas Especiais
Existem dispositivos auxiliares ao PLC que no se enquadram na sua arquitectura
genrica, pois so especficos para o tipo de aplicao. Neste grupo de cartas

Automao Industrial

13

especiais, encontramos entre outras, os leitores de cdigos de barras, as cartas ASCII e


as cartas fuzzy logic.
Fuzzy Logic
A lgica fuzzy foi desenvolvida para criar uma lgica que melhorasse a
tradicional lgica binria que apenas admite dois valores lgicos: 0 e 1. A
lgica fuzzy pretende copiar o raciocnio humano e desenvolver processos
lgicos a partir de expresses pouco precisas ou difusas que variam entre dois
valores lgicos (0 e 1). Por exemplo, utilizando lgica fuzzy no se diz que
uma pessoa alta ou baixa, mas sim que essa pessoa tem uma determinada
probabilidade de ser alta.
Carta ASCII
Este mdulo utilizado para manipulao e transmisso de dados
alfanumricos entre o PLC e dispositivos perifricos, tais como impressoras,
monitores, etc.
PID
Utilizadas para solucionar problemas complexos, em que necessrio
implementar controlo integral, derivativo e proporcional.
Leitores de cdigos de barras
Muito utilizadas na industria para identificao dos produtos que circulam
num processo.
1.3 FUNCIONAMENTO
O funcionamento de um PLC resume-se execuo contnua do programa carregado
na sua memria. Na figura que se segue, esto ilustradas as trs fases mais
importantes do ciclo de funcionamento de um autmato programvel.

Verificao do estado das entradas

Execuo do programa

Actualizao do estado das sadas

Figura 3.6 - Ciclo de funcionamento de um PLC

Automao Industrial

14

Inicialmente, o PLC analisa o estado de todas as entradas e armazena-os na


memria, para serem usadas durante a execuo do programa. Na fase que se segue, o
PLC executa o programa, executando uma linha de instruo de cada vez. Finalmente,
as sadas so actualizadas de acordo com o estado das entradas e das instrues do
programa.
Este ciclo repete-se continuamente enquanto o PLC estiver em funcionamento.
Quando se analisa o funcionamento de um PLC, atravs da performance do seu tempo
de resposta, necessrio considerar trs tempos distintos:
Tempo de resposta de entrada;
Tempo de processamento;
Tempo de resposta de sada.
Consideremos a situao de detectar quando o copo est cheio de gua, para se
fechar a torneira, e faamos a analogia com o funcionamento de um PLC. Os olhos da
pessoa esto sempre a receber informao e a envia-la para o crebro.

Figura 3.7 - Tempo de Resposta


Quando a gua chegar ao nvel pretendido, os olhos enviam essa informao para o
crebro que a dever processar. O tempo que o crebro demora a receber a
informao proveniente dos olhos designada por tempo de resposta de entrada. O
crebro tendo a informao de que a gua est num determinado nvel ir processar a
informao e decidir qual a aco ou aces a tomar. Este tempo designado por
tempo de processamento.
Finalmente, o crebro ir dar ordens s mos para fechar a torneira. O tempo que
decorre at que as mos recebam a ordem designado por tempo de resposta de
sada.
1.4 APLICAES DOS AUTMATOS PROGRAMVEIS
Os PLCs apresentam um vasto domnio de aplicaes, das quais se destacam:
Aplicaes de robtica

Automao Industrial

15

Controlo de mquinas CNC

Controlo de clulas de fabrico ou montagem


Sistemas de transporte e manuseamento de materiais.

Controlo e monitorizao de processos industriais, etc.

Automao Industrial

16

2 PROGRAMAO BSICA DE AUTMATOS PROGRAMVEIS


A linguagem de programao, assim como a estrutura e definio de endereos e
mapeamento da memria difere de fabricante para fabricante, o que associado com a
vasta diversidade de fabricantes de autmatos existentes no mercado, torna limitativo
o estudo genrico que se pretende efectuar. Apesar de ser inteno deste texto
fornecer os princpios bsicos da programao de autmatos programveis, ir utilizarse como referncia o autmato programvel CPM1 da Omron para testar e desenvolver
todas as aplicaes referidas neste texto.
2.1 ESCRITA DE PROGRAMAS
2.1.1 Fluxogramas e Algoritmia
Os computadores, infelizmente, s fazem aquilo que mandamos e no aquilo que
desejamos que eles faam. O computador tomar sempre um dos caminhos possveis
nas suas aces e por isso preciso assegurar que o computador siga pelo nico
caminho correcto possvel que leve aos resultados desejados. Uma afirmao como
calcule a mdia das notas neste teste muito imprecisa, apesar de parecer
especificar aquilo que desejamos. Muitos detalhes foram omitidos, como por exemplo,
onde esto as notas, quantas so, etc.
A programao de computadores em alguns casos pode ser difcil, razo pela qual
os bons programadores recebem altos salrios. Tal dificuldade deve-se complexidade
inerente, combinando muitos processos mentais. Entretanto, podemos torn-la muito
mais fcil se dividirmos o problema sistematicamente em partes menos complexos (a
abordagem do dividir para conquistar).
Problema

Passo difcil

Soluo como
programa de
computador

Fase da resoluo
do problema

Soluo em forma
de algoritmo

Fase da
implementao

Figura 5.1 - Resoluo de um problema

Automao Industrial

17

Primeiro, importante separarmos a fase de resoluo do problema da tarefa da


fase da implementao. Na fase de resoluo do problema, necessrio a elaborao
de um algoritmo ou fluxograma para resolver o problema proposto. Apenas, quando a
formulao de um algoritmo adequado e satisfatrio, que se passa para a
implementao do algoritmo numa qualquer linguagem de programao. Dado um
algoritmo suficientemente preciso, a codificao num programa de computador
quase directa.
Um algoritmo pode ser definido como uma sequncia ordenada e sem ambiguidade,
de passos elementares que levam soluo de um dado problema. Apesar de o termo
ser novo em si, o conceito bastante familiar. As indicaes dadas para se chegar at
uma determinada rua constituem um algoritmo para se encontrar essa rua. Uma
receita de cozinha uma forma muito familiar de fluxograma.
necessrio que os algoritmos cumpram algumas regras. Assim, os passos de um
algoritmo devem ser simples e sem ambiguidade e devem estar numa ordem
cuidadosamente definida.
Como exemplo, vamos elaborar um algoritmo para realizar uma tarefa bastante
familiar, a substituio de uma lmpada queimada. A operao bsica pode ser
expressa em dois passos simples:
remova a lmpada queimada
coloque a nova lmpada
Apesar de esta soluo parecer resolver o problema, de facto estes passos no so
suficientemente claros para um robot, pois cada um dos passos envolve alguns
pressupostos que um robot no conhece. Assim, necessrio especificar cada um dos
passos anteriores.
Em primeiro lugar, o que necessrio para remover a lmpada queimada?
Vamos admitir que ela esteja pendurada num tecto. Este facto envolve uma escada,
posicion-la correctamente e subi-la. De seguida necessrio remover a lmpada.
Para a remoo, necessrio girar a lmpada no sentido anti-horrio at que se solte.
Assim, o simples passo remova a lmpada queimada foi expandido nos seguintes
passos:
Posicione a escada debaixo da lmpada queimada
suba na escada at que a lmpada possa ser alcanada
rode a lmpada queimada no sentido anti-horrio at que se solte
Para colocar uma lmpada nova, necessrio seleccionar uma outra de mesma
potncia (o que deve ser feito antes de se subir na escada), posicionar a lmpada,
gir-la no sentido horrio at que esteja completamente colocada e finalmente descer
da escada. Deste modo, o passo coloque a nova lmpada foi expandido para:
escolha uma nova lmpada de mesma potncia da queimada
posicione a nova lmpada
rode a lmpada no sentido horrio at estar colocada
Automao Industrial

18

desa da escada
Apesar do algoritmo ter j sete passos, ainda no tem uma especificao
suficientemente precisa. Por exemplo, o passo escolha uma nova lmpada de mesma
potncia da queimada deve ser melhor especificado. Suponhamos que temos uma
caixa com lmpadas novas. Devemos examin-las uma a uma at encontrarmos uma
com a mesma potncia da queimada. Isto exige as seguintes operaes:
seleccione uma lmpada candidata substituio
se a potncia no a mesma, repita o processo at encontrar uma que sirva,
deite fora a lmpada seleccionada
seleccione uma nova lmpada
So introduzidos aqui dois conceitos importantes: o da deciso (se) e o da repetio
(repita). A capacidade de deciso permite-nos adiar a seleco real de um caminho
at execuo do programa. Neste caso, no podemos determinar o que fazer at
que a potncia de uma lmpada real tenha sido examinada. possvel especificar que
uma operao bsica seja repetida muitas vezes; neste caso a seleco de uma
lmpada efectuada at se encontrar uma lmpada de potncia adequada. Usando
estes conceitos para os restantes passos, passamos a ter o seguinte algoritmo:
posicione a escada debaixo da lmpada queimada
seleccione uma nova lmpada para a substituio
se a potncia no for a mesma da queimada, repita o processo at encontrar
uma que sirva
deite fora a lmpada seleccionada
seleccione uma lmpada nova
repita at que a lmpada possa ser alcanada
suba num degrau da escada
repita at que a lmpada fique solta
rode a lmpada no sentido anti-horrio
posicione a nova lmpada
repita at que a lmpada esteja colocada
rode a lmpada no sentido horrio
desa a escada
As operaes indicadas simples sem ambiguidade, as decises necessrias so
imediatas e a ordem na qual os passos devem ser seguidos claramente expressa. A
escrita de programas para computadores ou autmatos, passa pelo assentar de ideias
na forma de um fluxograma ou algoritmo e depois transpor esse algoritmo para a
linguagem de programao adequada.

Automao Industrial

19

2.1.2 Linguagens de Programao para Autmatos


A programao de PLCs pode ser realizada utilizando vrias linguagens genricas,
seguindo a norma IEC 61133, das quais se destacam os seguintes dois tipos:
lista de instrues;
diagrama de blocos (ladder).
A lista de instrues caracterizada por existir uma sequncia de instrues para
realizar cada uma das tarefas. Essas instrues so escritas sob a forma de
mnemnicas.
LD
AND
SET

I 0.1
I 0.2
O 1.0

Cada fabricante utiliza mnemnicas diferentes para programar os seus autmatos


assim como designaes diferentes para enderear a memria. Este facto, faz com
que cada fabricante possua uma linguagem de programao prpria para os seus
autmatos.
O diagrama de contactos (ladder) caracterizado pela existncia de sequncias de
contactos (normalmente abertos ou fechados) que iro provocar a actualizao das
sadas.
0.0

10.0

O diagrama de contactos uma linguagem genrica de programao de autmatos,


a menos de algumas funes especficas de alguns autmatos e do endereamento de
memria.
Dado que vai ser utilizado o PLC CPM1 da Omron nas experincias laboratoriais,
iremos utilizar os diagramas de ladder como linguagem de programao, que
disponibilizada pela Omron atravs do seu software de programao SYSWIN.
2.1.3 Procedimentos bsicos para a escrita de um programa
A elaborao de programas para autmatos tendo em vista a solucionar problemas,
passa pela definio de um conjunto de passos bsicos, dos quais se destacam os
seguintes:
Obter a lista de todos os dispositivos de Entradas e Sadas, criando uma
tabela de memria que ilustre os bits E/S alocados a cada dispositivo.
Determinar quais as palavras disponveis para serem utilizadas dentro do
programa.

Automao Industrial

20

Criar tabelas de endereos de temporizadores e contadores, assim como


endereos de salto a usar no programa (apenas se podem usar de 01 a 99).
Desenhar o diagrama de contactos.
Verificar o programa da existncia de erros de sintaxe e tentar corrigi-los.
Transferir o programa para o autmato.
Executar o programa no autmato.
Se durante a execuo do programa se verificarem erros ou anomalias, deve-se
corrigir esses erros e verificar o programa de novo, sendo por vezes necessrio
redesenhar o diagrama de contactos.
2.2 ENDEREAMENTO DA MEMRIA
A memria de um PLC, tal como j foi referido, divide-se normalmente em dois
grandes blocos: memria do sistema e memria do utilizador. A memria do sistema
armazena todos os parmetros de configurao do PLC, enquanto que a memria do
utilizador armazena dados temporrios de entrada e de sada, assim como dados
auxiliares execuo do programa.
Cada fabricante de autmatos tem uma forma de endereamento da memria
muito prpria, e que normalmente difere do endereamento utilizado noutros
autmatos. Por exemplo, para codificar as entradas e sadas, vulgar utilizar-se a
letra I para as entradas e a letra O para as sadas; no entanto, tambm existem
autmatos que utilizam as letras X e Y, para codificar as entradas e sadas,
respectivamente.
Na figura 5.3 est representado o endereamento da memria utilizada pelo
autmato CPM1 da Omron. Verifica-se que a codificao de entradas e sadas
realizada pelo prefixo IR.

rea de Dados
rea IR
(Rels
internos)

Palavras

rea de Entrada

IR 000 a IR 009

rea de Sada

IR 010 a IR 019

rea de Trabalho
rea SR
(Rels especiais)
rea TR
(Rels temporrios)
rea HR
(Rels reteno)
rea AR
(Rels auxiliares)

Automao Industrial

IR 200 a IR 231
SR 232 a SR 255
TR 0 a TR 7 (s se
trabalha com os 8
bits)
HR 00 a HR 19

AR 00 a AR 15

Funo
Estes bits podem ser alocados aos
terminais E/S externos. Os bits de trabalho
podem ser usados livremente dentro do
programa.
Estes bits servem funes especficas, tais
como flags e bits de controlo.
Estes bits so utilizados para guardar
temporariamente o estado ON/OFF da
seco do programa (mnemnicas).
Estes bits guardam informao e mantm o
seu estado ON/OFF aps a alimentao ser
desligada.
Estes bits so semelhantes a SR mas
mantm o seu valor aps a alimentao ser
desligada.

21

rea LR
(Rels ligao)
rea
Contadores
Temporizadores
Leitura/Escrita
rea DM

Log de erros

(Mdulo Apenas leitura


de Dados)
Setup PC

LR 00 a LR 15
e

TC 000 a TC 127

Utilizado para ligaes 1:1 a outro PLC.


Os mesmos endereos so utilizados para
os temporizadores e contadores.
Podem ser usados livremente no programa.

DM00 a DM 099
DM 1022 a DM 1023
DM 1000 a DM 1021 Utilizados para guardar o tempo e o cdigo
de erro da ocorrncia.
DM 6144 a DM 6599 No podem ser escritos a partir do
programa.
DM 6600 a DM 6655 Utilizados
para
guardar
os
vrios
parmetros que controlam a comunicao
com o PC.

Figura 5.2 - O endereamento da memria no CPM1

2.3 INSTRUES BSICAS


Os operandos utilizados como entradas e sadas possuem dois valores de
identificao: endereo fsico e mnemnica. O endereo fsico a designao directa
do bit ou byte de uma rea especfica de memria. A mnemnica utilizada para
simplificar a escrita e a leitura do programa.
Uma condio normalmente aberta Verdadeira (ON) se a entrada ON e Falsa
(OFF) se o operando OFF. Uma condio normalmente fechada Verdadeira se o
operando OFF e Falsa de o operando ON.
normalmente normalmente
fechado
aberto

...

No estudo que se segue, apenas se vai considerar entradas e sadas normalmente


abertas. No entanto, para trabalhar com lgica normalmente fechada, deve-se colocar
o sufixo NOT a seguir instruo para a lgica normalmente aberta.
2.3.1 LOAD
A primeira condio que inicia qualquer bloco lgico corresponde instruo LOAD,
cuja mnemnica LD. Se esta instruo a nica na linha de instrues ento a sada
ON se o operando for ON e OFF se o operando for OFF. O resultado desta instruo
pode ser conjugada com outra entrada atravs de uma relao lgica ou
imediatamente transferida para o exterior, actualizando uma sada.
2.3.2 OUTPUT
A forma mais simples de transferir para a sada os resultados da combinao da
execuo de instrues utilizando a instruo OUT.
Automao Industrial

22

Esta instruo pode actualizar sadas do autmato, mas tambm flags internas, tais
como as reas SR, AR, HR, etc.

0.0

0.0

10.0

10.0

0.0

10.0

ON
OFF

ON
OFF

0.0

10.0

ON
OFF

OFF
ON

Figura 5.3 - Tabela de Verdade das Instrues OUT e OUT NOT


Vamos considerar o seguinte caso de aplicao: existe uma bomba de tirar gua que
funciona de acordo com o estado de um boto de accionamento, isto premindo o
boto a bomba funciona, e libertando o boto a bomba deixa de funcionar. Pretendese elaborar um programa que execute o controlo da bomba.
Assim, supondo que o boto est associado entrada 0.0 e que a bomba est
associada sada 10.1, possvel realizar o programa de controlo, utilizando listra de
instrues.
LD 0.0
OUT 10.0
Este programa coloca a sada 10.0 (bomba) em funcionamento de acordo com o
estado da entrada 0.0 (boto). Se o boto estiver premido, isto a entrada 0.0 est
ON, ento a bomba ser colocada em funcionamento. Caso o boto no esteja
premido ento a bomba deixa de estar em funcionamento.
2.3.3 AND
A manipulao de operandos lgicos requer por vezes a utilizao do operador
lgico AND. Este operador permite activar uma sada apenas quando todos os
operandos de entradas forem Verdadeiros.
Num conjunto de instrues que implemente o AND de mais do que duas entradas,
a primeira das instrues ser a instruo LD; e as restantes condies as instrues
AND.
0.0

1.0

0.1

10.1

Na figura anterior a linha de instruo representada por um diagrama de contactos,


implementa a seguinte expresso lgica:

Automao Industrial

23

10.0 = 0.0 AND 1.0 AND 0.1

A sada 10.0 ser activada, apenas se as trs condies forem verdadeiras, isto ,
quando 0.0 ON, 1.0 OFF e 0.1 ON.
A aplicao da instruo AND pode ser analisada no seguinte exemplo:
A utilizao de maquinaria pesada, como por exemplo, quinadoras ou mquinas de
corte, requer a instalao de sistemas de segurana, para precaver a integridade fsica
dos operadores que trabalham com essas mquinas. O sistema de segurana mais
vulgar nesses casos a implementao de dois botes de incio de funcionamento (um
para cada mo do operador). Desta forma, a mquina s executa a tarefa, por
exemplo o corte de chapa, se os dois botes estiverem premidos.
LD 0.0
AND
OUT

0.1
10.0

Neste caso, temos duas entradas, 0.0 e 0.1, e uma sada 10.0, que representa o
accionamento da mquina para executar a sua tarefa.
2.3.4 OR
No ponto anterior referiu-se a instruo lgica AND. No entanto, existe uma outra
instruo lgica bsica, designada por OR, que fundamental na manipulao de
operandos lgicos. Quando duas ou mais condies esto separadas em linhas de
instrues diferentes e a correr em paralelo, a primeira condio corresponde
instruo LD; as restantes condies correspondem instruo OR.
1.1

10.0

1.0
0.1

A sada 10.0, para o caso da figura anterior, ser ON quando uma das trs condies
for ON, isto , quando 1.1 OFF ou 1.0 OFF ou 0.1 ON.
2.3.5 END
No fim de um programa necessrio adicionar a instruo END. Durante a execuo
do programa, o CPU executa todas as instrues at instruo END, antes de voltar
ao incio do programa e voltar a execut-lo. Alis, o autmato funciona em ciclo
executando ciclicamente o programa carregado no autmato.

Automao Industrial

24

0.0

0.1

10.0

END

Se no existir a instruo END no fim do programa, este no poder ser executado.


Exemplo de aplicao
Pretende-se controlar o funcionamento de um dispositivo que efectua a mistura de
dois lquidos, utilizando dois botes:
Movimento - se premido, o dispositivo deve funcionar; se no, deve estar
parado.
Emergncia - se caso seja premido, o dispositivo deve parar o seu
funcionamento.

Lquido A

Lquido B

Figura 5.4 - Misturador de lquidos


O primeiro passo na escrita do programa a escolha das E/S do autmato para a
aplicao em causa:
boto de movimento

IR 0.0

movimento;

boto de emergncia

IR 0.1

emergncia;

motor do dispositivo

IR 10.0

motor.

Ento a linha de instrues que implemente o funcionamento pretendido est


ilustrado na figura que se segue.
0.0

0.1

10.0

Vamos supor agora, que o boto de movimento substitudo por dois outros botes
distintos, que representam a presena de diferentes tipos de lquidos no dispositivo, e
que se pretende que o misturador inicie o seu funcionamento sempre que exista pelo
menos um dos lquidos no dispositivo (um dos botes premido).
Desta forma iremos ter entradas e uma sada:
boto para o liquido A -

IR 0.3

lquido_a;

boto para o liquido B -

IR 0.4

lquido_b;

Automao Industrial

25

boto de emergncia

IR 0.1

emergncia;

motor do dispositivo

IR 10.0

motor.

A implementao do programa para este caso semelhante ao anterior, diferindo


apenas no facto do funcionamento do misturador depender da existncia de pelos
menos um dos botes associados aos lquidos estar activado.
0.3

0.1

10.0

0.4

A instruo lgica que implementa esta funcionalidade o OR, pelo que basta
efectuar o OR entre as entradas lquido_A e lquido_B, seguido do AND com a entrada
de emergncia negada.
2.3.6 Instrues Lgicas de Bloco
A elaborao de diagramas mais complexos do que aqueles analisados at ao
momento, requer a introduo dos conceitos de AND LOAD e OR LOAD.
Vamos supor que pretendemos implementar a seguinte expresso lgica:

10.0 = (0.0 OR 0.1) AND (0.2 OR 0.3)


A implementao atravs de diagramas de contactos directa, e est ilustrada na
figura que se segue.
0.0

0.2

0.1

0.3

10.0

No entanto, se pretendermos utilizar a programao em lista de instrues,


impossvel implementar a expresso lgica utilizando as instrues lgicas bsicas,
uma vez que o valor da execuo da condio 0.0 OR 0.1 perdido quando se inicia a
execuo da condio seguinte (0.2 OR NOT 0.3). Existem ento as instrues AND
LOAD e OR LOAD para armazenar as condies intermdias.
Assim, possvel escrever o diagrama anterior em lista de instrues utilizando AND
LOAD.
LD
OR
LD
OR NOT
AND LD

Automao Industrial

0.0
0.1
0.2
0.3

26

A instruo AND LD permite armazenar o resultado da primeira condio e realizar


o AND com a segunda condio.
Vamos considerar agora o caso de se pretender implementar a seguinte expresso
lgica:

10.0 = (0.0 AND 0.1) OR (0.2 AND 0.3)


Tal como o exemplo anterior, a sua implementao em diagramas de contactos
extremamente simples, mas complica-se se o pretendido for a utilizao de lista de
instrues.
0.0

0.1

0.2

0.3

10.0

Neste caso no se trata de realizar o AND de duas condies constitudas por mais
do que uma condio, mas sim o OR, pelo que a instruo adequada o OR LD.
LD
AND NOT
LD
AND
OR LD
OUT

0.0
0.1
0.2
0.3
executa o OR dos dois blocos

0.0

2.3.7 Combinao de instrues AND LOAD e OR LOAD


As instrues AND LOAD e OR LOAD podem ser combinadas, caso o nmero de
blocos seja superior a 2 mas no exceda os 8 blocos.
Bloco 3
0.0

0.1

Bloco 1

0.2

0.3

0.4

0.5

10.0

Bloco 2

Considerando o diagrama de contactos, representado atrs, possvel traduzi-lo


para lista de instrues.
LD NOT
AND
LD
AND NOT
Automao Industrial

0.0
0.1
0.2
0.3
27

LD NOT
AND
OR LD
AND LD
OUT

0.4
0.5

10.3

de referir que neste caso, primeiro executada a instruo OR LOAD e s depois a


instruo AND LD.
Exemplo de aplicao
Pretende-se escrever em lista de instrues o programa equivalente ao
representado pelo seguinte diagrama de contactos.
Bloco 1
0.0

Bloco 2
0.2

0.1

0.3

0.4

10.0

0.5
0.6

0.7

Bloco 4

Bloco 3
Bloco 5

O programa em lista de instrues como se representa de seguida.


LD
LD
AND
LD
AND
LD
LD
AND
OR LD
AND LD
OR LD
AND LD
OUT

0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7

10.0

blocos 4 e 5
bloco 3 com resultado anterior
bloco 2 com resultado anterior
bloco 1 com resultado anterior

de salientar que apenas se pe o problema de utilizao de instrues de bloco,


se no se programar em diagramas de contactos. Alm disso, sempre possvel no
utilizar as instrues de bloco, se utilizarmos flags internas para armazenar dados
temporrios e intermdios.

Automao Industrial

28

2.3.8 Execuo de Vrias sadas


Existem situaes em que necessrio executar mais do que uma aco, para as
mesmas condies de entrada. Neste caso, as sadas so codificadas sucessivamente a
seguir ltima instruo da linha.
0.1

HR0.1

0.3

0.2

10.0

0.4

10.7

Ou utilizando lista de instrues,


LD
OR
AND
OUT
OUT
AND
OUT

0.1
0.2
0.3
HR0.1
10.0
0.4
10.7

2.3.9 SET e RESET


Estas instrues so similares s de OUTPUT e OUTPUT NOT, diferindo no facto do
seu estado apenas ser alterado quando a condio for ON. Quando a condio de
entrada for Verdadeira, o bit de sada ON ou OFF, caso se trate de um SET ou RESET,
respectivamente. A particularidade desta instruo, que mantm o seu estado aps
a condio de entrada passa a Falsa.
Condio

SET
(sada)

Condio

RESET
(sada)

Figura 5.5 - Evoluo temporal para as instrues SET e RESET


Vamos considerar o caso de pretendermos controlar o funcionamento de um motor,
atravs de dois botes: o boto verde para o colocar em funcionamento e o boto
vermelho para o parar.
Neste caso, no se pode utilizar a instruo OUT, porque com esta instruo logo
que libertssemos o boto verde, o motor parava, e o que se pretende que o motor
continue a funcionar mesmo que se liberte o boto e at que se prima o boto
vermelho.

Automao Industrial

29

Para implementar esta funcionalidade necessrio utilizar as instrues SET para


por o motor em funcionamento quando se prime o boto verde, e a instruo RSET
para parar o motor quando se prime o boto vermelho.
Boto verde
SET 10.0
Boto vermelho
RSET 10.0

Assim quando se pressiona o boto verde, este vale o estado lgico ON, pelo que o
motor inicia o seu funcionamento; quando se pressiona o boto vermelho, a instruo
RSET executada, parando de imediato o motor.
2.3.10

DIFFERENTIATE UP, DIFFERENTIATE DOWN

As instrues DIFU e DIFD so utilizadas para forar um bit a ON durante apenas um


ciclo de funcionamento. Sempre que executado, DIFU compara a condio corrente
com a condio anterior. Se a condio anterior era OFF e a condio corrente ON,
ento DIFU tornar o bit a ON. Se a condio anterior ON e a condio corrente ON
ou OFF, ento DIFU tornar o bit a OFF ou manter o bit a OFF (com esta instruo o
bit apenas se manter em ON durante um ciclo).
Quando executada, DIFD compara a execuo corrente com a condio anterior. Se
a condio anterior era ON e a condio corrente OFF, a instruo DIFD tornar o bit
a ON. Se a condio anterior OFF e a corrente ON ou OFF, DIFD tornar o bit a OFF
ou manter o bit a OFF.
1.0
DIFU 10.0
1.1
DIFD 10.1

2.3.11

Instrues de Bifurcao

Quando uma linha de instruo se divide em mais do que 2 linhas, necessrio usar
bits temporais para armazenar o resultado da condio na bifurcao.
0.0

Automao Industrial

TR 0
0.1

10.0

0.2

10.1

30

necessrio no ponto de bifurcao colocar um bit TR, de modo a manter


temporariamente o resultado da ltima condio, e assim ser utilizada
posteriormente.
LD
OUT
AND
OUT
LD
AND
OUT
2.3.12

0.0
TR 0
0.1
10.0
TR 0
0.2
10.1

KEEP

A instruo KEEP usada para manter o estado do bit, baseado em duas condies.
Para tal, a instruo conectada a duas linhas de instruo. Quando a condio da
primeira linha ON, o bit operando torna-se igual a ON. Quando a condio da
segunda linha ON, o bit operando da instruo KEEP torna-se OFF.
O bit operando para a instruo KEEP manter o seu estado (ON ou OFF) mesmo
quando colocado numa seco diferente do diagrama.
0.2

0.3
KEEP (11
HR 0000

0.4
0.5

Exemplo de aplicao (1)


Pretende-se elaborar um sistema de controlo para o comando de um motor e de
uma bomba, que apresenta as seguintes caractersticas:
Aps ser premido o boto de arranque, a bomba ligada;
O funcionamento efectivo da bomba detectado pelo medidor de caudal. O
motor ligado depois de detectada a entrada em funcionamento da bomba;
A actuao do boto de paragem provoca o desligar da bomba e do motor.
Implementao do sistema de controlo pode recorrer lgica digital.
arranque
paragem

caudal

bomba ON

motor ON

Automao Industrial

31

No entanto, para a implementao em autmato programvel, necessrio


efectuar a atribuio de endereos:
IR 00.00
arranque
IR 00.01
paragem
IR 00.02
caudal
IR 10.00
motor ON
IR 10.01
bomba ON
A representao da evoluo temporal das vrias variveis em jogo, ajuda a
apreender o problema e a conceber uma soluo. Para este caso, a evoluo temporal
est ilustrada na figura que se segue.
Arranque

Paragem
Caudal

Bomba ON
Motor ON

A implementao da soluo, utilizando as instrues SET e RESET est


representada na figura que se segue.
Arranque

Paragem
SET Bomba ON

Bomba ON

Caudal
SET Motor

Paragem
RSET Bomba ON
Paragem
RSET Motor

No entanto, possvel implementar a mesma soluo utilizando a instruo KEEP.


Arranque

Paragem

Bomba ON
Paragem

Automao Industrial

KEEP (11
Bomba ON

Caudal
KEEP (11
Motor ON

32

Nesta ltima soluo, a entrada Arranque coloca a Bomba em funcionamento


enquanto a activao do boto Paragem desliga a Bomba. Para que o Motor funcione
necessrio que a Bomba esteja em funcionamento e que j exista Caudal a alimentar
o Motor.
Exemplo de aplicao (2)
Pretende-se realizar o controlo de uma electrovlvula, com as seguintes
caractersticas:
possibilidade de trs aces de comando: abrir, fechar e parar;
uma sada do autmato comanda a abertura da vlvula e outra o seu fecho.
Estas duas sadas no podem tomar em simultneo o valor lgico 1;
quando a vlvula atinge uma das posies extremas (totalmente aberta ou
fechada), a respectiva sada do PLC desactivada;
a vlvula pode ser comandada em modo manual e automtico;
em modo manual as ordens so iniciadas a partir de 3 botes de presso:
abrir, fechar e parar;
em modo automtico, a vlvula comandada por trs flags geradas por outro
mdulo do programa;
est previsto um sinal exterior de inibio, que quando est activo, inibe as
duas sadas de comando da vlvula.
O primeiro passo na elaborao do programa a atribuio de endereos s
variveis que iro ser utilizadas no programa:
IR 00.00 a IR 00.02
IR 00.03 a IR 00.04
IR 00.05
IR 10.00 a IR 10.01
IR 200.00 a IR 200.01
IR 00.06

- abrir, fechar e parar


- aberto e fechado
- inibio
- act_abrir e act_fechar
- flag_abrir e flag_fechar
- manual (1- manual e 0 - automtico)

O programa que solucione este problema est ilustrado na figura que se segue.

Automao Industrial

33

ent_abrir

modo

aberto

inibio
SET abrir

flag_abrir

modo

ent_fechar

modo

fechado

inibio
SET fechar

fechado

modo

ent_parar

modo

flag_parar

modo

RSET abrir
RSET fecha

inibio
RSET abrir
RSET fechar
aberto

abrir
RSET abrir

fechado

fechar
RSET fechar

2.4 TEMPORIZADORES
Os temporizadores so utilizados sempre que se pretenda realizar uma determinada
aco ao fim de um determinado perodo de tempo ou durante um perodo de tempo.
No autmato CPM1 da Omron, os temporizadores esto disponveis atravs dos
endereos TC 000 a TC 127.
Condio A

em que N o numero do temporizador e VT


contm o valor do tempo que se pretende
contar.

TIM
N
VT

O temporizador activado quando a condio de execuo vai a ON e desactivado


quando a condio de execuo vai a OFF. Se quando VT tiver sido esgotado e a
condio A for ON, ento o temporizador vir a ON.
Condio
A
Temporizador
TIM N
VT

< VT

VT

Figura 5.7 - Evoluo temporal de um temporizador


As unidades de medida nesta instruo de temporizao so as dcimas de segundo
(0,1 segundo).

Automao Industrial

34

Exemplo de aplicao
O elevador representado na figura desloca-se entre dois pisos. O seu movimento
comandado (subir, descer e parar) a partir dos comandos dados pelos operadores
(botes de chamada bot_ch1 e bot_ch2) e das informaes provenientes dos
detectores de fim de curso (piso1 e piso2).
bot_ch2
piso2

piso1

bot_ch1

Figura 5.8 - Elevador entre dois pisos


A atribuio de endereos a seguinte:
IR 00.00
IR 00.01
IR 00.02
IR 00.03
IR 10.00
IR 10.01

bot_ch1
bot_ch2
piso1
piso2
motor_up
motor_down

O programa que controle o movimento do elevador entre os dois pisos o seguinte.


bot_ch2

piso1
SET motor_up

bot_ch1

piso2
SET
motor_down

piso2
RSET motor_u
piso1
RSET
motor_down

Adicionalmente, pretende-se controlar a porta do elevador. Esta dever abrir 5


segundos aps ter chegado ao piso desejado. Sempre que o elevador seja requisitado,
a porta dever ser fechada.
A nova atribuio de endereos como se representa:
IR 00.04
IR 00.01

Automao Industrial

porta_aberta
porta_fechada

35

IR 10.02
IR 10.03

abre_porta
fecha_porta

O novo programa em diagrama de contactos est ilustrado na figura que se segue.


bot_ch2

piso1
SET motor_u
SET
fecha_porta

bot_ch1

piso2
SET
motor_down
SET
fecha_porta

piso2

motor_up
RSET motor_

piso1

motor_down
RSET
motor_down

piso1
TIM
000
#50

piso2

TIM 000

porta_aberta
SET abre_por

porta_aberta
RSET
abre_porta

NOTA: Pensar em melhorar o sistema incorporando a possibilidade de no interior do


elevador se poder fechar a porta e ir para um outro piso. Adicionalmente, pensar no
caso de existirem mais do que dois andares?
2.4.1 Temporizador ao Impulso
Neste tipo de configurao, pretende-se que a sada esteja activa durante o perodo
de tempo especificado no temporizador.
0.0
TIM
16
#20
10.2

TIM 16

10.2

Para o caso da figura anterior, a sada 10.2 estar ON apenas durante o tempo
especificado, neste caso 2 segundos.

Automao Industrial

36

2.4.2 Temporizador aps a operao


Pretende-se com esta configurao que a sada esteja activa apenas durante um
determinado perodo de tempo, especificado no temporizador, aps a entrada de
controlo tenha deixado de estar activa. Um exemplo da necessidade deste tipo de
configurao do temporizador caso do controlo de uma luz de um parque automvel
subterrneo. Neste caso, pretende-se que a luz que ilumina o parque, apenas esteja
acesa 30 segundos aps o carro ter entrado no parque.
10.0

0.0
TIM
10
#50

0.0

TIM 10

10.0
10.0

Neste caso, a sada 10.0 ficar no estado OFF aps 5 segundos a condio de
execuo ter ficado OFF. Na figura que se segue, possvel verificar a evoluo
temporal da entrada e da sada e concluir que a sada 10.0 apenas permanece em ON
5 segundos aps a entrada ter passado a OFF.
0.0

10.0
5 seg.

Exemplo de aplicao
Uma lmpada de sinalizao deve permanecer a piscar, com perodo de 20
segundos, durante todo o tempo em que um carro se movimenta. O carro
comandado a partir de um boto premido continuadamente durante todo o
movimento.
A atribuio de endereos a seguinte:
IR 00.00
IR 10.08
TIM 000 e 001

carro
lmpada
temporizadores para a onda quadrada

A representao dos estados que os temporizadores para formar a onda quadrada


devero tomar est ilustrada na figura que se segue.

Automao Industrial

37

TIM 000

TIM 001

Na figura que se segue, encontra-se representado o programa que implementa a


onda quadrada.
TIM 001
TIM
000
#100
TIM 000
TIM
001
#100
TIM 000

carro
lampada

2.4.3 Temporizador de alta velocidade


Este temporizador, designado por TIMH, semelhante ao TIM, exceptuando o facto
daquele ter como unidades de medida as centsimas de segundo (0,01 s).
0.0
TIM H
000
#150
TIM 000
10.0

Na figura anterior, a sada 10.0 estar a ON aps 1,5 segundos a entrada 0.0 ter
passado a ON.
2.5 CONTADORES
Os contadores so utilizados para contar o nmero de eventos associados a uma
determinada condio.
2.5.1 CNT
A instruo CNT usada para contar de forma decrescente desde um valor prdefinido (VC), quando a condio de execuo em CP passa de OFF para ON, isto , o
valor corrente (PV) ser decrementado de 1 unidade sempre que CNT executado,
com CP=ON, e que a condio de execuo tenha sido OFF na ltima execuo.

Automao Industrial

38

CP

em que N o numero do contador e VC o valor


inicial do contador.

CNT
N
VC

O contador desactivado com a entrada de reset R. Quando R passa de OFF para


ON, o valor actual passa a valer VC. O valor presente nunca decrementado quando R
ON.
255.02

0.0

CP
0.1
R

CNT
001
#700

CNT 001
10.0

O contador 001 conta o nmero de vezes que o clock (SR 25502) vai de OFF a ON. A
entrada 0.0 utilizada para controlar o tempo quando o contador est em operao
(1seg x 700 =11 minutos e 40 segundos).
2.5.2 Contador reversvel CNTR
O contador reversvel, designado por CNTR, permite contar de forma crescente ou
decrescente, isto , utilizado para contar entre 0 e VC de acordo com duas
condies de execuo, na entrada incremental (EI) e na entrada decremental (ED).
O valor corrente ser incrementado de uma unidade quando a condio de
execuo para EI ON e a ltima condio de execuo OFF.
EI
CNTR
ED
N
VC

Se simultaneamente as entradas EI e ED passarem a ON, o valor corrente no se


alterar. O contador desactivado atravs da entrada R. Quando chegar a zero, o
contador fica a ON.
Este tipo de contador circular, pois se o valor actual do contador coincidir com o
valor pr-definido do contador, e se a entrada EI passar a ON, ento o prximo valor
do contador passar a ser 0.

Automao Industrial

...

VC

39

2.5.3 Exemplo de aplicao

Contentor

Considere um posto de embalamento de produtos. Os produtos chegam ao posto


atravs de um tapete rolante.

Figura 5.9 - Sistema de embalamento com peas semelhantes


Existe um sensor no referido posto, que permite a deteco dos produtos. Sempre
que existam 100 produtos no contentor deve ser colocado um novo contentor
utilizando um actuador pneumtico.
Atribuio de endereos:
IR 00.00
IR 10.00
TC 120

detector
actuador
contador

O diagrama de contactos para este problema o representado de seguida.


detector
CP
CNT 120

CNT
120
#100

CNT 120
DIFU actuad

Pretende-se efectuar algumas melhorias no sistema:


se uma pea estiver mais de 5 segundos em frente ao posto, ento gera
alarme;
quando chega a 100, o tapete deve parar, para dar tempo mudana de
contentor;
aps 10 segundos, o tapete deve voltar a funcionar;
possibilidade de detectar dois tipos de peas A e B (contentor A - 100 peas
e contentor B - 50 peas), tal como se mostra na prxima figura.

Automao Industrial

40

Actuador
pneumtico

Figura 5.10 - Seleco de diferentes tipos de peas


2.6 INSTRUES DE MANIPULAO DE DADOS
A soluo de determinados problemas requer a necessidade de manipular no
apenas um bit mas sim um conjunto de bits agrupados numa palavra (word),
constituda por dois bytes, ou seja 16 bits.
2.6.1 MOVE
Esta instruo permite copiar o contedo de uma palavra origem para uma palavra
destino, sempre que a condio de execuo for verdadeira.
em que S a palavra origem, que pode
pertencer s reas IR, SR, AR, DM, HR,
TC, LR ou ser um valor numrico, e D a
palavra destino, que pode pertencer s
reas IR, SR, AR, DM, HR e LR.

MOV
S
D

preciso ter em ateno que os DM 6144 a DM6655 no podero ser utilizados para
a palavra destino, pois pertencem a uma rea de memria reservada apenas a leitura.
Palavra Origem

MOV

Palavra Destino

...

...

O estado dos bits da palavra origem preservado durante a realizao da instruo


MOV.
0.0
MOV
001
HR 05

Neste caso, quando a entrada 0.0 estiver em ON, o contedo de IR 001 copiado
para HR05. Por exemplo se IR 001 contiver o valor 01101011111, ento HR05 passar a
conter esse valor.

Automao Industrial

41

IR 000 :

0110

1011

HR 05 :

0110

1011

111
...

111
...

2.6.2 MOVE NOT


Esta instruo semelhante ao MOV, com a diferena de quando a condio de
execuo for verdadeira, copiado para a palavra destino o contedo invertido da
palavra origem. Se a palavra origem for um valor numrico, ento dever estar no
formato hexadecimal.
0.0
MVN
#F8C5
DM 0010

Uma vez que # F8C5 em hexadecimal semelhante a 111 1000 1100 0101 em
binrio, ento o valor que ser transferido para o DM 0010 ser 0000 0111 0011 1010,
que o complementar de #F8C5.
2.6.3 Instrues Diferenciais
Algumas instrues permitem tanto a forma no diferencial como a diferencial. As
instrues so distinguidas atravs da colocao do smbolo @ imediatamente antes da
mnemnica da instruo. Uma instruo no diferencial executada sempre que a
condio de execuo ON.
Uma instruo diferencial executada apenas aps a condio de execuo passar
de OFF a ON. Se a condio de execuo no se alterou ou se mudou de ON para OFF,
a instruo no ser executada.
0.0

0.0
MOV
HR 10
DM 0000

Diagrama A

@MOV
HR 10
DM 0000
Diagrama B

No diagrama A, que apresenta a instruo MOV no diferencial, o contedo de HR10


copiado para DM 0000 sempre que o programa execute a linha de instruo. Se o
tempo de ciclo 80 ms e 0.0 permanece em ON por 2,0 segundos ento a operao
MOV executada 25 vezes, sendo apenas preservado o ltimo valor que copiado
para DM 0000.
No diagrama B, a instruo diferencial @MOV move o contedo de HR 10 para DM
0000 apenas quando 00.00 passa a ON. Mesmo que 00.00 se mantenha em ON durante

Automao Industrial

42

2 segundos com o mesmo tempo de ciclo (80 ms), a instruo s ser executada uma
vez, aquando do primeiro ciclo, no qual 00.00 passa de OFF para ON.
2.6.4 Endereamento Indirecto
Quando a rea DM especificada para um operando, um endereo indirecto poder
ser utilizado, vulgarmente designado por apontador. Um apontador diferencia-se de
um endereo normal por ter um asterisco antes do prefixo DM: *DM XXXX.
Quando se utilizam apontadores, o DM especificado conter o endereo da palavra
DM que contm a informao que ser usada como operando da instruo.

MOV
*DM 0001
LR 00

DM 0000

4C59

DM 0001

1111

DM 0002

F35A

indica DM 1111

...
DM 1111

5555

DM 1112

2506

DM 1113

D541

o valor 5555
copiado para LR00

Figura 5.11 - Utilizao de apontadores no endereamento de memria


No exemplo anterior, *DM 0001 utilizado como 1 operando da instruo MOV,
sendo o seu contedo o apontador para a posio de memria DM 1111, cujo contedo
ser copiado para o segundo operando, neste caso, o LR 00.
Importante: Quando se trabalha com endereos indirectos, o contedo do DM que
ir especificar a palavra que contm a informao, dever estar em formato BCD e
compreendido entre 0000 e 1999.
2.7 INTERRUPES
Uma interrupo um tipo de entrada especial que permite o tratamento imediato
do acontecimento, deixando por instantes de executar o programa principal. Aps ter
sido tratada a interrupo, o ciclo de execuo volta ao programa principal. O
autmato programvel CPM1 possui trs tipos de interrupes, descritas de seguida:
Entradas de interrupo - o processamento da interrupo executada
quando uma das entradas de interrupo passa a ON a partir de uma fonte
externa.
Interrupes temporizadas - o processamento da interrupo executado a
partir de um temporizador com preciso de 0,1 ms.
Interrupes de contadores - o processamento da interrupo executado
quando o contador atinge o valor especificado no contador.

Automao Industrial

43

As entradas de interrupo tem prioridade sobre os outros dois tipos de


interrupo. Quando 2 entradas de igual prioridade so actuadas simultaneamente,
executada a entrada de interrupo 0, no que se segue a entrada de interrupo 1,
etc.
O CPM1 possui as entradas 0003 a 0006 como entradas de interrupo, que podem
ser definidas como entradas de interrupo utilizando o DM 6628.
Bit 15

Palavra

Valores

DM 6628

0 : entrada normal
1: entrada interrupo
2: entrada de resposta rpida

DM 6628

Bit 0

0006
0005
0004
0003

Figura 5.12 - Configurao das interrupes


As interrupes das entradas 00.03 a 00.06 so alocadas s interrupes 00 a 003 e
s subrotinas 000 a 003. Se as entradas de interrupo no estiverem a ser utilizadas,
as subrotinas de interrupo 000 a 0003 podem ser utilizadas como subrotinas
normais.
Quando uma entrada de interrupo recebida, o programa principal
interrompido e o programa de interrupo executado imediatamente. O sinal de
interrupo dever estar a ON durante pelo menos 200 s, de forma a ser detectado.
Programa
Principal

Programa
Principal
Programa de Interrupo

Entrada de
interrupo

Figura 5.12 - Funcionamento de uma interrupo


Para activar as entradas de interrupo necessrio utilizar a instruo INT.
INT
CC
000
D

em que CC o cdigo de controlo e D so


os dados de controlo.

Se pretendermos configurar as entradas que se pretendem que sejam interrupes,


deveremos utilizar o valor 000 no parmetro CC (permite colocar uma mscara nas
entradas de interrupo). No parmetro D dever ser colocado o valor que
corresponda activao das entradas de interrupo; por exemplo, se pretendermos
configurar a entrada 0.4 como entrada de interrupo, devemos colocar o valor #D (1
1 0 1).

Automao Industrial

44

Exemplo de aplicao
Vamos considerar o diagrama que se segue, em que se representa a activao de
uma interrupo a partir da entrada 0.3.
0.3
INT
000
000
#000E

.
.
.

SBN 000
Programa de
interrupo
RET

Quando a entrada 00.03 (interrupo numero 0) vai a ON, o controlo passa


imediatamente para o programa de interrupo com a subrotina 000. As entradas de
interrupo foram configuradas no DM 6628 com o valor 0001.
0.
6
1

0.
5
1

0.
4
1

0.
3
0

O valor #E colocado na instruo INT, permite o enable da interrupo da entrada


0.3.
2.8 SUBROTINAS
As subrotinas permitem dividir as tarefas complexas de controlo em pequenos
mdulos. Quando o programa principal invoca a subrotina, o controlo transferido
para a subrotina, sendo as instrues da subrotina executadas. Quando todas as
instrues da subrotina estiverem concludas o controlo regressa ao programa
principal.
SBS N

em que N o numero da subrotina.

Na figura que se segue possvel verificar que a instruo SBS 000 permite realizar
um salto no programa principal para a subrotina 0, representada pela instruo SBN
00.

Automao Industrial

45

Programa Principal

SBS 00

Programa Principal

SBN 00

Subrotina

RET
END

Figura 5.13 - Principio de funcionamento das subrotinas


O final da subrotina representado pela instruo RET, que retorna a execuo do
programa para a instruo seguinte a da chamada da subrotina.

Automao Industrial

46

3 MODELAO DE SISTEMAS COMPLEXOS CONDUZIDOS POR EVENTOS


3.1 INTRODUO AO GRAFCET
O GRAFCET (Graphe de Commande Etape-Transition) foi estabelecido em 1977 pela
Association Franaise pour la Cyberntique Economique et Technique, e uma linguagem
grfica utilizada para representar o algoritmo de controlo, com respeito s suas interaces
com o mundo exterior. A linguagem GRAFCET fornece aos utilizadores a possibilidade de
implementar projectos de automao simples ou complexos, com eficincia e baixo custo. De
uma forma simples, o GRAFCET consiste em:

Dois elementos grficos: ETAPAS e TRANSIES.


Dois elementos de controlo: ACES para as Etapas e Receptividades para as
transies.
Uma etapa ligada sempre a uma transio e uma transio sempre ligada a uma
etapa, atravs de ligaes orientadas.
Ligao

Etapa Inicial
1

Etapa

SOBE_BROCA SE /BROCA_UP

INICIO.BROCA_UP

t1

t2

LIGA_BROCA;
BAIXA_BROCA SE T/X2/3s/
BROCA_BAIXO

Aco

Transio
3

t3

LIGA_BROCA;
SOBE_BROCA
BROCA_UP

Receptividade

Figura 6.1- Exemplo de um Grafcet


A utilizao da ferramenta Grafcet oferece algumas vantagens, das quais se
destacam as seguintes:
Suportado por um Standard - suportado pelo standard IEC 848 da International
Electrotechnical Commission, representativo de todas as empresas que suportam
o Grafcet de modo a manter a sua integridade e universalidade.
Grfico Orientado ao Processo - desenvolvido para aplicaes de processo, o
Grafcet possui caractersticas que no so suportadas pelas outras ferramentas
similares, tais como processamento paralelo.

Automao Industrial

47

Desenvolvimento independente do autmato programvel - o trabalho de


especificao realizado com o Grafcet completamente independente do tipo
de autmato programvel que ser utilizado na aplicao de automao.
Tarefa de concepo facilitada - o formato grfico torna mais fcil a tarefa de
identificao de erros de concepo. Mais importante, o Grafcet diminui o custo
dos erros de interpretao, quer sejam originrios de construtores, fornecedores
ou equipas de concepo.
Reduo do tempo de desenvolvimento de aplicaes - o Grafcet o
desenvolvimento de um mtodo para a implementao de cdigo para autmatos
programveis. Actualmente, o GRAFCET a linguagem mais produtiva e flexvel
desenvolvida para automao de processos.

3.2 ESPECIFICAO FUNCIONAL E TECNOLGICA


A especificao de automatismos industriais requer a considerao dos seguintes
pontos: funcional e tecnolgico [Novais, 94].
3.2.1 Especificao Funcional
A especificao funcional engloba as seguintes caractersticas:
Descreve as interaces entre as partes de Comando e Operativa.
Define as funes, informaes e comandos implicados no automatismo.
independente das opes tecnolgicas.
3.2.2 Especificao Tecnolgica
A especificao tecnolgica engloba as seguintes caractersticas:
Descreve fisicamente as trocas de informao entre as partes operativas e de
comando.
Define os meios de comunicao entre o operador e o automatismo.

3.3 CONCEITOS BSICOS DO GRAFCET


3.3.1 Etapas
O princpio fundamental do Grafcet a reduo do processo de controlo a etapas
simples.
Uma etapa corresponde a uma situao do sistema, ou de parte dele, em que o
comportamento permanece invariante. A etapa representada por um quadrado com

Automao Industrial

48

um nmero no interior. A entrada efectuada na parte superior do quadrado e a sada


na parte inferior.

LIGA_BROCA;
BAIXA_BROCA SE T/X2/3s/

Figura 6.2 - Etapa e Aco


Uma etapa est activa ou inactiva. Uma etapa activa assinalada com um ponto (.)
na parte inferior do seu smbolo.
2

LIGA_BROCA; SOBE_BROCA

Figura 6.3 - Etapa activa ou validada


O estado actual do sistema caracterizado pelo conjunto das etapas activas.
A cada etapa esto associadas aces. As aces so executadas enquanto a etapa
est activa, e controlam as sadas que tem por objectivo a execuo de diversas
funes.
Quando uma etapa est activa, so executadas as aces associadas etapa. As
vrias aces esto separadas pelo smbolo ; ou ento por um trao horizontal.
3.3.2 Transies
As etapas do grfico so separadas por transies. As transies representam a
possibilidade de evoluo entre etapas.
1

INICIO.BROCA_UP

Figura 6.4 - Transio e Receptividade


A cada transio est associada uma condio lgica denominada por
receptividade.
A evoluo no GRAFCET requer que a etapa esteja activa e a receptividade
associada transio seja 1.
A utilizao de operadores lgicos AND e OR representa-se na receptividade pelo
uso dos smbolos e +. Assim, a condio lgica verdadeira se INICIO e
BROCA_UP so condies verdadeiras.
3.4 PRINCPIO DE FUNCIONAMENTO
Na definio do Grafcet existem vrias regras que governam o seu comportamento,
e que sero descritas de seguida.

Automao Industrial

49

3.4.1 Inicializao
As etapas activas aps a inicializao so assinaladas duplicando o contorno dos
respectivos smbolos.
SOBE_BROCA SE /BROCA_UP

Figura 6.5 - Etapa Inicial


Neste caso, a aco da etapa 1 contm apenas um elemento de controlo: furao.
3.4.2 Validao
Uma transio est validada ou no validada. Est validada se todas as etapas de
entrada estiverem activas.
3.4.3 Disparo de uma transio
Uma transio disparada se estiver validada (a etapa anterior est activada) e a
receptividade tomar o valor 1. O disparo de uma transio provoca a activao das
etapas de sada e a desactivao das etapas de entrada.
2

LIGA_BROCA;
BAIXA_BROCA SE T/X2/3s/
BROCA_BAIXO

2
3

BROCA_BAIXO

LIGA_BROCA;
SOBE_BROCA

LIGA_BROCA;
BAIXA_BROCA SE T/X2/3s/

Etapa 2 activa

LIGA_BROCA;
SOBE_BROCA

Etapa 2 activa
Transio 2 disparada

LIGA_BROCA;
BAIXA_BROCA SE T/X2/3s/

BROCA_BAIXO

LIGA_BROCA;
SOBE_BROCA

Etapa 2 desactivada
Etapa 3 activada

Figura 6.6 - Disparo de uma Transio


Exemplo: Prensa de compresso
A prensa de compresso consiste num puno inferior (fixo) e num puno superior
e matriz (mveis). Existem adicionalmente dispositivos de colocao de material e
Automao Industrial

50

evacuao da pea. O princpio de funcionamento pode-se resumir aos seguintes


pontos:
com o puno superior e a matriz nas suas posies altas colocada a matria
prima na matriz;
o puno superior desce comprimindo a matria prima aps o que regressa
posio inicial;
a matriz desce permitindo retirar a pea;
a matriz regressa posio inicial, podendo ser iniciado um novo ciclo.

Colocao do material
material colocado e arranque do ciclo

Descida do puno superior


fim da compresso

Subida do puno superior

matriz em
posio alta
puno superior
4

Descida da matriz
matriz em posio baixa

Evacuao da pea
evacuao terminada

Subida da matriz

Aps a realizao desta especificao funcional, colocam-se as seguintes questes:


1. Como colocado o material?
O material dever ser colocado manualmente pelo operador. O sinalizador
luminoso V permanece aceso durante o tempo de colocao. O operador inicia o
ciclo premindo o boto d.
2. Como so accionados o puno e a matriz?
Accionamento por mbolos hidrulicos de duplo efeito.
3. Como so detectadas as posies extremas dos movimentos?
As posies alta e baixa so detectadas pelos interruptores de fim de curso a1,
a0, b1 e b0.

Automao Industrial

51

4. Como retirada a pea?


A pea retirada atravs de um jacto de ar, comandado pela electrovlvula E,
com uma durao de 1 segundo.
As novas especificaes provocam o aparecimento de novas entradas, sadas e
temporizaes, originando um novo grafcet.
Sadas:

Entradas:
d : autorizao de arranque de ciclo
a1 : posio baixa do puno
a0 : posio alta do puno
b0 : posio baixa da matriz
b1 : posio alta da matriz

V: sinalizao luminosa
a+ : descida do puno
a- : subida do puno
b+ : subida da matriz
b- : descida da matriz
E : evacuao

Temporizadores:
LT1 : ligar a temporizao de evacuao
fT1 : fim da temporizao de evacuao

1
d

a+

2
a1

a-

3
b1

a0
b-

4
b0
5

E ; LT1
ft1

b+

Exemplo: Transporte e descarga de peas


Consideremos o seguinte sistema, constitudo por um carro, C, que tem por
objectivo o transporte de peas entre os postos A e B, nos sentidos direito (direito) e
esquerdo (esquerdo). Em repouso, o carro encontra-se no posto A. Nesta posio, aps
receber ordem do operador, o carro transporta uma pea at ao posto B, regressando
de seguida ao posto A.
A presena do carro nos postos A e B sinalizada. As peas depositadas no posto B
so retiradas, duas de cada vez, atravs de um alapo, que se abre durante 20
segundos.
Qualquer avaria no funcionamento do alapo sinalizada. Esta sinalizao
mantm-se at ao operador a reconhecer.
Automao Industrial

52

Posto A

Posto B

Aps ter sido realizada a especificao funcional do sistema, necessrio elaborar


a sua especificao tecnolgica:
a presena do carro nas posies A e B detectada, respectivamente, pelos
interruptores fim de curso a e b;
a presena do carro na posio de repouso sinalizada atravs da lmpada V;
o inicio do movimento comandado pelo operador atravs do boto m. Se aps
ter terminado o movimento, o boto continuar premido, no se iniciar novo
movimento;
a abertura do alapo accionada por um mbolo com mola de chamada (AA);
o contacto t0 assinala o alapo aberto;
o alarme correspondente avaria no alapo transmitido pela sirene S;
o arranque aps avaria comandado atravs do boto r;
o accionamento do carro realizado por um motor elctrico com 2 sentidos de
marcha (D e E). O motor protegido por um dispositivo, que quando activo
implica a paragem momentnea do motor. Esta situao sinalizada pela
lmpada L.
3.5 REPRESENTAO DE SEQUNCIAS SIMULTNEAS E ALTERNATIVAS
3.5.1 Sequncias Simultneas - Paralelismo Estrutural (N AND)
O incio e o termo de sequncias simultneas so representados no Grafcet tal
como se ilustra de seguida.
2

t1

Figura 6.7 - Sequncia Simultnea

Automao Industrial

53

O disparo da transio t1 s realizado quando as etapas 1,2 e 3 estiverem activas


e a condio t1 seja verdadeira. Nesse caso, as etapas de entrada so desactivadas e
as de sadas so activadas.
Considere a seguinte unidade de furao e roscagem:

Posto 3:
Roscagem

Posto 2:
Furao

Posto 1:
Evacuao e
carga das peas

Figura 6.8 - Unidade de Furao e Roscagem


O programa em Grafcet para esta aplicao ser o que se mostra de seguida,
existindo a trs sequncias simultneas (roscagem, furao e evacuao) que
requerem a existncia de uma condio AND.

rotao de 1/3

fim de rotao

11

evacuao da
pea

carregamento
da pea

descida trabalho;
broca

22

subida rpida;
broca

23

32

roscagem
b0
posio baixa

33

recuo
fim recuo

posio alta
34

24

descida rpida
posio de trabalho

posio baixa

pea colocada
13

31

posio de trabalho

pea evacuada
12

descida rpida

21

subida rpida
posio alta

35

3.5.2 Sequncias Alternativas - Paralelismo Interpretado (N OR)


O incio e o termo de sequncias alternativas representado por:

Automao Industrial

54

ti1

ti2

tin

to2

tom

to1

Figura 6.9 - Sequncias Alternativas


Para uma dada estrutura do grfico, o paralelismo (execuo simultnea de
operaes) depende do resultado lgico das receptividades envolvidas:
incompatveis - num dado instante apenas uma receptividade pode tomar o
valor verdadeiro: evoluo exclusiva;
idnticas - sempre verdadeiras em simultneo: paralelismo estrutural;
compatveis - podem ser ou no, verdadeiras ou falsas em simultneo:
evoluo qualquer.
Estabelecimentos de
prioridades

Evoluo Exclusiva
1

a
2

/a . b
2

Figura 6.10 - Evoluo Exclusiva e Estabelecimento de Prioridades


Exemplo: Atendimento de vrios postos
Considere o seguinte exemplo, onde existe trs postos de atendimento para um
dado veiculo.

Posto 1

Posto 2

Posto 3

O grafcet que solucionar o problema o seguinte:

Automao Industrial

55

pedido do posto 1 e
carro em 2 ou 3

garra
aberta

21

fechar garras

11

transf. esquerda

22

chegada posto 1

chegada posto 2

transf. direita

23

chegada posto 2

fechar garras
garra fechada

carro em 1 AND
garra fechada

transf. esquerda

31

fechar garras

carro em 3 AND
garra fechada

garra fechada
12

pedido do posto 3 e
carro em 1 ou 2

pedido do posto 2 e
carro em 1 ou 3

32

transf. direita
chegada posto 3

abrir garras

3.6 CONCEITOS COMPLEMENTARES


3.6.1 Aco Condicional
A execuo de uma aco pode ser condicionada a uma condio lgica
estabelecida a partir de variveis de entrada e/ou actividade de outras etapas.

10

Sobe_broca SE /broca_up

Figura 6.11 - Evoluo Exclusiva


A aco Sobe_broca s ser realizada (estando a etapa 10 activa) se a condio
lgica broca_up for verdadeira, isto , a broca no estiver em cima.
3.6.2 Temporizao
O controlo de processos industriais requer a existncia de temporizaes para a
execuo de aces. Existem vrias implementaes possveis para as temporizaes.

5
T / X5 / 1min

Figura 6.12 - Transio Temporizada

Automao Industrial

56

No exemplo anterior a transio disparada 1 minuto depois da etapa 5 estar


activa. Nessa altura, a transio disparada e a etapa 5 desactivada.
Outra possvel implementao est ilustrada na figura que se segue.

Sobe_broca SE T / X2 / 3seg

Figura 6.13 - Evoluo Exclusiva


Neste caso, a aco Sobe_broca executada enquanto a etapa 2 estiver activa e o
temporizador estiver a 1, o que acontece 3 segundos aps a validao da etapa 2.
3.7 COOPERAO ENTRE PROCESSOS
3.7.1 Sincronizao
Existem situaes em que necessria a sincronizao entre vrios processos. O
conceito de sincronizao entre vrios processos significa ter um mecanismo que
assegure que a evoluo do grafcet s seja possvel quando todas as condies
necessrias para a sua evoluo estiverem reunidas.
Sincronizao pela estrutura do Grafcet
Considere o seguinte sistema, constitudo pelo carros C1 e C2.
a1

b1

a2
C2

C1

Posto A1

b2

Posto B1

Posto A2

Posto B2

Os carros C1 e C2 deslocam-se nos sentidos direito (D) e esquerdo (E), entre os


postos a1 e b1 para C1, e a2 e b2 para C2. Os dois carros efectuam o movimento a-b-a,
encontrando-se simultaneamente nas suas posies de repouso (postos a1 e a2) quando
o operador der ordem de partida (boto p).

Automao Industrial

57

p
2

Direita
b1

Direita
b2

Esquerda

Esquerda

a1

a2

Considere agora a seguinte alterao ao sistema: A chegada de C1 ao seu posto de


repouso a1, impe o regresso imediato de C2 ao posto a2 (se C2 ainda se estiver a
dirigir para b2). Esta condio adicional, requer a reformulao do grafcet anterior,
obtendo-se o seguinte grafcet.

p
2

Direita

b1

Esquerda

3
a1

Direita
b2

1
Esquerda

6
a2

de notar que a evoluo do grafcet condicionada pela actividade da etapa 1.


Vamos considerar uma nova alterao: C2 no pode iniciar o regresso ao seu posto
de repouso b2 antes de C1 atingir o posto b1.

Automao Industrial

58

p
Direita

2
b1

b2

Esquerda

Direita

a1
1
Esquerda

6
a2

A evoluo do grafcet condicionada pela no actividade da etapa 8.


Sincronizao pela interpretao do Grafcet
possvel implementar os grafcets elaborados no ponto anterior, utilizando a
interpretao do grafcet. A interpretao do grafcet consiste em utilizar o estado das
etapas como condies de disparo de uma transio. No exemplo anterior, apenas nos
dois ltimos casos, utilizado o estado de uma etapa para fazer dispara uma
transio.
No segundo dos grafcets, utilizado o estado da etapa 1 para fazer evoluir o gracet
da etapa 5 para a etapa 6. Utilizando a interpretao, possvel redesenhar o gracfet
e represent-lo da seguinte forma.
1

p
2

Direita

b1
3

b2 + X1
Esquerda

a1

Direita

Esquerda

6
a2

Na terceira verso do grafcet do ponto anterior, utilizado o estado da etapa 8


para fazer evoluir o grafcet da etapa 7 para a 6, e da 2 para a 3. O grafcet
equivalente, utilizando interpretao ser o seguinte.

Automao Industrial

59

p
2

Direita

b1
3

Direita
b2 . /X2

Esquerda
a1

Esquerda

6
a2

3.7.2 Partilha de Recursos


Existem situaes em que dois ou mais processos partilham o mesmo recurso.
Nestas situaes, necessrio criar uma etapa especial que represente a
disponibilidade do recurso a ser partilhado.
Exemplo: Partilha de um troo comum
Considere-se um sistema constitudo por dois carros C1 e C2, cujos postos de
repouso so a1 e a2, e que alimentam uma estao situada no posto b;

Posto A1

Carro 1

Posio de
espera 1

Posto B
Posto A2

Carro 2
Posio de
espera 2

O ciclo correspondente a cada carro o seguinte:


aps a ordem de partida, o carro dirige-se para o troo comum das vias;
quando atinge a respectiva posio de espera, o carro pra se o troo comum
estiver ocupado, ou prossegue em direco ao posto b se estiver livre;
aps atingir o posto b, o carro imobiliza-se durante 2 minutos, iniciando de
seguida o regresso ao posto de repouso.
O grafcet para o problema, utilizando a estrutura de grafcet o que se segue.

Automao Industrial

60

9
partida 1

partida 2

Avanar
espera 1

espera 2

11
/espera 1

1
12

Avanar

Avanar
posto B

posto B
13

t/X13/2 min

t/X6/2 min

Recuar

14

Recuar

espera 2

espera 1

Avanar

10

Recuar

15

Recuar

posto A2

posto A1

de realar que a etapa 1 sinaliza a disponibilidade do recurso (etapa activa


troo livre; etapa inactiva troo ocupado). Em caso de os carros chegarem
simultaneamente aos pontos de espera, o primeiro a passar o carro 1, devido a ter a
transio associada evoluo do grafcet sempre validada (1).
Atravs do mtodo da Interpretao do Grafcet possvel elaborar uma outra
soluo para o problema.
Carro 1

Carro 2

10

partida 2

partida 1
2

Avanar

11

espera 2

espera 1
12

/(X3+X4+X5+X6)

/(X13+X14+X15)
4

Avanar

13

14

t/X14/2 min

t/X5/2 min
Recuar

15

Recuar
posto a1

Recuar
espera 2

espera 1
7

Avanar
posto B

posto B

Avanar

16

Recuar
posto a2

A organizao hierrquica de Grafcets permite a simplificao do grafcet atravs da


desacoplao das vrias actividades associadas entre si.
Automao Industrial

61

10
partida 1
11

20

partida 2

X13 + X23

Avanar
espera 1

espera 2

X15 . espera1
+X25 . espera2

12

Avanar

21

22

X1
13

X1 . /X12

Avanar

Avanar

23

posto B

posto B

14

24
t/X14/2 min

15

t/X24/2 min

Recuar

Recuar

25
5

espera 1
16

espera 2

Recuar

Recuar

26

posto a1

posto a2

3.7.3 Subtarefas
Uma subtarefa pode ser definida como uma sequncia de operaes que podero
ser repetidas vrias vezes dentro de um grafcet. Sempre que se pretende executar o
conjunto de operaes constituintes da subtarefa, a evoluo do grafcet salta para a
subtarefa. No acesso a essa subtarefa poder existir situaes de conflito ou no,
dependendo do nmero de processos que a invocam.
Acesso sem Conflito
No acesso sem conflito a uma subtarefa, nunca existe a possibilidade de a mesma
subtarefa ser invocada simultaneamente por dois ou mais processos.
Estrutural

10
a

Interpretado

Chamada 1
Chamada 2

X11 + X22

SP1
X39

n
1

11

31

11

10

31

12

32

n
32

21
C

39

22

21

retorno 2

39

retorno 1
22

X12 + X23

SP1
X39

Processo
Principal

Sub-tarefa

Sub-tarefa
Processo
Principal

Figura 6.14 - Acesso sem conflito a uma subtarefa

Automao Industrial

62

Acesso com Conflito


No caso de existir a possibilidade de uma subtarefa ser chamada por mais do que
um processo simultaneamente, necessrio criar uma etapa auxiliar, cujo objectivo
gerir o acesso subtarefa.

13

25

31

14

26
n
1

32

15

27
39

Processo 1

Sub-tarefa

Processo 2

Figura 6.15 - Acesso com conflito a uma subtarefa


A etapa 0 regula o acesso de vrios processos a uma mesma subtarefa. Se essa
etapa estiver activa, ento o acesso subtarefa autorizado; por outro lado, se
estiver inactiva, o acesso subtarefa recusado.
Exemplo: Sistema de descarga comum
Consideremos o sistema que se representa de seguida.
RE
RD
SP
a1
DP

C1
FP
Posto A1

C2

AP

Posto B

Posto A2
Tapete de
Evacuao

Os carros C1 e C2 transportam peas entre os postos a1 e a2 e o posto b, partilhando


o mesmo sistema de descarga comum em b. O movimento dos carros o seguinte:
Automao Industrial

63

com os dois carros nos postos de repouso (a1 e a2), aps a ordem de partida (p), o
carro C1 desloca-se at b onde descarregado. Terminada a operao de descarga, C1
regressa ao posto a1. De seguida, o carro C2 desloca-se at ao posto b onde por sua
vez, descarregado aps o quer regressa ao posto a2.
O sistema de descarga constitudo por uma pina que pode subir (SP) e descer
(DP) entre as posies superior (superior) e inferior (inferior); rodar direita (RD) e
rodar esquerda (RE) entre as posies direita (direita) e esquerda (esquerda). O
fecho da pina (FP) comandado por um mbolo de efeito simples, sendo detectado
pelo contacto pf. O ciclo de operaes envolvido na descarga o seguinte:
inicialmente a pina est na posio superior direita e aberta;
aps ser solicitada a descarga de um carro, a pina desce, agarra o objecto,
sobe, roda esquerda e abre depositando o objecto no tapete de evacuao. De
seguida, regressa posio inicial.
de reparar que a descarga uma tarefa que comum, pelo que pode ser
considerada como uma subtarefa.
1
p
Direita C1

DP

10
b1

inferior
11

FP
pf

Esquerda
C1

superior
RD; FP

13

a1
Esquerda
C2

SP; FP

12

b2

direita
/FP

14
/pf
15

RE
esquerda

1
7

16
Direita C2

a2

NOTA: A etapa 3 simboliza a descarga do carro C1 e a etapa 6 a descarga do carro


C2.
Considere-se agora, que os carros C1 e C2 possuem sistemas de comando
autnomos, cada um com o seguinte ciclo de operaes:
aps a ordem de partida o carro desloca-se at ao posto b, onde aguarda
imobilizado at o sistema de descarga estar disponvel;

Automao Industrial

64

depois de terminada a descarga, o carro regressa ao seu posto de repouso.


O grafcet, considerando estas especificaes adicionais o que se representa de
seguida.
21

P2

p1
2

Direita C1

22

Esquerda C2
b1

b1
23

/X3

10

24

DP
inferior

1
Esquerda
C1

FP

11

pf
SP; FP

12

a1

superior
13

25

Direita C2
b2

RE; FP
esquerda

14
/pf
15

RD
direita

16

Neste caso, aplicou-se a etapa 0 para resolver o conflito de acesso subtarefa.


3.8 ANLISE E VALIDAO DE GRAFCET
Os objectivos da anlise e validao de Grafcet so:
Determinar o comportamento da parte de comando quando ligada parte
operativa: Fase de anlise das especificaes.
Estudar esse comportamento, tendo por objectivo detectar eventuais erros:
Fase de Validao das especificaes.
Pretende-se assegurar, ainda durante a fase de projecto, elevada probabilidade de
o automatismo estar isento de erros de concepo.

Automao Industrial

65

3.8.1 Introduo Anlise de Grafcet


A anlise de grafcet pode basear-se no grfico das situaes acessveis. Este grfico
descreve as situaes que podem ser alcanadas a partir da situao inicial.
A partir deste grfico possvel determinar as propriedades do grafcet. A evoluo
da situao do grafcet determinada pela sua estrutura e pela sua interpretao
(conjunto de receptividades). A interpretao do grafcet pode ser decomposta nas
interpretaes interna e externa.
A interpretao interna est associada ao estado das etapas e a externa a condies
exteriores.
3.8.2 Grafcet Autnomo
O grafcet autnomo obtido, considerando no grafcet original, apenas a
interpretao interna e atribuindo a todas as receptividades externas o valor (valor
indiferente).

b.c
2

/c . /X3
3

. /X3
3

/X1

Grafcet Original

/X1

Grafcet Autnomo

Figura 6.16 - Grafcet Autnomo


O grafcet autnomo constitui o ncleo do grafcet e independente do exterior do
circuito de comando. As propriedades prprias do circuito de comando podem ser
estudadas a partir do grfico das situaes acessveis do grafcet autnomo.
3.8.3 Grfico das situaes acessveis
O grfico das situaes acessveis obtido a partir da situao inicial explicitando
para cada transio todas as combinaes possveis de disparo das transies. s
variveis que substituem as receptividades externas so atribudos os valores 0 ou 1.
Consideremos o seguinte grafcet.

Automao Industrial

66

1
t1

D
t2

t3

t4

O grfico de situaes acessveis e que representa a evoluo da grafcet perante o


disparo das transies o que se segue.
1
t1
t2

3, 2
t2, t3

3 ,4
t3

t3
t2

t4
2, 5

4, 5

Alternativamente ao grfico, possvel utilizar uma tabela que represente a


evoluo do grafcet.
Situao
Actual
1
2,3

Transies
Sensibilizadas
t1
t2, t3

4, 3
2, 5
4, 5

t3
t2
t4

Transies
Disparadas
t1
t2
t3
t2, t3
t3
t2
t4

Situao
Seguinte
2,3
4, 3
2, 5
4, 5
4, 5
4, 5
1

3.8.4 Anlise de Grafcet


Atravs do grfico das situaes acessveis possvel detectar situaes de bloqueio
no grafcet elaborado para o automatismo.
Exemplo: Fabrico de Iogurtes
O leite e o fermento so preparados, em separado, nos aparelhos A1 e A2, antes de
serem misturados em A4. Em simultneo so produzidos dois boies em A3. De

Automao Industrial

67

seguida, os boies so enchidos em paralelo nos aparelhos A5 e A6, e colocados em


estufa.
O grafcet que soluciona este problema encontra-se representado na figura que se
segue.
1
arranque

t1

5
A1 pronto

t2
3

Preparar leite
leite pronto

t3

8
A2 pronto

t4

t5

Preparar fermento

A3 pronto

t7

fermento pronto
7

10
A4 pronto

t6
9
t8

t9

Produz boies
boies prontos

Mistura
13

mistura pronta

12

11

t10

t1

A5 pronto
14

Enche boies
boio cheio

t12

A6 pronto
16

boio cheio

t14

15

Enche boies

17

t15

estufa pronta
18

t16

Estufa
iogurte pronto

A anlise da evoluo do grafcet permite detectar o erro no grafcet.

t12

12, 15

evoluo
bloqueada

12, 14
t12

t10
11,12,13

t10, t11

14,16
t14

t11

15, 16
t12, t14
14, 17

t14
15, 17

t15

18

t16

t12

11, 16
t14

Automao Industrial

11, 17

evoluo
bloqueada

68

O erro consiste no facto da etapa 13 validar as transies t10 e t11. Estas transies
ocorrendo em momentos diferentes provocam o bloqueio do grafcet. A soluo
correcta consiste em validar t10 e t11 por duas etapas distintas (13 e 19).
t6

t7

A4 pronto
9

t8

Mistura

10
t9

mistura pronta

11

12

t10

A5 pronto

13

t11

A6 pronto
16

boio cheio
15

Produz boies
boies prontos

19

14
t12

A3 pronto

boio cheio

t14
17

Considere-se agora que a mistura de leite e fermento pode resultar imprpria para
consumo. Nesta situao a mistura rejeitada e o processo re-inicializado.

Automao Industrial

69

1
arranque

t1

5
A1 pronto

t2
3

Preparar leite
leite pronto

t3

8
A2 pronto

t4

t5

A3 pronto

t7

Preparar pronto
fermento pronto

10

Produz boies

A4 pronto

t6
t18

/boa
20

mistura
rejeitada

t17 t
8

t9

mistura pronta.boa
19

12

11

t10

13

t1

A5 pronto

14
boio cheio

t12

boies prontos

Mistura

A6 pronto
16
boio cheio

t14

15

17

t15

estufa pronta
18

t16

iogurte pronto

A partir da anlise da evoluo do grfico, verifica-se que o grafcet contm um


erro.
t2
t18
t17
4, 7, 13, 19

t6

1, 13, 19

t1

20, 13, 19

t4

2, 5, 8, 13, 19
t7

2, 5, 10, 13, 19

9, 13, 19

t9
Reactivao das
etapas 13 e 19

2, 5, 13, 19

O erro consiste em as etapas 13 e 19 serem reactivadas aps a rejeio da mistura.


Assim, so produzidos novos boies antes dos anteriores terem sido consumidos.
A soluo correcta consiste em reinicializar apenas o processo de fabrico do leite e
do fermento (etapas 2 e 5).

Automao Industrial

70

1
arranque

t1

5
A1 pronto

t2
3

mistura
rejeitada

Automao Industrial

Preparar pronto

t5

fermento pronto
7

A4 pronto

t6
t18

8
A2 pronto

Preparar leite
leite pronto

t3

t4

/boa

Mistura

20
t17

t8

mistura pronta

71

4 SENSORES
O controlo de processos industriais recorre cada vez mais utilizao de PC e PLCs. Os
PLCs so muito mais rpidos e precisos de que um operador na execuo de tarefas
montonas e repetitivas, razo pela qual se justifica a sua utilizao. No entanto, O PLC no
pode ver, ouvir, sentir e cheirar o que se passa durante o processo produtivo, pelo qual no
se apercebe do estado em que se encontram as grandezas envolvidas no controlo do
processo. Os sensores so utilizados para dar ao PLC as capacidades de sentir o que se passa
no processo que est a controlar.
Assim, os sensores tem por funo a aquisio do estado do mundo real, pelo que se pode
definir o sensor como um dispositivo que converte grandezas fsicas que se pretendem medir
em grandezas elctricas que podero ser processadas e transmitidas [Hauptmann, 91]. As
grandezas fsicas capazes de serem adquiridos por sensores ultrapassam as centenas,
existindo deste modo, uma vasta gama de diferentes tipos de sensores no mercado.

Grandeza
fsica

Sensor

Condicionamento

Autmato
Programvel

do sinal

Figura 8.1 - Cadeia de aquisio de uma grandeza


A aquisio de sinais pode ser decomposta em dois grandes blocos funcionais: o sensor e o
condicionamento de sinal. O sensor o elemento fundamental, pois converte a grandeza
fsica num grandeza elctrica. No entanto, a sada do sensor necessita de algum tratamento
antes de ser processada. Este tratamento do sinal realizado pelo bloco condicionador,

cujas funes se destacam, a amplificao, filtragem, linearizao, converso


analgico-digital, etc.
A ligao dos sensores pode ser realizada de duas formas distintas:
a dois fios, utilizando o mesmo fio para a alimentao e para o sinal;
a trs fios, utilizando um fio para a alimentao, outro para o sinal e o restante
para a massa.
Alimentao

Alim/Sinal

Sensor

Comum

PLC

Sensor

Sinal
Comum

PLC

Figura 4.2 - Ligao de um sensor


Os sensores podem ser classificados de acordo com o tipo de sinal que fornecem
sada, ou seja sensores digitais ou analgicos. Os sensores digitais so os de utilizao
mais fcil, pois apenas apresenta dois estados. Encontram neste grupo os sensores que
detectam a proximidade de objectos, a contagem de peas, a intruso de pessoas, o
controlo do nvel de lquidos, etc.

Automao Industrial

72

Os sensores analgicos fornecem na sada um sinal analgico, proporcional


grandeza fsica que esto a medir. So exemplos deste tipo de sensores, os sensores
de temperatura e de luminosidade,
Neste estudo apenas se vo referir os diferentes sensores digitais, vulgarmente
utilizados em aplicaes industriais, como sejam sensores para a medir a proximidade,
existncia de objectos, etc. De fora deste estudo ficam um vasto conjunto de
diferentes tipos de sensores, tais como, temperatura, presso, luminosidade, posio,
velocidade, etc.
4.1 SENSORES CAPACITIVOS
O elemento sensor constitudo por um condutor cilndrico e por uma bainha
exterior metlica. A capacidade assim formada alterada pela presena de um
objecto.

Ce

Cp(x)

C(x)

C1

~ es

C(x)

C1

R
Cp(x)

Figura 4.3 - Modelo de um sensor capacitivo


A deteco da presena do objecto baseada na medida da capacidade, por
exemplo atravs de uma ponte. Os sensores capacitivos so sensveis virtualmente a
qualquer material, como por exemplo madeira, vidro, gua, etc. As aplicaes tpicas
deste tipo de sensores so a deteco de objectos, controlo de nvel de lquidos,
posicionamento de objectos, deteco de fluxo, etc.

Mximo
Minim
o

Deteco/Contagem de
Objectos

Controlo de nvel

Deteco de fluxo

Figura 4.4 - Aplicaes de sensores capacitivos

Automao Industrial

73

4.2 SENSORES INDUTIVOS


Os sensores indutivos assemelham-se aos sensores capacitivos quanto ao tipo de
aplicaes, diferindo no facto de estes apenas detectarem objectos metlicos,
enquanto os capacitivos detectam qualquer tipo de objecto.
Existem dois tipos de sensores indutivos, diferenciados quanto ao seu princpio de
funcionamento: relutncia varivel e correntes de Foulcault.
4.2.1 Relutncia Varivel
Trata-se de um transformador cujo circuito magntico inclui o objecto a detectar
que deve apresentar propriedades ferromagnticas. O intervalo entre o detector e o
objecto comporta-se como um entreferro varivel.
Superficie
ferromagntica

Blindagem
magntica

Primrio

Secundrio

Figura 4.5 - Modelo de um sensor indutivo


A medida do fluxo no enrolamento secundrio, que varia com o entreferro, permite
detectar a presena do objecto.
4.2.2 Correntes de Foucault
Uma bobina no interior do sensor percorrida por uma corrente de frequncia
elevada que produz um campo magntico na sua proximidade. Um objecto metlico
nesta zona ser sede de correntes de Foucault que se opem ao campo criado pela
bobina e alteram o valor da sua auto-inductncia.
A bobina est inserida num circuito oscilante LC, pelo que a presena do objecto
faz cessar as oscilaes.
Como j foi referido, o sensor indutivo apenas sensvel a objectos metlicos,
dependendo a sua sensibilidade das formas e propriedades fsicas do objecto.

Automao Industrial

74

4.3 SENSORES FINS DE CURSO


Os fins de cursos so os sensores mais vulgares nos processos produtivos, devido
sua facilidade de utilizao, associada ao seu baixo custo. Os fins de curso so
interruptores electromecnicos accionados pelo objecto a detectar.
Existem vrios tipos de fins de curso: horizontais, verticais, de roldana, de boto,
etc. Devido ao seu princpio de funcionamento, este tipo de interruptor est sujeito
ao desgaste do contacto mvel.
Das suas aplicaes tpicas destacam-se a contagem de peas, a deteco de
passagem de objectos, deteco de intruso, sistemas de segurana, etc.
4.4 SENSORES FOTOELCTRICOS

Incidncia de luz
V

Resistncia ( )

Os sensores fotoelctricos so constitudos por um elemento emissor de luz,


vulgarmente um fotododo, e por um elemento sensvel luz incidente, como seja
uma fotoresistncia.

L
Superficie A

Luz (lumens)

Figura 4.7 - Dependncia da Resistncia com a Luz


A incidncia de luz est associada libertao de cargas elctricas e ao
correspondente aumento de condutividade. Este fenmeno provoca a variao da
resistncia do elemento em funo da luz incidida.
As clulas fotoelctricas podem ser apresentadas em diferentes tipos de deteco:
Barreira, reflexo e reflexo no objecto.
4.4.1 Barreira

Receptor

Emissor

Neste tipo de configurao, o elemento emissor emite uma onda luminosa com uma
frequncia tal que invisvel ao olho humano e que no seja afectada por outras
fontes de iluminao existentes na sua proximidade.

Figura 4.8 - Clulas fotoelctricas do tipo barreira

Automao Industrial

75

A recepo do feixe de luz efectuada por outro elemento, posicionado na mesma


direco do emissor. A interrupo deste feixe de luz, por parte de um objecto,
permite a sua deteco.
4.4.2 Reflexo

Emissor
Receptor

Neste tipo de configurao, o emissor e o receptor encontram-se concentrados num


s dispositivo, sendo necessrio a utilizao de um painel reflector que permita a
reflexo da onda incidente da luz.

Figura 4.9 - Clulas fotoelctricas do tipo reflexo


A interrupo do feixe de luz por um objecto, desvia o feixe do receptor, que ao
no receber o feixe de luz detecta a existncia de um objecto.
4.4.3 Reflexo no objecto

Emissor
Receptor

Neste tipo de deteco, o objecto que interrompe o feixe de luz, detectado


sempre que o receptor receba uma incidncia de luz.

Figura 4.10 - Clulas fotoelctricas do tipo reflexo no objecto


Existem variadas aplicaes para as clulas fotoelctricas, das quais se destacam,
sistemas de segurana, contagem de peas, deteco de objectos, deteco de nvel
de liquido, etc.
4.5 SENSORES DE ULTRASONS
O sensor de ultrasons, baseia o seu funcionamento na emisso e recepo de ondas
de frequncia acima de 20 KHz. Este tipo de sensor apresenta duas aplicaes
distintas: determinao de distancias a que se encontram objectos e a deteco de
objectos.

Automao Industrial

76

4.5.1 Distncia de um Objecto


O sensor emite uma onda, que ser reflectida pelo objecto a ser medido, e que ser
recebida pelo mesmo ou por outro sensor. O tempo decorrido entre a emisso e a
recepo da onda, determina a distncia a que se encontra o objecto.

Objecto

Onda
transmitida

Onda
reflectida

Figura 4.11 - Sensor de ultrasons


4.5.2 Deteco de Objectos
Os sensores de ultrasons podem igualmente ser utilizados na deteco de objectos.
Neste caso, os sensores so previamente configurados para detectar a uma
determinada distncia a existncia de objectos.
A aplicao de detectores capacitivos na monitorizao do nvel de produto em
silos pode no ser possvel se puder verificar a adeso de materiais, por exemplo
poeiras superfcie sensora do detector.

Sensor de
Ultrasons

Figura 4.11 - Exemplo de uma aplicao de sensores de ultrasons


Nestes casos, a utilizao de um sensor de ultrasons deve ser prefervel, pois devido
ao seu principio de funcionamento, a superfcie sensora est sempre em vibrao, o
que impede a adeso de quaisquer materiais.
4.6 SENSORES ESPECIAIS
4.6.1 Leitores de Cdigos de Barras
Dispositivos que permitem a leitura de cdigos de barras, e que permitem efectuar
um controlo de processos e identificao de produtos.

Automao Industrial

77

4.6.2 Dispositivos de Escrita/Leitura de Etiquetas


Permitem ler a informao armazenada em etiquetas que acompanham os produtos
ao longo do processo produtivo. Possuem de igual modo a funcionalidade de escrita de
informao nas etiquetas ou pastilhas. O tipo de informao a armazenar
previamente configurada, diferindo de aplicao para aplicao. Por exemplo, uma
etiqueta que armazene a informao relativa a uma ferramenta, dever ter a seguinte
estrutura de dados:

identificao
cdigo
dimenso X
dimenso Z
desgaste na dimenso X
desgaste na dimenso Z
tempo de vida

Automao Industrial

as integer
as string[4]
as float
as float
as float
as float
as integer

78

5 MONITORIZAO E CONTROLO DE PROCESSOS


A monitorizao e o controlo de processos produtivos so tarefas fundamentais na
automao industrial. No mercado, existem variados produtos, denominados por
SCADA (Supervison,control and Data Acquisition), que visam a implementao dessas
tarefas. Desses produtos destacam-se os seguintes:
InTouch da Wonderware;
Fix da Intelluction;
Lookout e BridgeView, da National Instruments;
Factory Link da U.S. Data;
PlantWorks da IBM;
OnSpec da Heuristics.
Estas ferramentas possuem funcionalidades para o desenvolvimento de aplicaes
de monitorizao e controlo remoto de processos complexos. No entanto, para
aplicaes simples, a sua aplicabilidade questionvel, principalmente devido ao seu
custo e ao tempo necessrio aprendizagem do produto que normalmente longo.
Para este tipo de aplicaes possvel a utilizao de outras ferramentas, de mais
fcil aprendizagem, como por exemplo o Visual Basic.
Neste captulo, pretende-se descrever as vrias etapas do desenvolvimento de
aplicaes de monitorizao e controlo, utilizando o Visual Basic. De modo a
acompanhar esta exposio, vamos considerar o seguinte problema.
Pretende-se monitorizar o estado de um semforo que apresenta trs luzes:
vermelho, amarelo e verde. Consideremos tambm que o semforo se encontra no
vermelho por 10 segundos, seguido pelo amarelo durante 4 segundos e pelo verde
durante 10 segundos.
5.1 DESENVOLVIMENTO DO PROGRAMA PARA O AUTMATO
Inicialmente necessrio desenvolver o programa que ir realizar o controlo do
semforo.
Na tabela que se segue, encontram-se representados as vrias entradas, sadas e
temporizadores que so utilizadas no programa.
Smbolo
vermelho
verde
amarelo
arranque
paragem
TIM 000
TIM 001
TIM 002

Endereo
10.0
10.1
10.2
0.0
0.1
TIM 000
TIM 001
TIM 002

Descrio
Luz vermelha
Luz verde
Luz amarela
Arranque do sistema
Paragem do sistema
Temporizao da luz vermelha
Temporizao da luz amarela
Temporizao da luz verde

Parmetros
#100
#40
#100

O programa, representado em diagrama de ladder, o seguinte:


Automao Industrial

79

Figura 5.1 - Diagrama de ladder


5.2 DESENVOLVIMENTO DA APLICAO DE MONITORIZAO
No desenvolvimento de aplicaes de monitorizao e de controlo, o primeiro ponto a
realar a comunicao entre o autmato e o PC que ir realizar a referida monitorizao e
controlo.
A comunicao entre o autmato e o PC realizada atravs da troca de comandos e
respostas especficos, executadas entre os dois intervenientes. O bloco de dados transferidos
numa transmisso simples chamado frame, que pode possuir no mximo 131 caracteres.
Para iniciar a comunicao, necessrio enviar um comando para o autmato, no seu
formato especfico. Terminada a transferncia da frame, activada uma flag e o autmato
envia, tambm em formato especfico, a frame de resposta, estabelecendo, deste modo, a
comunicao entre o autmato e o PC.
As frames de comando e resposta utilizadas na comunicao entre o autmato e PC
obedecem a formatos especficos. A frame de comando apresenta a seguinte estrutura.
@

x10^1

x10^0

N de N

*
Cdigo do
Cabealho

Dados

FCS

Terminador

Figura 5.2 - Frame de comando

Automao Industrial

80

Esta estrutura composta por campos de informao, em que:


@: caracter de inicio de frame;
N do N: identifica a comunicao entre o PC e o autmato, sendo
especificado no setup do PLC (DM 6653 no CPM1);
Cdigo do Cabealho: estes dois caracteres indicam a funo do comando e a
rea de memria onde se pretende executar essa funo;
Dados: indica os parmetros do comando, tais como o endereo da rea de
memria em causa e o nmero de palavras envolvidas;
FCS (Frame Check Sequence): estes dois caracteres controlam os erros de
transmisso;
Terminador: o caracter * e o CHR$(13), carriage return, indicam o fim do
comando;
A frame de resposta apresenta o formato representado na figura que se segue.
@

x10^1

x10^0

N de N

x16^1
Cdigo do
Cabealho

x16^0

Cdigo de Fim

Dados

FCS

Terminador

Figura 5.3 - Frame de resposta


Esta frame apresenta os mesmos parmetros da frame de comando, excepo do
Cdigo de Fim, que indica se ocorreu algum erro de transmisso, atravs de um cdigo
associado a cada tipo de erro [CPM1, 96].
Na transmisso de informao entre duas entidades, um dos erros que podem
ocorrer a alterao do estado de algum bit. Uma tcnica para controlar este tipo de
erro, usar um procedimento baseado na operao lgica XOR (OR exclusivo).
Para calcular o FCS, cada caracter convertido no seu cdigo ASCII. efectuada a
operao lgica XOR entre os dois primeiros caracteres, sendo este resultado usado
para efectuar o XOR com o caracter seguinte, e assim sucessivamente at ao fim da
rea de dados. Quando a frame de comando recebida, o FCS calculado de forma
anloga e comparado com o cdigo recebido. Caso o cdigo recebido seja diferente do
cdigo FCS calculado, significa que algum bit alterou o seu valor, ou seja, ocorreu um
erro na transmisso da frame.
Para calcular o FCS, utilizada a seguinte subrotina:
{
Private Sub Calc_fcs(msg As String)
fcs = 0
For i = 1 To Len(msg)
fcs = fcs Xor Asc(Mid$(msg, i, 1))
Next i
fcs = Hex$(fcs)
End Sub
}
De seguida apresenta-se a subrotina que configura o protocolo de comunicao com o PLC.

Automao Industrial

81

{
Private Sub Form_Load()
' 9600 baud rate, no parity, 7 data, and 2 stop bit
MSComm1.Settings = "9600,e,7,2"
MSComm1.CommPort = 2
MSComm1.PortOpen = True
End Sub
}
A rotina que se apresenta de seguida, l os dados do autmato continuamente e verifica
se ocorreu algum erro de comunicao. Os dados lidos, referentes ao estado do semforo so
apresentados na janela da aplicao desenvolvida.
{
Private Sub monitorizar_Click()
Do
msg = "@00RR00100001"
MSComm1_OnComm
If (Mid$(mensg_recebida, 6, 2) = "00") Then
texto.Text = "Exito"
Else
status.Text = "Erro"
End If
aux = Mid$(mensg_recebida, 10, 2)
If (aux = 01) Then
vermelho.visible = True
amarelo.visible = False
verde.visible = False
End If
If (aux = 04) Then
vermelho.visible = False
amarelo.visible = True
verde.visible = False
End If
If (aux = 02) Then
vermelho.visible = False
amarelo.visible = False
verde.visible = True
End If
Loop While (True)
End Sub
}
A subrotina MSComm1_OnComm() realiza a sequncia de operaes necessrias ao envia
de todos os comandos para o autmato, ou seja, efectua a comunicao propriamente dita.
{
Private Sub MSComm1_OnComm()
Dim fim As String
fim = "*" & Chr$(13)
mensag_recebida = ""
Resultado.Text = msg
Calc_fcs (msg)
MSComm1.Output = msg & fcs & "*" & Chr$(13)
' Espera que chegue informao porta srie.
Do
Dummy = DoEvents()
Loop Until MSComm1.InBufferCount >= 11
Automao Industrial

82

' L o comando de resposta


Do
mensag_recebida = mensag_recebida + MSComm1.Input
Loop Until Right(mensag_recebida, 2) = fim
Resultado.Text = mensag_recebida
End Sub
}
Em paralelo com a funcionalidade de monitorizao pretende-se tambm ter na aplicao
a funcionalidade de controlo remoto sobre o processo, pelo que vamos efectuar o arranque e
a paragem atravs do PC.
{
Private Sub arranque_Click()
'Activar variavel Arranque
msg = "@00WR00000001
MSComm1_OnComm
End Sub
}
{
Private Sub paragem_Click()
'Activar variavel Paragem
msg = "@00WR00000002
MSComm1_OnComm
End Sub
}

Figura 5.4 - Janela final da Aplicao de Monitorizao e Controlo

Automao Industrial

83

6 REFERNCIAS BIBLIOGRFICAS
[Asfahl, 92]

C. Ray Asfahl, Robots and Manufacturing Automation, Wiley, 1992

[Fu, 87]

K. Fu, R.C. Gonzalez, C.S.G. Lee, Robotics: Control, Sensing, Vision and
Intelligence, McGraw-Hill, 1987

[Almeida, 93]

Adriano Almeida, Anbal Oliveira e Eurico Magos, Autmatos


Programveis, Tecnologias e Esquemas de Electricidade, Edies ASA,
1993

[Clements, 96]

K. Clements-Jewery, W. Jeffcoat, The PLC Workbook, Prentice Hall,


1996

[CPM1, 96]

CPM1 Programmable Controller - Programming Manual, Omron, 1996

[Chouzal, 91]

Maria de Ftima Chouzal, Controlo Digital de Motores Passo a Passo,


Dissertao de Mestrado, FEUP, 1991

[Hauptmann, 93]

Peter Hauptmann, Sensors, Principles & Applications, Prentice Hall,


1993

[Novais, 94]

Jos Novais, Programao de Autmatos, Mtodo Grafcet, Fundao


Calouste Gulbenkian, 2 Edio, 1994

[Olsson, 92]

Gustaf Olsson, G. Piani, Computer Systems for Automation and Control,


Prentice Hall, 1992

[Simpson, 94]

Colin D. Simpson, Programmable Logic Controllers, Regents/Prentice


Hall, 1994

[Stenerson, 93]

Jon Stenerson, Fundamentals of Programmable Logic Controllers,


Sensors, & Communications, Regents/Prentice Hall, 1993

[Vexta]

Technical information on stepping motors

[Warnock, 88]

Ian G. Warnock, Programmable Controllers, Operation and Application,


Prentice Hall, 1988

Automao Industrial

84

ANEXO - REPRESENTAO DA INFORMAO


A representao da informao consiste sempre numa materializao fsica capaz de
temporria ou permanente registar a informao pretendida.

Representao
Externa

Codificao

Representao
Binria

Processamento
Armazenamento

Representao
Externa

Descodificao

Representao
Binria

Figura 2.1 - Representao da Informao


Enquanto o homem se pode aperceber da informao atravs de imagens, letras, gestos,
sinais luminosos, o computador processa e armazena a informao apenas em dois estados.
Os valores convencionais para os dois estados so:
1 - ON - TRUE
deixa passar a corrente
0 - OFF - FALSE no deixa passar a corrente
informao contida numa varivel fsica de dois estados d-se o nome de BIT,
abreviatura de BInary digiT, e que para o computador a unidade elementar de informao.
Ao agrupamento de oito bits d-se o nome de BYTE. Cada Byte tem possibilidade de
n
armazenar 256 informaes diferentes (2 ).

SISTEMAS DE NUMERAO
A representao de informao pode ser vista como um agrupamento de dgitos (no caso
do sistema binrio designam-se por bits), a que se d o nome de palavra (no caso do sistema
binrio d-se o nome de Byte).
Posio 1
...
Posio 0

Figura 2.2 - Palavra de Informao


O sistema posicional um sistema de numerao em que cada dgito tem associados dois
valores:

o seu valor intrnseco, ou seja, o valor do digito;

Automao Industrial

85

o valor da posio que ocupa no conjunto (peso), que representa o significado do


digito na palavra ou grupo de dgitos. Para o clculo deste peso consideram-se os
seguintes parmetros:
Base - nmero mximo de smbolos que podem ser utilizados para codificar a
informao. Um sistema de base n admite n smbolos diferentes: 0, 1, 2, ...,
n -1. Por exemplo, o sistema decimal admite 10 dgitos diferentes (de 0 a 9).
Peso - representao da posio relativa do smbolo no conjunto das
posies, variando a partir da primeira posio da direita (a menos
significativa) aumentando de 1 unidade por cada posio sucessivamente mais
esquerda. Exemplo: Para o nmero 324567 na base n, o peso do smbolo 4
3
ser n .

Sistema Decimal
A codificao de nmeros no sistema decimal utiliza combinaes de 10 dgitos,
compreendidos entre 0 e 9. Uma vez que utiliza 10 dgitos, o peso de cada dgito dentro da
palavra dado em funo de potncias de 10 (10i). A decomposio de um nmero decimal
possvel, multiplicando o valor intrnseco de cada posio pelo seu peso e somando os
produtos obtidos.

. 3
-1

3 * 10
0
2 * 10
1
1 * 10
2
5 * 10
Valor Intrinseco

0,3
2
10
500
512,3
Peso

Figura 2.3 - Decomposio no Sistema Decimal


Sistema Binrio
O sistema binrio utiliza apenas dois dgitos para codificar a informao: 0 e 1. Isto
significa que apenas dois nveis de tenso so requeridos para representar os diferentes
dgitos do sistema binrio, em que normalmente os 5V representam o digito 0 e os 0V o digito
binrio 0. Este sistema o que corresponde ao cdigo interno do computador, vulgarmente
designado por linguagem mquina.
A representao de qualquer nmero no sistema binrio processa-se por uma sequncia de
0 e 1, em que o peso de cada dgito dado em funo de potncias de 2 (2i), uma vez que o
sistema binrio admite dois dgitos.

Automao Industrial

86

1*2
1
1*2
2
0*2
3
1*2

1
2
0
8
11

Peso

Valor Intriseco

Figura 2.4 - Decomposio no Sistema Binrio


Sistema Hexadecimal
O sistema hexadecimal admite 16 dgitos, dos quais dez so algarismos de 0 a 9, e os
restantes seis so letras de A a F. Os dgitos de A a F correspondem aos nmeros decimais de
10 a 15, respectivamente. Numa palavra do sistema hexadecimal, o peso de cada dgito
funo de potncias de 16. Este sistema de numerao bastante utilizado, pois a sua
utilizao na codificao de dgitos binrios (agrupados em grupos de 4) torna simples a
interpretao e leitura da informao.

0 * 16
1
15 * 16
2
10 * 16
3
1 * 16

0
240
2560
4096
6896

Peso

Valor Intrinseco

Figura 2.5 - Decomposio no Sistema Hexadecimal


Na tabela que se segue est ilustrada a codificao de informao utilizando os sistemas
de numerao decimal, hexadecimal e binria.

Decimal
0
1
2
3
8
9
10
11
14
15

Automao Industrial

Hexadecimal
0
1
2
3
. . .
8
9
A
B
. . .
E
F

Binria
0000
0001
0010
0011
1000
1001
1010
1011
1110
1111

87

CONVERSO ENTRE BASES


Devido existncia e utilizao de mais do que um sistema de numerao, necessrio a
existncia de regras ou mtodos que tornem possvel a converso de nmeros duma base
para outra qualquer base.

Converso de Decimal para Outra Base


Parte Inteira
Para se efectuar a passagem do sistema decimal para um sistema diferente, utiliza-se o
mtodo das divises sucessivas. Este mtodo consiste em dividir, sucessivamente, o nmero
decimal pela base de converso (2 no sistema binrio e 16 no sistema hexadecimal)
aproveitando-se os restos e o ltimo quociente.

13

2
6

2
3

Figura 2.6 - Converso da parte inteira dum numero decimal para binrio
O nmero 13 no sistema decimal, pode ser convertido para o sistema binrio, de acordo
com a figura 2.6, e ser escrito da seguinte forma:
13 (10) = 1101 (2)

Parte Fraccionria
Para representar a parte fraccionria de um nmero decimal, numa qualquer base deve-se
multiplicar a base pela parte fraccionria e guardar a parte inteira do resultado. Tal processo
deve ser repetido at que a parte fraccionria seja nula.
Por exemplo, se tivermos o nmero 0,5875 em decimal e quisermos converte-lo para o
sistema binrio, o processo seria o que mostra a figura 2.7. O resultado final ser 0,1011 (2)

2 * 0,6875 = 1,375
2 * 0,375 = 0,750

L-se neste sentido

2 * 0,750 = 1,500
2 * 0,500 = 1,000
Figura A.7 - Converso da parte fraccionria de um numero decimal para binrio

Automao Industrial

88

Converso de Outra Base para Decimal


Se quisermos passar de qualquer base para a decimal, bastar utilizar o mtodo das
multiplicaes sucessivas, ou seja, multiplicar o valor intrnseco de cada posio pelo seu
peso e somar todos os produtos obtidos.
Dado um qualquer nmero, numa qualquer base,
an an-1 an-2 ... a1 a0 . a-1 a-2 ...
possvel determinar o valor decimal desse numero, aplicando a seguinte expresso,
n
n-1
n-2
1
0
-1
-2
an * b + an-1 * b
+ an-2 * b
+... + a1 * b + a0 * b + a-1 * b
+ a-2 * b +...
sendo b a base a que o nmero pertence.

Exerccios
1. 1101 (2) = ??? (10)
Neste caso b = 2 porque o nmero est no sistema binrio.
Ento, 1101(2) = 1 * 23 + 1 * 22 + 0 * 21 +1 * 20 = 8 + 4 + 0 + 1 = 13 (10)
2. 1FF (16) = ??? (10)
Neste caso, como se trata do sistema hexadecimal, b = 16.
Ento, 1FF (16) = 1 * 162 + 15 * 161 + 15 * 160 = 256 + 240 + 15 = 511 (10)

SISTEMAS DE CODIFICAO AVANADOS


Os sistemas de codificao descritos atrs so os mais vulgares na codificao de
informao. No entanto, existem outros sistemas de codificao mais especficos, que no
utilizam o sistema posicional, mas tambm de elevada importncia na codificao da
informao.

BCD (Binary Coded Decimal)


O BCD uma codificao que apresenta uma pequena modificao ao sistema decimal
onde os dgitos decimais so codificados independentemente como nmeros binrios de 4
bits. Por exemplo, os dgitos 3 e 9 so codificados em BCD por:
3 0011
9 1001
Por sua vez, o numero 39 codificado em BCD por:
39 0011 1001

Automao Industrial

89

Na tabela que se segue esto ilustrados os cdigos BCD de alguns nmeros decimais.
Decimal
0
1
2
3
4
5
6
7
8
9
10
11
...

BCD
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
0001 0000
0001 0001
...

Cdigo GRAY
O cdigo Gray um tipo de codificao binria em que no so utilizadas as posies
pesadas. O cdigo tem a particularidade de a transio de um numero para o prximo
requerer a mudana de apenas um digito.

Decimal
0
1
2
3
4
5
6
7
8
9

Cdigo Gray
0000
0001
0011
0010
0110
0111
0101
0100
1100
1101

A grande desvantagem da codificao Gray a confuso para a contagem normal. No


entanto, existem algumas regras para a construo do cdigo Gray. Por exemplo, verifica-se
na tabela anterior, que para posio do nmero existe uma sequncia alternada e peridica
de 1s e 0s. Assim, para a posio i, existe uma sequncia de 2 (i+1) 1s seguidos de 2 (i+1) 0s, de
forma alternada; a sequncia inicia-se por 2i zeros.
A sua aplicao tpica em sistemas de codificao de posio (encoders).

Cdigo ASCII
O cdigo ASCII (American Standard Code for Information Interchange) um cdigo
alfanumrico que inclui smbolos, letras e nmeros. Cada um dos cdigos constitudo por 7
bits.

Automao Industrial

90

LGEBRA DE BOOLE
A manipulao de informao codificada no sistema binrio, atravs de algumas regras e
teoremas conhecida pela lgebra de Boole. O sistema binrio apresenta apenas dois dgitos
0 e 1, que correspondem a dois estados lgicos, que so o Falso (0) e o Verdadeiro (1).

Operadores
De forma a ser possvel a manipulao destes valores necessrio a existncia de
operadores. Os operadores lgicos mais vulgares so:
AND (.) - que corresponde ao E lgico de dois valores, ou seja, o resultado
Verdadeiro quando a condio X e a condio Y forem Verdadeiras.
X
1
1
0
0

Y
1
0
1
0

X AND Y
1
0
0
0

OR (+) - que corresponde ao OU lgico de dois valores, ou seja, o resultado


Verdadeiro quando a condio X ou a condio Y forem Verdadeiras.
X
1
1
0
0

Y
1
0
1
0

X OR Y
1
1
1
0

NOT (-) - que corresponde negao do valor inicial, ou seja, o resultado


Verdadeiro se a condio de entrada for Falsa.
X
1
0

NOT X
0
1

XOR - que corresponde ao OU exclusivo dos dois valores de entrada, ou seja, o


resultado Verdadeiro se a condio X ou a condio Y forem Verdadeiras, mas
no simultaneamente.
X
1
1
0
0

Automao Industrial

Y
1
0
1
0

X XOR Y
0
1
1
0

91

Teoremas
A partir da definio de cada um dos operadores, possvel estabelecer alguns teoremas
para a manipulao dos operandos lgicos. Assim, podemos escrever:
Comutatividade
X+Y = Y+X
X.Y = Y.X
Distributividade
X.(Y+Z) = X.Y+X.Z
Associatividade
X+(Y+Z) = (X+Y)+Z = X+Y+Z
X (Y.Z) = (X.Y).Z = X.Y.Z
A partir dos teoremas referidos e das caractersticas de cada operador, possvel retirar
algumas regras importantes na manipulao de expresses lgicas:
X OR 0 = X,

o OU de uma varivel com Falso ser o valor da varivel.

X OR 1 = 1,

o OU de uma varivel com Verdadeiro sempre Verdadeiro.

X OR /X = 1,

o OU de uma varivel com a sua negada sempre Verdadeiro.

X AND 0 = 0,

o AND de uma varivel com Falso sempre Falso.

X AND 1 = X, o AND de uma varivel com Verdadeiro ser o valor da varivel.


X AND X = X, o AND de uma varivel com ela prpria ser o valor dessa varivel.
Y.X + /X.Y = Y
X + XY = X

Exerccio
Simplifique a seguinte expresso utilizando os teoremas da lgica.
(X1+X3)(X1+/X3)(/X2+X3)

Leis de Morgan
As leis de Morgan so de importncia fundamental na lgica binria, e resumem-se a duas
leis:
1. /(X + Y) = /X . /Y
Que significa que a negao do OU lgico das variveis X e Y equivalente ao E
lgico das variveis X e Y negadas.

Automao Industrial

92

2. /(X.Y) = /X + /Y
Que significa que a negao do E lgico das variveis X e Y equivalente ao OU
lgico das variveis X e Y negadas.
As leis de Morgan so vulgarmente utilizadas na simplificao de expresses lgicas.

Exerccios
1.
2.

/(/A + /B)
(A + /B).(/A + B)

Automao Industrial

93

Você também pode gostar