post your program here

Very cool thread, and it's been alive for a while!

Here's my setup ... The AC3 is on the display tank and the Jr is on the prop tank.


// ACIII TIMER NAMES CONFIGURATION:

LT1$-A01 // Metal halide left
LT2$-A02 // Metal halide right
T51$-A03 // T5 lights internal
T52$-A07 // T5 lights external
FAN&-A04 // Cooling fans
HET%-A05 // Heater
FUG$-A06 // Refugium lighting
ML1$-A08 // Moon lights via 40 bulb LED strip
ALM$-A09 // Alarm
ML2$-B01 // Moon lights via Neptune Lunar Sim module
CO2%-C01 // CO2 for calcium reactor
BLU$-C03 // Blue indicator light to show CO2 status

// TIMER PROGRAMS:

// This sets the alarm to an OFF state by default.
If Time > 00:00 Then ALM OFF

// Lighting timers. Turns MH and T5 lighting on and off and set times.
If Time > 13:29 Then LT1 ON
If Time > 21:30 Then LT1 OFF
If Time > 13:29 Then LT2 ON
If Time > 21:30 Then LT2 OFF
If Time > 07:30 Then T51 ON
If Time > 22:00 Then T51 OFF
If Time > 07:30 Then T52 ON
If Time > 22:00 Then T52 OFF

// Refugium lighting.
If Time > 21:00 Then FUG ON
If Time > 06:30 Then FUG OFF

// Moonlighting.
If Moon 000/000 Then ML1 ON
If Moon 000/000 Then ML2 ON

// Tempurature control. Is set to use AC seasonal table which is
// configured for the Fiji Islands seasonal table.
// LATITUDE: -18.6462 LONGITUDE: 178.5938
If Temp < RT+-0.4 Then HET ON
If Temp > RT+0.0 Then HET OFF
If Temp > RT+0.4 Then FAN ON
If Temp < RT+0.0 Then FAN OFF

// Alarms
If Temp < 74.0 Then ALM ON
If Temp > 82.0 Then ALM ON
If pH < 07.80 Then ALM ON
If pH > 08.60 Then ALM ON
If pH2 < 06.43 Then ALM ON
If pH2 > 07.00 Then ALM ON

// Calcium reactor configuration.
If pH2 < 06.50 Then CO2 OFF
If pH2 > 06.52 Then CO2 ON
// Timer statement that controls the CO2 indicator light.
If Timer CO2 = ON Then BLU ON
If Timer CO2 = OFF Then BLU OFF

// Timer statements that will not allow the moonlights
// to run if any other light in the system is on.
If Timer LT1 = ON Then ML1 OFF
If Timer LT1 = ON Then ML2 OFF
If Timer LT2 = ON Then ML1 OFF
If Timer LT2 = ON Then ML2 OFF
If Timer T51 = ON Then ML1 OFF
If Timer T51 = ON Then ML2 OFF
If Timer T52 = ON Then ML1 OFF
If Timer T52 = ON Then ML2 OFF

---------------------------------------------------------------------------------

//AC JR TIMER NAMES CONFIGURATION

LT1$-A01 // Metal halide lighting #1
FAN%-A02 // Metal halide cooling fans
ML1$-A03 // Moon lighting
HET%-A03 // Heater
FN1%- A04 //Cooling fan(s)
ALM$-A09 // Alarm

// TIMER PROGRAMS:

// This sets the alarm to an OFF state by default.
If Time > 00:00 Then ALM OFF

// Lighting timers, Turns MH and MH fans on and off
If Time > 13:29 Then LT1 ON
If Time > 21:30 Then LT1 OFF

// Moonlighting
If Moon 000/000 Then ML1 ON

// Tempurature control. Is set to use AC seasonal table which is
// configured for the Fiji Islands seasonal table.
// LATITUDE: -18.6462 LONGITUDE: 178.5938
If Temp < RT+-0.4 Then HET ON
If Temp > RT+0.0 Then HET OFF
If Temp > RT+0.4 Then FAN ON
If Temp < RT+0.0 Then FAN OFF

