DDAS Machine Insight Suite – Understanding Your Data

About this guide

The library manuals describe every function block, input and output. This guide answers a different question: what do the numbers tell you? It explains the information you get from the Machine Insight Suite, shows with worked examples how the values relate to each other, and points out what to check when a value looks unexpected.

It is written for machine builders who integrate the suite, and for the people who read the results on a dashboard: production managers, process engineers and operators.

The OEE terms and formulas follow the widely used definitions published on oee.com (Vorne Industries). Where the suite deviates from them or adds something, this guide says so.

You want to know Chapter
Which information the suite provides and where it comes from 2
What a "schedule" is and why everything is counted per schedule 3
How the time of a shift is divided into productive time and losses 4
How OEE, availability, performance, quality and TEEP are calculated 5
How stops are classified and what short stops are 6
What targets, throughput and losses in product count mean 7
How to read the top 10 stop reasons 8
How the batch end time is forecast 9
How several shifts or batches are combined 10
Why a value looks different from what you expected 11

Document history

Version Date Author Description
1.0 07.10.2026 DDAS Initial version
1.1 08.10.2026 DDAS Time model: note that the speed loss is updated with each counted part.

The information at a glance

Information flow

The suite needs only a few signals from the machine. From these it derives all information:

Signal from the machine Used for
Production state (producing, starved, blocked, no material, operator stop, failure, not ready, no demand) Losses, availability, top states
Product count OK and NOK Quantity, quality, performance, throughput
Planned speed in products per minute Ideal cycle time, targets, performance
Batch target, batch start and stop Batch end forecast
Shift and break calendar (parameters) Active schedule, planned production time
Information Provided by Structure
Local time, UTC time, weekday, calendar week Date Time Library scDateTimeInfo
Active shift, batch or break with start and end Scheduler Library, GetSchedule scScheduleInfo
Remaining build time and estimated batch end Scheduler Library, GetBuildTime and GetBatchScheduledEndTime —
OEE, availability, performance, quality, TEEP, quantities, targets, throughput Equipment Performance Library scPerformanceDetails
Production times of the schedule Equipment Performance Library scProductionDetails
Duration and number of every kind of stop Equipment Performance Library scProductionLossDetails
Top 10 stop reasons by duration and by occurrence Equipment Performance Library scTopState
The last 21 schedules EP_History arrays of the structures above
One total result over several schedules EP_Result scEP_Result

All values are calculated on the controller, in every PLC cycle. They are available without a database or a cloud connection and can be shown on a visualization or passed on to a higher-level system.

Everything is counted per schedule

A schedule is the period for which the suite collects and evaluates data. It can be

When a schedule starts, all counters start at zero. When it ends, the result is frozen, can be stored in the history, and the next schedule starts again at zero. Every value in this guide therefore answers the question "how is this shift (or batch) doing so far?", not "how is the machine doing in general?". Chapter 10 shows how to combine several schedules.

A break does not end a schedule. It pauses it: during a planned break no stop is counted and the time is not part of the planned production time.

Good to know

The time model

OEE divides the time of a schedule into what was productive and what was lost, step by step. The suite provides every step as a value.

Time model

Step Meaning Value
All time Time since the schedule started scPD.tActualAllTime
− Schedule loss Time in which no production was planned: breaks, "no demand" and time without a reported state scEP.tScheduleLoss
= Planned production time Time in which the machine should have produced scPD.tPlannedProdTime
− Availability loss Long stops: failure, not ready, and every stop longer than the short stop time scEP.tAvailabilityLoss
= Run time Time in which the machine was running scPD.tRunTime
− Short stops Stops shorter than the short stop time scEP.tPerformanceLoss
− Speed loss Time lost because the machine ran slower than planned scEP.tSpeedLoss
= Net run time Time the produced parts need at planned speed (ideal cycle time × total count) scPD.tNetRunTime
− Quality loss Time spent on rejected parts scEP.tQualityLoss
= Fully productive time Time spent on good parts at planned speed scPD.tFullyProdTime

Where the suite gives you more detail than the standard model

The standard model has one performance loss. The suite splits it into short stops (measured as time) and speed loss (calculated: the part of the run time that is neither a short stop nor net run time). You can see at once whether the machine loses output by stopping briefly or by running slowly. The performance loss of the standard model is the sum of both.

