Você está na página 1de 47

Curso: Técnico de Instalações Elétricas

UFCD:6060 AUTÓMATOS PROGRAMÁVEIS


UFCD-6060
Autómatos Programáveis
•Linguagens de programação de um PLC:
•Existe hoje no mercado uma grande variedade de linguagens
de programação para os PLC’s.
–“Ladder Diagrams”- Programação ladder “LD” em conceito escada;

– “Functions Blocks”- Programação por blocos de funções “FB”;

–“Structured Text”- Programação em texto estruturado “ST”;

–“Instruction List”- Conjunto de comandos e instruções “IL”;

–“Grafcet” ou “Sequencial Function Chart” - Programação gráfica “SFC”;

2
UFCD-6060
Autómatos Programáveis
•Normas Standard Internacionais:
•O IEC - International Electrotechnical Commission é o
responsável pela padronização dessas linguagens de
programação, sendo a norma IEC 61131-3 PLC Programming
Languages a recomendada para o assunto em questão. A
norma IEC 61131-3 foi publicada em 1994.
•A norma IEC 61131 consiste em 8 partes. As principais são:
–1. Informações gerais;
–2. Requisitos de equipamentos e testes;
–3. Linguagens de programação do PLC;
–4. Diretrizes do utilizador;
–5. Comunicações.
3
UFCD-6060
Autómatos Programáveis
•Norma IEC 61131-3:
•As características inovadoras da norma são:
– A norma encoraja o desenvolvimento de um programa bem estruturado
“top-down” ou “bottom-up”;
–Ela exige que exista uma definição forte de tipo de variável;
–Suporta o controlo completo da execução do programa através do
controlo da execução de diferentes partes do programa com diferentes
eventos e taxas de varrimento;
–Suporte completo para a descrição de um processo com comportamento
sequencial complexo através da linguagem gráfica SFC (Sequencial
Function Chart);
–Seleção da linguagem mais adequada ao processo;
–Software de programação independente do fornecedor do equipamento.
4
UFCD-6060
Autómatos Programáveis
•Norma IEC 61131-3:
•A norma IEC 61131-3
pode ser dividida em
duas partes:
–Elementos Comuns –
tipos de dados, variáveis,
constantes, configuração,
recursos e tarefas;
–Linguagens de
Programação – cinco
linguagens de
programação.

5
UFCD-6060
Autómatos Programáveis
• Desenvolvimento de programa em um PLC:
• Os estágios para o desenvolvimento de um programa são:
–Escrever as instruções;
–Editar o programa;
–Verificar e corrigir erros de sintaxe;
–Carregá-lo e testá-lo no controlador.

6
UFCD-6060
Autómatos Programáveis

7
UFCD-6060
Autómatos Programáveis
•Linguagem Ladder (LD):
•Utilizar Linguagem Ladder quando o processo possui:
–Execução contínua ou paralela de múltiplas operações não sequenciais;
–Operações baseadas em bit ou em lógica booleana;
–Operações lógicas complexas;
–Processamento de mensagem e comunicação;
–Troca de comandos e informações entre máquinas;
–Operações que o pessoal de manutenção deverá interpretar para resolver
problemas em máquinas ou processos.

8
UFCD-6060
Autómatos Programáveis
•Sequencial Function Chart
”Grafcet” (SCF):
•Utilizar Linguagem SFC quando o
processo possui:
–Gestão de alto nível de múltiplas
operações;
–Sequências repetitivas de
operações;
–Processo por forma descontinuo;
–Controlo tipo Motion (controlo de
movimentos);
–Operações do tipo máquina de
estados.
9
UFCD-6060
Autómatos Programáveis
•Como é a composição de um programa Ladder.
•Um programa escrito em Ladder é constituído por um conjunto de
sequências (rungs ou Networks) que são executados
sequencialmente pelo autómato. Uma sequência é composta por um
conjunto de elementos gráficos limitados à esquerda e à direita por
linhas de energia (power rails). Os elementos gráficos representam:
–I/O do autómato (interruptores, sensores, indicadores, relés, etc.);
–Blocos funcionais (temporizadores, contadores, etc.);
–Operações aritméticas e lógicas;
–Variáveis internas do autómato;
–Cada sequência;
–As memórias podem ser separadas em duas categorias: voláteis e não-voláteis;
10
UFCD-6060
Autómatos Programáveis
•Como é a composição de
um programa Ladder.
–Cada sequência contém no máximo 7
linhas e 11 colunas que se encontram
dividas na zona de teste, onde se
encontram as condições necessárias
para a execução das ações, e na zona de
atuação, onde se encontram as ações
que são executadas dependendo do
resultado da zona de teste.

