CAPITULO III PARTE INVESTIGATIVA
3.2. Análisis del estándar IEC 611 31-3
3.2.3 Lenguajes de Programación
Se definen cuatro lenguajes de programación normalizados. Esto significa que su sintaxis y semántica 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 gráfico: Literales:
▪ Lista de instrucciones (IL). ▪ Texto estructurado (ST). Gráficos:
▪ Diagrama de contactos (LD).
Figura. III.3. Lenguajes de Programación
El ambiente de programación IEC 61131-3 provee los cinco lenguajes de programación especificados por el estándar IEC 61131-3 para la programación de PLCs, con un sexto lenguaje llamado "Flow Char" (FC). Los cinco lenguajes principales son Gráficos de Funciones Secuenciales (GFS), Diagrama de Bloques Funcionales (DBF), Diagrama de Escalera, Texto Estructurado y Lista de Instrucciones.
Las ventajas principales de IEC 61131-3 son: a) Compatibilidad con muchos proveedores
b) Gran capacidad para documentación y depuración
c) La habilidad de usar diferentes lenguajes en un programa para tomar las ventajas de cada uno. Por favor, refiérase a la siguiente descripción de cada uno de los lenguajes del IEC 611311-3
La selección del lenguaje a ser usado para un desarrollo puede estar basado en la naturaleza de la aplicación, y viene determinado por las preferencias del programador.
La elección del lenguaje de programación depende de:
• Los conocimientos del programador,
• El problema a tratar,
• El nivel de descripción del proceso,
• La estructura del sistema de control,
• La coordinación con otras personas o departamentos.
Los cuatros lenguajes están interrelacionados y permiten su empleo para resolver conjuntamente un problema común según la experiencia del usuario.
El Diagrama de contactos (LD) tiene sus orígenes en los Estados Unidos.
Está basado en la presentación gráfica de la lógica de relés. Lista de Instrucciones (IL) es el modelo de lenguaje ensamblador basado un acumulador simple; procede del alemán ´Anweisungliste, AWL.
El Diagramas de Bloques Funcionales (FBD) es muy común en aplicaciones que implican flujo de información o datos entre componentes de control.
Las funciones y bloques funcionales aparecen como circuitos integrados y es ampliamente utilizado en Europa. El lenguaje Texto estructurado (ST) es un lenguaje de alto nivel con orígenes 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), ejecución condicional (IF-THEN-ELSE; CASE), funciones (SQRT, SIN, etc.).
Top-down vs. Bottom-up-
La norma también 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 aplicación completa y dividirla en partes, declarar las variables y demás. También puedes comenzar la programación 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.
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).
Diagrama de escalera (“Ladder Diagram”, LD)
El Diagrama de Escalera Ladder Diagram (LD) es un excelente lenguaje gráfico para Lógicas discretas. También tiene la habilidad de incluir instrucciones de Funciones de bloque dentro de una línea. Los contactos y bovinas del diagrama
de escaleras pueden ser usados en el lenguaje Diagrama de Bloques Funcionales para control discreto o funciones.
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.
Diagrama de Bloques funcionales (FBD)
Diagramas de Bloques Funcionales Function Block Diagram, (FBD) es un lenguaje gráfico usado para construir procedimientos complejos a partir de una librería de funciones. Las librerías estándar, tales como de Matemática o Control, pueden ser combinadas con librerías de funciones personalizadas, tales como llamada de modem, interfase HART, controladores PID y Modbus Maestro para crear programas de aplicación de Diagramas de Bloques Funcionales
Las funciones personalizadas son similares a aquellas disponibles en el diagrama de escalera con las funciones del TelePace y TelePACE C.
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
• La evaluación de una red estará terminada antes de la siguiente.
Lenguajes 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
Lista de Instrucciones (“Instruction List”, IL)
Lista de Instrucciones Instruction List (IL) es un lenguaje de bajo nivel, similar a código de máquina. Es útil para pequeñas aplicaciones que requieran rápida ejecución para optimizar una aplicación
Características:
• Instrucciones:
Tabla III.1. Instrucciones • 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.
Texto estructurado (“Structured Text”, ST)
Texto Estructurado Structured Text (ST) es un lenguaje tipo Basic que es usado para procedimientos complejos o cálculos que no pueden ser fácilmente implementados utilizando lenguajes gráficos.
Características:
• 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:
o De asignación (:=),
o De control del flujo del programa: llamada a bloque funcional, RETURN
o De selección: IF, CASE
o De iteración: FOR, WHILE, REPEAT, EXIT Diagrama Funcional Secuencial
Los Gráficos de Funciones Secuenciales (SFC) es un lenguaje gráfico que provee estructura general y coordinación a las secuencias del programa. Soporta selecciones alternativas y secuencias paralelas
Caracteristicas
• En sus orígenes fue el GRAFCET (Grafico funcional de control de etapa
transición)
• Eficaz técnica para describir el comportamiento secuencial de un proceso
y un programa
• Se usa para distribuir el problema de control
• Permite un diagnostico rápido
GRAFCET
• Las transiciones gobiernan los cambios del estado
• Las flechas indican la dirección de cambio
• Pueden dase esquemas menos lineales
• Los elementos básicos son los steps con bloques de acciones y
transiciones
• Soporta alternativas y secuencias paralelas
Figura. III.5. GRAFCET
Salto condicional de etapa
Direccionamiento especifico hacia atrás y adelante
Figura. III.6. GRAFCET Salto condicional de etapa
Elección condicional entre varias secuencias posibles
Figura. III.7. GRAFCET Direccionamiento condicional
Gráfico de Flujo es un lenguaje gráfico que es usado para describir operaciones secuenciales en una aplicación. Un diagrama de Grafico de Flujo está compuesto por acciones a ser ejecutadas y pruebas de las acciones ejecutadas.
Adicionalmente, el usuario tiene la capacidad de crear librerías estándar, escritas en C o en lenguajes IEC 61131-3, que pueden ser llamadas desde la aplicación. El programador puede escoger utilizar tantos lenguajes IEC como desee en su aplicación. Esta moduladidad y capacidad de re-utilización del código de aplicación, combinado con interfases fáciles de usar, funciones de búsqueda poderosas, depuración en línea, Gerencia de proyecto y generación de documentación, reducen el tiempo de diseño, desarrollo, pruebas, arranque y mantenimiento. La aplicación puede ser cargada en la SCADAPAck, ya sea a través de una conexión directa o a través de la red de comunicaciones del SCADA.
• 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.
Beneficios del estándar para los usuarios
Figura. III.8. Beneficios del estándar para los usuarios
1. Se reduce el gasto en recursos humanos, formación, mantenimiento y consultoría.
2. Evita las fuentes habituales de problemas por el alto nivel de flexibilidad y reusabilidad del software.
3. Las técnicas de programación 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 comunicación entre los distintos departamentos y compañías.
Implementaciones
Cumplir todos los requerimientos de la norma IEC 61131-3 no es fácil, por eso se permiten implementaciones parciales en varios aspectos. Esto hace referencia al número de lenguajes que soportan las herramientas de desarrollo disponibles, y al número de funciones y de bloques funcionales. Con ello se deja libertad al suministrador, pero el usuario debe tener cuidado durante el proceso de selección de la herramienta adecuada. Incluso una actualización del software puede dar lugar a un nivel muy alto de trabajo durante la implementación.
Muchos entornos de programación IEC actuales ofrecen aquello que se espera a nivel de interface de usuario: uso de ratón, menús desplegables, pantallas de programación gráfica, múltiples ventanas, ayuda en línea, verificación durante el diseño, etc. Debe hacerse notar que estos detalles no están especificados en la norma por lo que es una de las partes donde los proveedores pueden diferenciarse.
Conclusiones
Las implicaciones técnicas de la norma IEC 61131-3 son altas, dejando bastante espacio para el crecimiento y la diferenciación. Esto la hace adecuada para entrar óptimamente en el próximo siglo.
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 PLC´s.
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 utilización siguen creciendo.
El uso de IEC 61131-3 proporciona numerosos beneficios para usuarios/programadores. Los beneficios de la adopción de este estándar son varios, dependiendo de las áreas de aplicación: control de procesos, integrador de sistemas, educación, programación, mantenimiento, instalación, etc.
Para la elección del lenguaje de programación se tomo en cuenta los siguientes aspectos:
• Los conocimientos del programador: los conocimientos adquiridos durante la carrera de Ingeniería en sistemas fue Graficas de funciones secuencias y GRAFCET ya que la primero nos permite realizar un Eficaz técnica para describir el comportamiento secuencial de un proceso y un programa y el segundo nos permite realizar el grafico en TwidoSuite para tener la comunicación correspondiente con el PLC a través del protocolo MODBUS
• El problema a tratar: es proceso de mezclado de líquidos no es complejo, pero hay que tener en cuenta las transiciones.
• El nivel de descripción del proceso: Bombeo de liquido
Llenado de tanques Mezclado de liquido Detección de nivel
Sistema de llenado
o Modulo de control (Eléctrico, Neumático e Informático)
• La coordinación con otras persona: el grupo que realiza la tesis en conjunto con el Ing. Marco Viteri