// Alarms
If Temp < 74.0 Then ALM ON
If Temp > 82.0 Then ALM ON
If pH < 07.80 Then ALM ON
If pH > 08.60 Then ALM ON

// Timer statements that will not allow the moonlights
// to run if any other light in the system is on.
If Timer LT1 = ON Then ML1 OFF
If Timer LT1 = ON Then FAN ON
If Timer LT1 = OFF Then FAN OFF
 
so i'm wondering if i can have a fan above my sump act as a chiller and come on when the temp gets at 77.5* (on) and turn (off) at 77* do i have to program that to a specific plug or can i copy/paste something and it will auto work.
heres what i was thinking:
If Temp > 77.5 Then FAN ON
If Temp < 77.0 Then FAN OFF
 
<a href=showthread.php?s=&postid=15291876#post15291876 target=_blank>Originally posted</a> by MplsMan
so i'm wondering if i can have a fan above my sump act as a chiller and come on when the temp gets at 77.5* (on) and turn (off) at 77* do i have to program that to a specific plug or can i copy/paste something and it will auto work.
heres what i was thinking:
If Temp > 77.5 Then FAN ON
If Temp < 77.0 Then FAN OFF

What you have will work as you expect. In the programming, you don't use specific outlet info, you assign the timer FAN to a specific outlet in the Timers section at the top of the programing page.
 
Hey guys,

I'm new to this and my tank hasn't even started cycling yet but wanted to run this by you experts.

I typed this manually so I apologize for all the errors of syntax and programing language. This is how my program is loaded into the ac3 exactly in terms of listing and I was wondering if I would have any issues with steps not following each other directly (you will see what I mean).

Please let me know any thoughts or suggestions. ANY help is appreciated as I am not even able to really test what I plan on doing at the moment. Thanks again in advance for the help. I need to know if I'm on the right track here...sorry for the long post and the programing being all over the place and a mess. You have no idea how new I am to this!

LT1 - B09 metal halides
LT2 - B10 metal halides
LT3 - B11 metal halides
HT2 - A08 TWO 300 watt heaters
HT1 - A07 ONE 300 watt heater
REF - B12 refugium lights (power compact - 4x96)
RTN - A05 hammer head return
SKM - A01 reeflo orca 250 pro skimmer (baldor gold motor)
ALM - A09 alarm
LTR - A02 litermeter
ATO - A03 tunze osmolator
FAN^ - B13 fan to blow over sumps (not actual name)
VTX - A04 TWO vortecs
FAN2 - A06 fan to blow over tank and lights - not actual name
MON - B14 moonlights
VOR - B15 vortech
VX2 - B16 vortec

IF TIME > 1630 THEN LT1 ON stagered lights so i can view after kids go to bed

IF TIME > 2300 THEN LT1 OFF
IF TIME > 1600 THEN LT2 ON
IF TIME > 2230 THEN LT2 OFF
IF TIME > 330 THEN REF ON didn't want refuge light to stay on that long

IF TIME > 1500 THEN REF OFF
IF TEMP < 76.7 THEN HT2 ON
IF TEMP > 77.0 THEN HT2 OFF
IF TIME > 1700 THEN LT3 ON note - skips process
IF TEMP < 76.6 THEN HT1 ON turns on if the two other in line heaters can't handle temp

IF TIME > 2330 THEN LT3 OFF
IF TEMP >77.0 THEN HT1 OFF
IF TIME > 000 THEN RTN ON
IF FEED D THEN RTN OFF water changing mode
IF FEED D THEN SKM OFF
IF TIME > 000 THEN SKM ON
IF TIME > 000 THEN ALM OFF
IF PH > 8.4 THEN ALM ON
IF PH < 7.8 THEN ALM ON
IF ORP > 450 THEN ALM ON
IF ORP < 300 THEN ALM ON
IF TEMP < 75.7 THEN ALM ON
IF TEMP > 81.3 THEN ALM ON
IF TEMP > 79.2 THEN FAN^ ON
IF TEMP < 79.0 THEN FAN^ OFF
IF TEMP > 79.5 THEN FAN2 ON
IF TEMP < 79.0 THEN FAN2 OFF
IF TEMP > 80.5 THEN LT2 OFF this is an attempt to cool tank - no chiller

