Home › Technical articles

Đọc bằng tiếng Việt

Sepasoft OEE Downtime on Ignition with Allen-Bradley PLCs: model, states, counters and tag mapping

TDL Industrial Automation · Last updated:

What Sepasoft's OEE Downtime module on Ignition does according to its documentation: the line and cell model, modes and states, blocked and starved detection modes, infeed, outfeed and reject counters with roll-over, the ControlLogix/CompactLogix tags a line must expose, a worked tag mapping and what to agree before configuring.

OEE Downtime is the Sepasoft, Inc. module for Ignition (the platform from Inductive Automation) that records machine modes, states, counts and downtime reasons against a model of lines and cells, and calculates OEE from them. On an Allen-Bradley line the data comes from ControlLogix or CompactLogix tags read by Ignition's Logix driver: one integer state per cell, free-running infeed, outfeed and reject counters, and optionally a mode, product code or work order. Most of the work is deciding those tags and the rules behind them before anything is configured.

What the OEE Downtime module does

Sepasoft's documentation and product page describe these functions. All Sepasoft modules require Ignition, and the Production module, which holds the shared MES functions, is always installed with them. OEE Downtime has components for both Vision and Perspective.

Function What it does Where you see it
Equipment modes what the line is used for (production, changeover, maintenance…), each included in OEE or not OEE Time Chart, analysis
Equipment states and reasons the status of a line or cell from an integer code OEE Downtime Table, OEE Time Chart
Downtime events start and end recorded automatically; operators add reasons and notes or split events OEE Downtime Table
Runs and schedules work orders, scheduled operations, changeover and production start, end of run MES Work Order Table, MES Schedule View, OEE Run Director
Counts and calculation infeed, outfeed and reject counters; OEE per run, shift or period Live Analysis tags, analysis components

The OEE formula and a worked shift example are in the OEE article. One point matters for configuration: Sepasoft calculates availability as run time divided by elapsed time minus planned downtime, so whatever is marked as planned downtime does not lower availability. Performance compares the infeed count with run time × standard rate × package count, and quality is infeed minus rejects over infeed. Sepasoft licenses OEE Downtime per production site, with no limit on lines, machines or users at that site.

The production model: lines and cells

Everything in the module hangs on the production equipment model, configured in the MES Equipment Manager. Sepasoft names the levels Enterprise, Site, Area, Line, Cell Group and Cell; Process Cell and Unit serve Batch Procedure, Storage Zone and Storage Unit serve Track & Trace, and Location serves SPC. OEE Downtime works on Lines, Cell Groups and Cells.

The production equipment model used by OEE DowntimeSix levels from the top: Enterprise, Site, Area, Line, Cell Group and Cell, each with an example for a bottling plant and its role in OEE Downtime. Other items in the model serve Batch Procedure, Track & Trace and SPC. Renaming an item creates a new item.The production equipment model used by OEE DowntimeLEVELEXAMPLEROLE IN OEE DOWNTIMEEnterprisethe companytop of the model, shared by all modulesSiteplant 1shared by all modulesAreapacking hallshared by all modulesLinebottling line 1detection mode, line state,runs, Live AnalysisCell Grouptwo labellersits own detection mode;sees only its childrenCellfiller, capper,case packerstate code and counters from the PLCOther items in the model: Process Cell and Unit (Batch Procedure),Storage Zone and Storage Unit (Track & Trace), Location (SPC).Renaming an item creates a new one; recorded datastays with the old name. Fix names before the first run.Based on Sepasoft documentation: Production Equipment Model, Line Settings,Downtime Detection Modes. The example line is generic. Figure: drawn by TDL.
Figure 1: The production equipment model used by OEE Downtime. On a phone, swipe sideways to see the whole figure.

Two points from the documentation shape the design. A rename makes a new item and disables the old one, and the data already recorded stays with the old item, so names should be final before the first run. A line of several machines modelled as one cell gets much less from the downtime detection methods, cell cycle time and the OEE Time chart. We recommend making each machine that has its own state in the PLC a cell; Sepasoft notes that a machine with no real-time interface can be combined with a neighbouring cell.

From PLC tags to OEE screens

