Data & integration

Bringing PLC data to a web dashboard

Preserve meaning and quality from approved reads to the user's screen.

Bringing PLC data to a web dashboard does not mean connecting the browser directly to the PLC. Typically an approved collector reads the controller, normalises the meaning and forwards records to a server. The user’s screen obtains authorised data through an application interface, preserving a boundary between the control network and internet access.

Verify the signal meaning

Start with the tag or register list. A running bit, fault code, cycle counter and production count behave differently. Meaning can depend on the PLC program, machine mode or product recipe. Confirm it with the automation owner rather than inferring production behaviour from a label alone.

The signal dictionary should include type, scaling, word order, unit and quality. A counter reset is not lost production. A cleared fault bit does not mean someone reviewed the incident. These distinctions must be settled before they become dashboard assumptions.

Keep responsibilities separate

PLC → collector → validation and storage → API → user dashboard

The collector manages approved device access and polling load. Storage retains event time, identity and quality. The API enforces access to specific equipment, and the interface explains the measurement and its age. Combining every duty in one unstructured component makes failures difficult to diagnose.

The browser must not receive PLC passwords or broad control-network privileges. Authentication and authorisation are different checks: logging in does not grant access to every machine, and permission to monitor does not automatically include permission to issue commands.

Illustrative state timeline

Assume a machine exposes running, waiting and fault states. Record transitions with timestamps and define precedence if multiple signals are active. Communication loss is an unknown data interval, not another production state to guess. A dashboard should preserve that distinction in totals as well as in its chart.

When a user opens a downtime interval, show relevant fault codes and the availability of supporting data. If the reason is not known, allow an authorised operator to confirm it. Later corrections should retain who changed what, when and why instead of silently replacing the earlier record.

Test restart and reconnection

Reading the current PLC state after a collector restart may not recover all missed transitions. An event buffer, controller counter or another source may be required. Software cannot invent events that were never recorded. The gap must remain visible unless a reliable source fills it.

Screen refresh and PLC polling frequency are separate. Updating the browser every second does not demonstrate a new field reading every second. Present the source timestamp and connection state together. The acceptable age of a value should follow the user’s task.

Commissioning checklist

  • Compare known machine transitions with stored events.
  • Measure collection load while production is operating.
  • Check permissions across different machines and users.
  • Test network loss, collector restart and late events.
  • Trace a displayed record to the original source data.

A read-only first release can keep the scope manageable. If command writes are later required, treat them as a separate control project with approval, local conditions and physical safety considerations. Adding a button to an existing API is not sufficient evidence that remote control is safe.

Follow one event across the application

For an illustrative acceptance exercise, have the authorised automation team identify a known machine transition. Record which source signal represents it and how the source time is obtained. Trace the collector record, stored event and API response before looking at the chart. If the interval differs at two layers, the evidence should show whether collection timing, conversion or presentation created the difference. A screen that looks plausible is not enough to settle that question.

Include a product change in the exercise. A cycle counter may continue across recipes while the expected cycle time changes. Keep product context and its effective time with the interpretation rather than overwriting one global target. Test a counter reset and confirm that it does not appear as a large negative production count. If the underlying PLC cannot expose sufficient information, record the limitation instead of manufacturing a precise result from incomplete signals.

At the API, request the same equipment with an account that has no access to it. The server should reject the request even if the user manually supplies the identifier. Also test an expired session while the dashboard is open. The interface should explain that access has ended without continuing to display new restricted information. Browser-side filtering is only presentation; it cannot provide this boundary.

Agree on change control with the automation owner

An integration depends on a living machine configuration. A tag can be renamed, a register can be repurposed and a firmware change can affect a communication interface. Keep the approved signal map version and the procedure for checking changes. Where practical, compare expected source identity and configuration before treating a stream as ordinary production data again after maintenance.

A useful handover package contains a small annotated payload, the state precedence rules, reset handling, permission boundaries and observed behaviour during a collector restart. Include who can authorise polling changes and when they may be tested. Do not increase collection frequency simply because a web user requests a faster animation; evaluate the actual source update rate and device load first.

For the initial project discussion, share the controller model, the available read interface and a few operating questions. Identify whether you need current state, counts or a recoverable event history. These requirements lead to different collection choices and determine what a professional dashboard can truthfully show.

Which data do you need to see? Which process could work better?

Tell us about your equipment and your requirements. Let's explore a suitable approach together.

Let's talk about your project