y'all are in violent agreement with each other.
@parky: 1minute timer and UDINT is good for 8ky+ (= 232x 1min ÷ (365.24d/y x 1440min/d)
@I_Automation: 0.1minute timer and DINT is good for 400y+ (=231 x 0.1min ÷ (365.24d/y x 1440min/d)
I would do mh (millihours): use repeating timer with 3600ms (3.6s) preset, increment a DINT on each timer expiry one-shot, it's good for 245y (= 231mh ÷ (365.24d/y x 24000my/d). Actually I would use a repeating timer with a 14400ms (= 14.s = 4mh) preset, and add 4mh to the DINT at each timer expiry; then I can encode the pump number (0, 1, and 2, or 1, 2 and 3) into the accumulated runtime values and still be able to sort the FIFO based on accumulated runtime. But I should be ignored.