• ******* To read about the changes to the marketplace click here

Thoughts on AC Programming

jackthestrat

DON'T PANIC
Hi everyone -

Got my AC Jr. yesterday, first foray into the controller world. Below is the program I am thinking of using on it, could you let me know if it will do what I think it will do? Thoughts, suggestions welcome...

LT1 - A01 ; Light 1 on Channel A01.
FAN - A02 : Fan on Channel A02.
PM1 - A03 ; Pump 1 on Channel A03.
PM2 - A04 ; Pump 2 on Channel A04.
HE1 - A05 ; Heater on Channel A05.
HE2 - A06 : Heater on Channel A06
CO2 - A07 ; CO2 on Channel A07.
ALM - A08 ; Alarm module on Channel A08




If Time > 03:00 Then LT1 ON (self explanatory, yes that is the time I want it on)
If Time > 14:00 Then LT1 OFF (self explanatory)
If Temp < 79.7 Then HE1 ON
If Temp < 79.7 Then HE2 ON
If Temp < 50.0 Then HE1 OFF (for error in probe)
If Temp < 50.0 Then HE2 OFF (for error in probe)
If Temp > 80.0 Then HE1 OFF
If Temp > 80.0 Then HE2 OFF
If Temp > 100.0 Then HE1 OFF (for error in probe)
If Temp > 100.0 Then HE2 OFF (for error in probe)
If Temp > 80.0 Then FAN ON
If Temp < 79.0 Then FAN OFF
If Temp > 83.0 Then LT1 OFF
MAX Change 015 M Then LT1 OFF (this is where I am leery - I want my lights to wait 15 mins before turning back on if it is turned off instead of switching back and forth between 79 and 80 degrees - not sure i fully understand this command)
If Feed cycle Then PM1 OFF
If Feed cycle Then PM2 OFF
If pH < 7.9 Then CO2 OFF
If Time > 00:00 Then ALM OFF
If pH > 8.50 Then ALM ON
If pH < 7.9 Then ALM ON
If Temp < 78.0 Then ALM ON
If Temp > 84.0 Then ALM ON
 
If Temp > 100.0 Then HE1 OFF (for error in probe)
If Temp > 100.0 Then HE2 OFF (for error in probe)

this won't do anything for you because you have already told the heater to shut off when it reaches 80 degrees.
 
