Not saving variables

So I went to test what I've coded, and I set my "RunTime" to just 5 seconds just to test the operation. It works just fine for the startup and the first 15 seconds of operation, but after 20 seconds it's as if my variable is not being saved properly. The code is too large for the post so I've attached a notepad of it.

You'll see I've hidden quite a bit of code, it's just for testing purposes. This setup uses outputs to control relays to turn desired pumps, lights, solenoids, etc on that run off of 12v (solenoids/peristaltic pumps) and 120v (lights and 120v pumps). For the time being I'm just focusing on getting the most important things running first, which would be pumps and lighting. I'm still newish to coding. If you see issues that do not pertain to the problem I'm having and would like to make me aware of them(I definitely appreciate the input!), please send me a message vs posting here as I'd like to keep this post relative to the pumps issue (they all have the same code, just different variable names/values. The lights even have the same code)

Here's what the serial is outputting:

16:37:40.250 -> Board Reset.  Proceeding With Normal Operation.
16:37:56.262 -> Air Pump Activated
16:37:56.308 -> Circulation Pump Activated
16:37:56.308 -> Stir Pump Activated
16:38:01.281 -> Circulation Pump Deactivated
16:38:01.326 -> Stir Pump Deactivated
16:38:06.303 -> Circulation Pump Activated
16:38:06.303 -> Stir Pump Activated
16:38:11.288 -> Circulation Pump Deactivated
16:38:11.335 -> Stir Pump Deactivated
16:38:16.278 -> Circulation Pump Activated
16:38:16.324 -> Circulation Pump Deactivated
16:38:16.371 -> Circulation Pump Activated
16:38:16.371 -> Stir Pump Activated
16:38:16.416 -> Circulation Pump Deactivated
16:38:16.462 -> Stir Pump Deactivated
16:38:16.462 -> Circulation Pump Activated
16:38:16.508 -> Stir Pump Activated
16:38:16.508 -> Circulation Pump Deactivated
16:38:16.553 -> Stir Pump Deactivated
16:38:16.553 -> Circulation Pump Activated
16:38:16.599 -> Stir Pump Activated
16:38:16.599 -> Circulation Pump Deactivated
16:38:16.645 -> Stir Pump Deactivated
16:38:16.691 -> Circulation Pump Activated
16:38:16.691 -> Stir Pump Activated
16:38:16.737 -> Circulation Pump Deactivated
16:38:16.737 -> Stir Pump Deactivated
16:38:16.783 -> Circulation Pump Activated
16:38:16.830 -> Stir Pump Activated
16:38:16.830 -> Circulation Pump Deactivated
16:38:16.877 -> Stir Pump Deactivated
16:38:16.877 -> Circulation Pump Activated
16:38:16.923 -> Stir Pump Activated
16:38:16.923 -> Circulation Pump Deactivated
16:38:16.969 -> Stir Pump Deactivated
16:38:17.016 -> Circulation Pump Activated
16:38:17.016 -> Stir Pump Activated
16:38:17.063 -> Circulation Pump Deactivated
16:38:17.063 -> Stir Pump Deactivated
16:38:17.109 -> Circulation Pump Activated
16:38:17.154 -> Stir Pump Activated
16:38:17.154 -> Circulation Pump Deactivated
16:38:17.201 -> Stir Pump Deactivated
16:38:17.201 -> Circulation Pump Activated
16:38:17.247 -> Stir Pump Activated
16:38:17.247 -> Circulation Pump Deactivated
16:38:17.294 -> Stir Pump Deactivated
16:38:17.294 -> Circulation Pump Activated
16:38:17.340 -> Stir Pump Activated
16:38:17.386 -> Circulation Pump Deactivated
16:38:17.386 -> Stir Pump Deactivated
16:38:17.432 -> Circulation Pump Activated
16:38:17.432 -> Stir Pump Activated
16:38:17.480 -> Circulation Pump Deactivated
16:38:17.480 -> Stir Pump Deactivated
16:38:17.527 -> Circulation Pump Activated
16:38:17.572 -> Stir Pump Activated
16:38:17.572 -> Circulation Pump Deactivated
16:38:17.619 -> Stir Pump Deactivated
16:38:17.619 -> Circulation Pump Activated
16:38:17.665 -> Stir Pump Activated
16:38:17.665 -> Circulation Pump Deactivated
16:38:17.711 -> Stir Pump Deactivated
16:38:17.757 -> Circulation Pump Activated
16:38:17.757 -> Stir Pump Activated
16:38:17.803 -> Circulation Pump Deactivated
16:38:17.803 -> Stir Pump Deactivated
16:38:17.849 -> Circulation Pump Activated
16:38:17.895 -> Stir Pump Activated
16:38:17.895 -> Circulation Pump Deactivated
16:38:17.941 -> Stir Pump Deactivated
16:38:17.941 -> Circulation Pump Activated
16:38:17.987 -> Stir Pump Activated
16:38:17.987 -> Circulation Pump Deactivated
16:38:18.034 -> Stir Pump Deactivated
16:38:18.080 -> Circulation Pump Activated
16:38:18.080 -> Stir Pump Activated
16:38:18.127 -> Circulation Pump Deactivated
16:38:18.127 -> Stir Pump Deactivated
16:38:18.173 -> Circulation Pump Activated
16:38:18.173 -> Stir Pump Activated
16:38:18.218 -> Circulation Pump Deactivated
16:38:18.264 -> Stir Pump Deactivated
16:38:18.264 -> Circulation Pump Activated
16:38:18.313 -> Stir Pump Activated
16:38:18.313 -> Circulation Pump Deactivated
16:38:18.359 -> Stir Pump Deactivated
16:38:18.359 -> Circulation Pump Activated
16:38:18.405 -> Stir Pump Activated
16:38:18.405 -> Circulation Pump Deactivated
16:38:18.451 -> Stir Pump Deactivated
16:38:18.498 -> Circulation Pump Activated
16:38:18.498 -> Stir Pump Activated
16:38:18.544 -> Circulation Pump Deactivated
16:38:18.544 -> Stir Pump Deactivated
16:38:18.591 -> Circulation Pump Activated
16:38:18.638 -> Stir Pump Activated
16:38:18.638 -> Circulation Pump Deactivated
16:38:18.683 -> Stir Pump Deactivated
16:38:18.683 -> Circulation Pump Activated
16:38:18.730 -> Stir Pump Activated
16:38:18.730 -> Circulation Pump Deactivated
16:38:18.777 -> Stir Pump Deactivated
16:38:18.777 -> Circulation Pump Activated
16:38:18.823 -> Stir Pump Activated
16:38:18.869 -> Circulation Pump Deactivated
16:38:18.869 -> Stir Pump Deactivated
16:38:18.915 -> Circulation Pump Activated
16:38:18.915 -> Stir Pump Activated
16:38:18.962 -> Circulation Pump Deactivated
16:38:19.009 -> Stir Pump Deactivated
16:38:19.009 -> Circulation Pump Activated
16:38:19.054 -> Stir Pump Activated
16:38:19.054 -> Circulation Pump Deactivated
16:38:19.101 -> Stir Pump Deactivated
16:38:19.101 -> Circulation Pump Activated
16:38:19.146 -> Stir Pump Activated
16:38:19.146 -> Circulation Pump Deactivated
16:38:19.192 -> Stir Pump Deactivated
16:38:19.238 -> Circulation Pump Activated
16:38:19.238 -> Stir Pump Activated
16:38:19.284 -> Circulation Pump Deactivated
16:38:19.330 -> Stir Pump Deactivated
16:38:19.330 -> Circulation Pump Activated
16:38:19.376 -> Stir Pump Activated
16:38:19.376 -> Circulation Pump Deactivated
16:38:19.422 -> Stir Pump Deactivated
16:38:19.422 -> Circulation Pump Activated
16:38:19.468 -> Stir Pump Activated
16:38:19.468 -> Circulation Pump Deactivated