11
UFCD-6060
Autómatos Programáveis
•Conjunto de instruções de
um programa Ladder.

–Os objetos gráficos estão divididos em


três categorias:
– básicos;
–blocos funcionais;
–blocos de operação;
Encontram-se representados e descritos
nas tabelas seguintes:

12
UFCD-6060
Autómatos Programáveis
•Conjunto de instruções de um programa Ladder
básicos.

13
UFCD-6060
Autómatos Programáveis
•Conjunto de instruções de um
programa Ladder Blocos
Funcionais:.
–Contadores;
–Temporizadores;
–Adição e subtração;
–Multiplicação e divisão;
–Comparadores;

14
UFCD-6060
Autómatos Programáveis
•Contadores
•Os contadores são elementos básicos de qualquer PLC. Contar
eventos lógicos, de IO, etc... É uma das atividades de rotina de um
programa de PLC.
•Os contadores podem ser divididos em:
•CTU: Contador incremental;
•CTD: contador decremental;
•CTUD: Contador crescente/decrescente

15
UFCD-6060
Autómatos Programáveis
•Contadores CTU
•A instrução de CTU incrementa de uma unidade o seu valor
acumulado de cada vez que ocorre um evento de contagem. Ao
contrário das instruções de temporização, o contador, na maioria das
implementações, continua a contar eventos mesmo após o seu valor
de contagem ser atingido.

16
UFCD-6060
Autómatos Programáveis
•Contadores CTU
•Ao inserir o contador, o mesmo possui três entradas e duas saídas:
• CU: Cada pulso nesta entrada, incrementa a contagem do contador;
•R: Um pulso nesta entrada reinicia a contagem;
•PV: Preset de contagem para acionar a saída Q;
•Q: Saída ativada quando a contagem chega no número pré-determinado;
•CV: Contagem decorrida até o momento. Normalmente utilizada para HMI;

17
UFCD-6060
Autómatos Programáveis
•Contadores CTD
•O princípio de funcionamento é idêntico ao contador ascendente, só
que o processo de contagem é descendente desde o valor pré-
programado até zero.
•Também é normal haver outras implementações de contadores
nomeadamente o contador ascendente descendente, bem como a
introdução de uma entrada para inicialização (reset) em cada um dos
contadores atrás citados. Quando a entrada de reset está inativa o
contador tem um comportamento normal, e uma ativação da entrada
de reset inibe imediatamente a contagem e inicializa o contador com
o seu valor pré-programado.
18
UFCD-6060
Autómatos Programáveis
•Contadores CTD
•Ao inserir o contador, o mesmo possui três entradas e duas saídas:
•CD: Cada pulso nesta entrada, decrementa a contagem do contador;
•LD(LOAD): Um pulso nesta entrada reinicia a contagem;
•PV: Preset de contagem para acionar a saída Q;
•Q: Saída ativada quando a contagem chega no número pré-determinado;
•CV: Contagem decorrida até o momento. Normalmente utilizada para HMI;

19
UFCD-6060
Autómatos Programáveis
•Temporizadores (Timers)
•Todos os PLC’s possuem vários tipos de temporizadores
(timers) diferentes, adaptados a varias situações de
utilização e que permitem rotinas temporizadas
fundamentais em qualquer aplicação industrial.
•TON: Temporizador com retardo na energização;
–Atraso para ligar;
•TOFF: Temporizador com retardo na desenergização;
–atraso para desligar;
•TP: Temporizador de pulso
–pulso;

20
UFCD-6060
Autómatos Programáveis

