Expression to Show OEE for last hour


I'm attempting to write an expression for or OEE on a filler. Using the count tag divided by goal. I want to to caluclate for each hour. Still learning the ignition side, and not sure what expression to use for calculating the time for each hour.


Your post title says "for last hour". Your post says "for each hour". You need to define your user requirements much better than this before you start coding.

  • Define your report requirements.
  • Define your live display / dashboard requirements.
  • Define your OEE calculation. This is usually rate/target × good_count/total_count × run_time/scheduled_time.
  • Determine where you are going to record it and how often. (Is a "last hour" update every five minutes good enough for your "live" display, etc.?)
  • Determine where you are going to get this information. For the requirements above you would need to record,
    • the machine start and stop events,
    • the good count and total count1 at each stop and start and at each five minutes (or whatever you determined in your "how often" specification),
    • what the scheduled rate for that period was.

While you're doing that, I'd recommend that you record the SKU running, the first-out alarm (that caused the machine to stop) and, perhaps, the operator IDs.

Get this right and you can easily produce very useful status screens and historical reports. Get it wrong and you'll be doing a lot of extra work with scripts that nobody will understand.

1 Use "never-resetting" counters from your machine that give the total cycles and total good parts since the machine was powered on. (i.e., Don't use batch or shift counters that keep resetting.) Then it is very simple to calculate the OEE over any period of interest.

My apoligies i meant last hour.

We are pulling in the pounch count for the equipment into ignition. The VP wants OEE based on the previous hour basically.

Example: 1pm OEE while we are in the 2p-3p hour.