OEE and availability
OEE and availability
How Shop Floor turns Plex workcenter statuses into availability, performance, quality and OEE, and how to find out why a figure is missing.
Permissions: The tenant needs the Shop Floor license feature. OEE Diagnostics (/shop-floor/settings/oee-diagnostics) and Data Source Enablement (/shop-floor/settings/enablement) can be viewed with the DataMagik - Builder or DataMagik - Viewer role. The Recompute and Check <site> buttons appear only for DataMagik - Builder.
The unit of calculation: a block
OEE is computed per block: one workcenter, on one report date, in one shift. Time that cannot be matched to a synced shift lands in a shift called Unknown. A block can have facts from several sources, shown in the Source column: manual corrections, plc machine state and erp_pull (the regular Plex pull). Each block appears once, from the highest-ranked source, and a manual correction always wins. Plex's own figures for the same block are kept separately and used only for comparison.
How planned time is decided from status flags
Every minute logged against a workcenter carries a Plex workcenter status. What happens to that minute depends only on the flags set on that status in Plex, never on the status name. That means a status called "Weld Problem" behaves exactly like any other status with the same flags.
- Planned time (the figure availability divides by) is all logged time under any status flagged Planned Production Time, Production Status or Setup Status. Setup counts as planned time even when it does not carry Planned Production Time: it is scheduled time when the machine is not running.
- Idle Status or Off Status takes the time out of planned time, and this exclusion wins over everything else. A status flagged both Idle and Planned Production Time is not planned time.
- Operating time is logged time under statuses flagged Operating Time.
- Downtime is logged time under statuses flagged Downtime Status.
Idle and Off time is treated as deliberately configured, not as unexplained. To change how a status counts, change its flags in Plex's workcenter status setup.
The four figures
- Availability = operating time ÷ planned time. With no planned time, it is not computed.
- Performance = units produced ÷ units expected, where expected = approved rate × operating hours. The rate comes from the part/operation's approval on that workcenter: the standard production rate first, then the ideal rate, then the target rate. The basis used is shown on the block. A rate is never borrowed from another part, so performance is not computed when no part was recorded, when the block ran more than one part/operation, or when the part/operation is not approved on that workcenter.
- Quality = (produced − rejected − scrap) ÷ produced. If losses exceed output, quality is held at 0% with a note that one of the two counts is wrong.
- OEE = availability × performance × quality, and only when all three are available.
A figure that cannot be computed shows a dash (—) and its reason. It is never shown as 0% or 100%. Available figures are coloured green at 85% and above, amber from 60%, and red below 60%. Anything over 100% is red too, because it means the approved rate is wrong rather than the shift being exceptional.
Where availability comes from
Availability uses the logged hours from Plex where they exist, so binding a machine state tag does not override hours your plant already books. If a block has no logged hours, availability is derived from the machine's own state changes. The length of each state is the gap to the next change. A state change with no successor yet adds no minutes, and the block says how many there are. The block's detail always says which source supplied availability.
Unexplained time
Time that does not fit is named on the block, never folded into availability. There are three kinds:
- Unclassified: the status is synced but carries none of the scheduled, production, setup, operating or downtime flags. Fix the flags in Plex.
- Not in the synced vocabulary: the status is new or was never synced. Re-running the availability sync fixes it.
- No status entry: scheduled shift minutes with nothing logged against them. This needs the site's plant timezone, because without it a shift cannot be placed on the clock.
Using OEE Diagnostics
OEE Diagnostics explains, block by block, why OEE can or cannot be computed. The old address /shop-floor/oee redirects here.
- Open
/shop-floor/settings/oee-diagnostics. If you have more than one site, pick it from the site buttons. With no query, the first enabled site is shown. - Read the tiles: Blocks in the window (the last 30 complete days by default), Fully computed, With unexplained time and Over 100%.
- Filter with Needs attention (the default: anything partial, unexplained or over 100%), All blocks or Fully computed, and narrow the list by workcenter or shift.
- Read the row badges: partial, unexplained, >100% and vs Plex (our figures and Plex's own disagree).
- Click a row to open its detail. It shows the reason for each dash, the unexplained time, the availability source, the comparison with Plex's figures, and the minutes: shift scheduled, logged as planned, operating and downtime, plus the rate basis.
A yellow warning appears when the site has no plant timezone. Set the timezone on /shop-floor/settings/sites.
Recompute
Blocks are stored, not calculated live. Every day, a scheduled run recomputes each enabled site's last eight complete days. That window catches late Plex amendments and manual corrections. To rebuild now, a Builder clicks Recompute. This replaces the stored blocks for the window on screen, then reloads the page with a message that counts the blocks built from your own facts and from Plex's daily-shift report. Recomputing the same days again gives the same answer.
Caution: If Plex's daily-shift report cannot be read, Recompute still stores your own blocks but cannot show the vs Plex comparison. The message names the reason.
Data sources to enable
The vs Plex comparison reads Plex's daily-shift report, data source 18849 (Daily_Shift_By_Job_Report_Get), using the site's Plex credential. Grant that credential access to the data source in Plex. Then, on Data Source Enablement, a Builder clicks Check <site>. Each data source shows ✓ Enabled, ✗ Not granted, △ Shape mismatch or ? Unknown, along with what to do and which screens it blocks. A grant is withdrawn only when Plex actually refuses access.