Está en la página 1de 76

MANUAL TCNICO DE PROGRAMACIN DE MICRO PLC's SIEMENS S7-200 BASADO EN MODELOS DE REDES DE PETRI BAJO EL LENGUAJE DE PROGRAMACIN "KOP"

AUTOR JUAN FELIPE MEDINA ARBOLEDA

Trabajo de Grado presentado como requisito Para obtener el ttulo de Ingeniero de Control

DIRECTOR I.E., M.Sc. Germn Daro Zapata Madrigal

UNIVERSIDAD NACIONAL DE COLOMBIA FACULTAD DE MINAS SEDE MEDELLN 2011

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.

CAPTULO 01 - CONCEPTUALIZACIN CONSIDERACIONES GENERALES


La idea de normalizar y estandarizar los procedimientos y criterios para la elaboracin de los cdigos de programa para los PLC Siemens utilizados, surgi bajo la necesidad de dar solucin a diversos problemas de interpretacin y ejecucin del mismo. De esta manera, las soluciones que se presentan en este manual, bsicamente fueron diseadas y estructuradas en casos presentados en los PLCs Siemens S7-200, lo que indica que solo puede ser estrictamente fiel a la generacin de cdigo en STEP 7 MICROWIN, o en casos excepcionales en que la generacin de cdigo sea similar. Bajo las anteriores observaciones se presentan los siguientes criterios generales: Para el desarrollo de cualquier programa, se deben comentar cada una de las lneas de cdigo, permitiendo as que cada programador tenga la capacidad de manipular y modificar cualquier programa sin ninguna dificultad. La elaboracin del cdigo de programa de cada uno de los mandos, se debe realizar en una subrutina independiente, esto con el fin de tener una estructura ordenada que facilite la lectura y verificacin del programa. La concepcin terica de la estructura y diseo de las Redes de Petri no debe ser modificada, y se deben respetar los lineamientos y procedimientos exigidos para su normal desarrollo. Cada programa ser almacenado con su respectivo diseo de Red de Petri, incluyendo las versiones anteriores y las versiones actuales. Para la correcta interpretacin de la Red de Petri con el programa, se debe manejar con total transparencia la simbologa y dems componentes que la conforman. Se permitir la realizacin de cambios o mejoras que permitan la optimizacin del programa, siempre y cuando no violen las normas establecidas en el presente manual.

NORMA IEC 61131-3


Las aplicaciones industriales actuales demandan el diseo de sistemas ms complejos, seguros, fiables, que exhiban un alto grado de flexibilidad y reutilizacin. Caractersticas necesarias para adaptarse rpidamente a un mercado cada vez ms cambiante y competitivo. La estandarizacin es un objetivo clave a alcanzar en la integracin y la reutilizacin en este tipo de aplicaciones. Los esfuerzos de estandarizacin internacionales han llevado a la definicin del estndar IEC 61131. La parte 3 de este estndar define un modelo de software para especificar proyectos de automatizacin haciendo nfasis en la reutilizacin de software y establece las especificaciones de la sintaxis y semntica (estructura) de dicho lenguaje. Actualmente una gran parte de los principales fabricantes de Controladores Lgicos Programables (PLC) ofrecen herramientas de programacin que siguen el estndar. IEC 61131-3. Esta norma pretende ser la base real para estandarizar los lenguajes de programacin en la automatizacin industrial, haciendo el trabajo independiente de cualquier compaa fabricante De esta manera, IEC 61131 es el primer paso en la estandarizacin de los autmatas programables y sus perifricos.

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

Ilustracin 1. Estructura Funcional del Sistema de un Autmata Programable.

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.

Ilustracin 2. Funcin interfaz 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.

Ilustracin 3. Funcin 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

CAPTULO 02 - CONCEPTOS Y HERRAMIENTAS BSICAS DE PROGRAMACIN ESTRUCTURA DE LAS REDES DE PETRI


