Downtime in realtime

Hey guys, can you advise on the best way to log downtime?
What if have now is a counter on my plc where the ACC is going up as the machine is down, i got a historical group to get the ACC value when the downtime has finished.

at the end i got a the total downtime seconds but with the end of the downtime, is a better way to do it?

can i reset with ignition that counter after an hour change so that time will be logged with the hour?

Any advice will be great… Ive been struggling with this

Thanks

Don’t know if it’s the best way, but this is how I do it… :wink:

I have a counter that counts downtime for the shift. This is logged once per shift so you have easy access to total downtime.

I also have a “running status” counter and a timer based on takt time. Works like this (ours are assembly processes so your mileage may vary a bit):

[ul]The counter values are assigned a status:
[list]6-Break (or lunch)
5-Running
4-Small Stop
3-Small Stop 2
2-Small Stop 3
1-Small Stop 4
0-Machine Down[/ul]

Now it’s a race.
[ul]If a part is finished first, the counter is reset to 5, and the takt timer is reset.
If the takt timer elapses first, the counter is decremented, and the takt timer is reset.
We allow a little bit of small stop time for things like changing packaging, etc., but basically, if the no part have been produced for 5 cycle times, then the machine is down.[/ul]

I log the counter value every 10 seconds (our takt times range from 20-30 seconds, so the 10 second interval gives a nice resolution).

The upshot of this is that you can now use a status chart to graphically display your downtime and when it happened. So when an operator says that productivity was low because of machine downtime it’s easily verified. :mrgreen:



[/list:u]
Hope this helps!

What I’ve done in the past is to use an integer in the PLC to indicate state according to S88 phase state model and this is logged in the database on change with a timestamp. Using query’s you can extract the information with any timespan (variable start/end timestamp) you want.