TOF
Temporizador de retardo de desconexión
1: entrada
2: salida
t: tiempo
El Temporizador
de retardo de desconexión (TOF) se utiliza para retardar la puesta a “0” de una salida durante un período determinado
(tiempo) tras haberse desactivado la entrada
del mismo.
La entrada debe durar no menos del tiempo t para que tenga efecto, pues al reconectarse reseteará el temporizador.
La resolución es de 100ms salvo que se indique otra cosa en el área de memoria
correspondiente. El estado de la salida (Q) queda en el acumulador después de haber ejecutado la instrucción.
El valor máximo para tiempo es 32767 que equivale a 3276.7 segundos. En los modelos que tienen temporizadores de 32 bit el tiempo llega hasta 214748364.7 segundos (equivale aproximadamente a 2485 días).
Descripción general
Todo temporizador tiene al menos
una entrada, un contador interno, un valor de comparación y una salida.
La entrada es por donde se pone en marcha o desactiva el temporizador.
El contador interno cuenta el tiempo desde que es puesto en marcha. Este valor de cuenta
puede leerse.
Cuando la cuenta de tiempo llega o supera al valor de comparación la salida cambia de estado.
Para que este cambio sea efectivo (o pueda leerse) se debe ejecutar la
instrucción.
Al momento de ejecutar la instrucción, el valor que esté en el acumulador será la entrada del temporizador, y cuando le ejecución halla terminado el valor presente en el acumulador será la salida del temporizador (ver ejemplos).
Variantes
Dependiendo de la versión de PLC hay algunas variantes entre la forma de leer estado y salida de un temporizador. Estas variantes se pueden agrupar en anteriores y nuevos. Suponiendo que existe un temporizador llamado Temp1, al ejecutar LD Temp1 pueden suceder dos cosas:
En los anteriores: equivale a copiar el estado de cuenta interno al acumulador
En los nuevos: equivale a copiar el estado de salida del temporizador al acumulador
Por esto es necesario consultar las instrucciones cuando se cambia de modelo o revisión de PLC. La instrucción LDT sirve para diferenciar los casos.
Ejemplos
Uso_TOF LD entrada ;variable a demorar (cambio 1 -> 0)
TOF temporizador, tiempo ;temporizador usado para demorar
ST ent_demorada ;el cambio 1 -> 0 de entrada aparece en ent_demorada un 'tiempo' después
entrada (input): entrada (a través del acumulador) que activa el temporizador.
temporizador (timer): nombre del temporizador a utilizar asociado a un número en el área de memoria.
tiempo (time): cantidad de tiempo, expresada en segundos. Si se usa una variable en lugar de una constante debe tenerse en cuanta la resolución correspondiente.
Representación en Ladder
Representación en Ladder del ejemplo en código.
Para forzar el reset del temporizador se debe ejecutar la instrucción con otros parámetros:
LD 0
TOF temporizador, 0
A partir del CP121 BIOS 2.60, CP122 BIOS 2.10, CP123 BIOS 2.20 y CP124 BIOS 1.06 puede usar la instrucción R resetear este temporizador.:
R temporizador
En ambos casos la salida vuelve al valor 1.
Temporizadores largos
Cuando se requiere tiempo mayor a 3276.7 la solución es usar contadores. Para base de tiempo se puede usar puls_c1seg (un pulso cada segundo), puls_c1min (un pulso cada minuto) o alguna otra base de tiempo lograda mediante programación. Si aun la cuenta máxima de 32767 no es suficiente, los contadores se pueden encadenar (la entrada de uno cuenta la salida del otro) por lo que los "tiempos" se multiplican.
En el ejemplo la salida cambia de estado cada cuatro (2 x 2) segundos:
LD puls_c1seg ;Un pulso cada segundo
LD CT0 ;El contador se resetea a si mismo
CTU CT0, 2 ;La salida de CT0 es la entrada de CT1 (mediante
Acc)
LD CT1 ;El contador se resetea
a si mismo
CTU CT1, 2
CALC NoS ;En la vuelta de programa
que está en 1 llama a invertir salida
END
NoS LDN
SD0.0 ;Inversión de salida
ST SD0.0
RET