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







Automao Industrial
2
ndice
1 AUTOMAO DE PROCESSOS 5
1.1 Introduo aos Autmatos Programveis 6
1.2 Arquitectura dos Autmatos Programveis 7
1.2.1 Unidade Central de Processamento 8
1.2.2 Memria 9
1.2.3 Unidade de programao 11
1.2.4 Mdulos de Entrada e Sada 12
1.2.5 Fonte de Alimentao 13
1.2.6 Cartas Especiais 13
1.3 Funcionamento 14
1.4 Aplicaes dos Autmatos Programveis 15
2 PROGRAMAO BSICA DE AUTMATOS PROGRAMVEIS 17
2.1 Escrita de programas 17
2.1.1 Fluxogramas e Algoritmia 17
2.1.2 Linguagens de Programao para Autmatos 20
2.1.3 Procedimentos bsicos para a escrita de um programa 20
2.2 Endereamento da memria 21
2.3 Instrues Bsicas 22
2.3.1 LOAD 22
2.3.2 OUTPUT 22
2.3.3 AND 23
2.3.4 OR 24
2.3.5 END 24
2.3.6 Instrues Lgicas de Bloco 26
2.3.7 Combinao de instrues AND LOAD e OR LOAD 27
2.3.8 Execuo de Vrias sadas 29
2.3.9 SET e RESET 29
2.3.10 DIFFERENTIATE UP, DIFFERENTIATE DOWN 30
2.3.11 Instrues de Bifurcao 30
2.3.12 KEEP 31
2.4 Temporizadores 34
2.4.1 Temporizador ao Impulso 36
2.4.2 Temporizador aps a operao 37
2.4.3 Temporizador de alta velocidade 38
2.5 Contadores 38
2.5.1 CNT 38
2.5.2 Contador reversvel CNTR 39
2.5.3 Exemplo de aplicao 40
2.6 Instrues de Manipulao de Dados 41

Automao Industrial
3
2.6.1 MOVE 41
2.6.2 MOVE NOT 42
2.6.3 Instrues Diferenciais 42
2.6.4 Endereamento Indirecto 43
2.7 Interrupes 43
2.8 Subrotinas 45
3 MODELAO DE SISTEMAS COMPLEXOS CONDUZIDOS POR EVENTOS 47
3.1 Introduo ao Grafcet 47
3.2 Especificao Funcional e Tecnolgica 48
3.2.1 Especificao Funcional 48
3.2.2 Especificao Tecnolgica 48
3.3 Conceitos Bsicos do Grafcet 48
3.3.1 Etapas 48
3.3.2 Transies 49
3.4 Princpio de Funcionamento 49
3.4.1 Inicializao 50
3.4.2 Validao 50
3.4.3 Disparo de uma transio 50
3.5 Representao de Sequncias Simultneas e Alternativas 53
3.5.1 Sequncias Simultneas - Paralelismo Estrutural (N AND) 53
3.5.2 Sequncias Alternativas - Paralelismo Interpretado (N OR) 54
3.6 Conceitos Complementares 56
3.6.1 Aco Condicional 56
3.6.2 Temporizao 56
3.7 Cooperao entre Processos 57
3.7.1 Sincronizao 57
3.7.2 Partilha de Recursos 60
3.7.3 Subtarefas 62
3.8 Anlise e Validao de Grafcet 65
3.8.1 Introduo Anlise de Grafcet 66
3.8.2 Grafcet Autnomo 66
3.8.3 Grfico das situaes acessveis 66
3.8.4 Anlise de Grafcet 67
4 SENSORES 72
4.1 SENSORES CAPACITIVOS 73
4.2 SENSORES INDUTIVOS 74
4.2.1 Relutncia Varivel 74
4.2.2 Correntes de Foucault 74
4.3 SENSORES FINS DE CURSO 75

