Industrial integration case study

Machine Data and Stoppage Control Bridge

A business-side bridge that converted machine state, operator context and confirmation logic into traceable SQL stoppage records without taking control away from the PLC/SCADA layer.

Anonymised client delivery Manufacturing / Industrial Operations C# .NET Worker Service SQL Server OPC UA / SCADA context
Disclosure and attribution

What this case study represents.

The client and plant are not identified. The workflow, architecture and engineering decisions described here reflect delivered work, while commercially sensitive implementation details remain omitted. Safety-critical PLC and SCADA ownership remained with the responsible automation team.

Executive summary

The operational problem, not only the final interface.

The operational problem was not simply that machine data was unavailable. Machine state existed in the control environment, operator knowledge existed on the shopfloor and management reporting existed elsewhere, but these sources did not form one defensible history. The solution introduced a .NET bridge and operator workflow that treated machine evidence, human explanation and business-side status as separate but connected facts.

Business context

Where the system had to operate

The manufacturing environment already had production equipment, PLC/SCADA state and operational reporting expectations. What was missing was a reliable business-side lifecycle for a stoppage: when the stop began, which machine state was observed, what reason the operator supplied, what action was requested, whether the control system confirmed the requested state and how failures were recorded for later support.

Challenge

What the existing method could not control

Manual stoppage sheets and loosely connected screens could not reliably reconstruct events after the fact. Operators needed a practical way to supply context, managers needed searchable SQL history and the integration had to respect the boundary between business software and the control system.

Complexity

Why this was not a generic app

The difficult part was state ownership. A stopped machine, an operator-selected reason, a requested restart and the PLC's actual state are not the same thing. Treating them as one value creates race conditions, false closure and unsafe assumptions. Communication loss, delayed confirmation, repeated signals and screen refreshes also had to be handled without corrupting the event history.

Solution overview

How INESSOFT approached the system boundary.

The system separated actual machine state from wanted business state. A background bridge monitored the agreed tags, normalised transitions, created or updated stoppage episodes in SQL and exposed unresolved events to the operator portal. The operator recorded a reason and requested the next state, while the bridge continued writing or checking until the PLC/SCADA layer confirmed the actual state. Every important transition and communication failure remained visible.

The resulting system created a traceable stoppage lifecycle instead of a collection of disconnected values. Production and engineering could review the same event history, operator explanations remained linked to the machine evidence and integration failures were diagnosable rather than silently absorbed.

OPC/SCADA → SQL Control-system state was converted into business-side events without relocating safety logic.
Wanted / actual Requested state and confirmed machine state were modelled separately.
Operator context Reason capture supplemented machine evidence instead of overwriting it.
Recoverable Retries, stale state and communication problems remained visible to support staff.
Reconstructed system view

A visual model of the operating surface behind the case study.

This is a content-based reconstruction, not a client screenshot. It shows the kinds of live inputs, controlled states, modules and evidence the delivered system had to bring together.

Machine Data and Stoppage Control Bridge OPERATING VIEW
OPC/SCADA → SQL End-to-end bridge Control-system state was converted into business-side events without relocating safety logic.
Wanted / actual Explicit confirmation Requested state and confirmed machine state were modelled separately.
Operator context Human explanation Reason capture supplemented machine evidence instead of overwriting it.
Recoverable Failure visibility Retries, stale state and communication problems remained visible to support staff.
CONTROLLED EVENT FLOW
01

The PLC or SCADA layer exposes the agreed machine-running state.

02

The bridge detects a valid transition and records the source timestamp and asset context.

03

When a stop begins, the system opens a stoppage episode instead of merely flipping a boolean.

04

The operator interface shows the unresolved event and requests the required reason or action.

Reconstructed from the documented system boundary; confidential interfaces and client data are not reproduced.
Outcome evidence

Operational evidence is stated without invented ROI percentages.

Exact client throughput, time-saving and financial figures are not published for this system. The case study therefore limits itself to implemented controls, workflow changes and verifiable system capabilities rather than manufacturing a percentage improvement for marketing purposes.

System architecture

The responsibilities were separated before the screens were polished.

Each layer had a specific operational responsibility. This made failures easier to diagnose and prevented one screen, service or database field from becoming the accidental owner of the entire process.

01 Control-system boundary