Ignition reads the controller through its Allen-Bradley drivers. In Ignition 8.3 the Logix driver covers ControlLogix and CompactLogix with firmware v20.19 and later, and legacy drivers cover v20.18 and earlier; the Logix driver is optimised for firmware 21 and later. Each cell and line in the model then has tag collectors that point at Ignition tags, which can be PLC, memory or expression tags.

The OEE data path: from the PLC to the screensFour layers from the top: the line PLC holds state codes and counters; Ignition tags read them through the Logix driver; the OEE Downtime model ties the tags to lines, cells and MES Counters; Vision or Perspective screens show runs, downtime and analysis.The OEE data path: from the PLC to the screensLine PLCControlLogix, CompactLogixone state code per machine (DINT, never 0)counters that only count up: infeed, outfeed, rejectoptional: mode, product code, work orderLogix driver over EtherNet/IPIgnition tagsgatewayone tag per PLC signal; PLC, memory or expression tagsLogix driver: firmware v20.19 and later (Ignition 8.3)tag collectors and MES CountersOEE Downtime modelMES Equipment Managerline, cell group, cell; state class and mode classMES Counters: Infeed, Outfeed, Reject and Count Methodmaterial settings: standard rate, package count; shiftsOEE engine, one-second resolutionScreens and reportsVision or PerspectiveOEE Run Director, OEE Downtime Table, OEE Time ChartLive Analysis tags, analysis tables and chartsBased on the Sepasoft MES Module Suite documentation (OEE Downtime Settings, MES Counters,Live Analysis, Perspective components) and Ignition 8.3 (Allen-Bradley drivers). Figure: drawn by TDL.
Figure 2: The OEE data path: from the PLC to the screens. On a phone, swipe sideways to see the whole figure.

The OEE engine needs tags for equipment state and counts. Other inputs (mode, shift, product code, work order, package count, standard rate) come from a tag or, if the path is blank, from the scheduled run or the material settings. Rates written by tag must be per minute, because OEE stores all rates that way. Recording resolution is one second: if a tag changes twice within the same second, the later value replaces the earlier one.

Results go back into Ignition: Live Analysis creates tags in the MES tag provider for a chosen period (shift, production day, run, hour or a custom start), updated at most once every 60 seconds, for binding to any screen.

Machine state: one integer per cell

The module takes the state of each cell from a single integer. Each value in the cell's state class has a name, a type and a code, and Sepasoft says the code generally matches the status code in the PLC. Code 0 must not be used: it is reserved internally, and when communication with the PLC fails the state becomes 0. The default class contains Blocked, Disabled, Idle, Planned Downtime, Running, Starved and Unplanned Downtime, and any number of states can be added on those types. An example for one filler:

Code State Type Note
1 Running Running other running codes can be grouped with it
2 No order Idle no run active on the line
10 Outfeed full Blocked from the downstream accumulation sensor
11 No bottles Starved from the infeed sensor
20 Planned stop Planned Downtime does not lower availability
100 Stop button Unplanned Downtime parent state: the operator must pick a sub-state
110 Infeed jam Unplanned Downtime first-out alarm in the PLC

States can have sub-states. With Override set to Required and Scope set to Sub State, the operator has to replace the detected reason with one of its children, which is how a generic "stop button" event turns into a real cause. Each state also has a Short Stop Threshold in seconds: a state shorter than this does not count against availability, 0 counts everything, and Running states ignore the setting.

On the PLC side the state code is a small piece of logic per machine. We recommend fixing a priority for when several conditions are true at once (a fault above blocked, blocked above running), latching the first fault so the code shows the cause and not the consequence, and holding each code for at least a second, since the module records at one-second resolution.

Modes: production, changeover and maintenance

A mode answers what the equipment is being used for. Sepasoft provides six fixed mode types: Production, Idle, Changeover, Maintenance, Other and Disabled. The plant defines its own modes on these types, for example a cleaning or test mode, and each mode has an integer code. Two flags decide what a mode does: Include in OEE (states and counts feed the calculation) and Include in Production Counts (good units count towards the run). Sepasoft's guidance is both for production, counts only for changeover or setup, neither for cleaning or testing; OEE without counts is not valid, because performance and quality need counts.

