Beruflich Dokumente
Kultur Dokumente
de Sistemas de Producción
Máster en Ingeniería Industrial
Tema 3:
Autómatas
Programables
Núm 6
Índice del tema
Autómatas programables o PLCs
Arquitectura de un autómata programable
Ciclo de trabajo
Programación en IEC
Núm 6
Autómatas Programables
Autómata Programable
(PLC: Programmable Logic Controller)
Computador (Equipo electrónico microprocesado)
Programable (por lenguajes orientados a personal
técnico, no informático)
Diseñado para control/automatización en tiempo real
Entornos industriales
Modular (Estándarización del hardware)
Núm 6
Elementos de un Autómata Programable
Elementos
Fuente de alimentación
• Transformador/Rectificador eléctrico
• Batería: mantenimiento de memorias
CPU (unidad central de procesos)
Módulos de E/S
• Comunicación con el proceso
Terminal de programación
• PC
• Consola
Periféricos
• Elementos externos auxiliares
• No intervienen en la ejecución del programa
Núm 6
Estructura Externa
Estructura externa del autómata
Compacta
• Elementos en una sola carcasa
• Número de E/S limitadas
Siemens S7-200
• Poco configurable
• Pocas señales E/S (gama baja)
Schneider TSX micro
Modular
• Elementos en módulos diferentes
• Configuración adaptable y escalable
• Gran capacidad de cálculo y señales E/S
• Funcionamiento en caso de fallos parciales
en los módulos
Núm 6
Estructura Interna
Basada en la estructura de Von Neumann
Núm 6
Estructura Interna
Elementos internos
Bus
• Comunicación secuencial entre los elementos
• Bus de datos
• Bus de direcciones
Unidad central de proceso (CPU)
• Ejecución de las operaciones
• Actualización de contadores, temporizadores
Memoria
• Internas: datos intermedios y variables internas
• Programa: operaciones y parámetros de configuración
Interfaces entrada/salida
• Adaptación de las señales de planta a las señales internas
Fuente de alimentación
Núm 6
Memoria del Autómata Programable
Memoria interna
Son de tipo RAM (volátil)
Memoria imagen
• Memoria intermedia en la que se almacena temporalmente
los datos de entrada leídos y los de salida calculados
• Determina el número de señales de E/S que se pueden
manejar
Núm 6
Memoria del Autómata Programable
Memoria de programa
Almacena el programa del usuario
Datos alfanuméricos, constantes, etc.
Secuencia de instrucciones
• Típicamente 2 bytes/instrucción
No volátiles
• RAM+batería: para desarrollo y prueba preliminar
• EEPROM o flash: para el programa definitivo
Tarjetas de memoria en CPU
Son prioritarias sobre la RAM
Núm 6
Modos de Operación
Modos de operación
RUN: ejecución normal
STOP: parada por orden del usuario para mantenimiento
o diagnóstico (Ej. actualización del programa de usuario)
• Las salidas se ponen a OFF
• Los registros internos, contadores y temporizadores
mantienen su valor (diagnóstico)
• Al pasar a RUN, los registros no mantenidos se ponen a
OFF
ERROR: bloqueo por detección de un error
• Las salidas se mantienen a OFF
(RESET): Reinicialización
Núm 6
Ciclo de Ejecución de Programas
La operación de un autómata es la ejecución de
una secuencia de tareas de forma cíclica
Chequeos de memora, de la CPU, watchdog, etc.
Lectura y escritura de señales de los módulos de E/S
Comunicación con periféricos y terminales
Copias de respaldo
Ejecución del programa de usuario
Tiempo de ciclo (o scan)
Tiempo de ejecución de la secuencia de tareas
Puede variar según el estado del autómata
Limita la rapidez de los sistemas que controla
Un reloj de guarda (watchdog) comprueba si el tiempo
de ciclo excede un valor máximo permitido
Núm 6
Ciclo de funcionamiento
Ciclo de Scan
Encendido
Núm 6
Ciclo de funcionamiento
Encendido
Chequeo inicial
Chequeo inicial Comprobación de la CPU
• Programa monitor
Fatal • Memoria interna
¿Error? • Reloj de guarda (watchdog)
ERROR Comprobación de la Memoria de programa
Inicialización de Comprobación de los interfases E/S
variables internas Nivel de batería
Si se detecta un error fatal, se pasa al
Chequeo cíclico modo ERROR
Fatal No fatal Inicialización de variables internas.
¿Error?
Típicamente:
ERROR
Puesta a OFF las variables internas no
Lectura Entradas mantenidas
Borrado de la memoria imagen
Ejecución Programa Borrado de los contadores y temporizadores
no mantenidos
Escritura Salidas
Núm 6
Ciclo de funcionamiento
Encendido
Chequeo cíclico
Chequeo inicial Comprobación del watchdog
• Superación del tiempo máximo de ejecución
Fatal • Bloqueo de comunicación con periféricos
¿Error? • Avería en CPU
ERROR Comprobación de la memoria interna
Inicialización de Comprobación del programa
variables internas Comprobación de los interfases E/S
Comprobación de los buses
Chequeo cíclico Comprobación de los niveles de tensión
Comprobación de errores
Fatal No fatal
¿Error? Si es fatal, pasa al modo ERROR
Si no es fatal, se almacenan y señalizan, pero
ERROR
no paran el ciclo de ejecución
Lectura Entradas
Lectura de entradas
Adquisición de las entradas y escritura en la
Ejecución Programa
memoria imagen de entrada
Ejecución del programa de usuario
Escritura Salidas
Secuencia de operaciones
Escritura de salidas
Comunicación con periféricos
Generación de las señales de salida a partir
de los datos en la memoria imagen de salida
Núm 6
Tareas de un Autómata Programable
Tarea Maestra
Principal. Siempre activa
Modos de ejecución
• Cíclica: cuando termina su ejecución comienza de nuevo.
T.S. Lect Prog Esc T.S. Lect Prog Esc T.S. Lect Prog Esc
T.S. Lect Prog Esc T.S. Lect Prog Esc T.S. Lect Prog Esc
Estructura Lect
SR0
• Programa principal S0
Secuencia de instrucciones que se ejecutan
secuencialmente ··· SRm
Núm 6
Tareas de un Autómata Programable
Tareas rápidas
Tareas de ejecución periódica
• Típicamente más rápidas que el tiempo de ciclo de la tarea maestra
• Gobernadas por un reloj interno, independiente de la tarea maestra
• Pueden activarse y desactivarse desde la tarea maestra
Mayor prioridad que la tarea maestra
• Si está activa, interrumpe la ejecución de la tarea maestra
Ejecución
• Lectura de las entradas usadas
• Ejecución de tarea principal (puede tener secciones y subrutinas)
• Escritura de las salidas usadas
L PE L PE L PE L PE L PE L PE L PE
Núm 6
Tareas de un Autómata Programable
Tarea de eventos
Se activan por una señal de interrupción externa (evento)
Son las de mayor prioridad (interrumpen a las restantes)
Deben ser tareas muy rápidas
Ejecución
• Lectura de las señales de entrada
• Ejecución de la tarea
• Escritura de salidas
Tareas auxiliares
Menor prioridad que la maestra
Típicamente tareas más lentas que la maestra
corriendo en segundo plano -> todas las tareas le interrumpen ?¿?
Núm 6
Módulos de E/S
Entradas
Conexión con los sensores
Típicamente
• Digitales: tensión
• Analógicas:
Tensión o bucle de corriente
Características: número de bits, frecuencia de muestreo, filtro,…
Núm 6
Comunicación por redes y buses
Comunicación con periféricos por red de datos
Elementos de E/S remotos
Otros PLCs
Dispositivos de campo: sensores y actuadores en planta
Interfases hombre-máquina (HMI) y SCADA
Tipos
Comunicación Serie (RS-232, RS-485, USB): Ej PPI,MPI
(Siemens) o Modbus (Schneider)
Buses de campo: Conexión con los dispositivos de campo
• Funcionalidad limitada: comunicación de medidas, típicamente
datos todo/nada. Ej: Red AS-i
• Funcionalidad elevada: Transmisión de paquetes. Amplio tipos de
medidas y funciones (calibración, diagnóstico, etc). Ej:Interbus-S
(Phoenix-Concat), Profibus-DP (Siemens), CANopen (Bosch)
Redes industriales
• Ethernet industrial: adaptación del estándar TCP/IP (seguridad y
temporización). Ej: Modbus/TCP (Schenider), ProfInet (Siemens)
Núm 6
Programación de un PLC
Se realiza desde un terminal de programación
Crear el programa de control
• Lenguajes de programación alto nivel
Propietarios
(Quasi) Estándar IEC1131-3
Tipos de terminales
Consolas de programación
Núm 6
Normativa IEC 1131
Estandarizar el desarrollo y programación de
aplicaciones en PLCs (1992)
IEC 1131: Autómatas programables
Parte 1: Información general
Parte 2: Especificaciones y ensayo de los equipos
Parte 3: Lenguajes de programación
Parte 4: Guías de usuario
Parte 5: Comunicaciones
Objetivos
Disminución de los costes de formación
Homogeneidad en la documentación de las aplicaciones
(Estructura del programa, datos, etc)
Variedad de lenguajes de programación
Portabilidad de los programas
Núm 6
Elementos comunes
Tipos de datos
BOOL (1bit)
INT, UINT (16 bits)
REAL (32 bits)
BYTE, WORD,DWORD (8,16,32 bits)
STRING
TIME,DATE,TIME_OF_DAY, DATE_AND_TIME
Variables
Predefinidas
• %I(X,B,W,D) , %Q(X,B,W,D), %M(X,B,W,D)
Declaradas en el programa
• VAR, VAR_INPUT, VAR_OUTPUT, VAR_IN_OUT, VAR_EXTERNAL,
VAR_GLOBAL, VAR_ACCESS
Núm 6
Elementos Comunes
1 2 M
FB FC FC
FB
Variables Globales
Vías de acceso
Comunicación
Núm 6
Lenguajes de Programación
Lenguaje de contactos (LD)
Representación estándar de contactos y bobinas
Simula los diagramas eléctricos tradicionales
Orientado al control binario
Fácil explotación por el personal de mantenimiento
Genera código complejo y difícil de modularizar
Núm 6
Lenguajes de Programación
Texto estructurado (ST)
Texto
Lenguaje de Alto nivel ( tipo PASCAL )
Posible anidar instrucciones
Opera con distintos tipos de datos (BOOL, INT, REAL, etc)
Facilita cálculo matemático
Potentes comandos
• Bucles iterativos (REPEAT-UNTIL; WHILE-DO;FOR)
• Ejecuciones condicionadas (IF-THEN-ELSE; )
Núm 6
Lenguajes de Programación
Lista de instrucciones (IL)
no nos vamos a centrar
Editor texto ( tipo ensamblador )
Basado en el modelo de acumuladores
Sólo se permite una operación por línea
Difícil seguimiento en la puesta en marcha
Se puede editar desde cualquier procesador de texto
Núm 6
Lenguajes de Programación
Diagramas de bloques de función (FBD)
Gráfico
Conexión entre bloques funcionales similar a los diagramas de
circuitos cableado
Facilita el flujo de información entre componentes de control
Usado en procesos continuos donde hay importante flujo de
información o datos entre componentes de control
El bloque funcional tiene memoria/estados
FBD
Núm 6
Lenguajes de Programación
GRAFCET (Sequential function chart) (SFC)
Gráfico para control de sistemas secuenciales
Programar aplicaciones complejas dividiéndolas en partes más
pequeñas
Simplifica el mantenimiento
Rápido diagnóstico
Sucesión de ETAPAS en función de condiciones de
TRANSICION
Posibilidad de secuencias alternativas y paralelas
Cada etapa o transición puede programarse en
cualquiera de los 4 lenguajes IEC
Núm 6