• Food
  • Ignition UNS
  • Private AI agent
  • ISA-95 L1–L3

AI copilot for a 24/7 food production line

Six PLCs, three lines and around 8,000 tags that only a handful of people could read. A unified data layer plus a private AI agent turned that into something anyone on the floor can ask a question to — and unplanned downtime fell 28%.

Rounds of cheese moving along a conveyor beside stainless steel processing equipment
Cheese production line · continuous 24/7 operation
Industry
Cheese manufacturing Continuous, 24/7
Client type
Single-site producer LATAM
Platform
Ignition UNS + AI agent ControlLogix PLCs
ISA-95 scope
L1 – L3 PLC data to decision support
Installed base
3 lines · 6 PLCs ~8,000 tags gathered
Rollout
Zero disruption No production downtime

Results

28% Less unplanned downtime, H1 2026 against H1 2025 Fewer incidents + faster fixes
70→25 Minutes of average downtime on the night shift, when no PLC programmer is on duty Per line issue

01 The situation

Where the project started.

The client runs a single, continuous production plant with half a dozen PLCs spread across multiple lines, each one a closed island of data. When something went wrong on the floor, only a handful of people — usually whoever had originally programmed that specific machine or line section — could actually read what it was doing. Everyone else waited.

The chief programmer went on sick leave. Days later, a sudden incident in the curd coagulator wasted 75,000 litres of milk, because no one else knew how to troubleshoot the issue and it was too early to call the manufacturer's support in Germany.

The technical challenge

  • No single view of what was happening across the plant floor. Each PLC held its own data, readable only through vendor-specific software few people had access to.
  • Troubleshooting depended on tribal knowledge rather than shared visibility. There was no single source of truth, so no maintenance technician could look up an answer to a problem that had most likely happened before.
  • Historical data existed in scattered logs, but nobody had time to turn it into anything actionable before the next shift started. There were no thoughtful, meaningful shift reports to keep information flowing between people.

02 The approach

The architecture decisions.

On the plant floor

Architecture diagram: plant floor sources feed a central gateway, publish through a broker, cross the plant/cloud boundary to a private AI agent, and return as a dashboard back on the plant network.

6 × ControlLogix PLC · 3 lines

~8,000 tags gathered

Existing SCADA + historian

Not modified. Never written to.

Ignition UNS gateway

One single, structured data layer

Passive by design, so a failure here never touches production

MQTT broker · on the plant's own server

Filtered feed only: alarms · deviations · summarised status

The full tag-by-tag stream never leaves the plant

Plant network → Rented cloud

Private AI agent · rented cloud

RAG on the plant's own manuals, drawings and PLC programs

Read-only — it flags and advises, an operator decides and acts

Browser dashboard + chat

Served on the plant network · no install

Role-based: line operator · maintenance technician · production supervisor…

Nothing new in the floor cabinets — the existing SCADA Ethernet network is reused

Built by GVA Read-only · not modified

We built a Unified Namespace on Ignition that reads almost every PLC tag on the floor over Ethernet/IP and writes it into a single, structured data layer — without modifying or writing data to the plant's existing SCADA or control logic. Modifying or writing to a validated SCADA system to add a feature risks the very process it protects. Reading in parallel keeps the UNS passive, so a failure there never touches production.

On top of that data layer we deployed a private AI agent trained on the plant's own manuals, drawings and PLC programs, so it can answer in plain language instead of requiring someone to open the PLC project file. Anyone on the floor can ask it a question, and it also pushes proactive alerts when production drifts from plan, a line stops, or a schedule falls behind. The browser-based dashboard and chat are served locally on the plant network — no install required, so it opens from any mobile, tablet or computer without needing internet access.

The MQTT broker that links the UNS to the AI agent runs on the plant's own server, next to the existing SCADA and historian, not in an external cloud. It only publishes a filtered feed — alarms, deviations, summarised status — so the agent has what it needs to answer and alert without the full tag-by-tag stream ever leaving the plant.

03 How it was implemented

Phase by phase, with the real durations.

  1. Assessment

    3–4 weeks

    Surveyed every PLC and the existing network, studied the production process, and sized the VMs precisely on total tag count and required refresh rates. We also gathered the inputs needed to scope the project: user roles, IT/OT policies and existing documentation.

  2. UNS deployment

    2–4 weeks

    Configured the VMs, deployed the UNS and started collecting data. From this point on, dashboards for live and historical raw data are already available. No production downtime.

  3. AI agent deployment

    4–6 weeks

    Implemented the agent, built the knowledge base and ran its initial training. No production downtime.

  4. Adoption

    3–12 months

    Trained plant staff on how to use the agent, combined with frequent retraining to improve it over time. Continuous feedback — both improving the agent and teaching the client's own team how to do it — is what gets the most value out of the system long term.

04 Results

What it delivered.

  • Unplanned downtime dropped 28% in the first half of 2026 compared with the first half of 2025. That is a combination of fewer incidents, thanks to proactive alerts from the agent, and shorter resolution times when troubleshooting.
  • Another clear insight: average downtime from a line issue during the night shift — when a PLC programmer is never on duty — went from 70 minutes to 25.

The takeaway

The bottleneck in most plants isn't a lack of data. It's that the data lives in a format only a handful of specialists can read.

05 FAQ

Practical questions about this project.

No. To keep production uninterrupted and preserve existing data integrity, we roll out the UNS and its database as a separate data bucket from the SCADA database. We can pull relevant data from the SCADA historian to feed the UNS with production history, but never the other way around.

The agent runs on RAG (retrieval-augmented generation): every answer is grounded in the plant's own manuals, drawings and PLC programs, not generated from general training knowledge. If nothing relevant comes back, it says so instead of guessing. It also has read-only access to the floor: it flags and advises, an operator decides and acts.

We can provide access anywhere at any time, but that doesn't mean to anyone. We configured a role-based system where every user has a role — line operator, maintenance technician, production supervisor — that determines which dashboards they can access and also tailors the answers from the AI agent. The agent won't give a line operator technical instructions on how to solve a sensor wiring problem, for example.

In most cases we reuse the existing SCADA Ethernet network, since every PLC is already connected to it, so nothing new goes into the floor cabinets. We do recommend a dedicated server or VM on site for the UNS gateway and database. The AI agent itself runs on rented cloud compute, off the plant floor entirely.

Talk to us

Same challenge on your floor?

Still relying on one specialist to explain why a line stopped? Sitting on years of PLC data nobody outside that person can actually query? Let's talk about what a unified data layer and an AI agent would take for your plant.