Un contador es un dispositivo capaz de medir (contar) el número de cambios de nivel en una señal de entrada, activando una señal de salida cuando se alcanza un valor prefijado.
Están definidos dos tipos de contadores:
En estos últimos existen, a su vez, dos versiones:
La operación de contador reversible es cíclica (..... 9998.9999, 0.1,.....), mientras que el contador incremental se detiene una vez alcanzando el modulo de cuenta.
En los contadores bidireccionales la salida se activa cuando el valor contado es cero: no tiene sentido detectar un valor de preselección que puede ser forzado en cualquier momento con la orden <Preset>.
Además para evitar actuaciones prematuras del contador, este no actúa (no recoge impulsos y la salida esta en off) hasta que la señal <Preset> recorre al menos una vez la secuencia ON-OFF.
Los bloques funcionales contadores definidos sobre autómatas, disponibles en todos los tipos anteriores, necesitan para su programación de los siguientes campos:
Además, el bloque contador necesita de algunas señales binarias asociadas, como son las entradas de pulsos para conteo, y las señales de habilitación o reset. Estas ultimas siempre son prioritarias sobre las entradas de pulses.
Si la programación se hace por lista de instrucciones, el fabricante puede imponer el orden de aparición de las sentencias, agrupando las señales correspondientes a un mismo contador en orden preestablecido de obligado cumplimiento (opción mas frecuente), o dar un nombre propio a las señales involucradas, que de seta forma pueden aparecer en cualquier parte y en cualquier orden dentro del programa.
El conteo de la señal de entrada se hace habitualmente por flanco o frente ascendente (si interesa al frente descendente, bastaría con complementar la señal de entrada), de forma que sea cual sea la duración del impulso, el contador solo cuenta con la transición o cambio de estado.
El modulo de cuenta o la preselección suelen estar limitados, como en los temporizadores, a un valor entre 0 y 9999 (16 dígitos binarios, en una palabra o registro interno), y pueden venir dados, al igual que en aquellos, por una constante en el programa o por lectura desde una variable interna o de entrada/salida.
Si fueran necesarias cuentas superiores a 9999, o subdividirlas según pesos arbitrarios, pueden colocarse contadores en serie de forma que la salida de cuenta alcanzada de cada uno actuara como impulso de entrada al siguiente, al tiempo que provoca un autoreset en el contador. En este caso el modulo total de cuenta será el producto de los módulos parciales.
Las aplicaciones típicas de los contadores son:
Una aplicación particular consiste en utilizar los contadores como temporizadores a base de introducir a la entrada de pulsos una variable interna de reloj. Puesto que el valor de contador puede mantenerse con una batería en caso de perdida de tensión, la aplicación permite construir temporizadores que mantienen su estado incluso en caso de perdida de alimentación.
El contador rápido es un modulo de hardware independiente de la CPU, capaz de contar impulsos exteriores de alta frecuencia procedentes de captadores como codificadores incrementales, detectores de proximidad, etc. El contador cuenta los impulsos de forma asíncrona con el resto del autómata utilizando sus propias entradas libremente filtradas y especificas para esta aplicación.
Una vez iniciada la cuenta, el contenido del contador puede ponerse a cero (Reset):
El contador rápido puede estar incluido en el propio autómata, en algunos modelos compactos de gama baja, o formar parte de módulos de expansión (caso de modelos compactos) o como tarjeta especial en los de tipo modular.
El acceso al contador rápido puede establecerse de dos formas:
En el primer caso, el programa compara el contenido actual del contador con una o varias preselecciones en cada ciclo de ejecución. Estas comparaciones pueden realizarse en condiciones de igualdad superioridad o inferioridad respecto a una constante programada, formalmente 0000 y 9999 (10000 impulsos), en autómatas estándar de gama media. Aunque esta forma de operación asegura que no se pierde ningún impulso de entrada, que quedan acumulados en el contador, la consulta del contador rápido por comparación con preselecciones presenta dos problemas específicos:
T res ≤ 2T ciclo + T outputdelay
Para reducir estos tiempos es frecuente utilizar como salidas del contador interfaces estáticas del transistor o triac.
Para reducir este efecto la comparación con las preselecciones puede no realizarse una sola vez en cada ciclo de ejecución del programa, si no ordenarse varias veces de forma asíncrona con el programa mediante una señal exterior o interior periódica. Así, los errores por desbordamiento se reducen apreciablemente.
Además de la consulta desde el programa es muy frecuente que el contador rápido puede generar una señal de interrupción cuando alcance su valor de preselección, eliminando los errores del desbordamiento comentados. Esta interrupción obliga al procesador a ejecutar inmediatamente una rutina de atención al contador, lo que asegura la mayor rapidez de respuesta posible.
Página siguiente ![]() |
Trabajos relacionados
Ver mas trabajos de Programacion |
|
Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.