Boletín No. 107
1o. de marzo de 2025
ACONDICIONAMIENTO DE SEÑALES DE ENTRADA PARA UN PLC, USANDO LA FUNCIÓN DISPARO POR FLANCO, PARA SER EMPLEADAS EN EL DISEÑO DE PROGRAMAS EMPLEANDO CIRCUITOS DE MEALY Y MOORE
José Alfredo Colín Avila 1 Ariadna Ivett Cruz Ramírez 2 Hugo Armando Guerra Calva 2 Jorge Fonseca Campos 1
Instituto Politécnico Nacional
1 UPIITA
2ESIME Azcapotzalco
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
Abstract
This document describes the work carried out from the development of a solution to program a Programmable Logic Controller (PLC) for a specific automation need, which although seemed very simple, required a significant amount of time to develop, when attempted to achieve through intuition. By using a methodology (States and transitions) to determine a solution to the problem posed, the time required for this was significantly less and by implementing it in the programmable device, this solution apparently complied with the guidelines that the solution demanded.
However, during validation in the operation, an inconsistency in the operation of the solution was fortuitously detected, thus motivating a deeper analysis of the solution development process, as well as to evaluate the technique used during the development process of this. The technique´s procedure is subject to a total and strictly sequential process, since the process was initially identified as such, however, a fortuitous operation that was likely to happen was not identified, which broke with the sequential requirement, hence a proposal was made to develop the state machine, to use the Mealy and Moore methodology in a treatment of circuits with pulse modality and develop a solution that is reliable in its performance.
Introducción
Los avances tecnológicos que hoy día tienen los dispositivos programables, como es el caso de los PLCs, permiten la utilización plena de metodologías y métodos de diseño lógico, como es el caso de circuitos de Mealy y Moore, cuyas restricciones y requerimientos de origen, fueron limitantes difícil de cumplir, debido a que su implementación se realizaba en hardware en escala de integración del tipo SSI, MSI o LSI, en los que los tiempos de propagación de señales que manejaban, eran demasiado cortos para lograr en ocasiones quedarán registrados los valores de estas señales o la ejecución correcta de las funciones booleanas de las que formaban parte, aún es válida la duración de las señales de entrada, en circuitos donde intervienen la secuencialidad de ejecución, como es el caso de contadores, detectores de secuencia, entre otros.
Al menos, parece que la inclusión de la función de disparo por flanco en las bibliotecas (libraries) que se utilizan en la programación de los PLC, permite que se puedan implementar los circuitos de Mealy y Moore, y sin una complejidad excesiva se pueden programar los PLC empelando matemáticas discretas, en particular el álgebra booleana.
PLANTEAMIENTO
En este artículo se expone un caso real de una problemática de automatización de un circuito que se suscitó en una industria. El problema implicaba la implementación en un tablero de control de un sistema de alarma, conformado por una lámpara señalizadora y un buzzer. El circuito lo completaban un sensor de flujo y un botón de contacto momentáneo. La secuencia de operaciones que tenía que disparar la alarma es la siguiente:
El circuito del que nació este documento se refiere una parte de una necesidad de automatización, que deriva en la implementación de un sistema de alarma en un tablero de control, formada por una lámpara señalizadora y un buzzer, el circuito lo completan un sensor de flujo y un botón de contacto momentáneo, la secuencia requerida en primera instancia es la siguiente:
- Un sensor de flujo de aire, es quien envía una señal de falla de operación de un extractor.
- Cuando se presenta la señal de falla, se activan tanto la lámpara señalizadora como el buzzer.
- En esta situación se pulsa el botón de contacto momentáneo y el buzzer deja de sonar.
- Cuando la falla se corrige, la lámpara señalizadora se apaga y el sistema de alarma queda listo para volver a operar.
El modelo para programar el PLC, se obtuvo de emplear una técnica de diseño, denominada de estados y transiciones, las expresiones booleanas son las siguientes
![]() |
donde Q0.1 y Q0.2, son salidas para el buzzer y la lámpara respectivamente, I0.1 es la señal que emite el sensor de flujo y por último, I0.2 es la señal que emite el botón pulsador, M0.1 es un bit auxiliar interno del PLC.
Es conveniente aclarar que estas expresiones están definidas por funciones set - reset y así se programaron en los PLC utilizados.
La ec. (1) inicia la operación del circuito sin problema alguno, haciendo que Q0.1 = 1 y Q0.2 = 1, la lámpara prende y el buzzer emite sonido, si se sigue la secuencia, que es pulsar el botón de contacto momentáneo I0.2, las salidas irán de la forma siguiente: Q0.1 = 1 y Q0.2 = 0, el buzzer deja de emitir sonido, la secuencia continua con la corrección de la falla, I0.1 = 1, entonces la lámpara se apaga y el sistema regresa la posición inicial.
La solución descrita anteriormente se implementó el circuito; pero resultó insatisfactoria, hay un hecho peculiar de que el sistema de alarma estando en el estado, donde las salidas van a 1, que corresponde cuando la señal del sensor de flujo toma el valor de “1”, el circuito va a un estado, que no está considerado en la solución, que consiste en que la lámpara se apaga pero el buzzer sigue activado, esta inconsistencia hace perder la confiabilidad de la operación de la solución diseñada.
Un análisis de la operación del circuito arrojó las siguientes conclusiones:
- El cambio repentino de la señal emitida por I0.1, después de enviar la señal de falla, no está considerado en la metodología de diseño empleada.
- Por lo que la operación de esta solución no es estrictamente secuencial y, la metodología empleada para el desarrollo de la solución es para procesos estrictamente secuenciales.
- Derivado de lo anterior, se realizó un análisis del perfil de la señal que motivó la inconsistencia en la operación de la solución.
- Después de realizar el análisis de perfil y sólo entonces se optó por formular una nueva solución a partir de una máquina de estado y usar la metodología de Mealy y Moore, para determinar la nueva solución.
ANÁLISIS DE LA SEÑAL QUE DA INICIO A LA OPERACIÓN DE LA SOLUCIÓN REQUERIDA
La señal requerida para iniciar lo operación de la solución, escrita en el PLC, es una señal discreta que como tal debe considerarse un impacto en sus dos estados, nivel alto y nivel bajo, teniendo en consideración que siempre es uno después del otro, cuando es empleada en sistemas discretos, sin embargo, para el manejo e implementación en metodologías de diseño digital, estas señales deben ser manipuladas para que su perfil, sea aceptado por las restricciones manejadas en los procedimientos de diseño correspondientes.
Con el hecho de decir “manipuladas” no necesariamente se establece que se deban deformar, sino que se sugiere emplear aquellas secciones de la señal, que sean útiles, hace décadas hacer esto en una señal era difícil de realizar, se hacía el hardware existente no con software, hoy día la operación de soluciones de este tipo es muy esporádico construirlas sobre Lógica Alambrada o Hardware, la mayoría de las ocasiones se implementan sobre de software, con los avances tecnológicos el software escrito los dispositivos programables, les permiten “emular” una operación muy similar al Hardware que emulan., de esta forma, volviendo a la señal discreta, se pude considerar que tiene cuatro secciones que son: Nivel alto, Nivel bajo, Flanco ascendente, y Flanco descendente.
En la FIGURA 1 se muestra gráficamente las secciones de la señal, en el caso de soluciones para la automatización, el manejar las señales discretas emitidas por sensores, botones interruptores, entre otros, bajo estas consideraciones, contribuye en gran medida, para fortalecer y en algunos casos ampliar la “funcionalidad” de algunas de las funciones booleanas que manejan los Dispositivos Programables empleados, como es el caso de los Controladores Lógicos Programables, en esta situación del manejo de la señal, las discontinuidades denominados flancos, se emplean sólo cuando se requiere emplear el momento preciso del cambio de estado de la señal y esto en el caso del diseño con el método de Mealy – Moore, es una restricción del propio método, que establece en pocas palabras, que “la duración de la señal de entrada que provoca el cambio al estado siguiente, debe tener una duración en el tiempo menor que el tiempo que tarda en cambiar el circuito del estado presente al estado siguiente” (11.1 Introducción, Teoría de Conmutación y Diseño Lógico.- Hill - Peterson. Ed. Limusa) .
![]() |
---|
Figura 1. Perfil de la señal discreta que indica la falla, para el Sistema de Alarma. |
Esta función la tienen prácticamente todos los PLC que se fabrican hoy día, en las bibliotecas del software de programación y su tiempo de ejecución es de 1 scan, sin embargo, se debe identificar como emplearla durante la construcción del programa, debido a que los fabricantes manejan diferentes sintaxis y ubicación en las líneas de programación. Sin embargo, la función de disparo por flanco, no está disponible en PLC muy antiguos e implementarla mediante la programación en ellos, resulta muy complicado e incómodo.
Con estas consideraciones, se podrá hacer un planteamiento de la solución al problema planteado en la Introducción de este documento, empleando la técnica de Mealy – Moore.
PLANTEAMIENTO Y DESARROLLO DE LA SOLUCIÓN
Importante es considerar que para esta necesidad de automatización, no es una secuencia de bits emitida en una sola variable, tomando en cuenta los considerandos anteriores, la variable lógica X1 tiene cuatro subconjuntos que son:
![]() |
Una consideración adicional habrá que tener en cuenta, que las variables de disparo por flanco, no se pueden considerar complementarias entre sí y por ende no tienen complemento, situación que si tiene X1, que tiene complemento .
Con esto se puede construir una máquina de estado para la solución requerida, siendo entonces el que se muestra en la FIGURA 2, en la que las salidas.
Al construir la máquina de estado se debe identificar cuántos estados tendrá, para ello se sugiere iniciar en orden, a partir del estado “0”, que en el caso del ejercicio patrón de este documento, indica que el sistema está en la posición inicial, esperando la señal inicial X1 para comenzar la operación, y las variables de estado inicial toman los valores 00, para que el sistema pase al segundo estado que es 01, la señal que hará este migración es , que es el disparo por flanco, entonces el sistema estará en el estado 01 y las salidas del sistema serán 11, en este estado hay dos señales que podrán llegar,
o
, si llega
, el sistema irá al estado inicial 00, pero si llega la señal
el sistema irá al estado 10, las salidas serán 01.
El estado siguiente será cuando la señal llegue, que hará que el sistema vaya al estado inicial.
Al analizar está máquina de estado, se nota que existen dos recorridos ambos inician en el estado 00, el primer recorrido es siguiendo el orden de los estados 00-01-00, el segundo recorrido es 00-01-10-00, en ambos contienen las señales que harán al sistema al estado 00, estado inicial,
![]() |
---|
Figura 2. Máquina de estado de la solución requerida. |
Después de este análisis queda claro que esta máquina de estado sólo contiene tres estados, por lo que se requieren dos Flip-Flops (FF), claro está que el tipo que se deben seleccionar son del tipo R-S, puesto que la solución que se desarrolla radicará en un PLC. El modelo de la solución se presenta en la FIGURA 3.
![]() |
---|
Figura 3. Modelo de la solución. |
Para continuar con el diseño, se construye la tabla de estado TABLA 1, que se obtiene de la máquina de estado de laFIGURA 2 , y a partir de esta tabla y de la de excitación, TABLA 2, del FF R-S, se elabora la tabla característica, TABLA 3, de la que se tendrán las ecuaciones de cada entrada de cada FF.
Tabla 1. | Tabla 2. | |
Tabla de estado del ejercicio. | Tabla de excitación del FF R-S. | |
![]() |
![]() |
---|
Tabla 3. |
Tabla característica. |
![]() |
---|
Las ecuaciones de la solución para los FFs son las siguientes:
![]() |
Por último, se obtienen las ecuaciones de salida, que son las que enviarán las señales de operación a las cargas eléctricas de la solución, lámpara (LP) y buzzer (BZ).
Tabla 4 para obtener las ecuaciones de las salidas Lámpara (LP) y Buzzer (BZ).
Tabla 4.
![]() |
---|
Las ecuaciones son:
![]() |
Y por último el programa en formato Ladder que se puede programar en cualquier PLC, que tenga la función de disparo por flanco se muestra en la FIGURA 4 .
La validación de la operación correcta del programa se deja al lector, con la aclaración que funcionará en cualquier PLC, que tenga disparo por flanco.
Conclusiones
![]() |
---|
Figura 4. Programa final de la solución en formato Ladder. |
Referencias
- Canto, C (Enero 2025). infoPLC. Obtenido de https://www.infoplc.net/files/documentacion/automatas/infoPLC_net_5_EL_SCAN.pdf
- Colín, J., Sánchez, Y., & Chávez, M. (Enero de 2015). Algoritmo para un controlador lógico programable que opera un dispositivo variador de frecuencia empleando diseño digitalBoletín UPIITA.Obtenido de https://www.boletin.upiita.ipn.mx/index.php/ciencia/601-cyt-numero-46/1096-algoritmo-para-un-controlador-logico-programable-que-opera-un-dispositivo-variador-de-frecuencia-empleando-diseno-digital
- Hill, F. J.& Peterson, G. R. (1980). Teoría de Conmutación y Diseño Lógico (1a Ed.). México : LIMUSA.
- Phil Melore. (28 de Enero de 2025). PLCS.Obtenido de www.plcs.net