SciELO - Scientific Electronic Library Online

 
vol.15 issue29Neural networks and prediction of trafficVirtual platform e-commerce partners author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Journal

Article

Indicators

Related links

  • On index processCited by Google
  • Have no similar articlesSimilars in SciELO
  • On index processSimilars in Google

Share


Tecnura

Print version ISSN 0123-921X

Tecnura vol.15 no.29 Bogotá July 2011

 

Detección anticipada de flancos sólidos en presencia de rebotes para programación bajo el estándar IEC 61131-3

Solid-flank anticipated detection in the presence of bounce according to the programming standard IEC 61131-3

Germán Andrés Holguín Londoño1, Mauricio Holguín Londoño2, Andrés Escobar Mejía3

1 Ingeniero electricista, magíster en Ingeniería Eléctrica, estudiante de Doctorado en Ingeniería. Docente Asociado de la Universidad Tecnológica de Pereira. Pereira, Colombia. german.holguin@utp.edu.co
2 Ingeniero electricista, magíster en Ingeniería Eléctrica. Docente Asistente de la Universidad Tecnológica de Pereira. Pereira, Colombia. mau.hol@utp.edu.co
3 Ingeniero electricista, magíster en Ingeniería Eléctrica, estudiante de Doctorado en Ingeniería. Docente Asistente de la Universidad Tecnológica de Pereira. Pereira, Colombia. andreses1@utp.edu.co

Fecha de recepción: 5 de marzo 5 2011 Fecha de aceptación: 30 de mayo de 2011


Resumen

La implementación de sistemas antirebote, como medio de filtrado para transiciones no deseadas, en señales digitales de entrada a sistemas de automatización se realiza normalmente mediante algoritmos que hacen parte íntegra del cuerpo lógico de control. Independiente del tipo de sensor empleado, mecánico, magnético, capacitivo, etc., el rebote siempre está presente y en mayor nivel, de acuerdo con el tipo de aplicación. Si se desea tener control de acceso sobre un recinto al cual se ingresa por una puerta, el sensor está sometido a una gran variedad de situaciones que se puedan presentar, entre ellas, aperturas y cierres de puerta con rebotes, aparición de rebotes por vibraciones en la puerta, estando abierta o cerrada, que no implican un cambio de estado y aperturas o cierres sin presencia de rebotes.

Como solución en la eliminación de rebotes se acostumbra incluir contadores y retardos de tiempo como medios de filtrado, sin embargo, estos medios son un obstáculo para la detección de transiciones que ocurren sin la presencia de rebotes. Se muestra en este artículo una solución íntegra al filtrado de rebotes que tiene presente una detección rápida, cuando los cambios de estado se realizan mediante transiciones limpias o sólidas y sin perjuicio del filtrado.

Palabras clave: bloque funcional, diagrama escalera, estándar IEC 61131-3, filtrado anti-rebote.


Abstract

Slipper system implementation as a means of filtering unwanted transitions in digital input signals to automation systems is usually accomplished by algorithms that make it an integral part of the body control logic. Regardless of the type of sensor used, mechanical, magnetic, capacitive, etc.., The bounce is always present and at higher levels according to the type of application. If you want to control access on a site which you enter through a door, the sensor is subjected to a variety of situations to keep in mind, including opening and closing of door rebounds, rebounds per occurrence of vibrations in the being open or closed door that do not involve a change of state and openings or closings without the presence of rebounds.

As the solution gets used debouncing include counters and time delays as a means of filtering, but these media are an obstacle to the detection of transitions that occur without the presence of rebounds. In this article, a comprehensive solution to filtering bounces to have present rapid detection when changes are made by state or solid clean transitions and subject to filtering.

Key words: functional block, ladder diagram, standard IEC 61131-3, anti-bounce filter.


1. Introducción

