Sie sind auf Seite 1von 13

Novatec Editora

Csar da Costa
Projetando Controladores
Digitais com FPGA
15
Captulo 1
Introduo
No primeiro captulo feita uma introduo geral sobre controladores digitais
baseados em microprocessador tradicional, seu princpio de funcionamento, ciclo
de trabalho da CPU, tempos tpicos de processamento, tempos de atraso, tcnicas
de programao e a linguagem Ladder. O objetivo deste captulo no ensinar
o leitor a projetar controladores digitais microprocessados, mas sim apresentar
algumas caractersticas de seu funcionamento, que auxiliaro os leitores no de-
senvolvimento de sistemas de controle digitais.
1.1 Controladores digitais tradicionais
Podem-se dividir os controladores digitais tradicionais em dois tipos: controlado-
res digitais dedicados e controladores lgicos programveis, tambm conhecidos
como CLPs.
Os controladores digitais dedicados so basicamente aplicaes de microcontro-
ladores em tarefas de controle, cujo propsito especco executar um algoritmo de
controle gravado em sua memria ROM e, em geral, comunicar-se com dispositivos
externos para troca de informaes e atuao neles. So, por exemplo, a medio e o
controle de temperatura, ligar /desligar motores, ler um teclado em sua entrada etc.
Programa-se a ROM com cdigos de mquina ou linguagem Assembler. O projetis-
ta deve conhecer bem o conjunto de instrues do microcontrolador utilizado, seu
hardware e a tarefa de controle a ser realizada.
O desenvolvimento de software em linguagem de baixo nvel (Assembler),
para controladores digitais dedicados, muito intuitivo e pessoal; raramente os
projetistas envolvidos desenvolvem seus programas dentro das regras de progra-
mao estruturada.
Projetando Controladores Digitais com FPGA 16
Tal fato destaca a diculdade de alterao do projeto pelo usurio nal; sempre
h necessidade da presena do projetista original, o que comercialmente pode ter
suas vantagens para o fabricante do controlador. Entretanto, do ponto de vista
tcnico, contraria a grande exibilidade oferecida pelos controladores lgicos
programveis (CLPs), ou seja, para um mesmo hardware existe uma innidade de
aplicaes especicadas em software, passveis de alteraes pelo usurio nal.
O desenvolvimento dos controladores lgicos programveis (CLPs) comeou
em 1968, em resposta a uma requisio de engenharia da Diviso Hidramtica
da General Motors (GM). Naquela poca, a GM freqentemente passava dias,
ou at semanas, alterando os sistemas de controle baseados em rels, sempre que
ocorriam mudanas em um modelo de carro ou eram introduzidas modicaes
na linha de montagem.
Para reduzir o alto custo de instalao decorrente dessas alteraes, a especi-
cao do controlador digital necessitava de um sistema de estado slido, micropro-
cessado, com a exibilidade de um computador, mas que pudesse ser programado
e mantido pelos engenheiros e tcnicos do cho de fbrica. Tambm era preciso
que suportasse o ar poludo, a vibrao, o rudo eltrico e os extremos de umidade
e temperatura encontrados normalmente num ambiente industrial.
O CLP um dispositivo de estado slido, microprocessado, capaz de armazenar
instrues para a implementao de funes de controle, tais como seqncia
lgica, temporizao e contagem, alm de realizar operaes lgicas e aritmticas,
manipulao de dados e comunicao em rede.
A Figura 1.1 ilustra a arquitetura bsica de um CLP, formado por uma fonte
de alimentao, uma Unidade Central de Processamento (CPU), um sistema de
memria e circuitos de entrada e sada.
S
A

