Estandar Iec 61131-3
Estandar Iec 61131-3
Estandar Iec 61131-3
FAUSTO TAPIA
29 Junio de 2007
IEC 61131-3 es el resultado del gran esfuerzo realizado por 7 multinacionales a los que se
aaden muchos aos de experiencia en el campo de la automatizacin industrial.
Incluye 200 pginas de texto aproximadamente, con mas de 60 tablas.
IEC 61131-3 son las especificaciones de la sintaxis y semntica de un lenguaje de
programacin, incluyendo el modelo de software y la estructura del lenguaje.
Otra visin distinta es dividir el estndar en dos partes: (ver figura 1):
Elementos comunes.
Lenguajes de programacin.
Lenguajes de Programacin
A. ELEMENTOS COMUNES
Tipos de datos
Dentro de los elementos comunes, se definen los tipos de datos. Los tipos de datos
previenen de errores en una fase inicial, como por ejemplo la divisin de un dato tipo fecha
por un nmero entero. Los tipos comunes de datos son: variables booleanas, nmero
entero, nmero real, byte y palabra, pero tambin fechas, horas del da y cadenas (strings).
Basado en estos tipos de datos, el usuario puede definir sus propios tipos de datos,
conocidos como tipos de datos derivados. De este modo, se puede definir por ejemplo un
canal de entrada analgica como un tipo de dato.
Variables
Las variables permiten identificar los objetos de datos cuyos contenidos pueden cambiar,
por ejemplo, los datos asociados a entradas, salidas o a la memoria del autmata
programable. Una variable se puede declarar como uno de los tipos de datos elementales
definidos o como uno de los tipos de datos derivados. De este modo se crea un alto nivel
de independencia con el hardware, favoreciendo la reusabilidad del software.
La extensin de las variables est normalmente limitada a la unidad de organizacin en la
cual han sido declaradas como locales. Esto significa que sus nombres pueden ser
reutilizados en otras partes sin conflictos, eliminando una frecuente fuente de errores. Si las
variables deben tener una extensin global, han de ser declaradas como globales
utilizando la palabra reservada VAR_GLOBAL.
Pueden ser asignados parmetros y valores iniciales que se restablecen al inicio, para
obtener la configuracin inicial correcta.
Configuracin, recursos y tareas
Para entender sto mejor, vamos a ver el modelo de software, que define IEC 61131-3 (ver
figura 2).
Comparado esto con un PLC convencional, ste contiene un solo recurso, ejecutando una
tarea que controla un nico programa de manera cclica. IEC 61131-3 incluye la posibilidad
de disponer de estructuras ms complejas. El futuro que incluye multi-procesamiento y
gestin de programas por eventos Y no est muy lejos!, observar simplemente las
caractersticas de los sistemas distribuidos o los sistemas de control de tiempo real. IEC
61131-3 est disponible para un amplio rango de aplicaciones, sin tener que conocer otros
lenguajes de programacin adicionales.
Unidades de Organizacin de Programa
Dentro de IEC 1131-3, los programas, bloques Funcionales y funciones se denominan
Unidades de Organizacin de Programas, POUs.
Funciones
IEC 61131-3 especifica funciones estndar y funciones definidas por usuario. Las funciones
estndar son por ejemplo ADD (suma), ABS (valor absoluto), SQRT (raz cuadrada), SIN
(seno), y COS (coseno). Las funciones definidas por usuario, una vez implementadas
pueden ser usadas indefinidamente en cualquier POU.
Las funciones no pueden contener ninguna informacin de estado interno, es decir, que la
invocacin de una funcin con los mismos argumentos (parmetros de entrada) debe
suministrar siempre el mismo valor (salida).
Bloques Funcionales, FBs
Los bloques funcionales son los equivalentes de los circuitos integrados, ICs, que
representan funciones de control especializadas. Los FBs contienen tanto datos como
instrucciones, y adems pueden guardar los valores de las variables (que es una de las
diferencias con las funciones). Tienen un interfaz de entradas y salidas bien definido y un
cdigo interno oculto, como un circuito integrado o una caja negra. De este modo,
establecen una clara separacin entre los diferentes niveles de programadores, o el
personal de mantenimiento. Un lazo de control de temperatura, PID, es un excelente
ejemplo de bloque funcional. Una vez definido, puede ser usado una y otra vez, en el
mismo programa, en diferentes programas o en distintos proyectos. Esto lo hace altamente
reutilizable.
Los bloques funcionales pueden ser escritos por el usuario en alguno de los lenguajes de la
norma IEC, pero tambin existen FBs estndar (biestables, deteccin de flancos,
contadores, temporizadores, etc.). Existe la posibilidad de ser llamados mltiples veces
creando copias del bloque funcional que se denominan instancias. Cada instancia llevar
asociado un identificador y una estructura de datos que contenga sus variables de salida e
internas.
Programas
Los programas son un conjunto lgico de todos los elementos y construcciones del
lenguaje de programacin que son necesarios para el tratamiento de seal previsto que se
requiere para el control de una mquina o proceso mediante el sistema de autmata
programable. Un programa puede contener, aparte de la declaracin de tipos de datos,
variables y su cdigo interno, distintas instancias de funciones y bloques funcionales.
Grfico Funcional Secuencial (SFC)
Etapa 1
Llenar
Transicion 1
Etapa 2
Vaciar
Transicion 2
Etapa 3
B. LENGUAJES DE PROGRAMACIN
Se definen cuatro lenguajes de programacin normalizados. Esto significa que su sintaxis y
semntica ha sido definida, no permitiendo particularidades distintivas (dialectos). Una vez
aprendidos se podr usar una amplia variedad de sistemas basados en esta norma.
Los lenguajes consisten en dos de tipo literal y dos de tipo grfico:
Literales:
Lista de instrucciones (IL)
Texto estructurado (ST)
Grficos:
Diagrama de contactos (LD)
Diagrama de bloques funcionales (FBD)
La norma tambin permite dos formas de desarrollar tu programa de control (ver figura 5):
de arriba a abajo (Top-down) y de abajo a arriba (bottom-up). Puedes especificar
inicialmente la aplicacin completa y dividirla en partes, declarar las variables y dems.
Tambin puedes comenzar la programacin desde abajo, por ejemplo, por medio de
funciones y bloque funcionales. Por cualquiera de los caminos que elijas, IEC 61131-3 te
ayudar durante todo el proceso.
C. IMPLEMENTACIONES
Cumplir todos los requerimientos de la norma IEC 61131-3 no es fcil, por eso se permiten
implementaciones parciales en varios aspectos. Esto hace referencia al nmero de
lenguajes que soportan las herramientas de desarrollo disponibles, y al nmero de
funciones y de bloques funcionales. Con ello se deja libertad al suministrador, pero el
usuario debe tener cuidado durante el proceso de seleccin de la herramienta adecuada.
Incluso una actualizacin del software puede dar lugar a un nivel muy alto de trabajo
durante la implementacin.
Muchos entornos de programacin IEC actuales ofrecen aquello que se espera a nivel de
interface de usuario: uso de ratn, mens desplegables, pantallas de programacin grfica,
mltiples ventanas, ayuda en lnea, verificacin durante el diseo, etc. Debe hacerse notar
que estos detalles no estn especificados en la norma por lo que es una de las partes
donde los proveedores pueden diferenciarse.
D. CONCLUSIONES
Las implicaciones tcnicas de la norma IEC 61131-3 son altas, dejando bastante espacio
para el crecimiento y la diferenciacin.
La norma IEC 61131-3 tendr un gran impacto en el mundo del control industrial y ste no
se restringe al mercado convencional de los PLCs. Ahora mismo, se pueden ver adoptada
en aplicaciones para control de movimiento, sistemas distribuidos y sistemas de control
basados en PC (SoftPLC), incluyendo los paquetes SCADA. Y las reas de su utilizacin
siguen creciendo.
El uso de IEC 61131-3 proporciona numerosos beneficios para usuarios/programadores.
Los beneficios de la adopcin de este estndar son varios, dependiendo de las reas de
aplicacin: control de procesos, integrador de sistemas, educacin, programacin,
mantenimiento, instalacin, etc. Vamos a nombrar slo algunos de estos beneficios:
1. Se reduce el gasto en recursos humanos, formacin, mantenimiento y consultora.
2. Evita las fuentes habituales de problemas por el alto nivel de flexibilidad y reusabilidad
del software.
3. Las tcnicas de programacin son utilizables en amplios sectores (control industrial en
general).
4. Combinan adecuadamente diferentes elementos que pueden provenir de diferentes
fabricantes, programas, proyectos...