Case Study

Steam Generator Classification & Optimization

Real‑time ML‑assisted dispatch of legacy steam generators to stabilize supply alongside a variable solar steam facility—built in Ignition with Python ML, MQTT, and historian data.

Oil & Gas Ignition Python / ML OPC UA AVEVA & Canary Historian

Executive Snapshot

Objective
Prioritize & dispatch ~12 legacy steam generators in real time to offset variability from a new solar steam facility while meeting downstream demand.
My Role
Technical Lead & developer (Ignition Python); led a team of 3 devs; code reviews & delivery leadership.
Duration
~8 months
Scope
~12 generators • multi‑year historian data • real‑time dispatch logic
Architecture
PLC → OPC UA → (Ignition Gateway + Python) → Canary/AVEVA
Ignition (Gateway/Edge) Python (TensorFlow / scikit‑learn) OPC UA MQTT (Cirrus Link) AVEVA Historian Canary Historian ISA‑95 TLS Mutual Auth

Outcome

  • ML‑driven classification of generators by ramp profile, efficiency, and reliability.
  • Real‑time dispatch logic to select/start units and set targets as solar output fluctuates.
  • Operator decision support that reduced manual trial‑and‑error and tribal knowledge load.
Implementation paused due to solar program funding; analytics/tooling retained by the steam team. Estimated potential savings on order of ~$50k/yr.

Problem

Legacy steam generators (~decades old) exhibited differing ramp‑up/down behavior, efficiency curves, and reliability. With variable solar steam supply coming online, operators needed a fast, consistent way to choose which units to start, when to start them, and at what setpoints to maintain downstream steam demand— without relying on deep tribal knowledge or manual trial‑and‑error.

Solution

  • Extracted multi‑year time‑series from AVEVA Historian for model training & feature engineering.
  • Built an Ignition‑hosted Python service to classify each generator (ramp profiles, efficiency, reliability) and score them.
  • Designed a real‑time dispatch algorithm in Ignition to recommend/start units and set targets as solar output varied.
  • Plumbed PLC signals via OPC UA and MQTT (Cirrus Link) into the Gateway; logged to Canary for dashboards & analysis.
  • Hardened connectivity using Purdue‑aligned zones, TLS, and certificate‑based auth between tiers.

Architecture

Steam Generator Classification Architecture Diagram
PLC → OPC UA → Ignition Edge → MQTT Broker (Cirrus Link) → Ignition Gateway + Python ML → Canary/AVEVA for history & dashboards. Dispatch logic exposed to operators in Ignition.
Standards: ISA‑95. Security: segmented zones, firewall allow‑lists, TLS, cert‑based MQTT, role‑based access.

Planned KPIs & Decision Support

KPI / Decision Aid Description Status
Dispatch Score Composite rank per unit (ramp time, steady‑state efficiency, recent reliability/MTBF). Validated on historical data
Ramp Readiness Time‑to‑target & overshoot tendency by generator and ambient conditions. Modeled; ready for prod
Operator Assist Start/stop & setpoint recommendations surfaced in Ignition; reduces tribal knowledge burden. HMI prototype completed
Forecast Fit Deviation of combined output vs. solar forecast; triggers re‑dispatch if drift exceeds threshold. Algorithm defined
Projected savings (paused): fuel optimization + fewer mis‑dispatches + reduced warm‑standby hours.
  1. Historical data extraction & model development using AVEVA historian datasets.
  2. OPC UA + MQTT plumbing; Ignition Gateway Python service for classification scoring.
  3. Prototype HMI for operator recommendations; shadow‑mode validation against operator choices.
  4. Planned assisted‑dispatch cutover (paused with program funding change).
  • You: Architecture, Ignition Python development, code reviews, data modeling, stakeholder alignment.
  • Developers (3): Data pipelines, model training, HMI prototypes.
  • Operations (2): SME input on ramps, setpoints, safe‑start constraints.
  • Engineering (4): Controls integration, historian access, validation.
  • Lesson: Deliver value in layers; decision‑support UI stands on its own even without full automation.
  • Risk: Portfolio dependency on solar initiative funding—mitigated by modular analytics reuse.
  • Next: Package analytics as an accelerator for future boiler/steam dispatch projects.