Automao Industrial
4
4.4 SENSORES FOTOELCTRICOS 75
4.4.1 Barreira 75
4.4.2 Reflexo 76
4.4.3 Reflexo no objecto 76
4.5 SENSORES DE ULTRASONS 76
4.5.1 Distncia de um Objecto 77
4.5.2 Deteco de Objectos 77
4.6 SENSORES ESPECIAIS 77
4.6.1 Leitores de Cdigos de Barras 77
4.6.2 Dispositivos de Escrita/Leitura de Etiquetas 78
5 MONITORIZAO E CONTROLO DE PROCESSOS 79
5.1 DESENVOLVIMENTO DO PROGRAMA PARA O AUTMATO 79
5.2 DESENVOLVIMENTO DA APLICAO DE MONITORIZAO 80
6 REFERNCIAS BIBLIOGRFICAS 84
ANEXO - REPRESENTAO DA INFORMAO 85
Sistemas de Numerao 85
Sistema Decimal 86
Sistema Binrio 86
Sistema Hexadecimal 87
Converso entre Bases 88
Converso de Decimal para Outra Base 88
Converso de Outra Base para Decimal 89
Sistemas de Codificao Avanados 89
BCD (Binary Coded Decimal) 89
Cdigo GRAY 90
Cdigo ASCII 90
lgebra de Boole 91
Operadores 91
Teoremas 92
Leis de Morgan 92


Automao Industrial
5
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
6
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
7
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
8
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.

Memria
Fonte de
Alimentao
CPU
E
n
t
r
a
d
a
s
S
a

d
a
s
Unidade de
Programao
Mundo
Exterior
Mundo
Exterior

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
9
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
10

0 1 2 3 4

5 6 7 8 9

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
Endereo
Informao

Automao Industrial
11
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
12
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.

D
i
s
p
o
s
i
t
i
v
o

d
e
E
n
t
r
a
d
a
Sada para o CPU
Isolamento ptico

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
13
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
14
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
15
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
16


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
17
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 utilizar-
se 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
Soluo em forma
de algoritmo
Soluo como
programa de
computador
Passo difcil
Fase da
implementao
Fase da resoluo
do problema

Figura 5.1 - Resoluo de um problema

Automao Industrial
18
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
19
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
20
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 I 0.1
AND I 0.2
SET 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
21
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 Palavras Funo

rea IR
(Rels
internos)

rea de Entrada

rea de Sada

rea de Trabalho
IR 000 a IR 009

IR 010 a IR 019

IR 200 a IR 231
Estes bits podem ser alocados aos
terminais E/S externos. Os bits de trabalho
podem ser usados livremente dentro do
programa.
rea SR
(Rels especiais)
SR 232 a SR 255 Estes bits servem funes especficas, tais
como flags e bits de controlo.
rea TR
(Rels temporrios)

TR 0 a TR 7 (s se
trabalha com os 8
bits)
Estes bits so utilizados para guardar
temporariamente o estado ON/OFF da
seco do programa (mnemnicas).
rea HR
(Rels reteno)
HR 00 a HR 19 Estes bits guardam informao e mantm o
seu estado ON/OFF aps a alimentao ser
desligada.
rea AR
(Rels auxiliares)
AR 00 a AR 15 Estes bits so semelhantes a SR mas
mantm o seu valor aps a alimentao ser
desligada.

Automao Industrial
22
rea LR
(Rels ligao)
LR 00 a LR 15 Utilizado para ligaes 1:1 a outro PLC.
rea Contadores e
Temporizadores
TC 000 a TC 127 Os mesmos endereos so utilizados para
os temporizadores e contadores.
Leitura/Escrita DM00 a DM 099
DM 1022 a DM 1023
Podem ser usados livremente no programa.
rea DM Log de erros DM 1000 a DM 1021 Utilizados para guardar o tempo e o cdigo
de erro da ocorrncia.
(Mdulo
de Dados)
Apenas leitura DM 6144 a DM 6599 No podem ser escritos a partir do
programa.
Setup PC 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
fechado
. . .
normalmente
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
23
Esta instruo pode actualizar sadas do autmato, mas tambm flags internas, tais
como as reas SR, AR, HR, etc.

0.0 10.0
0.0
10.0

ON
OFF
ON
OFF


0.0 10.0
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. Pretende-
se 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 10.1 0.1 1.0


Na figura anterior a linha de instruo representada por um diagrama de contactos,
implementa a seguinte expresso lgica:

