Panel de variables de procesoProcess variables dashboard
Una vista única para revisar cómo se comportó una línea industrial durante el día: tendencias, límites de operación y producción por turno.
A single view to review how an industrial line behaved during the day: trends, operating limits and production per shift.
| VariableVariable | UnidadUnit | RangoRange |
|---|---|---|
| Temperatura de hornoOven temperature | °C | 180 – 240 |
| Presión hidráulicaHydraulic pressure | bar | 4.5 – 7.5 |
| Vibración de rodamientosBearing vibration | mm/s RMS | 0.5 – 4.5 |
| Consumo energéticoEnergy use | kWh | 45 – 95 |
| ProducciónProduction | uds/h | 0 – 180 |
| Eficiencia (derivada)Efficiency (derived) | % | calculadacomputed |
01ResumenSummary
Aplicación de escritorio que presenta 48 lecturas (una cada 30 minutos) de cinco variables de proceso y una de eficiencia, organizadas en pestañas con gráficos de línea y de barras. Los datos se generan con un modelo que imita el comportamiento de sensores reales y se exportan a un libro de Excel.
Desktop application presenting 48 readings (one every 30 minutes) of five process variables plus efficiency, organized in tabs with line and bar charts. Data comes from a model that mimics real sensor behavior and is exported to an Excel workbook.
02ProblemaProblem
En muchas plantas pequeñas los datos de proceso terminan en hojas de cálculo separadas. Revisar si una temperatura superó su límite o si un turno produjo menos exige abrir archivos y armar gráficos a mano cada vez.
In many small plants, process data ends up in separate spreadsheets. Checking whether a temperature exceeded its limit or a shift underproduced means opening files and building charts by hand every time.
03ObjetivosGoals
- Mostrar las variables clave de una línea en una sola aplicación.Show a line's key variables in a single application.
- Marcar límites y consignas directamente sobre cada gráfico.Mark limits and setpoints directly on each chart.
- Resumir la producción por turno.Summarize production per shift.
- Exportar los datos para análisis posterior.Export the data for further analysis.
04Solución implementadaImplemented solution
La interfaz tiene una cabecera con indicadores clave y un estado de conexión, y pestañas para Temperatura, Presión, Vibración, Producción, Energía y Eficiencia. Cada gráfico de línea incluye su referencia: límite de 235 °C en el horno, consigna de 6,0 bar en la línea hidráulica y umbral de 3,5 mm/s en vibración. La producción se agrupa por turno en un gráfico de barras.
The interface has a header with key indicators and a connection status, and tabs for Temperature, Pressure, Vibration, Production, Energy and Efficiency. Each line chart includes its reference: a 235 °C oven limit, a 6.0 bar hydraulic setpoint and a 3.5 mm/s vibration threshold. Production is grouped per shift in a bar chart.
05Arquitectura técnicaTechnical architecture
data_generator.py— genera las series con suavizado exponencial y las exporta a Excel (5 hojas).data_generator.py— generates the series with exponential smoothing and exports them to Excel (5 sheets).charts.py— construye cada gráfico con sus ejes y líneas de referencia.charts.py— builds each chart with its axes and reference lines.app.py— compone la interfaz: cabecera, indicadores y pestañas.app.py— assembles the UI: header, indicators and tabs.main.py— punto de entrada.main.py— entry point.
06Mi contribuciónMy contribution
Desarrollé el modelo de datos simulados, el módulo de gráficos y la interfaz, separando la generación de datos de la presentación para que el origen pueda reemplazarse por datos reales sin tocar la UI.
I built the simulated data model, the charting module and the interface, separating data generation from presentation so the source can be replaced with real data without touching the UI.
07Decisiones de diseño e ingenieríaDesign & engineering decisions
- Suavizado exponencialExponential smoothing
- Las series varían de forma gradual, como un sensor real, en lugar de saltar al azar.Series change gradually, like a real sensor, instead of jumping at random.
- Referencias dentro del gráficoReferences inside the chart
- El operador ve de inmediato si una variable se acercó a su límite.The operator sees immediately whether a variable approached its limit.
- Una pestaña por variableOne tab per variable
- Cada gráfico conserva su escala y unidad; no se mezclan magnitudes distintas.Each chart keeps its own scale and unit; different magnitudes are not mixed.
- Datos separados de la UIData separate from UI
- Permite conectar después una base de datos, un PLC o un broker MQTT.Makes it possible to later plug in a database, a PLC or an MQTT broker.
08Dificultades y solucionesChallenges & solutions
- Datos creíbles sin planta real: rangos y comportamientos definidos por variable, incluida la parada del turno nocturno en producción.Believable data without a real plant: ranges and behaviors defined per variable, including the night-shift stop in production.
- Ejes legibles en 24 h: etiquetas horarias cada cuatro lecturas para evitar saturar el eje X.Readable 24 h axes: hour labels every four readings to avoid crowding the X axis.
09ResultadosResults
Aplicación funcional con seis vistas de análisis, indicadores en cabecera, líneas de referencia por variable, producción por turno y exportación a un libro de Excel de cinco hojas. Los datos son simulados: el proyecto demuestra la presentación y la estructura, no mediciones de una planta.
Working application with six analysis views, header indicators, per-variable reference lines, production per shift and export to a five-sheet Excel workbook. Data is simulated: the project demonstrates presentation and structure, not plant measurements.
10Imágenes y diagramasImages & diagrams
| GráficoChart | TipoType | ReferenciaReference |
|---|---|---|
| Temperatura de hornoOven temperature | LíneaLine | Límite 235 °CLimit 235 °C |
| Presión hidráulicaHydraulic pressure | LíneaLine | Consigna 6,0 barSetpoint 6.0 bar |
| VibraciónVibration | LíneaLine | Umbral 3,5 mm/sThreshold 3.5 mm/s |
| ProducciónProduction | BarrasBars | Por turnoPer shift |
Líneas de referencia definidas en charts.py. El proyecto aún no incluye una captura publicada.Reference lines defined in charts.py. The project does not yet include a published screenshot.
11AprendizajesLearnings
Un panel industrial vale por el contexto que agrega: un número sin su límite no le dice nada al operador. El siguiente paso natural es alimentar el panel con el nodo IIoT de ESP32 en lugar del generador.
An industrial dashboard is worth the context it adds: a number without its limit tells the operator nothing. The natural next step is to feed the dashboard from the ESP32 IIoT node instead of the generator.