Pumps are routinely cycled between duty and standby. This can be modeled by using an Real Time Control (RTC) object.
In the example below the pumps are modeled for simplicity as Fixed Pumps. They have the same ON and OFF settings, and the same discharge. This example can be downloaded using the link at the bottom of this post.
The RTC uses the RANGE type pumpstate (which displays the idle time of the pump as a value less than 0 and the running time as a value greater than zero). By using a variable (DELTA_IDLE) to calculate the difference we can determine which pump needs to operate next.
A logic determines if the ON criteria is met, as well as checking whether this pump is the one scheduled to run.
The added benefit is that once a pump starts running the pumpstate will change, meaning that should the water level continue above the Cut In level, and one of the pumps is already running, then the second pump will also start. This can be seen in the results below.