Automao Industrial
24
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 0.1
OUT 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
0.1
1.0


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
25
END
0.0 10.0 0.1


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 10.0 0.1

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
26
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 10.0
0.1
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 10.0 0.2
0.1 0.3


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 0.0
OR 0.1
LD 0.2
OR NOT 0.3
AND LD


Automao Industrial
27
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 10.0 0.1
0.2 0.3


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 0.0
AND NOT 0.1
LD 0.2
AND 0.3
OR LD executa o OR dos dois blocos
OUT 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.

0.0
10.0
0.1
0.5 0.4
0.3 0.2
Bloco 3
Bloco 2
Bloco 1

Considerando o diagrama de contactos, representado atrs, possvel traduzi-lo
para lista de instrues.

LD NOT 0.0
AND 0.1
LD 0.2
AND NOT 0.3

Automao Industrial
28
LD NOT 0.4
AND 0.5
OR LD
AND LD
OUT 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.
0.0 10.0 0.1
0.5 0.4 0.3
0.2
Bloco 5
Bloco 2 Bloco 1
0.7 0.6
Bloco 4
Bloco 3

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

LD 0.0
LD 0.1
AND 0.2
LD 0.3
AND 0.4
LD 0.5
LD 0.6
AND 0.7
OR LD blocos 4 e 5
AND LD bloco 3 com resultado anterior
OR LD bloco 2 com resultado anterior
AND LD bloco 1 com resultado anterior
OUT 10.0

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
29
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
0.4
10.0
10.7

Ou utilizando lista de instrues,

LD 0.1
OR 0.2
AND 0.3
OUT HR0.1
OUT 10.0
AND 0.4
OUT 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.

SET
(sada)
Condio 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
30
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.

RSET 10.0
Boto verde
Boto vermelho
SET 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.

DIFD 10.1
1.0
1.1
DIFU 10.0



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
10.0
0.1
0.2
10.1
TR 0



Automao Industrial
31
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 0.0
OUT TR 0
AND 0.1
OUT 10.0
LD TR 0
AND 0.2
OUT 10.1