MAX CHANGE 060 LT2 OFF
IF TEMP > 81 THEN LT1 OFF
MAX CHANGE 090 LT1 OFF
IF TEMP > 82.0 THEN LT3 OFF
MAX CHANGE 120 LT3 OFF
IF TIME > 000 THEN VTX ON
IF FEED A THEN VTX OFF feed mode
IF TIME > 2330 THEN MON ON
IF TIME > 1600 THEN MON OFF
IF TEMP < 72.5 THEN HT2 OFF
IF TEMP < 72.5 THEN HT1 OFF
IF TEMP > 81.0 THEN REF OFF
MAX CHANGE 090 REF OFF
IF FEED A THEN VOR OFF
IF FEED A THEN VX2 OFF
IF FEED A THEN RTN OFF
IF TIME > 000 THEN VOR ON
IF TIME > 000 THEN VXZ ON
IF TIME > 000 THEN LTR ON
IF TIME > 000 THEN ATO ON
IF POWER 05 THEN ALM ON trying to stagger when equipment turns on after power

IF POWER 012 THEN LT1 OFF outage so i don't surge electrical

IF POWER 010 THEN LT2 OFF
IF POWER 013 THEN LT3 OFF
IF POWER 003 THEN REF OFF
IF POWER 008 THEN SKM OFF
IF POWER 001 THEN HT2 OFF
IF TEMP < 75.3 THEN LT2 ON an attempt to heat the tank if heaters fail

IF TEMP < 75.1 THEN LT1 ON
IF TEMP < 75.0 THEN LT3 ON
MAX CHANGE 003 THEN FAN^ OFF
MAX CHANGE 003 THEN FAN2 OFF
IF FEED D 015 THEN ATO OFF
IF POWER 02 THEN HT1 OFF
 
I know this a simple program but can you programming gods let me know if I'm missing anything or if I am going to have an issue.
Plus i copied this line from someone else can you please explain what it will do exactly. Thanks for your time and knowledge.
(Max change 060 Then MH1 off)?

My Program as it stands.

If Time > 08:30 Then t5_ on
If Time > 20:30 Then T5_ off
If Time > 12:00 Then MH1 on
If Time > 1700 Then MH1 off
If Time > 12:00 Then MH2 on
If Time > 17:00 Then MH2 off
If Temp < 79.8 Then HET on
If Temp > 80.0 Then HET off
If Temp > 80.5 Then FAN on
If Temp < 80.1 Then FAN off
If Temp > 81.0 Then MH1 off
Max change 060 Then MH1 off
If Temp > 81.5 Then MH2 off
Max Change 060 Then MH2 off
If Temp <70.5 Then HET off
If Tmr T5_ = ON Then Fan(light) On
If Tmr T5_ = off Then Fan (light) off
If Feed A 000 Then Pm1 Off
 
Noticed that I forgot a high end safety so added

If temp> 85.0 Then HET off

Also changed
If FeedA 060 Then PM1 off

Any input would really helpful Im pretty unsure on this programming stuff.?
 
Last edited:
<a href=showthread.php?s=&postid=15422035#post15422035 target=_blank>Originally posted</a> by vchin


LT1 - B09 metal halides
LT2 - B10 metal halides
LT3 - B11 metal halides
HT2 - A08 TWO 300 watt heaters
HT1 - A07 ONE 300 watt heater
REF - B12 refugium lights (power compact - 4x96)
RTN - A05 hammer head return
SKM - A01 reeflo orca 250 pro skimmer (baldor gold motor)
ALM - A09 alarm
LTR - A02 litermeter
ATO - A03 tunze osmolator
FAN^ - B13 fan to blow over sumps (not actual name)
VTX - A04 TWO vortecs
FAN2 - A06 fan to blow over tank and lights - not actual name
MON - B14 moonlights
VOR - B15 vortech
VX2 - B16 vortec

IF TIME > 1630 THEN LT1 ON stagered lights so i can view after kids go to bed

