Results 1 to 18 of 18

Thread: Multiple Heater Program

  1. #1
    New User
    Join Date
    Oct 2015
    Location
    Chicago, IL
    Posts
    5

    Multiple Heater Program

    I have 2 heaters on my system. The 300W is the main heater, and then there is a 150W heater as a backup that I want to use to help out the 300W if needed. Here is my programing for the 300W heater:

    Fallback ON
    If Temp < 78.6 Then ON
    If Temp > 78.9 Then OFF
    If Temp < 70.1 Then OFF

    I want the 150W to have the same on and off values, but I only want it to come on if the 300W heater has been on for longer than 30 minutes.
    Sometimes when it is really cold in the house, it takes the 300W a while to heat the tank up. I want the 150W to help the 300W, but only when it is struggling to get the temperature up. Anyone know how to program the 150W to make this happen? Thanks!

  2. #2
    Frequent Contributor zombie's Avatar
    Join Date
    Dec 2013
    Location
    Denver, CO
    Posts
    13,176
    I would actually do this

    300W
    Fallback OFF
    If Temp < 78.6 Then ON
    If Temp > 78.9 Then OFF
    If Temp < 70.1 Then OFF

    150W
    Fallback ON
    If Temp < 78.5 Then ON
    If Temp > 78.9 Then OFF





    Sent from my SM-G965U using Tapatalk

  3. #3
    Frequent Visitor rkpetersen's Avatar
    Join Date
    Jun 2017
    Location
    Near Seattle
    Posts
    940
    I do something similar to what you want. I use two identical 150W heaters, and have them take turns functioning as the primary heater, with backup from the other one any time the first is on continuously for more than 30 minutes. Each has an internal thermostat set and tested to 81F to help avoid risk of runaway heating. This programming has been working for me for about a year now without hiccups, controlling the temp pretty tightly in winter (somewhat less so in summer/now, as I don't use a chiller, just a cooling fan.) I use the Season table in Apex Local to control the temperature set point from month to month (1 degree F total variation from summer to winter.)

    [Heater1]
    Fallback ON
    If Temp < RT+0.0 Then ON
    Defer 001:15 Then ON
    If Temp > RT+0.1 Then OFF
    If Time 16:00 to 03:59 Then OFF
    If Temp < RT+-0.1 Then ON
    If Output Heater2On030 = ON Then ON
    If Output HeatersOn045 = ON Then OFF
    If Temp > 78.7 Then OFF
    If Temp < 70.1 Then OFF
    If Output ReturnPump = OFF Then OFF
    If Output LeakDetected = ON Then OFF

    [Heater2]
    Fallback ON
    If Temp < RT+0.0 Then ON
    Defer 001:20 Then ON
    If Temp > RT+0.1 Then OFF
    If Time 04:00 to 15:59 Then OFF
    If Temp < RT+-0.1 Then ON
    If Output Heater1On030 = ON Then ON
    If Output HeatersOn045 = ON Then OFF
    If Temp > 78.7 Then OFF
    If Temp < 70.1 Then OFF
    If Output ReturnPump = OFF Then OFF
    If Output LeakDetected = ON Then OFF

    [Heater1On030]
    Set OFF
    If Output Heater1 = ON Then ON
    Defer 030:00 Then ON

    [Heater2On030]
    Set OFF
    If Output Heater2 = ON Then ON
    Defer 030:00 Then ON

    [HeatersOn045]
    Set OFF
    Min Time 015:00 Then OFF
    If Output Heater1 = ON Then ON
    If Output Heater2 = OFF Then OFF
    Defer 045:00 Then ON

    I also have a backup heater of the same size. Only comes on if the house is exceptionally cold for a prolonged period, or in the event that one of the primary heaters fails.

    [BackupHeater]
    Fallback OFF
    Set OFF
    If Temp < RT+-0.2 Then ON
    Defer 000:30 Then ON
    If Output ReturnPump = OFF Then OFF
    If Output LeakDetected = ON Then OFF

  4. #4
    New User
    Join Date
    Oct 2015
    Location
    Chicago, IL
    Posts
    5
    Thank you both for your help!

    So if I follow what rkpetersen did, would this work...

    [VO_Heater]
    Set OFF
    If Output Heater300 = ON Then ON
    Defer 030:00 Then ON

    [Heater300]
    Fallback OFF
    If Temp < 78.6 Then ON
    If Temp > 78.9 Then OFF
    If Temp < 70.1 Then OFF

    [Heater150]
    Fallback OFF
    If Output VO_Heater = ON Then ON

  5. #5
    New User
    Join Date
    Oct 2015
    Location
    Chicago, IL
    Posts
    5
    Quote Originally Posted by zombie View Post
    I would actually do this

    300W
    Fallback OFF
    If Temp < 78.6 Then ON
    If Temp > 78.9 Then OFF
    If Temp < 70.1 Then OFF

    150W
    Fallback ON
    If Temp < 78.5 Then ON
    If Temp > 78.9 Then OFF





    Sent from my SM-G965U using Tapatalk
    How come you made the fallback for the 300 off? If I have the thermostat on the heater set to about 80 degrees, shouldn't I do fallback on so the heater still works in case of a communication loss? I don't think the 150 is powerful enough to heat the tank on it's own. Thanks!

  6. #6
    Frequent Visitor rkpetersen's Avatar
    Join Date
    Jun 2017
    Location
    Near Seattle
    Posts
    940
    Quote Originally Posted by bbhs23 View Post
    Thank you both for your help!

    So if I follow what rkpetersen did, would this work...

    [VO_Heater]
    Set OFF
    If Output Heater300 = ON Then ON
    Defer 030:00 Then ON

    [Heater300]
    Fallback OFF
    If Temp < 78.6 Then ON
    If Temp > 78.9 Then OFF
    If Temp < 70.1 Then OFF

    [Heater150]
    Fallback OFF
    If Output VO_Heater = ON Then ON
    This looks like it would work, although 1. I would undoubtedly add many embellishments and safeguards and 2. zombie often finds flaws in my logic so I will defer to his comment.

  7. #7
    Frequent Contributor zombie's Avatar
    Join Date
    Dec 2013
    Location
    Denver, CO
    Posts
    13,176
    Quote Originally Posted by bbhs23 View Post
    Thank you both for your help!

    So if I follow what rkpetersen did, would this work...

    [VO_Heater]
    Set OFF
    If Output Heater300 = ON Then ON
    Defer 030:00 Then ON

    [Heater300]
    Fallback OFF
    If Temp < 78.6 Then ON
    If Temp > 78.9 Then OFF
    If Temp < 70.1 Then OFF

    [Heater150]
    Fallback OFF
    If Output VO_Heater = ON Then ON
    The VO is unnecessary in that approach and can be moved to the heater itself.

    Sent from my SM-G965U using Tapatalk

  8. #8
    Frequent Contributor zombie's Avatar
    Join Date
    Dec 2013
    Location
    Denver, CO
    Posts
    13,176
    Quote Originally Posted by bbhs23 View Post
    How come you made the fallback for the 300 off? If I have the thermostat on the heater set to about 80 degrees, shouldn't I do fallback on so the heater still works in case of a communication loss? I don't think the 150 is powerful enough to heat the tank on it's own. Thanks!
    The reason is because in the event fallback is necessary, a slightly cooler tank is preferred over a warmer tank. Using the 150W instead of the 300W limits the rate at which temp can increase so it will settle at a safer temperature. If the 150W does not have it's own thermostat, use the 300.

    Sent from my SM-G965U using Tapatalk

  9. #9
    New User
    Join Date
    Oct 2018
    Location
    CA
    Posts
    8
    rkpetersen, I need help understanding your code. What does "If Temp < RT+0.0 Then ON" mean, specifically RT+0.0? Also I see that you have Heater 1 code and heater 2 code, but where do you put "[Heater1On030]
    Set OFF
    If Output Heater1 = ON Then ON
    Defer 030:00 Then ON

    [Heater2On030]
    Set OFF
    If Output Heater2 = ON Then ON
    Defer 030:00 Then ON

    [HeatersOn045]
    Set OFF
    Min Time 015:00 Then OFF
    If Output Heater1 = ON Then ON
    If Output Heater2 = OFF Then OFF
    Defer 045:00 Then ON"

    thx

  10. #10
    Frequent Visitor
    Join Date
    May 2014
    Location
    Portugal
    Posts
    389
    The RT+0.0 is the temperature that is set in the season table.

    That's how you use the Season Table for temperature!

  11. #11
    New User
    Join Date
    Oct 2018
    Location
    CA
    Posts
    8
    Quote Originally Posted by Rui Manuel Gaspar View Post
    The RT+0.0 is the temperature that is set in the season table.

    That's how you use the Season Table for temperature!
    Thx for the information Rui

  12. #12
    Frequent Visitor rkpetersen's Avatar
    Join Date
    Jun 2017
    Location
    Near Seattle
    Posts
    940
    Sorry, just saw this now. Yes, RT+0.0 is the number from the season table. RT+-0.1 is 0.1 degrees less than the season table (that's not a typo, you do enter '+-' to reduce the temp setting.)

    Also, [Heater1On030] is a virtual output that you create from the Outputs page. Each set of [ ] in my post above represents the name of either a physical outlet/output or a virtual output.

    The code I posted above is tricky, but it does work to keep temp extremely stable. I've been using it for about 18 months now on one tank and for 6 months on another.





  13. #13
    New User
    Join Date
    Oct 2018
    Location
    CA
    Posts
    8
    Thanks for the reply rkpeterson. I'm using a version of your code in my setup and thank you for that. This is my version.
    "
    Fallback ON
    If Tmp < 77.6 Then ON
    Defer 001:15 Then ON
    If Tmp > 78.0 Then OFF
    If Time 16:00 to 03:59 Then OFF
    If Output Heater2On030 = ON Then ON
    If Output HeatersOn045 = ON Then OFF
    If Output RetPump_2_3 = OFF Then OFF
    If LD_SMP CLOSED Then OFF
    If LD_STN CLOSED Then OFF
    If Power Apex Off 001 Then OFF
    "
    I couldn't get the RT+0.0 to work for some reason. I noticed the temp went down to 77.1 in my tank and the heater didn't turn on. The seasonal temperature in my local apex season chart for October is set at 77.5 so heater1 should've turned on with "If Tmp < RT+0.0 Then ON" command.

    This is what I had when I copied from you, before I changed it to the above code. I'm still trying to understand the logic. I've listed comments/questions after your code, I'm trying to understand why. Correct me if I got it wrong.
    "
    Fallback ON
    If Tmp < RT+-0.2 Then ON <-- This would turn on the heater when Temp is at 77.3 if seasonal temp in local chart is set at 77.5
    Defer 001:20 Then ON <-- defer for a minute and 20 seconds before turning on.
    If Tmp > RT+0.3 Then OFF <-- this would turn it off if temp is at 77.8
    If Time 04:00 to 15:59 Then OFF <--- this would mean the heater is off from 4am to 4pm.
    If Tmp < RT+-0.2 Then ON <--- WHY did you repeat this command here??? I don't understand the need
    If Output Heater1On030 = ON Then ON <-- this would turn on heater 2 when heater 1 is on for 30 mins
    If Output HeatersOn045 = ON Then OFF <-- this would turn off both heaters if they run for 45 mins
    If Tmp > 78.7 Then OFF <-- is this for backup or emergency if the heater is stuck on???
    If Tmp < 70.1 Then OFF <--- why this???
    If Output RetPump_2_3 = OFF Then OFF <--- if return pump is off then off.
    If LD_SMP CLOSED Then OFF <-- if leak turn off
    If LD_STN CLOSED Then OFF <--- if leak turn off
    If Power Apex Off 001 Then OFF <---- I put this in so I don't overload my UPS. The wattage goes to almost 900 watts with both heaters running.
    "



    thank you for your help

  14. #14
    Frequent Visitor rkpetersen's Avatar
    Join Date
    Jun 2017
    Location
    Near Seattle
    Posts
    940
    Fallback ON
    If Tmp < RT+-0.2 Then ON <-- This would turn on the heater when Temp is at 77.3 if seasonal temp in local chart is set at 77.5 Not quite. It would turn on at 77.2.
    Defer 001:20 Then ON <-- defer for a minute and 20 seconds before turning on. Yes
    If Tmp > RT+0.3 Then OFF <-- this would turn it off if temp is at 77.8 77.9.
    If Time 04:00 to 15:59 Then OFF <--- this would mean the heater is off from 4am to 4pm. Yes, but only if one of the next commands isn't true.

    If Tmp < RT+-0.2 Then ON <--- WHY did you repeat this command here??? I don't understand the need

    It's not a repeated command in mine. It is 0.1 degree lower. And it is positioned after the If Time command on purpose. What this does is turn on the heater if the temp drops too low during it's 'off' or 'secondary function' time. So if the other heater is already going, but not quite keeping up, this heater will kick in. And then the same thing happens with the other heater during the other half of the day.

    If Output Heater1On030 = ON Then ON <-- this would turn on heater 2 when heater 1 is on for 30 mins If heater 1 is still running after 30 minutes (obviously struggling), heater 2 will kick in.

    If Output HeatersOn045 = ON Then OFF <-- this would turn off both heaters if they run for 45 mins Safeguard; should never happen under normal use. If so, my house is too cold! (or one of them has failed.)

    If Tmp > 78.7 Then OFF <-- is this for backup or emergency if the heater is stuck on??? Yes

    If Tmp < 70.1 Then OFF <--- why this???

    When a temperature probe fails, if often gives an impossibly low number. Depending on whether your heaters have internal thermostats and if so, what they're set to, you can cook a tank if the feedback loop has failed.

    If Output RetPump_2_3 = OFF Then OFF <--- if return pump is off then off. Yes
    If LD_SMP CLOSED Then OFF <-- if leak turn off Yes I like to combine all my leak detectors into one VO.
    If LD_STN CLOSED Then OFF <--- if leak turn off Yes
    If Power Apex Off 001 Then OFF <---- I put this in so I don't overload my UPS. Good idea.

  15. #15
    New User
    Join Date
    Oct 2018
    Location
    CA
    Posts
    8
    Quote Originally Posted by rkpetersen View Post
    Fallback ON
    If Tmp < RT+-0.2 Then ON <-- This would turn on the heater when Temp is at 77.3 if seasonal temp in local chart is set at 77.5 Not quite. It would turn on at 77.2.
    Defer 001:20 Then ON <-- defer for a minute and 20 seconds before turning on. Yes
    If Tmp > RT+0.3 Then OFF <-- this would turn it off if temp is at 77.8 77.9.
    If Time 04:00 to 15:59 Then OFF <--- this would mean the heater is off from 4am to 4pm. Yes, but only if one of the next commands isn't true.

    If Tmp < RT+-0.2 Then ON <--- WHY did you repeat this command here??? I don't understand the need

    It's not a repeated command in mine. It is 0.1 degree lower. And it is positioned after the If Time command on purpose. What this does is turn on the heater if the temp drops too low during it's 'off' or 'secondary function' time. So if the other heater is already going, but not quite keeping up, this heater will kick in. And then the same thing happens with the other heater during the other half of the day.

    If Output Heater1On030 = ON Then ON <-- this would turn on heater 2 when heater 1 is on for 30 mins If heater 1 is still running after 30 minutes (obviously struggling), heater 2 will kick in.

    If Output HeatersOn045 = ON Then OFF <-- this would turn off both heaters if they run for 45 mins Safeguard; should never happen under normal use. If so, my house is too cold!

    If Tmp > 78.7 Then OFF <-- is this for backup or emergency if the heater is stuck on??? Yes

    If Tmp < 70.1 Then OFF <--- why this???

    When a temperature probe fails, if often gives an impossibly low number. Depending on whether your heaters have internal thermostats and if so, what they're set to, you can cook a tank if the feedback loop has failed.

    If Output RetPump_2_3 = OFF Then OFF <--- if return pump is off then off. Yes
    If LD_SMP CLOSED Then OFF <-- if leak turn off Yes I like to combine all my leak detectors into one VO.
    If LD_STN CLOSED Then OFF <--- if leak turn off Yes
    If Power Apex Off 001 Then OFF <---- I put this in so I don't overload my UPS. Good idea.

    thank you, I appreciate the time you took to answer my questions. I'll give it another try and see what happens. Yesterday the temp dipped to 77.0 but nothing turned on until I removed the "RT+0.0" and replaced it with the actual number. Thanks for you help. I'll let you know what happens if the temps dip again.

  16. #16
    Frequent Visitor rkpetersen's Avatar
    Join Date
    Jun 2017
    Location
    Near Seattle
    Posts
    940
    I wish you success. I can't tell you why the RT parameter isn't working for you; it has worked 'as advertised' for me from the start.

    Also, keep in mind that some of the parameters may need to be tweaked for your setup. Temperature set points, timer durations, etc, all depend to some degree on which specific heaters heating exactly how much water. I monitored my temp graphs and output log for a few weeks before I was satisfied with the results.

    Another thing: If your heaters have their own internal thermostats (Eheim, Cobalt, etc), it is generally recommended that they both be set to the same number, slightly higher than the highest temp you will be using with the Apex. Two reasons. First, with them set this way, they will go on and off when the Apex says so, and not sometimes do their own thing. Second, the slightly higher temperature won't hurt anything, but if you see it, you'll instantly know that something is wrong.

  17. #17
    New User
    Join Date
    Oct 2018
    Location
    CA
    Posts
    8
    I have two Finnex HMO Titanium heaters, 300watts, and I have to set the internal temp on the heaters to 85 just for it to heat the tank to 78. My temp sensor is in the inflow chamber, which is a chamber before the skimmer chamber where the heaters are. The skimmer chamber heats up quicker than the tank and shuts off the heaters if their set any lower then 85. My 100 gallon tank is situated on the other side of the wall from where the sump sits and takes a little longer to heat up.

    On Wednesday when my temp reached 77.0 and I noticed that the heaters didn't turn on, I immediately switched the RT parameter to 78.2 and that turned on heater 1. After 30 mins heater 2 kicked on, but before my temp reached 78.2 the 45min timer turned both heaters off. In between, I kept having to raise the internal temp of the heater up to 85 just for the heaters to stay on, which may have contributed to why it took so long to heat my tank 1 degree.

    Maybe I had a typo or something in my code and so I'm going to try the RT parameter again and see what happens.

    I didn't know about the IF Time command and that you need to follow it with another if statement, your explanation above was perfect. Someone told me that the line order didn't matter, hence the confusion. I need to read up more about programming in APEX, I just have to find a decent article to read. If you know of any good threads or articles to read please let me know. But thank you again for your help.

  18. #18
    Regular Vistor
    Join Date
    Apr 2017
    Location
    Eastern
    Posts
    41
    I went a different route. I have three heaters. I made a VO called AllHeat. In it are all my temp settings and such. Each heater's outlet just tells them to turn on if AllHeat is on. What this does is turn all heaters off and on at the same time, but each has monitoring and alarms based on wattage and amperage. I like to do it like this because using one heater all the time and another as a backup doesn't allow you to know if one fails....unless it's the primary one. My method uses all three, so if any go bad, I know it immediately. I don't worry about cycling and that wearing them out faster. I figure if a person wants stable temps, they have to be willing to have more frequent cycling. You can't have few cycles and stable temps at the same time.

Similar Threads

  1. Help! Program a temperature profile with multiple setpoints
    By ryguy in forum Apex Programming for Heaters and Chillers
    Replies: 0
    Last Post: 05-27-2020, 14:23
  2. Help! Multiple week dosing program
    By tastyfish in forum DŌS & DDR – Dosing and Fluid Metering System
    Replies: 4
    Last Post: 04-08-2020, 13:06
  3. Multiple WXM's with Multiple MP-40W-QD's on Multiple Tanks - They are confused!
    By Member No 1 in forum Apex Programming for Vortech, Tunze, & Other Controllable Pumps
    Replies: 12
    Last Post: 04-03-2018, 19:34
  4. Question: Multiple OSC in program
    By Krazie4Acans in forum Apex Classic/Apex Lite/Apex Jr
    Replies: 6
    Last Post: 09-08-2014, 20:08
  5. Question: Are Multiple Time of Day Heater Settings Possible
    By erbenton in forum Apex Programming for Heaters and Chillers
    Replies: 6
    Last Post: 05-30-2013, 18:39

Bookmarks

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •