Instrucciones TIA Portal

Operaciones de Contador
CTU, CTD, CTUD y Legacy S5

El conteo de eventos es fundamental en el control industrial. Domine los contadores IEC estándar y las instrucciones legacy en TIA Portal para sus aplicaciones de producción.

¿Qué son las operaciones de contador en TIA Portal?

Las operaciones de contador en TIA Portal permiten contar eventos internos del programa o señales externas (flancos ascendentes). Son bloques funcionales conformes a la norma IEC 61131-3 que gestionan el incremento, decremento, restablecimiento y comparación con un valor preestablecido (PV).

TIA Portal ofrece 3 tipos de contadores IEC (CTU, CTD, CTUD), así como instrucciones de compatibilidad S5 (Legacy) y bobinas de conteo. Cada instancia de contador requiere su propio bloque de datos de instancia (IDB) o puede integrarse como multiinstancia en un FB.

Contadores IEC

Los 3 bloques funcionales de conteo estándar: flexibles y robustos

CTU — Contador Ascendente (Count Up)

Qué hace

Cuenta los flancos ascendentes en la entrada de conteo CU. Con cada cambio de FALSE a TRUE en CU, el valor de conteo actual CV aumenta en 1. Cuando CV es mayor o igual al valor preestablecido PV, la salida Q pasa a TRUE. La entrada R (Reset) pone CV a 0 y Q a FALSE.

Cuándo usarlo

Se utiliza para contar piezas en un transportador, ciclos de una máquina o la frecuencia de una alarma. Ideal para cualquier proceso donde se deba alcanzar un objetivo numérico para activar una acción.

Consejos Pro

El conteo se detiene en el valor máximo del tipo de datos utilizado (Int, DInt, etc.). CV no vuelve a cero automáticamente sin un Reset.

La entrada R tiene prioridad: mientras R sea TRUE, el contador permanece en 0 e ignora los flancos en CU.

En SCL: myCTU(CU := disparador, R := reset, PV := 10); IF myCTU.Q THEN ... END_IF;

CTD — Contador Descendente (Count Down)

Qué hace

Cuenta hacia atrás desde un valor inicial. Con cada flanco ascendente en la entrada CD, el valor actual CV disminuye en 1. Cuando CV es menor o igual a 0, la salida Q pasa a TRUE. La entrada LD (Load) carga el valor preestablecido PV en CV.

Cuándo usarlo

Útil para gestionar existencias (restar piezas), cuentas atrás de procesos o supervisar la capacidad restante de un tanque o almacén.

Consejos Pro

La entrada LD se utiliza para 'recargar' el contador. Mientras LD sea TRUE, CV es igual a PV.

A diferencia de CTU, la condición de salida Q se cumple cuando CV llega a 0 (o menos).

El contador se detiene en el valor mínimo del tipo de datos (ej: -32768 para un Int).

CTUD — Contador Bidireccional (Up/Down)

Qué hace

Combina las funciones de CTU y CTD en un solo bloque. Tiene dos entradas de conteo (CU para incrementar, CD para decrementar) y dos salidas (QU para 'Conteo alto alcanzado', QD para 'Cero alcanzado'). Tiene una entrada Reset (R) y una entrada Load (LD).

Cuándo usarlo

Perfecto para el seguimiento de posición simple (avanzar/retroceder), gestión de aparcamientos (entrada/salida de vehículos) o seguimiento de stock dinámico.

Consejos Pro

QU pasa a TRUE si CV >= PV. QD pasa a TRUE si CV <= 0.

R (Reset) restablece CV a 0. LD (Load) inicializa CV a PV. R tiene prioridad sobre LD.

Muy útil para almacenes automáticos: incrementar al entrar un paquete, decrementar al salir.

Instrucciones Legacy y Bobinas

Contadores S5 e instrucciones tipo bobina para KOP/FUP

S_CU / S_CD / S_CUD

Qué hace

Antiguas instrucciones de conteo (Legacy S5) utilizadas en S7-300/400. Utilizan números de contador globales (C0...C255) en lugar de DB de instancia. Permiten parametrizar, contar y restablecer en una sola instrucción compleja.