IF TIME > 2300 THEN LT1 OFF
IF TIME > 1600 THEN LT2 ON
IF TIME > 2230 THEN LT2 OFF
IF TIME > 330 THEN REF ON didn't want refuge light to stay on that long any time statement should be xx:xx - so 330 should be 03:30.

IF TIME > 1500 THEN REF OFF
IF TEMP < 76.7 THEN HT2 ON
IF TEMP > 77.0 THEN HT2 OFF
IF TIME > 1700 THEN LT3 ON note - skips process
IF TEMP < 76.6 THEN HT1 ON turns on if the two other in line heaters can't handle tempI highly suggest grouping the on/off statements for a given device together, makes it easier to figure out what's going on. Having heat and light items mixed has caught me twice already thinking you didn't have a statement turning something on or off.

IF TIME > 2330 THEN LT3 OFF
IF TEMP >77.0 THEN HT1 OFFYou should also think about a statement to run the heaters off if temp gets way low - as something could be wrong with your temp probe and force the heaters all on when they don't need to be. Probably 75.0 would be good based on your temp for turning the Alarm on below. Edit - again, grouping like things together is a big plus...Just got to the bottom of your program and FINALLY see the low temp statement.
IF TIME > 000 THEN RTN ON
IF FEED D THEN RTN OFF water changing mode
IF FEED D THEN SKM OFF rather than using a feed timer for this, I use a dummy timer MNT (maintainance) to shut things off. Then just use a few statements like If TIMER MNT = ON then RTN OFF. Also remember to have a statement for MNT to be off in the program: If Time > 00:00 then MNT OFF
IF TIME > 000 THEN SKM ON
IF TIME > 000 THEN ALM OFF
IF PH > 8.4 THEN ALM ON
IF PH < 7.8 THEN ALM ON
IF ORP > 450 THEN ALM ON
IF ORP < 300 THEN ALM ON
IF TEMP < 75.7 THEN ALM ON
IF TEMP > 81.3 THEN ALM ON
IF TEMP > 79.2 THEN FAN^ ONFAN^ is not a valid ID, neither is FAN2. They have to be 3 digits only.
IF TEMP < 79.0 THEN FAN^ OFF
IF TEMP > 79.5 THEN FAN2 ON
IF TEMP < 79.0 THEN FAN2 OFF
IF TEMP > 80.5 THEN LT2 OFF this is an attempt to cool tank - no chiller

MAX CHANGE 060 LT2 OFF
IF TEMP > 81 THEN LT1 OFFNeed 81.0 for this.
MAX CHANGE 090 LT1 OFF
IF TEMP > 82.0 THEN LT3 OFF
MAX CHANGE 120 LT3 OFF
IF TIME > 000 THEN VTX ON
IF FEED A THEN VTX OFF feed modeYou need a time statement with feed...If Feed A 000 Then VTX OFF - leaves VTX off for only the lenght of the Feed program. IF Feed A 010...keeps the device off for 10 extra minutes after the timer for Feed A is finished. Set your time as desired.
IF TIME > 2330 THEN MON ON
IF TIME > 1600 THEN MON OFF
IF TEMP < 72.5 THEN HT2 OFF
IF TEMP < 72.5 THEN HT1 OFF
IF TEMP > 81.0 THEN REF OFF
MAX CHANGE 090 REF OFF
IF FEED A THEN VOR OFF
IF FEED A THEN VX2 OFF
IF FEED A THEN RTN OFF
IF TIME > 000 THEN VOR ON
IF TIME > 000 THEN VXZ ON
IF TIME > 000 THEN LTR ON
IF TIME > 000 THEN ATO ONThese statements should go at the top of the program. you should also add one for ALM so that it is OFF unless something else turns it on.
IF POWER 05 THEN ALM ON trying to stagger when equipment turns on after power

IF POWER 012 THEN LT1 OFF outage so i don't surge electrical

IF POWER 010 THEN LT2 OFF
IF POWER 013 THEN LT3 OFF
IF POWER 003 THEN REF OFF
IF POWER 008 THEN SKM OFF
IF POWER 001 THEN HT2 OFF
IF TEMP < 75.3 THEN LT2 ON an attempt to heat the tank if heaters fail

