Vous êtes sur la page 1sur 18

Introdução à Programação de

Autómatos Industriais
em Linguagem FBD
( incluí esquemas de ligação utilizando o LOGO! 230 RC)

Versão 02
2009/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.

Área de programação

Biblioteca de Blocos
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 constantes e bornes de entrada e saída
Mostrar/esconder grupo de blocos de funções lógicas básicas
Mostrar/esconder grupo de blocos de funções especiais
Caixa de texto
Interrupção da ligação entre blocos com colocação de etiquetas (destino e origem)
Simulação
Teste online (LOGO! ligado ao PC)
Novo

Abrir

Fechar
Gravar
Imprimir
Cortar

Exemplo de programa editado.


Copiar
Colar
Eliminar

Desfazer
Refazer
Alinhar global
Alinhar colunas
Alinhar linhas
Alterar funcionamento do LOGO!
Transferir programa para o LOGO!
Transferir programa para o PC
Seleccionar linhas de ligação entre blocos
Ampliar
Reduzir
Organização das páginas
Comutação para diagrama (programa) LADDER
Ajuda
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)

KM 1  S1  ( S 2  KM 1 )

Ficando o programa, conforme a figura abaixo:

Antes de fazermos a simulação, devemos parametrizar


o tipo de entrada associada a cada botão.
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:

KM 1  S1  ( S 2  KM 1)  KM 2

KM 2  S1  ( S 2  KM 2)  KM 1

O programa fica assim (solução “a”):


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

[ set ]  Q1  I 2  Q 2

[ set ]  Q 2  I 3  Q1

[reset ]  Q1  Q 2  I1

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

KM 1  S1  ( S 2  KM 1)

TON  KM 1

KM 2  TON OUT

O programa fica assim (solução “a”):


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:
KM 1  S1  [( S 2  KM 2)  KM 1]

TON  KM 1

KM 2  S1  [( KM 1  KM 2)  S 2]  TON OUT  KM 3

KM 3  KM 1  KM 2

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:
[ set ]  Q1  Q 2  I 2

[ set ]  Q3  TON OUT

[reset ]  Q1  Q3  I1

[reset ]  Q 2  TON OUT  I1

TON  Q1