•Temporizadores (timers)
•Inserido o temporizador o mesmo possui duas entradas e duas saídas:
•IN: Quando habilitada, inicia a contagem do tempo;
•PT: Preset do tempo a ser contado. Sua sintaxe deve ser T#xxs;
•Q: Saída do temporizador que é ativada quando a contagem chega ao
preset;
•ET: Tempo decorrido da contagem. Geralmente utilizado para mostrar
em HMI.

21
UFCD-6060
Autómatos Programáveis
•Temporizadores (timers)
•TON: Temporizador com retardo na energização. Usado para
providenciar atraso numa determinada ação, ou para medir a
duração da ocorrência de um evento. A temporização é iniciada
quando a condição de entrada é verdadeira, sendo o temporizador
inicializado quando a condição de entrada deixar de ser verdadeira.
–atraso para desligar;

22
UFCD-6060
Autómatos Programáveis
•Temporizadores (timers)
•TOFF: Temporizador com retardo à desativação. Usado para
atrasar a desativação de uma determinada saída ou ponto interno.
Se a continuidade lógica for partida por algum motivo, o
temporizador inicia a contagem do tempo respetivo ao fim do qual
coloca a sua saída inativa, como se pode analisar na figura
seguinte:
–atraso para desligar;

23
UFCD-6060
Autómatos Programáveis
•Temporizadores (timers)
•TP: Temporizador de pulso. Este
temporizador conta unidades em segundos,
minutos ou horas, e funciona da seguinte
forma: se o contato “IN” do bloco de função
receber um pulso de sinal, o tempo
predefinido em “PT” (valor ajustado) é
iniciado, o contato do temporizador “Q” vai
para ON. Transcorrido esse tempo, o contato
do temporizador “Q” vai para OFF;
–pulso;

24
UFCD-6060
Autómatos Programáveis
•Operações Aritméticas:
•Estas instruções incluem as quatro operações aritméticas
básicas: adição, subtração, multiplicação e divisão. Existem,
no entanto, autómatos que fornecem outro tipo de
operações aritméticas como, por exemplo, a raiz quadrada,
complemento, incremento/decremento.

25
UFCD-6060
Autómatos Programáveis
•Adição:
•Esta operação é capaz de adicionar duas variáveis ou
números inteiros colocando o seu valor na saída;

26
UFCD-6060
Autómatos Programáveis
•Subtração:
•Esta operação é capaz de subtrair duas variáveis ou
números inteiros colocando o seu valor na saída;

27
UFCD-6060
Autómatos Programáveis
•Multiplicação:
•Esta operação é capaz de multiplicar duas variáveis ou
números inteiros colocando o seu valor na saída;

28
UFCD-6060
Autómatos Programáveis
•Divisão:
•Esta operação é capaz de dividir duas variáveis ou números
inteiros colocando o seu valor na saída;

29
UFCD-6060
Autómatos Programáveis
•Comparadores:
•Estas instruções incluem operações matemáticas de comparações do tipo
maior, menor, maior/igual, menor/igual, igual, diferente etc... Compara dois
números inteiros ou duas variáveis inteiras e mediante o seu resultado a
Power Rail ficará ou não ativa.
•Compara se os valores são iguais (==);
•Compara se os valores são diferentes(<>);
•Compara qual o maior (>);
•Compara qual o menor (<);
•Compara se um dos números é maior ou igual que outro (>=);
•Compara se um dos números é menor ou igual que outro (<=);

30
UFCD-6060
Autómatos Programáveis
•Áreas de Memória:
•Para escrever em uma determinada área da memória são criados símbolos
ou “variáveis” para direcionar os dados, sejam variáveis PLC atribuídas às
entradas e saídas ou como variáveis locais usadas em um bloco lógico. A
seguir explica-se o mapeamento absoluto ao qual fazem referência os “tags”
do programa no PLC para armazenar os dados durante a execução do
programa.

•Portanto existem Bits,Bytes,Words, Dwords,Int,Dint etc…

31
UFCD-6060
Autómatos Programáveis
•Áreas de Memória:

