Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Autómatas Programables:
Introducci
Introducci ó ó n al Est n al Est á á ndar IEC ndar IEC - - 61131 61131
Felipe Mateos Martín
IEC IEC - - 61131 61131
La Norma IEC
La Norma IEC- -61131 se refiere a: 61131 se refiere a:
• Los autómatas programables (AP ó PLC´s) y a sus periféricos correspondientes, tales como:
- Los equipos de programación y depuración (PADT´s) - Los equipos de ensayo (TE´s)
- Los interfaces hombre-máquina (MMI´s)
Esta norma no trata del sistema automatizado, del cual el autómata programable es un componente básico.
PADT: Programming And Debugging Tool TE: Test Equipment
MMI: Man-Machine Interface
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
La La
finalidad de esta Norma IEC-finalidad de esta Norma IEC-61131 es:61131 es:• Definir e identificar las características principales que se refieren a la selección y aplicación de los PLC´s y sus periféricos.
• Especificar los requisitos mínimos para las características funcionales, las condiciones de servicio, los aspectos constructivos, la seguridad general y los ensayos aplicables a los PLC´s y sus periféricos.
• Definir los lenguajes de programación de uso más corriente, las reglas sintácticas y semánticas, el juego de instrucciones fundamental, los ensayos y los medios de ampliación y adaptación de los equipos.
• Dar a los usuarios una información de carácter general y unas directrices de aplicación.
• Definir las comunicaciones entre los PLC´s y otros sistemas.
Partes de la Norma IEC 61131:
Partes de la Norma IEC 61131:
Parte 1: Información general
Parte 2: Especificaciones y ensayos de los equipos Parte 3: Lenguajes de programación
Parte 4: Guías de usuario (TR) Parte 5: Comunicaciones
Parte 7: Fuzzy Control
Parte 8: Guías de programación (TR)
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Partes de la Norma IEC 61131:
Partes de la Norma IEC 61131:
Parte 1: Información general
Parte 2: Especificaciones y ensayos de los equipos Parte 3: Lenguajes de programación
Parte 4: Guías de usuario (TR) Parte 5: Comunicaciones
Parte 7: Fuzzy Control
Parte 8: Guías de programación (TR)
Parte 1: Informaci
Parte 1: Informaci ó ó n General n General Objetivos
• Se dan las definiciones y un glosario de los términos utilizados en esta norma.
• Se identifican las principales características de los
sistemas de autómatas programables.
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Parte 1: Informaci
Parte 1: Informaci ó ó n General n General Definiciones
Programación de aplicación, lista de asignaciones, sistema automatizado,
disponibilidad, BCD, datos booleanos, bus, componente, conexión/desconexión, lista de referencia cruzada, equipo de comunicación de datos (DCE), equipo terminal de datos (DTE), ejecución, parada de seguridad, imagen de entrada/salida, entrada, instrucción, fallo interno, diagrama de escalera , lenguaje (FBD, IL, LD, ST, SFC), sistema de control lógico, procesador principal (MPU), interface hombre-máquina (MMI), tiempo medio entre fallos (MTBF), red, en línea, salida, programa, periférico, barras de corriente, autómata programable (AP ó PLC), equipo de programación y puesta a punto (PADT), estación de entrada/salida remota (RIOS), reinicio, sistema de control secuencial, transmisión de datos en serie, soporte lógico (software), salida en modo fuente/sumidero, equipo de ensayo (TE), tiempo (retardo, ejecución, respuesta, exploración, transferencia), temporizador (de retardo de conexión/desconexión), programa de usuario, perro guardián, bit, byte, palabra… GLOSARIO…
Parte 1: Informaci
Parte 1: Informaci ó ó n general n general
Estructura funcional de un sistema de autómata programable
• Función de tratamiento de la señal.
• Función de interfaz con los sensores y actuadores.
• Función de comunicación.
• Función de interfaz hombre-máquina.
• Funciones de programación, puesta a punto, ensayo y documentación.
• Funciones de alimentación de corriente
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Conjunto de instrucciones Conjunto de instrucciones
Sistema operativo Sistema operativo Ejecución del
programa Ejecución del programa
Memoria de programa Memoria de programa
Memoria de datos
Memoria de datos
Acometida de la red
Funciones de tratamiento
Funciones de interfaz con sensores y actuadores
Funciones de interfaz hombre-máquina
Funciones de program., puesta a punto y ensayo
Funciones de comunicación
Máquina/proceso
Operador
Programador
Funciones de
alimentación corriente
Parte 1:
Parte 1:
Informaci Informacióónn general
general
Estructura funcional de un sistema de
autómata programable
Parte 1: Informaci
Parte 1: Informaci ó ó n general n general
Estructura funcional de un sistema de autómata programable
Función de interfaz con los sensores y actuadores
Tipos de
señales de E/S Tipos de
señales de E/S
• Binarias
• Digitales
• Analógicas
• Etc.
Características del sistemas de E/S Características del sistemas de E/S
• Tratamiento
• Conversión
• Aislamiento
Unidad de tratamiento
Alimentación
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Parte 1: Informaci
Parte 1: Informaci ó ó n general n general
Estructura funcional de un sistema de autómata programable
Función de interfaz hombre-máquina (MMI)
Información de estado, valores Información de estado, valores
Consignas, ajustes Consignas, ajustes
Operador
Parte 1: Informaci
Parte 1: Informaci ó ó n general n general
Estructura funcional de un sistema de autómata programable
Funciones de programación, puesta a punto, ensayo y documentación
Programación Programación
Arranque del sistema
automatizado Arranque del sistema
automatizado
Programador
Documentación y archivado Documentación y archivado
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Parte 1: Informaci
Parte 1: Informaci ó ó n general n general
Disponibilidad y fiabilidad, es responsabilidad del usuario en cuanto a:
• Arquitectura del sistema automatizado.
Redundancias, tolerancia a fallos, funciones de diagnóstico.• Arquitectura del sistema del autómata programable,
porejemplo, estructura modular con autodiagnóstico
• Diseño, ensayo y mantenimiento del programa de
aplicación.
Incluir funciones de diagnóstico de la ejecución, análisis y detección de averías.• Condiciones de instalación y servicio
. Mejorar las condiciones de trabajo y del entorno.Parte 1: Informaci
Parte 1: Informaci ó ó n general n general Características ergonómicas
• Generales .
Uso eficaz del sistema del AP y sus periféricos, reducción de errores, fatiga y riesgo para el operario.• Indicadores de estado,
para CPU´s, fuentes de alimentación y el sistema de E/S.• Pantallas y teclados.
Visibilidad, disposición, confirmaciones, ...• Otras recomendaciones .
Ventiladores, acabado superficial, aristas vivas, portabilidad.Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Parte 1: Informaci
Parte 1: Informaci ó ó n general n general
Definiciones de “soporte Físico” (Hardware) de un sistema AP
Autómata programable
Procesador
principal Estaciones de E/S remota
NO TRANSPORTABLE
. . . . TRANSPORTABLE . . . .
. . . PORTÁTIL . . . .
Procesador principal
Estaciones de E/S remota
Periféricos permanentes
Periféricos no-conectables en línea
Periféricos conectables en línea
Pariféricos Instalación permanente
Sistema del autómata programable (Sistema AP)
Instalación NO-permanente
Memoria(s) y unidad(es) de tratamiento Memoria(s) y unidad(es) de tratamiento
Módulos de comunica- ción
Módulos de comunica- ción
Módulos de salidas Módulos de salidas
Módulos de entradas Módulos de entradas
Entradas digitales y analógicas
Salidas digitales y analógicas
Acometida de la red
Periféricos
(permanentes/ NO-
permanentes) Parte 1:Parte 1:
Informaci
Informacióón generaln general Esquema de interfaz
Transmisión serie, etc.: ordenadores, impresoras
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Partes de la Norma IEC 61131:
Partes de la Norma IEC 61131:
Parte 1: Información general
Parte 2: Especificaciones y ensayos de los equipos Parte 3: Lenguajes de programación
Parte 4: Guías de usuario (TR) Parte 5: Comunicaciones
Parte 7: Fuzzy Control
Parte 8: Guías de programación (TR)
Parte 2: Especificaciones y ensayos de los equipos Parte 2: Especificaciones y ensayos de los equipos Objetivos
En esta parte se especifican:
• Los requisitos eléctricos, mecánicos y funcionales para los autómatas programables y los periféricos correspondientes, así como las condiciones de servicio, almacenamiento y transporte aplicables.
• La información que ha de suministrar el fabricante.
• Los métodos y procedimientos de ensayo que han de utilizarse para la comprobación del cumplimiento de los requisitos por parte de los autómatas programables y sus periféricos.
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Parte 2: Especificaciones y ensayos de los equipos Parte 2: Especificaciones y ensayos de los equipos Definiciones
Parte accesible, batería, circuito o equipo (clase I, II, III), factor de cobertura, línea de fuga, tierra, inmunidad, entrada/salida digital, aislamiento,
alimentación de red, procesador principal (MPU), microentorno, salida a prueba de cortocircuitos, categoría de sobretensión, grado de contaminación, conector desmontable, temperatura (aire ambiente), ensayo, cableado
(interno, externo), ...
Parte 2: Especificaciones y ensayos de los equipos Parte 2: Especificaciones y ensayos de los equipos
Condiciones de servicio y requisitos del entorno físico
Es responsabilidad del usuario que no se rebasen las condiciones de servicio:
• Condiciones de servicio normales.
O Condiciones del entorno físico: temperatura, humedad, contaminación, inmunidad a la corrosión, altitud.
O Condiciones de servicio y requisitos eléctricos: alimentaciones, ruido eléctrico, sobretensiones, etc.
O Condiciones de servicio y requisitos mecánicos: Vibraciones, choque, caída libre.
• Condiciones de servicio especiales. Polvo, humo, partículas radiactivas, vapores, sales, insectos, pequeños animales, etc.
• Requisitos para el transporte y almacenaje: temperatura, presión atmosférica, humedad relativa.
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Memoria(s) y unidad(es) de tratamiento Memoria(s) y unidad(es) de tratamiento
Módulos de comunica- ción
Módulos de comunica- ción
Módulos de salidas Módulos de salidas
Módulos de entradas Módulos de entradas
Fuente de alimentación
Entradas digitales y analógicas
Salidas digitales y analógicas
Transmisión serie, etc.: ordenadores, impresoras
Acometida de la red
Procesador principal
Periféricos
(permanentes/ NO- permanentes) Estación de E/S
remota Sistema del autómata
programable (AP)
Límite de la norma
Parte 2: Especificaciones y Parte 2: Especificaciones y ensayos de los equipos ensayos de los equipos
Requisitos eléctricos
Esquema típico de un sistema AP
Parte 2: Especificaciones y ensayos de los equipos Parte 2: Especificaciones y ensayos de los equipos Requisitos eléctricos
•
Alimentación de corriente alterna (c.a.) y continua (c.c.).• E/S digitales.
• E/S analógicas.
• Interfaces de comunicación.
• Procesador(es) principal(es) y memoria(s) del sistema AP.
• Estaciones de entrada/salida remota (RIOS).
• Periféricos: PADT, TE, MMI.
• Inmunidad al ruido y ruido emitido.
• Propiedades dieléctricas.
• Autodiagnósticos y diagnósticos.
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Parte 2: Especificaciones y ensayos de los equipos Parte 2: Especificaciones y ensayos de los equipos Requisitos mecánicos
•
Protecciones contra el riesgo de choque eléctricos.• Requisitos de distancias en el aire y líneas de fuga.
• Requisitos de inflamabilidad para materiales aislantes.
• Envolvente.
• Requisitos mecánicos de los materiales de conexión..
• Disposiciones para la tierra de protección.
• Tierra funcional.
• Cables y conectores de interconexión.
• Conexión/desconexión de unidades desmontables.
• Requisitos de la batería.
• Marcado e identificación.
Parte 2: Especificaciones y ensayos de los equipos Parte 2: Especificaciones y ensayos de los equipos Información que debe facilitar el fabricante
El fabricante deberá facilitar a los usuarios la información necesaria para la aplicación, proyecto, instalación, puesta en marcha, funcionamiento y
mantenimiento del sistema de autómata programable. Adicionalmente el fabricante puede ocuparse de la formación del usuario.
• Tabla resumen con la información que se debe facilitar.
• Tipo y contenido de la información escrita: Catálogos y hojas de características, manuales de usuario, documentación técnica.
• Información relativa al cumplimiento de esta norma.
• Información relativa a la fiabilidad.
• Información relativa a la seguridad.
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Parte 2: Especificaciones y ensayos de los equipos Parte 2: Especificaciones y ensayos de los equipos Ensayos y verificaciones
• Se define como ha de verificarse la conformidad del autómata programable y sus periféricos correspondientes con los requisitos fijados en las partes 1 y 2 de la norma.
• Estos ensayos NO se refieren a los métodos de aplicación de los AP para cumplir con los requisitos del sistema automatizado.
• Se dividen en ensayos de tipo y ensayos de rutina.
Parte 2: Especificaciones y ensayos de los equipos Parte 2: Especificaciones y ensayos de los equipos Ensayos y verificaciones
•
Ensayos de tipo•
Equipos a ensayar.• Procedimientos de verificación.
• Condiciones generales para los ensayos.
• Ensayos climáticos, mecánicos y eléctricos.
• Verificación de las características de la alimentación de c.a. y c.c.
• Verificación de las características de entrada/salida.
• Verificación de las características del procesador principal.
• Verificación de las estaciones de E/S remotas.
• Verificación de las características de los periféricos.
• Verificación del autodiagnóstico y diagnóstico.
• Ensayos de rutina
•
Ensayo estándar de rigidez dieléctricaEntornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Partes de la Norma IEC 61131:
Partes de la Norma IEC 61131:
Parte 1: Información general
Parte 2: Especificaciones y ensayos de los equipos Parte 3: Lenguajes de programación
Parte 4: Guías de usuario (TR) Parte 5: Comunicaciones
Parte 7: Fuzzy Control
Parte 8: Guías de programación (TR)
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n Objeto y campo de aplicación
• Definir los lenguajes de programación de uso más
corriente, las reglas sintácticas y semánticas, el juego de instrucciones fundamental, los ensayos y los medios de ampliación y adaptación de los equipos.
Es el interface entre el programador y el sistema de control
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n Definiciones
Tiempo absoluto, vía de acceso, acción, argumento, matriz, asignación, bloque funcional biestable, cadena de bits, cuerpo, llamada, cadena de caracteres, comentario, compilar, tipo de datos, declaración, delimitador, doble palabra, flanco ascendente/descendente, función, diagrama de bloques funcionales, direccionamiento, valor, parámetro de entrada, instancia, literal entero, palabra clave, etiqueta, real largo, temporizador con retardo de
conexión/desconexión, parámetro de salida, sentido de corriente, unidad de organización de programa, recurso, tarea, retorno, etapa, secuencia,
transición, representación simbólica, etc...
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n El estándar IEC-61131
Elementos comunes
Lenguajes de programación
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n Elementos comunes
• Tipos de datos y variables
• Modelo de software
• Modelo de comunicación de datos
• Modelo de programación
• Unidades de organización del programa
• Gráfico Funcional Secuencial (SFC)
• Elementos de configuración
Lenguajes de programación
• Lista de instrucciones (IL)
• Texto estructurado (ST)
• Diagrama de bloques funcionales (FBD)
• Diagrama de contactos (LD)
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n
Elementos comunes. Tipos de datos y variables
• Tipos de datos:
booleanos, enteros, reales, byte, palabra, cadenas de caracteres, fecha, hora_del_día, canal analógico de entrada, ..., tipos de datos derivados (creados por el usuario).BOOL, INT, REAL, BYTE, WORD, STRING DATE, TIME_OF_DAY, ...
• Variables
. Asignan direcciones del hardware: E/S , memoria y datos.Locales o globales. Hacen la programación independiente del hardware.
¿Qué es esto?
01010101 10101010
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Configuraci Configuraciónón
Tarea Tarea Tarea Tarea
Recurso Recurso
Programa Programa Programa Programa
FB FB FB FB
Variables globales y representadas directamente
Vías de acceso
Función de comunicación (IEC 61131-5)
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n
Elementos comunes. Modelo de software
F
Configuraci Configuraciónón
Tarea Tarea Tarea
Recurso
Programa Programa Programa
FB FB FB FB
Variables globales y representadas directamente
F
Tarea
Programa Recurso
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n Modelo de comunicación de variables (I)
• Flujo de datos dentro de un programa
Programa A
a
FB1 FB2
FB_X FB_Y
b
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programació ón n Modelo de comunicación de variables (II)
• Comunicación mediante variables globales
Configuración C
VAR_GLOBAL x: BOOL;
END_VAR
Programa A Programa B
VAR_EXTERNAL x: BOOL;
END_VAR VAR_EXTERNAL
x: BOOL;
END_VAR
FB2 FB1
FB_X FB_Y
a x x b
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programació ón n
Modelo de comunicación de variables (III)
• Bloques funcionales de comunicación
Configuración C Configuración D
Programa A Programa B
FB1 FB2
FB_X FB_Y
a
b
send1 rcv1
SD1 RD1
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programació ón n Modelo de programación
Elementos de los lenguajes de programación de un AP
• Tipos de datos derivados
• Unidades de organización de programa, POU´s Funciones
Bloques funcionales Programas
• Elementos del diagrama secuencial (SFC)
• Elementos de configuración Variables globales
Recursos Tareas
Vias de acceso Programa
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n Elementos comunes
• Tipos de datos y variables
• Modelo de software
• Modelo de comunicación de datos
• Modelo de programación
•• Unidades de organizacióUnidades de organización del programan del programa
• Gráfico Funcional Secuencial (SFC)
• Elementos de configuración
Lenguajes de programación
• Lista de instrucciones (IL)
• Texto estructurado (ST)
• Diagrama de bloques funcionales (FBD)
• Diagrama de contactos (LD)
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n
Unidades de organización del programa (POU´s)
Programas
Bloques funcionales
Funciones
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n
Unidades de organización de programas, POU´s.
PROGRAM
GLOBAL
Local Type
FUNCTION
INPUT
Local Type
FUNCTION_BLOCK
INPUT OUTPUT IN_OUT EXTERNAL
Local Type
Programa de aplicación
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n POU´s. Funciones
• Una función se define como una unidad de organización del
programa que al ser ejecutada suministra exactamente un elemento de datos y cuya invocación se puede utilizar en lenguajes literales como operando en una expresión. Ejemplo:
X := SIN(Y)+ COS(Z)
• Las funciones no deben contener ninguna información de estado interno, es decir, que la invocación de una función con los mismos argumentos (parámetros de entrada) debe suministrar siempre el mismo valor (salida).
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n POU´s. Funciones.
• Funciones estándar:
ADD, SQRT, SIN, COS, MIN, MAX, AND, OR, etc…
• Funciones definidas por el usuario (ejemplo):
FUNCTION Simple: REAL VAR_INPUT
A, B : REAL;
C : REAL:= 1.0;
END_VAR
Simple := A*B/C;
END_FUNCTION
Declaración de variables Cuerpo de la función Nombre
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n POU´s. Bloques funcionales, FB´s
• Un bloque funcional es una unidad de organización del programa que al ser
ejecutada suministra uno o más valores. Existe la posibilidad de crear múltiplos (copias) de un bloque funcional, denominadas instancias.
• Cada instancia llevará asociado un identificador (el nombre de la instancia) y una estructura de datos que contenga sus variables de salida e internas.
• Todos los valores de las variables de salida e internas deberán persistir de una ejecución del bloque funcional al siguiente, por lo que la llamada de un mismo bloque funcional con los mismos argumentos (parámetros de entrada) no tiene por qué dar siempre los mismos valores de salida.
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n POU´s. Bloques funcionales. Ejemplo.
FUNCTION_BLOCK Histeresis VAR_INPUT
XIN1, XIN2: REAL;
EPS: REAL; (* Banda de histéresis *) END_VAR
VAR_OUTPUT Q: BOOL := 0 END_VAR
IF Q THEN
IF XIN1<(XIN2-EPS) THEN Q:=0 (* XIN decreciendo *) END_IF;
ELSEIF XIN1>(XIN2+EPS) THEN Q:=1; (* XIN creciendo *) END_IF
END_FUNCTION_BLOCK
1
EPS EPS 0
XIN2
Q
Histeresis
Q XIN1
XIN2 EPS
BOOL REAL
REAL REAL
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n
Unidades de organización del programa (POU´s).
• Las funciones
• Los bloques funcionales
• Los programas Los programas
Los programas son “un conjunto lógico de todos los elementos y construcciones del lenguaje de programación que son necesarios para el tratamiento de señal previsto que se requiere para el control de una máquina o proceso mediante el sistema de autómata programable”.
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
IEC-61131 Presentación, Oct. 2006 47
Configuraci Configuraciónón
Tarea Tarea Tarea
Recurso
Programa Programa Programa
FB FB FB FB
Variables globales y representadas directamente
Vías de acceso
Función de comunicación (IEC 61131-5)
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n POU´s. Programas
F
Tarea
Programa Recurso
.
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n POU´s. Programas.
• Flujo de datos dentro de un programa
• Comunicación entre programas:
* en la misma configuración (variables globales), o
* en configuraciones distintas (vías de acceso, comunicaciones)
Programa A
FB1 FB2
Programa A Programa B
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n Elementos comunes
• Tipos de datos y variables
• Modelo de software
• Modelo de comunicación de datos
• Modelo de programación
• Unidades de organización del programa
•• GrGráfico Funcional Secuencial (SFC)áfico Funcional Secuencial (SFC)
• Elementos de configuración
Lenguajes de programación
• Lista de instrucciones (IL)
• Texto estructurado (ST)
• Diagrama de bloques funcionales (FBD)
• Diagrama de contactos (LD)
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programació ón n Sequential Function Chart, SFC
• SFC describe el comportamiento secuencial del programa de control. Deriva de las Redes de Petri y Grafcet (CEI 848).
Grafcet
Documentación
Grafcet Grafcet
Documentación
SFC
Conjunto de elementos de control de ejecución de una POU
SFC
Conjunto de elementos de control de ejecución de una POU
IEC-IEC-6113161131
• Permite dividir el problema en partes
• Facilita el rápido diagnóstico de problemas y las tareas de mantenimiento
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n Sequential Function Chart, SFC
• SFC consiste en un conjunto de etapas (STEP´s) en los cuales se realizan una serie de acciones (ACTION BLOCK´s) y unas transiciones (TRANSITION´s) que permite la evolución de una etapa(s) a la(s) siguiente(s).
Paso 1 N Llena
Step 3
Etapa 2 S Vacia Transition 1
Transition 2
Bloque de acci Bloque de acciónón
“a” “b” “c”
“d”
“a” Cualificador
“b” Nombre de la acción
“c” Indicador booleano
“d” Acción en LD, FBD, ST ó IL
Etapa 1 N Llenar
Etapa3
Etapa2b S Vaciar Transición 1b
Transición 2b Etapa2a S Mezcla
Transición 1a
Transición 2a
Sequential Function Chart, SFC
Permite secuencias alternativas y simultáneas
Ejemplo de
secuencias alternativas
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n Elementos comunes
• Tipos de datos y variables
• Modelo de software
• Modelo de comunicación de datos
• Modelo de programación
• Unidades de organización del programa
• Gráfico Funcional Secuencial (SFC)
•• Elementos de configuracióElementos de configuraciónn
Lenguajes de programación
• Lista de instrucciones (IL)
• Texto estructurado (ST)
• Diagrama de bloques funcionales (FBD)
• Diagrama de contactos (LD)
Configuraci Configuraciónón
Tarea Tarea Tarea Tarea
Recurso Recurso
Programa Programa Programa Programa
FB FB FB FB
Variables globales y representadas directamente
F
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n Elementos de configuración.
Una configuración se compone de:
RECURSOS TAREAS
VARIABLES GLOBALES VIAS DE ACCESO
Veamos esto con un ejemplo ....
TASK SLOW_1
TASK PER_2 TASK
FAST_1
TASK INT_2
PROGRAM F PROGRAM G PROGRAM F PROGRAM H
A y1 y2
SLOW_1
B b1 b2
FAST_1
C c1
D d1
y2
RESOURCE STATION_1
P1 P2
SLOW_1 x1
x2
y1 FB1 FB2
out1
P1 P4
PER_2
FB1 FB2
PER_2
INT_2 HOUT1
%IX1.1 z1 w z2 %QW5
VARIABLES GLOBALES Y REPRESENTADAS DIRECTAMENTE x1
x2
y1
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n
Ejemplo de configuraci
Ejemplo de configuraci ó ó n... n...
Declaraciones de bloques funcionales y parámetros
FUNCTION_BLOCK A VAR_OUTPUT y1:UINT;
y2:BYTE;
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK B VAR_INPUT b1:UINT;
b2:BYTE;
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK C VAR_OUTPUT c1:BOOL;
END_VAR
END_FUNCTION_BLOCK
FUNCTION_BLOCK D
VAR_INPUT d1:BOOL; END_VAR VAR_OUTPUT y2:INT; END_VAR END_FUNCTION_BLOCK
PROGRAM F
VAR_INPUT x1: BOOL; x2: UINT; END_VAR VAR_OUTPUT y1: BYTE; END_VAR
END_PROGRAM PROGRAM G
VAR_OUTPUT out1: UINT; END_VAR VAR_EXTERNAL z1: BYTE; END_VAR VAR FB1: A; FB2: B; END_VAR
FB1(...); out1 := FB1.y1; z1 := FB1.y2;
FB2(b1 := FB1.y1) ; b2 := FB1.y2);
END_PROGRAM PROGRAM H
VAR_OUTPUT HOUT1: INT; END_VAR VAR FB1: C; FB2: D; END_VAR
FB1(...);
FB2(d1 := FB1.c1) ; HOUT1 := FB2.y2;
END_PROGRAM
Parte 3:
Parte 3:
Lenguajes de Lenguajes de programaci programacióónn Ejemplo de Ejemplo de configuraci configuracióón...n...
Configuraciones, recursos, variables
RESOURCE STATION_1 ON PROCESSOR TYPE_1 VAR_GLOBAL z1 : BYTE ; END_VAR
TASK SLOW_1(INTEGRAL := t#20ms, PRIORYTY := 2) ; TASK FAST_1(INTERVAL := t#10ms, PRIORYTY := 1) ; PROGRAM P1 WITH SLOW_1 ;
F(x1 := %IX1.1) ; PROGRAM P2 : G(out1 => w,
FB1 WITH SLOW_1, FB2 WITH FAST_1) ; END_RESOURCE
RESOURCE STATION_2 ON PROCESSOR TYPE_2 VAR_GLOBAL z2 : BOOL ;
AT %QW5 : INT ; END_VAR
TASK PER_2(INTERVAL := t#50ms, PRIORITY := 2) ; TASK INT_2(SINGLE := z2, PRIORITY := 1) ;
PROGRAM P1 WITH PER2 :
F(x1 := z2, x2 := w) ; PROGRAM P4 WITH INT 2 :
H(HOUT1 => %QW5, FB1 WITH PER_2) ; END_RESOURCE
VAR_ACCESS
ABLE : STATION_1.%IX1.1 : BOO READ_ONLY ;
BAKER : STATION_1.P1.X2 : BOO READ_ONLY ; CHARLIE : STATION_1.z1 : BOO READ_ONLY ;
DOG : w : BOO READ_ONLY ;
ALPHA : STATION_2.P1.y1 : BOO READ_ONLY ; BETA : STATION_2.P4.HOUT1 : BOO READ_ONLY ;
GAMMA : STATION_2.z2 : BOO READ_ONLY ; VAR_GLOBAL w : UINT; END_VAR
RESOURCE STATION_1 ON PROCESSOR TYPE_1 VAR_GLOBAL z1 : BYTE ; END_VAR
TASK SLOW_1(INTEGRAL := t#20ms, PRIORYTY := 2) ; TASK FAST_1(INTERVAL := t#10ms, PRIORYTY := 1) ; PROGRAM P1 WITH SLOW_1 ;
F(x1 := %IX1.1) ; PROGRAM P2 : G(out1 => w,
FB1 WITH SLOW_1, FB2 WITH FAST_1) ; END_RESOURCE
RESOURCE STATION_2 ON PROCESSOR TYPE_2 VAR_GLOBAL z2 : BOOL ;
AT %QW5 : INT ; END_VAR
TASK PER_2(INTERVAL := t#50ms, PRIORITY := 2) ; TASK INT_2(SINGLE := z2, PRIORITY := 1) ;
PROGRAM P1 WITH PER2 :
F(x1 := z2, x2 := w) ; PROGRAM P4 WITH INT 2 :
H(HOUT1 => %QW5, FB1 WITH PER_2) ; END_RESOURCE
VAR_ACCESS
ABLE : STATION_1.%IX1.1 : BOO READ_ONLY ;
BAKER : STATION_1.P1.X2 : BOO READ_ONLY ;
CHARLIE : STATION_1.z1 : BOO READ_ONLY ;
DOG : w : BOO READ_ONLY ;
ALPHA : STATION_2.P1.y1 : BOO READ_ONLY ; BETA : STATION_2.P4.HOUT1 : BOO READ_ONLY ;
GAMMA : STATION_2.z2 : BOO READ_ONLY ;
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n
Elementos de configuración. Tareas.
Tarea es un elemento de control de ejecución que es capaz de iniciar la ejecución de un conjunto de POU´s: programas y bloques funcionales, cuyas instancias están en la declaración de los programas.
TASK SLOW_1
TASK FAST_1
PROGRAMF PROGRAMG
SLOW_1 FAST_1
RESOURCESTATION_1
P1 P2
SLOW_1
FB1 FB2
Las tareas son habilitadas implícitamente cuando
está habilitado el recurso al que están asociadas.
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n Elementos de configuración. Tareas.
Existen dos modos de control de la ejecución de tareas:
TASK
PRIORITY INTERVAL SINGLE
Nom_task
BOOL TIME UINT
• Por evento:
Ejecución por flanco ascendente de la entrada SINGLE• Por tiempo:
Ejecución periódica según la entrada INTERVAL..PRIORITY establece la
prioridad de las tareas ( 0 - máxima) Varios POU´s pueden estar asociados a la misma tarea.
No pueden existir tareas
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n El estándar IEC-61131
Elementos comunes
Lenguajes de programaci
Lenguajes de programaci ó ó n n
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n 4 Lenguajes de programación
• Lenguajes gráficos
Diagrama de escalera (“Ladder Diagram”, LD)
Diagrama de Bloques Funcionales (”Function Block Diagram, FBD)
• Lenguajes literales
Lista de instrucciones (“Instruction List”, IL) Texto estructurado (
Texto estructurado (““Structured Text”Structured Text”,, ST)ST)
La selección del lenguaje de programación depende de la experiencia del programador, de la aplicación concreta, del nivel de definición de la aplicación, de la estructura del sistema de control y del grado de
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Programación con lenguajes conocidos de PLC
... y lenguaje de alto nivel
LD Entrada_Manual OR Entrada_Automática AND Desbloqueo ST Funcionamiento LD Entrada_01
IL
( )
S_01 S_02
S_03
Manual
S_01
LD
TON Tiempo_01 S_01 XOR
S_02
S_03 Lámpara
T#12s400ms
FBD Tiempo actual
Start
Paso_1
Paso_2 S_01
Transición_02
Transición_Fin
SFC
IF Data = "EOF" THEN FOR Index:=1 TO 128 DO
X:=Read_Data(Datenfeld[index]);
IF X > 2500 THEN Alarma:=TRUE;
END_IF;
END_FOR;
END_IF;
ST
Características comunes:
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n Lenguaje Gráficos (LD y FBD)
• Los elementos del lenguaje gráfico se representan mediante caracteres ISO/CEI 646 o elementos gráficos o semigráficos.
• Una red es un conjunto de elementos gráficos interconectados, que debe ser identificada (un número, p.e.).
• Reglas de evaluación de redes. Vías de realimentación.
• Posibilidad de saltos y retornos (condicionales e incondicionales).
( )
S_01 S_02
S_03
Manual
S_01
LD
Tiempo_01TONS_01 XOR
S_02
S_03 Lámpara
T#12s400ms
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n
Diagrama de escalera (“Ladder Diagram”, LD) Características:
• Barras de alimentación.
• Elementos de enlace y estados: flujo de energía.
• Contactos, bobinas y bloques funcionales
• Orden de evaluación de las redes.
MAN S_0 Lma
FCS EM
KMB
Ejemplo:
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n Diagrama de Bloques funcionales (FBD) Características:
• La representación es coherente con la Norma CEI 617-12.
• Las salidas de los bloques funcionales no se conectarán entre sí (se precisa bloque “OR”).
• La evaluación de una red estará terminada antes de la siguiente.
Ejemplo:
Start
IN PT ET
EMER Q
T#4s400ms
KM V_temp
TON AND
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Características comunes:
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n Lenguaje Literales (IL y ST)
• La representación de literales.
• Los siguientes elementos de estructuración de las POU´s:
TYPE ... END_TYPE VAR ... END_VAR
VAR_INPUT ... END_VAR VAR_OUTPUT ... END_VAR VAR_IN_OUT... END_VAR VAR_EXTERNAL .. END_VAR FUNCTION ... END_FUNCTION
FUNCTION_BLOCK ... END_FUNCTION_BLOCK PROGRAM .. END_PROGRAM
STEP ... END_STEP
TRANSIION ... END_TRANSITION ACTION ... END_ACTION
LD Entrada_Manual OR Entrada_Automática AND Desbloqueo ST Funcionamiento LD Entrada_01
IL
IF Data = "EOF" THEN FOR Index:=1 TO 128 DO
X:=Read_Data(Datenfeld[index]);
IF X > 2500 THEN Alarma:=TRUE;
END_IF;
END_FOR;
END_IF;
ST
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n
Lista de Instrucciones (“Instruction List”, IL) Características:
• Instrucciones:
Etiqueta Operador Operando Comentario START: LD Arranque (*Pulsar botón *)
ANDN %MX5 (* No inhibidor *) ST SALIDA (* Conecta calefactor *)
• Operadores:
LD, ST, S, R, AND, OR, XOR, ADD, SUB, MUL, DIV, GT, GE, EQ, NE, LE, LT, JMP, CAL, RET, )
• Funciones y bloques funcionales. Se coloca el nombre
en el campo del operando y los parámetros, si los lleva, en
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programaci ó ó n n
Texto estructurado (“Structured Text”, ST) Características:
• Similar al Pascal. Alto nivel, estructurado en bloques.
• Expresiones:Es una construcción sintáctica que al se evaluada proporciona un valor. Está compuesta por operadores y operandos.
La evaluación se efectúa según una tabla de prioridades.
• Sentencias:
De asignación (:=),
De control del flujo del programa:
llamada a bloque funcional, RETURN De selección: IF, CASE
De iteración: FOR, WHILE, REPEAT, EXIT
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programació ó n n
Texto estructurado (“Structured Text”, ST) Ejemplo:
IF Dato = “EOF” THEN
FOR indice:=1 TO 128 DO
x:= Read_dato(Canal[indice);
IF x>2500 THEN Alarma:=TRUE;
END_IF;
END_FOR;
END_IF
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programació ó n n Entornos de programación
Muchos de ellos ofrecen:
g
Pantallas de programación gráfica
gSoporte para múltiples ventanas
gOperaciones con el ratón
g
Menús desplegables
gAyuda en línea
g
Verificación del software
durante el diseño
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programació ó n n
Características claves de la calidad IEC 61131-3
Software Estructurado -
a través de configuraciones, Recursos y Unidades de Organización de Programa (POUs).Tipeado de Datos
- a través de lenguajes que restringen las operaciones a los tipos de datos adecuados.Control de la Ejecución
- a través del uso de Tareas.Comportamiento Secuencial Complejo
- a través de los Esquemas Funcional Secuencial.Encapsulación del Software
- a través del uso deEntornos Integrados de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programació ó n n Beneficios del estándar para los usuarios
Educación
Instalación
Mantenimiento
Programación Control de
procesos
Discrete Mnf
Integrador de sistemas
¿Usted ?
Parte 3: Lenguajes de programaci Parte 3: Lenguajes de programació ó n n Beneficios del estándar para los usuarios
g Reduce el gasto en recursos humanos:
formación, depuración, mantenimiento, ...
g Evita fuentes habituales de problemas por su flexibilidad y reusabilidad.
g Técnicas de programación adecuadas a todos los sectores.
g Combinación de elementos y modos de representación.
g Incrementa la conectividad y
comunicacón entre departamentos y
compañias. FunctionBlock
"Heating"
Software Library
IEC IEC - - 61131 61131
Entornos Integrados de Automatización
Ingeniería de Sistemas y Automática
El estándar es una realidad
en papel, y ahora ...
Han creado el problema de la gallina y el huevo:
n Ven los beneficios del estándar, pero necesitan productos
adecuados que cubran sus necesidades
n La demanda debe ser capaz de cubrir los gastos en
investigación y desarrollode los productos