Three-switch XOR ladder logic implemented as an odd-parity function

Lógica de escalera XOR de tres interruptores: el diseño correcto de paridad impar

Una guía corregida sobre la lógica de escalera XOR de tres interruptores para las plataformas SLC 500 y Logix, que aborda la paridad impar, la preparación me...

Tres interruptores mantenidos que controlan una sola salida suelen presentarse como un ejercicio de lógica de escalera, pero la verdadera cuestión de ingeniería es más precisa: ¿la salida debe estar activada cuando un número impar de entradas está activo, o accionar cualquier interruptor debe simplemente invertir el estado anterior de la salida? Son requisitos diferentes. El primero es una XOR combinacional, o paridad impar. El segundo requiere memoria de estado y detección de flancos.

Para tres interruptores selectores mantenidos, la especificación habitual es la paridad impar: la lámpara está encendida con uno o tres interruptores cerrados y apagada con cero o dos. Escribir ese requisito antes de dibujar los contactos evita que un peldaño aparentemente válido implemente la función booleana incorrecta.

Tres entradas de interruptores mantenidos organizadas para lógica de escalera de paridad impar

La XOR de tres entradas es verdadera cuando el número de entradas verdaderas es impar; no es lo mismo que un comando de conmutación memorizado.

Comience con los ocho estados de entrada

La secuencia de salida esperada para las entradas S1, S2 y S3 es 0, 1, 1, 0, 1, 0, 0, 1 a medida que los estados de entrada binarios avanzan de 000 a 111. En términos sencillos, un interruptor cerrado activa la salida, dos interruptores cerrados la desactivan y los tres interruptores cerrados la activan de nuevo.

Ese último estado es donde muchas explicaciones se equivocan. La XOR de tres entradas es una función de paridad impar, por lo que 111 debe producir un resultado verdadero. Una implementación que solo reconoce «exactamente una entrada verdadera» no es una XOR; excluye deliberadamente el estado con tres entradas verdaderas. Por el contrario, combinar mediante OR las tres expresiones XOR por pares produce una función diferente: es verdadera siempre que las entradas no sean todas iguales, lo que incluye los estados con dos entradas verdaderas y, por tanto, tampoco cumple la tabla de verdad requerida.

La práctica de puesta en servicio más segura es tratar la tabla de verdad como la prueba de aceptación. No evalúe el programa basándose únicamente en dos o tres posiciones convenientes de los interruptores.

Encadene dos etapas XOR de dos entradas

La XOR es asociativa, lo que permite expresar (S1 XOR S2) XOR S3. En un programa SLC 500, un bit interno puede almacenar el resultado de la primera etapa. Un segundo peldaño combina entonces ese bit con S3. Esto proporciona a cada peldaño una función pequeña y fácil de inspeccionar, y facilita el diagnóstico del estado en línea.

En una implementación con contactos, cada etapa XOR de dos entradas utiliza dos caminos en paralelo: el primero evalúa la entrada A como verdadera y la entrada B como falsa; el segundo evalúa A como falsa y B como verdadera. Ambos caminos se unen en una misma bobina. Repita el mismo patrón con el bit intermedio y la tercera entrada.

Implementación de escalera de dos etapas para una XOR de tres entradas mediante un bit interno

El bit intermedio muestra el resultado de S1 XOR S2 antes de que la segunda etapa lo combine con S3.

Ejemplo de plan de direccionamiento

En un proyecto de formación típico de RSLogix 500, S1, S2 y S3 podrían ser I:1/0, I:1/1 e I:1/2. El primer peldaño escribe B3:0/0 como resultado intermedio y el segundo escribe O:2/0 como comando de la lámpara. Estas direcciones son solo ejemplos; la configuración de E/S instalada debe determinar el mapeo real.

La dirección intermedia debe tener un único escritor. Reutilizar B3:0/0 en otro lugar, o colocar más adelante otra instrucción de salida para O:2/0, puede sobrescribir un resultado correcto durante el mismo ciclo de escaneo. Compruebe las referencias cruzadas de ambas direcciones antes de culpar al patrón XOR.

