La visualización de datos en la ingeniería de control

La correcta confección de tablas y gráficos es esencial en la ingeniería de automatización para interpretar el comportamiento de los sistemas de medida y regulación. Permite visualizar tendencias, comparar variables, detectar anomalías y comunicar resultados a equipos multidisciplinares. Desde la puesta en marcha hasta el mantenimiento, las representaciones gráficas facilitan la toma de decisiones y la optimización de procesos.

Este capítulo aborda los principios para estructurar tablas técnicas, seleccionar el tipo de gráfico adecuado según la variable, utilizar correctamente los ejes y escalas, y aprovechar las herramientas ofimáticas y especializadas (Excel, Python, MATLAB). Se incluyen ejemplos prácticos con datos reales de sistemas de control.

Estructuración de tablas de valores técnicos

Las tablas recogen datos medidos o calculados durante el funcionamiento de un proceso. Para que sean útiles, deben seguir buenas prácticas:

  • Cabecera clara: denominación completa de cada variable y su unidad (ej. “Temperatura (°C)”, “Presión (bar)”).
  • Orden lógico: cronológico o según el parámetro independiente (tiempo, posición, consigna).
  • Precisión adecuada: número de decimales coherente con la precisión del instrumento (ej. 1 decimal para temperaturas industriales).
  • Título descriptivo: contexto de la medición (ej. “Tabla 1 – Registro de temperatura durante el arranque”).

Ejemplo: Tabla para un lazo de control de temperatura:

表 Registro de variables del lazo de temperatura Tiempo (s)Temperatura (°C)Setpoint (°C)Salida actuador (%)Error (°C) ' 020.080.00-60.0 — 1025.380.045-54.7 2035.280.068-44.8 点

Selección del tipo de gráfico según la información

La elección del gráfico determina la claridad del análisis. Los más utilizados en automatización son:

  • Gráficos de líneas: ideales para mostrar la evolución temporal de variables (presión, temperatura, caudal). Permiten superponer varias series (PV, SP, MV).
  • Gráficos de barras: comparan valores discretos (ej. consumo energético por turno, número de fallos por equipo).
  • Gráficos de dispersión (scatter): muestran la relación entre dos variables (ej. caudal vs. presión diferencial) y permiten identificar correlaciones.
  • Gráficos de área: útiles para acumulados (energía total, caudal acumulado).

En la práctica, una combinación de gráficos de líneas para la variable de proceso y de barras para el estado del actuador suele ser muy efectiva.

Elementos clave en la construcción de gráficos

Un gráfico profesional debe incluir:

  • Ejes correctamente etiquetados: eje X (variable independiente), eje Y (variable dependiente) con unidades.
  • Escalas adecuadas: que abarquen todo el rango de datos pero sin distorsionar la interpretación (evitar escalas truncadas).
  • Título informativo: “Evolución de la temperatura durante el arranque del horno” en lugar de “Gráfico 1”.
  • Leyenda: si se representan varias series, con colores o estilos diferenciados.
  • Cuadrícula (grid): facilita la lectura de valores intermedios.

En herramientas ofimáticas, estas opciones se configuran desde el menú de formato de gráficos. En entornos de programación (Python, MATLAB) se definen mediante funciones específicas.

Herramientas disponibles: hojas de cálculo y software especializado

La elección de la herramienta depende del volumen de datos y la complejidad del análisis:

  • Hojas de cálculo (Excel, Google Sheets, Calc): ideales para informes, presentaciones y análisis básicos. Permiten crear tablas, aplicar formatos condicionales y generar gráficos con pocos clics.
  • Python con librerías especializadas: pandas (manejo de datos), matplotlib y seaborn (gráficos), plotly (interactivos). Adecuado para automatizar la generación de informes y manejar grandes volúmenes de datos.
  • MATLAB / Simulink: potente para análisis de señales, sistemas dinámicos y generación de gráficos vectoriales de alta calidad.
  • LabVIEW: integración con adquisición de datos y visualización en tiempo real.

En entornos industriales, las hojas de cálculo son suficientes para la mayoría de informes de puesta en marcha y mantenimiento, mientras que Python se usa en investigación y desarrollo para procesar series temporales largas.

🐍 Generación de tablas y gráficos con pandas y matplotlib
# data_visualization.py - Genera tablas y gráficos a partir de datos de simulación
# Útil para informes de puesta en marcha y análisis de procesos

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# --- Simulación de datos de un lazo de control ---
np.random.seed(42)
t = np.linspace(0, 100, 200)  # tiempo (s)
sp = 80 * np.ones_like(t)      # setpoint constante
# Variable de proceso con dinámica de primer orden + ruido
tau = 10
K = 1.2
pv = 20 + K * 60 * (1 - np.exp(-t/tau)) + np.random.normal(0, 1.5, len(t))
# Salida del actuador (PID simulada)
mv = np.clip(50 + 2 * (sp - pv) + 0.1 * np.cumsum(sp - pv) * (t[1]-t[0]), 0, 100)

