CONTROLADORES PROGRAMÁVEIS
Professor : Jair Jonko Araujo
Sumário

Tipos de indústrias;
 Níveis de Controle;
 Conceitos: SVC, SED, Classificação dos
dispositivos;
 CLP: Histórico, componentes, funcionamento,
classificação, exemplos;
Introdução – Conceitos Básicos
Tipos de Indústria

Manufatura
produzir um bem qualquer utilizando
ferramentas ou máquinas (transformação
mecânica através de sucessivas
operações);

Processo
Conjunto de operações/transformações
realizadas sobre um material, com a
finalidade de variar suas propriedades
físicas/químicas.
Processos podem ser contínuos ou
descontínuos (batch).
Níveis de controle - Funções
Gerenciamento
COMUNICAÇÃO
Supervisão
COMUNICAÇÃO
Laço de Controle
COMUNICAÇÃO
Sensores / Atuadores
Níveis de Controle(1)
Níveis de Controle(2)
Níveis de Controle(3)
Nível
de Planta
Ciclo
< 1s
PCME
1 2 3
4 5 6
7 8 9
0
CNC
Host
Nível
de Controle
Ciclo
< 100 ms
VMEPC
PLC
DCS
Nível
de Campo
PROFIBUS-DP
Ciclo
< 10 ms
Acionador
E/S
Remoto
Válvulas
Dispositivo
de
Campo
Transmissor
Dispositivo
de
Campo
Conceitos
Controle é “aplicação de uma ação préplanejada para que aquilo que se considera
como objeto de controle atinja certos
objetivos” (Miyagi, 1996).
 Sistemas de controle:

SVC (sistemas de variáveis contínuas)
igualar o valor de uma variável física (var.
de controle) a um valor de referência;
 SED (Sistema de eventos discretos)
execução de operações conforme
procedimento pré-estabelecido.

Conceitos
Valores de
referência
Dispositivo de Controle (SVC)
Variáveis de
atuação
Atuador
Objeto de
controle
Regulador
Sinais de realimentação
Detector
Variáveis controladas
Comandos
de tarefa
Dispositivo de Controle (SED)
Processador
de Comandos
Camandos de
Controle
Estados
Variáveis de
atuação
Atuador
Objeto de
controle
Detector
Variáveis controladas
Conceitos
Dispositivo de
Monitoração
Dispositivo
de
Realização
do Controle
Dispositivo de Controle
Dispositivo de
Atuação
Dispositivo de
Detecção
Instalações/Máquinas
Dispositivo de
Comando
Recursos
Objeto de Controle
Operador/ Usuário
Sistema de Controle SED
Sistema de Controle
Produtos
Conceitos

Dispositivos de comando (E): botoeiras, chaves
rotativas, etc;
 Dispositivos de atuação(S): contatores,
solenóides(válvulas), servo-motores, etc;
 Dispositivos de detecção(E): chaves fim de
curso, potenciômetros, sensores, encoders, etc;
 Dispositivos de monitoração(S): lâmpadas,
buzinas, displays, registradores, etc.
 Dispositivos de Realização: circuitos elétricos,
CLPs, etc.
Dispositivos - Exemplos
CLP – Controlador Lógico
Programável
Histórico

Até o final da década de 60 os sistemas de
controle eram eletromecânicos (realizados
para armários/quadros de relés);
 Ocupavam muito espaço e eram de difícil
manutenção;
 Modificações nas linhas de produção
demandavam muito tempo e praticamente
exigiam a montagem de novos quadros;
 Em 1968 a GM (USA) lançou uma
especificação técnica de um novo dispositivo
de controle.
Histórico
Requisitos de especificação:
 Fácil programação e manutenção
(reprogramação);
 Alta confiabilidade no ambiente industrial
(vibração, aquecimento, poeira, etc.);
 Dimensões reduzidas;
 Capacidade de enviar dados a um Sistema
Central;
 Ser modular (expansível);
 Sinais de E/S de 115VCA (2A mínimo saída)
Histórico

Em 1969 surgiram os primeiros controladores
 Eram muito simples apenas com E/S digitais;
 A fácil programação foi uma das chave do
sucesso (baseada em ladder);
 Ao longo da década de 70 foram sendo
introduzidas
novas
funcionalidades
(temporização, computação numérica, etc.)
 A partir da década de 80 as funções de
comunicação foram aperfeiçoadas
Histórico