2.3.12 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
0.4
KEEP (11
HR 0000
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 motor ON
bomba ON
R
S
R
S



Automao Industrial
32
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
Caudal
Paragem
Bomba ON
SET Bomba ON
RSET Motor
RSET Bomba ON
SET Motor
Paragem
Paragem


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

Arranque
Paragem
KEEP (11
Bomba ON
Bomba ON
Paragem
Caudal
KEEP (11
Motor ON



Automao Industrial
33
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 - abrir, fechar e parar
IR 00.03 a IR 00.04 - aberto e fechado
IR 00.05 - inibio
IR 10.00 a IR 10.01 - act_abrir e act_fechar
IR 200.00 a IR 200.01 - flag_abrir e flag_fechar
IR 00.06 - manual (1- manual e 0 - automtico)

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


Automao Industrial
34
ent_abrir
modo
modo
flag_abrir
SET abrir
RSET abrir
RSET fecha
SET fechar
RSET abrir
RSET fechar
ent_fechar modo
fechado
RSET abrir
RSET fechar
fechado
inibio aberto
inibio
flag_parar
inibio
abrir aberto
fechar
fechado
ent_parar modo
modo
modo


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.

TIM
N
VT
Condio A


em que N o numero do temporizador e VT
contm o valor do tempo que se pretende
contar.

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
35
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).

piso2
bot_ch2
bot_ch1
piso1

Figura 5.8 - Elevador entre dois pisos
A atribuio de endereos a seguinte:
IR 00.00 - bot_ch1
IR 00.01 - bot_ch2
IR 00.02 - piso1
IR 00.03 - piso2
IR 10.00 - motor_up
IR 10.01 - motor_down
O programa que controle o movimento do elevador entre os dois pisos o seguinte.

bot_ch2
RSET motor_u
RSET
motor_down
piso1
piso2 bot_ch1
piso1
piso2
SET motor_up
SET
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 - porta_aberta
IR 00.01 - porta_fechada

Automao Industrial
36
IR 10.02 - abre_porta
IR 10.03 - 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
porta_aberta
RSET motor_
RSET
motor_down
piso1
piso2
porta_aberta TIM 000
bot_ch1
piso2 motor_up
motor_down
piso2
SET
motor_down
SET
fecha_porta
SET abre_por
RSET
abre_porta
TIM
000
#50
piso1


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
10.2
TIM
16
#20
10.2 TIM 16


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

Automao Industrial
37

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
10.0
TIM 10
10.0
0.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.

5 seg.
10.0
0.0

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 - carro
IR 10.08 - lmpada
TIM 000 e 001 - 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
38

TIM 000
TIM 001


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

TIM 000
TIM
000
#100
carro
lampada
TIM 001
TIM
001
#100
TIM 000


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).

TIM 000
TIM H
000
#150
10.0
0.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 pr-
definido (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
39
CNT
N
VC
CP
R


em que N o numero do contador e VC o valor
inicial do contador.

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.

CNT 001
CNT
001
#700
10.0
0.0 255.02
0.1
R
CP


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.

CNTR
N
VC
EI
R
ED


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.

0 VC
. . .


Automao Industrial
40
2.5.3 Exemplo de aplicao
Considere um posto de embalamento de produtos. Os produtos chegam ao posto
atravs de um tapete rolante.

C
o
n
t
e
n
t
o
r

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 - detector
IR 10.00 - actuador
TC 120 - contador

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

CNT 120
CNT
120
#100
detector
CNT 120
R
CP
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
41
Actuador
pneumtico
A
B

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.

MOV
S
D


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.

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
. . .
Palavra Destino
. . .
MOV


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

MOV
001
HR 05
0.0


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
42
IR 000 : 0110 1011 111
...

HR 05 : 0110 1011 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.

MVN
#F8C5
DM 0010
0.0


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.

@MOV
HR 10
DM 0000
0.0
Diagrama A Diagrama B
MOV
HR 10
DM 0000
0.0


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
43
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
4C59
1111
F35A
5555
2506
D541
. . .
DM 0000
o valor 5555
copiado para LR00
indica DM 1111
DM 1113
DM 1112
DM 1111
DM 0002
DM 0001

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
44
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.


Palavra Valores

DM 6628

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

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 de Interrupo
Programa
Principal
Programa
Principal
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).

DM 6628
0003
0004
0005
0006
Bit 0 Bit 15


Automao Industrial
45
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.
.
.
.
INT
000
000
#000E
SBN 000
RET
Programa de
interrupo
0.3


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
0.
5
0.
4
0.
3
1 1 1 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.

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.

SBS N


Automao Industrial
46
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
47
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.
SOBE_BROCA SE /BROCA_UP
1
LIGA_BROCA;
BAIXA_BROCA SE T/X2/3s/
2
LIGA_BROCA;
SOBE_BROCA
3
t1
INICIO.BROCA_UP
t2 BROCA_BAIXO
t3
BROCA_UP
Aco
Etapa Inicial
Ligao
Etapa
Transio
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
48
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
49
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/
2

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.
LIGA_BROCA; SOBE_BROCA
2


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

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
50
3.4.1 Inicializao
As etapas activas aps a inicializao so assinaladas duplicando o contorno dos
respectivos smbolos.

SOBE_BROCA SE /BROCA_UP
1

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.

LIGA_BROCA;
BAIXA_BROCA SE T/X2/3s/ 2
LIGA_BROCA;
SOBE_BROCA
3
2
BROCA_BAIXO
LIGA_BROCA;
BAIXA_BROCA SE T/X2/3s/ 2
LIGA_BROCA;
SOBE_BROCA
3
2
BROCA_BAIXO
LIGA_BROCA;
BAIXA_BROCA SE T/X2/3s/ 2
LIGA_BROCA;
SOBE_BROCA
3
2
BROCA_BAIXO
Etapa 2 activa Etapa 2 activa
Transio 2 disparada
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
51
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.
matriz em posio baixa
material colocado e arranque do ciclo
1
2
3
5
4
6
evacuao terminada
puno superior
fim da compresso
matriz em
posio alta
Colocao do material
Descida da matriz
Subida do puno superior
Descida do puno superior
Subida da matriz
Evacuao da pea

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 a
1
,
a
0
, b
1
e b
0
.

Automao Industrial
52
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.

Entradas:
d : autorizao de arranque de ciclo
a
1
: posio baixa do puno
a
0
: posio alta do puno
b
0
: posio baixa da matriz
b
1
: posio alta da matriz

Sadas:
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

b0
d
1
2
3
5
4
6
ft1
a0
a1
b1
V
b -
a -
a +
b +
E ; LT1


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
53

Posto B Posto A
a 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 t
0
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.
1
4
3
2
5
t
1

Figura 6.7 - Sequncia Simultnea

Automao Industrial
54
O disparo da transio t
1
s realizado quando as etapas 1,2 e 3 estiverem activas
e a condio t
1
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.

b0
pea colocada
1
11 21
12
31
13
posio baixa
posio de trabalho
pea evacuada
posio alta
rotao de 1/3
carregamento
da pea
evacuao da
pea
descida rpida
35
34
33
32
23
24
22
descida trabalho;
broca
subida rpida;
broca
descida rpida
roscagem
recuo
subida rpida
posio alta
fim recuo
posio baixa
posio de trabalho
fim de rotao
1


3.5.2 Sequncias Alternativas - Paralelismo Interpretado (N OR)
O incio e o termo de sequncias alternativas representado por:

Automao Industrial
55
1
to2
tom
ti1 ti2 tin
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.
2
1
3
a /a . b
Estabelecimentos de
prioridades
1
3 2
a a
Evoluo Exclusiva

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 3 Posto 1 Posto 2


O grafcet que solucionar o problema o seguinte:


Automao Industrial
56
chegada posto 1
0
11
21
12
31
chegada posto 2
carro em 3 AND
garra fechada
garra fechada
transf. esquerda
fechar garras
fechar garras
23 32
1
22
transf. esquerda
abrir garras
fechar garras
transf. direita transf. direita
chegada posto 2 chegada posto 3
garra fechada
garra
aberta
pedido do posto 1 e
carro em 2 ou 3
pedido do posto 2 e
carro em 1 ou 3
pedido do posto 3 e
carro em 1 ou 2
carro em 1 AND
garra fechada



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.
Sobe_broca SE /broca_up
10

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
57
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
2

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 C
1
e C
2
.

Posto B1 Posto A1
a1
b1
Posto B2 Posto A2
a2
b2
C2 C1


Os carros C
1
e C
2
deslocam-se nos sentidos direito (D) e esquerdo (E), entre os
postos a
1
e b
1
para C
1
, e a
2
e b
2
para C
2
. Os dois carros efectuam o movimento a-b-a,
encontrando-se simultaneamente nas suas posies de repouso (postos a
1
e a
2
) quando
o operador der ordem de partida (boto p).


Automao Industrial
58
a1
4
2
1
6
5
3
Direita
p
Direita
Esquerda Esquerda
b1
b2
a2


Considere agora a seguinte alterao ao sistema: A chegada de C
1
ao seu posto de
repouso a
1
, impe o regresso imediato de C
2
ao posto a
2
(se C
2
ainda se estiver a
dirigir para b
2
). Esta condio adicional, requer a reformulao do grafcet anterior,
obtendo-se o seguinte grafcet.

a1
4
2
1
6
5
3
Direita
p
Direita
Esquerda Esquerda
b1
b2
a2
1


de notar que a evoluo do grafcet condicionada pela actividade da etapa 1.
Vamos considerar uma nova alterao: C
2
no pode iniciar o regresso ao seu posto
de repouso b2 antes de C
1
atingir o posto b
1
.


Automao Industrial
59
a1
4
2
1
7
5
3
Direita
p
Direita
Esquerda
Esquerda
b1
b2
a2
1
8
6


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.
a1
4
2
1
6
5
3
Direita
p
Direita
Esquerda Esquerda
b1
b2 + X1
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
60
a1
4
2
1
6
5
3
Direita
p
Direita
Esquerda Esquerda
b1
b2 . /X2
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 C
1
e C
2
, cujos postos de
repouso so a
1
e a
2
, e que alimentam uma estao situada no posto b;

Posto A1
Posto B
Posto A2
Carro 2
Carro 1
Posio de
espera 1
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
61
1
posto A2
10
9
11
Avanar
espera 2
partida 2
13
12
14
Avanar
Recuar
t/X13/2 min
posto B
/espera 1
espera 2
15 Recuar
posto A1
3
2
4
Avanar
espera 1
partida 1
6
5
7
Avanar
Recuar
t/X6/2 min
posto B
1
espera 1
8 Recuar


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.
/(X13+X14+X15)
2
1
3
Avanar
espera 1
partida 1
5
6
Avanar
Recuar
t/X5/2 min
posto B
espera 1
7
4
Recuar
posto a1
Carro 1 Carro 2
11
12
Avanar
espera 2
partida 2
14
15
Avanar
Recuar
t/X14/2 min
posto B
/(X3+X4+X5+X6)
espera 2
16
13
Recuar
posto a2
10


A organizao hierrquica de Grafcets permite a simplificao do grafcet atravs da
desacoplao das vrias actividades associadas entre si.

Automao Industrial
62
X1
11
10
12
Avanar
espera 1
partida 1
14
15
Avanar
Recuar
t/X14/2 min
posto B
espera 1
16
13
Recuar
posto a1
21
22
Avanar
espera 2
partida 2
24
25
5
Avanar
Recuar
t/X24/2 min
posto B
X1 . /X12
espera 2
26
23
Recuar
posto a2
2
X15 . espera1
+X25 . espera2
X13 + X23
20
1


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.

1
31
10
11
retorno 1
a
32
22
C 39
21
n
retorno 2
Chamada 1
Chamada 2
Sub-tarefa
Processo
Principal
31
0
32
n
X11 + X22
39
X12 + X23
11
10
12
SP1
X39
a
21
22 SP1
C
X39
Processo
Principal
Sub-tarefa
Estrutural Interpretado

Figura 6.14 - Acesso sem conflito a uma subtarefa

Automao Industrial
63
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.

a
25 0
32
26
39
14
n
Sub-tarefa Processo 1
13
31
27 15
c
1 1
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.

Posto A2 Posto A1
a1
Posto B
C1 C2
FP
RE
SP
RD
DP
AP
Tapete de
Evacuao


Os carros C
1
e C
2
transportam peas entre os postos a
1
e a
2
e o posto b, partilhando
o mesmo sistema de descarga comum em b. O movimento dos carros o seguinte:

Automao Industrial
64
com os dois carros nos postos de repouso (a
1
e a
2
), aps a ordem de partida (p), o
carro C
1
desloca-se at b onde descarregado. Terminada a operao de descarga, C
1

regressa ao posto a
1
. De seguida, o carro C
2
desloca-se at ao posto b onde por sua
vez, descarregado aps o quer regressa ao posto a
2
.
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
esquerda
10
11 FP
inferior
13
14
SP; FP
RD; FP
direita
superior
pf
/pf
15 RE
b2
3
4
b1
p
5
7
Esquerda
C1
Esquerda
C2
1
a1
a2
1
6
Direita C2
2
16
12
Direita C1
DP
/FP


NOTA: A etapa 3 simboliza a descarga do carro C
1
e a etapa 6 a descarga do carro
C
2
.
Considere-se agora, que os carros C
1
e C
2
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
65
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.
10
11
FP
inferior
13
14
SP; FP
RE; FP
esquerda
superior
pf
/pf
15
b2
a1
Direita C2
16
12
0
23
b1
P2
/X3
22 Esquerda C2
24
1
25
21 1
3
b1
p1
1
2 Direita C1
4
1
5
DP
Esquerda
C1
direita
RD


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
66

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).

