introdução à programação de autómatos industriais em linguagem fbd
TRANSCRIPT
Introdução à Programação deAutómatos Industriais
em Linguagem FBD( incluí esquemas de ligação utilizando o LOGO! 230 RC)
Versão 022009/2010
António Henriques
Advertência
Este documento tem finalidade didáctica, pelo que, a instalação e aplicação a casos reais deve ter em conta as especificidades dos equipamentos/sistemas a instalar, nomeadamente no que respeita às protecções eléctricas.A consulta dos manuais dos fabricantes, poderá ser esclarecedora e permitirá um aprofundamento do tema.
Introdução
Norma IEC 1131-3
A IEC 1131-3 é uma norma internacional que tem como objectivo padronizar as linguagens
de programação de Controladores Lógicos Programáveis na área de automação industrial.
Foi desenvolvida para dar resposta a pressões da indústria para uma maior
compatibilidade entre os PLCs e a sua programação.
A norma define cinco linguagens, sendo duas gráficas, Ladder Diagram (LD) e Function
Block Diagram (FBD), duas textuais, Instruction List (IL) e Structured Text (ST), e uma
quinta , Sequential Function Chart (SFC - “GRAFCET”) muito utilizada em programação
sequencial de eventos através da definição de etapas e condições de transição entre elas.
Linguagem FBD
A linguagem FBD, Function Block Diagram, é uma linguagem gráfica que permite descrever
um processo através de um conjunto de blocos interligados de forma semelhante a um
circuito electrónico.
A norma IEC1131-3 inclui uma variedade de blocos de funções padrão para diferentes
operações: lógicas, temporização, contagem, etc.
LOGO!Soft Comfort
“LOGO!Soft Comfort” é uma aplicação que permite a programação dos Módulos Lógicos
(Relés) Programáveis “LOGO!” fabricados pela Siemens, que utiliza a linguagem FBD.
O método para a programação passa pela escrita das equações lógicas associadas às
saídas, isto é, determinar em que condições as saídas estão activas ou não. Podemos
partir de um esquema eléctrico e/ou da descrição do funcionamento do processo a
automatizar.
A interface da aplicação LOGO!Soft Comfort pode apresentar-se conforme mostra a figura.
Podemos distinguir três áreas diferentes: área da biblioteca de blocos, área de
programação e área de informação, para além de duas barras de ferramentas/comandos.
As eventuais dificuldades no uso deste software são facilmente ultrapassadas através da
consulta à ajuda (help) do programa, já que a mesma está escrita de forma bastante clara
e objectiva.
Biblioteca de Blocos
Área de programação
Mostrar/esconder biblioteca dos blocos
Apontador do rato
Linhas de ligação entre as saídas e entradas nos blocos
Mostrar/esconder grupo de blocos de funções lógicas básicasMostrar/esconder grupo de blocos de funções especiais
Mostrar/esconder grupo de blocos de constantes e bornes de entrada e saída
Caixa de textoInterrupção da ligação entre blocos com colocação de etiquetas (destino e origem)SimulaçãoTeste online (LOGO! ligado ao PC)
Biblioteca de BLOCOS Área de PROGRAMAÇÃO
Exemplo de programa editado.
Nov
o
Abr
ir
Fech
arG
rava
rIm
prim
ir
Cor
tar
Cop
iar
Col
arE
limin
ar
Des
faze
rR
efaz
er
Alin
har g
loba
lA
linha
r col
unas
Alin
har l
inha
s
Alte
rar f
unci
onam
ento
do
LOG
O!
Tran
sfer
ir pr
ogra
ma
para
o L
OG
O!
Tran
sfer
ir pr
ogra
ma
para
o P
C
Sel
ecci
onar
linh
as d
e lig
ação
ent
re b
loco
sA
mpl
iar
Red
uzir
Org
aniz
ação
das
pág
inas
Com
utaç
ão p
ara
diag
ram
a (p
rogr
ama)
LA
DD
ER
Aju
da
Exemplos de programação
1 - Programa para arranque e paragem de motor eléctrico.
Se levarmos em conta o esquema de comando de arranque directo de um motor eléctrico
com botão de marcha e paragem, podemos estabelecer a equação da saída considerando
as seguintes variáveis:
Entrada: S1 (paragem)
S2 (marcha)
Saída: KM1 (contactor motor)
Ficando o programa, conforme a figura abaixo:
Antes de fazermos a simulação, devemos parametrizar
o tipo de entrada associada a cada botão.
)( 1211 KMSSKM
Ao passarmos para a simulação, ficamos com os seguintes ecrãs:
Motor parado (ou após ordem de paragem)
Motor em funcionamento (após ordem de marcha)
Se quisermos substituir o botão de
paragem, normalmente fechado, por
um outro, normalmente aberto, temos
de negar a entrada respectiva. O
programa fica assim:
A função desempenhada por este pequeno programa pode ser resolvida de forma mais
simples, utilizando o bloco de função “Relé de auto-retenção” (Set/Reset).
Motor parado (ou após ordem de paragem)
Motor em funcionamento (após ordem de marcha)
O seguinte esquema de comando para implementação do circuito tem em conta o
esquema de potência com protecção por disjuntor magnético publicado no documento
“Automatismos Eléctricos – Arranque de Motores Assíncronos Trifásicos”.
2 - Programa para arranque e paragem de motor eléctrico, com dois sentidos de marcha (inversão de marcha).
A condição para que um motor trifásico inverta o sentido de marcha é trocar duas fases no
seu circuito de alimentação (potência). Isto consegue-se através do uso de dois
contactores motor ligados como mostra a figura.
Daqui se conclui que são necessárias duas saídas. Isto é duas variáveis de saída.
Relativamente às variáveis de entrada é fácil estabelecê-las. Estão associadas aos botões
que dão as ordens de marcha para: rotação no sentido horário, no sentido anti-horário e
paragem. Isto é três variáveis de entrada.
Se estabelecermos as equações das saídas
a partir do esquema de comando da figura,
obtemos:
O programa fica assim (solução “a”):
2)12(11 KMKMSSKM
1)22(12 KMKMSSKM
Podemos em alternativa desenvolver um programa com recurso ao bloco (relé) de auto-
retenção. Para isso vamos definir as condições (equações) que permitem activar o “set” e o
“reset” de cada uma das saídas.
A saída Q1 (KM1) é activada quando se prime o botão de marcha S2 (coloca o valor lógico
a 1 na entrada I2) e simultâneamente a saída Q2 estiver inactiva. A saída Q2 (KM2) é
activada quando se prime o botão de marcha S3 e simultâneamente a saída Q1 estiver
inactiva. As saídas passam ao estado inactivo quando se prime o botão S1(o botão com
contactos normalmente fechados tem de ser substituído por outro com contactos
normalmente abertos).
(solução “b”)
Os programas descritos garantem que quando uma saída estiver activa, a outra não se
pode activar simultaneamente, isto é, proporciona um encravamento que evita que os
contactores ligados às saídas provoquem um curto-circuito por erro de operação.
121][
132][
221][
IQQreset
QIQset
QIQset
A implementação do circuito para a solução “a” pode ser feita de acordo com o esquema
seguinte.
(Se utilizarmos o programa da solução “b” temos de substituir o botão S1 por outro com
contactos normalmente abertos)
3 - Programa para arranque sequencial de dois motores eléctricos e paragem simultânea.
O esquema de comando mostra a solução em
lógica cablada. A análise do circuito permite-
nos identificar as seguintes variáveis:
Entrada: S1 e S2
Saída: KM1 e KM2
Interna: Temporizador ao trabalho que vamos
designar por TON
As equações são:
O programa fica assim (solução “a”):
OUTTONKM
KMTON
KMSSKM
2
1
)12(11
Utilizando o bloco (relé) de auto-retenção, e substituindo o botão S1 normalmente fechado,
por outro normalmente aberto, obtemos o seguinte programa.
(solução “b”)
Como exercício de consolidação, sugere-se que faça o programa para a presente situação
introduzindo sinalização de defeitos (sobrecarga para cada um dos motores) e
funcionamento (parado, motor 1 e motor 2 activos).
4 - Programa para arranque estrela/triângulo e paragem de motor eléctrico.
Partido do esquema do circuito de comando podemos identificar as seguintes variáveis:
Entrada: S1 e S2
Saída: KM1, KM2 e KM3
Interna: Temporizador ao trabalho que vamos designar por TON
As equações são:
O programa fica assim:
Se quisermos fazer o programa utilizando blocos (relé) de auto-retenção, temos que definir
as equações que provocam a activação (set) e a desactivação (reset) de cada saída.
Sabemos que KM1, KM2 e o Temporizador ao trabalho são activados simultâneamente e
que, decorrido o tempo parametrizado para o Temporizador, é desligado o contactor KM2 e
ligado o contactor KM3. Pelo que obtemos:
213
3]2)21[(12
1
]1)22[(11
KMKMKM
KMTONSKMKMSKM
KMTON
KMKMSSKM
OUT
1
12][
131][
3][
221][
QTON
ITONQreset
IQQreset
TONQset
IQQset
OUT
OUT