infoplc net intro estandar iec 61131-3

14
Introducción al estándar IEC 61131-3 Página 1 de 1 Introducción al estándar IEC 61131-3 Este documento es una traducción libre, comentada y resumida por el equipo técnico de AISA del material presentado en el website de la Organización PLCopen http://www.plcopen.org/ con objeto de difundir el contenido y alcance de dichos estándares. El estándar internacional IEC 61131 es una colección completa de estándares referentes a controladores programables y sus periféricos asociados. Consiste de las siguientes partes: Parte1: Información General Establece las definiciones e identifica las principales características significativas a la selección y aplicación de los controladores programables y sus periféricos asociados. Parte 2: Equipo requerimientos y pruebas Especifica los requisitos del equipo y pruebas relacionadas para los controladores programables (PLC) y sus periféricos asociados. Parte 3: Lenguajes de Programación Define como un conjunto mínimo, los elementos básicos de programación. Reglas sintácticas y semánticas para los lenguajes de programación usados mas comúnmente, incluyendo los lenguajes gráficos de Diagrama de Escalera y Diagrama de Bloques de Funciones y los lenguajes textuales de Lista de Instrucciones y Texto estructurado. Así como sus principales campos de aplicación, pruebas aplicables y los medios por los cuales los fabricantes pueden expandir o adaptar esos conjuntos básicos a sus propias implementaciones de controlador programable. Parte 4: Guías de Usuario. Un reporte técnico que proporciona una vista general y guías de aplicación del estándar para los usuarios finales de los controladores programables. Parte 5: Especificación del servicio de Mensajería. Define la comunicación de datos entre controladores programables y otros sistemas electrónicos usando el “Manufacturing Message Specification” (MMS, acorde al ISO/IEC 9506). Parte 7: Programación en lógica difusa. Define los elementos básicos de programación de “lógica difusa” para su uso en Controladores programables. Parte 8: Guías para aplicación e implementación de lenguajes de programación. Proporciona una guía para los desarrolladores de software para los lenguajes de programación definidos en la parte 3.

Upload: walvarezmo5254

Post on 16-Nov-2015

53 views

Category:

Documents


6 download

DESCRIPTION

norma de programacion

