DOS for Auto Water changes - programming help

ADVRESOURCE

New member
I setup the water changes to occur each night at 6pm to 6am the following morning. I am changing 2.5 gallons per day. For a 5 gallon canister, I need to change out every other day, except on Sunday I don't want to have to change the canister. Thus, my cycle is Monday 6pm to Tuesday 6am, Tuesday 6pm to Wednesday 6am, Wednesday change the canister, Wednesday 6pm to Thursday 6am, Thursday 6pm to Friday 6am, Friday change canister, Friday 6pm to Saturday 6am, Saturday 6pm to Sunday 6am, OFF Sunday 6pm to Monday 6am, Change canister Monday so the start of the cycle can begin Monday 6pm.

I want to be able to advanced program the controllers to skip Sunday 6pm to Monday 6am. Also, I have two float switches 1 and 2 used to detect empty NSW and full OSW. The switches are positioned closed when the NSW is not empty and OSW is not full. Thus, any open connectors going to the float switches won't allow pumping water.

Please review the code and comment, will this work?
For NSW:

Fallback OFF
Set PROFILE

If SW_1 OPEN Then OFF
If SW_2 OPEN Then OFF

If DoW S------ Then OFF
If Time 00:00 to 6:00 Then PROFILE

If Dow -M----- Then OFF
If Time 18:00 to 23:59 Then PROFILE

For OSW:

Fallback OFF
Set PROFILE

If SW_1 OPEN Then OFF
If SW_2 OPEN Then OFF

If DoW S------ Then OFF
If Time 00:00 to 6:00 Then PROFILE

If Dow -M----- Then OFF
If Time 18:00 to 23:59 Then PROFILE
 
Apex folks got back to me today. Apparently, the nested time for each day of inoperation can be performed by creating virtual outputs and then combining into DOS pump outputs. Very useful information. There's an example in the Comprehensive Reference Manual Chapter 9. Thanks for the timely feedback.

DOS for auto water changes - programming help?

I setup the water changes to occur each night at 6pm to 6am the following morning. I am changing 2.5 gallons per day. For a 5 gallon canister, I need to change out every other day, except on Sunday I don't want to have to change the canister. Thus, my cycle is Monday 6pm to Tuesday 6am, Tuesday 6pm to Wednesday 6am, Wednesday change the canister, Wednesday 6pm to Thursday 6am, Thursday 6pm to Friday 6am, Friday change canister, Friday 6pm to Saturday 6am, Saturday 6pm to Sunday 6am, OFF Sunday 6pm to Monday 6am, Change canister Monday so the start of the cycle can begin Monday 6pm.

I want to be able to advanced program the controllers to skip Sunday 6pm to Monday 6am. Also, I have two float switches 1 and 2 used to detect empty NSW and full OSW. The switches are positioned closed when the NSW is not empty and OSW is not full. Thus, any open connectors going to the float switches won't allow pumping water.

Please review the code and comment, will this work?
For NSW:

Fallback OFF
Set PROFILE

If SW_1 OPEN Then OFF
If SW_2 OPEN Then OFF
IF SUNDAY NSW OFF THEN OFF
IF MONDAY NSW OFF THEN OFF

VIRTUAL OUTLET SUNDAY NSW
Set PROFILE
If DoW S------ Then OFF
If Time 00:00 to 6:00 Then PROFILE

VIRTUAL OUTLET MONDAY NSW
Set PROFILE
If Dow -M----- Then OFF
If Time 18:00 to 23:59 Then PROFILE


For OSW:

Fallback OFF
Set PROFILE

If SW_1 OPEN Then OFF
If SW_2 OPEN Then OFF

IF SUNDAY OSW OFF THEN OFF
IF MONDAY OSW OFF THEN OFF


VIRTUAL OUTLET SUNDAY OSW
Set PROFILE
If DoW S------ Then OFF
If Time 00:00 to 6:10 Then PROFILE

VIRTUAL OUTLET MONDAY OSW
Set PROFILE
If Dow -M----- Then OFF
If Time 18:10 to 23:59 Then PROFILE
 
Ouch!..My head hurts reading this code.
Ever think about using the Dos for dosing and going with the Genesis system?
...all this code stuff is already built into it.
...although it is a pricy item
 
My issue was that I do water changes between days. 6pm to 6am the following morning. Since Sunday at 6pm to Monday at 6am there will be no water to fill, I want to stop the water change during that cycle. The APEX software is typically a one dimensional system that flips the state of registers. That's why order of events programmed create different results. Depending on the last know register status, the APEX will control the output accordingly. I could have done this task easily, if I were to do a water change continuously or eliminated only a single day. Since I do a water change, in part on Sunday, I couldn't eliminate Sunday altogether and the same goes for Monday. Luckily, APEX software allows virtual outputs, a bunch of them. You can create virtual output for Sunday and one for Monday. Turn off and then sequentially, if the proper time of water change, then turn ON.

Complicated at first. But, works awesome.
 
I'm sure all systems have their PRO's and CON's. I haven't looked at the Genesis system in handling complex user requirements.
 
Back
Top