Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Trabajo de Grado presentado como requisito Para obtener el ttulo de Ingeniero de Control
AGRADECIMIENTOS
A Dios por la salud que me otorg permitindome finalizar la redaccin de este documento. A mi familia por su apoyo incondicional y su ayuda durante toda mi carrera. A Germn Zapata por su acompaamiento y direccin durante el desarrollo de este documento. A la Ingeniera Eliana Carrasco por su enseanza da a da y su apoyo para la implementacin de este documento dentro del proceso productivo en SIMAC S.A.S
TABLA DE CONTENIDO
OBJETIVO GENERAL ....................................................................................................... 7 OBJETIVOS ESPECFICOS .......................................................................................... 7 INTRODUCCIN ............................................................................................................... 8 CAPTULO 01 - CONCEPTUALIZACIN .......................................................................... 9 CONSIDERACIONES GENERALES .............................................................................. 9 NORMA IEC 61131-3 ................................................................................................... 10 ESTRUCTURA FUNCIONAL DE UN SISTEMA DE AUTMATA PROGRAMABLE. 10 FUNCIN DE INTERFAZ CON LOS SENSORES Y ACTUADORES ....................... 11 FUNCIN DE INTERFAZ HOMBRE-MQUINA (HMI) ............................................. 12 LOS LENGUAJES GRFICOS DEL ESTNDAR IEC 61131-3 ................................ 12 CAPTULO 02 - CONCEPTOS Y HERRAMIENTAS BSICAS DE PROGRAMACIN ... 13 ESTRUCTURA DE LAS REDES DE PETRI ................................................................. 13 ELEMENTOS DE UNA RED DE PETRI ................................................................... 13 ESQUEMAS O TIPOLOGAS DE LAS REDES DE PETRI ....................................... 15 ERRORES DE REPRESENTACIN............................................................................ 16 REDES DE PETRI TEMPORIZADAS E INTERPRETADAS POR PERIFERIA (IPN) ... 18 REDES DE PETRI JERRQUICAS (HPN) .................................................................. 20 TIPO DE VARIABLES .................................................................................................. 24 DIRECCIONAMIENTO ................................................................................................. 25 DIRECCIONAMIENTO DIRECTO ............................................................................ 25 DIRECCIONAMIENTO INDIRECTO ......................................................................... 27 DIRECCIONAMIENTO SIMBLICO ......................................................................... 28 DOCUMENTACIN ..................................................................................................... 29 ESTRUCTURA DEL PROGRAMA ............................................................................... 30 FUNCIONES (FC - SUBRUTINAS) .......................................................................... 30 BLOQUES DE FUNCIONES (FB)............................................................................. 31 BLOQUE PRINCIPAL ............................................................................................... 31 CAPTULO 03 MODOS DE OPERACIN .................................................................... 35 PRELIMINAR ............................................................................................................... 35 SELECTOR MODO DE OPERACIN.......................................................................... 35 MODO MANUAL .......................................................................................................... 40 PROGRAMACIN MODO MANUAL ........................................................................ 40
MODO SEMIAUTOMTICO......................................................................................... 45 PROGRAMACIN MODO SEMIAUTOMTICO ....................................................... 45 MODO AUTOMTICO ................................................................................................. 46 PROGRAMACIN PARA MODO AUTOMTICO ..................................................... 46 CODIFICACIN DE LA RED DE PETRI................................................................... 47 ACTIVACIN DE LAS SALIDAS EN MODO SEMI -AUTOMTICO Y AUTOMTICO ................................................................................................................................. 52 MODO ESPECIAL DE OPERACIN PASO A PASO ............................................... 56 CAPTULO 04 MARCAJE INICIAL Y CONDICIONES INICIALES ................................ 59 MARCAJE INICIAL ...................................................................................................... 59 CODIFICACIN MARCAJE INICIAL ............................................................................ 60 CONDICIONES INICIALES .......................................................................................... 61 CAPTULO 05 - TEMPORIZADORES, CONTADORES Y TRANSICIONES INSTANTNEAS ............................................................................................................. 63 TEMPORIZADORES.................................................................................................... 63 TIPOS DE TEMPORIZADORES............................................................................... 67 CONTADORES ............................................................................................................ 70 TIPOS DE CONTADORES ....................................................................................... 71 TRANSICIONES INSTANTNEAS .............................................................................. 74 CONCLUSIONES ............................................................................................................ 75 BIBLIOGRAFA................................................................................................................ 76
TABLAS
Tabla 1. Tipos de Datos ................................................................................................... 24 Tabla 2. reas de Memoria .............................................................................................. 25 Tabla 3. Direccionamiento Simblico - Entradas Digitales ............................................... 28 Tabla 4. Direccionamiento Simblico - Salidas Digitales .................................................. 28 Tabla 5. Direccionamiento Simblico - Marcas ................................................................ 28 Tabla 6. Direccionamiento Simblico - Variables V .......................................................... 29 Tabla 7. Direccionamiento Simblico - Temporizadores .................................................. 29 Tabla 8. Direccionamiento Simblico - Contadores.......................................................... 29
ILUSTRACIONES
Ilustracin 1. Estructura Funcional del Sistema de un Autmata Programable. ............... 11 Ilustracin 2. Funcin interfaz Sensores y Actuadores. .................................................... 11
Ilustracin 3. Funcin interfaz Hombre-Mquina .............................................................. 12 Ilustracin 4. Elementos de una Red de Petri .................................................................. 14 Ilustracin 5. Conjunto de lugares de entrada a t1 ........................................................... 14 Ilustracin 6. Conjunto de transiciones de entrada a P1 .................................................. 14 Ilustracin 7. Conjunto de lugares de salida de t1 ............................................................ 15 Ilustracin 8. Conjunto de transiciones de salida de P1 ................................................... 15 Ilustracin 9. Red de Petri Secuencial ............................................................................. 15 Ilustracin 10. Bifurcacin en un Lugar ............................................................................ 15 Ilustracin 11. Bifurcacin en una Transicin ................................................................... 16 Ilustracin 12. Sincronizacin .......................................................................................... 16 Ilustracin 13. Errores de Representacin 1 (Redes de Petri).......................................... 17 Ilustracin 14. Errores de Representacin 2 (Redes de Petri).......................................... 17 Ilustracin 15. Ejemplo Ilustrativo 1 - Redes de Petri Temporizadas e Interpretadas por Periferia (IPN) .................................................................................................................. 18 Ilustracin 16. Red de Petri - Ejemplo Ilustrativo 1 ........................................................... 19 Ilustracin 17. Estructura de las Redes de Petri Jerrquicas ........................................... 20 Ilustracin 18. Ejemplo Ilustrativo 2 - Redes de Petri Jerrquicas .................................... 21 Ilustracin 19. Red de Petri Principal - Ejemplo Ilustrativo 2 ............................................ 22 Ilustracin 20. Subred SBR 0 - Ejemplo Ilustrativo 2 ........................................................ 22 Ilustracin 21. Subred SBR 1 - Ejemplo Ilustrativo 2 ........................................................ 23 Ilustracin 22. Subrutina Reutilizable 0 - Ejemplo Ilustrativo 2 ......................................... 23 Ilustracin 23. Subrutina Reutilizable 1- Ejemplo Ilustrativo 2 ......................................... 24 Ilustracin 24. Direccionamiento Directo - Direccionar a un Bit ........................................ 26 Ilustracin 25. Direccionamiento Directo - Direccionar a un Byte, Word o DobleWord ..... 27 Ilustracin 26. Llamado Estructural a Funciones .............................................................. 32 Ilustracin 27. Esquema de Bloques en Software de Programacin Step7/Microwin ....... 33 Ilustracin 28. Llamado Condicional e Incondicional de Subrutinas en Software de Programacin Step7/Microwin ......................................................................................... 34 Ilustracin 29. Selector de Modo de Operacin Fsico ..................................................... 36 Ilustracin 30. Selector Modo Operacin desde Pantalla (Ms de 2 opciones) ................ 37 Ilustracin 31. Selector 1 Modo Operacin desde Pantalla (2 opciones).......................... 37 Ilustracin 32. Selector 2 Modo Operacin desde Pantalla (2 opciones).......................... 37 Ilustracin 33. Evaluacin Posicin Selector de Modo de Operacin Fsico 3 Posiciones en Bloque Principal (Main) .................................................................................................... 38 Ilustracin 34. Evaluacin Posicin Selector de Modo de Operacin Fsico 2 Posiciones en Bloque Principal (Main) .................................................................................................... 38 Ilustracin 35. Evaluacin Modo de Operacin por pantalla 3 Posiciones en Bloque Principal (Main) ................................................................................................................ 39 Ilustracin 36. Evaluacin Modo de Operacin por pantalla 2 Posiciones en Bloque Principal (Main) ................................................................................................................ 39 Ilustracin 37. Ejemplo Ilustrativo 3 - Modo Operacin Manual ........................................ 41 Ilustracin 38. Programacin Modo Manual Software de Programacin Step7/Microwin Ejemplo Ilustrativo 3 ........................................................................................................ 42 Ilustracin 39. Programacin Modo Manual Software de Programacin Step7/Microwin Ejemplo Ilustrativo 4 ........................................................................................................ 43 Ilustracin 40. Programacin Modo Manual Software de Programacin Step7/Microwin Ejemplo Ilustrativo 5 ........................................................................................................ 44 Ilustracin 41. Esquema de Codificacin de las Redes de Petri en Step7/Microwin......... 47
Ilustracin 42. Ejemplo Ilustrativo 6 Codificacin de las Redes de Petri en Step7/Microwin ................................................................................................................ 48 Ilustracin 43. Estructuras ms importantes desarrolladas en las Redes de Petri en Lenguaje RLL - Relay Ladder Logic ................................................................................. 49 Ilustracin 44. Ejemplo Ilustrativo 7 - Red de Petri Propuesta para Codificar en Step7/Microwin ................................................................................................................ 50 Ilustracin 45. Puntos Relevante Codificacin Red de Petri en Step7/Microwin - Ejemplo Ilustrativo 7 ...................................................................................................................... 52 Ilustracin 46. Activacin de las salidas en Step7/Microwin ............................................. 52 Ilustracin 47. Activacin 1 Salidas en Modo Semiautomtico y Automtico ................... 53 Ilustracin 48. Codificacin Activacin 1 Salidas en Modo Semiautomtico y Automtico en Step7/Microwin ........................................................................................................... 53 Ilustracin 49. Activacin 2 Salidas en Modo Semiautomtico y Automtico ................... 54 Ilustracin 50. Codificacin Activacin 2 Salidas en Modo Semiautomtico y Automtico en Step7/Microwin ........................................................................................................... 55 Ilustracin 51. Ejemplo Ilustrativo 8 - Modo de Operacin Paso a Paso .......................... 56 Ilustracin 52. Codificacin Modo de Operacin Paso a Paso - Ejemplo Ilustrativo 8 ...... 58 Ilustracin 53. Ejemplo ilustrativo 9 - Marcaje Inicial ........................................................ 59 Ilustracin 54. Ejemplo Ilustrativo 10 - Codificacin Marcaje Inicial Red de Petri ............. 61 Ilustracin 55. Ejemplo Ilustrativo 11 - Evaluacin Condiciones Iniciales ......................... 62 Ilustracin 56. Ejemplo Ilustrativo 12 - Tiempos Propios del Proceso .............................. 63 Ilustracin 57. Ejemplo Ilustrativo 13 - Tiempos (Retardos) de Programacin ................. 64 Ilustracin 58. Ejemplo Ilustrativo 14 - Transicin Instantnea ......................................... 64 Ilustracin 59. Ejemplo Ilustrativo 15 - Correcta Activacin de Temporizadores en Step7/Microwin ................................................................................................................ 65 Ilustracin 60. Ejemplo Ilustrativo 16 - Red de Petri Temporizador Ciclo de produccin .. 66 Ilustracin 61. Codificacin Temporizador Ciclo de produccin - Ejemplo Ilustrativo 16 .. 66 Ilustracin 62. Clculo Valor Preseleccin Temporizador segn base de Tiempo............ 67 Ilustracin 63. Temporizador con retardo a la conexin ................................................... 68 Ilustracin 64. Ejemplo Ilustrativo 17 Funcionamiento Temporizador con Retardo a la Conexin ......................................................................................................................... 68 Ilustracin 65. Temporizador con retardo a la conexin con memoria.............................. 68 Ilustracin 66. Ejemplo Ilustrativo 18 - Funcionamiento Temporizador con retardo a la conexin con memoria ..................................................................................................... 69 Ilustracin 67. Temporizador con retardo a la Desconexin ............................................. 69 Ilustracin 68. Ejemplo Ilustrativo 19 - Funcionamiento Temporizador con retardo a la desconexin .................................................................................................................... 69 Ilustracin 69. Distribucin de los nmeros de Temporizadores Utilizables en Step7/Microwin ................................................................................................................ 70 Ilustracin 70. Ejemplo Ilustrativo 20 - Inicializacin de Contadores ................................ 70 Ilustracin 71. Contador Incremental ............................................................................... 71 Ilustracin 72. Ejemplo Ilustrativo 21 - Funcionamiento Contador Incremental ................ 71 Ilustracin 73. Contador Decremental .............................................................................. 71 Ilustracin 74. Ejemplo Ilustrativo 22 - Funcionamiento Contador Decremental ............... 72 Ilustracin 75. Contador Incremental / Decremental ........................................................ 72 Ilustracin 76. Ejemplo Ilustrativo 23 - Funcionamiento Contador Incremental / Decremental .................................................................................................................... 73 Ilustracin 77. Ejemplo Ilustrativo 24 - Hormetro con contadores................................... 74
OBJETIVO GENERAL
Establecer una metodologa de codificacin de los modelos de redes de Petri siguiendo la norma IEC61131-3, que determine una correcta estructura de programacin de Micro PLC's SIEMENS S7-200.
OBJETIVOS ESPECFICOS
1. Documentar varios de los conceptos y metodologas de trabajo desarrollados en los cursos de Automatizacin I y II. 2. Estandarizar los juicios de programacin de Micro PLC's SIEMENS en sistemas secuenciales tipo causa-evento modelados con la tcnica de Redes de Petri. 3. Elaborar un documento de apoyo para corregir inconsistencias en la respuesta del PLC, debido a caractersticas de lectura propias del mismo Controlador.
INTRODUCCIN
La implementacin de las Redes de Petri para el desarrollo y programacin de PLCs se ha convertido en una herramienta esencial para la comprensin e interpretacin de los problemas de automatizacin. Sin embargo, con la experiencia que se ha adquirido a lo largo de las implementaciones desarrolladas con dicha tcnica, han surgido ciertas falencias y dificultades que han puesto en consideracin el uso de la misma y han llevado a los programadores a tomar decisiones adversas y a realizar modificaciones a veces inusuales sobre lo que se tiene establecido para su desarrollo. Que estas decisiones queden a criterio del programador y sin ningn fundamento vlido que la soporte es lo que se desea mitigar con este documento. De esta manera, se presenta en este trabajo de grado, una solucin prctica y confiable basada en la normalizacin y estandarizacin de los procedimientos y criterios para la elaboracin de programas, teniendo en cuenta la norma IEC61131-3 y los parmetros establecidos por el fabricante del PLC y por el software de programacin.
ESTRUCTURA FUNCIONAL DE UN SISTEMA DE AUTMATA PROGRAMABLE La siguiente imagen, corresponde a la definicin de la Norma IEC 61131 respecto a la estructura funcional de un sistema autmata programable. Dicha estructura define las siguientes funciones: Funciones de Alimentacin de potencia. Funciones de comunicacin Funciones de tratamiento de seal Funciones de interfaz con sensores y actuadores Funciones de Interfaz Hombre Mquina Funciones de Programacin, puesta en marcha y documentacin.
10
FUNCIN DE INTERFAZ CON LOS SENSORES Y ACTUADORES La siguiente imagen, muestra con algo ms de detalle la definicin de la Norma IEC 61131 respecto a la estructura funcional de la interfaz con los sensores y actuadores.
11
FUNCIN DE INTERFAZ HOMBRE-MQUINA (HMI) La siguiente imagen, muestra con algo ms de detalle la definicin de la Norma IEC 61131 respecto a la estructura funcional de la interfaz Hombre - Mquina.
LOS LENGUAJES GRFICOS DEL ESTNDAR IEC 61131-3 La parte 3 del IEC 61131 especifica la gramtica, sintaxis y semntica, de un total de cinco lenguajes de programacin de Controladores Lgicos Programables. En concreto, dos de ellos son textuales y tres grficos. En lo referente a los textuales, el lenguaje Lista de Instrucciones (IL) es un lenguaje textual de bajo nivel, similar al ensamblador y el lenguaje Texto Estructurado (ST), en cambio, es un lenguaje de alto nivel que se utiliza habitualmente en aplicaciones de automatizacin de procesos complejos. En cuanto a los lenguajes grficos, el estndar establece tres: Diagrama de Contactos (LD), basado en smbolos grficos dispuestos en Redes (networks), de manera similar a los diagramas lgicos de rels en escalera. Est orientado fundamentalmente a aplicaciones con seales Booleanas. NOTA: Los ejemplos y aplicaciones de este manual estn basados en este lenguaje. Los Diagramas de Bloques Funcionales (FBD) se utilizan para programar procedimientos complejos mediante objetos grficos o bloques que representan funciones, bloques funcionales o programas, tal como se hace en los diagramas de circuitos electrnicos. Es ampliamente utilizado en la industria de procesos. Los Diagramas de Funciones Secuenciales (SFC) estructuran las tareas secuenciales de una aplicacin de automatizacin a travs de programas y bloques funcionales. Se puede programar tanto en modo textual como grfico.
12
13
EVENTO: Es el cambio de valor de una variable en un instante de tiempo t. Para el caso de variables booleanas, un evento es el cambio de valor binario de la variable (pasar de 0 a 1 flanco positivo pasar de 1 a 0 flanco negativo) El tipo de Redes de Petri que se manejarn son Redes de Petri binarias (solamente puede haber una marca en cada lugar) y/o seguras (El numero de marcas en un lugar de la Red de Petri nunca es mayor a uno) y ordinarias (El peso de los arcos es 1). RECEPTIVIDAD: La receptividad se asocia a las transiciones. Es el producto de un evento por una variable booleana. La red evoluciona si la variable booleana es verdadera y el evento ocurre. Si el evento ocurre y la variable booleana es falsa la red no evoluciona y viceversa.
14
ESQUEMAS O TIPOLOGAS DE LAS REDES DE PETRI Apoyados en las Redes de Petri, se podrn representar cantidades de procesos, sistemas y subsistemas autmatas. A continuacin se abordarn las tipologas ms comunes en este proceso de modelamiento. SECUENCIALES: Una red es secuencial si y slo si, toda transicin tiene exactamente un lugar de entrada y uno de salida.
BIFURCACIN EN UN LUGAR: (Exclusin) Esta situacin se da cuando un lugar tiene varias transiciones posteriores. Estas transiciones compiten por los marcas de dicho lugar. La red evoluciona a travs de la transicin que primero dispare. Recordar que: La probabilidad de ocurrencia de dos o ms eventos simultneos independientes es cero. Ya que, la tecnologa de automatizacin es capaz de discriminar eventos en escalas de microsegundos (seg).
15
BIFURCACIN EN UNA TRANSICIN: (Paralelismo) Esta situacin se da cuando una transicin tiene varios lugares posteriores. En este caso las marcas son enviadas en forma simultnea hacia los lugares posteriores. Esta tipologa es comn cuando se tienen procesos paralelos en el autmata, ya que, una vez se da la bifurcacin, se inicia un proceso en la red conocido como concurrencia (paralelismo), es decir, dos subRedes que evolucionan de manera independiente una de la otra. De esta manera se pueden estar realizando 2 o ms acciones de forma independiente.
SINCRONIZACIN: Esta situacin se da cuando una transicin tiene varios lugares anteriores. Las marcas esperan en estos lugares hasta el instante en el cual la ltima marca que es necesaria para habilitar el disparo de la transicin (sensibilizar la transicin) arribe a dicho lugar. En ese instante son consumidas simultneamente todas las marcas sincronizando el sistema previamente bifurcado. Recordar que: El paralelismo provocado por una bifurcacin debe terminar en una sincronizacin, con el objetivo de no dejar ms de una marca recorriendo por la Red de Petri.
ERRORES DE REPRESENTACIN
Los siguientes son algunos de los errores ms comunes en la representacin de modelos de sistemas a eventos discretos en Redes de Petri.
16
17
Una Red de Petri autnoma no est asociada a ningn tipo de evento ni incluyen conceptos temporales, es por ello que no son lo suficientemente adecuadas para el modelamiento de sistemas a eventos discretos, ya que carecen de interpretacin de seales de entrada y salida para interactuar con los PLCs. Para ello se requiere el uso de las IPN temporizadas, las cuales incorporan periferia del proceso y temporizaciones en las transiciones. En este punto el lector debe conocer los conceptos y las operaciones bsicas del algebra booleana, ya que, las Redes de Petri interpretadas estn caracterizadas por que los eventos y las condiciones se definen sobre este tipo de variables. El siguiente ejemplo, ilustrar la aplicacin de los conceptos bsicos del modelamiento de sistemas DES en Redes de Petri.
EJEMPLO: Se tienen 2 carros que van y vienen. El primer carro (C1) arranca el recorrido hacia adelante con un flanco positivo de la seal de Inicio. Una vez alcance el fin de carrera F1 detiene su marcha y retrocede hasta alcanzar el fin de carrera F2. Cuando C1 alcanza el fin de carrera F1, de manera simultnea se activa el inicio del recorrido para el segundo carro (C2), una vez C2 alcanza el fin de carrera F3 detiene su marcha y retrocede hasta alcanzar el fin de carrera F4. El ciclo se repite con una nueva seal del pulsador de inicio.
Ilustracin 15. Ejemplo Ilustrativo 1 - Redes de Petri Temporizadas e Interpretadas por Periferia (IPN)
18
En efecto, este tipo de redes interpretan seales de entrada y salida e interactan con stas para la evolucin del sistema. Este ejemplo incorpora todos los conceptos bsicos del modelamiento de sistemas a eventos discretos bajo la teora de las Redes de Petri. Se pueden observar los lugares, arcos y transiciones de la red. El marcaje inicial donde se muestra el estado inicial del sistema, el concepto de concurrencia o paralelismo cuando en la transicin del flanco positivo de F1 se dividen el proceso en 2 acciones distintas e independientes una de la otra. As mismo el concepto de sincronismo, cuando ambos procesos independientes previamente separados (bifurcacin) se sincronizan en la transicin t1 =100mseg.
19
20
EJEMPLO: Considerar el ejemplo anterior de IPN. Esta vez ambos carros inician el recorrido con la seal de inicio. Cada vez que el carro C1 alcanza alguno de los fines de carrera, otro carro (C3) inicia un recorrido similar alcanzando los fines de carrera F5 y F6. El recorrido de C1 se reactiva con el fin del recorrido de C3. De manera similar sucede con el carro 2 (C2) y un carro C4 asociado a dicho movimiento, este ltimo debe alcanzar los fines de carrera F7 y F8. El ciclo se repite con una nueva seal del pulsador de inicio.
Realizar este ejercicio mediante una Red de Petri temporizada e interpretadas por periferia (IPN) resulta bastante largo y poco prctico. Se aplicarn los conceptos de Redes de Petri Jerrquicas y se dividir el proceso en un programa principal el cual se encarga de realizar los llamados a las subrutinas. Luego en estas subrutinas se programarn las secuencias de los carros 1 y 2 (C1 y C2) y desde all se reutilizarn en dos oportunidades las subrutinas para los carros 3 y 4 (C3 y C4) como lo indica los requerimientos de ejercicio. OB (Principal) Subred 0 (C1) Subred 1 (C2) Subred Reutilizable 0 (C3) Subred Reutilizable 1 (C4)
21
22
23
TIPO DE VARIABLES
Cuando se modelan procesos secuenciales mediante Redes de Petri, deben figurar claramente las variables de E/S que interactan en el proceso para garantizar la secuencia. As como tambin, los operandos auxiliares necesarios (marcas, contadores, temporizadores, etc.) para que sta se cumpla. Estas variables se deben clasificar de acuerdo al tipo de datos que represente en el proceso. Definir de manera correcta cada una de las variables del proceso ayuda entre otras cosas a evitar prdidas significativas de datos. La Norma IEC 61131-3 define como elementos comunes independiente del fabricante, los tipos de datos. Los tipos de datos previenen errores en una fase inicial, como por ejemplo la divisin de un dato tipo fecha por un nmero entero. Los tipos comunes de datos son: variables booleanas, nmero entero, nmero real, byte y palabra, as como tambin fechas, horas del da y cadenas (strings).
ELEMENTO E/S digitales, Marcas E/S, Char E/S analgicas, Variables enteras
24
4 Bytes
Reales
Basados en esta tipologa, las direcciones de hardware implementadas debern ser identificadas de la siguiente manera:
REA DE MEMORIA I Q M SM V T C AI AQ AC L
DESCRIPCIN Entradas digitales Salidas digitales Marcas internas (identificar los lugares de la Red de Petri) Marcas especiales (SM0 a SM29 son de slo lectura) Memoria de PLC. Almacenamiento de variables Valores actuales y bits de temporizadores Valores actuales y bits de contadores Entradas analgicas Salidas analgicas Acumuladores Memoria de variables locales
DIRECCIONAMIENTO
Hay tres modos de direccionar los operandos en el programa: Directo Indirecto Simblico
DIRECCIONAMIENTO DIRECTO El S7-200 almacena informacin en diferentes reas de la memoria que tienen direcciones unvocas. Es posible indicar explcitamente la direccin a la que se desea acceder. De esta manera, el programa puede acceder entonces directamente a la informacin. En el direccionamiento directo se indica el rea de memoria, el tamao y la direccin. Ejemplo: VW790 se refiere a la direccin 790 de la memoria V (la W indica palabra (Word) luego su tamao equivale a 2 bytes, de esta manera se estar direccionando a los bytes 790 y 791 de la memoria V)
25
DIRECCIONAMIENTO DE BIT Para acceder a un bit en un rea de memoria especfico es preciso indicar la direccin del mismo, compuesta por un identificador de rea (I, Q, V, M, SM), la direccin del byte y el nmero del bit precedido de un punto. Ejemplo: I3.4 se refiere al bit 4 del byte 3 del rea de memoria I (Entradas Digitales).
DIRECCIONAMIENTO DE BYTE El direccionamiento de un byte, de una palabra o de una palabra doble de datos en la memoria del PLC se indica de forma similar a la direccin de un bit. Esta est compuesta por un identificador de rea, una letra que indica el tamao de los datos y la direccin inicial del valor del byte, de la palabra o de la palabra doble. Ejemplos: VB100 indica el byte (B) 100 de la memoria V. VW100 indica 2 bytes (W) a partir del byte 100, es decir, byte 100 y byte 101 de la memoria V VD100 indica 4 bytes (D) a partir del byte 100, es decir, byte 100, byte 101, byte 102 y byte 103 de la memoria V. La siguiente figura muestra este tipo de direccionamiento y determina el bit menos significativo (LSB) y el bit ms significativo (MSB) de cada direccionamiento.
26
Ntese en la imagen que el bit menos significativo (LSB) corresponde al primer bit del ltimo Byte del tamao de memoria direccionado, en el ejemplo VD100 el LSB corresponde al bit 103.0. Mientras que el bit ms significativo (MSB) corresponde al ltimo bit del primer Byte del tamao de memoria direccionado. En el ejemplo VD100 el MSB corresponde al bit 100.7. Contrario a lo que normalmente uno pensara. DIRECCIONAMIENTO INDIRECTO El direccionamiento indirecto utiliza un puntero para acceder a los datos de la memoria. Los punteros son valores de doble palabra que sealan a una direccin diferente en la memoria. El S7-200 permite utilizar punteros para acceder a las siguientes reas de memoria: I, Q, V, M, S, T (slo el valor actual) y C (slo el valor actual). El direccionamiento indirecto no se puede utilizar para acceder a un bit individual ni para acceder a las reas de memoria AI, AQ, HC, SM o L. Para acceder indirectamente a los datos de una direccin de la memoria es preciso crear un puntero a esa direccin, introduciendo para ello el carcter "&" y la direccin a la que se desea acceder. El operando de entrada de la operacin debe ir precedido de un carcter "&" para determinar que a la direccin indicada por el operando de salida (es decir, el puntero) se debe transferir la direccin y no su contenido. Introduciendo un asterisco (*) delante de un operando de una operacin, se indica que el operando es un puntero. Ejemplo: MOVD &VW150, AC1 (El acumulador AC1 se convierte en un puntero de la direccin VW150, es decir, AC1 apunta a dicha direccin, mas no al contenido) (Transfiere a AC0 el valor de la palabra (W) al que seala el puntero AC1)
27
DIRECCIONAMIENTO SIMBLICO El direccionamiento simblico utiliza una combinacin de caracteres alfanumricos para identificar una direccin. Una constante simblica utiliza un nombre simblico para identificar un nmero constante o un valor de un carcter ASCII. De esta manera es ms fcil recordar nuestras variables usadas en el programa (codificacin), en relacin a las variables usadas en el modelo de Red de Petri. La representacin simblica de las variables del programa debe describir e identificar las reas de memoria utilizadas del PLC a travs de un texto alusivo a la funcionalidad de dicha variable. sta descripcin debe ser lo ms corta posible, de fcil recordacin y obedeciendo la siguiente nomenclatura: ENTRADAS DIGITALES
Tabla 3. Direccionamiento Simblico - Entradas Digitales
SIMBOLO I_Descripcin
SALIDAS DIGITALES
Tabla 4. Direccionamiento Simblico - Salidas Digitales
SIMBOLO Q_Descripcin
TIPO Marca modo automtico Marca modo semiautomtico Marca modo Manual Marca modo Paso Marca Inicial de la PN principal (Auto) Marcas (lugares) de la PN principal (Auto) Marca Inicial de la PN de una subrutina x llamada desde la PN principal (Auto) Marcas (lugares) de la PN de una subrutina x llamada desde la PN principal (Auto) Marcas de entrada de las Subrutinas Marcas de salida de Subrutinas Marcas de Panel de Operador
SIMBOLO M_Mod_Auto M_Mod_Semi M_Mod_Manual M_Mod_Paso M_P0 M_Pn M_P0_Subrutinax M_Pn_Subrutinax M_Pin_Subrutinax M_Pout_Subrutinax MOP_descripcin
28
MAux_descripcin MReg_descripcin
VARIABLES (MEMORIA V)
Tabla 6. Direccionamiento Simblico - Variables V
SIMBOLO VOP_Descripcin
TEMPORIZADORES
Tabla 7. Direccionamiento Simblico - Temporizadores
TIPO Temporizadores
SIMBOLO Tx_Descripcin
CONTADORES
Tabla 8. Direccionamiento Simblico - Contadores
TIPO Contadores
SIMBOLO Cx_Descripcin
Para generar cada uno de los smbolos de las variables a utilizar en el programa de acuerdo a la nomenclatura que se propone, es conveniente adems crear varias tablas de smbolos discriminadas por el tipo de variables, es decir, una tabla de smbolos slo para las entradas, una para las salidas, otra para las marcas, etc.
DOCUMENTACIN
El objetivo de documentar y comentar cada lnea de cdigo que se genere, no es ms que facilitar el mantenimiento, mejoras y correcciones a dicho cdigo, no solamente por quien lo genere, sino tambin, por cualquier persona que conozca el lenguaje y quiera entender el objetivo de cualquier lnea de cdigo. No slo se comenta la simbologa utilizada, sino tambin las lneas de cdigo que se generen al codificar la Red de Petri. A continuacin algunos criterios generales para la documentacin del programa: Se deben crear en la tabla de smbolos diferentes tablas para cada tipo de dato. Una tabla para entradas, otra para salidas, otra para los smbolos correspondientes a marcas, etc. Esto facilitar la bsqueda de variables.
29
Cada elemento implementado en la programacin deber ser comentado en su totalidad. Esto aplica tanto en la tabla de smbolos como en el bloque del programa. Cada variable debe describir exactamente la funcin que sta realiza, basada en la operacin asignada en la Red de Petri. Comentar los distintos bloques de los que se compone el cdigo, aplicando un criterio uniforme y distinto para cada nivel. Evitar comentarios que vayan en detrimento del cdigo y que no ayuden al correcto entendimiento del mismo. Cuidar la ortografa. Una ortografa correcta mejora la calidad de la expresin escrita y, por tanto, de la comunicacin. No comentar si no es necesario, no escribir ms de lo que necesites para transmitir la idea. Mantener los comentarios simples y directos. introducir los comentarios conforme se va codificando. No dejarlo para el final, puesto que entonces costar ms trabajo. Comentar como si fuera para uno mismo. A la hora de comentar no pensar slo en mantenimiento posterior, ni creer que se esta dejando un regalo para la posteridad del que slo obtendr beneficios el desarrollador que en el futuro sea designado para corregir o mantener dicho cdigo.
30
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 DE FUNCIONES (FB) Los bloques funcionales 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 programacin. 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, pero tambin existen FBs estndar. stos pueden 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. BLOQUE PRINCIPAL El bloque principal es 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. Comparado esto con un PLC convencional, ste contiene un solo recurso, ejecutando una tarea que controla un nico programa de manera cclica. El S7-200 slo cuenta con el programa principal y la creacin y utilizacin de funciones (subrutinas) reusables o no reusables. La creacin de los bloques funcionales se aplica en los PLCs de gama alta S7-300/400. Sin embargo es conveniente que usted como programador reconozca y diferencie estos conceptos. La siguiente figura esquematiza dicho proceso:
31
OB es el programa principal, quien se encarga de administrar las tareas y realizar los diferentes llamados. Es posible realizar hasta 8 anidamientos de llamados de subrutinas (Funciones) para el PLC S7-200. El cdigo ejecutable comprende el programa principal, las subrutinas y/o rutinas de interrupcin (opcionales). El cdigo se compila y se carga en el S7--200, a excepcin de los comentarios del programa. Las unidades de organizacin tales como el programa principal, las subrutinas y las rutinas de interrupcin servirn para estructurar el programa de control. El orden que se llevar a cabo para la estructura de programacin se describe a continuacin: Programa Principal (Main) - Inicializacion Subrutina Modo Automtico / Semiautomtico Subrutinas Reusables Modo Manual - Periferia de Salida Modulo de Alarmas Subrutinas Adicionales (reusables)
32
El programa principal contiene las operaciones que controlan la aplicacin. El S7-200 ejecuta estas operaciones en orden secuencial de arriba hacia abajo y de izquierda a derecha una vez por ciclo. En el programa principal se tendr en cuenta entonces: Marcaje inicial, es decir, ubicar la primera marca de ciclo con la marca especial SM0.1 (setear la(s) primera(s) marca(s) que permite(n) evolucionar la red). Llamado de subrutinas (Automtico, Alarmas, Recetas, Salidas, etc.) Operaciones globales. Evala el modo de operacin en que se encuentra la mquina. Resetear la dems rea de memoria M, C y T con el fin de garantizar que los contadores y temporizadores se encuentren en 0 y que no hayan marcas seteadas (lugares de la PN con marcas) al poner en RUN el PLC. Las subrutinas se ejecutan slo cuando se llaman desde el programa principal, desde una rutina de interrupcin, o bien desde otra subrutina. Las subrutinas son elementos opcionales del programa, adecundose para funciones que se deban ejecutar repetidamente. As, en vez de tener que escribir la lgica en cada posicin del programa principal donde se deba ejecutar una funcin, basta con escribirla slo una vez en una subrutina y llamar a la subrutina desde el programa principal desde otra subrutina cada vez que sea necesario. Las subrutinas tienen varias ventajas:
33
Permiten reducir el tamao total del programa. Acorta el tiempo de ciclo, puesto que el cdigo se ha extrado del bloque principal. El S7--200 evala el cdigo del bloque principal en cada ciclo, sin importar si el cdigo se ejecuta o no. Sin embargo, el S7--200 evala el cdigo en la subrutina slo si se llama a sta. El llamado puede ser condicional (el llamado requiere de ciertas condiciones) o Incondicional (El llamado se realiza en todo momento). Bajo este principio de funcionamiento se desprenden 2 situaciones: El no evaluar la subrutina en el actual ciclo de ejecucin puede generar que algunos valores de dicha subrutina se vean afectados y no se actualicen correctamente. El evaluar la subrutina en todos los ciclos de ejecucin as sta no interese ser evaluada, implica consumo de tiempo de ejecucin que en algunas aplicaciones puede resultar valioso.
Como se aprecia en la figura, en la network 15 se realiza un llamado incondicional a travs de la marca especial SM0.0 la cual permanece activa en todo tiempo de ciclo. Por otro lado, en la network 16, se observa el llamado condicional el cual habilita la subrutina ENSAMBLE slo cuando la entrada I0.0 est activa y la salida Q3.2 se encuentre apagada, de lo contrario las network dentro de dicha subrutina no sern evaluadas. De esta manera, la utilizacin de subrutinas crea cdigos porttiles. Ofreciendo la posibilidad de aislar el cdigo de una funcin en una subrutina y copiar sta a otros programas sin necesidad de efectuar cambios o con slo unas pocas modificaciones.
34
Modo Manual: Cada movimiento es ejecutado por el operario. ste tiene un dominio permanente, permitiendo as la activacin de una o ms etapas del proceso en cada autorizacin. Modo Semiautomtico: Es ejecutado todo el ciclo uno a uno. Cada inicio de ciclo requiere autorizacin por parte del operario. Modo Automtico: Es ejecutado el ciclo repetidamente a partir de una autorizacin inicial del operario y hasta una condicin programada para el fin de ciclo (# de ciclos, # de piezas, horas de ejecucin, etc.).
Si la mquina ha sido diseada y fabricada para que pueda utilizarse segn varios modos de marcha o de funcionamiento con distintos niveles de seguridad, entonces, por lo general, dicha mquina llevar un selector de modo de marcha (bien sea fsico o desde un panel de operacin) que pueda ser enclavado en cada posicin. Cada una de las posiciones del selector slo corresponder a un nico modo de mando o de funcionamiento.
35
Para el modo Manual, autorizar los movimientos nicamente mediante un accionamiento mantenido de pulsadores (JOG) y/o la combinacin de varios de ellos.
Considerar todas las condiciones de seguridad necesarias para cada uno de los modos, manteniendo as la seguridad e integridad del operador y de la mquina o proceso. El selector de Modo de Operacin puede ser: 1. Un selector fsico que llegue como entradas al PLC. 2. Seleccionable desde Panel de Operacin (Memoria del PLC). De cualquiera de estas dos formas, se manejan selectores de 2 posiciones o 3 de posiciones. En relacin al nmero de posiciones del selector se tienen igual nmero de modos de operacin.
La combinacin de estas 2 entradas me permite evaluar hasta 3 modos distintos de Operacin. De manera anloga sucede con un selector de 2 posiciones. En el caso de un selector fsico de 2 posiciones, es necesaria tan slo una entrada. Los dos modos de operacin se obtienen evaluando sus dos posibles estados, activada o desactivada.
36
Los selectores desde panel de operacin son menos restrictivos y mucho ms flexibles. Solo se requiere de cierta rea de memoria para evaluar el modo de operacin seleccionado.
Para evaluar cada modo de operacin y saber en cul de estos se encuentra operando la mquina se siguen los siguientes criterios: Desde Selector fsico de 3 Posiciones: En el bloque Principal (OB) se debe evaluar cada una de las 3 posibles combinaciones y a partir de ellas activar la marca descrita en el captulo 2 para indicar el modo de operacin seleccionado. Esta marca ser la que nos indicar el modo de operacin y condicionar la respectiva activacin de las salidas, evolucin la Red de Petri y dems requerimientos, dependiendo del modo seleccionado.
37
Ilustracin 33. Evaluacin Posicin Selector de Modo de Operacin Fsico 3 Posiciones en Bloque Principal (Main)
Desde Selector fsico de 2 Posiciones: Con este tipo de selector no es necesario la activacin de una marca auxiliar que nos indique el modo de operacin seleccionado. Para permitir la activacin de salidas, evolucin de la Red de Petri y dems requerimientos, basta con condicionar el estado de la entrada asociada al selector de modo de operacin.
Ilustracin 34. Evaluacin Posicin Selector de Modo de Operacin Fsico 2 Posiciones en Bloque Principal (Main)
38
Selector de 3 posiciones desde Panel Operacin: Con este tipo de selectores, en lugar de entradas a PLC, se necesita un rea de memoria del PLC. Para 3 o ms posiciones se requiere como mnimo de un byte de memoria. Este byte debe corresponder a la memoria V del PLC. No es necesario la activacin de una marca auxiliar para indicar el modo de operacin, al igual que el selector fsico de 2 posiciones, para permitir la activacin de salidas, evolucin de la Red de Petri y dems requerimientos, basta con condicionar una comparacin tipo [==].
Ilustracin 35. Evaluacin Modo de Operacin por pantalla 3 Posiciones en Bloque Principal (Main)
Selector de 2 posiciones desde Panel Operacin: Con un Bit de memoria del PLC es suficiente para evaluar el modo de operacin. Se deja abierta la posibilidad de elegir entre la memoria M o memoria V del PLC.
Ilustracin 36. Evaluacin Modo de Operacin por pantalla 2 Posiciones en Bloque Principal (Main)
39
MODO MANUAL
Es un modo de funcionamiento especial, utilizado generalmente en los periodos de ajuste, calibracin y en general se utiliza para realizar mantenimiento de los sistemas automatizados. Con este modo se pretende facilitar la labor de correccin de imprevistos, fallos, averas o correcciones precisas en el funcionamiento de las mquinas o de los dispositivos de control. Adems este modo es utilizado tambin para el ajuste o puesta a punto de la mquina antes de inicio de produccin. Este modo de funcionamiento exige en programacin, todos los enclavamientos y seguridades propios de la mquina, y fuera de esto, un conocimiento avanzado del sistema por parte de quien la opera, con el fin de minimizar la activacin de movimientos que pongan en peligro la seguridad de las personas y la integridad de la mquina o proceso. PROGRAMACIN MODO MANUAL Los mandos manuales en los procesos y las mquinas, son los segmentos de los automatismos que permiten la activacin de las salidas que impulsan la prefera, bajo una serie de mandos combinacionales validados por el operario. Cabe aclarar que este modo NO es modelado por una Red de Petri, generalmente es un sistema combinacional, ya que aqu no existe un movimiento secuencial, ordenado y estricto de la mquina; slo se tiene un dominio total de los movimientos de la mquina o de tan slo aquellos ms importantes y que lo requiera a partir de la combinacin de algunas seales. Este modo es til para mantenimiento, ajuste y puesta a punto de la mquina. Partiendo de esa base, se propone el siguiente procedimiento para la programacin del modo manual: La elaboracin del cdigo de programa para mandos manuales (evaluacin de los mandos manuales) se debe realizar en una subrutina a parte destinada para la activacin de las salidas de periferia. Esta subrutina llevar el nombre de SALIDAS. Dicho cdigo NO tendr Marcas o lugares de Red de Petri, los movimientos se validarn por la correspondiente combinacin entrada/salida, es decir, una bobina simple de salida (Qxx) ser activada con su correspondiente combinacin de entradas (Ixx) o estados de memoria y/o variables (MOP) que procedan de un panel de operacin del Tipo TD / OP / TP. La combinacin de entradas por parte del operario tendr efecto sobre la salida, slo si el selector de modo de operacin se encuentra posicionado en modo manual.
40
Tener en cuenta las seguridades para que dichos movimientos sean permitidos. Los criterios de diseo de la mquina o proceso es una herramienta til para saber que dispositivo requiere o no de manera crtica la evaluacin de seguridades en este modo de operacin. Enclavamientos y/o salidas que no se pueden dar en conjunto con otras son a veces necesarios en este modo de operacin; sin embargo pueden existir otros dispositivos de la mquina o proceso que en modo manual pueden activarse directamente con la correspondiente combinacin de entradas y/o Marcas del Panel de Operacin sin requerir el chequeo de seguridades previas. El modo de operacin Manual es de tipo impulso sostenido (JOG), es decir, la salida slo se activa mientras el pulsador se encuentre pulsado, o mientras la tecla (botn) del panel de operacin se encuentre presionado, en caso contrario la salida deber apagarse inmediatamente.
NOTA: Slo en casos especiales, como por ejemplo, cuando una salida Q1 requiere ser activada, pero sta depende de que otra salida Q2 confirme que se encuentra activada, entonces, slo en este caso es permitido sostener la activacin de la salida Q2 a travs del respectivo pulsador o mediante un botn tipo toggle (interruptor) desde panel de operacin, es decir, con retencin y as, de esta manera cumplir los requisitos de seguridad para activacin de la salida Q1. Ahora bien, la activacin de la salida Q1 si se har mientras el pulsador se encuentre pulsado, o mientras la tecla (botn) del panel de operacin se encuentre presionado como lo indica el modo JOG para la activacin de salidas en modo manual. EJEMPLO: Se debe realizar el proceso de bombeo de un lquido de un tanque de almacenamiento a otro tanque en modo Manual. Para ello se dispone de una bomba y 2 vlvulas. Una vlvula se encuentra despus del tanque origen y la otra antes del tanque de destino. Ambas vlvulas poseen confirmacin de abierta y cerrada. La bomba se encuentra en medio de ambas vlvulas.
41
Ilustracin 38. Programacin Modo Manual Software de Programacin Step7/Microwin - Ejemplo Ilustrativo 3
Como se ve en la grfica, para poder activar la bomba de descarga, se requiere que las vlvulas T1 y T2 confirmen que se encuentren abiertas, para ello tambin se deben activar. La activacin de estas vlvulas debe permanecer sostenidas en este modo de operacin, con el fin de permitir la activacin de la Bomba de descarga. Slo en casos particulares como este, la activacin tipo JOG es exigido por ejemplo, para la activacin de la bomba y para el caso de las vlvulas es permitido hacer una excepcin a este tipo de activacin.
42
EJEMPLOS: Se muestran adems, otros 2 ejemplos que representan la forma correcta para realizar la activacin de las seales de salida de periferia en modo Manual en lenguaje KOP.
Ilustracin 39. Programacin Modo Manual Software de Programacin Step7/Microwin - Ejemplo Ilustrativo 4
De acuerdo a la estructura de programacin, en el ejemplo anterior se puede observar los siguientes aspectos en la lnea de cdigo: El modo manual se encuentra programado en la misma subrutina donde se activan las salidas. La presencia de contactos abiertos que evalan el modo de operacin actual de la mquina. En el ejemplo, este selector se encuentra programado en el panel de operacin. Tambin puede suceder que se evale una combinacin de entradas en el PLC correspondientes a un selector de modo fsico. Contacto abierto como condicin de entrada (Pulsador) o estado de memoria (botn Marca desde OP) que autoriza la activacin de la seal de periferia. Activacin modo JOG. Condiciones de seguridad que se deben tener en cuenta y autorizan la activacin de la seal de periferia. Activacin de periferia (salida) como una bobina simple y NO como Set / Reset.
43
Ilustracin 40. Programacin Modo Manual Software de Programacin Step7/Microwin - Ejemplo Ilustrativo 5
Ahora bien, este ejemplo maneja la misma estructura de programacin del ejemplo anterior salvo que la activacin manual de la salida de periferia no depende de condiciones de seguridad y enclavamientos con otras salidas del sistema. Esta activacin slo depende de: El selector de modo de operacin en manual. Comando de activacin manual del dispositivo. Entrada a PLC (Pulsador) o Mando desde OP. Paro de Emergencia desactivado.
44
MODO SEMIAUTOMTICO
Este modo de operacin difiere del modo automtico, en que el inicio de cada ciclo necesita de una seal de autorizacin por parte del operario para ejecutarse. De esta manera, la activacin de las salidas en ambos modos (semiautomtico / automtico) dependen de las mismas marcas (lugares) de la Red de Petri. El control sobre el inicio de la ejecucin del ciclo implica verificar las condiciones iniciales de arranque. Las condiciones iniciales (CI) es la comprobacin de que los distintos elementos que componen el automatismo se encuentran en la posicin inicial para asegurar el correcto funcionamiento y secuencia del sistema. En el siguiente captulo se analizar la verificacin de dichas condiciones iniciales.
PROGRAMACIN MODO SEMIAUTOMTICO Los mandos semiautomticos en los procesos y en las mquinas, son los segmentos de los automatismos que permiten el accionamiento de las salidas que activan la prefera, bajo una secuencia lgica, la cual requiere para cada ciclo de operacin la autorizacin del operario. Dicha secuencia se garantiza por medio de la activacin de una marca condicional propia del cumplimiento de un estado anterior, conforme al modelo basado en estados y transiciones (Red de Petri). La Red de Petri utilizada en el modo semiautomtico es la misma para el modo automtico, sin embargo pueden existir ciertas condiciones y/o activaciones que difieren entre estos modos de operacin, por lo tanto se deben tener en cuenta los condicionamientos necesarios para cada uno. Partiendo de esa base se propone el siguiente procedimiento para la programacin del modo Semiautomtico: La elaboracin del cdigo de programa se debe realizar en una subrutina a parte destinada para la programacin de la Red de Petri. Dicho cdigo estar compuesto por la secuencia de la red, es decir, por las Marcas o lugares de Petri y condiciones o transiciones para la evolucin de la misma. Esta subrutina llevar el nombre de MOD_ AUTO. Cada una de estas marcas debe seguir el estndar de marcacin de smbolos expuesta en el captulo anterior.
45
Las diferentes salidas se validarn por la correspondiente combinacin entrada/salida y marcas de Petri. Estas salidas son las mismas bobinas simples que se ubican en la subrutina de SALIDAS. La combinacin de entradas y de las marcas de Petri tendrn efecto sobre la salida, s y slo si el selector de modo de operacin se encuentra posicionado en modo semiautomtico. Contemplar las seguridades para que dichos movimientos sean permitidos, enclavamientos, salidas que no se pueden dar en conjunto con otras son criterios de diseo que se deben tener en cuenta a la hora de elaborar dicho cdigo.
MODO AUTOMTICO
Se trata del modo de funcionamiento normal, para el cual la mquina o sistema ha sido concebido y diseado. En este modo de operacin, cuando se ejecute la orden de arranque de ciclo con el pulsador de inicio o botn de inicio desde HMI, el sistema permanece funcionando de forma ininterrumpida, hasta que una orden (condicin) de parada (fin de ciclo) normal sea efectuada. La parada normal (fin de ciclo) detiene el sistema al final de ciclo de produccin en curso, a diferencia de las paradas de emergencia, cuyo objeto por lo general es parar de inmediato la ejecucin del ciclo sea cual sea la situacin. El inicio de un nuevo ciclo esta dado de forma automtica por la maquina o proceso, una vez se detecta el fin del ciclo anterior. El fin de ciclo puede ser dado por una seal I/O como un sensor de cada de pieza o por un tiempo de espera que se evala cuando se finaliza un ciclo.
PROGRAMACIN PARA MODO AUTOMTICO Los mandos automticos en los procesos y las mquinas, visto desde el controlador, son los segmentos de los automatismos que permiten el accionamiento de las salidas que activan la periferia, con la dependencia de una marca condicional propia del cumplimiento de un estado anterior, conforme al modelo de Red de Petri, basado en estados y transiciones. Teniendo en cuenta la particularidad de los sistemas automticos y las variaciones que se pueden presentar respecto al comportamiento dinmico de la maquina, surgen ciertas dificultades que se hacen visibles en el momento de puesta en marcha de la maquina. Para la programacin de este modo de operacin, se seguir el mismo procedimiento expuesto en el modo semiautomtico.
46
Recordando que la programacin de la Red de Petri para ambos modos de operacin automtico / semiautomtico se debe concentrar en la misma subrutina MOD_AUTO. CODIFICACIN DE LA RED DE PETRI Una vez terminada la Red de Petri, la codificacin de sta se debe seguir conforme se avanza sobre ella, es decir, seguir uno a uno los lugares de la red y activar los contadores y temporizadores tal cual se van activando durante el transcurso de la red. El esquema de programacin basado en el orden: 1. 2. 3. 4. Condiciones Iniciales. Activacin de Temporizadores y Contadores Evaluacin de Transiciones Salidas
Es una propuesta de programacin con fines netamente acadmicos y en ocasiones no aplica en el verdadero uso industrial. Se debe codificar uno a uno la evolucin de la red (Evolucin de un lugar a otro lugar) en cada segmento (Network) de Micro/Win bajo el siguiente esquema:
Como el modo de operacin y el pre-lugar son condiciones para evolucionar la red y se garantiza la presencia de stas, se estara en efecto evaluando el flanco positivo del evento (entrada). Si se requiere activar un temporizador o incrementar un contador, esto se hace en la network (segmento) inmediatamente despus de donde se setea la marca que activa dicho temporizador o incrementa el contador.
EJEMPLO:
47
Casos particulares como transiciones instantneas, transiciones con tiempos mnimos, lgica negada, entre otros, se irn tratando paulatinamente en el transcurso del documento. La siguiente imagen muestra la representacin de las estructuras ms importantes desarrolladas en las redes de Petri en lenguaje RLL - Relay Ladder Logic (KOP)
48
Ilustracin 43. Estructuras ms importantes desarrolladas en las Redes de Petri en Lenguaje RLL - Relay Ladder Logic
49
EJEMPLO Para abordar los ejemplos de programacin de estos 2 modos, se debe empezar por la respectiva Red de Petri. Se Usar el ejemplo de los dos carritos expuesto en el captulo 2 y se tomara como base en las estructuras de programacin de la imagen anterior. Se modificar el ejercicio para que en modo automtico haga la secuencia en 3 ocasiones, y en modo semiautomtico inicie de nuevo la secuencia con la seal del pulsador de inicio. La Red de Petri con las respectivas modificaciones se ver de la siguiente manera:
Ilustracin 44. Ejemplo Ilustrativo 7 - Red de Petri Propuesta para Codificar en Step7/Microwin
50
En esencia la Red de Petri es la misma para ambos modos, pues se observa claramente que poseen en comn los lugares P0, P1, P2, P3, P4, P5 y P6 y es precisamente en estos lugares donde se desarrollan todas las condiciones y los requerimientos del ejercicio. Ahora bien, la diferencia radica al final de la red, donde se debe evaluar el modo de operacin para decidir si se compara con la condicin de fin de ciclo automtico (Para nuestro caso particular contador >= 3) o si por el contrario la ejecucin de un nuevo ciclo depender de un nuevo pulso de la seal de Inicio. Apoyados en las representaciones de las estructuras ms importantes desarrolladas en las Redes de Petri en lenguaje Ladder (KOP) y tomando como base el esquema de codificacin propuesto, se tendr que la anterior Red de Petri codificada se ver de la siguiente manera: Se Indicarn slo los puntos ms relevantes de la red.
51
Ilustracin 45. Puntos Relevante Codificacin Red de Petri en Step7/Microwin - Ejemplo Ilustrativo 7
ACTIVACIN DE LAS SALIDAS EN MODO SEMI -AUTOMTICO Y AUTOMTICO Se Recuerda que la activacin de las salidas se realiza en una subrutina independiente, llamada SALIDAS y las salidas no se setean, sino que se activan en forma de bobina simple, esto por motivos de seguridad.
Para activar las salidas en este modo de operacin, se debe analizar el lugar en la Red de Petri que activa la salida y el lugar que la desactiva. Partiendo de este hecho se tienen dos posibilidades: 1. La salida se activa (Qx.x = 1) en un lugar cualquiera en la Red de Petri y se desactiva (Qx.x = 0) en el lugar inmediatamente posterior. En la red del ejemplo anterior se observa este suceso. En un lugar de la red (Lugar P3) activo cierta salida (Mot_Adelante_C2 = 1) y en el lugar inmediatamente posterior (Lugar P4) la desactivo (Mot_Adelante_C2 = 0):
52
En este caso, la activacin de la salida se realiza con la misma marca con la que se representa dicho lugar en la codificacin, es decir, si el lugar P3 que activa una salida en mi proceso est representado con la memoria del PLC (Marca) M0.3 entonces, esta misma marca ser usada para la activacin de la salida. Esto es posible, ya que de acuerdo al esquema de codificacin propuesto, en el lugar seteado, al mismo tiempo se est reseteando el lugar anterior, luego, de igual manera estara sucediendo con la salida, se estara activando y luego desactivando.
53
Como lo muestra la figura, la activacin de las salidas estn ubicadas en la subrutina SALIDAS; dicha activacin en este caso depende del modo de operacin Automtico, se est omitiendo el modo manual. De esta manera, de acuerdo al esquema de codificacin propuesto, en el lugar seteado, tambin se est reseteando el lugar anterior, luego, de igual manera estara sucediendo con la salida, la se estara activando y luego desactivando.
2. La segunda posibilidad sucede cuando: la salida se activa (Qx.x = 1) en un lugar cualquiera en la Red de Petri y permanece activa durante varios lugares posteriores al lugar donde fue activada. La salida es retenida hasta llegar al respectivo lugar que desactiva dicha salida.
En este caso no aplica utilizar la misma marca del lugar que activa la salida en la Red de Petri, ya que una vez la red evolucione al siguiente lugar, se perdera la seal de activacin y por consiguiente se desactivara la salida. Para solucionar este problema se debe recurrir a marcas auxiliares de activacin. En el captulo 2 de este manual, se defini el smbolo a utilizar para dichas marcas. Una vez definida el rea de memoria de la marca auxiliar que mantendr activa la salida, se procede a setear esta marca en la misma network en que se setea el lugar de la Red de Petri que activa la salida. Esta marca permanecer activa hasta llegar al lugar donde se desactiva la salida. Es en ese instante donde se procede a resetear la marca auxiliar. En efecto, de esta manera se cumplir con los requerimientos de activacin de tal salida.
54
NOTA: Es de suma importancia no olvidar resetar tambin este tipo de marcas (marcas auxiliares) ante eventos como inicio de primer ciclo, paros de emergencia y cambios de modo de operacin.
55
MODO ESPECIAL DE OPERACIN PASO A PASO Este modo de operacin est concebido slo para facilitar los ajustes mecnicos de manera detallada y especfica a la mquina o proceso, observando el comportamiento de las piezas ensambladas durante la ejecucin de la secuencia automtica paso por paso. El modo de operacin Paso a Paso consiste en ejecutar uno por uno los movimientos de la secuencia automtica supeditando la ejecucin de cada movimiento a la activacin de una seal de PASO proveniente de un pulsador fsico (Entrada del PLC) o de un botn desde Panel de Operacin HMI (Memoria del PLC). Este modo de operacin se debe codificar en la misma subrutina donde se programa el modo automtico y semiautomtico (MOD_AUTO), con el fin de ejecutar tambin la Red de Petri que gobierna la secuencia automtica en este modo. No obstante, como condicin de evolucin, se debe evaluar la seal de PASO slo en los lugares que afecten las salidas de periferia, es decir, los que activan o desactivan salidas. Para la evolucin de la red en aquellos lugares que sirven slo como estado de memoria y que no llevan asociado la modificacin del estado de alguna salida, no se debe ubicar la seal de PASO como condicin de evolucin, slo se ubica la evaluacin del modo de operacin.
EJEMPLO
56
57
58
Se acepta la codificacin de este lugar y de la transicin que evala las condiciones iniciales dentro de la subrutina de modo automtico (MOD_AUTO) en el bloque principal (PRINCIPAL). Sin embargo, se acostumbra realizar la programacin del marcaje inicial en el bloque principal.
59
60
CONDICIONES INICIALES
Las condiciones iniciales son todos aquellas seguridades, enclavamientos y seales de entrada y salida que se deben cumplir antes de dar inicio a la secuencia de operacin en modo semiautomtico, automtico o paso-paso, garantizando que la mquina inicie en las condiciones normales de reposo y para la cual est diseada, con el fin de prevenir daos en la misma mquina, imperfecciones en el producto o daos en el personal humano encargado. Dichas condiciones iniciales deben evaluarse en serie al marcaje inicial y permiten la evolucin de la red nicamente si se cumplen todas las seguridades vez. Si transcurrido un tiempo pequeo (alrededor de un (1) segundo, puede ser ms, todo depende de requerimientos del cliente) las condiciones iniciales no se cumplen, se debe activar una marca auxiliar del modo bobina simple para dinamizar por pantalla la aparicin de una alarma que indique este suceso. Mientras no se cumplan las condiciones iniciales, la mquina o proceso, no podr dar inicio con la secuencia. El marcaje inicial se debe desactivar en el momento que se realice la valoracin de las condiciones iniciales y estas se hayan cumplido.
61
62
63
Como se indic en el captulo 3, si se requiere activar (habilitar) un temporizador, esto se hace en la network (segmento) inmediatamente posterior de donde se setea la marca que activa dicho temporizador, siguiendo la secuencia normal de la Red de Petri.
64
Si se requiere que el temporizador permanezca habilitado contando el tiempo de preseleccin an durante varios lugares ms en la red de Petri despus de pasar por el lugar donde ha sido activado, no se podr hacer uso de la marca que representa dicho lugar de activacin, sino hacer uso de una marca auxiliar la cual se encargar de habilitarlo y deshabilitarlo en los momentos indicados. Ahora bien, para aplicar la activacin de un temporizador en la network (segmento) inmediatamente posterior de donde se setea la marca que activa dicho temporizador slo se debe garantizar que dicho temporizador presencie en algn ciclo de lectura del PLC, sus respectivas seales de activacin para iniciar a temporizar y de desactivacin para detener el conteo. Recuerde que el PLC lee de arriba hacia abajo y de izquierda a derecha. El siguiente ejemplo mostrar este detalle. EJEMPLO: Se quiere llevar conteo del tiempo de ciclo de una inyectora. Para ello se habilita un temporizador con la seal de inicio (Cierre de Puerta) y se desactiva el tiempo al finalizar el ciclo (Expulsin de La pieza).
65
66
El temporizador T_Tiempo_Ciclo segn lo muestra la Red de Petri, se activa al iniciar la secuencia y se desactiva al finalizar la misma. Esta activacin no presenta inconveniente en modo semiautomtico ya que para activar de nuevo el T_Tiempo_Ciclo en un nuevo ciclo, se requiere de un cierre de puerta, el tiempo que demora en suceder este evento, da oportunidad suficiente para que la CPU evale el cdigo varios ciclos, de esta manera, el PLC ver una cada en la seal de activacin del temporizador, luego, reiniciar el conteo del mismo. Ahora bien, el inconveniente se presenta en modo automtico, ya que una vez la secuencia llegue al lugar P10 (Network 35), se resetea la marca de activacin del temporizador. Pero la lectura del PLC vuelve a arrancar desde la network 20 y Con la presencia de P10 y las Condiciones Iniciales es suficiente para arrancar de nuevo el ciclo de operacin de mquina, esto implica de nuevo el seteo de la marca de activacin del tiempo de ciclo. Cuando la lectura pase a la network 21, el temporizador no notar una cada en su seal de activacin, luego ste seguir corriendo como si siempre hubiera estado activo. Para eliminar este inconveniente, se acepta subir esta network en la subrutina de programacin, una, dos o las networks que sean necesarias para que la lectura del PLC note una cada en su seal de activacin y as se reinicie el temporizador. TIPOS DE TEMPORIZADORES Los PLCs trabajan los temporizadores en escalas de milisegundos, es por ello que para calcular el valor de tiempo deseado a contar en segundos se debe seguir la siguiente frmula simple:
67
Son 3 los tipos de temporizadores que maneja la gama de PLCs S7-200 de SIEMENS: TON: TEMPORIZADOR CON RETARDO A LA CONEXIN.
La operacin temporizador como retardo a la conexin (TON) cuenta el tiempo al estar activada (ON) la entrada de habilitacin. Si el valor actual (Txxx) es mayor o igual al valor de preseleccin (PT), se activar el bit de temporizacin (bit T). El temporizador contina contando tras haber alcanzado el valor de preseleccin y detiene el conteo cuando alcanza el valor mximo de 32767.
Su funcin es similar al temporizador con retardo a la conexin (TON). Difiere en que el valor actual del temporizador se mantiene cuando la entrada de habilitacin est desactivada (OFF). El temporizador como retardo a la conexin con memoria sirve para acumular varios perodos de tiempo de la entrada en ON. Para borrar el valor actual del temporizador como retardo a la conexin con memoria se utiliza la operacin Poner a 0 (R).
68
Ilustracin 66. Ejemplo Ilustrativo 18 - Funcionamiento Temporizador con retardo a la conexin con memoria
La operacin Temporizador como retardo a la desconexin (TOF) se utiliza para retardar la puesta a 0 (OFF) de una salida durante un perodo determinado tras haberse desactivado (OFF) una entrada. Cuando la entrada de habilitacin se activa (ON), el bit de temporizacin se activa (ON) inmediatamente y el valor actual se pone a 0. Cuando la entrada se desactiva (OFF), el temporizador cuenta hasta que el tiempo transcurrido alcanza el valor de preseleccin. Una vez alcanzado ste, el bit de temporizacin se desactiva (OFF) y el valor actual detiene el contaje. Si la entrada est desactivada (OFF) durante un tiempo inferior al valor de preseleccin, el bit de temporizacin permanece activado (ON). Para que la operacin TOF comience a contar se debe producir un cambio de ON a OFF.
La siguiente imagen muestra la distribucin de los nmeros de temporizadores utilizables en el PLCs S7-200 de SIEMENS:
69
CONTADORES
Los contadores son tambin elementos importantes en las soluciones automticas. Muchos de los procesos industriales requieren en su secuencia repetir varios movimientos antes de terminar la secuencia de la mquina, por ejemplo, expulsar ms de una vez una pieza en una inyectora de plstico. Esto se simplifica con el uso de los contadores. Para la compaa es de suma importancia conocer y llevar registro de las cantidades de unidades producidas (segn su razn social), de esta manera contar la produccin y ofrecer este registro es tambin tarea de programacin. Para activar o incrementar un contador se deben seguir las mismas indicaciones hechas para los temporizadores, salvo que el contador incrementa o decrementa tras detectar un flanco positivo en la seal de activacin. Se recomienda adems inicializar a 0 el valor de stos tras el arranque del PLC (paso de STOP a RUN) en el bloque principal con ayuda de la marca especial SM0.1 y reiniciar tras un paro de emergencia los contadores que evalan cantidad de repeticiones para secuencia de movimiento. Los contadores de produccin deben permanecer para evitar prdidas de datos de produccin.
Los contadores almacenan sus valores tipo enteros en un rea de memoria de tamao W, es decir, en dos bytes. De esta manera el valor mximo que puede alcanzar el contador es de 32767. El contador se detiene cuando el valor de contaje alcance el valor lmite superior (32.767).
70
TIPOS DE CONTADORES Son 3 los tipos de contadores bsicos que maneja la gama de PLCs S7-200 de SIEMENS: CTU: INCREMENTAR CONTADOR
La operacin Incrementar contador (CTU) empieza a contar adelante a partir del valor actual cuando se produce un flanco positivo en la entrada de contaje adelante CU. Si el valor actual (Cxxx) es mayor o igual al valor de preseleccin (PV), se activa el bit de contaje (Cxxx). El contador se inicializa cuando se activa la entrada de desactivacin (R) o al ejecutarse la operacin Poner a 0. El contador se detiene cuando el valor de contaje alcance el valor lmite superior (32.767).
La operacin decrementar contador (CTD) empieza a contar atrs a partir del valor actual cuando se produce un flanco positivo en la entrada de contaje atrs CD. Si el valor actual Cxxx es igual a cero, se activa el bit de contaje (Cxxx). El contador desactiva el bit de
71
contaje (Cxxx) y carga el valor actual con el valor de preseleccin (PV) cuando se activa la entrada de carga (LD). El contador se detiene cuando alcanza el valor "0" y el bit de temporizacin Cxxx se activa.
La operacin Incrementar/decrementar contador (CTUD) empieza a contar adelante cuando se produce un flanco positivo en la entrada de contaje adelante CU, y empieza a contar atrs cuando se produce un flanco positivo en la entrada de contaje atrs CD. El valor actual Cxx del contador conserva el contaje actual. El valor de preseleccin PV se compara con el valor actual cada vez que se ejecuta la operacin de contaje. Cuando se alcanza el valor mximo (32.767), el siguiente flanco positivo en la entrada de contaje adelante invertir el contaje hasta alcanzar el valor mnimo (-32.768). Igualmente, cuando se alcanza el valor mnimo (-32.768), el siguiente flanco positivo en la entrada de contaje atrs invertir el contaje hasta alcanzar el valor mximo (32.767).Si el valor actual (Cxx) es mayor o igual al valor de preseleccin PV, se activa el bit de contaje Cxx. En caso contrario, se desactiva el bit. El contador se inicializa cuando se activa la entrada de desactivacin (R) o al ejecutarse la operacin Poner a 0. El contador adelante/atrs se detiene al alcanzar el valor de preseleccin (PV).
72
EJEMPLO El siguiente ejemplo muestra una de las aplicaciones ms comunes de los contadores a nivel industrial. Se quiere llevar un registro de cunto tiempo en minutos y segundos ha permanecido encendido un motor cuya salida est asociada a la Q0.0. 1. Llevar en un primer contador C0 (C_Cont_Segundos) el registro de la cantidad de segundos que ha permanecido el motor encendido. Con ayuda del byte de estado del sistema SMB0 en particular del bit SM0.5 llevar el conteo de los segundos. Reloj_1s (SM0.5): Este bit ofrece un reloj que est desactivado durante 0,5 segundos y activado durante 0,5 segundos, siendo el tiempo de ciclo de 1 segundo. 2. Llevar en un segundo contador C1 (C_Cont_Minutos) el registro de la cantidad de minutos que ha permanecido el motor encendido. Para ello ayudarse del contador de segundos, incrementar el contador de minutos cuando el bit de control del contador de segundos (C0) se active, es decir, alcance el valor de 60. Reiniciar Contador C0. Si se desease llevar registro de las horas, se aplicara de nuevo el punto dos con un tercer contador C3 (C_Cont_Horas) e incrementndolo con la seal del contador de Minutos.
73
TRANSICIONES INSTANTNEAS
Las transiciones instantneas son transiciones que suceden en instantes muy rpidos durante el ciclo de lectura del PLC y que impiden que los pre-lugares asociados a dicha transicin permanezcan activos por un tiempo significativo para su evaluacin en otras subrutinas. El problema radica cuando estos pre-lugares llevan asociados algunas acciones, por ejemplo, activacin de salidas, incrementos u operaciones matemticas, comparaciones, entre otras. Como el pre-lugar dura activo muy poco (menos de un tiempo de ciclo completo), el PLC no alcanza a detectar la presencia de estos pre-lugares ubicados como condiciones para realizar algunas acciones en otras subrutinas. Existen dos posibles soluciones ante este problema: 1. Temporizar la transicin para retener el (los) pre-lugar (es) y dar tiempo a que el PLC evale las condiciones asociadas a este (estos) pre-lugar (es) en otras subrutinas. Esta solucin puede ser significativa para el tiempo de ciclo de la mquina o proceso. 2. Paralelo a la activacin del (los) pre-lugar (es) que llevan asociados transiciones instantneas, activar una marca auxiliar con la cual se realizar la evaluacin para las acciones que estaban asociadas a dichos lugares. Una vez se garantice que la accin deseada ha sido realizada por el PLC se procede a desactivar dicha marca auxiliar. Esto permite que la Red de Petri evolucione y que se garantice las acciones de cada lugar.
74
CONCLUSIONES
Seguir esta metodologa de codificacin de los modelos de redes de Petri siguiendo la norma IEC61131-3, nos permite realizar una correcta estructura de programacin, disminuyendo as las probabilidades de error y las incertidumbres en las respuestas de los micro PLCs a las rdenes programadas. Las aplicaciones industriales actuales demandan el diseo de sistemas ms complejos, seguros, fiables, que exhiban un alto grado de flexibilidad y reutilizacin. La integracin y la reutilizacin en este tipo de aplicaciones se pueden alcanzar gracias a estandarizaciones y metodologas como las plasmadas en este documento. Esta metodologa puede ser escalable a la programacin de equipos ms robustos como PLCs de gama media y alta con tiempos de respuesta mucho ms altos.
75
BIBLIOGRAFA
Zapata M. Germn, Branch Jhon, Quintero Henao Luis, Gonzales Carlos, Medina Carlos. Metodologa para generacin de cdigo a partir de modelos en Redes de Petri jerrquicas. Zapata M. Germn I.E., M.s.c. (2007) Diseo de Automatismos secuenciales para controladores Lgicos Programables. Escuela de ingeniera elctrica y mecnica. Universidad Nacional de Colombia. Formalizacin de las Redes de Petri Jerrquicas.
76