CONTROLADORES PROGRAMABLES
Professor : Jair Jonko Araujo
Sumario

Tipos de industrias;
 Niveles de Control;
 Conceptos: SVC, SED, Clasificación de los
dispositivos;
 CLP: Histórico, componentes, funcionamiento,
clasificación, ejemplos;
Introducción – Conceptos Básicos
Tipos 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).
Niveles de control - Funciones
Gerenciamiento
COMUNICACIÓN
Supervisión
COMUNICACIÓN
La Zona de Control
COMUNICACIÓN
Sensores / Actuadores
Niveles de Control (1)
Niveles de Control (2)
Niveles de Control (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
Conceptos
Control es “aplicación de una acción preplaneada 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.

Conceptos
Valores de
referencia
Dispositivo de Control (SVC)
Regulador
Señales de
realimentación
Variábles de
actuación
Actuador
Objeto de
control
Detector
Variables controladas
Comandos
de tarea
Dispositivo de Control (SED)
Variables de
Comandos de
actuación
Control
Procesador de
Actuador
Objeto de
Comandos
control
Estados
Detector
Variables controladas
Conceptos
Dispositivo de
Comando
Dispositivo de
Monitoreo
Dispositivo
de
Realización
de Control
Recursos
Dispositivo de
Actuación
Dispositivo de
Detección
Objeto de Control
Operador/ Usuario
Sistema de Control SED
Dispositivo de Control
Sistema de Control
Productos
Conceptos

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.
Dispositivos - Ejemplos
CLP – Controlador Lógico
Programable
Histó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.
Histó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)
Histó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
Histó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.
Componentes
Dispositivos
Placa Entrada
Comunicación
Barramento
Memoria
Computador
Fuente
CPU
Placa Salida
Dispositivos
Componentes
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.

Componentes
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.
Componentes
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, ...)
Funcionamiento

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
1 ciclo con período de T segundos
Com. - Man. SO
Adquisición de
entradas
Procesamiento
Actualización de
Salidas
Funcionamiento

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
Funcionamiento
ALTERNATIVAS
Una entrada debe permanecer accionada, como mínimo:
tiempo de varredura de las entradas + tiempo de procesamiento
Características(ejemplo)
Clasificació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;
 Medio:hasta 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.
Ejemplos 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.
Ejemplos (modelos)
Norma IEC 61131
Introducció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
Norma 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.
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
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.)
La estrutura de la Norma IEC 61131-3
Elementos Comunes
Lenguages de Programación
La estructura de la Norma IEC 61131-3
Elementos Comunes
Lenguages de Programación
IEC 61131-3 : Elementos Comunes
ELEMENTOS COMUNES
1. Tipos de Datos y Variables
2. Modelo de Software
* Configuración, Recursos, Tareas
3. POUs (Unidades de Organización de Programa)
* Funciones
* Bloques de Función (FB’s)
* Programas
IEC 61131-3 : Elementos Comunes
ELEMENTOS COMUNES
1. Tipos de Datos y Variables
2. Modelo de Software
* Configuración, Recursos, Tareas
3. POUs (Unidades de Organización de
* Funciones
* Bloques de Función (FB’s)
* Programas
Programa)
Variables y Tipos de Datos
Que es esto?
01010101 10101010
Históricamente
• Referencia a una posición física de memoria
• Referencia a una entrada física
Variables 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
Variables y Tipos de Datos
Representación de las Variables
IEC 61131-3 : Elementos Comunes
ELEMENTOS COMUNES
1. Tipos de Datos y Variables
2. Modelo de Software
* Configuración, Recursos, Tareas
3. POUs (Unidades de Organización de
* Funciones
* Bloques de Función (FB’s)
* Programas
Programa)
IEC 61131-3 Modelo de Software
Configuración
Conjunto de software que define el
comportamiento de un hardware (CP) para
una aplicación específica
Función de Comunicación
IEC 61131-3 Modelo de Software
Configuración
Recurso
Recurso
Soporte para la ejecución de un
programa, interface entre
programas y las E/S de
controlador
Función de Comunicación
IEC 61131-3 Modelo de Software
Configuración
Recurso
Task
(Tarea)
Recurso
Task
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),
de Comunicação
permitiendo la ejecuciónFunção
de programas
en diferentes
tareas con objetivo de optimizar el uso de recurso del
IEC 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
IEC 61131-3 : Elementos Comunes
ELEMENTOS COMUNES
1. Tipos de Datos y Variables
2. Modelo de Software
* Configuración, Recursos, Tareas
3. POUs (Unidades de Organización de
* Funciones
* Bloques de Función (FB’s)
* Programas
Programa)
IEC 61131-3 Modelo de Software
Configuración
Recurso
Task
Program
Recurso
Task
Program
Task
Program
(Programa)
Task
Program
Típicamente, un Program consiste de un número de bloques
uncionales interconectados, capaces de intercambiar datos a
vés de las conecciones de software. Un Program puede anular
las variables de CLP y comunicar con otros
FunçãoPrograms.
de Comunicação
Camino de
control de
ejecución
IEC 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.
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
Temporizada
Tarefa 1
Recurso
Tarefas
Programa
Loop Infinito:
Tarefa 2
Evento
Lê entradas
Executa lógica
Evento
Tarefa 3
Atualiza saídas
Temporizada Tarefa 4
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
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


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)
Download

Herança de Prioridades