The time model adds up: tRunTime = tPerformanceLoss + tSpeedLoss + tNetRunTime. The speed loss is updated with each counted part, so between two parts the sum can differ by up to one cycle time. Its ratios can be checked directly: performance is tNetRunTime / tRunTime, quality is tFullyProdTime / tNetRunTime, and OEE is tFullyProdTime / tPlannedProdTime.

OEE and its three factors

Formulas

KPI Formula Question it answers
Availability Run time / Planned production time How much of the planned time was the machine running?
Performance (Ideal cycle time × Total count) / Run time How fast did it run while it was running?
Quality Good count / Total count How many of the parts were good?
OEE Availability × Performance × Quality How much of the planned time was fully productive?
TEEP OEE × Planned production time / All time How much of the whole time was fully productive?

Ideal cycle time is the time for one product at planned speed: 60 s / products per minute. With 60 products per minute it is 1 s. The suite calls it rProductTime.

Worked example

One shift, the same numbers as in the figure of chapter 4:

Input Value
Shift length 480 min
Breaks 60 min
Long stops 40 min
Short stops 10 min
Planned speed 60 products per minute, ideal cycle time 1 s
Total count 19,950 products
Rejected (NOK) 399 products
Step Calculation Result
Planned production time 480 − 60 420 min
Run time 420 − 40 380 min = 22,800 s
Good count 19,950 − 399 19,551
Availability 380 / 420 90.4 %
Performance (1 s × 19,950) / 22,800 s 87.5 %
Quality 19,551 / 19,950 98.0 %
OEE 0.9047 × 0.875 × 0.98 77.5 %
TEEP 77.58 % × 420 / 480 67.8 %

The suite cuts the percentages after one decimal place; it does not round up. 90.47 % is shown as 90.4 %.

Check: in this example OEE can also be calculated directly as (good count × ideal cycle time) / planned production time = 19,551 s / 25,200 s = 77.5 %. Both ways give the same result, and the three factors show in addition where the 22 % were lost.

This shortcut works only as long as the ideal cycle time stays the same. As soon as the product changes during a schedule and the new product has a different planned speed, there is no single cycle time to multiply the count with. The suite therefore does not use the shortcut. It weights every part with the cycle time that was valid when the part was produced and calculates the performance from this sum (chapter 5.4). The result is correct for one product and for any number of product changes.

Example: a shift runs 200 minutes with product A (60 per minute, cycle time 1 s) and produces 10,800 parts, then 180 minutes with product B (30 per minute, cycle time 2 s) and produces 4,860 parts. The net run time is 10,800 × 1 s + 4,860 × 2 s = 20,520 s = 342 min. With a run time of 380 min the performance is 342 / 380 = 90.0 %. Multiplying the total of 15,660 parts with either of the two cycle times would give 68.7 % or 137.4 %, both wrong.

How to read the result

What the suite does in addition

Behaviour Why Setting
Performance is shown as 100 % at the start of a schedule With the first few parts the value would jump between extremes Start-up time and start-up count in scPar (default 5 min and 10 parts)
KPIs are refreshed every few seconds, not in every cycle A calm display that an operator can read scPar.tKPIUpdateFilter (default 5 s)
The planned speed may change during a schedule Each part is weighted with the cycle time that was valid when it was produced, so a product change does not distort the performance Input rProductsPerMin
OEE is 0 as long as one factor is 0 Before the first part, quality and performance are not defined —

Stops and losses

Which state causes which loss

The machine program reports one production state at a time. The suite assigns it to a loss:

Production state Typical cause Loss OEE factor
Producing Machine is running none —
NoDemand No order, waiting for start Schedule loss not part of OEE
Break (from the schedule) Planned break Schedule loss not part of OEE
None The machine program reports no state (error 32) Schedule loss not part of OEE
Starved No parts from upstream short: performance loss, long: availability loss Performance / Availability
Blocked Downstream does not take parts short: performance loss, long: availability loss Performance / Availability
NoMaterial Material ran out short: performance loss, long: availability loss Performance / Availability
OperatorStop Operator stops for a minor issue short: performance loss, long: availability loss Performance / Availability
EquipmentFailure Fault, emergency stop Availability loss Availability
NotReady Stopped, waiting for restart Availability loss Availability

How your machine states map to these states is defined once in the machine program (function StateConverter in the Application Template). This mapping decides how meaningful the result is. If, for example, every stop is reported as NotReady, the OEE is still correct, but the loss analysis and the top states cannot tell you anything.