Para abordar este tema, se asume que el lector posee un conocimiento medio acerca de la teora y la representacin formal y matemtica de Redes de Petri utilizadas en el diseo, anlisis y control de procesos automatizados descritos por sistemas a eventos discretos. Las Redes de Petri deben representar el comportamiento dinmico del sistema o proceso sin oportunidad a ambigedades. Debe ser lo suficientemente flexibles que facilite la integracin de nuevas funciones y deben ser adems, un mtodo para generar de manera automtica y transparente el cdigo de programacin del controlador lgico (PLC). ELEMENTOS DE UNA RED DE PETRI LUGARES: Llevan asociados las acciones que debe tomar el sistema modelado. Se asocian a las salidas del sistema TRANSICIONES: Seales o eventos que permiten evolucionar el sistema de un lugar a otro. Se asocian a las entradas del sistema. ARCOS ORIENTADOS: Unen lugares con transiciones (Arco de Salida) o viceversa (Arco de Entrada). MARCAS: (Tokens) Se sitan en los lugares. Representa el estado del sistema en cada momento. Es la asignacin de un entero no negativo a los lugares de la Red de Petri. Se representa mediante un crculo negro dentro del lugar. TRANSICIN SENSIBILIZADA: Una transicin esta sensibilizada si todos sus lugares de entrada a esa transicin estn marcados y el nmero de marcas en estos lugares es mayor o igual al peso del arco que conecta cada lugar con dicha transicin. DISPARO: El disparo de una transicin sensibilizada consiste en remover marcas de cada lugar de entrada y agregar marcas a cada lugar de salida de acuerdo al peso de los arcos de entrada y salida respectivamente, es decir, retirada una marca en cada lugar de entrada, deposito una marca en cada lugar de salida. Recordar que un disparo tendr lugar en el mismo instante en el que la transicin se sensibiliza. El cambio del marcaje de un lugar puede nicamente ser influenciado por las transiciones habilitadas que estn directamente conectadas a este lugar. (Principio de Localidad) una transicin solo afecta su vecindad (elementos de entrada y de salida).

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.

Ilustracin 4. Elementos de una Red de Petri

Ilustracin 5. Conjunto de lugares de entrada a t1

Ilustracin 6. Conjunto de transiciones de entrada a P1

14

Ilustracin 8. Conjunto de transiciones de salida de P1 Ilustracin 7. Conjunto de lugares de salida de t1

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.

Ilustracin 9. Red de Petri Secuencial

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).

Ilustracin 10. Bifurcacin en un Lugar

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.

Ilustracin 11. Bifurcacin en una Transicin

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.

Ilustracin 12. Sincronizacin

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

Ilustracin 13. Errores de Representacin 1 (Redes de Petri)

Ilustracin 14. Errores de Representacin 2 (Redes de Petri)

17

REDES DE PETRI TEMPORIZADAS E INTERPRETADAS POR PERIFERIA (IPN)

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

Ilustracin 16. Red de Petri - Ejemplo Ilustrativo 1

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

REDES DE PETRI JERRQUICAS (HPN)


Un problema comn de las Redes de Petri, es su tamao, ya que para sistemas complejos, el modelo IPN crece demasiado. Estos modelos IPN (denominados no jerrquicos), se tornan inmanejables para modelar el proceso. Una estrategia que se ha utilizado exitosamente es agrupar secciones de la Red de Petri en subredes. Al hacer este agrupamiento la nueva Red de Petri se presenta como una red principal con entradas y con salidas. As, la construccin de modelos complejos en Redes de Petri puede facilitarse mediante la construccin de Redes ms pequeas y simples. Las Redes de Petri jerrquicas permiten tener diferentes niveles de descripcin del sistema. En un nivel se puede describir al sistema global de manera simple y en niveles adicionales se proporcionan los detalles del comportamiento. En general, las Redes de Petri jerrquicas, son un conjunto de subredes de Petri temporizadas e interpretadas por periferia (IPN) que interactan a partir del llamado en una red principal o de otra subred. Una subred es una IPN asociada a una transicin (Supertransicin).