Grafcet Original Grafcet Autnomo
/X1
1
3
. /X3

/X1
1
3
/c . /X3
b . c
2
a

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
67
2 D
5
V
G
t
3
3
1
4
t
4
t
1
t
2


O grfico de situaes acessveis e que representa a evoluo da grafcet perante o
disparo das transies o que se segue.

1
2, 5
4, 5
3, 2
3 ,4
t
1
t
2
t
3
t
2
t
2,
t
3
t
3
t
4


Alternativamente ao grfico, possvel utilizar uma tabela que represente a
evoluo do grafcet.

Situao
Actual
Transies
Sensibilizadas
Transies
Disparadas
Situao
Seguinte
1 t
1
t
1
2,3
2,3 t
2
, t
3
t
2
4, 3
t
3
2, 5
t
2
, t
3
4, 5
4, 3 t
3
t
3
4, 5
2, 5 t
2
t
2
4, 5
4, 5 t
4
t
4
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
68
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.
8
5
6
boies prontos
Produz boies
7
9
A4 pronto
arranque
mistura pronta
11
Mistura
10
1
A3 pronto
fermento pronto
Preparar fermento
2
3
4
leite pronto
Preparar leite
A1 pronto A2 pronto
12
14
15
boio cheio
A5 pronto
13
16
17
boio cheio
A6 pronto
18
iogurte pronto
estufa pronta
t
16
t
15
t
6
t
8
t
10
t
12
t
14
t
1
1
t
9
t
7
t
1
t
2
t
4
t
5
t
3
Enche boies
Estufa
Enche boies


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