The PLC and SCADA environment remained authoritative for actual machine state. The business application consumed agreed signals and, where explicitly permitted, issued a request through a defined interface rather than embedding control logic in the portal.

02 .NET bridge service

A background worker subscribed to or polled the relevant values, normalised transitions, applied debouncing and kept the SQL event model in sync with the observed state.

03 Operational SQL model

Stoppage episodes, timestamps, machine identity, operator reason, requested state, actual confirmation and diagnostic information were stored as related records rather than flattened into one status field.

04 Operator workflow

A browser-based screen surfaced the current unresolved event, captured the operator's reason and preserved ownership of the next action.

05 Reporting layer

Dashboards and reports used the governed event history, allowing production and engineering to investigate losses without rebuilding the story from paper or memory.

Responsibility moves through explicit layers; no single screen or integration is treated as the whole system.
Operational workflow

What happened from the first input to the final controlled result.

A case study is useful only when the flow can be understood. The sequence below shows where users, devices, databases or external systems entered the process and how responsibility moved.

01

Workflow step 1

The PLC or SCADA layer exposes the agreed machine-running state.

02

Workflow step 2

The bridge detects a valid transition and records the source timestamp and asset context.

03

Workflow step 3

When a stop begins, the system opens a stoppage episode instead of merely flipping a boolean.

04

Workflow step 4

The operator interface shows the unresolved event and requests the required reason or action.

05

Workflow step 5

The operator submits context and, where permitted, requests the next business state.

06

Workflow step 6

The bridge stores the wanted state and communicates through the defined control-system boundary.

07

Workflow step 7

The PLC/SCADA layer confirms the actual state independently.

08

Workflow step 8

The stoppage closes only when the agreed confirmation rule is satisfied; failures remain visible for support and reporting.

Major modules

The practical capabilities that made the system usable.

These were not isolated feature requests. Each module supported a specific part of the operational lifecycle and shared the same data, state and accountability model.

SYS Delivered capability

Machine-state adapter

Translated raw tags into explicit business events with timestamps, asset context and source quality.

SYS Delivered capability

Stoppage lifecycle

Opened, updated and closed a stoppage episode according to observed transitions and agreed business rules.

SYS Delivered capability

Reason capture

Allowed the operator to select or enter context while protecting the original machine evidence.

SYS Delivered capability

Wanted-versus-actual handshake

Tracked the requested next state separately from the PLC/SCADA confirmation.

SYS Delivered capability

Diagnostics and retries

Recorded communication failures, stale values, retry attempts and unresolved confirmations.

SYS Delivered capability

Operational reporting

Exposed stoppage duration, reasons, exceptions and history through SQL-backed views.

Engineering decisions

Choices that protected the system from plausible failure.

The important work was often deciding what not to combine, automate or assume. These decisions made the resulting system easier to support and more honest about its boundaries.

Preserve control authority

The application was intentionally not allowed to become an informal PLC. The automation layer retained responsibility for machine control and safety behaviour.

Model events, not snapshots

A timestamped stoppage episode is more useful than repeatedly overwriting a current-state field because it preserves duration, sequence and causality.

Separate human and machine evidence

Operator reasons explain the event; they do not replace the raw machine state. Both remain available for later review.

Use idempotent updates

Repeated reads or retries must not create duplicate stoppages or close the wrong event.

Make stale data visible

A green dashboard based on an old value is worse than an explicit communication warning. Data freshness became part of the model.

Delivery approach

A phased path from evidence to a supportable system.

The project was broken into phases that reduced the highest-risk uncertainty first. This prevented a broad implementation from hiding an unproven data or workflow assumption.

01

Discovery and ownership map

Document the current signals, PLC/SCADA ownership, existing stoppage process, reason codes, reports and write-back restrictions.

02

One-machine event model

Prove transition handling, SQL persistence, operator capture and failure logging on a bounded machine or line.

03

Operational validation

Run through real stops, delayed confirmations, repeated signals, abandoned screens and network interruption.

04

Reporting and expansion

Only after the event model is trusted, add broader dashboards, OEE measures or additional assets.

Risk controls

Operational risk was designed into the software, not added as a disclaimer.

The controls below reflect the kinds of failure that could produce wrong records, unsafe assumptions, hidden exceptions or a system users would bypass.

Unsafe control assumptions

Kept safety and machine-control logic outside the business application and required explicit automation ownership.

Race conditions

