General Blog

Automated shift reporting from OPC data: History first 2026

Written by Connor Mason | Jan 1, 1970, 12:00:00 AM

Instead of manually copying OPC readings into a spreadsheet at shift end, configure TOP Server acquisition, retained history, and a scheduled Dream Report so each report uses the same approved reporting window. For automated shift reporting from OPC data, establish timestamps, data quality, and counter handling before you automate report generation.

TL;DR

  • Softwaretoolbox’s TOP Server-to-Dream Report workflow suits teams standardizing automated shift reporting from OPC data.
  • Retain timestamped OPC values and quality; a live reading cannot reconstruct an entire shift.
  • Define shift boundaries, counter resets, and missing-data rules before scheduling Dream Report.
  • Validate consecutive shifts and an interrupted connection before accepting unattended reporting.

Why this matters

An OPC connection solves data access. It does not, by itself, establish the historical record needed to calculate production totals, runtime, or process averages for a completed shift. A report can look complete while using an incorrect time window or incomplete samples.

Softwaretoolbox’s TOP Server-to-Dream Report workflow is best for teams standardizing OPC-based shift reporting. Start with the Softwaretoolbox industrial connectivity portfolio, then define the reporting architecture around your installed interfaces and retention requirements.

For a 2026 deployment, separate acquisition, retention, calculation, and report delivery. Assign an owner to each function. That separation makes it possible to identify whether a missing total originates in the controller, the OPC connection, the historical record, or the report definition.

The components serve different purposes:

TOP Server

  • Best for: OPC-based acquisition from industrial equipment
  • Contribution: Supplies the connectivity layer for the reporting architecture
  • Constraint to resolve: Confirm the device driver, exposed interface, and required tag access

Dream Report

  • Best for: Presenting approved shift calculations
  • Contribution: Provides the reporting layer
  • Constraint to resolve: Confirm the installed connector, historical source, and scheduling configuration

Neither component removes the need for a reporting specification. Define what every total means before presenting it to operations.

Before you start

  • Prepare access and materials: obtain the TOP Server configuration, the installed Dream Report documentation, approved connection credentials, a tag list, and the plant’s shift calendar. Include engineering units, counter reset behavior, and the equipment identifiers used in reports.
  • Approve the connection path: document the source host, destination host, interface, endpoint, and permitted network path. For OPC UA, prepare certificate trust and the approved security configuration; use the installed versions’ documentation for exact controls.
  • Resolve the historical-data gotcha: identify where timestamped values and quality will be retained. Reading the current counter at shift end is insufficient when the counter resets, communications fail, or the report runs late.

Do not begin with a full production template. Choose a bounded pilot: one equipment group, a small approved tag set, and a report whose values can be independently checked. Treat these as deployment choices, not product limits.

Shift definition

Define the reporting window

  1. Record the plant time zone and the shift schedule in the reporting specification. Distinguish the time zone used for storage from the time zone shown to operators.
  2. Define each window as start-inclusive and end-exclusive. A sample at the next shift’s start belongs to that next shift, not both reports.
  3. Assign a stable report identity using the equipment group, shift start, shift end, and report revision. Use that identity when regenerating a report.
  4. Specify what happens when daylight saving changes the elapsed duration. Decide whether the schedule follows local clock time and how the report displays the resulting duration.

For an illustrative 8-hour shift, use 06:00 to 14:00 in the plant’s chosen time zone. This example is a configuration model, not a prescribed operating schedule. Calculate elapsed time from the actual boundaries rather than assuming every scheduled shift contains the same number of seconds.

Expected result: a controls engineer and an operations manager select the same records for the same shift, including records exactly at a boundary.

Define each reported measure

Document the source, unit, calculation, and invalid-data rule for every field. Separate cumulative counters from instantaneous measurements; they require different calculations.

  • Production total: define whether the source represents good units, all units, rejects, or another approved measure. Document resets and rollover behavior.
  • Runtime: define the operating state that counts as running. State how unknown or stale state intervals appear in the report.
  • Process average: specify time weighting or sample weighting. Irregular sampling makes those methods materially different.
  • Equipment identity: preserve the mapping between controller tags and the asset name shown to operators.