The mode is normally set by the run itself. The OEE Run Director offers Start Changeover, Start Production and End Production; the changeover segment's mode applies from the start of the operation, the production mode when changeover ends, and Idle when the run ends. A mode tag from the PLC can override this, which can suit machines where the operator selects maintenance or cleaning on the HMI.

Blocked, starved and the first-out question

Inside one machine, the PLC's first-out alarm says what stopped it. Across the line, OEE Downtime decides which machine caused a line stop with a detection mode set on the line or cell group:

  • Equipment State: the line state comes from one tag of its own. A line state tag can also be added under any other mode, and an active downtime state on it (Sepasoft's example is a line-wide e-stop) replaces the derived reason.
  • Initial Cell: the first cell to go down for an unplanned reason is blamed; if it restarts, the other down cells are considered in the order they stopped. It works like a first-out at line level, and Sepasoft points it at processes where one stopped cell stops all the others.
  • Key Reason: a key cell, normally the bottleneck, decides. If it is down for an unplanned reason, that is the cause; if it is starved, upstream cells are checked, and if blocked, downstream cells. Cell Priority blames the nearest cell with a recordable reason; Neighbor Priority starts from the farthest cell and needs every cell in between to show blocked or starved.
  • Parallel Cells: for cells doing the same job; a threshold sets how many must run.

When no cause can be found, the module records fallback reasons such as Blocked for Unknown Reason or Unexpected Starved, with negative codes. Sepasoft stresses that every cell between the key cell and the faulted cell must report Blocked or Starved; if the PLCs do not report those states, Key Reason has nothing to follow. A cell group sees only its own children.

Counters: infeed, outfeed, reject and roll-over

Counts enter as MES Counters on a line, cell group or cell, each with a tag path and a kind: Infeed, Outfeed, Reject or General. If a line has no reject counter, the module adds up the reject counters of its cells, and without those it uses infeed minus outfeed. Package count converts between infeed and outfeed units (Sepasoft's example is 24 bottles per case). Rejects are taken in infeed units by default; a reject counter that counts cases needs the reject count scale.

The Count Method decides how PLC values are read:

  • Roll Over: for a counter that only counts up and wraps. When the value drops, the module adds the roll-over value to keep the total rising. The default is 32768, which Sepasoft ties to a 16-bit signed value, and the right setting depends on the data type of the PLC tag: set it to the value at which your tag actually wraps.
  • Actual: the tag value is used as it is and may go up or down.
  • Positive Change: only increases are added and decreases are ignored, and so is a jump from 0 to a value, which protects against a false zero after a communication loss at the cost of a small lag.

We recommend a PLC counter that only counts up and is never reset by the program, read with Roll Over. If the PLC resets counts at shift or order change, Positive Change fits better: Roll Over would read each reset as a wrap and add a false jump.

Worked mapping: PLC tags to OEE inputs

A generic bottling line with a filler, capper, labeller and case packer, the filler as key cell. Tag names are examples.

PLC tag (example) Type OEE Downtime input Setting
L1_Filler_State, L1_Capper_State… one per cell DINT State tag collector of each cell codes from the cell's state class; never 0
L1_Line_State (optional) DINT State tag collector of the line for line-wide reasons such as e-stop
L1_Mode (optional) DINT Mode tag collector otherwise set by the run segments
L1_Filler_Infeed DINT MES Counter, kind Infeed Roll Over, roll-over value = PLC wrap
L1_CasePacker_Out DINT MES Counter, kind Outfeed Roll Over
L1_Vision_Reject, L1_Checkweigher_Reject DINT MES Counters, kind Reject, on their cells same units as infeed
L1_ProductCode, L1_WorkOrder (optional) STRING Product Code, Work Order tag collectors blank: taken from the scheduled run
not from the PLC n/a OEE Standard Rate per material and line in outfeed units; per minute if written by tag
Mapping PLC tags to OEE Downtime inputsSeven rows, PLC tag on the left and the matching OEE Downtime input on the right: state code per machine, line state, infeed, outfeed and reject counters, mode, product code and work order. Standard rate, package count and shifts do not come from the PLC.Mapping PLC tags to OEE Downtime inputsPLC TAGOEE DOWNTIME INPUTState code per machineDINT, codes from 1, never 0Cell state tag collectortype and code from the state classLine stateoptional: line-wide e-stopLine state tag collectorreplaces the reason derived from cellsInfeed counterDINT, counts up onlyMES Counter, kind InfeedRoll Over at the PLC wrap valueOutfeed countercase packerMES Counter, kind OutfeedRoll OverReject countersvision, checkweigherMES Counter, kind Rejectin infeed units by defaultModeoptional: chosen on the HMIMode tag collectorblank: set by the runProduct code, work orderoptional, STRINGProduct Code, Work Ordertag collectors; blank: from the scheduleNot from the PLC: OEE Standard Rate and package count permaterial and line; shifts from Ignition Schedule Management.Based on Sepasoft documentation: OEE Downtime Settings, Configuring Equipment States,MES Counters, OEE Material Production Settings. Tag names are examples. Figure: drawn by TDL.
Figure 3: Mapping PLC tags to OEE Downtime inputs. On a phone, swipe sideways to see the whole figure.

Shifts usually come from Ignition's Schedule Management, selected per line; a shift tag is the alternative. Shifts must not overlap. The analysis detects a shift by its name changing, so Sepasoft suggests splitting a single all-day shift into alternating shifts on different days, and adding a filler shift for the hours a line does not work.

What to agree before configuring

  • Planned downtime. Which events are planned (breaks, planned stops) and which modes are excluded from OEE. Under Sepasoft's formula this decides availability, so write the rule down and apply it on every line.
  • Ideal rate per product and line. The OEE Standard Rate is set per material and per line in outfeed units, with the package count. The OEE article defines the ideal rate as the fastest the process can achieve in optimal conditions.
  • The reason tree. One state class shared by similar lines, with codes agreed with the PLC programmers, parent states for operator-selected reasons and a short stop threshold per state.
  • Key cell, counters and names. The key cell (usually the bottleneck), which machines count infeed, outfeed and rejects, whether the PLC resets counters, and model names fixed before the first run.

How TDL approaches it

TDL Industrial Automation is a Sepasoft MES Certified Integrator and an Ignition Certified Integrator. TDL's production-data work so far is on Rockwell Automation platforms: machine states defined in the PLC, good and reject counts from fillers, vision systems, checkweighers and reject stations, and machine alarm words mapped to the plant's production system, as described on the OEE and downtime monitoring page. Where a plant uses or chooses OEE Downtime, TDL connects it to the existing PLCs, as described on the MES on Ignition page. For which other modules fit next, see which Sepasoft MES module for which plant need; for when a spreadsheet is still enough, see what MES is.

Frequently asked questions

Do the PLC programs have to change for OEE Downtime?

Only where a signal is missing. The module needs an integer state per cell and counters; if the PLC already holds them they are read as they are. Key Reason detection also needs the cells between the key cell and a faulted cell to report blocked or starved, so check those states first.

Which state code should mean a communication failure?

None of yours. Sepasoft reserves code 0 and sets the state to 0 when PLC communication fails, so start your own codes at 1 and never write 0 from the PLC.

How does OEE Downtime handle a PLC counter that wraps or resets?

With the Count Method of each MES Counter. Roll Over adds the roll-over value each time the count drops, with a default of 32768 for a 16-bit signed counter; Positive Change ignores decreases and jumps from zero, which suits counters the PLC resets.

Does planned downtime lower availability in Sepasoft OEE?

No. Sepasoft calculates availability as run time over elapsed time minus planned downtime, so states of the Planned Downtime type are excluded. Agree which events are planned before configuring.

Can OEE Downtime run in Perspective?

Yes. Sepasoft lists OEE Downtime components for both Vision and Perspective, including the OEE Run Director, OEE Downtime Table and OEE Time Chart in Perspective.

Sources

Read 12 November 2026. This article paraphrases the sources and does not quote them; read the original documents before designing or working on a system.

Related services:
OEE and downtime monitoring Sepasoft MES on Ignition