Separated wanted and actual states so a user action could not be mistaken for physical confirmation.

Duplicate or missing events

Used explicit event identity, transition rules and idempotent persistence.

Silent communication failure

Stored diagnostic state and exposed stale or unresolved conditions.

Operator bypass

Designed reason capture around the real shopfloor moment rather than adding a later administrative burden.

False management confidence

Built reports on the governed event history rather than raw tags with unverified meaning.

Outcomes

What became more controlled or useful.

  • A searchable SQL history of stoppages and state transitions.
  • Operator reasons linked to, but distinct from, machine evidence.
  • Clearer responsibility between automation, application and operational users.
  • Diagnosable communication and confirmation failures.
  • A reliable foundation for downtime analysis, OEE and production reporting.
  • A phased architecture that could expand without rewriting the control boundary.
Engineering lessons

What this system reinforced.

  • Machine data becomes useful only after its operational meaning and ownership are agreed.
  • A requested action is not evidence that the physical system completed it.
  • Operator context and control-system evidence should reinforce each other, not compete for the same field.
  • Reporting should be delayed until event identity, timestamps and failure handling are trustworthy.
  • Industrial integrations need a support path for partial failure, not only a happy-path demo.
Where this pattern fits

Organisations likely to recognise the same underlying problem.

The exact sector or technology may differ. The closer match is usually the workflow shape, source data, failure modes and operational responsibility.

Relevant operating pattern

Factories with manual stoppage sheets or untrusted downtime reports.

Relevant operating pattern

Plants where PLC/SCADA state must reach SQL and management systems.

Relevant operating pattern

Production teams that need operator reasons tied to real machine events.

Relevant operating pattern

Operations with recurring disagreement between engineering, operator and management data.

Relevant operating pattern

Industrial sites that need a support layer without replacing the existing control system.

Related INESSOFT services

The service lanes most closely connected to this case study.

The case study provides evidence. The service pages define the current delivery boundary, first-step artefacts, exclusions and technical scope for a new engagement.

Machine data

Machine Data Capture Systems

Create a trustworthy event history from machine states, counters and operator context before building higher-level analytics.

machine data capture production data logging machine data to SQL
View service
Production visibility

Production, OEE & Stoppage Systems

Turn machine history and operator reasons into usable downtime, production and OEE improvement information.

OEE software South Africa stoppage tracking software production downtime tracking
View service
Industrial integration

OPC / SCADA / SQL Integration

Build a safe, supportable bridge between existing control-system data and business-side SQL applications.

OPC SQL integration SCADA SQL integration OPC UA .NET
View service
Operator screens

Shopfloor Operator Interfaces

Simple, robust screens for operators to capture the right data at the right point in the process.

shopfloor software operator interface software factory data capture screen
View service
Technology and system context

Technologies used or directly represented by the case study.

Technology is listed for precision, but the system boundary and operating process determined the architecture.

C# .NET Worker Service SQL Server OPC UA / SCADA context ASP.NET Core Razor Pages Structured logging
Case study FAQ

Questions a technical or operational buyer may reasonably ask.

Did the business application control the machine?

No. The integration respected the existing automation boundary. The business application recorded evidence, collected operator context and communicated through explicitly agreed interfaces; it did not absorb safety-critical PLC logic.

Why not write every tag directly into a reporting table?

Raw tags are not automatically business events. A useful history needs state interpretation, asset context, timestamps, duplicate handling, communication quality and rules for when one operational episode begins or ends.

Can this pattern support OEE?

Yes, once the running, stopped, planned and unplanned event model is trusted. OEE calculations should be built on governed production events rather than used to hide uncertain source data.

What would a first phase require?

One machine or line, the relevant tag list, current reason codes, a sample stoppage report, the automation owner and agreement on read/write responsibility.

Related case studies

Other systems with overlapping engineering or operational patterns.

View all case studies
Manufacturing / Warehouse / Field Operations

Barcode, QR and Physical-Item Tracking System

A scan-driven system that gave each physical item a durable digital identity and recorded its movement, status, evidence and ownership over time.

Anonymised client delivery ASP.NET Core Razor Pages
Use the case study as a starting point

Does your operation have the same shape of problem?

Bring one real artefact: a report, spreadsheet, machine signal, job record, certificate, import file, device or system error. INESSOFT can map the current process and define a credible first phase.