11,12,13 15, 17
15, 16
14,16
14, 17
t
11
t
14
t
14
t
12
, t
14
t
10
t
10
, t
11
t
12
12, 14
12, 15
11, 17
11, 16
1 18
evoluo
bloqueada
evoluo
bloqueada
t
12 t
14
t
16
t
15
t
12


Automao Industrial
69

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

boies prontos
Produz boies 9
A4 pronto
mistura pronta
11
Mistura
10
A3 pronto
12
14
15
boio cheio
A5 pronto
16
17
boio cheio
A6 pronto
t
6
t
8
t
10
t
12
t
14
t
11
t
9
t
7
13 19


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
70
8
5
6
boies prontos
Produz boies
7
9
A4 pronto
arranque
mistura pronta.boa
11
Mistura
10
1
A3 pronto
fermento pronto
Preparar pronto
2
3
4
leite pronto
Preparar leite
A1 pronto A2 pronto
12
14
15
boio cheio
A5 pronto
13
16
17
boio cheio
A6 pronto
18
iogurte pronto
estufa pronta
t
16
t
15
t
6
t
8
t
10
t
12
t
14
t
1
1
t
9
t
7
t
1
t
2
t
4
t
5
t
3
19
20
t
18
t
17
/boa
mistura
rejeitada


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

