TEMPORIZADORES Y CONTADORES
Los temporizadores y contadores son instrucciones de
salida que brindan la opción de controlar procesos de acuerdo a un tiempo o
registro de eventos ocurridos.
TEMPORIZADORES
Los valores de configuración y operación de un
temporizador son almacenados dentro de un controlador en el archivo “timer”;
estos valores son 3:
- Control de temporizador y estado
- Valor objetivo (preset)
- Acumulador
Para el caso del “preset”, es el valor que el
temporizador debe igualar antes de que detenga su cuenta. Cuando el valor del
acumulador es igual al preset, el bit de estado "DN" es colocado a “1” (solo para el caso de los timer´s TON y RTO). El rango de valores para el
preset es de 0-32767.
Por su parte el acumulador es el responsable de
almacenar la cuenta de los intervalos de tiempo registrados, es decir, lleva la
cuenta del timer.
Los temporizadores pueden ser configurados con una de
las tres bases de tiempo definidas:
Base Segundos
0.001 32.767
0.01 327.67
1.00 32767
Cada temporizador, como ya se menciono antes consta de 3 palabras de registro. La
palabra 0 almacena los bits de estado y control, la palabra 1 guarda el valor
del preset, la palabra 2 contiene el valor del acumulado.
- El bit 15 o "EN" tendrá un valor de "1" lógico cada que el temporizador este energizado.
- El bit 14 o "TT" tendrá un valor de "1" lógico siempre que el temporizador este llevando acabo un proceso de medición.
- El bit 13 o "DN" es puesto a "1" lógico solamente cuando el valor del acumulador alcanza el "preset" establecido (final del conteo).
La instrucción
RES es usada para regresar a 0 el valor del acumulador del timer.
TON TIMER ON DELAY
La instrucción TON empieza a contar dependiendo de la
base de tiempo seleccionada, cuando las condiciones de entrada del renglón
tienen un estado de verdadero. Mientras el estado del renglón se mantenga de
esta forma el temporizador mantendrá su cuenta hasta que el acumulador iguale
el valor de preset; cuando esto ocurre el timer detiene su cuenta. El valor del
acumulador es colocado a 0 en cada cambio de estado del renglón de verdadero a falso
sin importar si ya había iniciado un conteo. El timer TON es reseteado con cada
cambio de estado del renglón o con una pérdida de energía (no es necesario el uso de una instrucción RES para reiniciar el timer a 0).
Los bits de estado y control del temporizador TON
operan de la siguiente manera:
Ejemplo:
- de inicio el temporizador se encuentra desenergizado; en este caso el temporizador utilizado es el T4:5 (ubicado en el archivo de datos "4" timer "5"), nuestra base de tiempo se fijo en centenas de segundo, por lo tanto para que nuestro timer realice una cuenta de 10 segundos que es lo que se pretende para este ejercicio nuestro preset debe ser fijado en 1000, nuestro acumulador por supuesto es 0 de momento.
- cuando nuestro bit de inicio de conteo es activado energiza a nuestro temporizador iniciando con esto la cuenta del acumulador; el bit "EN" es activado indicando la situación de nuestro timer energizado; el bit "TT" también es activado indicando que nuestro timer esta en un proceso de conteo, el bit "DN" se mantiene desenergizado.
- cuando el valor del acumulador iguala al valor del preset el timer detiene su conteo aun estando todavía energizado, por tanto el bit "EN" se mantiene habilitado; al ya no realizar el proceso de medida el timer cambia su bit de estado "TT" a cero; el bit "DN" ahora si es energizado debido a que se alcanzo el objetivo.
- cuando el bit de inicio de conteo cambie su estado a falso el timer quedara desenergizado recibiendo con esto un reset en sus bits de estado y acumulador, quedando listo para un nuevo evento.
TOF TIMER OFF DELAY
El timer TOF inicia su conteo a los intervalos de
tiempo seleccionados en la base cuando el estado del renglón cambia de
verdadero a falso, mientras el renglón se mantenga en este estado, el timer
mantiene su cuenta hasta que el acumulador iguale el valor del preset. El valor
del acumulado se resetea cuando el estado del renglón cambia de falso a
verdadero sin importar si el timer había iniciado un conteo. Los timers TOF son
resetados con pérdidas de energía y cambios de modo.
Los bits de estado y control utilizados por el timer
TOF son:
Ejemplo:
- nuestra instrucción ahora es TOF, de inicio todos nuestro valores tanto de acumulador como de nuestros bits de estado es cero
- cuando nuestro bit de inicio de conteo es verdadero energiza a nuestro timer, sin embargo este no realiza ningún conteo ya que opera en la "desconexion" (cambio de verdadero a falso en su condición de entrada). El bit "EN" tiene un valor de 1 ya que esta energizado, el bit "TT" se mantiene en cero debido a que no hay cuenta y el bit "DN" para este caso tiene un valor de 1 a pesar de que el acumulador y el preset no son iguales.
- cuando el bit de inicio de conteo cambia a falso su estado el timer es desenergizado, es en este momento cuando inicia el conteo; el bit "EN" ahora vale cero como era de esperar, el bit "TT" ahora si tiene valor positivo y el bit "DN" se mantiene activo.
- cuando el valor del acumulador iguala al preset el timer termina su conteo, los bits de estado ahora están en cero los tres; el valor del acumulador se resetea la próxima vez que el bit de inicio de conteo sea energizado.
RTO
RETENTIVE TIMER, ON DELAY
La instrucción RTO es un timer que inicia su conteo
cuando se tenga un cambio de estado de falso a verdadero. Mientras esta
condición se mantenga el valor acumulado del timer irá incrementando su valor
hasta igualar al preset. Sin embargo el timer RTO mantiene el valor del
acumulador bajo las siguientes condiciones:
ü El estado del
renglón cambia de verdadero a falso
ü Se hace un
cambio del controlador de modo run a program o modo test
ü El procesador
tiene una pérdida de energía
ü El procesador
se va a modo falla
Cuando el procesador regresa a modo "run" o el estado
del renglón cambia de nuevo a verdadero el timer retoma su conteo y el
acumulador se incrementa a partir del valor guardado.
El timer RTO trabaja con sus bits de estado y control
de la siguiente manera:
Para resetear
el timer RTO es necesario el uso de la instrucción RES (Reset).
Ejemplo:
- El modo de operar de este timer tiene cierta similitud con el timer TON ya que ambos realizan el conteo cuando su condición de entrada es verdadera, la única y gran diferencia es que mantiene su valor de conteo cuando la señal de entrada no está presente, por tanto de inicio los valores de acumulador y bits de estado son 0.
- cuando el bit de inicio de estado es verdadero el RTO es energizado e inicia su proceso de registro, los bits "EN" y "TT" valen 1 como era de esperar y el bit "DN" no cambia.
- en un cambio de estado de verdadero a falso por parte del bit de inicio de conteo el timer RTO no resetea su cuenta, la mantiene hasta una nueva señal de entrada verdaera.
- al iniciar de nuevo el conteo si el timer alcanza el valor de preset el bit "DN" es activado; aun cuando nuevamente la señal de entrada del RTO desaparece el timer mantiene su cuenta junto con el bit "DN" activado; así se mantendra hasta que se reestablezca de manera "manual" con la instrucción RES que se verá más adelante.