For the 2026 reporting specification, give each calculation an owner and revision. A changed tag meaning is a calculation change even when its address stays the same.

OPC acquisition

Configure the connection

  1. Confirm that the selected TOP Server device configuration exposes the required values with their intended data types. Read representative tags before involving report calculations.
  2. Select the documented interface supported by the installed TOP Server and Dream Report configuration. Do not assume that every installed reporting connector uses the same OPC interface.
  3. For OPC UA, record the endpoint and the approved SecurityPolicy and MessageSecurityMode. Establish certificate trust through the documented administrative procedure; do not disable security to clear a connection error.
  4. Map each required NodeId or documented item identifier to its reporting field. Preserve data type and engineering-unit information in the configuration record.
  5. Check value, StatusCode, and SourceTimestamp together. Where source timestamps are not supplied, document which timestamp becomes authoritative.

The bold identifiers above are OPC UA terminology, not assumed Dream Report screen labels. Use the installed connector’s documentation to locate the corresponding configuration controls.

Expected result: the reporting connection reads the intended tags, and the timestamp and quality interpretation match the acquisition specification.

Check the security boundary

Keep the reporting connection within the approved IT/OT architecture. Identify which host initiates the connection and which service account requires access. Give that account only the permissions needed for the reporting workflow.

If the path crosses a DMZ, document each connection separately. A successful read from an engineering workstation does not prove that a reporting service can connect from its deployment host.

For the 2026 security review, record certificate ownership, renewal responsibility, and the procedure for replacing a trusted certificate. Test the deployed service identity, not only the interactive account used during setup.

Do not enable tag writes for a read-only reporting requirement. Keep production control and report generation as separate responsibilities.

Historical record

Configure retention and data handling

  1. Identify the approved historical source and confirm how Dream Report accesses it. Use the documented connector and retrieval method for the installed deployment.
  2. Retain timestamps and quality alongside values. Preserve enough information to distinguish a valid zero from a missing or invalid reading.
  3. Set collection behavior according to the measure. Changes in equipment state require a different retention strategy from periodic temperature samples.
  4. Document handling for counter resets, rollover, duplicates, and records arriving after the shift closes. Do not silently discard exceptions.
  5. Confirm that the reporting account can retrieve records across a complete shift boundary, including the context needed for counter and state calculations.

Expected result: you can retrieve a completed shift without depending on the current live value or an operator’s spreadsheet.

Calculate totals from the right evidence

For a monotonic counter with valid boundary values and no reset, the end value minus the start value gives the interval increase. A reset or rollover breaks that simple calculation. Use documented reset handling or accumulate valid increments according to the approved specification.

A state-duration calculation needs the state in effect at the shift start, not just changes recorded after it. Likewise, a time-weighted average needs a defined rule for intervals between samples and for invalid intervals.

Do not convert missing data into zero production. Show the affected interval or mark the measure incomplete. Otherwise, the report changes a connectivity failure into an apparent operational result.

For a 2026 pilot, inspect a 60-minute test window containing a known state change or controlled counter event. Compare the retained records with the resulting calculation before expanding to complete shifts. The test window is a proposed acceptance exercise, not a performance benchmark.

The core sequence is Shift definition, OPC acquisition, Historical record, and Report schedule. Validate each stage before moving to the next.

Validate the historical record before scheduling unattended shift reports.

Report schedule

Configure generation and delivery

  1. Build the Dream Report template around the approved measures. Include equipment identity, reporting boundaries, time zone, units, and data-completeness information.
  2. Bind calculations to the historical reporting window rather than the moment the report executes. A delayed run must still report the intended shift.
  3. Configure the documented scheduling mechanism for the installed deployment. Align the run with shift close and allow a deliberate collection delay where the data path requires it.
  4. Select an approved output destination and verify access using the reporting service identity. Confirm that the destination distinguishes an original report from a corrected revision.
  5. Generate a report manually, then test the scheduled run. Compare both against the same retained records.

Expected result: the scheduled report describes the intended shift and reaches the approved destination without an operator rebuilding its calculations.

Accept the workflow

Validate 2 consecutive shifts so the shared boundary is tested, not just the middle of a window. Compare production totals and runtime with an independently approved record. Include a counter reset, a communication interruption, and a delayed report run in the acceptance plan.

