1. Do you have an old account but can't access it?


    See Accessing your GIRS Account or Contact Us - We are here to help!

AC3 Programming Guide

Discussion in 'General Discussion' started by AJ, Jan 22, 2010.

  1. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0
    I'm creating this thread to put some basic AC3 programming information for those that are new to the Neptune AquaControllers.  This is an absolute newbie guide so things will be presented as basic as I can.  I'm doing this because I think the AC3 user's guide sucks for programming guidance.  I know that these statements will work for AC3 and AC3Jr, but there are some differences with the new Apex controllers.  I'm pretty new to this stuff too and I won't get into anything advanced, just the basics for now.
    This guide is going to assume that you have connected your AC3 to your network and that you can access it with your PC.  Also, I'm going to assume that you have a DC8 (Direct Connect 8 - 8 outlet controllable power strip) connected, a temp probe and a pH probe.  Here goes.
    So I have my devices plugged into my DC8. How do I know what outlet is what?
    Your DC8 is arranged with outlets 1-4 across the top row and 5-8 across the bottom row (the dip switches and control ports are closest to the bottom row).  Each outlet is addressed by a three alphanumeric character identifier according to the configuration that you have set with the dip switches on the DC8.  We'll assume that you have it set to A and 1-8, so with this configuration, your outlets are identified as A01 - A08.
    I go into the Program Editor in the web interface and I see two sections, Timer Names and Program Statements.  What are these?
    Timer Names is where you create an identifier for each of your devices and indicate where the AC3 can locate that device.  For example, I plugged my heater into outlet A02 on my DC8, so in the Timer Names box, I will type this:
      HET%-A02
    This basically associates outlet A02 to the HET identifier.  We will use that in the Program Statement section.  The Program Statements sections is where the conditions are designated that indicate when and outlet is to be turned on or off.
    I have my heater plugged into A02.  I can see that my temp probe is tracking the water temp, so now what does my program need to look like in order to make my heater keep my water at 79 degrees?
    First, we'll assume that you have the Timer Names set up to have the following timer configured:
      HET%-A02
    Now, we put in the conditions where we want the power to outlet A02 to turn on or off.  These conditions are:
      If my water is colder than 77, turn the heater on.
      If my water is equal to 78 degrees, turn the heater on.
      If my water is hotter than 79 degrees, turn the heater off.
    These three conditions translate to the following Program Statements
      If Temp < 77.0 Then HET ON
      If Temp = 78.0 Then HET ON
      If Temp > 79.0 Then HET OFF
    Notice that all temps are specified with one decimal place present.  If you don't specify one decimal place, you will get an error.  The Temp label is used to determine the current temp of the tank based on the temp probe.  Later, we'll do more help control the temp in other ways.
    I have my return pump on A05 and I want it to always be on.  How do I tell it to turn on and stay on?
    First, let's create a Timer Name.  We'll call it RTN so it would look something like this:
      RTN%-A05
    Now for this condition, we'll base it on the time.  So the condition where we want to power to outlet A05 to turn on is:
      At any time of the day, turn my return pump on.
    To achieve this with Program Statements, we would put in this:
      If Time > 00:00 Then RTN ON
    This statement will turn on and leave on the outlet associated with the "RTN" timer as long as there is power present.
    I have my light plugged into outlet A03.  I want my lights to come on at 3:00 PM and turn off at 10:00 PM.  How do I do this?
    First, let's create the Timer Name.  We'll call it MH1 so it would look something like this:
      MH1%-A03
    For the condition, we want to have a turn on time and a turn off time, so the conditions are:
      Turn my lights on at 3:00 PM
      Turn my lights off at 10:00 PM
    To achieve this with Program Statements, we would put this in:
      If Time > 15:00 Then MH1 ON
      If Time > 22:00 Then MH1 OFF
    Notice that all times are expressed in 24 hour format with hours and minutes.
    I have moonlights and I want these to come on opposite of the main lights.  They are plugged into outlet A04.  How do I do this?
    First, let's create the Timer Name.  We'll call it MNL so it would look something like this:
      MNL%-A04
    For the condition, we want to have a turn on time and a turn off time, so the conditions are:
      Turn my moon lights on at 10:00 PM
      Turn my moon lights off at 3:00 PM
    To achieve this with Program Statements, we would put this in:
      If Time > 22:00 Then MNL OFF
      If Time > 15:00 Then MNL ON
    Notice that all times are expressed in 24 hour format with hours and minutes.
    My tank is overheating when my lights are on, what can I do?
    To help cool the tank, we'll mount a small fan so that it can blow across the water surface of your tank between the lights and your water.  Once that's mounted, we'll plug it into A01.  Now, we create the Timer Name.  We'll call it FAN so our Timer Name would look like this:
      FAN%-A01
    For the condition, we want to:
      Turn the fan on if the tank temp exceeds 79.5 degrees
    To achieve this with Program Statements, we would put this in:
      If Temp > 79.5 Then FAN ON
      If Temp < 79.5 then Fan OFF
    This will cycle your fan on and off as your tank temp exceeds the 79.5 degree threshold.
    So here's our Timer Names so far:
      FAN%-A01  
      HET%-A02
      MNL%-A04
      RTN%-A05
    And here's our Program Statements so far:
      If Time > 00:00 Then RTN ON
      If Temp < 79.0 Then HET ON
      If Temp = 79.0 Then HET ON
      If Temp > 79.0 Then HET OFF
      If Temp > 79.5 Then FAN ON
      If Temp < 79.5 Then FAN OFF
      If Time > 15:00 Then MH1 ON
      If Time > 22:00 Then MH1 OFF
      If Time > 22:00 Then MNL OFF
      If Time > 15:00 Then MNL ON
    My lights won't power back on after a brief power outage because the metal halide starters are too warm to trigger the starter.  How do I fix this?
    There's a built in Power timer that's reset upon power on.  If you put in the following command, your AC3 will wait 10 minutes before allowing the metal halides to be turned on.  In this example, we use the MH1 timer again to represent our metal halide lights.  The necessary program statement to accomplish this is:
      If Power 010 Then MH1 OFF
    The Power timer can be used for anything that you want to have started after shortly after a power outage. 
    After a power outage, my skimmer floods due to the increase in water in the sump.  How can I fix this?
    This is another great place to use the Power timer.  Allow the return pump to run for a couple of minutes before turning on the skimmer to normalize the water level in the sump and prevent the skimmer flooding from occurring.  Since we don't have a timer established for the skimmer yet, the following is what we'll add to the program to accomplish this.  The timer name will be:
      SKM%-A03
    And the program statement will be:
      If Power 002 Then SKM OFF
    I want to turn off my powerheads and return pump for 15 minutes while I feed my tank.  Also, I need to have my skimmer off for a few minutes longer than my return pump so that the sump water level can return to normal operating levels.  How do I do this?
    Obviously, this is what the feed timers are there for.  Feed timers are different than other programming in that it requires that you manually invoke them vs. execute based on a predetermined parameter like time or pH level, etc.  For this example, we'll have one timer name for powerheads, one for return pump, and one for skimmer.    We'll plan for the powerheads to come on first, then the return pump one minute later, and finally the skimmer 3 minutes after that (4 minutes after the feed timer ends).  If you have more powerheads or other devices to include, add them as needed.  This requires three steps:
    [*]Set up the length of the feed timer in the AC3.  This has to be done directly on the device and not using program statements.[*]Set up program to be executed for the particular feed timer[*]Execute the feed timer when it's time to feed.
    Step 1 - Set the length of the feed timer
    Go to your AC3 and click Select to get the Main Menu.
    Click Down until Setup is the selected option - click Select
    Timer Setup should be the first option displayed - click Select
    Click Down to Feed Intervals - click Select
    Click Down until you get to the Feed Timer you wish to modify.  For this example, We're going to use Feed Timer A - click Select.
    Click Up / Down to adjust the number of minutes that you want the timer to last - click Select
    Click Down until Exit is the selected option - click Select
    Click Down until Exit is the selected option - click Select
    Click Down until Run is the selected option - click Select
    Step 2 - Set the program to be executed for the timer
    We already have timer names for Return Pump (RTN) and Skimmer (SKM) so we'll add one more for powerhead (PWH)...so in the Timer names, we add
      PWH%-A06
    And the program statements would look like this:
      If FeedA 000 Then PWH OFF
      If FeedA 001 Then RTN OFF
      If FeedA 005 Then SKM OFF
    To me, this is a little counter-intuituve since we really want them to turn on after this amount of time and not off, but if you think about it like as a suppression vs. a on/off command it makes more sense (at least to me).  For example, if you think of "If FeedA 000 Then PWH OFF" as "when Feed A cycle is invoked, suppress PWH for the Feed A cycle minutes + 0 additional minutes", it might make the commands make more sense to you.
    Step 3 - Invoke the timer
    From the AC3 console, click Down until you see the desired timer, the click Select.  This invokes the cycle.  It can also be done by invoking it from the web interface if you're using firmware version 3.4 or greater.  When this is invoked, you will see a count down on the console with the option to end the feed timer early.  The countdown is displayed in seconds.
    More to come...

    General Tips

    • On DC8s, those with serial numbers of 9000+ use relays for switching ports 4 and 8.  This makes them more sensitive for lower wattage devices.
    • If you have a lower wattage device on DC8 with a SN lower than 9000 and have problems controlling it, using a splitter on that outlet to control multiple items with a single outlet...for example, multiple powerheads instead of putting each powerhead on it's own outlet.  You loose some flexibility, but you gain reliability.
    • www.kenargo.com is a wealth of information.  If you have an AC3, do yourself a favor and check out what this site has to offer.
    • Joel Tesdall has developed a nice management software application to help with managing the AC3 called ReefTrakker.  All GIRS members get a free license.  Go to www.reeftrakker.com to download it and PM Joel (jtesdall) for a license key.
    • If you have authentication enabled, but you don't want to have to worry about typing credentials in when you log in, bookmark your AC3 URL like this  http://username:password@ac3httphostname:ac3httpport.  If your username is admin, password is 1234, hostname is myac3 and port is 8080, then your URL would be http://admin:1234@myac3:8080/
    • User's Guides for the various controllers and components can be found here http://www.neptunesys.com/index.php...Itemid=48.   They are not very good, but sometimes the diagrams are helpful.
    • On a DC8, when setting your device identifier and outlet numbers, only switches 1-3 are used.
    I hope this is helpful.  Add question for things that you would like to see covered.
    --AJ
     
  2. FishBrain Expert Reefkeeper

    New London
    Ratings:
    +399 / 6 / -0
    Thanks Aj! This should help me out when i get mine in a week or two.
     
  3. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0
    Well, that was the idea. The users guide sucks so I thought I would try to put stuff down, but put it down in a more practical manner than what's available elsewhere.

    --AJ
     
  4. REEFer Madness

    REEFer Madness Inactive User

    867
    Ratings:
    +0 / 0 / -0
    Related to this: Have you seen the LA Fish Guys episode where he buys a Vortech and erases the memory...then it takes him hours to figure it out again? He printed out the instructions too.

    AJ, do you have the net module for the AC3?
     
  5. JB Veteran Reefkeeper

    Marion
    Ratings:
    +3 / 0 / -0
    The AC3 has ethernet built in. You don't need an addtional module.

    -JB
     
  6. REEFer Madness

    REEFer Madness Inactive User

    867
    Ratings:
    +0 / 0 / -0
    That's right, the AC2 is AC3 without the net. I was thinking it was a whole sperate add on.
    Does it only work for iPhones?   Or could it work with other ones?
     
  7. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0
    I believe that it's iPhone specific. Also, I don't believe the AC3Jr comes with Ethernet or the ability to add it....you have to use a serial cable for it. If you're comparing features of the different aquacontrollers, I've found www.aquariumcontrollers.com to be a helpful site.

    --AJ
     
  8. matt the fiddler

    matt the fiddler Inactive User

    329
    Ratings:
    +1 / 0 / -0
    You can use a feed timer to hit everything thing at once, then slowly bring up pumps so the food doesn't get blown out of your corals mouth.
    My feed timer runs for 500 seconds or so??? the feed timer is set in SECONDS- and I believe a menu option.
    once the feed cycle is done, RET, my main return pump turns on instantly, Tunze 2 turns on in 10 minutes, Tunze 1 in 20, up to my closed loop 30 minutes after the feed timer expires. etc.
    If FeedA 000 Then RET OFF
    If FeedA 010 Then TU2 OFF -Tunze
    If FeedA 020 Then TU1 OFF
    If FeedA 025 Then MAX OFF - the maxijet mods blowing down the back.
    If FeedA 030 Then CLD OFF - closed loop
    so the number here leaves the device on or off POST feed timer.  this is counted in MINUTES
    A little more advanced,
    It stinks to leave your lights on overnight because you used the "ON" overide command and forgot to reset them to the AUTO state when you were done working on the tank...
    use the other feed timers (you have 4 of them) to turn the lights on to work or anything thing else that you overide a lot ... you won't forget to unplug them, rather than if FEED B then LT OFF .. make it LT ON
    If FeedB 045 Then LT1 ON leaves light 1 On for 45 minutes.
     
  9. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0
    Good stuff Matt. I've been reading up on the feed timers, still trying to figure them out. That and the oscillate function. This helps. I'll incorporate it into the guide.

    --AJ
     
  10. matt the fiddler

    matt the fiddler Inactive User

    329
    Ratings:
    +1 / 0 / -0
    AJ, let me see what I can find with examples from my old code... Some place I have my old codes down.
    Just seeing someones code is the most helpful thing sometime.


    Do you want anything for the AquaSurf wave controller or other hidden functions?
     
  11. Gered

    Gered Experienced Reefkeeper

    Ratings:
    +2 / 0 / -0
    I think I need a professional to come redo mine!
     
  12. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0
    Honestly,  I would like for this to be a resource for our members where some of the programming stuff can be explained.  Plus, after I don't have to touch it for a while, maybe a place where I can refresh my memory on why I set something up like I did.  The stuff I've covered so far is pretty straight forward, but I would like to do more to incorporate some of the things that are not used as often..for example, I'm going to try to incorporate some float switches and virtual timers.  I'll cover it all here in this thread.
    --AJ
     
  13. matt the fiddler

    matt the fiddler Inactive User

    329
    Ratings:
    +1 / 0 / -0
    correction.


    the first feed timer counts down in seconds, but the menu (under setup-> timers) programs in minutes
     
  14. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0
    Ah consistency...don't you love it!! Minutes in one place and seconds in the other...and you have to know it well enough to keep track of it all...one more thing to learn. :)

    --AJ
     
  15. jtesdall

    jtesdall Expert Reefkeeper

    Ratings:
    +1 / 0 / -0
    Hey AJ, what do you think about turning this into a Wiki article?
    Also everyone, don't forget to get your free members only copy of ReefTrakker for your Neptunes. Just head over to ReefTrakker.com and download. Then email me and I will license it for free.
     
  16. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0
    Yeah, I can do that when it gets a little more complete, but I like the interactive nature of the forums for now as people can ask questions and suggest new stuff to be added. I'm still researching and adding more from day to day...in fact, today I added info about the "Power" system timer to control startup events after a power outage. Cool stuff!

    Great to know about the ReefTrakker stuff. Thanks for the reminder.

    --AJ
     
  17. AJ

    AJ Inactive User

    Ratings:
    +0 / 0 / -0
    Added the feed timer stuff tonight and some Power commands late last week for anything special that might need to be done in case of a power outage. I know I'm learning a lot about the capabilities of my AC3 getting it up and running on this tank I have going. Even with all that I have in there, I know I'm just scratching the surface of the capabilities of this controller...much more to come.

    --AJ
     
  18. Don

    Don

    77
    Ratings:
    +0 / 0 / -0
    AJ

    My question would be is it worth it? I have debating about getting an AC3 mainly since my job is working with control systems and would love to have the same automation with my tank. My biggest downside right now is my lighting. I am picking up a 72 Aquaticlife 12 bulb T5 setup and that's a single outlet with built in controller. Mainly all I would be able to control is pumps and heaters and monitor some parameters.

    So just wondering what you or anyone else thinks about the benefits of a controller. The built in web server is a big plus for me, its the main reason I was looking into the AC3.

    Thanks

    Don
     
  19. matt the fiddler

    matt the fiddler Inactive User

    329
    Ratings:
    +1 / 0 / -0
    a good controller to control temp, ph, topoff, the ability to cutoff or turn on devices IE..... if your temp spikes you lights can still be killed off of one socket..... is one of the best ways to reach the end goals of stability and crash protection. there are so many ways to write fail safe codes to do X in case of event Y, and further keep your hands out of the tank...
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.