Jos Luis Medina Garcia AUTOMATITZACION INDUSTRIAL 5.- AUTMATAS PROGRAMABLES 5.2.- PROGRAMACIN BSICA DE PLC
Instruction List Ladder Sequential Flow Chart (Grafcet) Structured Text Function Block 2 5.- AUTOMATAS PROGRAMABLES (4h teora- 8h Laboratorio)
5.1. Estructura general. Ciclo de SCAN. 5.2. Programacin bsica del PLC 5.3. Programacin con contadores y temporizadores. 3 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin
Los equipos de control industrial, en este caso los PLC, han estado vinculados histricamente a sistemas definidos por los propios fabricantes, tanto en cuanto al hardware como a los lenguajes y entornos integrados de programacin.
Esta situacin implica diferencias notables entre modelos de autmatas de distintos fabricantes, que supone:
Mayor dificultad de interconexin de diferentes equipos. Una escasa flexibilidad. Ausencia de normalizacin de los sistemas de control industrial
Resultando un aumento de costes y de tiempo de desarrollo a la hora de aplicar soluciones de control.
4 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin
La norma IEC-61131 es el primer intento de normalizar los autmatas programables, sus lenguajes de programacin y los perifricos correspondientes. Dicha norma se divide en ocho partes, que procuran abarcar los aspectos ms relevantes de este tipo de dispositivos:
IEC 61131-1 Visin general IEC 61131-2 Hardware y procedimientos de ensayo IEC 61131-3 Lenguajes de programacin IEC 61131-4 Guas de usuario IEC 61131-5 Comunicaciones IEC 61131-7 Control fuzzy IEC 61131-8 Gua para la aplicacin y la implementacin de los lenguajes de programacin 5 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin
La programacin en lenguaje Ladder forma parte de la norma IEC 61131-3, que es la que se trata en este tema y que normaliza los diferentes lenguajes de programacin, especificando la sintaxis y la semntica con las que pueden trabajar los autmatas programables, incluidos el modelo de software y la estructura del lenguaje, de tal manera que el desarrollo de los programas pueda ser independiente del fabricante elegido a la hora de desarrollar el proceso a automatizar.
La norma IEC 61131-3 se puede dividir en dos grandes grupos: por un lado, los elementos comunes a todos los lenguajes y, por otro lado, los diferentes lenguajes de programacin.
Con referencia a los elementos comunes:
1.-Tipos de datos. Determinan la tipologa de datos con los que puede trabajar el autmata. As pues, se han definido en la norma como datos comunes los del tipo booleano, los nmeros enteros, los nmeros reales, el byte, la palabra, la fecha, la hora del da y las cadenas de caracteres (strings).
2.- Tipos de variables. La normalizacin de las variables permite identificar los diferentes objetos del mapa de memoria del autmata, como son los registros de imagen de entrada, los registros de imagen de salida o las variables internas del autmata.
6 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin 7 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin
3.- Configuracin, recursos y tareas. La norma IEC 61131-3 define como elemento inicial para un sistema de control la configuracin del mismo, y define las caractersticas del hardware del sistema: procesador, canales de entrada y salida, mdulos de tareas especficas y memoria.
Los recursos, entendidos como una parte del sistema capaz de ejecutar los programas de control, que habitualmente en un PLC es nico, y que se estructuran en diferentes tareas o cdigos de programa, que se ejecutan cclicamente a intervalos regulares de tiempo o bien como respuesta al estado de una seal o variable que se denomina CICLO DE SCAN.
8 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin
La Unidad Central de Proceso (CPU) suele ser un P o C estndar.
Su tarea esencial es leer las entradas, ejecutar el programa de control y actualizar las salidas (ciclo de exploracin bsico o de scan).
El PLC ejecuta permanentemente el ciclo de scan. Tiempo de scan.
Adems la CPU realiza otras tareas auxiliares: comunicacin con los elementos de programacin, auto-diagnosis (bits sistema), watchdog timer, etc
Tareas auxiliares Ejecucin programa usuario Exploracin entradas Actualizacin salidas
4.- Unidades de organizacin de programa. La norma IEC 61131-3 estructura la organizacin del software del sistema de control en unidades de organizacin de programa, denominados POU. stos se clasifican en:
a.- Programas. Se definen como 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. 9 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin
10 Jos Luis Medina 2010 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin
b.- Bloques funcionales (FB). Son bloques de programa que tienen una interface de entrada y salida de variables bien definida, cumplen una funcin especfica dentro del programa de control y solamente son accesibles por el usuario a travs de la interface de E/S. Dentro de este grupo, se encuentran los temporizadores, los contadores, los bloques de comparacin, los lazos de control PID, etc.
c.-Funciones. Son instrucciones estndar de los lenguajes de programacin que cumplen una funcin especfica. Dentro de este grupo, encontramos las funciones aritmticas, las de transferencia, las de conversin de cdigo, etc.
11 Jos Luis Medina 2010 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin
5.- Grfico funcional secuencial (SFC). El SFC pretende ser una metodologa que describa, de una manera grfica, el comportamiento secuencial de un sistema de control.
Permite la estructuracin interna de un programa, descomponiendo el sistema en partes ms pequeas para facilitar su resolucin.
El SFC estructura el sistema de control en los diferentes estados estables que lo componen, realizando un diagrama de flujo secuencial que enlaza cada uno de dichos estados mediante el conjunto de transiciones que determinan el paso de estado a estado. 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin
12 Asociadas a cada uno de estos estados, se determinan las acciones que se han de tomar para que el sistema pueda trabajar. Comnmente, a este sistema de estructuracin del programa de control se denomina GRAFCET, y, debido a la importancia e inters de su aplicacin, se le ha dedicado el siguiente captulo para desarrollar los conceptos que permiten la creacin de dichos diagramas.
13 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin
Lenguajes de programacin, la norma define cuatro de ellos, dos de tipo literal y dos de tipo grfico. Lenguajes de tipo literal:
Lista de instrucciones (IL). Procedente de Alemania, este lenguaje es similar al ensamblador utilizado para la programacin de microprocesadores y microcontroladores; por tanto, es ms prximo a entornos de programacin utilizados por usuarios que provienen del mundo electrnico. Una muestra de la sintaxis de este tipo de programas sera la siguiente: LD I1.0 AND I1.1 ST Q2.0 14 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin
Texto estructurado (ST). Es un lenguaje de alto nivel y que tiene su origen en lenguajes como Pascal o C, los cuales disponen de las tpicas estructuras de control de estos lenguajes. Son, por tanto, sistemas de programacin ms prximos a los lenguajes informticos, tal como se muestra a continuacin:
IF I1.0 THEN Q2.0=M1 ELSE Q2.0=M2 END_IF Q2.1=I1.1 AND I1.2 15 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin
Lenguajes de tipo grfico:
Diagrama de contactos o Ladder (LD). Originario de los Estados Unidos, est basado en la representacin de los esquemas elctricos de contactos y rels. Es uno de los lenguajes ms utilizados y estandarizados en las diferentes gamas y fabricantes de autmatas: La figura 5.1 muestra un ejemplo del mismo.
I1 / I2 Q0 16 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin
Diagrama de bloques funcionales (FBD). La estructura de los programas se basa en bloques que representan, cada uno de ellos, funciones especializadas (AND, OR, NOT, etc.), y mediante la interconexin de dichos bloques se obtiene el programa de control del autmata.
AND I0 I1 Q0 17 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin Los tipos de datos definen el tamao en bis y formatos en que se pueden almacenar las variables de que dispone el PLC. 18 5.2.- PROGRAMACIN BSICA DEL PLC Tipo de dato Bits Valor inferior Valor superior BOOL Booleano 1 0 1 SINT Entero corto 8 -128 127 INT Entero 16 -32.768 32.767 DINT Doble entero 32 -2.147.483.648 -2.147.483.647 LINT Entero largo 64 -2 63 2 63 -1 USINT Entero corto sin signo 8 0 255 UINT Entero sin signo 16 0 65.535 UDINT Doble entero sin signo 32 0 2 32 -1 ULINT Entero largo sin signo 64 0 2 64 -1 REAL Real precisin simple 32 -3,402824E+38 3,402824E+38 LREAL Real precisin doble 64 - 1,797693E+308 1,797693E+308 STRING Cadena de caracteres (*) (*) (*) BYTE Cadena de 8 bits 8 00 FF (Hex) WORD Cadena de 16 bits 16 0000 FFFF (Hex) DWORD Cadena de 32 bits 32 0000000 FFFFFFFF(Hex) LWORD Cadena de 64 bits 64 000000000000 00 FFFFFFFFFFFFFFFF(Hex) TIME Tiempo transcurrido (*) (*) (*) DATE Fecha (dd:mm:yyyy) (*) (*) (*) TIME_OF_DAY Hora (hh:mm:ss) (*) (*) (*) DATE_AND_TI ME Fecha y hora (*) (*) (*) 19 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin
Dentro del conjunto de todas las variables de que puede disponer el autmata, se pueden distinguir varias clases, segn su funcionalidad: Booleanas. Son aquellas variables que slo tienen dos estados asociados a los niveles lgicos 0 y 1. Van asociados a variables tipo bit, como son las entradas, las salidas, las marcas o los bits de sistema. Numricas. Los tipos numricos (INT y REAL en sus diferentes rangos) permiten representar los datos enteros y reales de que puede disponer el autmata. Tambin permiten guardar variables numricas, que sirvan para realizar operaciones de tipo aritmtico entre variables del mismo tipo o para almacenar valores del proceso controlado.
20 5.1.- ESTANDARIZACIN DE LA PROGRAMACIN
Cadenas binarias. Representadas para las variables BYTE, WORD, DWORD y LWORD, sirven para almacenar cdigos binarios y realizar operaciones lgicas entre ellas. En ningn caso, sirven para realizar operaciones aritmticas. Si se desea realizar tales operaciones, se debe recurrir a las instrucciones de conversin de cdigo para transformar los valores que contienen.
Cadenas de caracteres. El tipo de variable STRING es un conjunto de posiciones de memoria de 8 bits, donde cada posicin almacena el cdigo ASCII de un carcter, de tal manera que una variable de este tipo permite almacenar mensajes e informaciones que luego podran ser representados en pantallas o paneles de operador.
21 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin.
Las variables permiten asignar un nombre estndar a zonas de memoria del autmata que cumplen una funcin especfica.
Estas variables, dependiendo del tipo de autmata, estn almacenadas en grupos de 8 bits tambin denominados bytes o en grupos de 16 bits tambin denominados WORD; se escoger un formato u otro dependiendo de la funcionalidad de la instruccin que se vaya a utilizar.
Tamao de los objetos de programa Tipo Denominacin Tamao (Bits) BIT X 1 BYTE B 8 WORD W 16 DOBLE WORD D 32 22 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin
La clasificacin de los objetos depende de la funcin que desempean dentro del programa y de la estructura del autmata:
Objetos de E/S. Asociados a los mdulos que desempean la funcin de interface con los dispositivos externos, genricamente el nombre de variable asociada es el que se indica a continuacin, aunque puede variar segn el fabricante:
Objetos de entradas: I Objetos de salidas: Q
23 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin
Seguido del smbolo del sistema, se indica el tamao (X, B, W o D), despus el nmero de mdulo y finalmente el nmero de va de entrada o salida. Ejemplos:
%IO.2.1: Indica el estado correspondiente al bit 1 del mdulo de entradas. %Q0.3.3: Indica el estado correspondiente al bit 3 del mdulo de salidas. %QW0.3: Almacena el estado de la palabra de 16 bits de un mdulo de salida (asociado generalmente a un mdulo de salidas analgico)
24 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin
Objetos de memoria. Son posiciones de memoria en la RAM del autmata que tienen como misin almacenar estados de variables internas en el proceso de programacin; se denominan generalmente marcas y se simbolizan con la letra M . A continuacin se indica el tamao del objeto (X, que se puede omitir, B, W o D), seguido del nmero del objeto que va desde 0 hasta el valor mximo de que dispone el mdulo de procesamiento. Ejemplos:
%M23: bit 23 de memoria %MB10: byte 10 de memoria %MW21: word 21 de memoria %MD2: Doble word 2 de memoria 25 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin
Los objetos byte, word y doble word suelen ocupar la misma zona de memoria, con la siguiente asignacin de direccin:
Objetos de memoria MB3 MB2 MB1 MB0 MW1 MW0 MD0 26 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin
Se pueden leer y escribir directamente los bits de los objetos de memoria mayores de un bit, incluyendo dos puntos despus del nombre del objeto, seguido de una X para indicar el tipo de bit y finalmente el bit a leer o a escribir, desde 0 (bit menos significativo) hasta el de mayor peso (longitud del objeto menos uno). Ejemplo:
%MW10:X12: se accede al bit 12 de la palabra MW10
Asimismo, las palabras se pueden agrupar en bloques conocidos como tablas de palabra incluyendo dos puntos despus del nombre de la variable y el tamao de la tabla:
%MW11:22: se crea una tabla de palabras que va de la MW11 a la MW32. 27 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin Objetos de constantes. Son posiciones de memoria en la RAM del autmata que tienen como misin almacenar valores fijos establecidos en tiempo de diseo del programa y no modificables durante la ejecucin de ste. Esta variable se suele denominar K, seguida del tamao del objeto (X, B, W o D) y el nmero de constante, que va desde 0 hasta el mximo permitido por la unidad de procesamiento:
%KW24: se accede a la palabra constante 24
Objetos de sistema. Posiciones en memoria del autmata que permiten interactuar con el sistema del mismo, modificando su funcionamiento o bien informando al usuario de sucesos o errores en el hardware. La denominacin de estas variables depende mucho del fabricante. 28 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin
Objetos de sistema. Posiciones en memoria del autmata que permiten interactuar con el sistema del mismo, modificando su funcionamiento o bien informando al usuario de sucesos o errores en el hardware. La denominacin de estas variables depende mucho del fabricante.
%S23 : Bit sistema 23 %SW12 : Word de sistema 12 29 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin
30 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin 31 5.2.- PROGRAMACIN BSICA DEL PLC 5.2.1.- Estandarizacin de la programacin Jos Luis Medina 2010