Cuándo usarlo

Solo para el mantenimiento de programas existentes o migración de proyectos S5/S7-300 a S7-1500. Evitar en nuevos desarrollos.

Consejos Pro

Estos contadores no están 'tipificados' como los contadores IEC. Su rango es limitado (0-999).

Su comportamiento ante flancos ascendentes puede diferir de los estándares IEC.

Sustitúyalos sistemáticamente por CTU/CTD IEC en un refactoring para una mejor portabilidad.

—(SC)— Preseleccionar Contador

—(SC)—

Qué hace

Instrucción de tipo bobina que carga un valor preestablecido en un contador especificado cuando el RLO pasa a TRUE. Es el equivalente gráfico de la entrada Load (LD).

Cuándo usarlo

En KOP/FUP para forzar la carga de un valor en un contador desde un segmento separado.

Consejos Pro

Utilizado principalmente con contadores legacy.

El valor cargado suele definirse por una constante o una variable entera.

Para contadores IEC, use la entrada LD del bloque o acceda a la instancia directamente.

—(CU) / —(CD)— Bobinas de conteo

—(CU)—

Qué hace

Instrucciones de tipo bobina que incrementan (CU) o decrementan (CD) un contador con cada flanco ascendente del RLO. Permiten controlar un contador sin usar el bloque funcional completo.

Cuándo usarlo

Para programación KOP muy compacta donde solo se desea disparar un conteo al final de una línea.

Consejos Pro

Estas bobinas hacen referencia a un contador específico (ej: C1 o un DB de contador IEC).

Atención a la legibilidad: es más difícil ver el valor actual (CV) con bobinas que con bloques.

Priorice los bloques FB para una mejor autodocumentación del código.

Nota sobre compatibilidad S5

Contadores globales

Los contadores S5 (S_CU, S_CD, S_CUD) están limitados a 256 instancias globales y un rango de 0 a 999. Los contadores IEC (CTU, CTD, CTUD) son preferibles porque utilizan DB de instancia, admiten tipos de datos más amplios (LInt) y no tienen un límite de número fijo.

Comparación de contadores — ¿Cuál usar?

Elegir el contador adecuado para su aplicación industrial

Necesita...Use este contadorEjemplo
Contar eventos ascendentesCTUNúmero de productos terminados
Contar hacia atrás hasta ceroCTDEspacios restantes en estantería
Seguir flujo bidireccionalCTUDVehículos en un aparcamiento
Cargar un valor objetivoPV / LDDefinir lote de 50 piezas vía HMI
Restablecimiento automáticoReset (R)Fin de lote, listo para el siguiente
Gestionar millones de unidadesIEC (DInt/LInt)Contador totalizador de producción anual

Preguntas Frecuentes

¿Cuál es la diferencia entre un contador IEC y un contador S5?

Los contadores IEC utilizan Bloques de Datos (DB) de instancia, lo que permite crear infinitos. Admiten enteros de 16, 32 o 64 bits. Los contadores S5 están limitados a 256 números globales (C0-C255) y solo cuentan hasta 999.

¿Cómo hago para que el contador vuelva a cero automáticamente?

Puede conectar la salida Q del contador a su propia entrada R (Reset). Así, en cuanto se alcanza el objetivo, el contador se borra instantáneamente.

¿Puedo usar un contador para medir velocidad?

Un contador solo no mide velocidad. Debe contar pulsos durante un tiempo fijo (usando un Temporizador) y luego calcular: Velocidad = Pulsos / Tiempo.

¿Los contadores pierden su valor al detener el PLC?

Al igual que los Temporizadores, el valor actual (CV) se almacena en el DB de instancia. Si el DB es 'Remanente', el contador mantendrá su valor tras un reinicio.

Automatice sus algoritmos de conteo

Describa su lógica de conteo a nuestra IA y T-IA Connect generará los bloques CTU/CTD configurados con los tipos de datos correctos.