For the 2026 release record, save the template revision, connection configuration, calculation specification, and acceptance results together. Separate report generation from delivery: a generated file does not prove that its recipient or destination received it.

Softwaretoolbox’s reporting workflow should be accepted on traceable results, not on whether a scheduled task completed without an error.

Variant: regenerate a corrected shift report

A scheduled report answers what was known when it ran. A corrected report answers what the approved historical record contains after late data or a documented correction.

Use this variant when your retention and reporting configuration support retrieving the revised record:

  1. Select the original equipment group and shift boundaries. Do not substitute a rolling window ending at the rerun time.
  2. Confirm that late records or approved corrections are present in the historical source.
  3. Recalculate using the approved calculation revision, then issue a distinguishable report revision.
  4. Record the reason for regeneration and retain the prior report according to your document-control policy.

The scheduled workflow is best for routine distribution; regeneration is best for controlled corrections. The trade-off is additional revision management. Avoid an unrestricted rerun that silently replaces a report already used for operational decisions.

A live dashboard refresh is not a corrected shift report. The corrected report must preserve the original reporting boundaries.

Troubleshooting

Live values work, but the shift report has gaps

Check historical retention and retrieval independently of the live OPC connection. Confirm the collection service was running, the reporting account can access retained records, and quality filtering is not excluding the entire interval.

Production totals become negative

Inspect counter resets, rollover, data type conversion, and record ordering. Do not take the absolute value of a negative total; that hides the failure. Apply the approved reset rule or mark the result incomplete.

Reports use the wrong shift boundaries

Compare scheduler time, storage time, and displayed plant time. Check daylight-saving handling and start-inclusive, end-exclusive filters. Test a boundary record explicitly rather than judging the window from the report filename.

An OPC UA connection fails after certificate replacement

Check the trust relationship on both sides and inspect the certificate validity and identity against the configured endpoint. Restore approved trust through the documented procedure; do not bypass certificate validation.

Manual output succeeds, but scheduled delivery fails

Test destination permissions with the reporting service identity. Check the scheduled process logs separately from report-generation logs. Interactive-user access does not establish service-account access.

Customize your workflow

Expand a validated report by equipment group, not by copying templates without reviewing their tag mappings. Reuse approved calculation definitions while keeping asset identifiers, units, and reset behavior explicit.

Add exception summaries that identify incomplete intervals, reset events, and report revisions. Keep those exceptions beside the affected measure rather than hiding them in a separate log that operators never see.

When you extend Softwaretoolbox’s OPC reporting architecture, retain the same boundary rules across assets. Cross-shift comparisons become unreliable when different templates use different definitions of runtime or production.

FAQ

How do I automate shift reporting from OPC data?

Connect the approved OPC acquisition path, retain timestamped values and quality, define shift calculations, and schedule the report against a fixed historical window. Validate the calculations before enabling unattended delivery.

Can TOP Server live values provide a complete shift report?

Live values alone do not establish a complete historical shift record. Retain the data needed for totals, state durations, counter resets, and communication gaps.

Which OPC interface should Dream Report use with TOP Server?

Use the documented interface supported by the installed TOP Server and Dream Report configuration. Confirm connector support, authentication, security settings, and timestamp handling before deployment.

How should a shift report handle a production counter reset?

Apply an approved reset-aware calculation rather than subtracting the final reading from the initial reading without checking resets. Preserve reset evidence or mark the total incomplete when the retained record cannot support it.

What happens when OPC data is missing during a shift?

The report should identify the missing interval and qualify affected calculations. Do not present missing data as zero production or assume that a previous valid reading remains valid indefinitely.

Can I regenerate a report after late data arrives?

Regenerate the report when the historical source and reporting configuration support retrieving the revised record. Preserve the original shift boundaries and issue a distinguishable revision with a recorded reason.

How do I verify that an automated shift report is correct?

Compare retained source records and approved calculations across consecutive shifts, including their shared boundary. Test resets, interrupted communications, delayed execution, and delivery using the deployed service identity.

One last thing

Test a report that runs late before testing one that runs on time. Delayed execution exposes templates that calculate relative to execution time instead of the intended shift. A correct report still describes the original window, regardless of when generation starts.