El filtrado de señales con presencia de rebotes es un procedimiento normal en el diseño y validación de sistemas digitales. Frecuentemente se aborda este objetivo con el empleo de biestables, que mediante una señal de sincronismo de frecuencia adecuada (normalmente baja), hacen sensible un sistema a los cambios en una señal de entrada, únicamente a ciertos intervalos de tiempo. Los intervalos son suficientes para considerar que la señal alcanza un estado estable durante este periodo de tiempo.

En la automatización industrial, las señales de entrada pueden ser de diversa naturaleza, las cuales pueden ir desde el rango AC al DC, desde voltajes bajos hasta incluso cerca de los 400V, y en el caso de las señales AC en amplios rangos de frecuencia. Las entradas digitales de los PLC no son normalmente filtradas por rebotes, ya que se deben ajustar al tipo de aplicación particular. El filtrado por rebotes en los PLC se realiza normalmente por temporizadores que realizan una acción similar a la de los biestables en los sistemas digitales. Sin embargo, en ciertas aplicaciones, donde el tiempo de respuesta a cierta acción es fundamental, se hace necesario responder lo antes posible ante un cambio de estado en las señales de entrada, pero conservando la posibilidad de filtrar rebotes.

En salas de alta seguridad con sistemas de control y seguimiento a los accesos, se presenta una situación como la descrita previamente, donde mediante el uso de sensores en las puertas de acceso se hace seguimiento, y aunque estos sensores pueden estar sometidos a rebotes, igualmente es frecuente tener aperturas o cierres con transiciones limpias o sólidas (transiciones donde no se presentan rebotes) que con el objetivo de tener un seguimiento lo más cercano en tiempo a los eventos reales se hace necesario detectarlos rápidamente, incluso si el tiempo de filtrado de la señal no ha concluido. Además, en este tipo de aplicación también es frecuente la presencia de rebotes por vibraciones externas, donde aunque el sensor detecta una variación la puerta vibra y conserva finalmente el estado actual; lo anterior se presenta, por ejemplo, cuando por el tránsito de vehículos pesados una puerta vibra pero su estado se conserva, o cuando un objeto de cualquier naturaleza impacta momentáneamente con la puerta y la hace vibrar pero no afecta su estado.

Con el objetivo de construir un sistema general de filtrado que aborda todos los retos descritos, el presente artículo describe una solución a ser implementada como parte de un sistema de control y seguimiento de accesos y donde el lenguaje de programación empleado es Ladder de acuerdo con el estándar IEC 61131-1. Las técnicas comunes empleadas para la detección de rebotes normalmente van en contra de la posibilidad de detectar transiciones limpias de una señal, la metodología que se describe permite realizar la detección de transiciones con rebotes, así como una detección anticipada cuando las transiciones ocurren de forma sólida; además, se tiene presente la posibilidad de encontrar vibraciones de origen externo que, aunque tienen apariencia de rebote, no implican cambios en la transición de la señal de entrada.

2. Estado del arte

El estudio del filtrado de señales con rebote se ajusta a las particularidades de las aplicaciones donde ellas se presentan. En la bibliografía se encuentran soluciones concretas a problemas de diversa naturaleza, por ejemplo, soluciones al rebote presentado en el control o medición de señales análogas como es el caso de [1], [2]. Otras soluciones tratan el clásico problema de los rebotes en la lectura de señales discretas como en [3] y, finalmente, se encuentran soluciones complejas donde mediante el uso de señales análogas se modela el comportamiento de señales digitales, con el fin de proveer seguridad en ambientes con eventos que pueden crear altos niveles de interferencia en la lectura de señales, como se describe en [4].

2.1 Señales de mando

Un sistema físico se puede interpretar como una caja negra que entrega como salida una señal determinada en respuesta a un conjunto de señales de estímulo. En el diseño por señales de mando se define la estructura interna funcional del sistema con el fin de obtener como respuesta un conjunto de salida que cumpla las restricciones de diseño impuestas. La ventaja del diseño con base en esta técnica consiste en poder interpretar las salidas como un conjunto de nuevas señales de mando hacia otros sistemas subsecuentes, o lo que es igual, el proceso de diseño de un sistema mayor consiste en seguir la evolución lógica de las señales, a través de todo un conjunto de subsistema.