IF TEMP < 75.1 THEN LT1 ON
IF TEMP < 75.0 THEN LT3 ON
MAX CHANGE 003 THEN FAN^ OFF
MAX CHANGE 003 THEN FAN2 OFF
IF FEED D 015 THEN ATO OFF
IF POWER 02 THEN HT1 OFF 3 Digit time here.

Also, you should go download Kenargo's awesome simulator so you can see how things will behave with the code you have. It will also tell you errors if there are any.
 
<a href=showthread.php?s=&postid=15433469#post15433469 target=_blank>Originally posted</a> by reefgeek31
I know this a simple program but can you programming gods let me know if I'm missing anything or if I am going to have an issue.
Plus i copied this line from someone else can you please explain what it will do exactly. Thanks for your time and knowledge.
(Max change 060 Then MH1 off)? Tells the device to stay in the off state for 60 minutes before being alowed to turn back on.

My Program as it stands.

If Time > 08:30 Then t5_ onNot sure if t5_ is a valid name, you may have to change that to t51 or something. If this is your actinics, you could use AT1 if you'd rather.
If Time > 20:30 Then T5_ off
If Time > 12:00 Then MH1 on
If Time > 1700 Then MH1 off
If Time > 12:00 Then MH2 on
If Time > 17:00 Then MH2 off
If Temp < 79.8 Then HET on
If Temp > 80.0 Then HET off
If Temp > 80.5 Then FAN on
If Temp < 80.1 Then FAN off
If Temp > 81.0 Then MH1 off
Max change 060 Then MH1 off
If Temp > 81.5 Then MH2 off
Max Change 060 Then MH2 off
If Temp <70.5 Then HET off
If Tmr T5_ = ON Then Fan(light) OnNeed to spell these statements out - If Timer T5_ = ON Then Fan ON
If Tmr T5_ = off Then Fan (light) off
If Feed A 000 Then Pm1 Off

Also, the high-end safety you mentioned for your heater is redundant. You already have If Temp > 80.0 then HET OFF - last I checked, 85.0 was higher than 80.0. ;) Also, you don't have any alarm statements in your program. You should definitely have temp statements in there to turn on an alarm,and an ALM timer so you can trigger an e-mail notification.
 
Programming question

Programming question

Do you have to have any commands to initialize the sequence?
When I first power up my unit i get U'S then when I manually turn them on then back to auto the U'S are gone. Is it a programing issue or did I just miss something all together. Thanks ahead of time.
 
Re: Programming question

Re: Programming question

<a href=showthread.php?s=&postid=15441285#post15441285 target=_blank>Originally posted</a> by reefgeek31
Do you have to have any commands to initialize the sequence?
When I first power up my unit i get U'S then when I manually turn them on then back to auto the U'S are gone. Is it a programing issue or did I just miss something all together. Thanks ahead of time.

Initilization is as easy as: If Time > 00:00 Then (your 3 digit timer name here) ON (or OFF depending what you want). HOWEVER, you DO NOT want to use this type of statement for a heater or chiller - let the temp statements take care of it. U just means the controller doesn't know if it was on or off last, but it will update once it hits a condition that tells it to turn on or off (i.e. temp gets beyond one of your set points to turn it to a given state so the controller knows that the device should be on or off).
 
alarm code for return pump

alarm code for return pump

if i have this for my return:
If Time > 00:00 Then RET ON
what do i have for the alarm
if power 000 then alarm
 
You use the same thing, if Time > 00:00 Then ALM OFF, that initilizes the alarm to off. Then if a temp pH ORP or switch input is set to tell the alarm to turn on, it'll turn on. But, once the condition is cleared, the alarm will go back off.
 
<a href=showthread.php?s=&postid=15453007#post15453007 target=_blank>Originally posted</a> by MplsMan
so what do i use for the alarm to go on if power outage.

