Cursos
Clase #39 - Funciones NORM_X / SCALE_X en TIA Portal V18: Escalado Analógico Profesional en Ladder
Funciones NORM_X / SCALE_X en TIA Portal V18: Escalado Analógico Profesional en Ladder
💡 Por qué este video es esencial: Escalar manualmente Raw * 100 / 27648 causa overflow si multiplicas primero, o pérdida de resolución si divides primero. En este video te muestro cómo NORM_X convierte raw a 0.0-1.0 REAL sin riesgo, y SCALE_X lleva ese valor al rango físico exacto, todo en redes independientes con marcas auxiliares. ¡La comparación de precisión vs. método manual es impactante!
👋 Introducción: Del Raw al Engineering Unit Sin Riesgo
Bienvenido a la Clase #39. Ya manejas redondeo direccional seguro (CEIL/FLOOR, Clase #38). Ahora enfrentas el desafío diario de la instrumentación: convertir valores crudos de ADC (ej: 0-27648) a unidades de ingeniería (°C, bar, m³/h).
Hacer esto con MUL/DIV manuales en Ladder es un antipatrón profesional. Requiere múltiples redes, gestión explícita de tipos REAL, validación de divisor ≠0 y protección contra overflow en la multiplicación intermedia. Los bloques NORM_X y SCALE_X están diseñados específicamente para resolver esto de forma segura, legible y mantenible.
En Ladder, estos bloques deben conectarse en cascada mediante una marca auxiliar REAL. Conectarlos directamente o usar INT como intermediario destruye la precisión decimal.
En este artículo explicamos la conexión visual, pero ver la cascada completa funcionando con señal real y comparar su precisión contra MUL/DIV manual solo es posible en el video.
🎯 Lo que aprenderás en esta sesión (100% Ladder)
- Bloque NORM_X en Red Ladder: Normalización de entrada RAW a rango 0.0-1.0 REAL.
- Bloque SCALE_X en Red Ladder: Escalado de valor normalizado a rango físico engineering unit.
- Conexión en Cascada Segura: NORM_X → Marca REAL → SCALE_X en redes independientes.
- Ventajas Sobre MUL/DIV Manual: Sin overflow, sin división por cero, precisión garantizada.
- Aplicaciones Industriales Visuales: Temperatura, presión, nivel, flujo con sensores estándar Siemens.
⚙️ Conceptos Clave (Resumen Técnico Ladder)
1. El Patrón Obligatorio: Normalizar → Marca REAL → Escalar
Como demuestro en el minuto 02:30 del video, NUNCA conectes NORM_X directo a SCALE_X ni uses INT como puente. Usa siempre este patrón de 3 redes:
- Red N: Normalización |--[M_Escalado_Activo]--[NORM_X(IN:=Raw_ADC, HI_LIM:=27648, LO_LIM:=0)]--(Valor_Normalizado)--| Red N+1: Escalado a Ingeniería |--[M_Escalado_Activo]--[SCALE_X(IN:=Valor_Normalizado, HI_LIM:=100.0, LO_LIM:=0.0, BIPOLAR:=FALSE)]--(Temp_Celsius)--|
- Red N: NORM_X convierte RAW (INT) a REAL [0.0, 1.0]. HI_LIM/LO_LIM definen el rango del sensor raw.
- Variable Intermedia: DEBE ser REAL. Si usas INT, pierdes todos los decimales y el escalado final será errático.
- Red N+1: SCALE_X toma el valor normalizado y lo mapea al rango físico. BIPOLAR=FALSE para señales unipolares (0-10V, 4-20mA).
⚠️ Regla de Oro en Ladder: La variable entre NORM_X y SCALE_X DEBE ser declarada como REAL en el DB. Usar INT, WORD o BYTE como puente trunca la señal a 0 o 1, haciendo el escalado inútil.
2. Ventajas Críticas Sobre MUL/DIV Manual
Aspecto | MUL/DIV Manual | NORM_X + SCALE_X |
|---|---|---|
Overflow | Riesgo alto si MUL va antes que DIV | ✅ Imposible; NORM_X siempre produce [0,1] |
División por Cero | Requiere validación explícita | ✅ Manejado internamente |
Legibilidad | Fórmula críptica en múltiples redes | ✅ Parámetros descriptivos (HI_LIM, LO_LIM) |
Mantenimiento | Cambiar rango requiere recalcular constante | ✅ Solo modificar HI_LIM/LO_LIM |
Precisión | Depende del orden MUL/DIV | ✅ Garantizada por diseño IEC |
- Red 1: |--[M_Sensor_Activo]--[NORM_X(IN:=AI_Temp_Raw, HI_LIM:=27648, LO_LIM:=0)]--(Norm_Temp)--| Red 2: |--[M_Sensor_Activo]--[SCALE_X(IN:=Norm_Temp, HI_LIM:=100.0, LO_LIM:=0.0, BIPOLAR:=FALSE)]--(Temp_Proceso)--|
Dos redes limpias. Sin constantes mágicas. Sin riesgo matemático.
3. Configuración Correcta de Parámetros
- HI_LIM / LO_LIM (NORM_X): Rango crudo del módulo AI. Para S7-1200/1500 estándar: 0-27648 (unipolar) o -27648 a +27648 (bipolar).
- HI_LIM / LO_LIM (SCALE_X): Rango físico del proceso. Ej: 0.0-100.0 °C, -1.0 a 5.0 bar.
- BIPOLAR: FALSE para 0-10V/4-20mA. TRUE para ±10V/±20mA. Configurar mal invierte o desplaza la escala.
- Tipo de Salida: SCALE_X siempre devuelve REAL. Asignar a INT truncará decimales. Usa ROUND_R posterior si necesitas entero para HMI.
En el video mostramos configuración incorrecta de BIPOLAR y cómo distorsiona completamente la lectura.
4. Aplicaciones Industriales Estándar en Ladder
- Temperatura PT100/TC: Raw 0-27648 → 0-200°C. NORM_X/SCALE_X maneja linealización básica (para termopares reales, usar bloque TC_I/TC_R adicional).
- Presión Transmisor 4-20mA: Raw 5530-27648 → 0-10 bar. Ajustar LO_LIM de NORM_X a 5530 para ignorar zona de fallo (<4mA).
- Nivel de Tanque: Raw 0-27648 → 0-5.0 m. SCALE_X permite cambiar rango físico sin tocar lógica de control downstream.
- Flujo Másico: Raw bipolar -27648 a +27648 → -100 a +100 kg/h. BIPOLAR=TRUE esencial aquí.
✅ Checklist de NORM_X/SCALE_X en Ladder
Antes de implementar:
- Variable intermedia entre NORM_X y SCALE_X declarada como REAL en DB.
- HI_LIM/LO_LIM de NORM_X coinciden con especificación del módulo AI.
- HI_LIM/LO_LIM de SCALE_X reflejan rango físico real del proceso.
- BIPOLAR configurado correctamente según tipo de señal (unipolar/bipolar).
- Cada bloque en su propia red independiente.
- Marca auxiliar usada para habilitar cascada completa.
- Comentada cada red con rango raw y rango físico correspondiente.
- Probado con valores límite (0, 27648, valor intermedio) en simulación.
Este checklist está demostrado en el proyecto Ladder del video. Úsalo como referencia.
Errores Comunes en Ladder con NORM_X/SCALE_X
- Variable Intermedia INT: El error #1. Trunca 0.5432 a 0. Tu escala solo leerá 0 o máximo. SIEMPRE REAL.
- Conectar NORM_X Directo a SCALE_X: TIA Portal puede permitirlo visualmente, pero oculta la conversión implícita. Mejor práctica: marca REAL explícita.
- BIPOLAR Incorrecto: Señal unipolar con BIPOLAR=TRUE lee mitad del rango. Señal bipolar con FALSE lee doble y desplazado.
- HI_LIM de NORM_x Wrong: Usar 100 en lugar de 27648 para módulo S7-1200. La normalización será errónea desde el inicio.
- Poner Bloques en Rama Compleja: Combinar con contactos lógicos en misma rama → ejecución condicional no deseada. Redes separadas siempre.
👉 MIRA EL VIDEO PARA VER LA COMPARACIÓN LADO A LADO: NORM_X/SCALE_X VS. MUL/DIV MANUAL CON SEÑAL REAL
¿Te ha pasado que tu sensor lee valores erráticos o tu escala se invierte después de cambiar el transmisor?
Déjame un comentario en YouTube describiendo tu configuración. Te ayudaremos a verificar parámetros NORM_X/SCALE_X y tipo de variable intermedia.
¡Suscríbete y activa la campanita! En la Clase #40 aprendemos a hacer el proceso inverso: des-escalar salidas analógicas para controlar válvulas reguladoras y variadores. ¡El complemento perfecto para cerrar el loop de instrumentación!

Publicar un comentario
0 Comentarios