El resultado del diseño por señales de mando entrega un circuito en forma de diagrama lógico, el cual para su implementación en un PLC es bajo el estándar de programación IEC 61131-3 [5]. Los diagramas lógicos se encuentran presentes en varias plataformas de programación, siendo algunas de las más comunes en ingeniería Simulink™ y LabVIEW™. Esta metodología normalmente se asocia con una descripción secuencial temporal de los eventos que con su ayuda se realiza el diseño de cada módulo o sistema, sin embargo, igualmente es posible realizar la descripción formal de las señales mediante ecuaciones comportamentales [6].

2.2 Diseño por diagramas ladder

Un diagrama ladder es un esquema circuital de los elementos que constituyen la lógica de control en un automatismo industrial [7]. Su concepción se orienta hacia una estructura que permite la descripción de un sistema físico implementado con relés cableados y que se origina en el trabajo desarrollado en [8] y donde el autor formaliza las matemáticas del pensamiento lógico. El anterior trabajo sirvió de base para demostrar la implementación física de los postulados de Boole, usando relés, lo cual Claude Elwood Shannon realizó en 1940 para su tesis denominada A symbolicanalysis of relay and switchingcircuits [9].

En un diagrama ladder se dibujan líneas verticales (como parales de una escalera) indicativas de la fuente de alimentación para cada uno de los elementos del circuito y líneas horizontales (como peldaños de una escalera), donde se ubican los elementos que implementan la lógica del circuito. La disposición general en forma de escalera da nombre a este tipo de diagrama. En cada renglón, de izquierda a derecha, se ubican los contactos de relés que implementan la lógica, que a su vez activan una bobina de un relé que se ubica en el extremo derecho de cada renglón. La Fig. 1 muestra un diagrama ladder básico que cumple con la función lógica XNOR.

2.3 Diseño por bloques funcionales

Los bloques de funciones son diagramas donde el flujo de la información se dirige entre bloques mediante el uso de líneas de conexión que determinan la lógica de la secuencia en la ejecución, de tal manera que un bloque no se ejecuta hasta que todas sus entradas están disponibles y no entrega resultados hasta que todas sus salidas estén disponibles. Una vez las salidas de un bloque están disponibles, los datos viajan por las líneas de conexión hasta propagarse a cada una de las entradas subsecuentes. Según la norma IEC-61131-3, los bloques se dividen en dos tipos, a saber: funciones y bloques de funciones.

Las funciones se distinguen por responder con el mismo valor primario de salida ante el mismo conjunto de variables de entrada, las funciones de suma, resta, etc., son ejemplos de este tipo. Los bloques de funciones responden de acuerdo con el valor de las variables de entrada, las variables internas e incluso el conjunto de variables de salida. Por lo anterior, el valor de una salida en un bloque de funciones puede variar ante el mismo conjunto de variables de entrada. La Fig. 2 muestra un diseño por bloque de funciones para la función lógica XNOR.

2.4 Traducción a ladder desde bloques funcionales

Dependiendo de la plataforma donde se desee implementar un sistema, puede ser necesario traducir un sistema diseñado bajo un esquema de bloques funcionales a un esquema bajo diagrama ladder. El diseño con base en bloques funcionales presenta ventajas significativas como la mantenibilidad, legibilidad y escalabilidad de los sistemas con respecto a los sistemas diseñados en ladder [5]. Sin embargo, el diseño ladder sigue siendo uno de los más soportados por los diferentes proveedores de sistemas de automatización industrial, toda vez que asemeja los clásicos sistemas cableados e implica una capa de software cercana al lenguaje por listado de instrucciones.