Ilustracin 17. Estructura de las Redes de Petri Jerrquicas

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.

Ilustracin 18. Ejemplo Ilustrativo 2 - Redes de Petri Jerrquicas

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

Ilustracin 19. Red de Petri Principal - Ejemplo Ilustrativo 2

Ilustracin 20. Subred SBR 0 - Ejemplo Ilustrativo 2

22

Ilustracin 21. Subred SBR 1 - Ejemplo Ilustrativo 2

Ilustracin 22. Subrutina Reutilizable 0 - Ejemplo Ilustrativo 2

23

Ilustracin 23. Subrutina Reutilizable 1- Ejemplo Ilustrativo 2

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).

Tabla 1. Tipos de Datos

TIPO Binario (Booleanas) Octeto (8 bits) Entero (palabra)

MEMORIA PLC Bit Byte 2 Bytes

CAPACIDAD 0-1 0 - 255 -32767 - 32767

ELEMENTO E/S digitales, Marcas E/S, Char E/S analgicas, Variables enteras

24

Reales (Doble palabra)

4 Bytes

Reales

E/S analgicas, Variables Reales

Basados en esta tipologa, las direcciones de hardware implementadas debern ser identificadas de la siguiente manera:

Tabla 2. reas de Memoria

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).

Ilustracin 24. Direccionamiento Directo - Direccionar a un Bit

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

Ilustracin 25. Direccionamiento Directo - Direccionar a un Byte, Word o DobleWord

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)

MOVW *AC1, AC0

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

TIPO Entradas Digitales

SIMBOLO I_Descripcin

SALIDAS DIGITALES
Tabla 4. Direccionamiento Simblico - Salidas Digitales

TIPO Salidas Digitales

SIMBOLO Q_Descripcin

MARCAS (LUGARES DE LA RED DE PETRI)


Tabla 5. Direccionamiento Simblico - Marcas

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

Marcas auxiliares Marcas de registro estado de secuencia

MAux_descripcin MReg_descripcin

VARIABLES (MEMORIA V)
Tabla 6. Direccionamiento Simblico - Variables V

TIPO Variables desde Panel de Operacin

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.

ESTRUCTURA DEL PROGRAMA


Tpicamente, un programa es una interaccin de Funciones y Bloques Funcionales, con capacidad para intercambiar datos. Funciones y bloques funcionales son las partes bsicas de construccin de un programa, que contienen una declaracin de datos, variables y un conjunto de instrucciones. Los programas, bloques Funcionales y funciones se denominan Unidades de Organizacin de Programas, POUs. FUNCIONES (FC - SUBRUTINAS) Se especifican funciones estndar y funciones definidas por usuario. En general, Las funciones estndar son por ejemplo ADD (suma), SUB (Multiplicacin), MOV (Transferir). Las funciones definidas por usuario, una vez implementadas pueden ser usadas indefinidamente en cualquier POU.

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

Ilustracin 26. Llamado Estructural a Funciones

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

Ilustracin 27. Esquema de Bloques en Software de Programacin Step7/Microwin

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.

Ilustracin 28. Llamado Condicional e Incondicional de Subrutinas en Software de Programacin Step7/Microwin

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

CAPTULO 03 MODOS DE OPERACIN PRELIMINAR


Las necesidades de altos niveles de automatizacin en los procesos, as como la dedicacin en especial a tareas de seguridad, vigilancia mantenimiento y autodiagnstico imponen diferentes formas de manejo y operatividad de las maquinas autmatas. Bajo este concepto, los modos de marcha son los distintos modos de funcionamiento que pueden darse en los sistemas automatizados. El Funcionamiento normal de un sistema autmata es cclico. Segn como se ejecute este ciclo se clasifican los siguientes modos de marcha:

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.