TRANSCRIPT

  • Introduccin al estndar IEC 61131-3

    Pgina 1 de 1

    Introduccin al estndar IEC 61131-3 Este documento es una traduccin libre, comentada y resumida por el equipo tcnico de AISA del material presentado en el website de la Organizacin PLCopen http://www.plcopen.org/ con objeto de difundir el contenido y alcance de dichos estndares.

    El estndar internacional IEC 61131 es una coleccin completa de estndares referentes a controladores programables y sus perifricos asociados. Consiste de las siguientes partes: Parte1: Informacin General Establece las definiciones e identifica las principales caractersticas significativas a la seleccin y aplicacin de los controladores programables y sus perifricos asociados. Parte 2: Equipo requerimientos y pruebas Especifica los requisitos del equipo y pruebas relacionadas para los controladores programables (PLC) y sus perifricos asociados. Parte 3: Lenguajes de Programacin Define como un conjunto mnimo, los elementos bsicos de programacin. Reglas sintcticas y semnticas para los lenguajes de programacin usados mas comnmente, incluyendo los lenguajes grficos de Diagrama de Escalera y Diagrama de Bloques de Funciones y los lenguajes textuales de Lista de Instrucciones y Texto estructurado. As como sus principales campos de aplicacin, pruebas aplicables y los medios por los cuales los fabricantes pueden expandir o adaptar esos conjuntos bsicos a sus propias implementaciones de controlador programable. Parte 4: Guas de Usuario. Un reporte tcnico que proporciona una vista general y guas de aplicacin del estndar para los usuarios finales de los controladores programables. Parte 5: Especificacin del servicio de Mensajera. Define la comunicacin de datos entre controladores programables y otros sistemas electrnicos usando el Manufacturing Message Specification (MMS, acorde al ISO/IEC 9506). Parte 7: Programacin en lgica difusa. Define los elementos bsicos de programacin de lgica difusa para su uso en Controladores programables. Parte 8: Guas para aplicacin e implementacin de lenguajes de programacin. Proporciona una gua para los desarrolladores de software para los lenguajes de programacin definidos en la parte 3.

  • Introduccin al estndar IEC 61131-3

    Pgina 2 de 2

    El IEC 61131-3 un recuso de programacin estndar. IEC 61131-3 es el primer esfuerzo real para estandarizar los lenguajes de programacin usados en para la automatizacin industrial.. Con su soporte mundial, es independiente de una sola compaa. Esta parte de programacin, es la tercera del estndar 61131. Hay muchas formas de ver esta parte del estndar. Algunas son:

    Es el resultado de la fuerza de trabajo3 del IEC TC65 SC65B.

    Es resultado del trabajo de 7 compaas internacionales sumando muchos aos de experiencia en el campo de la automatizacin industrial.

    Son aproximadamente 200 pginas de texto, con unas 60 tablas.

    Es la especificacin de la sintaxis y semntica de un conjunto unificado de lenguajes de programacin incluyendo el modelo general del software y su estructura como lenguaje.

    Una forma conveniente de verlo, es dividiendo el estndar en 2 partes:

    1. Elementos Comunes. 2. Lenguajes de Programacin.

    Veamos con mayor detalle estas 2 partes.

    Elementos Comunes. Tipos de Datos. Dentro de los elementos comunes se definen los tipos de datos. La tipificacin de los datos previene errores en una etapa temprana. Se usa para definir el tipo de cualquier parmetro usado. Esto evita que por ejemplo se divida una fecha entre un entero. Los tipos de datos comunes son: Boolean, Integer, Real, Byte y Word. Tambin Date, Time_of_Day y String. Basado en ellos, uno puede definir sus propios tipos de datos, llamados tipos de datos derivados.

    Variables. Las variables son nicamente asignadas a direcciones de hardware explicitas (por ejemplo entradas y salidas) en la configuracin, recursos o programas. De esta manera se le da a los programas una independencia de alto nivel del hardware, soportando el re-uso del software. El enfoque (visibilidad) de las variables es normalmente limitado a la unidad de organizacin en la cual son declaradas (por ejemplo: local). Esto significa que sus nombres pueden ser usados nuevamente sin ningn conflicto en otras partes, eliminando otra fuente de errores. Si las variables requieren un alcance global, deben ser declaradas como tales. Los parmetros pueden recibir un valor inicial al arranque y al reinicio en fri, con objeto de asegurar su valor correcto al inicio de la ejecucin de los programas.

  • Introduccin al estndar IEC 61131-3

    Pgina 3 de 3

    Configuracin, recursos y tareas. Para entender mejor esto, es conveniente ver el modelo de software, tal como se define en el estndar: Al nivel mas alto, el software completo que se requiere para solucionar un problema de control particular puede ser formulado como una configuracin. Una configuracin es especfica a un sistema de control particular, incluyendo el arreglo del hardware, recursos de procesamiento, direcciones de memoria para los canales de entrada/salida y otras capacidades del sistema. Dentro de una configuracin, se pueden definir una o ms tareas. Estas tareas controlan la ejecucin de un conjunto de programas y/o bloques de funcin. Las tareas pueden ser ejecutadas peridicamente o a la ocurrencia de algn evento disparador, por ejemplo el cambio en una variable. Los programas estn constituidos por diferentes elementos de software escritos en cualquiera de los lenguajes definidos por IEC. Tpicamente un programa consiste de una red (network) o funciones y bloques de funcin que son capaces de intercambiar datos. Las funciones y los bloques de funcin son los bloques de construccin bsicos y contienen una estructura de datos y un algoritmo. Comparemos lo anterior con un PLC convencional: Este contiene recursos corriendo una tarea, corriendo un programa. IEC 61131-3 le agrega a esto mucho mas, hacindolo abierto a mayores capacidades tales como multiprocesamiento y conduccin por sucesos. Unidades de organizacin del programa. En IEC 61131-3 los Programas, Bloques de Funcin y Funciones son llamados Unidades de Organizacin de Programa (program organization units o POUs). Funciones IEC define Funciones Estndar y Funciones Definidas por el Usuario. Las funciones estndar son por ejemplo: ADD (suma), ABS (absoluto), SQRT (cuadrado) SIN (seno), etc. Las funciones definidas por el usuario (basadas en las funciones estndar), una vez definidas pueden ser re-usadas una y otra vez. Bloques de Funcin (Function Blocks FBs) Los Bloques de Funcin son los equivalentes a los circuitos integrados y representan una funcin de control especializada. Contienen datos as como el algoritmo as que pueden conservar informacin de su estado. Esto las diferencia de las funciones. Nota: Una funcin siempre da la misma salida para las mismas entradas. Un bloque de Funcin no, ya que puede tomar en cuenta como llego a su estado actual.

  • Introduccin al estndar IEC 61131-3

    Pgina 4 de 4

    Los Bloques de Funcin cuentan con una Interface bien definida y su parte interna oculta. Esto es actan como una caja negra. Esto permite una clara separacin entre diferentes niveles de programadores o personal de mantenimiento. Un lazo de control de temperatura, o un PID es un excelente ejemplo de un Bloque de Funcin. Una ves definido puede ser usado una y otra ves en el mismo programa, diferentes programas o diferentes proyectos, es decir son re-usables. Los Bloques de Funcin pueden ser escritos en cualquiera de los lenguajes definidos por el estndar IEC y en muchos casos incluso en C. Tambin pueden definirse por el usuario, basados en los existentes, obtenindose as los Bloques de Funcin derivados. Programas Con los bloques constructivos mencionados anteriormente se puede decir que un Programa es una Red de Funciones y Bloques de Funcin. Un programa puede ser escrito en cualquiera de los lenguajes de programacin definidos en el estndar. Grafica de Secuencia de Funciones (Sequential Function Chart - SFC) SFC describe grficamente el comportamiento secuencial de un programa de control. Se derivan de sus antecesores Petri Nets y del IEC848 Grafcet. El SFC estructura la organizacin interna de un programa y ayuda a descomponerlo en partes ms fcilmente manejables, mientras mantiene la visin general. El SFC consiste de Pasos enlazados con Bloques de Accin y Transiciones. Cada Paso representa un estado particular del sistema que se esta controlando. Una transicin se asocia con una condicin (condiciones) que cuando es cierta causa que el paso previo se desactive y el paso prximo se active. Los pasos estn ligados a bloques de Accin, que ejecutan algunas acciones de control pertinentes a dicho Paso. Cada elemento del diagrama puede ser programado en cualquiera de los lenguajes definidos por el estndar IEC, incluido el propio SFC. Se pueden usar secuencias alternativas o incluso paralelas segn se requiere con frecuencia en los procesos batch. Por su estructura general, SFC proporciona un medio de comunicacin o entendimiento entre personas con diferentes especialidades.

  • Introduccin al estndar IEC 61131-3

    Pgina 5 de 5

    Lenguajes de Programacin Dentro del estndar se definen 4 lenguajes de programacin. Esto es, se definen su sintaxis y semntica. Una ves que usted los aprendi, puede aplicarlos a una gran cantidad de sistemas que estn basados en estos estndares. Los lenguajes son 2 de tipo textual y 2 de tipo grafico: Textuales:

    Lista de Instrucciones (Instruction List IL)

    Texto estructurado (Structured Tex ST) Grficos

    Diagrama de Escalera (Ladder Diagram LD)

    Diagrama de Bloques de Funciones (Function Block Diagram FBD) En la figura, los cuatro lenguajes describen la misma parte simple de un programa. La eleccin del lenguaje de programacin depende de:

    La formacin y experiencia del programador.

    El problema que se atiende (la aplicacin particular).

    El nivel de descripcin del problema.

    La estructura del Sistema de Control.

    La Interface con otras personas o departamentos.

    Instruction List - IL Structured Text - ST

    LD A

    ANDN B

    ST C

    C = A AND NOT B

    Function Block Diagram - FBD

    AND

    A

    B

    C

    Ladder Diagram - LD

    A B C

    ----| |------|/ |----------( )

  • Introduccin al estndar IEC 61131-3

    Pgina 6 de 6

    Todos los 4 lenguajes estn interrelacionados. Forman un conjunto comn relacionado con la experiencia existente. De esta manera, tambin proporcionan una forma de comunicacin a personas con diferente especialidad. El Diagrama de escalera (LD) tiene sus races en USA. Esta basado en la representacin grafica de la lgica de relevadores. La Lista de Instrucciones (IL) Es tiene su origen en Europa y se asemeja a los programas en ensamblador. El Diagrama de Bloques de Funcin (FBD) es comn en la industria de proceso y representa el comportamiento del programa mediante un conjunto de bloques de funciones a la manera de los diagramas de circuitos de electrnica. Esto es: miran al sistema en trminos de flujo de seales entre elementos de procesamiento. El Texto estructurado (ST), es un lenguaje poderoso de alto nivel, con sus races en Ada, Pascal y C. Contiene todos los elementos esenciales de un lenguaje de programacin moderno, incluyendo seleccin del flujo de ejecucin (IF-THEN-ELSE y CASE OF) y lazos de iteracin (FOR, WHILE y REPEAT), que pueden ser anidados. Este lenguaje resulta excelente para la definicin de bloques de funcin complejos que pueden ser usados en cualquiera de los otros lenguajes.

    Desarrollo Hacia Abajo o Hacia Arriba. El estndar permite dos maneras de desarrollar su programa, ya sea partiendo de una visin general para luego resolver los detalles (hacia abajo) o iniciando por la parte de detalles especficos (iniciando desde abajo hacia arriba) por ejemplo mediante bloques de funcin y bloques de funcin derivados. El ambiente de desarrollo le ayudara durante el proceso completo.

    Implementaciones Los requerimientos completos del IEC 61131-3 no son fcilmente llenados. Por esa razn el estndar permite implementaciones parciales en varios aspectos. Tales como el numero de lenguajes soportados, funciones y bloques de funcin. Esto proporciona libertad del lado del suministrador, pero el usuario (cliente) debe estar prevenido al respecto durante su proceso de seleccin. Muchos ambientes de desarrollo de programacin IEC ofrecen lo que usted puede esperar de un ambiente moderno: Operacin mediante Mouse, mens descolgables, pantallas graficas, soporte de mltiples ventanas, funciones de hipertexto, verificacin durante el diseo. Tenga previsto que esto no es

  • Introduccin al estndar IEC 61131-3

    Pgina 7 de 7

    especificado dentro del estndar en si mismo y es una de las cosas en que diferentes suministradores pueden diferenciarse.

    Conclusin Las implicaciones tcnicas del estndar IEC 61131-3 son altas, pero dejan espacio suficiente para el crecimiento y la diferenciacin entre proveedores, hacindolo aplicable tanto al corto como al largo plazo. El IEC 61131-3 tendr un gran impacto en toda la industria de control. Ciertamente no se restringe al mercado tradicional de los PLCs. Tambin se ha adoptado en el mercado de control de movimiento, Sistemas distribuidos y Softlogic basados en PCs. Incluyendo paquetes SCADA y continua en aumento. Algunos de los beneficios de adoptar este estndar son:

    Disminuir el desperdicio de recursos humanos en entrenamiento, solucin de errores y mantenimiento.

    Favorecer el enfoque a la solucin del problema mediante un alto nivel de rehso del software.

    Reduciendo los malentendidos y errores.

    Tcnicas de programacin de enfoque amplio para la generalidad del control industrial.

    Permitiendo la combinacin de diferentes componentes de diferentes programas, proyectos, localidades compaas y pases.

  • IEC 61131-3 ESTANDARIZACION EN LA PROGRAMACION DEL CONTROL INDUSTRIAL

    - 1 -

    Introduccin

    En la actualidad an siguen persistiendo sistemas de control especficos del fabricante, con

    programacin dependiente y conexin compleja entre distintos sistemas de control. Esto significa para

    el usuario costos elevados, escasa flexibilidad y falta de normalizacin en las soluciones al control

    industrial.

    IEC 1131 es el primer paso en la estandarizacin de los autmatas programables y sus perifricos,

    incluyendo los lenguajes de programacin que se deben utilizar. Esta norma se divide en cinco partes:

    Parte 1: Vista general.

    Parte 2: Hardware.

    Parte 3: Lenguaje de programacin.

    Parte 4: Guas de usuario.

    Parte 5: Comunicacin.

    IEC 1131-3 pretende es la base real para estandarizar los lenguajes de programacin en la

    automatizacin industrial, haciendo el trabajo independiente de cualquier compaa.

    Hay muchas maneras de describir el trabajo desarrollado en la tercera parte de esta norma,

    indicaremos algunas de ellas son:

    IEC 1131-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-1131-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.

    Figura 1. Partes de IEC-1131-3

    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.

    La norma IEC 1131-3

    Elementos comunes

    Lenguajes de programacin

  • IEC 61131-3 ESTANDARIZACION EN LA PROGRAMACION DEL CONTROL INDUSTRIAL

    - 2 -

    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-1131-3 (ver figura 2).

    Figura 2. Modelo de software

    Al ms alto nivel, el elemento software requerido para solucionar un problema de control particular

    puede ser formulado como una configuracin. Una configuracin es especfica para un tipo de sistema

    de control, incluyendo las caractersticas del hardware: procesadores, direccionamiento de la memoria

    para los canales de I/O y otras capacidades del sistema.

  • IEC 61131-3 ESTANDARIZACION EN LA PROGRAMACION DEL CONTROL INDUSTRIAL

    - 3 -

    Dentro de una configuracin, se pueden definir uno o ms recursos. Se puede entender el recurso

    como un procesador capaz de ejecutar programas IEC.

    Con un recurso, pueden estar definidas una o ms tareas. Las tareas controlan la ejecucin de un

    conjunto de programas y/o bloques de funcin. Cada una de ellos puede ser ejecutado peridicamente

    o por una seal de disparo especificada, como el cambio de estado de una variable.

    Los programas estn diseados a partir de un diferente nmero de elementos de software, escrito en

    algunos de los distintos lenguajes definidos en IEC-1131-3. Tpicamente, un programa es una

    interaccin de Funciones y Bloques Funcionales, con capacidad para intercambiar datos. Funciones y

    bloques funcionales son las partes bsicas de construccin de un programa, que contienen una

    declaracin de datos y variables y un conjunto de instrucciones..

    Comparado esto con un PLC convencional, ste contiene un solo recurso, ejecutando una tarea que

    controla un nico programa de manera cclica. IEC 1131-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 1131-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 1131-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.

  • IEC 61131-3 ESTANDARIZACION EN LA PROGRAMACION DEL CONTROL INDUSTRIAL

    - 4 -

    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 (Secuential Function Chart, SFC)

    Figura 3. SFC, ejemplo

    SFC describe grficamente el comportamiento secuencial de un programa de control. Esta definicin

    deriva de las Redes de Petri y Grafcet (IEC 848), con las modificaciones adecuadas para convertir las

    representaciones de una norma de documentacin en un conjunto de elementos de control de ejecucin

    para una POU de un autmata programable.

    SFC ayuda a estructurar la organizacin interna de un programa, y a descomponer un problema en

    partes manejables, manteniendo simultneamente una visin global. Los elementos del SFC

    proporcionan un medio para subdividir una POU de un autmata programable en un conjunto de

    etapas y transiciones interconectadas por medio de enlaces directos. Cada etapa lleva asociados un

    conjunto bloques de accin y a cada transicin va asociada una condicin de transicin que cuando se

    cumple, causa la desactivacin de la etapa anterior a la transicin y la activacin de la siguiente. Los

    bloques de accin permiten realizar el control del proceso. Cada elemento puede ser programado en

    alguno de los lenguajes IEC, incluyndose el propio SFC. Dado que los elementos del SFC requieren

    almacenar informacin, las nicas POUs que se pueden estructurar utilizando estos elementos son los

    bloques funcionales y los programas.

    Se pueden usar secuencias alternativas y paralelas, comnmente utilizadas en muchas aplicaciones.

    Debido a su estructura general, de sencilla comprensin, SFC permite la transmisin de informacin

    entre distintas personas con distintos niveles de preparacin y responsabilidad dentro de la empresa.

  • IEC 61131-3 ESTANDARIZACION EN LA PROGRAMACION DEL CONTROL INDUSTRIAL

    - 5 -

    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 (Instruction List, IL).

    * Texto estructurado (Structured Text, ST).

    Grficos: * Diagrama de contactos (Diagram Ladder, LD).

    * Diagrama de bloques funcionales (Function Block Diagram, FBD).

    Figura 4. Lenguajes IEC-1131-3

    En la figura superior, los cuatro programas describen la misma accin. La eleccin del lenguaje de

    programacin depende de:

    los conocimientos del programador,

    el problema a tratar,

    el nivel de descripcin del proceso,

    la estructura del sistema de control,

    la coordinacin con otras personas o departamentos.

    Los cuatros lenguajes estn interrelacionados y permiten su empleo para resolver conjuntamente un

    problema comn segn la experiencia del usuario.

    El Diagrama de contactos (LD) tiene sus orgenes en los Estados Unidos. Est basado en la

    presentacin grfica de la lgica de rels. Lista de Instrucciones (IL) es el modelo de lenguaje

    ensamblador basado un acumulador simple; procede del alemn Anweisungliste, AWL.

    El Diagramas de Bloques Funcionales (FBD) es muy comn en aplicaciones que implican flujo de

    informacin o datos entre componentes de control. Las funciones y bloques funcionales aparecen

  • IEC 61131-3 ESTANDARIZACION EN LA PROGRAMACION DEL CONTROL INDUSTRIAL

    - 6 -

    como circuitos integrados y es ampliamente utilizado en Europa. El lenguaje Texto estructurado (ST)

    es un lenguaje de alto nivel con orgenes en el Ada, Pascal y C; puede ser utilizado para codificar

    expresiones complejas e instrucciones anidadas; este lenguaje dispone de estructuras para bucles

    (REPEAT-UNTIL; WHILE-DO), ejecucin condicional (IF-THEN-ELSE; CASE), funciones (SQRT,

    SIN, etc.).

    Top-down vs. Bottom-up-

    Figura 5. Desarrollo de aplicaciones IEC-1131-3

    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-1131-3 te ayudar durante todo el proceso.

    Implementaciones

    Cumplir todos los requerimientos de la norma IEC 1131-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

    (figura 6).

  • IEC 61131-3 ESTANDARIZACION EN LA PROGRAMACION DEL CONTROL INDUSTRIAL

    - 7 -

    Figura 6. Ejemplos de herramientas de desarrollo IEC 1131-3

    Conclusiones

    Las implicaciones tcnicas de la norma IEC 1131-3 son altas, dejando bastante espacio para el

    crecimiento y la diferenciacin. Esto la hace adecuada para entrar ptimamente en el prximo siglo.

    La norma IEC 1131-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 1131-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...

    5. Incrementa la conectividad y comunicacin entre los distintos departamentos y compaas.

    El estndar IEC-1131-3 es una realidad en papel. Ahora los usuarios que aprecian los beneficios del

    estndar deben demandar productos que cubran sus necesidades, de modo que las empresas

    proveedoras puedan amortizar los gastos de desarrollo de las herramientas adecuadas: el problema del

    huevo y la gallina.