La XOR a nivel de palabra no es automáticamente un atajo booleano

El conjunto de instrucciones SLC 500 incluye una instrucción XOR para realizar una OR exclusiva bit a bit entre operandos de palabra. El Manual de referencia del conjunto de instrucciones SLC 500 de Rockwell Automation documenta los operandos y destinos compatibles. Esa instrucción es útil para máscaras y palabras de estado empaquetadas, pero no elimina la necesidad de definir qué bits de entrada participan en una única decisión de paridad.

Para tres entradas discretas, la lógica de contactos en cascada suele ser más clara para el personal de mantenimiento. Una implementación a nivel de palabra puede justificarse cuando un programa ya empaqueta muchos bits de estado y los reduce explícitamente a un resultado de paridad, pero el paso de reducción aún debe ser visible y estar probado.

No confunda la paridad con una función de conmutación

Una disposición de iluminación de tres vías con interruptores mantenidos cambia su salida cada vez que cambia la posición de cualquier interruptor físico. En términos puramente booleanos, la salida en cualquier instante puede representarse mediante la paridad de las tres posiciones de los interruptores. No se necesita un estado almacenado porque las propias posiciones de los interruptores conservan el estado.

Los pulsadores momentáneos son diferentes. Si al pulsar cualquiera de tres botones se debe conmutar una lámpara, el PLC debe detectar un flanco ascendente e invertir un bit de comando retenido una vez por cada pulsación válida. Aplicar directamente una XOR a tres entradas momentáneas solo describe qué botones están pulsados durante ese ciclo; no recuerda el estado anterior de la lámpara.

Los pulsadores reales también pueden rebotar. Por tanto, un diseño de conmutación necesita acondicionamiento de entradas, un one-shot, control exclusivo del bit retenido y un estado de arranque definido. Para consultar patrones relacionados de escaneo y gestión de datos, la guía sobre cómo usar el valor de un temporizador SLC para configurar otro temporizador muestra por qué el movimiento de datos y el orden de los peldaños deben ser explícitos.

Ponga en servicio la lógica como una función, no como una imagen

Primero pruebe por separado el bit intermedio de dos entradas. Debe ser verdadero para 01 y 10, y falso para 00 y 11. Después pruebe la salida final en los ocho estados de entrada. Registre el estado observado en lugar de confiar únicamente en el resaltado verde del peldaño, porque los forzados, las bobinas duplicadas y la actualización de la visualización en línea pueden ocultar quién controla realmente la salida.

A continuación, verifique el comportamiento durante el encendido, las transiciones entre modos de programa, la sustitución de entradas y la respuesta ante un circuito de campo averiado o desconectado. La lógica XOR puede detectar discrepancias, pero por sí sola no constituye un diagnóstico de seguridad. Si los interruptores participan en una función de protección, el diseño necesita entradas con clasificación de seguridad, supervisión de discrepancias, detección de fallos y una evaluación de riesgos adecuada para la máquina.

Las opciones de hardware y migración para controladores antiguos y actuales pueden consultarse en la colección de sistemas PLC y PAC, pero deben confirmarse la familia del procesador, la tensión de E/S, el direccionamiento y la propiedad del programa antes de adaptar este ejemplo.

Por qué la versión con bit interno es más fácil de mantener

Un solo peldaño ampliado puede expresar directamente la paridad impar de tres entradas, pero requiere cuatro combinaciones en paralelo y se vuelve más difícil de inspeccionar a medida que se añaden condiciones. Encadenar etapas XOR de dos entradas hace evidente la intención booleana, proporciona un punto de diagnóstico y permite una correspondencia clara entre las direcciones de RSLogix 500 y las etiquetas BOOL con nombre de Logix Designer.