Hoje o PLC é um sistema microcontrolador
(microprocessador) industrial com software e
hardware adaptado para ambiente industrial
(especialmente ruído eletromagnético) com
muitas opções de programação, com
capacidade de operar em rede em diversos
níveis.
Componentes
Dispositivos
Placa Entrada
Comunicação
Barramento
Memória
Computador
Fonte
CPU
Placa Saída
Dispositivos
Componentes
CPU
 Microcontrolador de 16/32 bits:
 Funções:
Comunicação entre as partes do PLC;
 Controle das entradas e saídas;
 Execução;
 Operação da memória;
 Check-ups internos.

Componentes
Memória
 A memória é divida em 2 grandes blocos:

Memória do Sistema



Programa de Execução;
Área de Rascunho: flags, cálculos, alarmes, erros.
Memória do Usuário


Programa do usuário (binário);
Tabela de Dados: Mapa E/S, valor atual e pre-set de
contadores e temporizadores, variáveis de programa.
Componentes
Módulos de E/S
 Podem ser Discretos ou Analógicos

Discretos





Quantidade de Pontos Disponíveis
AC, DC, Relé
DC: Tipo P ou Tipo N
Saída: necessidade de alimentação externa, fusiveis
Analógicos


Número de Canais, Resolução do conversor A/D
Faixa de operação: 0-20mA, 4-20mA, 0-5V, 0-10V, +5V, +-10V, temperatura (termopar - J,E,K ... ,
termorresistência – PT100, ...)
Funcionamento

Baseado em processamento cíclico composto, de
forma simplificada, por 3 etapas visíveis ao
usuário:
Aquisição das entradas;
 Processamento;
 Atualização das Saídas;
Comunicação e Manutenção do S.O

(Carga de módulos, atualização de timers, tratamento de
interrupção, etc.)
X ms para cada 1000 instruções
1 ciclo com período de T segundos
Com. - Man. SO
Aquisição das
entradas
Processamento
Atualização das
Saídas
Funcionamento

As etapas são distintas e independentes;
 O processamento inicia depois que os sinais
de entrada são amostrados;
 Durante o processamento as entradas e
saídas permanecem inalteradas (qualquer
alteração das E/S e estados internos só pode
ocorrer fora deste intervalo);
 Durante a atualização das saídas os valores
das entradas permanecem inalterados
Funcionamento
ALTERNATIVAS
Uma entrada deve permanecer acionada, no mínimo:
tempo de varredura das entradas + tempo de processamento
Características(exemplo)
Classificação

Feita baseada no número de E/S (não
padronizado):
Nano: até 50 pontos de E/S;
 Micro: até 250 pontos de E/S;
 Médio: até 1000 pontos de E/S;


Geralmente associado ao aumento do
número de E/S estão associados aumentos
dos recursos de programação e diminuição
dos tempos de respostas.
Exemplos de Aplicações

máquinas industriais (operatrizes, injetoras de
plástico, têxteis, calçados);
 equipamentos industriais para processos (
siderurgia, papel e celulose, petroquímica,
química, alimentação, mineração, etc);
 equipamentos para controle de energia
(demanda, fator de carga);
 aquisição de dados de supervisão em: fábricas,
prédios;
 bancadas de teste automático de componentes
industriais.
Exemplos (modelos)
Norma IEC 61131
Introdução

As ferramentas para programação de CLP
não evoluíram na mesma velocidade das
ferramentas para programação de
computadores pois não apresentam (avam):




Facilidade de uso
Portabilidade
Interoperabilidade entre diferentes
produtos
Padrões de comunicação
A norma IEC 61131 busca preencher esta lacuna
Norma IEC 61131

Define a sintaxe e o comportamento da
linguagem
 Provê um conjunto de linguagens interligadas
para resolver diferentes problemas de
controle
 Melhora a qualidade do software aplicativo
através das técnicas de projeto estruturado,
encapsulamento de dados, etc.
Norma IEC 61131





Part 1 – General Overview, definitions
Part 2 – Hardware, I/O Signals, safety
requeriments, environment
Part 3 – Programming Languages
Part 4 –User Guidelines
Part 5 – Messaging Service Specification
Norma IEC 61131 – parte 3
Principais características






Programação estruturada e linguagem de alto
nível para construção de grandes programas
Conjunto padronizado de instruções (em
inglês)
Programação Simbólica
Grande variedade de tipos de dados
padronizados
Funções reutilizáveis podem ser criadas
Conjunto de funções matemáticas
padronizadas disponíveis (trigronométricas,
logaritmos, etc.)
A estrutura da Norma IEC 61131-3
Elementos Comuns
Linguagens de Programação
A estrutura da Norma IEC 61131-3
Elementos Comuns
Linguagens de Programação
Linguagens de Programação
IEC 61131 – parte 3

