Clase #28 - Funciones INC/DEC/ABS en TIA Portal V18: Conteo Software y Valor Absoluto en Ladder

Funciones INC/DEC/ABS en TIA Portal V18: Conteo Software y Valor Absoluto en Ladder
Funciones INC/DEC/ABS en TIA Portal V18: Conteo Software y Valor Absoluto en Ladder
💡 Por qué este video es esencial: INC/DEC parecen simples hasta que cuentas doble por scan o ABS 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 ABS correctamente, 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 #28. 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 ABS 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 ABS 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 ABS_I/DI/R en Red Ladder: Cálculo de error absoluto para alarmas simétricas.
  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:

  1. 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).
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

Aplicación Ladder típica: Contador de ciclos de máquina sin CTU:

  1. Red 1: |--[Fin_Ciclo.P]--(M_Ciclo_Completo)--| Red 2: |--[M_Ciclo_Completo]--[INC_I(IN:=Total_Ciclos)]--(Total_Ciclos)--|
Más limpio que CTU cuando solo necesitas incremento simple sin preset ni salida Q.

3. Bloque ABS: Valor Absoluto para Alarmas Simétricas
Devuelve el valor sin signo. Ideal para calcular desviaciones:
  1. Red 1: |--[SETPOINT <> VALOR_ACTUAL]--(M_ABS_Valido)--| // Opcional: siempre válido, pero buena práctica Red 2: |--[M_ABS_Valido]--[ABS_I(IN:=Error_Crudo)]--(Error_Absoluto)--|
Luego usas Error_Absoluto en un comparador > para alarma, sin importar si el error fue positivo o negativo.

✅ Checklist de INC/DEC/ABS 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).
  • 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/ABS

  1. INC Sin Flanco: El error #1. Contador avanza 10 unidades por segundo porque el sensor estuvo TRUE 10 scans. SIEMPRE usa .P.
  2. DEC Sin Límite Inferior: Contador llega a -32768 y hace wrap-around a +32767. Valida IF Contador > 0 THEN DEC.
  3. 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.
  4. Poner INC en Rama Compleja: Combinar con otros contactos en misma rama → ejecución condicional no deseada. Red independiente siempre.
  5. Olvidar que ABS no valida entrada: ABS acepta cualquier valor, pero si la entrada es NaN o infinito, la salida también lo será. Valida entrada si proviene de cálculo previo.

👉 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 cálculo de distancia da negativo?
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 #30 dominamos SQR y SQRT en Ladder para cálculos de energía y posicionamiento. ¡Esencial para procesos con señales AC o coordenadas!

Publicar un comentario

0 Comentarios