Soak time logic
Currently program works by applying defined soak time between each cycle. Here is actual data from one of my program. For readability and understanding I am not showing what was scheduled only was watered and I added column for end time.
Start Time Water Duration End Time
Cycle 1 / 4
1. Zone-1 10:53:02 0:06:59 11:00:01
2. Zone-2 11:01:02 0:09:21 11:10:23
Cycle 2 / 4
1. Zone-1 11:25:24 0:06:59 11:32:23
2. Zone-2 11:33:23 0:09:21 11:42:44
Cycle 3 / 4
1. Zone-1 11:57:44 0:06:59 12:04:43
2. Zone-2 12:05:43 0:09:21 12:15:04
Cycle 4 / 4
1. Zone-1 12:30:04 0:06:59 12:37:03
2. Zone-2 12:38:03 0:09:21 12:47:24
My program has 1 minute delay between zone and 15 minute soak time. In this program the Zone-1 gets more soak time compared to Zone-2 because water duration is different for each zone.
I am proposing following approach:
Each zone's start time from Cycle 2 on ward should me max of
1. Zone's last cycle's end time + soak time
2. Previous Zone's end time + Zone Delay
Using above logic the program should run the following way
Start Time Water Duration End Time
Cycle 1 / 4
1. Zone-1 10:53:02 0:06:59 11:00:01
2. Zone-2 11:01:01 0:09:21 11:10:22
Cycle 2 / 4
1. Zone-1 11:15:01 0:06:59 11:22:00
2. Zone-2 11:25:22 0:09:21 11:34:43
Cycle 3 / 4
1. Zone-1 11:37:00 0:06:59 11:43:59
2. Zone-2 11:49:43 0:09:21 11:59:04
Cycle 4 / 4
1. Zone-1 12:00:04 0:06:59 12:07:03
2. Zone-2 12:14:04 0:09:21 12:23:25
BONUS: Program completed in short time and each zone got exact 15 minutes of soak time.
Though, There may be cases when each zone may not get equal soak time but this method may reduce overall time required to water.
Please sign in to leave a comment.
Comments
2 comments