Opinión editorial: la mejor solución de lógica de escalera es aquella cuya tabla de verdad, comportamiento de memoria y respuesta ante fallos pueden explicarse durante el traspaso al personal de mantenimiento. Un bit interno no es memoria desperdiciada cuando evita que el siguiente ingeniero confunda la paridad impar, la lógica de exactamente una entrada y una conmutación memorizada como si fueran la misma función.

Preguntas frecuentes

¿Debe estar activada la salida cuando los tres interruptores están cerrados?

Sí, si el requisito es una XOR de tres entradas o una paridad impar. Tres entradas verdaderas constituyen una cantidad impar, por lo que la salida es verdadera. Si 111 debe ser falso, la función requerida es «exactamente una», no XOR.

¿Puede la instrucción XOR del SLC 500 reemplazar las dos etapas de escalera?

Realiza una XOR bit a bit sobre operandos de palabra. Puede formar parte de una solución con bits empaquetados, pero los tres bits de entrada individuales aún deben organizarse y reducirse para que el bit de destino represente la paridad requerida. Para un circuito discreto pequeño, dos etapas de contactos suelen ser más claras.

¿El bit intermedio añade un retraso de un ciclo?

No, siempre que el peldaño que escribe el bit intermedio se ejecute antes que el peldaño que lo lee dentro de la misma rutina y tarea. El segundo peldaño ve el valor escrito anteriormente en ese ciclo. El orden del programa debe mantenerse documentado y controlado.

¿Qué cambia si los dispositivos de campo son pulsadores momentáneos?

Una conmutación mediante pulsadores momentáneos requiere detección de flancos y almacenamiento del estado de salida. La XOR combinacional por sí sola no puede recordar si la lámpara estaba encendida o apagada.

¿Es adecuada la XOR para un circuito de votación de seguridad?

No por sí sola. Una XOR convencional solo evalúa estados booleanos. Las aplicaciones de seguridad requieren una arquitectura de seguridad validada, cobertura de diagnóstico, temporización de discrepancias, hardware adecuado y verificación conforme a la evaluación de riesgos aplicable.

Por el Equipo editorial de PLC ProTech

Lógica de escalera XOR de tres interruptores: el diseño correcto de paridad impar

Una guía corregida sobre la lógica de escalera XOR de tres interruptores para las plataformas SLC 500 y Logix, que aborda la paridad impar, la preparación mediante bits internos, las limitaciones d...

Tres interruptores mantenidos que controlan una sola salida suelen presentarse como un ejercicio de lógica de escalera, pero la verdadera cuestión de ingeniería es más precisa: ¿la salida debe estar activada cuando un número impar de entradas está activo, o accionar cualquier interruptor debe simplemente invertir el estado anterior de la salida? Son requisitos diferentes. El primero es una XOR combinacional, o paridad impar. El segundo requiere memoria de estado y detección de flancos.

Para tres interruptores selectores mantenidos, la especificación habitual es la paridad impar: la lámpara está encendida con uno o tres interruptores cerrados y apagada con cero o dos. Escribir ese requisito antes de dibujar los contactos evita que un peldaño aparentemente válido implemente la función booleana incorrecta.

Tres entradas de interruptores mantenidos organizadas para lógica de escalera de paridad impar

La XOR de tres entradas es verdadera cuando el número de entradas verdaderas es impar; no es lo mismo que un comando de conmutación memorizado.

Comience con los ocho estados de entrada

La secuencia de salida esperada para las entradas S1, S2 y S3 es 0, 1, 1, 0, 1, 0, 0, 1 a medida que los estados de entrada binarios avanzan de 000 a 111. En términos sencillos, un interruptor cerrado activa la salida, dos interruptores cerrados la desactivan y los tres interruptores cerrados la activan de nuevo.

Ese último estado es donde muchas explicaciones se equivocan. La XOR de tres entradas es una función de paridad impar, por lo que 111 debe producir un resultado verdadero. Una implementación que solo reconoce «exactamente una entrada verdadera» no es una XOR; excluye deliberadamente el estado con tres entradas verdaderas. Por el contrario, combinar mediante OR las tres expresiones XOR por pares produce una función diferente: es verdadera siempre que las entradas no sean todas iguales, lo que incluye los estados con dos entradas verdaderas y, por tanto, tampoco cumple la tabla de verdad requerida.