Un bloque funcional permite la ejecución de una tarea específica definida sobre un conjunto de señales de mando de entrada y que entrega como salida una señal representativa de la tarea. Cada tarea puede ser vista como un pequeño circuito ladder y donde todas las tareas se desarrollan en una secuencia lógica definida por el flujo de información sobre el diagrama de bloques funcionales. Como ejemplo básico, en la Fig. 3 se muestra la traducción de un diagrama que realiza la función de temporización a la energización y a la desenergización con el fanco de bajada de la señal de mando. Para la implementación del diagrama ladder se emplea la herramienta Click Programming Software V1.21 disponible libremente en [10].

La implementación de varios bloques funcionales en lenguaje ladder se puede consultar en varias referencias, entre otras [6], [7], [11], [12]. Existe un conjunto básico de bloques o funciones, con base en los cuales se puede describir el comportamiento de otras funciones de mayor complejidad, denominadas derivadas; entre las funciones básicas principales están: detectores de fancos, memoria biestable, temporizador a la energización, temporizador a la desenergización, contador ascendente/descendente, comparadores aritméticos, OR lógica, AND lógica, NOT lógica, aritmética básica y función de reloj.

3. Condiciones generales

El problema que se plantea en el presente artículo hace referencia al control de acceso a un recinto restringido mediante el seguimiento de aperturas y cierres realizados sobre la puerta de ingreso. Los cambios de estado de la puerta de acceso se registran mediante el uso de un sensor que presenta rebote. Este rebote se muestra ya sea por acción mecánica del mismo sensor o por vibraciones propias de la puerta de acceso. Las vibraciones propias del sensor se han estimado en aproximadamente 30Hz y las atribuibles a factores externos en cerca de 50Hz.

El objetivo es realizar un estricto seguimiento de los cambios de estado de la puerta a saber: transición de cerrada a abierta y transición de abierta a cerrada. Como parte del objetivo es importante realizar el registro de cambios de estado lo más cerca posible del instante real del evento, dado que este algoritmo de vigilancia es susceptible de ser instalado en más de un acceso al recinto y se desean registros en orden de ocurrencia.

En la señal proveniente del sensor se pueden identificar las siguientes regiones, ver Fig. 4:

  • Estados estables de la puerta en posición abierta o cerrada
  • Rebotes en estados estables de la puerta. Normalmente se presentan por vibraciones de origen externo y no implican un cambio de estado de la puerta.
  • Rebotes en un cambio de estado de abierta a cerrada o de cerrada a abierta.
  • Cambios de estado sin rebotes, normalmente denominados cambios sólidos.

4. Metodología

El diseño se realiza mediante una concepción modular que facilite a futuro una alta mantenibilidad de la aplicación, dado que ésta es susceptible de modificaciones y escalabilidad. Los diferentes tipos de filtrado por rebotes que actúan sobre la señal del sensor se realizan de forma independiente para luego determinar la relación lógica de precedencia y operación entre ellos.

Inicialmente, se presenta el diseño del sistema de filtrado por rebotes durante los cambios de estados de la señal de entrada; la Fig. 4 corresponde a las zonas denominadas "transiciones con rebotes". Un filtrado común para este tipo de zonas se realiza mediante la detección de un fanco en la señal de entrada, ya sea un fanco de subida (transición de nivel bajo a alto) o fanco de bajada (transición de nivel alto a bajo), y posterior temporización con el fin de inhabilitar la detección de nuevos fancos durante el periodo que duran los rebotes. La Fig. 5 muestra el diagrama de bloques funcionales asociado, el cual se diseñó con ayuda de la herramienta ZelioSoft 2 ver 4.4, disponible libremente en [13].