It just continues forever.

Not shown, I did throw in a Serial.println(F(CirculationPumpPreviousMils)); and I noticed that the value would even change to a negative(would print a -30000 and increment to a positive) and when the value became positive it still had no effect on the issue at hand. Just kept activating/deactivating. I've tried writing only if statements, here I used if/if else statements, and I've tried changing the "RunTime" variables to 10 & 20 seconds vs just 5 seconds to see if the interval was too short for some reason. What are my noob eyes not seeing here?

I hope I've explained this well enough for you

Code.txt (9.38 KB)

All your variables that deal with millis() must be 'unsigned long' not 'int' since those can overflow.
I am also surprised that Serial works since you set the RX pin as an OUTPUT

  Serial.begin(9600);
  ResetIndicator = 0;
  pinMode(0, OUTPUT);
  pinMode(1, OUTPUT);
//...

Serial uses pins 0 and 1 so you don't need to set those

blh64:
All your variables that deal with millis() must be 'unsigned long' not 'int' since those can overflow.
I am also surprised that Serial works since you set the RX pin as an OUTPUT

  Serial.begin(9600);

ResetIndicator = 0;
 pinMode(0, OUTPUT);
 pinMode(1, OUTPUT);
//...



Serial uses pins 0 and 1 so you don't need to set those

Yes I realized my noob mistake after the two relays I had it control starting rapidly clicking when transmitting data. Ill change to unsigned longs tonight and try that

blh64:
All your variables that deal with millis() must be 'unsigned long' not 'int' since those can overflow.
I am also surprised that Serial works since you set the RX pin as an OUTPUT

  Serial.begin(9600);

ResetIndicator = 0;
  pinMode(0, OUTPUT);
  pinMode(1, OUTPUT);
//...



Serial uses pins 0 and 1 so you don't need to set those

Well this worked. Thank you!