Total hours of operation/printing feature.
-
Hello !
I am wondering if there is a feature for Reprap Firmware which counts the total hours of operation and/or total hours of printing? To be clear, the total hours of operation counter would start increasing as soon as there is power to the Duet Board. In a similar manner the total hours of printing counter would increase only while printing.
Regards,
Arek
-
Moved to firmware wish list category.
Ian
-
@droftarts said in Total hours of operation/printing feature.:
Moved to firmware wish list category.
Ian
An "hour meter" type feature keeps cropping up about every 6 months or so. I think you'll find it's already on the wish list somewhere (but you might have to go back a couple of years to when I first mooted it)
-
Just fit an hour meter and be done with it.
-
@CaLviNx That's one way but I think time spent doing something (i.e. print time) might be more useful than just how long the machine has been powered up.
-
I think each individual print time is already displayed at the end of each print, agreed it is not logged/stored and added to a culmative total. it wouldn't difficult to add to firmware.
And it wouldn't be difficult for the user to keep a track of prints completed (including print time) in an excel sheet which could easily provide a running total of hours spent printing,
I understand some people's need to be able to know print hours from a billing perspective. I look at the simple electro/mechanical counter for a total amount of running hours from machine maintenance perspective.
-
@CaLviNx I too look at it as a usage measure for maintenance but things like belts and bearings don't wear significantly unless they are moving. Vehicles are usually serviced every nnnn miles or kms. For sure one could use a spreadsheet and log every journey but most people find it more convenient to simply look at the "milometer". I think what the OP has asked for is a perfectly reasonable and potentially useful feature.
I could be wrong but I think I recall DC saying that it would be easier to implement in DWC rather than the firmware. Maybe it's the sort of thing that could be a plugin for the SBC but that doesn't help people using Duet2 or earlier. -
@deckingman
Duet3d is an awesome electronics. Therefore it is implemented in many professional applications. That's why I've asked for such feature, because in my opinion it's very important in this area. -
@deckingman said in Total hours of operation/printing feature.:
That's one way but I think time spent doing something (i.e. print time) might be more useful than just how long the machine has been powered up.
print time, idle time and total distance moved for each axis if you want to think maintenance for always on fans, heater fans and motion components.
-
@bearer Agreed with this. would be great to have all of these, heater on time too while we're at it.
-
@bearer said in Total hours of operation/printing feature.:
@deckingman said in Total hours of operation/printing feature.:
That's one way but I think time spent doing something (i.e. print time) might be more useful than just how long the machine has been powered up.
print time, idle time and total distance moved for each axis if you want to think maintenance for always on fans, heater fans and motion components.
Possibly. Although that may a be a little over kill. I think we are more likely to get something simple that is easy implement, rather than something that is more complicated and thus more difficult to implement. What maintenance would you want to do on fans or motors? They generally have sealed bearings so nothing to lubricate and nothing to adjust either. Although perhaps there is a case for simply replacing fans and/or motors after n thousands of hours. Certainly either distance moved or time spent printing would enable one to set up a schedule for say checking belt tension, replacing belts, lubricating guides etc.
-
Recording total on-time might be tricky in some cases, because there would have to be enough power in reserve to write to the SD card when power failure is detected. Recording total print time would be easily enough. I guess it would make sense to record total filament extruded during prints at the same time.
For maintenance purposes, would anything else be needed? Perhaps total moving time, or total distance moved by each axis?
-
@dc42 said in Total hours of operation/printing feature.:
Recording total on-time might be tricky in some cases, because there would have to be enough power in reserve to write to the SD card when power failure is detected. Recording total print time would be easily enough. I guess it would make sense to record total filament extruded during prints at the same time.
For maintenance purposes, would anything else be needed? Perhaps total moving time, or total distance moved by each axis?
My vote would be either of the latter if not too difficult to implement. Regarding belts or rail maintenance, I'd say that distance would be more relevant than time. But I'll bow to a majority opinion if different to mine.
-
I would suggest the number of times a file is printed as well.
-
@jay_s_uk said in Total hours of operation/printing feature.:
I would suggest the number of times a file is printed as well.
I don't have a problem with that but I'm curious to know how that would be useful.
-
Well if you record how much filament is used and how much time it requires to print, if you print the same file more than once you will want to keep track of the number of times to be able to work out the total.
There may be a print you have to do a number of times and it helps to keep track of the total printed. -
@dc42 Maybe the total time on could be a reoccurring job that increments a counter instead of something that is recorded at the end of or during a print job? For instance, every minute a job kicks off that increments the counter? This way the most that could be lost is a minute when the printer is turned off.
Knowing the total on-time and total distance traveled for each of the axis would be very helpful for maintenance purposes. Then if this "usage" data is included in a rr_status JSON response, an external PC (Raspberry Pi with Nodered) can be set up to produce reports and alerts to notify when preventative maintenance should be performed. This would be very helpful for the lubrication of linear rails, bearings and guides and/or replacement of consumables such as belts. Would also be helpful if these counters can be reset once the maintenance is performed.
-
@mwolter said in Total hours of operation/printing feature.:
Would also be helpful if these counters can be reset once the maintenance is performed.
I'd say keep the running total like the odometer for a car; you can have different service intervals for different parts. On the other hand being able to reset counters if hardware is replaced could be usefull, but looking back to cars you can find cars with 400.000km on the clock and new engine at 300.000km that only had 100.000km on it f.ex. Still possible to work out the intervals for maintenance with a running total; top level systems could deal with the rest.
Having a task to record run time only write to flash every so often to prevent premature flash failure is acceptable with respect to power loss, best efforts to write on a power failure would be nice, but not critical.
-
@dc42
FYI, I think filament used per nozzle would be a great feature, although an easy implementation would be with the web server. From a UI perspective it would be great to be able to click ‘zero counter’ if a nozzle is replaced or a new filament spool is changed out. Digital spool management would be awesome. :). On the Duet side, a simple timer function that runs once a second should be adequate (checks if extruding a nozzle, or printing, etc... and just up the counter. Add a gcode command to reset a given timer.Main application would be nozzles that wear out often with abrasive filament.
Also makes a good business opportunity for maintenance (everyone paranoid about privacy and open market please look away now...) Imagine a notification “your Duet board (or smart effector /etc) is nearing 1000 hours of use, please click here for a free discount on a replacement board...” And embed in the web request the number of operating hours. You then start collecting reliability data for the various Duet products, offer the end user a ‘convience click’ and discount for replacement parts, and drive up sales and advertising at specific vendors for new products... Not that I’m normally in favor of this kind of thing but I would wholeheartedly support it if it’s creating data leading to better products.
-
I see now why this feature hasn't been implemented. Whenever the topic comes up, lots of users jump in and ask for something different. If we could agree that a simple "hour meter" or "distance meter" would be useful, then David is more likely to implement it. As for being targeted by some sort of "pop up" telling me to check a "special offer", please God NO!
-
I agree with @deckingman
Whilst all of the other counters would be nice to have, as a mvp, run hours and axis travel distance would be more than sufficient.
My 2c worth
Sam
-
As I have said before
A simple "hour" meter would be easy to install, print time is already logged which anyone using a printer for making money can log those hours into their accounting software anything else is just "fluffing"
-
I vote for a simple hour meter.
-
I'd like a simple "Work Hours Meter", whenever gcode is processed it should log time.
I can see how this can be a problem for initial setup where gcode is executed, as well on boot time, but from my point of view this can be neglected. Its not like it has any serious effect when it logs 65min additional time...
For easier implementation the "start gcode" could hold some Mxxx gcode and "end gcode" as well. I don't have any special needs for additional calculation.
However: only counting hours is too simple. My prints often start over night, I leave them in the morning, then I go to work, etc. After the print has finished the machine is idling happily for many hours which then would be counted as "work hours".
IMHO it would also suffice to read the currently logged hours via some gcode command, no need for DWC integration or whatsoever. I solely need this for maintenance purposes. The counter can optionally be reset using some gcode parameter or so.
My 2ct on this topic.
-
Has any progress been made on this subject?
@dc42 ?