Seguidamente, se presenta el diseño del módulo relacionado con el filtrado de rebotes en zonas de estados estables de la puerta, es decir, el filtrado por vibraciones de origen externo y que no implican un cambio de estado de la puerta. Este filtro se diseña permitiendo la detección real de un cambio de estado independiente de las vibraciones, es decir, la puerta de acceso cambia realmente de estado cuando su estado inicial y estado final difieren luego de una temporización relacionada con la posible duración de vibraciones provenientes de eventos externos. Un cambio efectivo de apertura a cierre de la puerta se presenta luego de la duración del periodo de vibraciones externas con temporizadores por vibraciones internas activos, y si no se inicia una temporización por cambio de cierre a apertura. Si al inicio y final de la temporización por vibraciones externas la puerta sigue en estado de apertura, se concluye que las vibraciones son externas y la puerta no se ha cerrado efectivamente. En un sistema global donde se haga el filtrado por vibraciones internas y externas, al sistema de la Fig. 5 de filtrado por vibraciones internas se debe adicionar lógicamente con el sistema de filtrado por vibraciones externas como se muestra en la Fig. 6.

El último reto, previo a una integración completa del sistema de filtrado por rebotes, es la detección anticipada de cambios sólidos de estados, es decir, detección anticipada de transiciones, apertura cierre o cierre apertura que suceden sin rebotes. En este caso descrito, una transición debe ser detectada lo antes posible con el fin de hacer su registro lo más cercano al tiempo real del suceso cuando se compite con varias puertas de acceso. La implementación para dar solución a este reto consiste en realizar un proceso de conteo de fancos por un tiempo base, durante el cual se considera debe ocurrir como mínimo la presencia de un rebote; si durante este tiempo la cuenta indica más de un fanco se debe esperar y entregar la decisión de su contabilización a los procesos de rebotes internos y externos, pero si la cuenta indica la presencia de sólo un fanco se puede considerar su contabilización anticipada, ya que durante este tiempo base no hay rebotes. La Fig. 7 muestra el diseño del sistema descrito mediante bloques de funciones.

5. Resultados

La Fig. 8 es una imagen del algoritmo que implementa todo el proceso de filtrado sobre la señal proveniente, desde un sensor detector de apertura y/o cierre de puerta en un recinto sobre el que se desea realizar control de acceso. La implementación se realizó utilizando el software Click Programming Software V1.21 y se desplegó en un PLC Click Koyo C0-00DR-D. En la Fig. 8, la configuración de los tiempos de los temporizadores es la apropiada con fines de simulación, más no con fines de implementación.

El despliegue responde de forma satisfactoria con los retos propuestos, aunque fue necesario realizar varios ajustes en la configuración de los temporizadores de acuerdo con los diferentes tipos de vibraciones, o rebotes, presentes.

Los valores de los temporizadores se ajustan de forma local para cada sensor y puerta donde se desea poner el sistema de control de acceso. Sin embargo, valores típicos son los siguientes:

  • Los tiempos relacionados con el filtrado por transiciones con rebotes representan la mayor de las temporizaciones. Estos valores, para los despliegues realizados, se encuentran en el rango de los 700 a los 1000 ms.

  • Los tiempos relacionados con el filtrado por vibraciones en zonas estables representan tiempos de menor duración en relación con transiciones con rebote. Estos valores se encuentran en el rango de los 200 a los 500 ms.

  • Los tiempos para detección anticipada, o ante transiciones sólidas, están en el rango de los 50 a los 150 ms.

6. Conclusiones

En el despliegue de aplicaciones donde se emplean sensores susceptibles de presencia de rebotes, siempre es indispensable la introducción de sistemas de filtrado. El filtrado tradicional se restringe a eliminar posibles rebotes en las zonas de transición de la señal de entrada, sin embargo, como se presenta en este documento, existen situaciones adicionales a tener presentes de acuerdo con la naturaleza de la aplicación a implementar.

Para el caso particular del presente sistema de control de acceso a un recinto, se han tenido presentes situaciones relacionadas con la presencia de rebotes cuando la señal de entrada no realiza transición alguna y lo cual se relaciona con vibraciones de origen externo al sensor.