SELECTOR MODO DE OPERACIN


El selector de modo de operacin deber: Excluir los dems modos de mandos existentes cuando se haya posicionado en uno de ellos.

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.

Ilustracin 29. Selector de Modo de Operacin Fsico

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.

Ilustracin 30. Selector Modo Operacin desde Pantalla (Ms de 2 opciones)

Ilustracin 31. Selector 1 Modo Operacin desde Pantalla (2 opciones)

Ilustracin 32. Selector 2 Modo Operacin desde Pantalla (2 opciones)

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.

Ilustracin 37. Ejemplo Ilustrativo 3 - Modo Operacin Manual

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:

Ilustracin 41. Esquema de Codificacin de las Redes de Petri en Step7/Microwin

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

Ilustracin 42. Ejemplo Ilustrativo 6 Codificacin de las Redes de Petri en Step7/Microwin

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.

Ilustracin 46. Activacin de las salidas en Step7/Microwin

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

Ilustracin 47. Activacin 1 Salidas en Modo Semiautomtico y Automtico

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.

Ilustracin 48. Codificacin Activacin 1 Salidas en Modo Semiautomtico y Automtico en Step7/Microwin

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.

Ilustracin 49. Activacin 2 Salidas en Modo Semiautomtico y Automtico

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.

Ilustracin 50. Codificacin Activacin 2 Salidas en Modo Semiautomtico y Automtico en Step7/Microwin

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

Ilustracin 51. Ejemplo Ilustrativo 8 - Modo de Operacin Paso a Paso

56

57

Ilustracin 52. Codificacin Modo de Operacin Paso a Paso - Ejemplo Ilustrativo 8

58

CAPTULO 04 MARCAJE INICIAL Y CONDICIONES INICIALES MARCAJE INICIAL


El marcaje inicial es aquel lugar de la Red de Petri en el cual se determinan las condiciones de arranque (Condiciones Iniciales) que se deben cumplir antes de ejecutar una secuencia automtica. En relacin al modelo en Redes de Petri, esta marca corresponde al primer lugar de dicha red. En este lugar se establecen los estados iniciales de las salidas del proceso. Por seguridad todas las salidas se deben encontrar apagadas al iniciar la secuencia, sin embargo, esta restriccin no es camisa de fuerza y su excepcin depender nicamente de requerimientos especficos de la mquina o proceso por parte del cliente.

Ilustracin 53. Ejemplo ilustrativo 9 - Marcaje Inicial

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

CODIFICACIN MARCAJE INICIAL


La activacin (Seteo) de la marca inicial que representa el primer lugar de la Red de Petri (P0) y donde se realiza la evaluacin de las condiciones iniciales se debe realizar en los siguientes eventos: 1. Al energizar la mquina, es decir, al encender el PLC (primer ciclo de la CPU). Esto se hace con la ayuda de la marca especial SM0.1. 2. Al finalizar el ciclo normal de la mquina en semiautomtico o automtico. 3. Tras un cambio en el modo de operacin. Un flanco positivo de cada uno de los mandos existentes debe resetear todas las marcas de secuencia (Marcas de la Red de Petri) con el fin de garantizar que no se encuentren marcas en ningn lugar de la red de Petri (Marcas de PLC Seteadas). 4. La activacin del paro de emergencia. 5. Otras seales de seguridad que realicen la misma funcin de un paro de emergencia. Sobre este mismo segmento debe ir el reinicio (reseteo) de todas las marcas que hacen parte de la red de Petri, as como tambin las diferentes marcas auxiliares y de registro usadas para el correcto seguimiento de la secuencia.

60

Ilustracin 54. Ejemplo Ilustrativo 10 - Codificacin Marcaje Inicial Red de Petri

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

Ilustracin 55. Ejemplo Ilustrativo 11 - Evaluacin Condiciones Iniciales

62

