Clase #29 - Funciones INC/DEC/LIMIT en TIA Portal V18: Conteo y Protección de Rangos en Ladder

Funciones INC/DEC/LIMIT en TIA Portal V18: Conteo y Protección de Rangos en Ladder

Funciones INC/DEC/LIMIT en TIA Portal V18: Conteo y Protección de Rangos en Ladder
💡 Por qué este video es esencial: INC/DEC parecen simples hasta que cuentas doble por scan o LIMIT no protege como esperas. En este video te muestro cómo conectar INC/DEC solo con flancos positivos para evitar conteo múltiple, cómo configurar LIMIT con MN/MX correctos, y por qué estos bloques DEBEN ir en redes independientes con marcas auxiliares. ¡La demostración de conteo seguro vs. inseguro es clave

👋 Introducción: Simplifica Tu Ladder con Bloques Directos

Bienvenido a la Clase #29. Ya usas bloques matemáticos especializados (Clase #27). Ahora necesitas operaciones aún más cotidianas: incrementar/decrementar contadores software y asegurar que una variable nunca exceda rangos seguros.
En Ladder, podrías hacer esto con lógica de contactos y bobinas, pero los bloques INC, DEC y LIMIT son más legibles, menos propensos a errores y ocupan menos espacio visual. El problema es que su simplicidad engaña: si no los conectas correctamente, contarás mal o dejarás valores fuera de rango.
En este artículo explicamos la conexión visual, pero ver el flanco correcto en INC y la protección real de LIMIT solo es posible en el video.

🎯 Lo que aprenderás en esta sesión (100% Ladder)

  1. Bloque INC_I/DI en Red Ladder: Incremento seguro por flanco positivo, evitando conteo múltiple.
  2. Bloque DEC_I/DI en Red Ladder: Decremento seguro con validación de límite inferior.
  3. Bloque LIMIT_I/DI/R en Red Ladder: Protección de rangos con MN (mínimo) y MX (máximo).
  4. Patrón de Red Independiente + Flanco + Marca: La estructura obligatoria para INC/DEC.
  5. Aplicaciones Industriales Visuales: Contadores de ciclos, índices de arrays, protección de setpoints.

⚙️ Conceptos Clave (Resumen Técnico Ladder)

1. El Patrón Obligatorio: Flanco + Red Propia + Marca
Como demuestro en el minuto 02:15 del video, INC/DEC NO funcionan como contactos normales. Requieren este patrón estricto:
  • Red N: Detección de Evento |--[Sensor_Ciclo.P]-----------------(M_Incremento)--| Red N+1: Incremento Condicionado |--[M_Incremento]--[INC_I(IN:=Contador)]--(Contador)--|
  • Red N: Usa contacto de flanco positivo [.P] para detectar evento ÚNICO. Activa marca M.
  • Red N+1: Solo si M está activa, ejecuta INC. El resultado se escribe en la MISMA variable de entrada (INC modifica IN place).
⚠️ Regla de Oro en Ladder: NUNCA pongas [Sensor] directo en INC sin flanco .P. Si el sensor permanece TRUE 3 scans, INC se ejecutará 3 veces. El flanco es OBLIGATORIO.

2. Bloque INC/DEC: Contadores Software Ligeros
Ventaja sobre CTU: No requieren instancia de tipo CTU, modifican la variable directamente.
Elemento
Función
Error Común en Ladder
Bloque INC_I
IN := IN + 1
Usar sin flanco → conteo múltiple por scan
Bloque DEC_I
IN := IN - 1
Olvidar validar límite inferior → underflow
Contacto .P
Detecta flanco positivo
Ponerlo DESPUÉS del bloque INC (no detecta nada)
Variable IN=OUT
Modificación in-place
Asignar OUT a variable diferente → no incrementa original

3. Bloque LIMIT: Protección de Rangos en Una Sola Línea
Limita un valor entre MN (mínimo) y MX (máximo):
  • Red 1: |--[Setpoint_Raw <> Setpoint_Limitado]--(M_Limit_Valido)--| // Opcional Red 2: |--[M_Limit_Valido]--[LIMIT_I(IN:=Setpoint_Raw, MN:=0, MX:=100)]--(Setpoint_Limitado)--| |--[/M_Limit_Valido]--[MOVE(IN:=Setpoint_Raw, OUT:=Setpoint_Limitado)]--|
  • Si IN < MN → OUT = MN
  • Si IN > MX → OUT = MX
  • Si MN ≤ IN ≤ MX → OUT = IN
⚠️ EN LADDER: MN y MX deben ser tags del DB o constantes explícitas. Nunca dejes MN > MX; el comportamiento es indefinido.
En el video mostramos LIMIT protegiendo un setpoint de temperatura contra valores erróneos de HMI.

✅ Checklist de INC/DEC/LIMIT en Ladder

Antes de implementar:
  • INC/DEC siempre precedidos por contacto de flanco .P en red anterior.
  • Cada bloque en su propia red independiente.
  • Marca auxiliar (M) usada para habilitar bloque.
  • Para DEC: validación de límite inferior ANTES del bloque (evitar underflow).
  • Para LIMIT: verificado que MN < MX siempre.
  • Variable IN y OUT son la misma para INC/DEC (modificación in-place).
  • Comentada cada red explicando propósito del contador/límite.
Este checklist está demostrado en el proyecto Ladder del video. Úsalo como referencia.

🛑 Errores Comunes en Ladder con INC/DEC/LIMIT

INC Sin Flanco: El error #1. Contador avanza 10 unidades por segundo porque el sensor estuvo TRUE 10 scans. SIEMPRE usa .P.
DEC Sin Límite Inferior: Contador llega a -32768 y hace wrap-around a +32767. Valida IF Contador > 0 THEN DEC.
LIMIT Con MN > MX: Comportamiento impredecible. Siempre verifica que mínimo < máximo en DB o lógica previa.
Asignar OUT de INC a Variable Diferente: INC_I(IN:=A) modifica A. Si pones OUT en B, A no cambia y B recibe valor incorrecto.
Poner INC en Rama Compleja: Combinar con otros contactos en misma rama → ejecución condicional no deseada. Red independiente siempre.

👉 MIRA EL VIDEO PARA VER LA DIFERENCIA VISUAL ENTRE INC CON Y SIN FLANCO EN TABLA DE OBSERVACIÓN

¿Te ha pasado que tu contador software avanza solo o un setpoint se sale de rango causando alarma falsa?
Déjame un comentario en YouTube describiendo cómo conectaste los bloques. Te ayudaremos a verificar flancos y estructuras de red.

¡Suscríbete y activa la campanita! En la Clase #39 dominamos el escalado analógico correcto con NORM_X y SCALE_X. Adiós a fórmulas manuales MUL/DIV propensas a error. ¡Esencial para cualquier proceso con sensores analógicos!

Publicar un comentario

0 Comentarios