Definição de Cinco Linguagens Interligadas
 Sintaxe e Semântica de 2 linguagens textuais
e 2 gráficas:





Instruction List (IL)
Structered Text (ST)
Ladder Diagram (LD)
Function Block Diagram (FBD)
Linguagem para estruturação da Programação

Sequential Function Chart (SFC)
Linguagens Tradicionais

Ladder Diagram (LD)

Function Block Diagram (FBD)
Linguagens Tradicionais

Instruction List (IL)
Linguagens Novas

Structered Text (ST)

Linguagem estruturada de alto nível
Sintaxe semelhante ao Pascal
Permitido o uso de declarações complexas e
instruções aninhadas
Suporte para:






Laços de controle (REPEAT-UNTIL; WHILE-DO)
Execução condicional (IF-THEN-ELSE; CASE)
Funções (SQRT(), SIN())
Linguagens Novas

Sequential Function Chart (SFC)

Técnica gráfica muito poderosa para descrever o
comportamento seqüencial de um programa de
controle
Usado para particionar um problema de controle
Mostra uma visão geral, desejável para um rápido
diagnóstico


Linguagens - Resumo
A estrutura da Norma IEC 61131-3
Elementos Comuns
Linguagens de Programação
IEC 61131-3 : Elementos Comuns
ELEMENTOS COMUNS
1. Tipos de Dados e Variáveis
2. Modelo de Software
* Configuração, Recursos, Tarefas
3. POUs (Unidades de Organização de Programa)
* Funções
* Blocos de Função (FB’s)
* Programas
IEC 61131-3 : Elementos Comuns
ELEMENTOS COMUNS
1. Tipos de Dados e Variáveis
2. Modelo de Software
* Configuração, Recursos, Tarefas
3. POUs (Unidades de Organização de
* Funções
* Blocos de Função (FB’s)
* Programas
Programa)
Variáveis e Tipos de Dados
O que é isto?
01010101 10101010
Historicamente
• Referência a uma posição física de memória
• Referência a uma entrada física
Variáveis e Tipos de Dados
Sensor_Temperatura_1 : Integer
•
Representação simbólica
•
Área própria para mapeamento de I/O
•
Código independente do hardware
•
Altamente transparente e compreensível
•
Menos erros
Variáveis e Tipos de Dados
Representação das Variáveis
IEC 61131-3 : Elementos Comuns
ELEMENTOS COMUNS
1. Tipos de Dados e Variáveis
2. Modelo de Software
* Configuração, Recursos, Tarefas
3. POUs (Unidades de Organização de
* Funções
* Blocos de Função (FB’s)
* Programas
Programa)
IEC 61131-3 Modelo de Software
Configuração
Conjunto do software que define o
comportamento de um hardware (CP) para
uma aplicação específica
Função de Comunicação
IEC 61131-3 Modelo de Software
Configuração
Recurso
Recurso
Suporte para a execução de um
programa, interface entre
programas e as E/S do controlador
Função de Comunicação
IEC 61131-3 Modelo de Software
Configuração
Recurso
Task
(Tarefa)
Recurso
Task
Task
Task
um mecanismo de escalonamento que executa Programs
ou function blocks periodicamente ou em resposta a um
evento (mudança de estado de alguma variável booleana),
permitindo a execução de programas em diferentes taxas
com objetivo de otimizar o uso de recurso do controlador
Função de Comunicação
IEC 61131-3 Modelo de Software


Tipos de Tarefas (Task ):
 Não preemptiva: sempre completa seu
processamento

Preemptiva: pode ser interrompida por outra de
maior prioridade

Qualquer uma pode ser ativada cíclicamente,
por tempo ou por evento)
 Cada tarefa pode-se atribuir um período de
execução e uma prioridade
um Program ou function block ficará aguardando a
sua execução até que seja associado a uma
determinada Tarefa e esta seja ativada por uma
execução periódica ou por um determinado
evento
IEC 61131-3 : Elementos Comuns
ELEMENTOS COMUNS
1. Tipos de Dados e Variáveis
2. Modelo de Software
* Configuração, Recursos, Tarefas
3. POUs (Unidades de Organização de
* Funções
* Blocos de Função (FB’s)
* Programas
Programa)
IEC 61131-3 Modelo de Software
Configuração
Recurso
Task
Program
Recurso
Task
Program
Task
Program
(Programa)
Task
Program
Caminho do
de
blocos controle
execução
Tipicamente, um Program consiste de um número de
funcionais interconectados, capazes de trocar dados através das
conexões de software. Um Program pode acessar as variáveis
do CLP e comunicar com
outros
Programs.
Função
de Comunicação
IEC 61131-3 Modelo de Software
Programs ( Programas)
 podem conter variáveis de acesso, as