D
A
S
E
N
T
R
A
D
A
S
GND
Y0
Y1
Y2
P
VCC
X0
X1
X2
Fonte de alimentao
Sistema de memria
Unidade Central de
Processamento
(CPU)
Isolamento ptico Isolamento ptico
Elementos de sada Elementos de entrada
Figura 1.1 Arquitetura bsica de um CLP.
17 Captulo 1 Introduo
A fonte de alimentao o componente responsvel pelo fornecimento ade-
quado de energia eltrica para a CPU e para os circuitos de entrada e sada.
Os circuitos de entrada formam a interface pela qual os dispositivos enviam
informaes de campo para o CLP. As entradas podem ser digitais ou analgicas
e so provenientes de elementos de campo, como sensores, botes, pressostatos,
chaves m-de-curso etc.
Os dispositivos de sada, tais como solenides, rels, contatores, vlvulas,
luzes indicadoras e alarmes, esto conectados aos circuitos de sada do CLP. As
sadas, de maneira similar s entradas, podem ser digitais ou analgicas e so
geralmente isoladas do campo por meio de isoladores galvnicos, como acopla-
dores pticos e rels.
O sistema de memrias constitudo tipicamente por memrias ROM e RAM.
O programa e os dados armazenados no sistema de memria so geralmente
descritos a partir dos seguintes conceitos:
Memria residente (ROM): contm os programas considerados parte in-
tegrante do sistema, permanentemente armazenados, que supervisionam e
executam a seqncia de operaes, as atividades de controle e a comunicao
com os dispositivos perifricos, bem como outras atividades.
Memria do usurio (RAM): armazena o programa aplicativo do usurio,
ou seja, o programa de aplicao.
Memria de dados ou tabela de dados (RAM): nessa rea so armazena-
dos os dados associados ao programa de controle, tais como valores de
temporizadores, contadores, constantes etc.
Memria imagem das entradas e sadas (RAM): rea que reproduz o estado
de todos os dispositivos de entrada e sada conectados ao CLP.
A CPU do CLP formada pelo microprocessador e seus circuitos de controle
e comunicao. O microprocessador o elemento principal da arquitetura do
controlador digital e tem como funes o controle dos barramentos, o gerencia-
mento das comunicaes com a memria e os dispositivos de entrada e sada, e
a execuo das instrues.
O microprocessador interpreta os sinais de entrada, executa a lgica de con-
trole segundo as instrues do programa de aplicao, realiza clculos e executa
operaes lgicas, para, em seguida, enviar os sinais apropriados s sadas. De um
modo simplicado, o ciclo de instruo do microprocessador utiliza a seqncia
de atividades apresentadas na Figura 1.2.
Projetando Controladores Digitais com FPGA 18
Reset
Carrega o PC com o endereo inicial
PC = 00
Busca a instruo na memria,
cujo endereo o contedo do PC
Incrementa o PC
PC = PC + 1
Decodifica a instruo
Executa a instruo
Incio
Busca a
prxima instruo
Figura 1.2 Ilustrao do ciclo de busca e execuo de instruo.
Durante o ciclo de instruo, o microprocessador busca as instrues arma-
zenadas na memria e executa cada uma delas. A execuo do programa consiste
na repetio seqencial do processo de busca e execuo das instrues.
Pode-se justicar a diviso do processamento da instruo em dois principais
estgios, da seguinte forma:
1. a busca da instruo uma operao comum para cada instruo, consiste
na leitura de uma localizao de memria e o posterior carregamento do
seu contedo no registro de instruo;
2. a execuo da instruo pode envolver vrias operaes e depende da
natureza da instruo.
A Figura 1.3 apresenta um diagrama de tempos envolvidos na execuo de
um ciclo de instruo. Nota-se que o ciclo de instruo igual soma do ciclo
de busca com o ciclo de execuo; o ciclo de mquina M corresponde ao tem-
po que o microprocessador leva para acessar um endereo de memria ou um
dispositivo de entrada e sada, e o estado T um perodo de tempo que est
vinculado ao clock do sistema. Tambm a unidade de tempo que determina o
tempo consumido na execuo do ciclo de instruo.
19 Captulo 1 Introduo
M1 M2 M3 M4 M5 M6
T12 T11 T10 T9 T8 T7 T5 T3 T4 T6 T2 T1
Ciclo de busca Ciclo de execuo
Figura 1.3 Tempos envolvidos no ciclo de instruo.
Ao se analisar o diagrama de tempo da Figura 1.3, verica-se que o ciclo de
busca consome cerca de 40% dos estados totais de um ciclo de instruo, em
uma tarefa que no est diretamente relacionada com o controle do processo, no
qual o microprocessador est inserido.
Para melhor entendimento do tempo gasto com o ciclo de busca, vejamos a
execuo da soma de dois nmeros pelo microprocessador, conforme mostra a
Figura 1.4. Considerando-se a utilizao de um clock de 4 MHz pelo micropro-
cessador, ser gerado um estado T com perodo de 0,25 s.
Fim
Incio
A 04 h
B 03 h
A A + B
Clock = 4 Mhz
Estados Endereos Mnemnico Operando Comentrios
Tempo de estado = 0,25 s
7
0000
0002
0004
0005
MVI
MVI
ADD
HLT
A, 04
B, 03
B
Move 04 para A
Move 03 para B
Soma A e B para A
Pra.
4
5
7
Figura 1.4 Execuo da soma de dois nmeros pelo microprocessador.
Como a operao de somar os dois nmeros consome um total de 23 estados,
temos um ciclo total de instruo de 5,75 s, sendo que cerca de 2,3 s (40% do
ciclo total) so gastos com ciclos de busca de instrues em memria.
O ciclo de busca um tempo de processamento perdido, presente em todos os
ciclos de instrues dos controladores digitais microprocessados, que no pode ser
eliminado, pois a arquitetura interna dos microprocessadores tradicionais no per-
mite a sua recongurao por hardware ou software. Este assunto, recongurao
de hardware, voltar a ser abordado no Captulo 3.
Projetando Controladores Digitais com FPGA 20
1.2 Princpio de funcionamento
O CLP funciona segundo um programa permanentemente armazenado em
memria ROM, que executa um ciclo de scan chamado scan time e consiste de
uma srie de operaes realizadas de forma seqencial e repetida. A Figura 1.5
apresenta, em forma de uxograma, as principais fases do ciclo de scan de um
CLP. Os elementos mais importantes de um ciclo de scan so:
Atualizao das entradas: durante a varredura das entradas, o CLP exa-
mina os dispositivos externos de entrada quanto presena ou ausncia
de tenso, isto , um estado energizado ou desenergizado. O estado das
entradas atualizado e armazenado temporariamente em uma regio da
memria chamada tabela imagem das entradas.
Execuo do programa: durante a execuo do programa, o CLP examina
as instrues do programa de controle (armazenado na memria RAM),
usa o estado das entradas armazenadas na tabela imagem das entradas e
determina se uma sada ser ou no energizada. O estado resultante das
sadas armazenado em uma regio da memria RAM chamada tabela
imagem das sadas.
Atualizao das sadas: baseado nos estados dos bits da tabela imagem
das sadas, o CLP energiza ou desenergiza seus circuitos de sada, que
exercem controle sobre dispositivos externos.
Realizao de diagnsticos: ao nal de cada ciclo de scan, a CPU verica as
condies do CLP, ou seja, se ocorreu qualquer falha em algum de seus com-
ponentes internos (fonte, circuitos de entrada e sada, memria etc.).
L as entradas
(tabela imagem das entradas)
Executa o programa
de aplicao
Atualiza as sadas
(tabela imagem das sadas)
Realiza diagnsticos
Incio
Figura 1.5 Fluxograma bsico de um ciclo de scan.
21 Captulo 1 Introduo
1.2.1 Ciclo de trabalho da CPU
O CLP executa cada linha do programa de forma seqencial e no volta atrs para
executar a linha anterior, at que se faa a prxima varredura do programa. Ele no
executa loops ou desvios, como na programao tradicional. Seu processamento
segue a seqncia do ciclo de scan apresentado na Figura 1.5, que no permite
retroceder na seqncia de execuo do programa.
As linhas so normalmente ordenadas de forma a congurar uma seqncia de
eventos, ou seja, a linha mais acima o primeiro evento e, assim, sucessivamente.
A Figura 1.6 exibe uma seqncia de eventos em um programa em lingua-
gem Ladder, que controla um estacionamento de veculos. Tanto nos diagramas
eltricos quanto nos programas em linguagem Ladder, o estado das instrues
de entrada (condio) de cada linha determina a seqncia em que as sadas
so acionadas.
Figura 1.6 Seqncia de eventos em programa Ladder.
A Tabela 1.1 ilustra os tempos tpicos de execuo de algumas instrues da lin-
guagem Ladder, por exemplo, de um CLP fabricado pela empresa Allen Bradley.
Segundo a Allen Bradley, o tempo em microssegundos para executar uma
instruo quando sua condio verdadeira maior que o tempo necessrio
para executar a mesma instruo quando sua condio falsa.
Projetando Controladores Digitais com FPGA 22
Tabela 1.1 Tempos tpicos de execuo de instrues do CLP
Tipo de instruo
Tempo de execuo (s)
(instruo falsa)
Tempo de execuo (s)
(instruo verdadeira)
Verificar se uma entrada
est "energizada"
1,54 1,72
Verificar se uma entrada
est "desenergizada"
1,54 1,72
"Energizar" uma sada 4,43 4,43
Temporizador (ON) 30,38 38,34
Contador (UP) 26,67 29,28
Contador (DOWN) 27,22 32,19
Comparao igual 6,60 21,52
Comparao maior que 6,60 23,60
1.2.2 Tempos tpicos de processamento
O tempo de processamento o espao de tempo que o CLP leva para detectar uma
entrada e energizar a sada correspondente. Os componentes do tempo de processa-
mento incluem: tempo de atualizao das entradas, tempo de execuo do programa,
tempo de atualizao das sadas e tempo de housekeeping da CPU.
O tempo de housekeeping da CPU o tempo, a cada incio de ciclo de scan,
que a CPU verica as condies iniciais do CLP, ou seja, se ocorreu alguma falha
em um dos seus componentes internos (fonte, circuito de E/S, memria etc.).
A Tabela 1.2 apresenta um exemplo dos tempos tpicos envolvidos no processa-
mento de um ciclo de scan de um micro CLP, da empresa Allen Bradley.
Tabela 1.2 Tempos tpicos de um ciclo de scan
Descrio do processamento Tempo mximo (s)
Tempo de atualizao das entradas 8,0
Tempo de execuo do programa 9,7
Tempo de atualizao das sadas 8,0
Tempo de housekeeping (diagnsticos) 18,0
Tempo total de processamento (mximo) 43,75
23 Captulo 1 Introduo
1.2.3 Tempos de atraso no processamento
O ciclo de scan muitas vezes pode ocasionar problemas graves no controle de
processos industriais, por no reconhecer uma entrada durante seu ciclo de fun-
cionamento. Isso pode ocorrer com sinais de entrada de resposta rpida, como,
por exemplo, sensores com resposta em torno de 10 kHz.
Dependendo do tempo de variao do estado lgico dos sinais de entrada, o
CLP pode demorar mais tempo para acionar a sada ou mesmo nunca reconhecer
uma entrada. Para ilustrar essa situao, a Figura 1.7 mostra a variao de trs
sensores de resposta rpida (sensor 1, sensor 2 e sensor 3) ligados na entrada de
um CLP. As variaes ocorrem durante trs ciclos de varredura (scan).
Scan 1 Scan 2 Scan 3
IN
Execuo do
OUT
Sensor 1
OFF
ON
IN
Execuo do
OUT
Sensor 2
Execuo do
IN OUT
Sensor 3
Figura 1.7 Sensores de resposta rpida durante os ciclos de scan.
No primeiro ciclo de scan, o sensor 1 muda do estado desligado para ligado,
durante a fase de execuo do programa. Dessa forma, a transio do sensor 1
no reconhecida nesse ciclo, sendo reconhecida somente na fase de leitura das
entradas no segundo ciclo de scan.
O sensor 2 muda de estado na fase de atualizao das sadas do segundo ciclo
de scan; sua transio no reconhecida durante esse ciclo, mas sim durante o
terceiro ciclo de scan, durante a fase de atualizao das entradas desse ciclo.
A mudana de estado do sensor 3 no ser reconhecida em nenhum desses
ciclos, porque tem resposta muito rpida e ocorre durante a fase de execuo do
programa no terceiro ciclo de scan.
Para evitar esse tipo de problema, o tempo do ciclo de scan do CLP deve ser
menor que os tempos de amostragens dos sinais envolvidos no sistema.
Projetando Controladores Digitais com FPGA 24
1.3 Programao
A programao do CLP pode ser elaborada em vrias linguagens de programao.
A organizao internacional IEC (International Electrotechnical Commission) a
responsvel pela padronizao das linguagens de programao para CLP, sendo a
norma IEC 61131-3 Programing Languages a responsvel pela classicao dessas
linguagens, conforme ilustra a Tabela 1.3.
Tabela 1.3 Classificao das linguagens de programao
Classes Linguagens
Tabulares Tabela de Deciso
Textuais
IL (Instruction List)
ST (Structured Text)
Grfcas
LD (Diagrama de Rels)
FBD (Function Block Diagram)
SFC (Sequential Flow Chart)
A forma de programao pode ser remota (off-line) ou local (on-line), por
meio de teclados especiais, interfaces grcas ou por de microcomputador padro
IBM PC. A programao executada e posteriormente transferida para o CLP,
via porta de comunicao RS232C ou RS485.
1.3.1 Linguagem de diagrama de rels (Ladder)
Apesar das tentativas de padronizao da norma IEC 61131-3, ainda no existe
uma padronizao rigorosa para programao em linguagem de diagrama de rels
(Ladder Diagram). Em outras palavras, a linguagem Ladder de um fabricante de
CLP no funciona no CLP de outro fabricante; o que existe uma semelhana na
representao grca dos diversos fabricantes, que representa esquematicamente
o diagrama eltrico de fcil entendimento, com boa aceitao do mercado.
A linguagem de diagrama de rels (Ladder) uma simbologia construda por
linhas numa planilha grca, na qual cada elemento representado como uma
clula. Cada clula ou elemento grco uma macroinstruo desenvolvida a
partir de instrues do microprocessador.
A Figura 1.8 apresenta um painel de smbolos grcos utilizados na programa-
o Ladder pelo software FPWIN GR, congurador dos CLPs FP0, FP1 e FP-M,
fabricados pela empresa japonesa Matsushita Electric Works.
25 Captulo 1 Introduo
Figura 1.8 Painel de programao Ladder do software FPWIN.
Um programa em linguagem Ladder assemelha-se bastante a um diagrama
de contatos eltricos, em que os smbolos grcos representam os dispositivos
reais e a maneira como esto conectados.
O programa em linguagem Ladder utiliza smbolos semelhantes: nesse caso,
os smbolos grcos representam macroinstrues lgicas do programa de apli-
cao, armazenado na memria do usurio (RAM).
No existe barra de alimentao, nem o uxo de corrente ao longo do progra-
ma. Outra diferena que em um diagrama eltrico descrevem-se os dispositivos
como abertos ou fechados (energizados ou desenergizados). No programa
em linguagem de diagrama de rels, as macroinstrues so condies lgicas
verdadeiras ou falsas.
A Figura 1.9 apresenta um trecho de um programa em linguagem Ladder. As ma-
croinstrues mais freqentemente usadas so chamadas de Normalmente Aberto
(NA), Normalmente Fechado(NF) e Energizar Sada(OUT). Elas so representadas
na forma de smbolos grcos colocados nas linhas do programa, sendo por isso tam-
bm conhecidas como simbologia de contatos de rels.
Figura 1.9 Trecho do programa em linguagem Ladder.
Projetando Controladores Digitais com FPGA 26
1.4 Teste de avaliao
1. Quais as diferenas bsicas (hardware e software) entre um controlador
digital dedicado baseado em microcontrolador e um controlador lgico
programvel (CLP)?
2. O que um ciclo de instruo do microprocessador?
3. Descreva por que o ciclo de busca um tempo de processamento perdi-
do, presente em todos os ciclos de instrues dos controladores digitais
microprocessados.
4. Explique como funciona um ciclo de scan (scan time) de um CLP.
5. Apesar de sua exibilidade, por que a arquitetura interna de um micro-
controlador no pode ser recongurada pelo usurio nal?
6. O que uma linguagem Ladder?
7. Apesar de padronizada pela norma IEC 61131-3, por que a linguagem Ladder
de um fabricante no funciona no CLP de outro fabricante?
8. Durante a execuo de um ciclo de scan de um CLP, um sensor ligado
em uma de suas entradas atuado. Entretanto, o CLP no detecta a sua
atuao. Explique o que pode ter ocorrido.
9. Seguindo a linguagem Ladder macroinstruo normalmente aberta ( ),
normalmente fechada ( ) e energizar sada ( ) , programe as seguintes
expresses algbricas:
a) BC + CD + AD
b) AB + BC
c) BC + CD + ABD

Das könnte Ihnen auch gefallen