# --- Crear DataFrame ---
df = pd.DataFrame({
    "Tiempo (s)": t,
    "Setpoint (°C)": sp,
    "Temperatura PV (°C)": pv,
    "Salida actuador (%)": mv,
    "Error (°C)": sp - pv
})

# Mostrar primeras filas de la tabla
print("=== PRIMERAS 10 FILAS DE LA TABLA ===")
print(df.head(10).round(2))

# Guardar tabla a CSV (para documentación)
df.to_csv("datos_lazo_temperatura.csv", index=False, decimal=",", sep=";")
print("\n✅ Datos guardados en 'datos_lazo_temperatura.csv'")

# --- Gráficos ---
plt.figure(figsize=(12, 8))

# Subplot 1: Temperatura y setpoint
plt.subplot(2, 1, 1)
plt.plot(t, pv, label="Temperatura PV", linewidth=2)
plt.plot(t, sp, 'r--', label="Setpoint", linewidth=2)
plt.ylabel("Temperatura (°C)")
plt.title("Evolución del lazo de control")
plt.legend()
plt.grid(True)

# Subplot 2: Salida del actuador
plt.subplot(2, 1, 2)
plt.plot(t, mv, 'g-', label="Salida actuador", linewidth=2)
plt.ylabel("Salida (%)")
plt.xlabel("Tiempo (s)")
plt.legend()
plt.grid(True)

plt.tight_layout()
plt.savefig("grafico_control.png", dpi=150)
print("✅ Gráfico guardado como 'grafico_control.png'")
plt.show()

# --- Análisis de rendimiento ---
error_abs_medio = np.mean(np.abs(df["Error (°C)"]))
overshoot = np.max(pv) - sp[0] if np.max(pv) > sp[0] else 0
settling_time = None
for i in range(len(t)):
    if np.all(np.abs(pv[i:] - sp[0]) < 2):
        settling_time = t[i]
        break

print("\n=== ANÁLISIS DE RENDIMIENTO ===")
print(f"Error absoluto medio: {error_abs_medio:.2f} °C")
print(f"Sobreimpulso: {overshoot:.2f} °C")
if settling_time:
    print(f"Tiempo de establecimiento (±2°C): {settling_time:.1f} s")

Este script simula un lazo de control de temperatura, genera una tabla con las variables principales, guarda los datos en CSV y produce gráficos de evolución. Además, calcula métricas de rendimiento. Es una base excelente para informes de puesta en marcha.

Tendencias Actuales 2026

La visualización de datos en automatización avanza hacia paneles interactivos en tiempo real (SCADA con dashboards personalizables) y herramientas de BI (Power BI, Tableau) que integran datos de múltiples PLCs. La norma IEC 61131-3 incorpora directrices para la representación gráfica de variables en sistemas de control. Además, el uso de notebooks de Python (Jupyter) en ingeniería facilita la reproducibilidad de los análisis y la generación automática de informes.

Aplicaciones con Raspberry Pi

Una Raspberry Pi puede adquirir datos de sensores (temperatura, presión) y generar gráficos en tiempo real usando Python y matplotlib. Los resultados se pueden exportar a un servidor web para su visualización remota. También se pueden crear dashboards con Flask y Plotly.

Aplicaciones con Arduino

Arduino permite capturar datos y enviarlos a un PC vía serie, donde pueden ser procesados con Python o importados a Excel para generar gráficos. Es una herramienta educativa excelente para enseñar análisis de datos de sensores.

💼 Caso Práctico Industrial: Selección de gráfico

Contexto: Se desea analizar la relación entre la presión diferencial (ΔP) medida en una placa orificio y el caudal calculado (Q) para verificar la linealidad del sensor. Los datos son pares de valores (ΔP, Q).

Pregunta: ¿Qué tipo de gráfico es el más adecuado?

🍓 Raspberry Pi + Python

Contexto: El script Python genera un gráfico de la temperatura PV y el setpoint. ¿Qué función de matplotlib se usa para dibujar ambas series?

Pregunta: ¿Cuál es la función que traza las líneas?

🐍 Cabeceras de tabla

Contexto: Se quiere crear una tabla con las columnas "Tiempo (s)", "Temperatura (°C)", "Setpoint (°C)". Según las buenas prácticas, ¿cómo deben escribirse las cabeceras?

Pregunta: ¿Qué formato es el correcto?

'
Tabla 1: Tipos de gráficos y su aplicación en automatización
Tipo de gráficoUso principalEjemplo en automatización
LíneasEvolución temporalTemperatura PV y setpoint durante el arranque
BarrasComparación de valores discretosConsumo energético por turno
Dispersión (scatter)Relación entre dos variablesCaudal vs. presión diferencial
ÁreasAcumuladosCaudal acumulado diario

📚 Recursos Técnicos y Normativos 2026

Normativas y Estándares

Recursos Raspberry Pi y Python