Como hemos visto con los contadores y temporizadores, algunas instrucciones de PLC generan valores digitales distintos de las simples señales booleanas (encendido/apagado).
Los contadores tienen registros de valor actual (CV) y los temporizadores tienen registros de tiempo transcurrido (ET), los cuales son típicamente valores numéricos enteros.
Muchas otras instrucciones de PLC están diseñadas para recibir y manipular valores no booleanos como estos para realizar funciones de control útiles.
La norma IEC 61131-3 especifica una variedad de instrucciones de comparación de datos para comparar dos valores no booleanos y generar salidas booleanas.
Instrucciones de comparación de datos del PLC
Las operaciones comparativas básicas de “menor que” (<), “mayor que” (>), “menor o igual que” (≤), “mayor o igual que” (≥), “igual a” (=) y “no igual a” (6=) se pueden encontrar como una serie de instrucciones de “casilla” en la norma IEC:
La salida Q para cada “casilla” de instrucción se activa siempre que la función de comparación evaluada sea “verdadera” y la entrada de habilitación (EN) esté activa.
Si la entrada de habilitación permanece activa pero la función de comparación es falsa, la salida Q se desactiva. Si la entrada de habilitación se desactiva, la salida Q conserva su último estado.
Una aplicación práctica de una función comparativa es algo llamado control de motor alterno, donde se monitorean los tiempos de funcionamiento de dos motores eléctricos redundantes, y el PLC determina qué motor encender a continuación en función de cuál de ellos ha funcionado menos:
. En este programa, dos temporizadores de retardo de encendido retentivos llevan un registro del tiempo de funcionamiento total de cada motor eléctrico, almacenando los valores de tiempo de funcionamiento en dos registros en la memoria del PLC:
Tiempo de funcionamiento del motor A y tiempo de funcionamiento del motor B. Estos dos valores enteros se ingresan en el cuadro de instrucción "mayor que" para comparación.
Si el motor A ha funcionado más tiempo que el motor B, el motor B será el que esté habilitado para arrancar la próxima vez que se presione el interruptor de "arranque".
Si el motor A ha funcionado menos tiempo o la misma cantidad de tiempo que el motor B (el escenario que se muestra con las indicaciones de estado resaltadas en azul), el motor A será el que esté habilitado para arrancar.
Los dos contactos virtuales conectados en serie, el motor A de SALIDA y el motor B de SALIDA, garantizan que la comparación entre los tiempos de funcionamiento de los motores no se realice hasta que ambos motores se detengan.
Si la comparación se hiciera continuamente, podría surgir una situación en la que ambos motores se pondrían en marcha si alguien presionara el botón de Inicio con uno de los motores ya en funcionamiento.