La práctica de puesta en servicio más segura es tratar la tabla de verdad como la prueba de aceptación. No evalúe el programa basándose únicamente en dos o tres posiciones convenientes de los interruptores.

Encadene dos etapas XOR de dos entradas

La XOR es asociativa, lo que permite expresar (S1 XOR S2) XOR S3. En un programa SLC 500, un bit interno puede almacenar el resultado de la primera etapa. Un segundo peldaño combina entonces ese bit con S3. Esto proporciona a cada peldaño una función pequeña y fácil de inspeccionar, y facilita el diagnóstico del estado en línea.

En una implementación con contactos, cada etapa XOR de dos entradas utiliza dos caminos en paralelo: el primero evalúa la entrada A como verdadera y la entrada B como falsa; el segundo evalúa A como falsa y B como verdadera. Ambos caminos se unen en una misma bobina. Repita el mismo patrón con el bit intermedio y la tercera entrada.

Implementación de escalera de dos etapas para una XOR de tres entradas mediante un bit interno

El bit intermedio muestra el resultado de S1 XOR S2 antes de que la segunda etapa lo combine con S3.

Ejemplo de plan de direccionamiento

En un proyecto de formación típico de RSLogix 500, S1, S2 y S3 podrían ser I:1/0, I:1/1 e I:1/2. El primer peldaño escribe B3:0/0 como resultado intermedio y el segundo escribe O:2/0 como comando de la lámpara. Estas direcciones son solo ejemplos; la configuración de E/S instalada debe determinar el mapeo real.

La dirección intermedia debe tener un único escritor. Reutilizar B3:0/0 en otro lugar, o colocar más adelante otra instrucción de salida para O:2/0, puede sobrescribir un resultado correcto durante el mismo ciclo de escaneo. Compruebe las referencias cruzadas de ambas direcciones antes de culpar al patrón XOR.

La XOR a nivel de palabra no es automáticamente un atajo booleano

El conjunto de instrucciones SLC 500 incluye una instrucción XOR para realizar una OR exclusiva bit a bit entre operandos de palabra. El Manual de referencia del conjunto de instrucciones SLC 500 de Rockwell Automation documenta los operandos y destinos compatibles. Esa instrucción es útil para máscaras y palabras de estado empaquetadas, pero no elimina la necesidad de definir qué bits de entrada participan en una única decisión de paridad.

Para tres entradas discretas, la lógica de contactos en cascada suele ser más clara para el personal de mantenimiento. Una implementación a nivel de palabra puede justificarse cuando un programa ya empaqueta muchos bits de estado y los reduce explícitamente a un resultado de paridad, pero el paso de reducción aún debe ser visible y estar probado.

No confunda la paridad con una función de conmutación

Una disposición de iluminación de tres vías con interruptores mantenidos cambia su salida cada vez que cambia la posición de cualquier interruptor físico. En términos puramente booleanos, la salida en cualquier instante puede representarse mediante la paridad de las tres posiciones de los interruptores. No se necesita un estado almacenado porque las propias posiciones de los interruptores conservan el estado.

Los pulsadores momentáneos son diferentes. Si al pulsar cualquiera de tres botones se debe conmutar una lámpara, el PLC debe detectar un flanco ascendente e invertir un bit de comando retenido una vez por cada pulsación válida. Aplicar directamente una XOR a tres entradas momentáneas solo describe qué botones están pulsados durante ese ciclo; no recuerda el estado anterior de la lámpara.

Los pulsadores reales también pueden rebotar. Por tanto, un diseño de conmutación necesita acondicionamiento de entradas, un one-shot, control exclusivo del bit retenido y un estado de arranque definido. Para consultar patrones relacionados de escaneo y gestión de datos, la guía sobre cómo usar el valor de un temporizador SLC para configurar otro temporizador muestra por qué el movimiento de datos y el orden de los peldaños deben ser explícitos.

