Download Pres IEC 61131 - Área de Ingeniería de Sistemas y Automática

Document related concepts
no text concepts found
Transcript
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Autómatas Programables:
Introducción al Estándar IEC-61131
IEC-61131
Felipe Mateos Martín
IEC-61131 Presentación, Oct. 2006
1
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
La Norma IEC-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
IEC-61131 Presentación, Oct. 2006
2
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
La finalidad de esta Norma IEC-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.
IEC-61131 Presentación, Oct. 2006
3
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
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)
IEC-61131 Presentación, Oct. 2006
4
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
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)
IEC-61131 Presentación, Oct. 2006
5
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 1: Informació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.
IEC-61131 Presentación, Oct. 2006
6
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 1: Informació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…
IEC-61131 Presentación, Oct. 2006
7
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 1: Informació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
IEC-61131 Presentación, Oct. 2006
8
Entornos Integrados
de Automatización
Funciones de interfaz
hombre-máquina
Funciones de
comunicación
Funciones de program.,
puesta a punto y ensayo
Ingeniería de Sistemas y Automática
Operador
Programador
Funciones de
tratamiento
Sistema
Sistema
operativo
operativo
Acometida
de la red
Funciones
de
alimentación
corriente
Ejecucióndel
del
Ejecución
programa
programa
Conjuntode
de
Conjunto
instrucciones
instrucciones
Memoriade
de
Memoria
programa
programa
Memoria de
Memoria de
datos
datos
Parte 1:
Información
general
Estructura funcional
de un sistema de
autómata programable
Funciones de interfaz con
sensores y actuadores
IEC-61131 Presentación, Oct. 2006
Máquina/proceso
9
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 1: Información general
Estructura funcional de un sistema de autómata programable
Función de interfaz con los sensores y actuadores
Unidad de tratamiento
Alimentación
Tiposde
de
Tipos
señalesde
deE/S
E/S
señales
• Binarias
• Digitales
• Analógicas
• Etc.
Característicasdel
del
Características
sistemasde
deE/S
E/S
sistemas
• Tratamiento
• Conversión
• Aislamiento
Máquina/proceso
IEC-61131 Presentación, Oct. 2006
10
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 1: Información general
Estructura funcional de un sistema de autómata programable
Función de interfaz hombre-máquina (MMI)
Informaciónde
de
Información
estado,valores
valores
estado,
Operador
Consignas,
Consignas,
ajustes
ajustes
IEC-61131 Presentación, Oct. 2006
11
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 1: Informació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
Arranquedel
del
Arranque
sistema
sistema
automatizado
automatizado
Programador
Documentación
Documentación
archivado
yyarchivado
IEC-61131 Presentación, Oct. 2006
12
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 1: Informació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, por
ejemplo, 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.
IEC-61131 Presentación, Oct. 2006
13
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 1: Informació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.
IEC-61131 Presentación, Oct. 2006
14
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 1: Información general
Definiciones de “soporte Físico” (Hardware) de un sistema AP
Procesador
principal
Estaciones
de E/S
remota
Periféricos
permanentes
Periféricos
no-conectables
en línea
Periféricos
conectables
en línea
NO TRANSPORTABLE
Procesador
principal
Estaciones
de E/S
remota
. . . . TRANSPORTABLE . . . .
. . . . . PORTÁTIL . . . . . . . .
Autómata programable
Instalación permanente
Pariféricos
Instalación NO-permanente
Sistema del autómata programable (Sistema AP)
IEC-61131 Presentación, Oct. 2006
15
Procesador principal
Entornos Integrados
de Automatización
Estación de E/S
remota
Periféricos
(permanentes/ NOpermanentes)
Sistema del autómata
programable (AP)
Ingeniería de Sistemas y Automática
Parte 1:
Información general
Esquema de interfaz
Entradas digitales
y analógicas
Módulos
Módulos
desalidas
salidas
de
Memoria(s)
Memoria(s)
unidad(es)
yyunidad(es)
detratamiento
tratamiento
de
Salidas digitales
y analógicas
Módulos
Módulos
de entradas
de entradas
Transmisión serie,
etc.: ordenadores,
impresoras
Módulos
Módulos
decomunicacomunicade
ción
ción
IEC-61131 Presentación, Oct. 2006
Fuente de alimentación
Acometida
de la red
Límite de la norma
16
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
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)
IEC-61131 Presentación, Oct. 2006
17
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
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.
IEC-61131 Presentación, Oct. 2006
18
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
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), ...
IEC-61131 Presentación, Oct. 2006
19
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
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.
IEC-61131 Presentación, Oct. 2006
20
Procesador principal
Entornos Integrados
de Automatización
Estación de E/S
remota
Periféricos
(permanentes/ NOpermanentes)
Sistema del autómata
programable (AP)
Ingeniería de Sistemas y Automática
Parte 2: Especificaciones y
ensayos de los equipos
Requisitos eléctricos
Esquema típico de un sistema AP
Entradas digitales
y analógicas
Módulos
Módulos
desalidas
salidas
de
Memoria(s)
Memoria(s)
unidad(es)
yyunidad(es)
detratamiento
tratamiento
de
Salidas digitales
y analógicas
Módulos
Módulos
de entradas
de entradas
Transmisión serie,
etc.: ordenadores,
impresoras
Módulos
Módulos
decomunicacomunicade
ción
ción
IEC-61131 Presentación, Oct. 2006
Fuente de alimentación
Acometida
de la red
Límite de la norma
21
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
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.
IEC-61131 Presentación, Oct. 2006
22
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
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.
IEC-61131 Presentación, Oct. 2006
23
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
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.
IEC-61131 Presentación, Oct. 2006
24
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
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.
IEC-61131 Presentación, Oct. 2006
25
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
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éctrica
• Ensayo de continuidad de la tierra de protección.
IEC-61131 Presentación, Oct. 2006
26
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
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)
IEC-61131 Presentación, Oct. 2006
27
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programació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
IEC-61131 Presentación, Oct. 2006
28
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programació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...
IEC-61131 Presentación, Oct. 2006
29
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programación
El estándar IEC-61131
Elementos comunes
Lenguajes de programación
IEC-61131 Presentación, Oct. 2006
30
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programació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)
IEC-61131 Presentación, Oct. 2006
31
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programació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, ...
¿Qué es esto?
01010101 10101010
• Variables. Asignan direcciones del hardware: E/S , memoria y datos.
Locales o globales. Hacen la programación independiente del hardware.
IEC-61131 Presentación, Oct. 2006
32
Parte 3: Lenguajes de programación
Entornos Integrados
de Automatización
Elementos comunes. Modelo de software
Ingeniería de Sistemas y Automática
Configuración
Recurso
Recurso
Tarea
Programa
Tarea
Tarea
Tarea
Programa
Programa
Programa
F
FB
FB
FB
FB
Variables globales y representadas directamente
Vías de acceso
Función
IEC-61131 Presentación, Oct.
2006 de comunicación
(IEC 61131-5)
33
Parte 3: Lenguajes de programación
Modelo de software. PLC convencional.
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Configuración
Recurso
Tarea
Programa
Recurso
Tarea
Tarea
Tarea
Programa
Programa
Programa
F
FB
FB
FB
FB
Variables globales y representadas directamente
Vías de acceso
Función
IEC-61131 Presentación, Oct.
2006 de comunicación
(IEC 61131-5)
34
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programación
Modelo de comunicación de variables (I)
• Flujo de datos dentro de un programa
Programa A
FB2
FB1
FB_X
FB_Y
a
IEC-61131 Presentación, Oct. 2006
b
35
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programación
Modelo de comunicación de variables (II)
• Comunicación mediante variables globales
Configuración C
Programa A
Programa B
VAR_EXTERNAL
x: BOOL;
END_VAR
VAR_EXTERNAL
x: BOOL;
END_VAR
FB1
FB2
FB_X
a
IEC-61131 Presentación, Oct. 2006
x
VAR_GLOBAL
x: BOOL;
END_VAR
FB_Y
x
b
36
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programación
Modelo de comunicación de variables (III)
• Bloques funcionales de comunicación
Configuración C
Configuración D
Programa A
Programa B
send1
FB1
SD1
rcv1
RD1
FB2
FB_X
FB_Y
b
a
IEC-61131 Presentación, Oct. 2006
37
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programació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
IEC-61131 Presentación, Oct. 2006
Fig. 2c- Bloques funcionales de comunicación
Programa
de aplicación
38
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programació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)
IEC-61131 Presentación, Oct. 2006
39
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programación
Unidades de organización del programa (POU´s)
Programas
Funciones
Bloques
funcionales
IEC-61131 Presentación, Oct. 2006
40
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programación
Unidades de organización de programas, POU´s.
Programa de aplicación
INPUT
OUTPUT
IN_OUT
EXTERNAL
FUNCTION_BLOCK
PROGRAM
Type
Type
Local
Local
GLOBAL
INPUT
FUNCTION
Type
IEC-61131 Presentación, Oct. 2006
Local
41
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programació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).
IEC-61131 Presentación, Oct. 2006
42
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programació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
IEC-61131 Presentación, Oct. 2006
Nombre
Declaración de variables
Cuerpo de la función
43
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programació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.
IEC-61131 Presentación, Oct. 2006
44
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programación
POU´s. Bloques funcionales. Ejemplo.
Histeresis
REAL
XIN1
REAL
XIN2
REAL
EPS
Q
Q
1
0
EPS
EPS
BOOL
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
XIN2
IEC-61131 Presentación, Oct. 2006
45
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programación
Unidades de organización del programa (POU´s).
• Las funciones
• Los bloques funcionales
• 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”.
IEC-61131 Presentación, Oct. 2006
46
Parte 3: Lenguajes de programación
POU´s. Programas
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Configuración
Recurso
Tarea
Programa
Recurso
Tarea
Tarea
Tarea
Programa
Programa
Programa
F
FB
FB
FB
FB
Variables globales y representadas directamente
Vías de acceso
Función
IEC-61131
Presentación, Oct.
2006 de comunicación
PLC
convencional
.
(IEC 61131-5)
47
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programación
POU´s. Programas.
• Flujo de datos dentro de un programa
Programa A
FB1
FB2
• Comunicación entre programas:
* en la misma configuración (variables globales), o
* en configuraciones distintas (vías de acceso, comunicaciones)
Programa A
IEC-61131 Presentación, Oct. 2006
Programa B
48
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programació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)
IEC-61131 Presentación, Oct. 2006
49
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programació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
Grafcet
Documentación
Documentación
IEC-61131
SFC
SFC
Conjuntode
deelementos
elementos
Conjunto
decontrol
controlde
deejecución
ejecución
de
deuna
unaPOU
POU
de
• Permite dividir el problema en partes
• Facilita el rápido diagnóstico de problemas y las tareas
de mantenimiento
IEC-61131 Presentación, Oct. 2006
50
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programació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).
“a”
Paso 1
N
Llena
“b”
“c”
“d”
Transition 1
Etapa 2
S
Vacia
Transition 2
Step 3
IEC-61131 Presentación, Oct. 2006
Bloque de acción
“a” Cualificador
“b” Nombre de la acción
“c” Indicador booleano
“d” Acción en LD, FBD, ST ó IL
51
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programación
Sequential Function Chart, SFC
Permite secuencias alternativas y simultáneas
Etapa 1
Transición 1a
Etapa2a
S
Mezcla
IEC-61131 Presentación, Oct. 2006
Llenar
Transición 1b
Etapa2b
Transición 2a
Ejemplo de
secuencias alternativas
N
S
Vaciar
Transición 2b
Etapa3
52
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programació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)
IEC-61131 Presentación, Oct. 2006
53
Parte 3: Lenguajes de programación
Entornos Integrados
de Automatización
Elementos comunes. Modelo de software
Ingeniería de Sistemas y Automática
Configuración
Recurso
Recurso
Tarea
Programa
Tarea
Tarea
Tarea
Programa
Programa
Programa
F
FB
FB
FB
FB
Variables globales y representadas directamente
Vías de acceso
Función
IEC-61131 Presentación, Oct.
2006 de comunicación
(IEC 61131-5)
54
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programación
Elementos de configuración.
Una configuración se compone de:
RECURSOS
TAREAS
VARIABLES GLOBALES
VIAS DE ACCESO
Veamos esto con un ejemplo ....
IEC-61131 Presentación, Oct. 2006
55
Entornos Integrados
de Automatización
CONFIGURATION CELL_1
RESOURCE STATION_2
RESOURCE STATION_1
TASK
SLOW_1
TASK
FAST_1
P1
TASK
PER_2
TASK
INT_2
P1
P2
PROGRAM F
Ingeniería de Sistemas y Automática
P4
PROGRAM F
PROGRAM G
out1
y1
x1
x2
FB1
FB2
A
y1
y2
B
b1
b2
SLOW_1
FAST_1
x1
x2
FB1
C
c1
FB2
D
d1
y2
PER_2
HOUT1
PER_2
SLOW_1
%IX1.1
y1
PROGRAM H
z1
w
INT_2
z2
%QW5
VARIABLES GLOBALES Y REPRESENTADAS DIRECTAMENTE
BAKER
ABLE
CHARLIE
DOG
GAMMA
VIAS DE ACCESO
Ejemplo
Configuración
IEC-61131 Presentación,
Oct. 2006
Comunicación
ALPHA
BETA
56
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programación
Ejemplo de configuració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
FUNCTION_BLOCK D
VAR_INPUT d1:BOOL; END_VAR
VAR_OUTPUT y2:INT; END_VAR
END_FUNCTION_BLOCK
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
IEC-61131 Presentación, Oct. 2006
57
Entornos Integrados
de Automatización
Parte 3:
Lenguajes de
programación
Ejemplo de
configuración...
Configuraciones,
recursos, variables
Ingeniería de Sistemas y Automática
CONFIGURATION CELL_1
CONFIGURATION CELL_1
VAR_GLOBAL w : UINT; END_VAR
VAR_GLOBAL w : UINT; END_VAR
RESOURCE STATION_1 ON PROCESSOR TYPE_1
RESOURCE STATION_1 ON PROCESSOR TYPE_1
VAR_GLOBAL z1 : BYTE ; END_VAR
VAR_GLOBAL z1 : BYTE ; END_VAR
TASK SLOW_1(INTEGRAL := t#20ms, PRIORYTY := 2) ;
TASK SLOW_1(INTEGRAL := t#20ms, PRIORYTY := 2) ;
TASK FAST_1(INTERVAL := t#10ms, PRIORYTY := 1) ;
TASK FAST_1(INTERVAL := t#10ms, PRIORYTY := 1) ;
PROGRAM P1 WITH SLOW_1 ;
PROGRAM P1 WITH SLOW_1 ;
F(x1 := %IX1.1) ;
F(x1 := %IX1.1) ;
PROGRAM P2 : G(out1 => w,
PROGRAM P2 : G(out1 => w,
FB1 WITH SLOW_1,
FB1 WITH SLOW_1,
FB2 WITH FAST_1) ;
FB2 WITH FAST_1) ;
END_RESOURCE
END_RESOURCE
RESOURCE STATION_2 ON PROCESSOR TYPE_2
RESOURCE STATION_2 ON PROCESSOR TYPE_2
VAR_GLOBAL z2 : BOOL ;
VAR_GLOBAL z2 : BOOL ;
AT %QW5 : INT ;
AT %QW5 : INT ;
END_VAR
END_VAR
TASK PER_2(INTERVAL := t#50ms, PRIORITY := 2) ;
TASK PER_2(INTERVAL := t#50ms, PRIORITY := 2) ;
TASK INT_2(SINGLE := z2, PRIORITY := 1) ;
TASK INT_2(SINGLE := z2, PRIORITY := 1) ;
PROGRAM P1 WITH PER2 :
PROGRAM P1 WITH PER2 :
F(x1 := z2, x2 := w) ;
F(x1 := z2, x2 := w) ;
PROGRAM P4 WITH INT 2 :
PROGRAM P4 WITH INT 2 :
H(HOUT1 => %QW5,
H(HOUT1 => %QW5,
FB1 WITH PER_2) ;
FB1 WITH PER_2) ;
END_RESOURCE
END_RESOURCE
VAR_ACCESS
VAR_ACCESS
ABLE
: STATION_1.%IX1.1
: BOO READ_ONLY ;
ABLE
: STATION_1.%IX1.1
: BOO READ_ONLY ;
BAKER : STATION_1.P1.X2
: BOO READ_ONLY ;
BAKER : STATION_1.P1.X2
: BOO READ_ONLY ;
CHARLIE : STATION_1.z1
: BOO READ_ONLY ;
CHARLIE : STATION_1.z1
: BOO READ_ONLY ;
DOG
:w
: BOO READ_ONLY ;
DOG
:w
: BOO READ_ONLY ;
ALPHA : STATION_2.P1.y1
: BOO READ_ONLY ;
ALPHA : STATION_2.P1.y1
: BOO READ_ONLY ;
BETA
: STATION_2.P4.HOUT1 : BOO READ_ONLY ;
BETA
: STATION_2.P4.HOUT1 : BOO READ_ONLY ;
GAMMA : STATION_2.z2
: BOO READ_ONLY ;
GAMMA : STATION_2.z2
: BOO READ_ONLY ;
END_VAR
END_VAR
END_CONFIGURATION
END_CONFIGURATION
IEC-61131 Presentación, Oct. 2006
58
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programació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.
RESOURCE STATION_1
TASK
SLOW_1
P1
TASK
FAST_1
P2
PROGRAM F
PROGRAM G
FB1
FB2
SLOW_1
FAST_1
Las tareas son habilitadas
implícitamente cuando
está habilitado el recurso al
que están asociadas.
SLOW_1
IEC-61131 Presentación, Oct. 2006
59
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programación
Elementos de configuración. Tareas.
Existen dos modos de control de la ejecución de tareas:
• Por evento: Ejecución por flanco ascendente de la entrada SINGLE
• Por tiempo: Ejecución periódica según la entrada INTERVAL..
Nom_task
PRIORITY establece la
prioridad de las tareas ( 0 - máxima)
Varios POU´s pueden estar asociados
a la misma tarea.
No pueden existir tareas
a la vez por evento y temporizadas..
IEC-61131 Presentación, Oct. 2006
TASK
SINGLE
BOOL
TIME
INTERVAL
UINT
PRIORITY
60
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programación
El estándar IEC-61131
Elementos comunes
Lenguajes de programación
IEC-61131 Presentación, Oct. 2006
61
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programació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 (“Structured Text”, 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
comunicación con otros departamentos de la empresa...
IEC-61131 Presentación, Oct. 2006
62
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
S_01
S_02
S_01
S_03
Manual
( )
LD
Start
S_01
SFC
Paso_1
Transición_02
Paso_2
Programación con lenguajes
conocidos de PLC
... y lenguaje de alto nivel
IL
LD Entrada_Manual
OR Entrada_Automática
AND Desbloqueo
ST Funcionamiento
LD
Entrada_01
Transición_Fin
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
IEC-61131 Presentación, Oct. 2006
S_01
XOR
S_02
S_03
Tiempo_01
TON
Lámpara
T#12s400ms
FBD
Tiempo actual
63
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programación
Lenguaje Gráficos (LD y FBD)
Características comunes:
• 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_01
Manual
( )
S_01 S_03
LD
XOR
S_02
S_03
Tiempo_01
TON
Lámpara
T#12s400ms
FBD
IEC-61131 Presentación, Oct. 2006
Tiempo actual
64
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programació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.
Ejemplo:
MAN S_0
Lma
KMB
FCS EM
IEC-61131 Presentación, Oct. 2006
65
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programació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
EMER
AND
TON
T#4s400ms
IEC-61131 Presentación, Oct. 2006
IN
Q
PT
ET
KM
V_temp
66
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programación
Lenguaje Literales (IL y ST)
Características comunes:
• 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
IEC-61131 Presentación, Oct. 2006
LD Entrada_Manual
OR Entrada_Automática
AND Desbloqueo
ST Funcionamiento
LD
IL
Entrada_01
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
67
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programación
Lista de Instrucciones (“Instruction List”, IL)
Características:
• Instrucciones:
Etiqueta
Operador
Operando
START:
LD
ANDN
ST
Arranque
%MX5
SALIDA
Comentario
(*Pulsar botón *)
(* No inhibidor *)
(* 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
entre paréntesis. Se emplea la operación CAL.
IEC-61131 Presentación, Oct. 2006
68
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programació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
IEC-61131 Presentación, Oct. 2006
69
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programació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
IEC-61131 Presentación, Oct. 2006
70
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programación
Entornos de programación
Muchos de ellos ofrecen:
g
g
g
g
g
g
Pantallas de programación gráfica
Soporte para múltiples ventanas
Operaciones con el ratón
Menús desplegables
Ayuda en línea
Verificación del software
durante el diseño
IEC-61131 Presentación, Oct. 2006
71
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programació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 de
POUs, estructuras y tipos de datos complejos.
IEC-61131 Presentación, Oct. 2006
72
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programación
Beneficios del estándar para los usuarios
Discrete Mnf
Control de
procesos
¿Usted ?
Integrador de
sistemas
Instalación
Educación
Programación
Mantenimiento
IEC-61131 Presentación, Oct. 2006
73
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Parte 3: Lenguajes de programació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.
IEC-61131
Software
Library
FunctionBlock
"Heating"
Function
"LIMIT"
Function
"TEST"
IEC-61131 Presentación, Oct. 2006
Function Block
"Turning"
FunctionBlock
"Feeding"
74
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
El estándar es una realidad
en papel, y ahora ...
IEC-61131 Presentación, Oct. 2006
75
Entornos Integrados
de Automatización
Ingeniería de Sistemas y Automática
Han creado el problema de
la gallina y el huevo:
USUARIOS
n Ven los beneficios del estándar,
pero necesitan productos
adecuados que cubran sus
necesidades
IEC-61131 Presentación, Oct. 2006
VS.
PROVEEDORES
n La demanda debe ser capaz
de cubrir los gastos en
investigación y desarrollode
los productos
76