Operaciones de Temporizador
TP, TON, TOF, TONR y Controles
Los temporizadores son esenciales en cada proyecto de automatización, desde simples retardos hasta complejos controles de secuencia. Domine cada instrucción de temporizador en TIA Portal con esta guía completa.
¿Qué son las Operaciones de Temporizador en TIA Portal?
Las operaciones de temporizador en TIA Portal implementan lógica de control basada en tiempo. Son bloques de función compatibles con IEC 61131-3 que miden el tiempo transcurrido, generan pulsos y crean retardos a la conexión/desconexión. Cada temporizador tiene una entrada (IN), un tiempo preestablecido (PT), una salida de tiempo transcurrido (ET) y una salida de estado (Q).
TIA Portal proporciona 4 tipos de temporizadores IEC (TP, TON, TOF, TONR) además de instrucciones de control para iniciar, resetear y cargar temporizadores. Cada instancia de temporizador necesita su propio bloque de datos de instancia (IDB) o puede usarse como una multi-instancia dentro de un FB.
Tipos de Temporizadores IEC
Los 4 bloques de función de temporizador estándar, cada uno con un comportamiento de temporización diferente
TP — Generar Pulso
Qué hace
Genera un pulso de una duración fija. Cuando IN cambia de FALSE a TRUE, la salida Q pasa a TRUE y permanece en TRUE exactamente durante el tiempo preestablecido PT, independientemente de lo que suceda con IN. El tiempo transcurrido ET cuenta desde T#0s hasta PT. Una vez alcanzado PT, Q pasa a FALSE y ET se resetea.
Cuándo usarlo
Cuando necesite un pulso de salida de duración fija activado por un evento. Ejemplos: activar una bocina durante exactamente 3 segundos cuando se activa una alarma, pulsar un solenoide durante una duración precisa, crear una señal de ancho fijo para equipos aguas abajo.
Consejos Pro
TP no es re-disparable: un nuevo flanco ascendente en IN mientras Q ya es TRUE no tiene efecto. El pulso se ejecuta hasta el final. Para hacerlo re-disparable, resetee primero el temporizador.
La salida Q NO sigue a IN. Incluso si IN pasa a FALSE durante el pulso, Q permanece en TRUE hasta que expire PT.
En SCL: myTP(IN := trigger, PT := T#3s); IF myTP.Q THEN ... END_IF;
TON — Generar Retardo al Conectar
Qué hace
Retrasa la activación de una salida. Cuando IN pasa a TRUE, el temporizador comienza a contar. Después de que ha transcurrido el tiempo preestablecido PT, Q pasa a TRUE. Si IN pasa a FALSE antes de alcanzar PT, el temporizador se resetea y Q permanece en FALSE. Q permanece en TRUE mientras IN siga siendo TRUE después del retardo.
Cuándo usarlo
El temporizador más utilizado en la programación de PLC. Se usa para: retardos de arranque de motores, filtrado de rebotes de sensores (ignorar señales más cortas que X ms), retardos de alarma (activar la alarma solo si la condición persiste durante N segundos), secuencias de arranque.
Consejos Pro
TON es el temporizador de retardo 'clásico'. Piense en él como: 'esperar X segundos, luego encender, pero solo si la condición sigue siendo verdadera'.
Cuando IN pasa a FALSE, Q pasa inmediatamente a FALSE y ET se resetea a T#0s. No hay comportamiento de retardo al desconectar.
Para el filtrado de rebotes de sensores, use un PT corto como T#50ms o T#100ms. Esto filtra el ruido eléctrico y el rebote de los contactos.
TOF — Generar Retardo al Desconectar
Qué hace
Retrasa la desactivación de una salida. Cuando IN pasa a TRUE, Q pasa inmediatamente a TRUE. Cuando IN pasa a FALSE, el temporizador comienza a contar. Después de que ha transcurrido PT, Q pasa a FALSE. Si IN vuelve a pasar a TRUE antes de que expire PT, el temporizador se resetea y Q permanece en TRUE.
Cuándo usarlo
Cuando una salida debe permanecer encendida durante un tiempo después de que su entrada se apague. Ejemplos: mantener un ventilador de enfriamiento en funcionamiento durante 30 segundos después de que un motor se detenga, mantener una luz encendida durante 60 segundos después de que ya no se detecte movimiento, mantener activa una bomba de lubricación después de que termine un ciclo.
Consejos Pro
TOF es lo opuesto a TON: Q se activa inmediatamente pero se desactiva con un retardo.
Si IN hace TRUE→FALSE→TRUE antes de que expire PT, el temporizador se resetea. Q nunca llegó a FALSE: es un comportamiento de 'mantenimiento'.
Común en HVAC: mantener la ventilación funcionando durante 5 minutos después de que el proceso se detenga para eliminar humos residuales.
TONR — Acumulador de Tiempo
Qué hace
Un temporizador de retardo al conectar acumulativo. Al igual que TON, pero el tiempo transcurrido ET NO se resetea cuando IN pasa a FALSE. ET se pausa cuando IN es FALSE y reanuda el conteo cuando IN es TRUE nuevamente. Q pasa a TRUE cuando ET alcanza PT. El temporizador debe resetearse explícitamente usando la entrada R.
Cuándo usarlo
Cuando necesite medir el tiempo de funcionamiento total acumulado en operaciones intermitentes. Ejemplos: rastrear las horas totales de funcionamiento del motor para la programación de mantenimiento, medir el tiempo total de exposición en un proceso de curado que puede pausarse, agregar el tiempo operativo para facturación o informes de SLA.
Consejos Pro
TONR tiene una entrada R (Reset) adicional. Establezca R=TRUE para borrar ET a T#0s y Q a FALSE. Esta es la única forma de reiniciar el acumulador.
A diferencia de TON/TOF/TP, TONR recuerda su tiempo transcurrido. El comportamiento tras un ciclo de apagado depende de los ajustes de remanencia del DB de instancia.
Use TONR para contadores de mantenimiento: cuando el tiempo total de funcionamiento exceda X horas, active una alarma de 'mantenimiento requerido'.
Instrucciones de Control de Temporizador
Iniciar, resetear y configurar temporizadores desde LAD/FBD
—(TP)— Iniciar Temporizador de Pulso
—(TP)—Qué hace
Una instrucción de estilo bobina que inicia un temporizador TP (pulso) directamente desde un segmento LAD. Cuando el RLO cambia de FALSE a TRUE, el temporizador TP asociado genera un pulso. Esta es una alternativa al uso del cuadro de bloque de función TP.
Cuándo usarlo
Cuando prefiera la notación de bobina en LAD en lugar de un cuadro de bloque de función. Algunos programadores encuentran más limpio escribir la lógica del temporizador como un segmento que termina con una bobina de temporizador en lugar de insertar un cuadro FB grande en medio de la red.
Consejos Pro
La versión de bobina hace referencia a la misma instancia de temporizador IEC que la versión de cuadro. Son intercambiables.
Colóquela al final de un segmento, igual que una bobina de salida. El tiempo preestablecido se configura en la instancia del temporizador.
En la mayoría de los proyectos modernos, se prefiere la versión de cuadro FB porque muestra todos los parámetros (IN, PT, Q, ET) visualmente.
—(TON)— Iniciar Temporizador de Retardo al Conectar
—(TON)—Qué hace
Una instrucción de estilo bobina que inicia un temporizador TON (retardo al conectar). Cuando el RLO es TRUE, el temporizador TON asociado cuenta. Cuando se alcanza el tiempo preestablecido, la salida Q del temporizador pasa a TRUE.
Cuándo usarlo
Notación de bobina alternativa para TON. Úsela cuando desee una representación LAD compacta de un temporizador de retardo sin el cuadro FB más grande.
Consejos Pro
Mismo comportamiento que el bloque de función TON, solo que con una representación visual diferente en LAD.
El DB de instancia del temporizador almacena todos los parámetros: PT, ET, Q, IN.
Puede leer las salidas Q y ET del temporizador en otras redes haciendo referencia al DB de instancia.
—(TOF)— Iniciar Temporizador de Retardo al Desconectar
—(TOF)—Qué hace
Una instrucción de estilo bobina que inicia un temporizador TOF (retardo al desconectar). La salida Q del temporizador se activa inmediatamente cuando el RLO es TRUE, y permanece en TRUE durante el tiempo preestablecido después de que el RLO pasa a FALSE.
Cuándo usarlo
Notación de bobina alternativa para TOF. Úsela para lógica de retardo al desconectar en segmentos LAD compactos.
Consejos Pro
Mismo comportamiento que el bloque de función TOF.
Comúnmente utilizado para temporizadores de 'post-funcionamiento': mantenga las salidas activas durante un período después de que desaparezca el activador.
Haga referencia a la salida Q del DB de instancia en otras redes para usar la señal de desconexión retardada.
—(TONR)— Acumulador de Tiempo
—(TONR)—Qué hace
Una instrucción de estilo bobina para el temporizador TONR (acumulador de retardo al conectar). El tiempo transcurrido se acumula mientras el RLO es TRUE y se pausa cuando es FALSE. El temporizador debe resetearse explícitamente.
Cuándo usarlo
Notación de bobina alternativa para TONR. Úsela para rastrear el tiempo de funcionamiento acumulativo en formato LAD.
Consejos Pro
Recuerde usar la instrucción RT (Reset Timer) para resetear el acumulador cuando sea necesario.
El tiempo acumulado se almacena en el DB de instancia y persiste a través de los ciclos de escaneo.
Útil para la programación de mantenimiento: activa una alarma cuando el tiempo total acumulado excede un umbral.
—(RT)— Resetear Temporizador
—(RT)—Qué hace
Resetea un temporizador a su estado inicial. Cuando el RLO es TRUE, el tiempo transcurrido ET del temporizador especificado se establece en T#0s y la salida Q se establece en FALSE. Funciona con todos los tipos de temporizadores (TP, TON, TOF, TONR).
Cuándo usarlo
Cuando necesite forzar el reset de un temporizador desde una red separada. Esencial para TONR (que no se resetea automáticamente), pero también útil para resetear cualquier temporizador bajo una condición específica como un reconocimiento de falla o cambio de modo.
Consejos Pro
Para los temporizadores TONR, RT es la ÚNICA forma de resetear el tiempo acumulado. Sin ella, el temporizador nunca se resetea.
Puede resetear un temporizador desde cualquier red; no tiene que estar en la misma red que el inicio del temporizador.
Use RT en un botón de 'resetear todo' para borrar varios temporizadores a la vez.
—(PT)— Cargar Duración de Tiempo
—(PT)—Qué hace
Carga un nuevo valor de tiempo preestablecido (PT) en una instancia de temporizador existente en tiempo de ejecución. Cuando el RLO es TRUE, el tiempo preestablecido del temporizador se actualiza al valor especificado. Esto le permite cambiar dinámicamente las duraciones de los temporizadores sin modificar el programa.
Cuándo usarlo
Cuando las duraciones de los temporizadores deben ser ajustables desde un HMI o sistema de recetas. Por ejemplo: un operador establece un tiempo de permanencia en el HMI y el PT carga ese valor en el temporizador del proceso. También es útil para temporización adaptativa basada en la retroalimentación de los sensores.
Consejos Pro
PT carga el valor cuando el RLO es TRUE. Si el temporizador ya está funcionando, el nuevo PT entra en vigor en el siguiente inicio del temporizador.
Úselo con variables editables por HMI para permitir que los operadores ajusten la temporización sin acceso de ingeniería.
El formato del valor de tiempo es TIME (por ejemplo, T#5s, T#1m30s, T#500ms). También puede usar una variable TIME.
Instrucciones de Temporizador Legadas
Temporizadores S5 de S7-300/400, disponibles solo por compatibilidad hacia atrás
TIA Portal también incluye instrucciones de temporizador S5 legadas (S_PULSE, S_PEXT, S_ODT, S_ODTS, S_OFFDT) para compatibilidad con programas S7-300/400. Para proyectos nuevos, use siempre los temporizadores IEC (TP, TON, TOF, TONR), ya que son más flexibles, portátiles y fáciles de mantener.
Comparación de Temporizadores: ¿Cuál usar?
Guía rápida de decisión basada en sus necesidades de temporización
| Necesita... | Use este temporizador | Ejemplo |
|---|---|---|
| Pulso de salida de duración fija | TP | La bocina suena durante 3s en alarma |
| Activación retardada (filtrado de rebotes) | TON | El motor arranca 5s después de pulsar el botón |
| Desactivación retardada (post-funcionamiento) | TOF | El ventilador funciona 30s después de que el motor se detenga |
| Rastreo del tiempo de funcionamiento acumulado | TONR | Alarma de mantenimiento tras 1000h totales |
| Forzar el borrado de cualquier temporizador | RT | Resetear todos los temporizadores tras aceptar falla |
| Cambiar la duración del temporizador en ejecución | PT | El operador ajusta el tiempo de permanencia desde el HMI |
Preguntas Frecuentes
¿Cuál es la diferencia entre TP y TON?
TP genera un pulso de duración fija que se ejecuta hasta el final independientemente de la entrada: una vez activado, la salida permanece ON durante exactamente el PT, incluso si la entrada pasa a FALSE. TON requiere que la entrada permanezca TRUE durante toda la duración: si la entrada pasa a FALSE antes del PT, el temporizador se resetea y la salida nunca se activa.
¿Puedo cambiar el tiempo preestablecido de un temporizador mientras está funcionando?
Puede cargar un nuevo valor de PT usando la instrucción PT, pero generalmente entra en vigor en el siguiente inicio del temporizador, no en la ejecución actual. Para cambiar la temporización a mitad de la ejecución, tendría que resetear el temporizador y reiniciarlo con el nuevo valor de PT.
¿Cómo hago un pulso repetitivo (generador de reloj)?
Use dos temporizadores: un TON para el tiempo ON y un TON para el tiempo OFF, conectados de forma cruzada. Cuando el Temporizador 1 expira, inicia el Temporizador 2 y se resetea a sí mismo. Cuando el Temporizador 2 expira, inicia el Temporizador 1 y se resetea a sí mismo. Esto crea una señal oscilante continua con duraciones ON/OFF configurables.
¿Son los temporizadores remanentes tras un ciclo de apagado?
Por defecto, las instancias de temporizador NO son remanentes: se resetean a cero al encenderse. Para hacer que un temporizador sea remanent (por ejemplo, un TONR para horas de mantenimiento), configure el DB de instancia como 'remanente' en sus propiedades. Tenga cuidado: los temporizadores remanentes reanudan el conteo desde su último valor después de un ciclo de apagado.