Relation to the "Six Big Losses" (oee.com):

Six Big Losses

Six Big Losses In the suite
Equipment failure (unplanned stops) EquipmentFailure, NotReady and the long stops
Setup and adjustments (planned stops) Reported by your machine program as one of the states; as NoDemand it is a schedule loss, as NotReady or OperatorStop an availability loss
Idling and minor stops The four short stops
Reduced speed Speed loss
Process defects, reduced yield Quality loss (NOK parts); the suite does not separate start-up rejects from production rejects

The suite reports four of the six losses as separate values. The time model of oee.com combines "idling and minor stops" and "reduced speed" into one performance loss; in the suite this is tPerformanceLoss + tSpeedLoss. The speed loss is calculated, not measured: everything that slows the machine down without being reported as a stop ends up there. Between two parts it rises slightly and falls back when the next part is counted.

Short stops

A machine that stops forty times for five seconds has a different problem than a machine that stands once for three minutes. The suite therefore separates short stops from long stops.

Short stop and long stop

Choosing the limit: oee.com describes minor stops as stops of a minute or two that the operator resolves without maintenance. The defaults of the suite are lower, because a PLC can measure much shorter stops than a person can log. Set the limit to the duration below which nobody on your shop floor would write down a reason.

What you get for every kind of stop

For each of the ten kinds of stop (six long, four short), for breaks, NoDemand and the state None, scProductionLossDetails provides the total duration and the number of occurrences. tUnplannedDowntime and uiUnplannedOccurrence are the totals of the ten kinds of stop.

Duration divided by occurrences gives the average length of a stop. A long average points to a repair or supply problem, a short average with many occurrences to a chronic disturbance.

Targets, throughput and losses in products

Time is exact, but "we lost 40 minutes" is abstract. The suite therefore also expresses the result in products.

Targets

Value Formula Meaning
lrActualPlanTarget Planned production time / ideal cycle time Products you would have by now without any loss
lrActualNetTarget Run time / ideal cycle time Products you would have by now if the machine had run at planned speed whenever it ran
lrActualPlanOEETarget lrActualPlanTarget × OEE target Products you should have by now at your target OEE
lrActualNetOEETarget lrActualNetTarget × OEE target The same, based on the run time

The targets grow with time. They show where the schedule should be right now, not at its end. Compare them with lrQuantity: if the quantity is above the OEE target, the shift is ahead of plan. The OEE target is the input rOEEpercent.

Throughput

Value Formula Meaning
lrActualPlanTPH Quantity / planned production time, per hour Real output per planned hour
lrTargetPlanTPH lrActualPlanTarget / planned production time, per hour Planned output per hour
lrActualNetTPH Quantity / run time, per hour Real output per hour of running
lrTargetNetTPH lrActualNetTarget / run time, per hour Planned output per hour of running

The plan throughput includes all stops and answers "how much do we really get per hour?". The net throughput leaves out the long stops and answers "how fast is the machine when it runs?".

Losses in products

Value Formula
lrScheduleLoss Schedule loss / ideal cycle time
lrAvailabilityLoss Availability loss / ideal cycle time
lrPerformanceLoss Short stops / ideal cycle time
lrQualityLoss Number of NOK parts
lrSpeedLoss Speed loss / ideal cycle time

The example in products

Value Calculation Result
Plan target 420 min × 60 25,200
Quantity 19,950
Availability loss 40 min × 60 2,400
Performance loss (short stops) 10 min × 60 600
Speed loss 25,200 − 19,950 − 2,400 − 600 2,250 (= 37.5 min)
Quality loss 399
Plan target at 85 % OEE target 25,200 × 0.85 21,420
Actual plan throughput 19,950 / 7 h 2,850 per hour
Target plan throughput 25,200 / 7 h 3,600 per hour
Actual net throughput 19,950 / 6.33 h 3,150 per hour

Reading: the shift is 5,250 products behind the ideal. 2,400 were lost in long stops, 600 in short stops and 2,250 because the machine ran slower than planned. With a target of 85 % the shift should have 21,420 products and is 1,470 behind.

Top 10 stop reasons

The top state analysis sorts the ten kinds of stop of the running schedule in two rankings:

Each entry contains the state, its duration or its count, and its share of the total in percent.

Top states

How to read it

The ranking is as detailed as your state mapping (chapter 6.1). If you need the reason behind a state, for example which fault caused an EquipmentFailure, record it in the machine program next to the state.

