Descargar

PLC – Software y lenguajes de programación

Enviado por Pablo Turmero


Partes: 1, 2, 3

    edu.red

    PLCSoftware y lenguajes de programación

    edu.red

    2

    Composición del software de los PLCs Sistema operativo (?S) – funciones Lenguajes de programación – tipos: Diagrama de funciones secuenciales (SFC) – lenguaje de bloques de funciones secuenciales; Diagrama de bloques de funciones (FBD) – lenguaje de diagrama de bloques secuenciales; Diagramas de tipo escalera (L?D) – lenguaje de diagramas de escalera; Texto estructurado (ST) – lenguaje de tipo texto estructurado a alto nivel (parecido a Pascal); Lista de instrucciones (IL/STL) – ensamblador con un tipo de lenguaje basado en instrucciones. Entorno de programación CoDeSys (Sistema de desarrollo controlado) Ejemplos de diagramas de escalera Puntos principales

    edu.red

    3 Composición del software para los PLCs El software para los PLCs se compone, principalmente, de un sistema operativo y un entorno de programación, capaz de soportar uno o mas lenguajes de programación, utilizados en la programación de los PLCs. Los componentes adicionales del software para PLCs pueden ser: programas para diagnosticar y encontrar fallos, programas de visualización, programas de comunicación etc. Muy a menudo, estos programas son parte del sistema operativo. El sistema operativo puede ser de tipo convencional (en el caso de un PLC basado en un PLC) tales como Windows, Linux, Mac OS etc. o de tipo especializado por una empresa, ej. STEP 7-Micro/WIN por la empresa Siemens para los controladores programables que fabrica Siemens. Los sistemas operacionales de tipo especializado tienen más a menudo interfaces de usuario gráficas, similares a Windows. Los PLCs contienen a menudo librerías con módulos de programación suplementarios en su memoria.

    edu.red

    4 Principales funciones del sistema operativo Las funciones principales del sistema operativo (OS) de los PLCs son: Inicialización de los PLC; Escaneo (lectura) de las entradas digitales y actualización de las tablas PII (ver Tarea 1 para las tablas PII y PIO); Escaneo de las entradas y salidas analógicas; Ejecución del programa del usuario; Mantenimiento de los temporizadores, contadores, etc.; Actualización de las salidas de control por medio de las tablas PIO; Mantenimiento de los programas en caso de que se encienda; Auto-diagnostico del sistema; Comunicación en el entorno de red; Gestión de las tareas cuando los PLCs se controlan por multitareas del OS en tiempo real.

    edu.red

    5 Ejecución del ciclo operativo de un PLC (1)

    Un programa es una secuencia de instrucciones, que terminan con una orden de finalización del proceso, devolviendo así el control al operador o al monitor del OS. El programa se puede ejecutar de manera asíncrona, cuando se producen ciertos eventos, o síncrona, cuando la CPU ejecuta de forma secuencial todas las instrucciones desde la primera hasta la ultima y vuelve de nuevo a la primera. El ciclo está compuesto de dos fases – una fase entrada-salida y una fase de usuario, relacionada con el procesamiento de los datos. Sus duraciones dependen del número de entradas y salidas, la extensión del programa y de la velocidad de operación del PLC. La estructura del ciclo, ej., el ratio entre dos fases, se define por la forma en la que direcciona las entradas y salidas, el número de transferencias incondicionales y la duración de los cálculos.

    edu.red

    6 Ejecución del ciclo de operación de un PLC (2) La organización del ciclo puede estar fijada de manera rígida o elegirse entre las siguientes opciones: Todas las entradas se visitan al comienzo del ciclo, y las salidas se actualizan después de resolver todas las ecuaciones; Todas las entradas se visitan al comienzo del ciclo, y las salidas se actualizan después de resolver cada ecuación; Todas las entradas se visitan cada n ms, mientras que las salidas se actualizan cuando existen ciertas condiciones; Un ciclo de escaneo típico puede observarse en las Figuras 1 y 2 Los principales intervalos de tiempo son: Tiempo de escaneo del programa – Tscan; Tiempo total de ciclo – Tcycle; Tiempo de respuesta – Tresponse – un intervalo de tiempo entre el cambio de una señal de entrada y el cambio de la salida, relacionado a ella. Depende de la estructura y de la lógica del programa.

    Fig.1

    edu.red

    7 Ciclo operativo de un PLC Fig.2

    edu.red

    8 Ciclo de operación de un PLC S7- 300 y S7- 400 fabricados por Siemens Fig.3. Para el PLC S7-300 y el S7-400 y STEP 7 el proceso cíclico de programación se controla por OB1 (OB – Bloque de organización – ver más adelante). Después de encender la fuente de alimentación y de poner la CPU en el modo RUN, OB 1 es llamado y se produce el procesado de cada ciclo del PLC hasta que la CPU se para o se apaga la fuente de alimentación. Mientras OB 1 este continuamente procesando, la mayoría de los cloques tienen que ser llamados por él. Fig.3

    edu.red

    9 Lenguajes de programación de los PLCs Los lenguajes de programación para los PLCs surgieron junto a la aparición del primer PLC en 1968, esto explica porque no fueron utilizados los lenguajes de alto nivel como Pascal y C y, en su lugar, se emplearon otros lenguajes más simples y fáciles de entender, como podremos ver a continuación. Los lenguajes para la programación de los PLCs han sido considerados en la tercera parte del estándar IEC 61131, designado como IEC 61131-3 (solía ser designado como IEC 1131, antes de que el sistema de numeración cambiase por la comisión internacional electro-técnica). Se definieron los siguientes cinco lenguajes: Diagrama de Funciones Secuenciales (SFC) – un lenguaje de bloques de funciones secuenciales; Diagrama de Bloques de Funciones (FBD) – un lenguaje de diagramas de bloques secuenciales; Diagramas de Tipo Escalera (L?D) – un lenguaje de diagramas de relés (denominado de tipo escalera); Texto Estructurado (ST) – un lenguaje de alto nivel como el del tipo de texto estructurado (similar a C y, sobre todo a Pascal); Lista de instrucciones (IL o STL) – lenguaje de tipo ensamblador con uso de acumuladores. Estos lenguajes se describen brevemente en las siguientes transparencias.

    edu.red

    Lenguaje de programación ST: Basado en texto, alto nivel. Similar a PASCAL, BASIC y C No es muy popular aun (es el nuevo lenguaje – requiere el conocimiento de la programación) Ventajas en comparación con IL: incluye la formulación de las tareas del programa, una clara construcción de los programas en bloques con reglas (instrucciones) y una potente construcción para el control; Es el más apropiada para la ejecución condicional y para formar ciclos (IF, WHILE, FOR, CASE) En STEP 7 este lenguaje se denomina SCL (Lenguaje de Control Estructurado). En la parte derecha se muestra un extracto de programa en este lenguaje. Q 4.0 := I 0.0 AND I 1.1 OR NOT I 0.1 IF Q 4.0 == 1 THEN GOTO M001 ELSE Q 1.0 = NOT Q 4.0; END_IF; M001 MW 2= 1+MW 2; 10

    edu.red

    Lenguaje de programación IL (o STL) Lenguaje de texto, similar a un ensamblador Mucho más utilizado en Europa Todos los operadores trabajan con un registro especial, denominado acumulador (LD, ST) Es conveniente para los programas pequeños En el ?S STEP 7, desarrollado por Siemens, este lenguaje se denomina STL (Lista de Instrucciones – una lista de reglas e instrucciones). En la parte inferior se muestra esta estructura y en la parte derecha puede verse un extracto de un programa. 11

    edu.red

    Lenguaje de programación FBD: Lenguaje gráfico Es conveniente cuando no hay ciclos y varias ramas en el programa Consiste en un aritmética gráficamente conectada, Booleana y otros tipos de elementos funcionales y bloques de funciones. FBD proviene del campo del procesamiento de señal. Es muy popular actualmente Fig.4. Ejemplo del lenguaje FBD del STEP 7 12

    edu.red

    Lenguaje de programación SFC: Lenguaje gráfico Programa bien estructurado Consiste en pasos y transiciones Los pasos contienen programas en cada lenguaje estándar No tiene ningún lenguaje análogo El primer nivel de la estructura en el SFC es la red de trabajo, compuesta por elementos llamados pasos y transiciones. Un paso puede ser bien activo o inactivo. Cuando esta activo, las instrucciones asociadas se ejecutan hasta que el paso se vuelve inactivo. En STEP 7 este lenguaje se denomina lenguaje gráfico de programación (S7-GRAPH) – ver la figura. 13 Fig.5

    edu.red

    Lenguaje de programación LD Lenguaje gráfico, que pueden soportar casi todos los PLCs LD es una conexión gráfica entre variables Booleanas, comparable a los antiguos controles de tipo relé y representa el flujo de energía en los diagramas de circuitos eléctricos. Este lenguaje de programación se utiliza para la mayoría de las señales Booleanas. Los denominados buses o relés rodean una red LD por la izquierda y por la derecha. Para el bus de la izquierda, suministrado con la señal lógica “1”, “la energía” llega a todos los elementos conectados. Dependiendo de su condición, los elementos dejan ir la energía hasta los siguientes elementos o interrumpen el flujo. Prácticamente no se utiliza para trabajar con variables analógicas. En STEP 7 este lenguaje se conoce como LAD (Ladder Logic). La Fig.6 inferior muestra un ejemplo de un programa LAD, y más adelante se muestran también otros ejemplos. 14 Fig.6

    Partes: 1, 2, 3
    Página siguiente