CAPTULO 05 - TEMPORIZADORES, CONTADORES Y TRANSICIONES INSTANTNEAS TEMPORIZADORES


En toda solucin automtica pueden existir temporizadores inherentes al proceso que parten de los mismos requerimientos del cliente, por ejemplo, la activacin temporizada de algunos actuadores cuando no se poseen sensores que indiquen el final de dicha activacin. Existen tambin pequeos retardos aplicados a la secuencia de la red de Petri. Estos retardos se dan debido a que en ocasiones, no se encuentran seales de periferia, condiciones o eventos del proceso que representen una transicin entre 2 lugares de la red. Es claro en este punto del manual que no est permitido -esquemticamente hablandopasar de un lugar a otro lugar de la red sin una transicin que los una. Es as como, para solucionar este inconveniente, se utilizan temporizadores con un valor de preseleccin bastante corto (tao~mseg) con el fin retardar la menor cantidad de tiempo posible la evolucin natural de la Red de Petri. Ahora bien, en muchas de las aplicaciones estos retardos no son bien vistos por el cliente dada la necesidad de disminuir el tiempo de produccin y aumentar el nmero de piezas producidas por turno y es as cuando se omiten los retardos y se quebranta un poco la esquematizacin de las redes de Petri ubicando transiciones sin eventos asociados.

Ilustracin 56. Ejemplo Ilustrativo 12 - Tiempos Propios del Proceso

63

Ilustracin 57. Ejemplo Ilustrativo 13 - Tiempos (Retardos) de Programacin

Ilustracin 58. Ejemplo Ilustrativo 14 - Transicin Instantnea

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

Ilustracin 59. Ejemplo Ilustrativo 15 - Correcta Activacin de Temporizadores en Step7/Microwin

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

Ilustracin 60. Ejemplo Ilustrativo 16 - Red de Petri Temporizador Ciclo de produccin

Ilustracin 61. Codificacin Temporizador Ciclo de produccin - Ejemplo Ilustrativo 16

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:

Ilustracin 62. Clculo Valor Preseleccin Temporizador segn base de Tiempo

67

Son 3 los tipos de temporizadores que maneja la gama de PLCs S7-200 de SIEMENS: TON: TEMPORIZADOR CON RETARDO A LA CONEXIN.

Ilustracin 63. 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.

Ilustracin 64. Ejemplo Ilustrativo 17 Funcionamiento Temporizador con Retardo a la Conexin

TONR: TEMPORIZADOR CON RETARDO A LA CONEXIN CON MEMORIA.

Ilustracin 65. Temporizador con retardo a la conexin con memoria

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

TONR: TEMPORIZADOR CON RETARDO A LA DESCONEXIN

Ilustracin 67. Temporizador con retardo a la Desconexin

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.

Ilustracin 68. Ejemplo Ilustrativo 19 - Funcionamiento Temporizador con retardo a la desconexin

La siguiente imagen muestra la distribucin de los nmeros de temporizadores utilizables en el PLCs S7-200 de SIEMENS:

69

Ilustracin 69. Distribucin de los nmeros de Temporizadores Utilizables en Step7/Microwin

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.

Ilustracin 70. Ejemplo Ilustrativo 20 - Inicializacin de Contadores

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

Ilustracin 71. Contador Incremental

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).

Ilustracin 72. Ejemplo Ilustrativo 21 - Funcionamiento Contador Incremental

CTD: DECREMENTAR CONTADOR

Ilustracin 73. Contador Decremental

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.

Ilustracin 74. Ejemplo Ilustrativo 22 - Funcionamiento Contador Decremental

CTD: INCREMENTAR/DECREMENTAR CONTADOR

Ilustracin 75. Contador Incremental / Decremental

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

Ilustracin 76. Ejemplo Ilustrativo 23 - Funcionamiento Contador Incremental / Decremental

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

Ilustracin 77. Ejemplo Ilustrativo 24 - Hormetro con contadores

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