32
UFCD-6060
Autómatos Programáveis
•Áreas de Memória:
•Memoria global: A CPU oferece distintas áreas de memoria, incluindo
entradas (I), saídas (Q) e bits da memória (M). Todos os blocos lógicos
podem aceder sem restrições a esta memória.
•Bloco de dados (DB): É possível incluir DB’s no programa para armazenar
os dados dos blocos lógicos.(Siemens)
•Memoria temporal(local): Todas as vezes que se chama a um bloco
lógico, o sistema operativo da CPU atribui a memória temporal ou local (L)
que será usada durante a execução do bloco. Quando finaliza a execução do
bloco lógico, o CPU atribui a memória local para a execução de outros blocos
lógicos.

33
UFCD-6060
Autómatos Programáveis
•Linguagem ”Grafcet” (SCF):
•O Grafcet é uma linguagem que permite descrever
sistemas de controlo sequenciais de forma gráfica e
estruturada. Esta descrição é efetuada utilizando
objetos gráficos que representam:
•Etapas – às quais podem ser associadas ações.
•Transições – às quais podem ser associadas condições de
transição.
•Arcos direcionados – ligam uma etapa a uma transição ou uma
transição a uma etapa.
•O Grafcet é caracterizado por dois níveis de
desenvolvimento:
•Nível 1: descrição lógica do processo (modelo funcional)
•Nível 2: considera as variáveis de processo (modelo técnico)

34
UFCD-6060
Autómatos Programáveis
•Linguagem ”Grafcet” (SCF):
•Podem ser de:

35
UFCD-6060
Autómatos Programáveis
•Linguagem ”Grafcet” (SCF):

36
UFCD-6060
Autómatos Programáveis
•Linguagem ”Grafcet” (SCF):

37
UFCD-6060
Autómatos Programáveis
•Linguagem ”Grafcet” (SCF):

38
UFCD-6060
Autómatos Programáveis
•Linguagem ”Grafcet” (SCF):

•O Grafcet de nível 2 passa a representar os


acionamento do processo assim como
temporizações ou outras variáveis contidas.
•Vejamos o exemplo ao lado…
•A cada transição existe um sistema que é ligado ou
desligado com temporização ou sem ela;
•A cada etapa existe um acionamento de um motor nos
dois sentidos e como indicador uma luz verde com uma
determinada temporização.
•O sistema é cíclico e assim que X2 termina por condição
de uma temporização na etapa 5 volta para a etapa 2, o
mesmo se passa com X1 que retorna à etapa inicial assim
que o sistema é desligado
39
UFCD-6060
Autómatos Programáveis
•Conversão de Grafcet a Ladder.

40
UFCD-6060
Autómatos Programáveis
•Conversão de Grafcet a Ladder.

41
UFCD-6060
Autómatos Programáveis
•Conversão de Grafcet a Ladder.

42
UFCD-6060
Autómatos Programáveis

43
UFCD-6060
Autómatos Programáveis

44
UFCD-6060
Autómatos Programáveis

45
UFCD-6060
Autómatos Programáveis
•Problema:
•Para simular o funcionamento de um Parque
Automóvel. Considere que o botão BE representa
o botão de abrir a barreira para entrada do
automóvel e o botão BS representa o sensor da
passagem do automóvel e o fecho da barreira.
Utilize o conjunto de luzes para barreira aberta
(Semáforo verde) e para representar a barreira
fechada sinal vermelho. O motor da barreira
acionado duas vezes ora para subir ora para
descer invertendo o seu sentido de rotação.
•Elabore em programação Grafcet e Ladder.

46
UFCD-6060
Autómatos Programáveis
•Problema:
•Caso seja necessário fazer uma contagem dos
automóveis que entraram no parque e na
circunstância de exceder os 10 automóveis
dentro do parque fica sem possibilidade de subir
mais a barreira (parque lotado).Como faria?
•Imagine a situação do automóvel ficar parado
após passagem da barreira e o sensor já o ter
detetado. Elabore em programação Grafcet e
Ladder de como evitar essa situação?

https://www.plcfiddle.com/fiddles/a1e64eba-6c7b-4f1
b-ace4-571fa82e9e62

47

Você também pode gostar