Power cycle RODI after 6 hours

  • Thread starter Thread starter Gp!
  • Start date Start date
  • Tagged users None
Flushing doesn't work for tds creep. Flushing normally means running the unit wide open thru the "bad" output line so the water flows over the membrane to "flush" it. This is useless and not needed but is a great marketing gimmick. To get rid of tds creep you have to by-pass the DI unit for the first minute or two when you start to make water. This way the tds creep goes down the drain instead of the DI unit. No harm in not doing it, it will just exhaust your DI quicker.

I think it does the good option you described. This is the unit: https://www.coralvue.com/icecap-rodi-smart-water-filtration-system

But I added a cation, anion and additional mixed di chamber for better visual verification of when a change is needed.
 
@homer1475

If I were to put `IF FW_RODI = on then on` in the FW_TIMER code and `IF FW_TIMER = on then off` in the FW_RODI code would I end up with an import error or something like that? Is that why we use FW_VALVE for controlling both?
 
I would assume you have outlets named that?

Not knowing you entire apex, and what you have coded already, I can't say. I just used what you gave me.
 
I would assume you have outlets named that?

Not knowing you entire apex, and what you have coded already, I can't say. I just used what you gave me.

Yea fair enough. Is there a concern for circular references in the outlet coding?
 
Your unit just flushes the membrane(regular water over the membrane with no pressure(pressure is what forces the water through the membrane)).

It does not bypass the DI.
 
You wouldn't want the outlet to switch states all the time. You try to avoid that situation. Kind of like when someone uses a float valve and references that valve. You use a defer command, because with some slight variations, that float valve can change states constantly(like a wave hit it).
 
Your unit just flushes the membrane(regular water over the membrane with no pressure(pressure is what forces the water through the membrane)).

It does not bypass the DI.

Are you sure? It has a line that goes to the drain that water comes out of that is separate from the di output line
 
Does not say so in the direction. You always have waste water when making water. You should have a waste line. If it had a DI bypass, you would have 2 waste lines.

Honestly I have only noticed I can make maybe 30 extra gallons of water with a DI bypass, before I have to change the DI.
 
No worries. It's the one I have now so I'm going to work with it. Next time I'll be more informed :)

Thanks for your help. I will tinker with the coding now that I understand it better. Much appreciated
 
@homer1475

So I've tried to adapt this logic to control a pump that I want to turn off for 1 minute after every 1 minute of run time. My virtual outlet `FW_PUMP_WAIT` turns on after 1 minute as expected but never turns back off. What am I doing wrong?

Outlet "FW_PUMP"
Code:
Fallback OFF
Set OFF
If Output FW_PUMP_PUSH = ON Then ON
If Output FW_PUMP_WAIT = ON Then OFF

Virtual Outlet "FW_PUMP_PUSH" (controlled by a toggle switch which I have turned on)
Code:
Fallback OFF
Set OFF
If Output MIX_FW_ON = ON Then ON
If Output FW_EMPTY_ON = ON Then OFF
If Output MIX_FULL_ON = ON Then OFF
If Output MIX_MW_ON = ON Then ON

Virtual Outlet "FW_PUMP_WAIT"
Code:
Fallback OFF
Set OFF
If Output FW_PUMP_PUSH = ON Then ON
Min Time 001:00 Then OFF
Defer 001:00 Then ON
 
You could also simplify that coding with a OSC command.

I had originally done this with osc but it seems like OSC is based on wall time and sometimes when I flip the switch I have to wait for it to start. If possible I'd like the instant feedback that it is working and the delay to calculate from that point forward
 
Then switch up the OSC command.

If you read thre manual OSC can be used to wait, run, wait, or run, wait, run.

Sometimes you just have to limit yourself to the limits of the apex coding. As one of my old college professors use to tell us in coding class, "there is always a way to code your way out, just learn to work within the code".
 
there is always a way to code your way out, just learn to work within the code

No doubt - it just seemed nicer to be responsive to flicking the switch as the start time.

I guess that isn't possible because I don't have anything driving the OFF condition?

I swapped to this and didn't observe the state change for `FW_PUMP_WAIT` back to OFF
 
Oops left the update off

Code:
Fallback OFF
Set OFF
If Output FW_PUMP_PUSH = ON Then ON
Min Time 002:00 Then OFF
Defer 001:00 Then ON
 
There isn't anything like "Time Since FW_PUMP_PUSH = ON" and modulo right?
 
Nope, and I still think OSC is the way to go with that type of setup.

I guess but only because there doesn't seem to be an alternative? It isn't conceptually simpler or easier to read to me?
 

IF YOU HAD TO TAKE A REEFING EXAM, WOULD YOU PASS?

  • Yes!

    Votes: 32 45.7%
  • Not yet, but I have one that I want to buy in mind!

    Votes: 9 12.9%
  • No.

    Votes: 26 37.1%
  • Other (please explain).

    Votes: 3 4.3%
Back
Top