quais permitem o acesso remoto pelos
serviços de comunicação.
 podem conter instâncias de blocos
funcionais, mas não de outros
programas, (não podem ser aninhados)
 as instâncias de blocos funcionais de um
programa podem ser executadas por
diferentes tarefas de controle.
IEC 61131-3 Modelo de Software
Programs ( Programas)
 podem ser declarados somente no nível
do recurso.
 podem conter declarações de variáveis
de endereçamento direto
(endereçamento direto de pontos de E/S.
 podem conter declarações de variáveis
globais, as quais podem ser acessíveis
pelos Function Blocks através do uso de
variáveis externas.
IEC 61131-3 Modelo de Software
Configuração
Recurso
Recurso
CI de softwares. Possuem um conjunto de
dados queTarefa
pode ser alterados
Tarefa
Tarefapor um Tarefa
algoritmo interno
caminho de
acesso a
Variável
FB
Bloco de
Função’’
Programa
Programa
FB
Programa
FB
Programa
FB
FB
Variáveis globais e diretas
Variável
Caminho do
controle de
execução
Caminho de acesso
Função de Comunicação
Todo o mapeamento de memória pode ser acessado pelo gerenciador global de variáveis
IEC 61131-3 Modelo de Software
Functions Blocks (Blocos de Funções)
 podem ser utilizados para a criação de
elementos de software totalmente
reutilizáveis, desde a criação de outros
Function Blocks mais simples, até
Programs complexos.
 possuem um conjunto de dados, os quais
podem ser alterados por um algoritmo
interno (algoritmos + dados)
 podem ser escritos em qualquer
linguagem
IEC 61131-3 Modelo de Software
Functions Blocks (Blocos de Funções)
 Os dados possuem persistência (estados
internos que são mantidos entre uma
execução e outra)
 podem ser utilizados para a criação de
outros Function Blocks (blocos
derivados), aumentando ainda mais a
capacidade de reutilização do software.
Functions Blocks (Blocos de Funções)

Blocos de Função padrões





Biestáveis: SR, RS, SEMA
Detecção de Borda: R_TRIG, F_TRIG
Contadores: CTU, CTD, CTUD
Temporizadores: TP, TON, TOF, RTC
Blocos de Função fornecidos adicionalmente
pelo fabricante
 Blocos de Função definidos pelo usuário
 Todos FBs são altamente reutilizáveis no
mesmo programa, diferentes programas ou
projetos
Exemplo de Function Block adicional
(ATOS)
Exemplo de Function Block construído
pelo usuário
FUNCTION_BLOCK HYSTERISIS
VAR_INPUT
Hysterisis
REAL
REAL
XIN1
XIN2
REAL
EPS
Q
XIN1, XIN2 : REAL;
BOOL
EPS : REAL;
histerese *)
(* faixa de
END_VAR
VAR_OUTPUT
Q : BOOL := 0
END_VAR
IF Q THEN
Q
IF XIN1 < (XIN2-EPS) THEN
Q := 0 (* XIN1 diminuindo *)
1
END_IF;
ELSIF XIN1 > (XIN2 + EPS ) THEN
0
Q := 1; (* XIN1 aumentando *)
EPS
EPS
XIN2
END_IF;
END_FUNCTION_BLOCK
IEC 61131-3 Modelo de Software
Functions (Funções)
 são elementos de software que não
aparecem no modelo de software, porém
podem ser reutilizados
 não possuem persistência, existindo apenas
em tempo de execução, assim como
subrotinas (não armazenam dados)
 não possuem estados internos, ou seja,
sempre produzem o mesmo resultado para o
mesmo conjunto de entradas
 podem ter apenas uma saída
 podem ser escritas em qualquer linguagem
Functions (Funções)
Funções padrões

Bit: ADD, OR, XOR, NOT SHL, SHR, ROL, ROR

Numéricas: ADD, SUB, MULT, DIV, MOD, EXPT,
ABS, SQRT, LN, LOG, EXP, SIN, COS, TAN, ASIN,
ACOS, ATAN

Conversão de tipo

Seleção: SEL, MIM, MAX, LIMIT, MUX

Cadeias de Caracteres: LEN, LEFT,RIGHT, MID,
CONCAT, INSERT, DELETE, REPLACE, FIND
Functions (Funções)
Exemplo de funções definidas pelo usuário
FUNCTION SIMPLE_FUN : REAL
VAR_INPUT
A, B : REAL;
C
: REAL := 1.0;
END_VAR
SIMPLE_FUN := A*B/C;
END FUNCTION
Tarefas e POUS
Ir para arquivo de help da ATOS
IEC 61131-3 x PLC convencional
Configuração
Recurso
Tarefa
caminho de
acesso a
Variável
Recurso
Tarefa
Tarefa
Tarefa
FB
Bloco de
Função’’
Programa
Programa
FB
Programa
FB
Programa
FB
Variável
FB
Variáveis globais e diretas
Caminho de acesso
Função de Comunicação
Caminho do
controle de
execução
PLC convencional x IEC 61131-3
Vantagens das POU’s

Crie suas próprias bibliotecas de FBs (por tipo
de aplicação)

FBs são testados e documentados

Faça bibliotecas acessíveis em todo o mundo

Reutilize o máximo possível

Mude da programação para a criação de redes
de FBs

Economize 40% no próximo projeto
Processo de Fermentação
Agitador
Reagente ácido
Reagente básico
Válvula de alimentação
Sensor de temperatura
Sensor de pH
Camisa de
aquecimento
Válvula de dreno
Como criar um programa de controle de forma
estruturada?
Passo 1 :
Identificação das interfaces externas do sistema

Sinais de Entrada (sensores):
sensor de temperatura
 sensor de PH



posições das válvulas

velocidade motor
Sinais de Saída (atuadores):

válvulas

motor

aquecedor
Passo 2:
Definição dos principais sinais entre o Sistema e o
restante do processo
Neste exemplo não existe nenhum acoplamento do
processo, mas poderia existir, do tipo:


… acoplamento com os vasos com líquidos principais
… acoplamento com o sistema de transporte / estação
de enchimento após o dreno
Passo 3:
Definição de todas as interações com o Operador,
intervenções e dados de supervisão
Para o operador foram definidos:
 … um botão ‘Liga’
 … um botão ‘Desliga’
 … uma entrada ‘Duracao’
Agora estão definidas todas as interfaces
Passo 4:
“Quebrar” o problema de cima para baixo em partições
lógicas (funcionalidades)

SequenciaPrinc – enchimento, aquecimento,
agitação, fermentação, descarga, limpeza.

ControleValvulas – comando das vávulas para
encher e esvaziar o vaso

ControleTemp – controle de temperatura

ControleAgitador – controle do motor do agitador
(velocidade)

ControlepH – controle de pH
Passo 5:
Definição das POUs necessárias
(Programas e Blocos de Função)

Usando as definições anteriores e

Representando na linguagem gráfica de programação
Diagrama de Blocos de Função temos …
Programa de Controle da Fermentação
Saídas
Entradas
ControleTemp
Aquecer
Aquecer
SetPoint
PV
SensorTemp
Esfriar
SensorpH
ControlepH
SequenciaPrinc
Liga
Esfriar
SetPoint
PV
Temp
Liga
AdicAcido
AdicAcido
AdicBase
AdicBase
pH
Desliga
Desliga
Duracao
Duracao
Agitacao
LiberEncher
ControleAgitador
SetPoint
VelocMotor
VelocMotor
PV
VelocAgitador
ControleValvulas
Libera
PosicaoValvulas
Encher
Encher
Drenar
Drenar
Seqüência principal (MainSequence) em SFC
Apresenta os
principais
estados do processo
Os Blocos de Ação e as
S1
Inicialização
S2
Enchimento
S3
Aquecimento
S4
Fermentação
Transições podem ser
programados em
qualquer uma das
S5
Descarga
S6
Limpeza
quatro Linguagens de
Programação IEC
Passo 6:
Definição dos tempos do ciclo de scan
para as diferentes partes da aplicação

Neste exemplo temos apenas um ciclo em modo
contínuo

O tempo restante pode ser usado por outros ciclos
para:

…. o sistema de enchimento / transporte

… verificação de limites e condições de erro (em
uma seqüência paralela)
Passo 7:
Configuração do Sistema:
Definição dos Recursos, Tarefas
e conexão do programa com o I/O físico

Depende do sistema utilizado

Inclui o mapeamento do I/O físico com os símbolos
usados

Mapeamento dos recursos (leia: CPUs do sistema)

Definição dos ciclos de scan e eventos (vide Passo 6)