Escolar Documentos
Profissional Documentos
Cultura Documentos
Controladores Programaveis PDF
Controladores Programaveis PDF
Claudio Richter
2001
Controladores Programveis
Controladores Programveis
Introduo
Os controladores programveis (CP) ou controladores lgico-programveis (CLP ou PLC, em
ingls) surgiram para substituir painis de controle a rel, na dcada de 60. A grande vantagem
dos controladores programveis era a possibilidade de reprogramao. J os painis de
controle a rels necessitavam modificaes na fiao, o que muitas vezes era invivel,
tornando-se mais barato simplesmente substituir todo painel por um novo. Portanto, os CLPs
permitiram transferir as modificaes de hardware em modificaes no software.
Existe um paralelo do que aconteceu com os painis de controle a rels x controladores
programveis acontecendo atualmente na indstria eletrnica. At algum tempo atrs, eram
muito utilizados os CIs de lgica TTL (ou seus equivalentes CMOS), como portas NAND, OR,
FLIP-FLOPs, etc. Eles comearam a ser substitudos por lgica programvel (PAL
Programmable Array Logic) e, recentemente, por CPLD (Complex Programmable Logic Device)
e FPGAs (Field Programmable Gate Array). As FPGAs permitem integrar funes
extremamente complexas, como CPUs inteiras.
Com o sucesso de uso de CLPs na indstria, a demanda por novas funes e maior capacidade
aumentou consideravelmente. Os equipamentos cresceram em poder de processamento,
nmero de entradas e sadas (I/O), e novas funes. Entretanto, estes controladores ainda
usavam lgica discreta e s eram utilizados na indstria, pois seus custos tornavam inviveis
outras aplicaes (automao predial, por exemplo).
O advento do microprocessador permitiu uma diminuio nos custos e tamanho dos CLPs, com
aumento de poder de processamento e confiabilidade. Surgiram as redes locais para
comunicao entre CLPs e entre CLPs e computadores.
Atualmente existe uma forte tendncia a utilizao de pequenos controladores programveis,
controlando processos locais e comunicando-se com outros controladores e com sistemas
supervisrios. Assim, possvel descentralizar o controle industrial, evitando que uma pane
interrompa toda a planta. Muitas mquinas j possuem pequenos CLPs para control-las. Alm
disso, diversos sensores na indstria j utilizam microprocessadores junto ao sensor, para
conformar o sinal de sada (que ainda pode ser 4 a 20mA ou comunicao serial 485, por
exemplo). Com a diminuio de custos dos CLPs, estes passaram a ser utilizados em outros
campos, como na automao predial (controle de iluminao, alarme, ambincia ventilao,
temperatura e umidade, etc). No Brasil ainda pequeno o mercado de automao predial, mas
provavelmente ser um campo promissor em breve (ainda mais com o risco de cortes no
fornecimento de energia eltrica). A automao residencial tambm desponta como uma
aplicao para pequenos CLPs. Neste caso o maior problema, alm dos custos, a fiao
necessria, pois o projeto civil normalmente no prev eletrodutos para isso. Ento, a
comunicao entre diversos sensores e CLPs deve ser implementada via rede 485, rdio ou
rede eltrica. As aplicaes residenciais e prediais so vastas alarme contra intrusos, controle
de painis solares para aquecimento de gua, controle de iluminao, acionamento remoto de
equipamentos, economia de energia eltrica...).
Conceitos Bsicos
Ponto de Entrada
Considera-se cada sinal recebido pelo CLP a partir de dispositivos ou componentes externos
(sensores) como um ponto de entrada. Os pontos de entrada podem ser digitais ou analgicos.
Os pontos de entrada digitais, obviamente, reconhecem apenas dois estados: ligado ou
desligado. J os pontos de entrada analgicos reconhecem mais de dois estados
normalmente um nmero mltiplo de dois (4, 8, 16, 32, 64, 128, 256, ....). O nmero de estados
depende do nmero de bits usado pelo conversor A/D da entrada. Assim, um conversor A/D de
12 bits permite 1024 estados de entrada (210).
Controladores Programveis
Controladores Programveis
Ou seja, com a chave fechada a um longo perodo a corrente i=V/R, e a tenso sobre a bobina
nula (j que delta i = 0). Mas ao abrirmos a chave a corrente tende a zero instantaneamente,
e com isso o termo delta i / delta t tende ao infinito. Resulta que a tenso nos terminais da
bobina tende ao infinito. Esta alta tenso gera um arco eltrico na chave, pois a tenso nos
terminais chega a tal valor que rompe a rigidez dieltrica do ar (cerca de 1000 V/mm).
Por exemplo, digamos que a indutncia de determinada vlvula solenide de 10 mHy, a
corrente de acionamento da vlvula 200 mA, e a tenso de alimentao da vlvula 24 V. O
circuito est ligado quando, repentinamente, a chave aberta. Vamos supor que a chave leve
cerca de 1 s para abrir. Ora, a tenso nos terminais da bobina nesta situao atingiria:
v = 10x10-3 ( -0,2 / 10-6 ) = -2000V !!!
Ou seja, apesar do circuito ser alimentado com uma tenso de apenas 24V, ao abrir a chave
(que pode ser o contato de um rel do CLP) a tenso atinge milhares de volts!
Na verdade, o que ocorre que existe energia armazenada no campo magntico da bobina, e
esta energia dissipada muito rapidamente no arco eltrico que se forma nos contatos da
chave. Obviamente, este arco deve ser evitado, pois diminui muito a vida til da chave (ou rel
do CLP), e a alta tenso gerada pode interferir com sinais de entrada do CLP. A soluo
providenciar um caminho para a corrente da bobina, quando a chave aberta.
No caso de circuitos de corrente contnua, um diodo pode fornecer a soluo:
Quando a chave aberta, a bobina gera a tenso contra-eletromotriz, mas o diodo passa a
conduzir quando esta atinge cerca de -0,7V, mantendo a corrente na bobina. A corrente diminui
lentamente devido a resistncia associada a qualquer bobina (exceto se a bobina fosse feita de
material super-condutor), e evita-se o arco na chave.
Controladores Programveis
Programa Aplicativo
A lgica que avalia a condio dos pontos de entrada e dos estados anteriores do CLP,
executando as funes desejadas e acionando as sadas, chamada de programa aplicativo ou
simplesmente programa do CLP.
Para isso, o CLP l ciclicamente as entradas, transferindo-as para uma memria imagem (que
recebe em cada endereo correspondente a uma entrada o seu valor 0 ou 1 no caso de
entradas digitais, ou um valor numrico no caso de entradas analgicas).
De posse da memria imagem e dos estados internos gerados pelos ciclos de execuo
anteriores, o CLP gera uma memria imagem das sadas conforme as operaes definidas no
programa.
Por fim, a memria imagem das sadas transferida para as sadas (valor 0 ou 1 causa o
desligamento ou acionamento de uma sada digital, ou um valor numrico modifica o valor de
corrente ou tenso de uma sada analgica).
Como para qualquer controle ou automatizao necessrio o maior grau de paralelismo
possvel (em qualquer processo sempre pode ocorrer mais de um evento diferente ao mesmo
tempo) empregado nos CLPs um mtodo que simula paralelismo.
Neste mtodo os parmetros de entrada (estado de ligaes e valores de variveis) so
mantidos numa tabela acessvel por qualquer um dos blocos de instruo que esteja sendo
interpretado (memria imagem das entradas). Uma segunda tabela (memria imagem das
sadas), com os resultados produzidos pela interpretao de cada bloco, vai sendo montada a
medida que os blocos vo sendo lidos e interpretados.
Assim, cada bloco poder utilizar qualquer um dos parmetros de entrada sem que estes sejam
alterados devido interpretao de algum outro bloco. Depois, no final do ciclo, a tabela de
sada (com os resultados) movida diretamente para a tabela de entrada para que os novos
valores estejam disponveis igualmente para todos os blocos no prximo ciclo.
Controladores Programveis
fcil perceber que esta forma de funcionamento faz com que todos os blocos sejam
interpretados em paralelo, o que permite a elaborao de programas segmentados, onde cada
parte pode controlar um processo independentemente e ao mesmo tempo que as demais.
INCIO
VARREDURA
DAS
ENTRADAS
EXECUO
DO
PROGRAMA
ATUALIZAO
DAS
SADAS
Este paralelismo, operado em ciclos, faz com que a atualizao da sada de um bloco de
instruo para a entrada de um ou mais blocos demore o equivalente ao tempo de um ciclo.
Esta demora, ou atraso, deve ser considerado no planejamento de um programa pois a
conexo "encadeada" de, por exemplo, 10 blocos de instruo ter um atraso de 10 ciclos
desde o estmulo na entrada do primeiro bloco at a sada no ltimo. Com um tempo de ciclo de
1/16s do DX isto resultaria em um atraso de 0,625 segundos.
Componentes de um CLP
Terminal de
Programao
CPU:
Processador
Memria de Programa
Memria de Dados
Relgio de Tempo Real
Watch-Dog Timer
Fonte de Alimentao
Entradas e Sadas
Digitais e
Analgicas
Controladores Programveis
Linguagens de Programao
Linguagem de Rels e Blocos (Ladder)
Trata-se de uma linguagem grfica que permite transladar com relativa facilidade os diagramas
eltricos baseados em rels para o CLP. Existe uma linha vertical de energizao a esquerda e
outra linha a direita. Entre estas duas linhas existe a matriz de programao formada por xy
clulas, dispostas em x linhas e y colunas. Abaixo exemplificamos um caso de 32 clulas,
dispostas em 4 linhas e 8 colunas
Barra de
energia esquerda
Barra de
energia direita
Cada conjunto de 32 clulas chamado de uma lgica do programa aplicativo. As duas linhas
laterais da lgica representam barras de energia entre as quais so colocadas as instrues a
serem executadas. As instrues podem ser contatos, bobinas, temporizadores, etc.
A lgica deve ser programada de forma que as instrues sejam energizadas a partir de um
caminho de corrente entre as duas barras, atravs de contatos ou blocos de funes
interligados. Entretanto, o fluxo de corrente eltrica simulado em uma lgica flui somente no
sentido da barra de energia esquerda para a direita, diferentemente dos esquemas eltricos
reais. As clulas so processadas em colunas, iniciando pela clula esquerda superior e
terminando pela clula direita inferior.
Cada clula pode ser ocupada por uma conexo (fio), por um bloco (rel de tempo, operao
aritmtica,etc), ou ainda por um contato ou bobina.
Controladores Programveis
Alm disso, existem algumas regras impostas na linguagem Ladder. Por exemplo, as bobinas
devem ocupar somente a ltima coluna a direita.
Abaixo temos a ordem de execuo das clulas em uma lgica Ladder. Note que o programa
aplicativo pode ser composto de vrias lgicas Ladder. Alm disso, um mdulo de configurao
permite especificar parmetros do CLP, como modelo, velocidade de ciclo, endereo do CLP na
rede de comunicao, etc.
13
17
21
25
29
10
14
18
22
26
30
11
15
19
23
27
31
12
16
20
24
28
32
10
12
13
14
15
16
17
18
19
20
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Controladores Programveis
Contato com
retardo (NA)
Rel de Retardo
(Atraso)
CONTATO
Contato de
tempo (NA)
ALIMENTAO
Rel de Tempo
(Monoestvel)
CONTATO
Rel
Temporizado
ALIMENTAO
Rel Cclico
(Oscilador)
CONTATO
T1
T2
ALIMENTAO
Contactora
Contato
NA
CONTATO NA
CONTATO NF
Bobina da
Contactora
Nota:
NA = Normal aberto.
NF = Normal fechado.
Contato
NF
Controladores Programveis
C IR C U ITO D E F O R A
R
FAS E
F U S V E L
DE COMANDO
F U S V E IS
D E FO R A
C O N TAT O S D A
C O N TAC T O R A C 1
C O N TAT O D O
REL DE SOBRECARGA
C1
B O TO E IR A D E
D E S LIG A M E N T O
B0
E LE M E N TO S D O
REL DE SOBRECARGA
C O N TAT O A U X ILIA R
D E A U TO -R E T E N O
C1
B1
B O B IN A D A
C O N TAC T O R A
C1
AT E R R A M E N T O
M O TOR
NEUTRO
Note que este circuito, no caso de interrupo da rede eltrica, se desarma automaticamente.
Isso importante para segurana. Caso simplesmente fosse utilizada uma chave 1 plo, 2
posies para acionar a contactora, ao retornar a energia eltrica (no caso de um apago, por
exemplo) o motor seria energizado, pois a chave se manteria na posio ligada.
Circuito de Partida Direta Reversora
Neste caso existem dois botes de contato momentneo para partir o motor (B1 E B2). Um
deles faz o motor girar no sentido horrio e o outro no sentido anti-horrio. Um terceiro boto
desliga o motor (B0), independentemente do sentido de rotao. Note os contatos auxiliares NA
das contatoras usados para auto-reteno. Alm disso, as contatoras se inibem mutuamente
atravs dos contatos auxiliares NF. Assim, se a contactora C1 estiver energizada, a contactora
C2 no pode ser energizada, e vice-versa. Isso impede que o operador, inadvertidamente,
acione simultaneamente os dois sentidos de giro do motor. Caso as duas contactoras fossem
energizadas simultaneamente, o resultado seria a queima dos fusveis de fora (pois teramos
curto-cuircuito entre as fases R e S).
Note que para inverter o giro do motor basta inverter duas fases (no caso, so invertidas as
fases R e S).
Controladores Programveis
10
C IR C U ITO D E C O M AN D O
C IR C U ITO D E F O R A
R
FAS E
C1
B0
C1
B1
C2
B2
C2
C1
C1
C2
NEUTRO
R
1
4
6
5
3
T
2
Y (38 0 V )
4
2
5
(2 2 0 V )
C2
Controladores Programveis
11
C IR C U ITO D E C O M AN D O
C IR C U ITO D E F O R A
R
FAS E
B0
C1
C2
C1
B1
C1
RT
C2
C3
C3
1
C3
RT
C1
C2
NEUTRO
energizada
Bobina acionadora do contato
desenergizada
fechado
Contato RNA
aberto
fechado
aberto
Contato RNF
P
ou
PLS
C3
Controladores Programveis
12
Bobinas
Existem os seguintes tipos principais de bobinas:
Bobina simples
BBL Bobina Liga ou SET
BBD Bobina Desliga ou RESET
BOB
L
Nos terminais da bobina BBL
Como podemos perceber, a bobina simples comporta-se como uma contactora comum, ou seja,
quando energizada aciona seus contatos. J a bobina liga e bobina desliga funciona como uma
contactora com reteno, ou seja, um pulso em bobina liga aciona a contactora, e um pulso em
bobina desliga a desativa (como um flip-flop R-S). Note que todos os contatos associados a
uma bobina so acionados quando esta bobina energizada.
As bobinas podem ser associadas a sadas digitais do CLP, e contatos podem ser associados a
entradas digitais. Assim, ao energizar uma entrada o contato associado a ela acionado (se for
um contato NA ele se fechar; se for um contato NF ir abrir). J ao energizar uma bobina
associada a uma sada do CLP fazemos com que esta sada seja ativada (feche o contato do
rel de sada, por exemplo).
Ligaes
As ligaes so os fios de interconexo entre as clulas da lgica Ladder (contatos, bobinas e
blocos de funes). Podemos ter ligaes na horizontal, na vertical, e ainda uma ligao
negada (inversora). As ligaes horizontais e verticais simplesmente conectam sadas de
clulas as entradas de outras clulas. J a ligao negada inverte o sinal na sua entrada, como
mostrado abaixo:
A ligao negada recebe
energia no terminal esquerdo...
NEG
E inverte este pulso em sua
sada.
Curso de Automao Industrial - DEXTER Indstria e Comrcio de Equipamentos Eletrnicos Ltda.
Controladores Programveis
13
Tente vislumbrar a diferena entre uma ligao negada (que inverte o valor binrio em sua
entrada) com a chave NF, que abre a ligao entre sua entrada e sua sada quando a bobina
associada a ela energizada.
Ainda existem vrios blocos para operaes e testes aritmticos, temporizadores, etc. Vamos
examinar apenas dois temporizadores (outros detalhes podem ser obtidos nos manuais dos
fabricantes).
Temporizadores
Vamos examinar dois tipos de temporizadores:
Temporizador na energizao.
TED Temporizador na desenergizao.
TEE
TED
Controladores Programveis
14
Monoestvel
Trata-se de um rel de tempo (o equivalente ao TEE, da Ladder). Ou seja, ao energizar o nodo
de entrada o nodo de sada permanece energizado durante um tempo programado T.
O bloco Monoestvel recebe
energia em sua entrada
(terminal esquerdo)...
e gera um pulso em sua sada
(terminal direito), de durao T.
Atraso
Trata-se de rel de retardo. Ou seja, ao energizar o nodo de entrada o nodo de sada
energizado, aps um tempo programvel T. Ao desenergizar o nodo de entrada o nodo de
sada tambm desenergizado.
O bloco Atraso recebe energia
em sua entrada (terminal
esquerdo)...
e liga sua sada (terminal
direito), aps o tempo T.
T
Pulso
Este bloco opera exatamente da mesma forma que o de atraso, exceto que o atraso mantm a
sada ligada (aps o tempo de atraso especificado) enquanto a entrada estiver ligada e o pulso
produz apenas um pulso na sada, com a durao de 1 ciclo do CLP.
O bloco Pulso recebe energia em
sua entrada (terminal esquerdo)...
e liga sua sada (terminal direito)
durante 1 ciclo do CLP.
1 ciclo do CLP
Oscilador
Este bloco produz pulsos constantemente na sada, espaados por um intervalo de tempo
programvel. Permite piscar lmpadas ou acionar de forma intermitente sirenes de alarme, por
exemplo. Os pulsos de sada tm durao de 1 ciclo de CLP, e possuem perodo programvel
T.
O bloco Pulso recebe energia em
sua entrada (terminal esquerdo)...
e liga sua sada (terminal direito)
durante 1 ciclo do CLP.
1 ciclo do CLP
Controladores Programveis
15
Inversor
A chave inversora , na verdade, uma chave NF com a entrada ligada diretamente fonte
positiva. Assim, se o controle estiver desativo sua sada estar ativa e vice-versa, produzindo a
inverso de sinal.
Relgio
Este bloco permite disparar um processo em um determinado horrio. possvel especificar dia
da semana, hora e minuto. Note o nodo de controle pontilhado, esquerda. Este nodo deve
estar ativo para que o nodo de sada ligue no horrio determinado.
Energia
Este bloco permite forar a ativao de determinada ligao (nodo). Assim, ele equivale a ligar
esta linha ao positivo do circuito. Por exemplo, o bloco de relgio tem uma linha de controle que
deve estar ativa para permitir seu funcionamento. Se quisermos que o relgio funcione
constantemente basta conectar sua linha de controle um bloco de energia.
Nodo EL
Este bloco produz um pulso na sada sempre que o controlador energizado. Com isso, este
bloco permite inicializar parmetros do programa aplicativo como, por exemplo, valor de
variveis.
Nodo ED
Este bloco efetua a mesma funo do bloco anterior, s que o pulso gerado ao faltar energia
eltrica. Obviamente, este bloco s ir ser efetivo se o CLP estiver alimentado por pilhas.
Rtulo
O rtulo permite conectar dois pontos do programa sem a necessidade de puxar uma linha de
um ponto ao outro. Isto til em programas complexos, em que h dificuldade para efetuar
todas as ligaes.
Biestvel
Este bloco, a cada borda de subida do sinal de entrada, troca de estado sua sada. Com ele
podemos memorizar algum estado no programa ou dividir a freqncia de sada de um
oscilador.
O bloco Biestvel recebe
pulsos em sua entrada
(terminal esquerdo)...
Controladores Programveis
16
DXNET
Este o bloco que permite a intercomunicao com vrios DX utilizando-se a rede local
DXNET. Com ele podemos transferir o estado de uma ligao (ativa ou desativa) ou o valor de
uma varivel de um DX para qualquer outro DX. Com este recurso, pode-se fazer
programas bastante complexos apenas distribuindo as tarefas entre os vrios controladores
ligados em rede.
Expanso
O bloco de expanso acessa o conector de expanso existente no DX que, atravs de
circuitos opcionais, permite aumentar o nmero de entradas e sadas de 4 de cada para 12 de
cada ou a instalao de teclado/display para entrada de dados.
PWMin
Este bloco de instruo permite que o DX converta um sinal modulado em largura de pulso
para um valor de 8 bits a ser guardado em uma varivel do programa. O bloco possibilita a
leitura de sinais analgicos, pois efetua a converso analgica para digital (A/D de 8 bits).
Com um circuito usando o tradicional timer 555 e poucos componentes adicionais pode-se
monitorar tenses, temperatura, etc.
Controladores Programveis
17
Nesta tela notamos, a direita, uma srie de desenhos que representam os diferentes
"componentes" que iro formar o "circuito" a ser transmitido para o DX. A rea livre, a
esquerda, onde o "circuito" elaborado. Basta capturar com o mouse os blocos existentes e ir
montando o circuito nessa rea. Por exemplo, se quisermos fazer um rel temporizado que,
uma vez ativado, fique ligado durante 5 segundos, independentemente da entrada,
desenhamos:
Controladores Programveis
18
Se transmitirmos este programa ao DX, cada vez que for energizada a entrada E1 a sada S1
ser acionada durante 5 segundos. Para transmitir o programa basta conectar o DX a porta
paralela do microcomputador via cabo prprio (acompanha o DX) e pressionar a tecla [DX]
existente na tela principal. Esta tecla abre uma janela com vrias opes, entre elas compilao
do programa e transmisso para o DX:
Controladores Programveis
19
Deve surgir uma janela azul, com todos os programas de exemplo que acompanham o PG.
Selecione o programa desejado apontando-o e pressionando a tecla esquerda do mouse. Por
fim, pressione a tecla [Ler]:
Por exemplificar, carregue o programa ALARME. Note os sinais de entrada: E1, E2 e E3. E1
dispara o alarme com retardo de 10 segundos. Esta entrada pode ser ligada um sensor
magntico (reed-switch) ligado na porta de entrada da residncia. Assim, o proprietrio tem 10
segundos para desativar o alarme aps entrar em casa, antes que este dispare. A entrada E2
dispara o alarme imediatamente. Esta entrada pode sensoriar todas as outras aberturas
(janelas, outras portas) atravs de sensores magnticos colocados em srie. Caso qualquer um
deles se abrir o alarme ser disparado. Por fim, E3 ativa o alarme. Esta entrada deve ser ligada
a uma chave, permitindo ligar o alarme. A sada S1 usada para acionar uma buzina ou sirene
de forma intermitente (0,25 s ligado e 0,25 s desligado). Uma vez disparado, o alarme "toca"
durante 1 minuto e depois se rearma. Note que foram usados apenas 8 blocos para elaborar
este programa (entradas e sadas no so contadas como blocos). Como o limite de blocos
para o DX srie 100 de 127, podemos tornar o alarme muito mais complexo ou colocar
outros programas para rodar simultaneamente no mesmo DX!
Controladores Programveis
20
Exemplos de Implementao
Chave de partida direta
Abaixo temos a chave de partida direta, implementada em linguagem de diagrama esquemtico
no controlador DX Srie 100. Note a chave NA de reteno. A entrada E1 desliga a sada S1,
e a entrada E2 liga a sada S1.
Controladores Programveis
21
O mesmo circuito implementado em linguagem de rels e blocos (Ladder). Note que a entrada
E0.0 desliga a sada S1.0, e a entrada E0.1 liga esta sada.
Controladores Programveis
22
Controladores Programveis
23
Controladores Programveis
24
AND
NAND
OR
NOR
XOR
NXOR
00
01
10
11
Controladores Programveis
25
Entrada S
Sada
Inalterada
Indefinida
Nota: Na verdade, existem muitas formas de implementar um flip-flop tipo R-S em um CLP. Por
exemplo, a chave de partida direta j estudada comporta-se como um flip-flop tipo R-S. Os
circuitos mostrados acima so os utilizados no exemplo a seguir (segurana em prensa). No
caso do flip-flop R-S implementado em diagrama esquemtico, foi inserida uma chave NF com
nodo de controle aberto para isolar entrada e sada do controlador DX (entradas e sadas no
podem ser conectadas diretamente). Lembre-se que as chaves so unidirecionais!
Segurana em prensa
Uma prensa automtica deve ativar somente se dois botes, devidamente afastados, forem
pressionados praticamente ao mesmo tempo (dentro de 0,2 segundos). Se um dos botes for
acionado e o outro depois deste tempo estipulado, o cilindro da prensa no deve avanar. Isso
impede que o operador fixe um dos comandos manuais na posio acionada e trabalhe da em
diante apenas com o outro. Desacionando qualquer um dos botes, o cilindro deve recuar
imediatamente. Abaixo, o programa implementado em Ladder.
Controladores Programveis
26
ESTADO 4
ESTADO 2
ESTADO 3
Controladores Programveis
27
0
1
2
3
4
5
Tanque Parado
Entrada de gua
Avisa operador
Agitao
Decantao
Descarga
1
2
3
4
5
para
para
para
para
para
Estado
Estado
Estado
Estado
Estado
2
3
4
5
0
Ou seja, temos uma mquina de estados com todos os estados definidos. Com base nisso
relativamente fcil elaborar o programa para o DX. No programa RESERV.UDX (listado a
seguir), usei a varivel v0 para criar a mquina de estados. Basicamente esta varivel vai
assumindo os valores de 0 a 5, conforme o estado atual. A mudana de estado determinada
pelas condies descritas acima. Esta maneira de resolver problemas de automao (via
mquina de estados) muito poderosa, pois mesmo processos muito complexos podem ser
tratados de forma sistemtica. Alm disso, o translado para o DX praticamente direto. Basta
eleger uma varivel que definir o estado corrente e colocar as condies para a mudana de
seu valor. Agora falta definir as entradas e sadas necessrias. Os sinais de entrada e sada
so:
Entradas:
Sadas:
Sensor Inferior
Sensor Superior
Botoeira Operador
Botoeira Pausa
Vlvula d'gua
Sinal Luminoso
Vlvula Sada e Bomba de Drenagem
Agitador Mecnico
E1
E2
E3
E4
S1
S2
S3
S4
Controladores Programveis
28
4BC03>
>fU\ RQYh_ QSY_^QT_
C0=@D4 ?0A03>
>U^Xe] QSY_^Q
]U^d_ \YWQT_
4BC03>
4BC03> $
34B20A60
4=CA030 34 6D0
Fv\fe\Q TU c QTQ
Fv\fe\Q TU vWeQ
U R_]RQ \YWQTQc
\YWQTQ
1`c $ X_bQc
4BC03> #
4BC03> !
3420=C0p>
0E8B0 >?4A03>A
>U^Xe] QSY_^Q
1fYc _ \e]Y^_c _
]U^d_ \YWQT_
\YWQT_
4BC03> "
1`c $ X_bQc
068C0p>
1WYdQT_b \YWQT_
C0=@D4 ?0A03>
>U^Xe] QSY_^Q
]U^d_ \YWQT_
4BC03>
4BC03> $
34B20A60
4=CA030 34 6D0
Fv\fe\Q TU cQTQ
Fv\fe\Q TU vWeQ
U R_]RQ \YWQTQc
1`c $ X_bQc
\YWQTQ
4BC03> #
4BC03> !
3420=C0p>
0E8B0 >?4A03>A
>U^Xe] QSY_^Q
1fYc_ \e]Y^_c_
]U^d_ \YWQT_
\YWQT_
4BC03> "
1`c $ X_bQc
068C0p>
1WYdQT_b \YWQT_
Controladores Programveis
29
Controladores Programveis
30
Controladores Programveis
31
Prensa Industrial
Outro exemplo de programao via mquina de estados. Ao pressionar uma tecla ligada
entrada E4, a sada S1 (responsvel pela pressurizao do sistema hidrulico ou pneumtico)
acionada. Esta entrada E4 serve como chave liga/desliga para a prensa. O pisto da prensa
deve avanar (S2 - rtulo 5) at o sensor fim de curso ligado E2 (rtulo 1). A seguir o pisto
deve recuar (S3 - rtulo 6) at o fim de curso E1 (rtulo 0). Este movimento deve ser repetido 5
vezes (estado 1 e estado 2 da mquina de estados).
A seguir o DX pula para o estado 3, que continua recuando o pisto via sada S3, mas
temporiza 1 segundo antes de passar para o estado 4, que aciona a sada S4, que abre a
tampa do compartimento da prensa (para expulso do material prensado). Aps dois segundos
a tampa j est aberta e o pisto acionado at o fim de curso E3. Note que a tampa
permanece aberta via sada S4 (rtulo 7).
Depois de atingir E3, o DX pula para estado 6 (v1=6), que faz o pisto recuar at o fim de
curso E2 (rtulo 1), mantendo a porta aberta. Uma vez atingido E2, a porta fechada e o pisto
continua recuando at atingir o fim de curso E1 (rtulo 0). Quando o pisto atinge E1, o sistema
retorna ao estado 0 e, caso a entrada E4 esteja acionada, inicia novo ciclo de prensagem.
Assim, neste processo pode-se identificar 7 estados:
Estado
Estado
Estado
Estado
Estado
Estado
0
1
2
3
4
5
Prensa Parada
Prensa Avanando
Prensa Recuando
Recuo p/abrir Porta
Abertura de Porta
Descarga
Estado 6
Estado 7
Fechamento de Porta
Agora falta definir as entradas e sadas necessrias. Os sinais de entrada e sada so:
Entradas:
Sadas:
E1
E2
E3
E4
S1
S2
S3
S4
Controladores Programveis
32
Note que foram utilizadas duas variveis neste programa (alm das variveis utilizadas nos
blocos de temporizao):
v0
v1
A varivel v0 incrementada cada vez que a prensa entra no estado 1. Para isso foi utilizado
um bloco de Pulso, pois este gera um pulso com durao de apenas um ciclo de execuo do
DX, e assim a varivel incrementada somente uma vez.
O diagrama de estados para este exemplo fica:
6Y] TU Sebc _ 5!
4BC03>
4BC03> &
54270 ?>AC0
BUSeQ `Ycdz_
?A4=B0 ?0A030
>U^Xe] QSY_^Q
]U^d_ \YWQT_
6USXQ `_bdQ
4BC03>
?A4=B0=3>
4BC03> %
9^SbU]U^dQ S_^dQT_b
A42D0 ?54270A
1fQ^|Q `Ycdz_
BUSeQ `Ycdz_
6Y] TU Sebc _ 5"
3_^dQT_b TU SYS\_c - %
6Y] TU Sebc _ 5#
6Y] TU Sebc _ 5!
3_^dQT_b TU SYS\_c , %
4BC03> $
4G?D;B>
1fQ^|Q `Ycdz_
4BC03> !
A42D0=3>
BUSeQ `Ycdz_
4BC03> #
01A4 ?>AC0
1RbU `_bdQ
4BC03> "
A42D0
1`c ! cUWe^T_
B46
BUSeQ `Ycdz_
P ORT A
CMARA DE
P RE NS AGE M
PIS T O
S E NS OR S E NS OR S E NS OR
E1
E2
E3
Tanto a varivel v0 (contador de ciclos de prensagem) como v1 (varavel de estado da mquina
de estados) so inicializados pelo bloco NodoEL no incio do programa. Alm disso, so
utilizadas chaves NF em vrios pontos do programa para isolar nodos, evitando que um estado
interfira no outro.
Controladores Programveis
33
Controladores Programveis
34
Redes de Comunicao
As redes de comunicao surgiram para permitir troca de dados entre controladores
programveis e tambm para sua conexo a computadores. Podem ser do tipo mestre-escravo
- apenas um equipamento pode iniciar comunicao ou multi-mestre - qualquer dos
equipamentos ligados a rede pode iniciar comunicao. Neste caso, necessrio prever
estratgias para evitar conflitos (dois dispositivos usando simultaneamente a rede). Em termos
de topologia, podem ser tipo barramento todos os equipamentos ligados a mesma linha fsica,
ou tipo anel a conexo entre equipamentos feita um a um. No caso de anel, este pode ser
fechado (o ltimo dispositivo liga no primeiro) ou aberto. Existem ainda outras topologias, no
abordadas neste documento.
EQUIP. 1
EQUIP. 2
EQUIP. 3
EQUIP. 4
TOPOLOGIA
BARRAMENTO
Barramento
Comum
EQUIP. 1
EQUIP. 2
EQUIP. 3
EQUIP. 4
TOPOLOGIA
EM ANEL
Controladores Programveis
35
Rede RS-485
Caso sejam necessrias maiores distncias, pode-se usar o perifrico Modem para Controlador
DX. Este equipamento permite conectar os controladores via conexo serial RS-232C ou RS485 (ou ainda rdio-transmissor e rede telefnica, opes abordadas a seguir).
A conexo serial RS-232C muito utilizada em microcomputadores IBM-PC compatveis, para
conexo entre computadores ou instalao de perifricos, como o mouse. Trata-se de conexo
ponto a ponto, ou seja, permite a conexo de apenas dois equipamentos entre si. Permite
conexes confiveis at cerca de 500 metros, em taxas de transmisso lentas (300 bps).
A conexo serial RS-485, ao contrrio da RS-232C, permite ligar diversos equipamentos entre
si (topologia barramento), alm de ser confivel para distncias superiores a 5 Km, em taxas de
transmisso lentas (300 bps).
Controladores Programveis
36
Rdio Transmisso
E caso sejam necessrias distncias ainda maiores, ou no existam linhas fsicas para conexo
dos equipamentos? Neste caso, uma soluo pode ser a rdio-transmisso dos dados. O
controlador DX pode ser conectado a outros controladores via rdio-transmissor, controlado
pelo Modem para Controlador DX. As distncias, neste caso, podem ultrapassar 50 Km. Na
figura abaixo ilustrada a conexo entre trs estaes remotas e uma estao central.
Controladores Programveis
37
Rede Telefnica
Por fim, a conexo entre os controladores ou entre controladores e uma estao central pode
ser efetuada pela rede telefnica. Neste caso, a abrangncia da rede mundial! O Modem para
Controlador DX permite armazenar 16 nmeros telefnicos, cada um com at 16 dgitos, o que
permite inserir cdigo de pas e de rea. Abaixo um exemplo de conexo de dois controladores
DX via rede telefnica. No exemplo abaixo, o controlador DX da estao central comanda
dois rels da estao remota, e indica o estado dos rels da estao remota nas sadas S1 e
S2. A sada S3 indica erro na comunicao.
Controladores Programveis
38
Programas Supervisrios
O programa PG - Programador Grfico permite programar o controlador DX e efetuar
monitorao e simulao de programas, sendo uma eficiente ferramenta para desenvolvimento
e teste dos programas aplicativos elaborados para o DX. Permite inclusive descarregar
programas e monitor-los remotamente, via rede telefnica.
Entretanto, quando se trata de obter dados do processo controlado o programa PG no a
ferramenta mais adequada. Isso porque o enfoque do PG no programa aplicativo, e no no
processo. Assim, variveis de processo no podem ser convertidas de seu valor binrio para a
respectiva grandeza que representam via PG. Isso dificulta muito a visualizao destas
grandezas. No possvel associar a determinadas variveis nveis de alarme, nem visualizar o
processo em si, independentemente do programa aplicativo desenvolvido para control-lo. Para
isso, necessrio o uso de um programa supervisrio. A Dexter comercializa o programa PGR
Programa de Gerenciamento Remoto, capaz de monitorar o processo via rede telefnica,
indicando estados de nodos (estados binrios), variveis (grandezas analgicas) e constantes
(set points do programa). Permite ainda a associao de nveis de alarme as grandezas,
indicando visual e auditivamente condies de perigo.
O software PGR roda em microcomputadores IBM-PC compatveis, sob Windows 95 ou 98.
Basicamente, ele permite criar um arquivo de estaes remotas, com cdigo e nome da
estao, nmero do telefone remoto, senha de acesso, disposio e parmetros dos dados
monitorados e tela de fundo. Para cada estao remota estes itens so configurveis e
armazenados no arquivo de estaes. Ao conectar uma estao remota (o PGR usa o modem
interno do microcomputador), a tela principal do PGR apresenta a tela configurada para a
estao escolhida. possvel monitorar e/ou modificar o valor de variveis, o valor de
constantes e o estado de nodos do controlador DX. Com isso, pode-se atribuir, por exemplo, a
uma varivel do controlador a temperatura ambiente e, no PGR, monitorar esta temperatura a
distncia; ligar um nodo, que pode modificar o comportamento do controlador ou acionar
diretamente um dispositivo, como um motor; pode-se ainda trocar o valor de uma constante de
processo (set point), como a temperatura ambiente desejada em uma instalao.
Abaixo dos nodos, constantes e variveis, existe a possibilidade de desenhar um esquemtico
do processo, facilitando a visualizao da correspondncia entre os nodos e variveis e os
respectivos dispositivos reais da instalao remota. O PGR aceita arquivos para tela de fundo
no formato bit map (.BMP), windows metafile (.WMF) ou enhance metafile (.EMF). A figura
apresenta a tela do PGR com alguns nodos e variveis sendo monitorados. No caso de
variveis (grandezas analgicas), alm do nome atribudo varivel, visualizado seu valor (j
convertido para a unidade correta, segundo frmula programada no PGR), tanto numrico
quanto por representao em grfico de barra (bargraph).