4, 7, 13, 19
2, 5, 10, 13, 19
2, 5, 8, 13, 19
20, 13, 19
t
4
t
9
t
17
t
6
9, 13, 19
1, 13, 19
2, 5, 13, 19
Reactivao das
etapas 13 e 19
t
7
t
18
t
1
t
2


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
71
8
5
6
7
9
A4 pronto
arranque
mistura pronta
Mistura
1
fermento pronto
Preparar pronto
2
3
4
leite pronto
Preparar leite
A1 pronto A2 pronto
t
6
t
8
t
1
t
2
t
4
t
5
t
3
20
t
18
t
17
/boa
mistura
rejeitada





Automao Industrial
72
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.

Sensor
Condicionamento
do sinal
Autmato
Programvel
Grandeza
fsica

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.

Sensor PLC
Comum
Alim/Sinal
Sensor PLC
Comum
Alimentao
Sinal


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
73
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.
~
R
R
C
e
C
1
e
s
Cp(x)
C(x)
B
A
C
1
C(x)
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.

Deteco/Contagem de
Objectos
Controlo de nvel Deteco de fluxo
Mximo
Minim
o


Figura 4.4 - Aplicaes de sensores capacitivos


Automao Industrial
74
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.

Secundrio
Primrio
Blindagem
magntica
Superficie
ferromagntica


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
75
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
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.

Incidncia de luz
L
Superficie A
V
Luz (lumens)
R
e
s
i
s
t

n
c
i
a

(

)

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
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.

E
m
i
s
s
o
r
R
e
c
e
p
t
o
r

Figura 4.8 - Clulas fotoelctricas do tipo barreira

Automao Industrial
76
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
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.

E
m
i
s
s
o
r
R
e
c
e
p
t
o
r

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
Neste tipo de deteco, o objecto que interrompe o feixe de luz, detectado
sempre que o receptor receba uma incidncia de luz.

