Title: CONTROLADORES PROGRAMABLES
1CONTROLADORES PROGRAMABLES
- Professor Jair Jonko Araujo
2Sumario
- Tipos de industrias
- Niveles de Control
- Conceptos SVC, SED, Clasificación de los
dispositivos - CLP Histórico, componentes, funcionamiento,
clasificación, ejemplos
3Introducción Conceptos Básicos
4Tipos de Industria
- Manufactura
- producir un bien cualquiera utilizando
herramientas o máquinas (transformación mecánica
a través de sucesivas operaciones) - Proceso
- Conjunto de operaciones/transformaciones
realizadas sobre un material, con la finalidad de
variar sus propiedades físicas/químicas. - Procesos pueden ser contínuos o discontinuos
(batch).
5Niveles de control - Funciones
6Niveles de Control (1)
7Niveles de Control (2)
8Niveles de Control (3)
9Conceptos
- Control es aplicación de una acción pre-planeada
para que aquello que se considera como objeto de
control alcance ciertos objetivos (Miyagi,
1996). - Sistemas de control
- SVC (sistemas de variables continuas) igualar el
valor de una variable física (var. de control) a
un valor de referencia - SED (Sistema de eventos discretos) ejecución
de operaciones conforme procedimiento
prestablecido.
10Conceptos
Valores de referencia
Dispositivo de Control (SED)
Variables de actuación
Comandos de Control
Comandos de tarea
Procesador de Comandos
Actuador
Objeto de control
Detector
Variables controladas
Estados
11Conceptos
Sistema de Control SED
Recursos
Operador/ Usuario
Dispositivo de Actuación
Dispositivo de Realización de Control
Dispositivo de Comando
Dispositivo de Monitoreo
Dispositivo de Detección
Dispositivo de Control
Sistema de Control
Productos
12Conceptos
- Dispositivos de comando (E) botoneras, llaves
rotativas, etc - Dispositivos de actuación(S) contactores,
solenoides(válvulas), servo-motores, etc - Dispositivos de detección(E) llaves fin de
curso, potenciómetros, sensores, encoders, etc - Dispositivos de monitoreo(S) lámparas, bocinas,
displays, registradores, etc. - Dispositivos de Realización circuitos
eléctricos, CLPs, etc.
13Dispositivos - Ejemplos
14CLP Controlador Lógico Programable
15Histórico
- Hasta el final de la década de 60 los sistemas de
control eran electromecánicos (realizados para
armarios/cuadros de relés) - Ocupaban mucho espacio y eran de difícil
mantenimiento - Modificaciones en las líneas de producción
demandaban mucho tiempo y practicamente exigían
el montage de nuevos cuadros - En 1968 la GM (USA) lanzó una especificación
técnica de un nuevo dispositivo de control.
16Histórico
- Requisitos de especificación
- Fácil programación y mantenimiento
(reprogramación) - Alta confiabilidad en el ambiente industrial
(vibración, calentamiento, polvo, etc.) - Dimensiones reducidas
- Capacidad de enviar datos a un Sistema Central
- Ser modular (expansible)
- Señales de E/S de 115VCA (2A mínimo salida)
17Histórico
- En 1969 surgieron los primeros controladores
- Eran muy simples apenas con E/S digitales
- La fácil programación fue una de las claves del
éxito (basada en ladder) - A lo largo de la década del 70 fueron siendo
introducidas nuevas funcionalidades
(temporización, computación numérica, etc.) - A partir de la década de 80 las funciones de
comunicación fueron perfeccionadas
18Histórico
- Hoy el PLC es un sistema microcontrolador
(microprocesador) industrial con software y
hardware adaptado para ambiente industrial
(especialmente ruído eletromagnético) con muchas
opciones de programación, con capacidad de operar
en red en diversos niveles.
19Componentes
20Componentes
- CPU
- Microcontrolador de 16/32 bits
- Funciones
- Comunicación entre las partes del PLC
- Control de entradas y salidas
- Ejecución
- Operación de memoria
- Check-ups internos.
21Componentes
- Memoria
- La memoria es divida en 2 grandes bloques
- Memoria del Sistema
- Programa de Ejecución
- Área de Borrador flags, cálculos, alarmas,
errores. - Memoria del Usuario
- Programa del usuario (binario)
- Tabla de Datos Mapa E/S, valor actual y pre-set
de contadores y temporizadores, variables de
programa.
22Componentes
- Módulos de E/S
- Pueden ser Discretos o Analógicos
- Discretos
- Cantidad de Puntos Disponibles
- AC, DC, Relé
- DC Tipo P ou Tipo N
- Salida necesidad de alimentación externa,
fusibles - Analógicos
- Número de Canales, Resolución del conversor A/D
- Faja de operación 0-20mA, 4-20mA, 0-5V, 0-10V,
-5V, -10V, temperatura (termopar - J,E,K ... ,
termorresistencia PT100, ...)
23Funcionamiento
- Basado en procesamiento cíclico compuesto, de
forma simplificada, por 3 etapas visibles al
usuario - Adquisición de las entradas
- Procesamiento
- Actualización de Salidas
- Comunicación y Mantenimiento del S.O
- (Carga de módulos, actualización de timers,
tratamiento de interrupción, etc.) - X ms para cada 1000 instrucciones
24Funcionamiento
- Las etapas son distintas e independientes
- El proceso se inicia después que las señales de
entrada son mostradas - Durante el proceso las entradas y salidas
permanecen inalteradas (cualquier alteración de
las E/S y estados internos solo puede ocurrir
fuera de este intervalo) - Durante la actualización de las salidas los
valores de las entradas permanecen inalterados
25Funcionamiento
Una entrada debe permanecer accionada, como
mínimo tiempo de varredura de las entradas
tiempo de procesamiento
ALTERNATIVAS
26Características(ejemplo)
27Clasificación
- Basada en el número de E/S (no padronizado)
- Nano hasta 50 puntos de E/S
- Micro hasta 250 puntos de E/S
- Mediohasta 1000 puntos de E/S
- Generalmente asociado al aumento del número de
E/S están asociados aumentos de los recursos de
programación y disminución de los tiempos de
respuestas.
28Ejemplos de Aplicaciones
- máquinas industriales (operadoras, inyectoras de
plástico, textiles, calzados) - equipamientos industriales para procesos (
siderurgia, papel y celulosa, petroquímica,
química, alimentación, minería, etc) - equipamientos para control de energia (demanda,
factor de carga) - adquisición de datos de supervisión en fábricas,
edificios - bancadas de test automático de componentes
industriales.
29Ejemplos (modelos)
30Norma IEC 61131
31Introducción
- Las herramientas para programación de CLP no
evoluconarían a la misma velocidad que las
herramientas para programación de computadores
pues no presentan (aban) - Facilidad de uso
- Portabilidad
- Interoperabilidad entre diferentes productos
- Padrones de comunicación
- La norma IEC 61131 busca llenar esta laguna
32Norma IEC 61131
- Define la sintaxis y el comportamiento del
lenguage - Provee un conjunto de lenguages interligados para
resolver diferentes problemas de control - Mejora la calidad del software aplicado a través
de las técnicas de proyecto estructurado,
encapsulamiento de datos, etc.
33Norma 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
34Norma IEC 61131 parte 3 Principales
características
- Programación estructurada y lenguage de alto
nivel para construcción de grandes programas - Conjunto padronizado de instrucciones (en inglés)
- Programación Simbólica
- Gran variedad de tipos de datos padronizados
- Funciones reutilizables pueden ser creadas
- Conjunto de funciones matemáticas padronizadas
disponibles (trigronométricas, logaritmos, etc.)
35La estrutura de la Norma IEC 61131-3
Elementos Comunes
Lenguages de Programación
36La estructura de la Norma IEC 61131-3
Elementos Comunes
Lenguages de Programación
37IEC 61131-3 Elementos Comunes
38IEC 61131-3 Elementos Comunes
39Variables y Tipos de Datos
- Históricamente
- Referencia a una posición física de memoria
- Referencia a una entrada física
40Variables y Tipos de Datos
- Sensor_Temperatura_1 Integer
- Representación simbólica
- Área propia para mapeo de I/O
- Código independente de hardware
- Altamente transparente y comprensible
- Menos errores
41Variables y Tipos de Datos
42Representación de las Variables
43IEC 61131-3 Elementos Comunes
44IEC 61131-3 Modelo de Software
Configuración
Función de Comunicación
45IEC 61131-3 Modelo de Software
Configuración
Recurso
Recurso
Función de Comunicación
46IEC 61131-3 Modelo de Software
Configuración
Recurso
Recurso
Task
Task (Tarea)
Task
Task
un mecanismo de escalonamiento que ejecuta
Programs o function blocks periódicamente o en
respuesta a un evento (cambio de estado de alguna
variable booleana), permitiendo la ejecución de
programas en diferentes tareas con objetivo de
optimizar el uso de recurso del controlador
Função de Comunicação
47IEC 61131-3 Modelo de Software
- Tipos de Tareas (Task )
- No preemptiva siempre completa su procesamiento
- Preemptiva puede ser interrumpida por otra de
mayor prioridad - Cualquiera puede ser activada cíclicamente, por
tiempo o por evento) - Cada tarea se puede atribuir un período de
ejecución y una prioridad - un Program o function block quedará aguardando su
ejecución hasta que sea asociado a una
determinada Tarea y esta sea activada por una
ejecución periódica o por un determinado evento
48IEC 61131-3 Elementos Comunes
49IEC 61131-3 Modelo de Software
Configuración
Recurso
Recurso
Task
Task
Task
Task
Program
Program
Program (Programa)
Program
Função de Comunicação
50IEC 61131-3 Modelo de Software
- Programs ( Programas)
- pueden contener variables de acceso, las cuales
permiten el acceso remoto por los servicios de
comunicación. - pueden contener instancias de bloques
funcionales, mas no de otros programas, (no
pueden ser aninhados) - as instâncias de blocos funcionais de um programa
podem ser executadas por diferentes tarefas de
controle.
51IEC 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.
52IEC 61131-3 Modelo de Software
Configuração
Recurso
Recurso
Tarefa
Tarefa
Tarefa
Tarefa
Programa
Programa
Variáveis globais e diretas
Caminho de acesso
Função de Comunicação
Todo o mapeamento de memória pode ser acessado
pelo gerenciador global de variáveis
53IEC 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
54IEC 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.
55Functions 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
56Exemplo de Function Block adicional (ATOS)
57Exemplo de Function Block construído pelo usuário
Hysterisis
REAL
XIN1
BOOL
Q
XIN2
REAL
EPS
REAL
58IEC 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
59Functions (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
60Functions (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 AB/C
- END FUNCTION
61Tarefas e POUS
62Ir para arquivo de help da ATOS
63IEC 61131-3 x PLC convencional
Configuração
Recurso
Recurso
Tarefa
Tarefa
Tarefa
Tarefa
Programa
Programa
Variáveis globais e diretas
Caminho de acesso
Função de Comunicação
64PLC convencional x IEC 61131-3
Tarefa 1
Temporizada
Loop Infinito
Recurso
Tarefa 2
Tarefas
Evento
Tarefa 3
Programa
Evento
Tarefa 4
Temporizada
65Vantagens das POUs
- 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
66A estrutura da Norma IEC 61131-3
Elementos Comuns
Linguagens de Programação
67Linguagens 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)
68Linguagens Tradicionais
- Ladder Diagram (LD)
- Function Block Diagram (FBD)
69Linguagens Tradicionais
70Linguagens 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())
71Linguagens 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
72Processo de Fermentação
Como criar um programa de controle de forma
estruturada?
73Passo 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
74Passo 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
75Passo 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
76Passo 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
77Passo 5 Definição das POUs necessárias(Programa
s 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
78Programa de Controle da Fermentação
79Seqüência principal (MainSequence) em SFC
Apresenta os principais estados do processo
S1
Inicialização
S2
Enchimento
Os Blocos de Ação e as Transições podem ser
programados em qualquer uma das quatro Linguagens
de Programação IEC
S3
Aquecimento
S4
Fermentação
S5
Descarga
S6
Limpeza
80Passo 6 Definição dos tempos do ciclo de
scanpara 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)
81Passo 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)