Dada la necesidad futura de realizar un registro exhaustivo y en tiempo preciso de los eventos de apertura y cierre de varias puertas sobre el mismo recinto, se hace necesaria la introducción de un sistema de detección anticipada para situaciones en que las transiciones ocurren sin rebotes. Este sistema presenta la ventaja de entregar una señal de confirmación de cambio de estado sin necesidad de esperar por el fin del algoritmo de filtrado por rebotes.

7. Trabajo futuro

Los autores actualmente trabajan sobre la integración operacional de cinco sistemas de detección de cambios de estado. El requerimiento actual se centra sobre la necesidad manifiesta de registrar todos los eventos de forma correcta, en un tiempo lo más cercano posible al instante exacto de ocurrencia y en la secuencia misma que suceden. Con esta información se desea realizar un enlace de comunicación que muestre sobre un ambiente virtualizado bajo PC la operación de todos los accesos al recinto y se complemente con archivos históricos de seguimiento.


Referencias

[1] S. Zhanyou, Y. Guoqing and A. Guochen, "Test technology and debouncing circuit design of digitally controlled potentiometer," Electronic Measurement and Instruments, ICEMI, 8th International Conference. Xi'an, Aug. 2007.        [ Links ]

[2] D. Lloyd and N. Svensson, "A technique for the measurement of cadence using walkway vibrations," Journal of Biomechanics, vol. 29, no. 12, pp. 1643-1647, Dec.1996.        [ Links ]

[3] M. Nanda, J. Jayanthi and S. Rao, "Novel Validation Algorithms for Safety Critical Embedded Software," 3rd IET International Conference on System Safety, Birmingham, Oct. 2008.        [ Links ]

[4] B. Kasztenny, V. Muthukrishnan and T. Sidhu, "Enhanced Numerical Breaker Failure Protection," IEEE Transactions on Power Delivery, vol. 23, no. 4, pp 1838-1845, Oct. 2008.        [ Links ]

[5] J. Karl-Heinz, M. Tiegelkamp, IEC 61131-3: Programming Industrial Automation Systems. Concepts and Programming Languages, Requirements for Programming Systems, Decision-Making Aids. Germany: Springer, 1995.        [ Links ]

[6] C. Delhaye, La concepción lógica de automatismos industriales: Relés electromecánicos - Relés electrónicos. Única Edición. España: Marcombo, 1971.        [ Links ]

[7] M. Holguín, A. Orozco y C. Guarnizo, Automatismos industriales. Colombia: Impreso en talleres de la Universidad Tecnológica de Pereira, 2008.        [ Links ]

[8] G. Boole, The Mathematical Analysis of Logic. Being an Essay Towards a Calculus of Deductive. Cambridge: Macmillan, Barclay, & Macmillan, 1847.        [ Links ]

[9] C. Shannon, A symbolic analysis of relay and switching circuits. Thesis (M.S.) Massachusetts Institute of Technology, Dept. of Electrical Engineering, Massachusetts, 1940.        [ Links ]

[10] Click Programming Software [En línea]. Disponible en: http://www.aboutplcs.com/click/free_software/free_click_software.html        [ Links ]

[11] E. Parr. Programmable Controllers. An engineer's guide. Third edition, London: Newnes, 2003.        [ Links ]

[12] W. Bolton, Programmable Logic Controllers, Fourth Edition. Newnes, 2006.        [ Links ]

[13] Zelio Soft ver 4.4 [En línea]. Disponible en: http://www.schneiderelectric.es/sites/spain/es/productos-servicios/automatizacion-control/oferta-de-productos/presentacion-de-rango.page?p_function_id=18&p_family_id=233&p_range_id= 531#.        [ Links ]

Creative Commons License All the contents of this journal, except where otherwise noted, is licensed under a Creative Commons Attribution License