E
m
i
s
s
o
r
R
e
c
e
p
t
o
r

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
77
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
reflectida
Onda
transmitida


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
78
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 as integer
cdigo as string[4]
dimenso X as float
dimenso Z as float
desgaste na dimenso X as float
desgaste na dimenso Z as float
tempo de vida as integer



Automao Industrial
79
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 Endereo Descrio Parmetros
vermelho 10.0 Luz vermelha -
verde 10.1 Luz verde -
amarelo 10.2 Luz amarela -
arranque 0.0 Arranque do sistema -
paragem 0.1 Paragem do sistema -
TIM 000 TIM 000 Temporizao da luz vermelha #100
TIM 001 TIM 001 Temporizao da luz amarela #40
TIM 002 TIM 002 Temporizao da luz verde #100

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

Automao Industrial
80


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^0 x10^1 *
Terminador FCS Dados
Cdigo do
Cabealho
N de N


Figura 5.2 - Frame de comando

Automao Industrial
81
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^0 x10^1 *
Terminador FCS Dados
Cdigo do
Cabealho
N de N
x16^0 x16^1
Cdigo de Fim

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
82
{
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
83
' 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
84
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
85
ANEXO - REPRESENTAO DA INFORMAO
A representao da informao consiste sempre numa materializao fsica capaz de
temporria ou permanente registar a informao pretendida.

Codificao
Descodificao
Processamento
Armazenamento
Representao
Binria
Representao
Binria
Representao
Externa
Representao
Externa

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
armazenar 256 informaes diferentes (2
n
).
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 0
Posio 1

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
86
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
ser n
3
.
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 (10
i
). A decomposio de um nmero decimal
possvel, multiplicando o valor intrnseco de cada posio pelo seu peso e somando os
produtos obtidos.

5 * 10
2
2 * 10
0
1 * 10
1
Peso Valor Intrinseco
2
10
500
512,3
2 5 1 3
3 * 10
-1
0,3
.

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 (2
i
), uma vez que o
sistema binrio admite dois dgitos.


Automao Industrial
87
1 * 2
3
1 * 2
1
0 * 2
2
Peso Valor Intriseco
2
0
8
11
1 1 0 1
1 * 2
0
1

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.

1 * 16
3
15 * 16
1
10 * 16
2
Peso Valor Intrinseco
240
2560
4096
6896
F 1 A 0
0 * 16
0
0

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 Hexadecimal Binria
0 0 0000
1 1 0001
2 2 0010
3 3 0011
. . .
8 8 1000
9 9 1001
10 A 1010
11 B 1011
. . .
14 E 1110
15 F 1111


Automao Industrial
88
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.

2 13
6
1
2
3
0
2
1 1

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
2 * 0,750 = 1,500
2 * 0,500 = 1,000
L-se neste sentido

Figura A.7 - Converso da parte fraccionria de um numero decimal para binrio

Automao Industrial
89
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,
a
n
a
n-1
a
n-2
... a
1
a
0
. a
-1
a-
2
...

possvel determinar o valor decimal desse numero, aplicando a seguinte expresso,

a
n
* b
n
+ a
n-1
* b
n-1
+ a
n-2
* b
n-2
+... + a
1
* b
1
+ a
0
* b
0
+ a
-1
* b
-1
+ a
-2
* b
-2
+...

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
90
Na tabela que se segue esto ilustrados os cdigos BCD de alguns nmeros decimais.

Decimal BCD
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
10 0001 0000
11 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 Cdigo Gray
0 0000
1 0001
2 0011
3 0010
4 0110
5 0111
6 0101
7 0100
8 1100
9 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 2
i
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
91
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 Y X AND Y
1 1 1
1 0 0
0 1 0
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 Y X OR Y
1 1 1
1 0 1
0 1 1
0 0 0

NOT (-) - que corresponde negao do valor inicial, ou seja, o resultado
Verdadeiro se a condio de entrada for Falsa.

X NOT X
1 0
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 Y X XOR Y
1 1 0
1 0 1
0 1 1
0 0 0


Automao Industrial
92
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.

(X
1
+X
3
)(X
1
+/X
3
)(/X
2
+X
3
)

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
93

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. /(/A + /B)
2. (A + /B).(/A + B)

Você também pode gostar