Post on 20-Jan-2016
description
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);
ProcessoConjunto 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
Supervisão
COMUNICAÇÃO
Laço de Controle
Sensores / Atuadores
COMUNICAÇÃO
COMUNICAÇÃO
Níveis de Controle(1)
Níveis de Controle(2)
Níveis de Controle(3)
N íve ld e C o n tro le
C ic lo< 100 m s
C ic lo< 1 s
N íve ld e P lan ta
N íve ld e C am po
C ic lo< 10 m s
P R O F IB U S -D P
P C M E
H o s tC N C147
580
69
2 3
D C SP L C
VM E P C
Trans -m is s o r
D is p o s itivod e
C am p o
D is p o s itivod e
C am p oVálvu lasE /S
R e m o toA c io nado r
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.
ConceitosVa
lore
s de
re
ferê
ncia
Regulador Atuador
Detector
Objeto de controle
Sinais de realimentação
Variáveis de atuação
Variáveis controladas
Dispositivo de Controle (SVC)
Dispositivo de Controle (SED)
Com
ando
s de
ta
refa Processador
de ComandosAtuador
Detector
Objeto de controle
Estados
Variáveis de atuação
Variáveis controladas
Camandos de Controle
ConceitosO
pera
dor/
Usu
ário
Dispositivo de Comando
Dispositivo de Controle
Dispositivo de Monitoração
Dispositivo de
Realização do Controle
Dispositivo de Atuação
Dispositivo de Detecção
Obj
eto
de C
ontr
ole
Inst
alaç
ões/
Máq
uina
s
Sistema de Controle
Recursos
Produtos
Sistema de Controle SED
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
CPU
Mem
ória
Fonte
Comuni-cação
Barra-mento
Placa Entrada
Placa Saída
Dispositivos
Dispositivos
Com
puta
dor
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
Aquisição das entradas Processamento
Atualização das Saídas
1 ciclo com período de T segundos
Com. - Man. SO
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
Uma entrada deve permanecer acionada, no mínimo: tempo de varredura das entradas + tempo de processamento
ALT
ERN
ATI
VAS
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 Programa)
* Funções
* Blocos de Função (FB’s)
* Programas
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 Programa)
* Funções
* Blocos de Função (FB’s)
* Programas
IEC 61131-3 Modelo de Software
Configuração
Função de Comunicação
Conjunto do software que define o comportamento de um hardware (CP) para
uma aplicação específica
IEC 61131-3 Modelo de Software
Configuração
Função de Comunicação
Recurso Recurso
Suporte para a execução de um programa, interface entre
programas e as E/S do controlador
IEC 61131-3 Modelo de Software
Task(Tarefa)
Task Task Task
Recurso Recurso
Configuração
Função de Comunicação
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
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 Programa)
* Funções
* Blocos de Função (FB’s)
* Programas
IEC 61131-3 Modelo de Software
Função de Comunicação
Task
ProgramProgram
Task
Program(Programa)
Task
Program
Task
Recurso Recurso
Configuração
Caminho do controle de execução
Tipicamente, um Program consiste de um número de blocos 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.
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
Variáveis globais e diretas
Caminho de acesso
Tarefa
Programa Programa
FB FB
Tarefa
Programa
Tarefa
Programa
FB FB
Tarefa
Recurso Recurso
Configuração
Função de Comunicação
caminho de acesso a Variável
Caminho do controle de execução
FB
Bloco de Função’’
Variável
Todo o mapeamento de memória pode ser acessado pelo gerenciador global de variáveis
CI de softwares. Possuem um conjunto de dados que pode ser alterados por um
algoritmo interno
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
XIN1, XIN2 : REAL;
EPS : REAL; (* faixa de histerese *)
END_VAR
VAR_OUTPUT
Q : BOOL := 0
END_VAR
IF Q THEN
IF XIN1 < (XIN2-EPS) THEN
Q := 0 (* XIN1 diminuindo *)
END_IF;
ELSIF XIN1 > (XIN2 + EPS ) THEN
Q := 1; (* XIN1 aumentando *)
END_IF;
END_FUNCTION_BLOCK
Hysterisis
QXIN1XIN2
EPS
BOOLREAL
REAL
REAL
1
EPSEPS
0
XIN2
Q
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árioFUNCTION SIMPLE_FUN : REAL
VAR_INPUTA, B : REAL;C : REAL := 1.0;
END_VARSIMPLE_FUN := A*B/C;END FUNCTION
Tarefas e POUS
Ir para arquivo de help da ATOS
IEC 61131-3 x PLC convencional
Função de Comunicação
Variáveis globais e diretas
Caminho de acesso
Tarefa
Programa Programa
FB FB
Tarefa
Programa
Tarefa
Programa
FB FB
Tarefa
Recurso Recurso
Configuraçãocaminho de acesso a Variável
Caminho do controle de execução
FB
Bloco de Função’’
Variável
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
Camisa deaquecimento
Reagente ácido
Reagente básico
Válvula de dreno
Sensor de pH
Sensor de temperatura
Válvula de alimentação
Agitador
Como criar um programa de controle de forma estruturada?
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 1 : Identificação das interfaces externas do sistema
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 2: Definição dos principais sinais entre o Sistema e o
restante do processo
Para o operador foram definidos: … um botão ‘Liga’ … um botão ‘Desliga’ … uma entrada ‘Duracao’
Agora estão definidas todas as interfaces
Passo 3: Definição de todas as interações com o Operador,
intervenções e dados de supervisão
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 4: “Quebrar” o problema de cima para baixo em partições
lógicas (funcionalidades)
Usando as definições anteriores e
Representando na linguagem gráfica de programação
Diagrama de Blocos de Função temos …
Passo 5: Definição das POUs necessárias(Programas e Blocos de Função)
Programa de Controle da Fermentação
ControleTemp
SequenciaPrinc
LiberEncher
Agitacao
pH
PV
PV
PV
SetPoint
Temp
Liga
Duracao
Desliga
ControlepH
AdicBase
AdicAcidoSetPoint
ControleAgitador
VelocMotor SetPoint
ControleValvulas
Encher
Drenar
Libera
Esfriar
Aquecer
PosicaoValvulas
VelocAgitador
SensorTemp
SensorpH
Duracao
Desliga
Liga AdicBase
AdicAcido
VelocMotor
Encher
Drenar
Esfriar
Aquecer
Entradas Saídas
Apresenta os principaisestados do processo
Seqüência principal (MainSequence) em SFC
Inicialização S1
EnchimentoS2
AquecimentoS3
FermentaçãoS4
DescargaS5
LimpezaS6
Os Blocos de Ação e as
Transições podem ser
programados em
qualquer uma das
quatro Linguagens de
Programação IEC
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 6: Definição dos tempos do ciclo de scanpara as diferentes partes da aplicação
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)
Passo 7: Configuração do Sistema:
Definição dos Recursos, Tarefas e conexão do programa com o I/O físico