Batch end forecast

For a batch with a target quantity the suite estimates when the batch will be finished. It does this in two steps.

Step 1: remaining build time

Value Formula
Remaining build time (Batch target − products built) × ideal cycle time / OEE

Example: target 5,000, built 1,400, planned speed 60 per minute, OEE 80 %: (5,000 − 1,400) × 1 s / 0.8 = 4,500 s = 75 minutes.

Dividing by the OEE makes the forecast realistic: a machine that reaches 80 % needs a quarter more time than the ideal. Which OEE you connect decides how the forecast behaves:

OEE input Behaviour of the forecast
Current OEE of the running batch Follows what is happening now; reacts to every stop
Average OEE from the history Calm; shows what is normal for this machine
0 or 100 % Ideal time without any loss; the earliest possible end

Step 2: end time with shifts and breaks

The build time alone ignores that the machine does not produce during breaks and outside the shifts. The second step places the build time into the shift and break calendar.

Batch end forecast

Output Meaning Example
dtBatchEndTime Estimated date and time of the batch end 13:15
ltTotalTimeToBatchEnd Time from now until then 1 h 45 min
tBreakTimeToBatchEnd Break time contained in it 30 min
xBatchEndTimeValid The forecast is valid TRUE

How to read it

History and results over several schedules

History. At the end of a schedule, EP_History stores its result. The last 21 schedules are available, the newest at index 0. You can compare shifts or batches with each other and pass the records on to a database.

Total result. EP_Result combines several schedules into one result, for example the three shifts of a day or the last five batches, with or without the running schedule.

Why not simply the average? Two shifts:

Planned production time Run time Availability
Shift 1 420 min 399 min 95 %
Shift 2 (short, with a long failure) 120 min 60 min 50 %
Average of the two percentages 72.5 %
Calculated from the sums 540 min 459 min 85 %

The average treats the short shift like the long one. The result from the sums is the availability the machine really had in these nine hours.

When a value looks unexpected

Observation Explanation What to do
Performance stays at 100 % at the start of a shift Start-up phase (chapter 5.4) Wait, or shorten the start-up time and count
Performance is above 100 % Planned speed is lower than the real speed Correct products per minute
Performance is low although the machine "ran all the time" The planned speed is the technical maximum, or short stops are not reported as stops Check products per minute and the state mapping
Performance loss goes down and availability loss goes up A stop has passed the short stop time (chapter 6.2) Nothing; intended
KPIs change only every few seconds Update filter (chapter 5.4) Adjust tKPIUpdateFilter
OEE is 0 One factor is 0, usually before the first part Wait for the first parts
Quantity is above 0 right at the start of a shift Parts were produced before the shift started (chapter 3) Nothing; they do not count for the performance
Top states show only one or two states The machine program reports only these states Refine the state mapping
Availability of a day differs from the average of its shifts Results over several schedules are calculated from the sums (chapter 10) Nothing; the result from the sums is correct
Batch end time jumps The current OEE is connected (chapter 9.1) Use an average OEE for a calmer forecast
Values are cleared at the shift change A new schedule starts at zero (chapter 3) Use the history or EP_Result
Durations jump by one hour The clock was changed, for example daylight saving time; durations follow the local time Only the schedule during the change is affected
xError is TRUE and iErrorID is set A parameter is missing or out of range See the error table in the library manual

Terms

Term Meaning
Schedule Period that is evaluated: a shift, a batch or a product run
All time Time since the schedule started
Schedule loss Time without planned production: breaks, no demand
Planned production time All time minus schedule loss
Run time Planned production time minus availability loss
Net run time Run time minus short stops and speed loss; equal to ideal cycle time × total count
Ideal cycle time Time for one product at planned speed
Short stop Stop shorter than the configured short stop time; performance loss
Long stop Every other stop; availability loss
Speed loss Output lost because the machine ran slower than planned
OEE Overall Equipment Effectiveness: availability × performance × quality
TEEP Total Effective Equipment Performance: OEE × planned production time / all time
Top state Kind of stop in the ranking by duration or by occurrence

References

Your Feedback Matters

These instructions have been prepared to the best of our knowledge and belief to provide you with the highest possible level of support when working with our product.

If you identify any issues or have suggestions for improvement, we would greatly appreciate your feedback. Please send your comments in a short e-mail to:

support@ddas.digital

Thank you for your support.

Your DDAS Application Software Team