You had it right with the if Power 000 Then ALM - but you need to specif ON at the end to tell it to keep the alarm on after power failure for some amount of time (I would go 002 or something instead of 000 so the alarm stays on long enough to send the e-mail if your internet connection isn't back up and going immediately but that's a personal preference).
 
I just got a used AC Pro (Not the AC III Pro) today. Will all the programming techniques as stated in this thread be virtually the same for my AC Pro? What are the differences between AC Pro and AC III Pro. Figured once I understand this controller I can always upgrade to the latest and greatest.
 
I just replaced my ACjr with an AC3 to get the web & email alarm features. I transferred my ACjr program over and added the ALM statements in. Did some tests and the email notifications work. The power fail does not seem to work. If I remove power from the AC3, I dont see anything in the power fail log or status. The delays I have for the return and skimmer do work though. Any idea there, and any other suggestions?

LT1$-A01 //lights 1
LT2$-A02 //lights 2
FAN&-A03 //canopy fans
VOR#-A04 //Vortech pumps
FUG$-B02 //fuge light
RET#-B03 //return pump
SKM#-B04 //skimmer
HE1%-B05 //heater 1
HE2%-B08 //heater 2
DOS#-B01 //dosing pumps
ALM&-A09 //alarm

If Time > 00:00 Then RET ON
If Time > 00:00 Then SKM ON
If Time > 00:00 Then VOR ON
If Time > 00:00 Then ALM OFF
If Time > 12:00 Then LT1 ON
If Time > 21:30 Then LT1 OFF
If Time > 13:00 Then LT2 ON
If Time > 20:30 Then LT2 OFF
If Time > 12:00 Then FAN ON
If Time > 21:35 Then FAN OFF
If FeedA 000 Then VOR OFF
If Temp < 77.3 Then HE1 ON
If Temp > 78.0 Then HE1 OFF
If Temp < 77.5 Then HE2 ON
If Temp > 78.0 Then HE2 OFF
If Power 002 Then RET OFF
If Power 003 Then SKM OFF
If Timer LT1 = ON Then FUG OFF
If Timer LT1 = OFF Then FUG ON
If Time > 01:00 Then DOS ON
If Time > 02:10 Then DOS OFF
If Time > 07:00 Then DOS ON
If Time > 08:10 Then DOS OFF
If Temp > 81.0 Then ALM ON
If Temp < 77.3 Then ALM ON
If pH > 08.30 Then ALM ON
If Power 000 Then ALM ON
 
program appears functional. I would suggest adding the safety statements for your heaters, so if you have a failure of the temp probe they don't run 100% of the time. Just use a temp you should never get to (60 maybe?) to shut the heaters off if the temp is less than that.

As for the power failure - do you have a battery back-up hooked up to the 2nd power port on the AC3? If not, the power statements won't work for you.
 
Thanks. My failsafe if the temp probe failed is the internal thermostats in the heaters. The tank will go to ~ 81 and then they will turn off. The problem is those internal thermostats are typically poor which is the reason I have the AC3 controlling the temp. If the temp probe and one of the heater thermostats failed, I could have a problem. Using the low temp program would prevent this, but my tank could get pretty cool. Not sure how cool as I have never tested this. I would get the alarm email sent to me which would help. It may be a better way to go.

No, I dont have a battery backup. What is typically used? Will the AC3 charge a rechargeable 9V?
 
<a href=showthread.php?s=&postid=15461091#post15461091 target=_blank>Originally posted</a> by sjm817
Thanks. My failsafe if the temp probe failed is the internal thermostats in the heaters. The tank will go to ~ 81 and then they will turn off. The problem is those internal thermostats are typically poor which is the reason I have the AC3 controlling the temp. If the temp probe and one of the heater thermostats failed, I could have a problem. Using the low temp program would prevent this, but my tank could get pretty cool. Not sure how cool as I have never tested this. I would get the alarm email sent to me which would help. It may be a better way to go.

No, I dont have a battery backup. What is typically used? Will the AC3 charge a rechargeable 9V?

It's only 1 line of code, and with the alarm, better than having it overheat.

Most use a UPS to plug in the back-up, internet connection and maybe a pump or something to keep the tank on life support.
 
Back
Top