Ponga en servicio la lógica como una función, no como una imagen

Primero pruebe por separado el bit intermedio de dos entradas. Debe ser verdadero para 01 y 10, y falso para 00 y 11. Después pruebe la salida final en los ocho estados de entrada. Registre el estado observado en lugar de confiar únicamente en el resaltado verde del peldaño, porque los forzados, las bobinas duplicadas y la actualización de la visualización en línea pueden ocultar quién controla realmente la salida.

A continuación, verifique el comportamiento durante el encendido, las transiciones entre modos de programa, la sustitución de entradas y la respuesta ante un circuito de campo averiado o desconectado. La lógica XOR puede detectar discrepancias, pero por sí sola no constituye un diagnóstico de seguridad. Si los interruptores participan en una función de protección, el diseño necesita entradas con clasificación de seguridad, supervisión de discrepancias, detección de fallos y una evaluación de riesgos adecuada para la máquina.

Las opciones de hardware y migración para controladores antiguos y actuales pueden consultarse en la colección de sistemas PLC y PAC, pero deben confirmarse la familia del procesador, la tensión de E/S, el direccionamiento y la propiedad del programa antes de adaptar este ejemplo.

Por qué la versión con bit interno es más fácil de mantener

Un solo peldaño ampliado puede expresar directamente la paridad impar de tres entradas, pero requiere cuatro combinaciones en paralelo y se vuelve más difícil de inspeccionar a medida que se añaden condiciones. Encadenar etapas XOR de dos entradas hace evidente la intención booleana, proporciona un punto de diagnóstico y permite una correspondencia clara entre las direcciones de RSLogix 500 y las etiquetas BOOL con nombre de Logix Designer.

Opinión editorial: la mejor solución de lógica de escalera es aquella cuya tabla de verdad, comportamiento de memoria y respuesta ante fallos pueden explicarse durante el traspaso al personal de mantenimiento. Un bit interno no es memoria desperdiciada cuando evita que el siguiente ingeniero confunda la paridad impar, la lógica de exactamente una entrada y una conmutación memorizada como si fueran la misma función.

Preguntas frecuentes

¿Debe estar activada la salida cuando los tres interruptores están cerrados?

Sí, si el requisito es una XOR de tres entradas o una paridad impar. Tres entradas verdaderas constituyen una cantidad impar, por lo que la salida es verdadera. Si 111 debe ser falso, la función requerida es «exactamente una», no XOR.

¿Puede la instrucción XOR del SLC 500 reemplazar las dos etapas de escalera?

Realiza una XOR bit a bit sobre operandos de palabra. Puede formar parte de una solución con bits empaquetados, pero los tres bits de entrada individuales aún deben organizarse y reducirse para que el bit de destino represente la paridad requerida. Para un circuito discreto pequeño, dos etapas de contactos suelen ser más claras.

¿El bit intermedio añade un retraso de un ciclo?

No, siempre que el peldaño que escribe el bit intermedio se ejecute antes que el peldaño que lo lee dentro de la misma rutina y tarea. El segundo peldaño ve el valor escrito anteriormente en ese ciclo. El orden del programa debe mantenerse documentado y controlado.

¿Qué cambia si los dispositivos de campo son pulsadores momentáneos?

Una conmutación mediante pulsadores momentáneos requiere detección de flancos y almacenamiento del estado de salida. La XOR combinacional por sí sola no puede recordar si la lámpara estaba encendida o apagada.

¿Es adecuada la XOR para un circuito de votación de seguridad?

No por sí sola. Una XOR convencional solo evalúa estados booleanos. Las aplicaciones de seguridad requieren una arquitectura de seguridad validada, cobertura de diagnóstico, temporización de discrepancias, hardware adecuado y verificación conforme a la evaluación de riesgos aplicable.

Por el Equipo editorial de PLC ProTech

Deja un comentario

Tenga en cuenta que los comentarios deben ser aprobados antes de ser publicados.