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
2 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.
3 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.
4 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.
5 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
6 Ciclo operativo de un PLC Fig.2
7 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
8 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.
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; 9
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. 10
Página siguiente |