If Temp < 50.0 Then HE1 OFF (for error in probe)
If Temp < 50.0 Then HE2 OFF (for error in probe)
This isn't needed either because you are already telling it that the heaters need to be off at anything below 79.7
If Time > 00:00 Then ALM OFF
I'm not fully aware at how the AC uses it's programming language, but this line could do one of two things (you probably don't want either). It would either cause your alarm to be on until midnight whenever the alarm is tripped by an event or the alarm will go on (from the trip) and then immediately back off (because the time is greater than 12:00 AM (which is anytime other than exactly 12:00AM).
 
If Temp < 79.7 Then HE1 ON
If Temp > 80.0 Then HE1 OFF

If Temp > 80.0 Then FAN ON
If Temp < 79.0 Then FAN OFF

If you have the heaters turn on at 79.7 and the fan doesn't turn off until it gets to 70 they'll be working against each other from 79 to 79.7 degrees.

You can also free up an outlet by just putting both heaters on one unless they draw a lot of power.

Rant: The Neptune controller work great, but the manual, as far as explaining how to program it, is terrible. I can't imagine how much work went into the actual product only to fall so far short on documentation on how to use it. Really frustrating to have to come on here, RC or call Neptune every time I need to use a new command.

I recently did an update to my firmware and it looks like some new stuff has been added. The guy should spend a couple days writing a decent manual.
 
the way you programmed your alarm code is in a way that the alarm will only be activated at 12AM exactly and off at 12:01. If you want it on continuously, or between a set timeframe-

If Time > 0XXX Then ALM ON
If Time > 2XXX Then ALM OFF
 
AC3 programming is sequential (top to bottom, all statements evaluated in order, every minute). Think of the statements as figuring out what state each timer should be, and once every programming line is read by the AC3, all resulting ON or OFF values are done simultaneously. So as a simple example:

If Time > 00:00 Then ALM OFF
If pH > 8.50 Then ALM ON

So each minute, the first statement evaluates to ALM = OFF. Then the second statement is checked (lets assume pH = 8.6) and evaluates to true, so after the second statement ALM = ON. That is the end of programming, and now the resulting commands (ALM = ON) is executed.


For your HE1 and HE2, if they are programmed exactly the same in your original post, you can just use one outlet with a splitter and plug both into it. If you keep them seperate, I would run them at slightly different temperatures (you might only need 1 to keep the tank warm normally, and have the other set lower as a backup). I also prefer to keep all statements about the same timer together, that way it is easier to see what is going on with each.


Here is how I would program your AC3:



If Time > 03:00 Then LT1 ON
If Time > 14:00 Then LT1 OFF
If Temp > 83.0 Then LT1 OFF
MAX Change 015 M Then LT1 OFF (once off, stay off for 15 minutes)
If Temp < 79.8 Then HE1 ON
If Temp > 80.0 Then HE1 OFF
Max Change 010M Then HE1 OFF (once off, stay off for 10 minutes)
If Temp < 79.7 Then HE2 ON
If Temp > 79.9 Then HE2 OFF
Max Change 010M Then HE2 OFF (once off, stay off for 10 minutes)
If Temp > 80.0 Then FAN ON
If Temp < 79.8 Then FAN OFF
Max Change 010M Then HE2 OFF (once off, stay off for 10 minutes)
If Time > 00:00 Then CO2 ON
If pH < 7.9 Then CO2 OFF
Max Change 010M Then CO2 OFF (once off, stay off for 10 minutes)
If FeedA 000 Then PM1 OFF
If FeedA 000 Then PM2 OFF
If Time > 00:00 Then ALM OFF
If pH > 8.50 Then ALM ON
If pH < 7.9 Then ALM ON
If Temp < 78.0 Then ALM ON
If Temp > 84.0 Then ALM ON
 
the way you programmed your alarm code is in a way that the alarm will only be activated at 12AM exactly and off at 12:01. If you want it on continuously, or between a set timeframe-

If Time > 0XXX Then ALM ON
If Time > 2XXX Then ALM OFF

That is not correct. If the only statement for a device (say ALM) is:

If Time > 00:00 Then ALM ON

Then that device will always evaluate to ON. There are no other statements to set it otherwise. The 00:00 could actually be any time, 00:00 is just a way to organize in a manner that it tells you it is always ON until a different statement shuts it off.
 
I'm a little lost on the lunar programming if anyone knows about those commands I'd appreciate some comments.
 
Mark, do you need a statement in there

If Time > 00:00 then PM1 ON

Will it stay off after the feed cycle if this isn't there? Would obviuosly need it for both pumps.
 
Mark, do you need a statement in there

If Time > 00:00 then PM1 ON

Will it stay off after the feed cycle if this isn't there? Would obviuosly need it for both pumps.

You are right!! Which brings up another point... someone was kind enough to create a simulator for the AC3, which would have shown that PM1 and PM2 never turn on (I use this simulator whenever I make changes to my programming to see what will happen ahead of time :eek: )

http://mysite.verizon.net/kenargo/AC3Software/Simulator/publish.htm


Updated program:

If Time > 03:00 Then LT1 ON
If Time > 14:00 Then LT1 OFF
If Temp > 83.0 Then LT1 OFF
Max Change 015 M Then LT1 OFF (once off, stay off for 15 minutes)
If Temp < 79.8 Then HE1 ON
If Temp > 80.0 Then HE1 OFF
Max Change 010M Then HE1 OFF (once off, stay off for 10 minutes)
If Temp < 79.7 Then HE2 ON
If Temp > 79.9 Then HE2 OFF
Max Change 010M Then HE2 OFF (once off, stay off for 10 minutes)
If Temp > 80.0 Then FAN ON
If Temp < 79.8 Then FAN OFF
Max Change 010M Then HE2 OFF (once off, stay off for 10 minutes)
If Time > 00:00 Then CO2 ON
If pH < 7.9 Then CO2 OFF
Max Change 010M Then CO2 OFF (once off, stay off for 10 minutes)
If Time > 00:00 then PM1 ON
If FeedA 000 Then PM1 OFF
If Time > 00:00 then PM2 ON
If FeedA 000 Then PM2 OFF
If Time > 00:00 Then ALM OFF
If pH > 8.50 Then ALM ON
If pH < 7.9 Then ALM ON
If Temp < 78.0 Then ALM ON
If Temp > 84.0 Then ALM ON
 
I figured out that I needed that Time > 00:00 for the Powerheads

unfortunately I cannot for the life of me figure out how to insert this command where it needs to go - if it tags on the end i can't get it to enter into feed mode though the PH'ds are running

any thoughts?
 
I figured out that I needed that Time > 00:00 for the Powerheads

unfortunately I cannot for the life of me figure out how to insert this command where it needs to go - if it tags on the end i can't get it to enter into feed mode though the PH'ds are running

any thoughts?

That is correct, because of how the AC3 reads the lines in sequence (as I explained in more detail above). The ON statement for your pumps must come before the Feed statements. How I posted the program is the order it needs to be in... order is VERY important in the AC3.
 
I hate to hijack this thread, but would this work as a decent ACJR program set?

A01- LT1- PC Actinics
A02- LT2- Metal Halides and cooling fans
A03- LT3- Moon lights and fuge light
A04- HE1- Heaters
A05- PM1- Powerheads Left
A06- PM2- Powerheads Right
A07- CO2- CO2 solenoid
A08- ALM- red LED alarm light


If Time > 09:30 Then LT1 ON
If Time > 21:30 Then LT1 OFF
If Time > 10:30 Then LT2 ON
If Time > 20:30 Then LT2 OFF
If Temp > 83.0 Then LT2 OFF
MAX Change 015 M Then LT2 OFF (once off, stay off for 15 minutes)
If Time > 21:30 Then LT3 ON
If Time > 09:30 Then LT3 OFF
If Temp < 78.0 Then HE1 ON
If Temp > 80.0 Then HE1 OFF
Max Change 010M Then HE1 OFF (once off, stay off for 10 minutes)
If Time > 00:00 Then CO2 ON
If pH < 7.9 Then CO2 OFF
Max Change 010M Then CO2 OFF (once off, stay off for 10 minutes)
If Time > 00:00 then PM1 ON
If FeedA 000 Then PM1 OFF
If Time > 00:00 then PM2 ON
If FeedA 000 Then PM2 OFF
If Time > 00:00 Then ALM OFF
If pH > 8.50 Then ALM ON
If pH < 7.9 Then ALM ON
If Temp < 77.0 Then ALM ON
If Temp > 84.0 Then ALM ON

thanks a lot for your help Mark!!!
 
I figured out that I needed that Time > 00:00 for the Powerheads

unfortunately I cannot for the life of me figure out how to insert this command where it needs to go - if it tags on the end i can't get it to enter into feed mode though the PH'ds are running

any thoughts?

Mark (Reef55) helped me out a lot with my ACjr programming too. It's my understanding that in order to insert a line you have to re-enter the whole program with your new command included. Which is a complete PITA, but it probably keeps the cost down.

Rant: The Neptune controller work great, but the manual, as far as explaining how to program it, is terrible. I can't imagine how much work went into the actual product only to fall so far short on documentation on how to use it. Really frustrating to have to come on here, RC or call Neptune every time I need to use a new command.

I recently did an update to my firmware and it looks like some new stuff has been added. The guy should spend a couple days writing a decent manual.

I completely agree. Very frustrating.
 
That is correct, because of how the AC3 reads the lines in sequence (as I explained in more detail above). The ON statement for your pumps must come before the Feed statements. How I posted the program is the order it needs to be in... order is VERY important in the AC3.


I'm tracking...whoa PIA, eh?! Reprogramming the SOB every time you decide to add a line...I take it that w/ the serial connection and Aquanotes or JAqua you can type the whole thing out and apply at once?

Same thought, different track -

Anyone on here have any luck running Aquanotes on Linux - Ubuntu? Tips before I attempt?
 
I hate to hijack this thread, but would this work as a decent ACJR program set?

A01- LT1- PC Actinics
A02- LT2- Metal Halides and cooling fans
A03- LT3- Moon lights and fuge light
A04- HE1- Heaters
A05- PM1- Powerheads Left
A06- PM2- Powerheads Right
A07- CO2- CO2 solenoid
A08- ALM- red LED alarm light


If Time > 09:30 Then LT1 ON
If Time > 21:30 Then LT1 OFF
If Time > 10:30 Then LT2 ON
If Time > 20:30 Then LT2 OFF
If Temp > 83.0 Then LT2 OFF
MAX Change 015 M Then LT2 OFF (once off, stay off for 15 minutes)
If Time > 21:30 Then LT3 ON
If Time > 09:30 Then LT3 OFF
If Temp < 78.0 Then HE1 ON
If Temp > 80.0 Then HE1 OFF
Max Change 010M Then HE1 OFF (once off, stay off for 10 minutes)
If Time > 00:00 Then CO2 ON
If pH < 7.9 Then CO2 OFF
Max Change 010M Then CO2 OFF (once off, stay off for 10 minutes)
If Time > 00:00 then PM1 ON
If FeedA 000 Then PM1 OFF
If Time > 00:00 then PM2 ON
If FeedA 000 Then PM2 OFF
If Time > 00:00 Then ALM OFF
If pH > 8.50 Then ALM ON
If pH < 7.9 Then ALM ON
If Temp < 77.0 Then ALM ON
If Temp > 84.0 Then ALM ON

thanks a lot for your help Mark!!!


I would change your temp range to something much smaller than a 2 degree swing. More like 0.2. Also, I would suggest having your fuge / moon lights turn on and off opposite your metal halide. This will make the system a bit more stable (in regards to pH), as it takes about an hour for photosynthesis of your fuge to get going, and vice versa for your tank.
 
I'm tracking...whoa PIA, eh?! Reprogramming the SOB every time you decide to add a line...I take it that w/ the serial connection and Aquanotes or JAqua you can type the whole thing out and apply at once?

Same thought, different track -

Anyone on here have any luck running Aquanotes on Linux - Ubuntu? Tips before I attempt?

No need for any of that... just plug it into your network!! You don't need aquanotes with an AC3.
 
Back
Top