Maximum Program Size in the AC3?

ekrunch

OT Magician
At what point do you hit the maximum amount of program in the AC3? I've got 2 DC8s, 1 DC4, 1 DC4HD, a PX1000, and I really want to add an Aquasurf and maybe the moonlight simulator. My question is around the program, it's getting quite lengthy already and the AC3 tends to time out from time to time when updating via the web interface. (Could be my wireless adapter doing that though)

I've currently got 100 lines of program and 24 timers... how close am I to the limit? Is it AC3Pro time? :D

Thanks,
Ed
 
The AC3 can control 24 devices, and supports 100 program statements; it would appear you are maxed out!
 
Woo hoo! I'll suppose i'll have to tone it down a bit. :D I've got lots of Max Change statements and various safeguards in there. Is there any way to combine statements? For example, I have 4 fans (FN1-4) that all come on at the same time and go off at the same time.

Does the AC3Pro do more program statements? Now I can't squeeze an Aquasurf in... :(
 
You can combine the 4 fans onto 1 timer, that will freee timers and statements. Also, you can only have 1 max chagne (either on or off) per timer, all others will be ignored. maybe that will give you enough???
 
How can you combine them? I've got heaters, refugium lights, and powerheads that are separate as well that can be combined. That should save me at least 5-10 lines.
 
I'll just post it for discussion.

Devices
ALM&-A09
ATO#-A08 // Auto top off
CO2&-B10 // CO2 solenoid
FL1$-A01 // Fuge Light 1
FL2$-A02 // Fuge Light 2 (Can be combined with FL1)
HT1%-D01 // Heater 1
HT2%-D02 // Heater 2 (Can be combined with HT1)
FN1%-D03 // Fan 1 - Lower Left
FN2%-D04 // Fan 2 - Lower Right
FN3%-D06 // Fan 3 - Upper Left (Can be combined with FN1)
FN4%-D07 // Fan 4 - Upper Right (Can be combined with FN2)
KWP#-B11 // Kalkwasser Pump
KWS#-B12 // Kalkwasser Stir Pump
MH1$-C13 // 250MH - Center
MH2$-C14 // 250MH - Left
MH3$-C15 // 250MH - Right
MNL$-C16 // Moonlights
PM1#-A05 // Pump 1 - System Pump
PM2#-B09 // Pump 2 - Reactor Pump
PM3#-A03 // Pump 3 - Fluidized Reactor Pump
SK1&-A04 // Skimmer
SWL#-D08 // Sea Swirls
WB1#-A06 // Wavebox
WM1#-D05 // Circulation Pumps

Program
If Time > 00:00 Then PM1 ON // Core Devices On / Off
If Time > 00:00 Then PM2 ON
If Time > 00:00 Then PM3 ON
If Time > 00:00 Then CO2 OFF
If Time > 00:00 Then SK1 ON
If Time > 00:00 Then SWL ON
If Time > 00:00 Then ATO ON
If Time > 00:00 Then WM1 ON
If Time > 00:00 Then KWP OFF
If Time > 00:00 Then ALM OFF
If Time > 09:00 Then FL1 ON // Fuge Lights
If Time > 23:00 Then FL1 OFF
If Time > 09:00 Then FL2 ON
If Time > 23:00 Then FL2 OFF
If Time > 00:00 Then WB1 OFF // Wavebox
If Time > 11:15 Then WB1 ON // Wavebox On - When I get the photocell working I won't need this anymore.
If Time > 21:45 Then WB1 OFF // Fuge Lights On
If Time > 11:00 Then MH1 ON // Lighting setups - Multiple photoperiods for each light
If Time > 14:00 Then MH1 OFF
If Time > 17:00 Then MH1 ON
If Time > 22:00 Then MH1 OFF
Max Change 015 M Then MH1 OFF // Halide safeguard
If Time > 12:00 Then MH2 ON
If Time > 17:15 Then MH2 OFF
If Time > 18:15 Then MH2 ON
If Time > 21:00 Then MH2 OFF
Max Change 015 M Then MH2 OFF
If Time > 12:15 Then MH3 ON
If Time > 17:30 Then MH3 OFF
If Time > 18:30 Then MH3 ON
If Time > 21:15 Then MH3 OFF
Max Change 015 M Then MH3 OFF
If Time > 00:00 Then MNL OFF // Moonlights - Default to off
If Timer MH1 = OFF Then MNL ON // Enable when center Halide goes off
If Time > 00:00 Then FN1 OFF // Fans - I plan to change these to temp based rules.
If Time > 10:55 Then FN1 ON // Fans
If Time > 22:05 Then FN1 OFF // Fans
If Time > 00:00 Then FN2 OFF // Fans
If Time > 10:55 Then FN2 ON // Fans
If Time > 22:05 Then FN2 OFF // Fans
If Time > 00:00 Then FN3 OFF // Fans
If Time > 10:55 Then FN3 ON // Fans
If Time > 22:05 Then FN3 OFF // Fans
If Time > 00:00 Then FN4 OFF // Fans
If Time > 10:55 Then FN4 ON // Fans
If Time > 22:05 Then FN4 OFF // Fans
If Temp < 77.0 Then HT1 ON // Heaters
If Temp > 78.0 Then HT1 OFF
If Temp < 50.0 Then HT1 OFF
Max Change 005 M Then HT1 OFF // Heaters safeguard
If Temp < 77.0 Then HT2 ON
If Temp > 78.0 Then HT2 OFF
If Temp < 50.0 Then HT2 OFF
Max Change 005 M Then HT2 OFF
If Temp > 81.0 Then MH1 OFF // Temp based lighting shutoff for emergencies
If Temp > 82.0 Then MH2 OFF
If Temp > 83.0 Then MH3 OFF
If FeedA 000 Then SK1 OFF // Feed cycle A - For phyto/rotifer sessions
If FeedB 000 Then PM1 OFF // Feed cycle B - Water changes
If FeedB 001 Then HT1 OFF
If FeedB 002 Then WB1 OFF
If FeedB 003 Then WM1 OFF
If FeedB 004 Then SK1 OFF
If FeedB 005 Then ATO OFF
If FeedB 006 Then PM3 OFF
If FeedB 005 Then KWS OFF
If FeedB 010 Then KWP OFF
If FeedB 015 Then PM2 OFF
If FeedB 060 Then CO2 OFF
If Power 001 Then MNL OFF // Sequence things on startup to avoid blowing fuses
If Power 005 Then WB1 OFF
If Power 005 Then WM1 OFF
If Power 006 Then SK1 OFF
If Power 007 Then PM3 OFF
If Power 009 Then FN1 OFF
If Power 009 Then FN2 OFF
If Power 009 Then FN3 OFF
If Power 009 Then FN4 OFF
If Power 010 Then MH1 OFF
If Power 013 Then KWS OFF
If Power 015 Then KWP OFF
If Power 015 Then PM2 OFF
If Power 020 Then MH2 OFF
If Power 030 Then MH3 OFF
If Power 060 Then CO2 OFF
If pH > 08.00 Then CO2 ON // CO2 Solenoid control rules
If pHA1 > 06.80 Then CO2 ON
If pHA1 < 06.70 Then CO2 OFF
Max Change 010 M Then CO2 OFF
If Timer PM1 = OFF Then PM2 OFF // If system pump is off, reactor pump should be as well
If Timer PM2 = OFF Then CO2 OFF // If reactor pump if off, CO2 should be as well
OSC 010/230 ON/OFF Then KWS ON // Kalk Stirrer
If pH > 08.20 Then KWP OFF
If pH > 08.40 Then ALM ON // Email alert settings
If pH < 07.80 Then ALM ON
If pHA1 > 08.40 Then ALM ON
If pHA1 < 06.60 Then ALM ON
If Temp < 76.5 Then ALM ON
If Temp > 81.0 Then ALM ON
If TmpA < 75.0 Then ALM ON
 
And in posting/commenting my program, I saw several things that I can remove. Especially if I don't mind a few things going into a "U" state. :)

By combining timers, I assume you mean assigning the same timer name to multiple outlets?

Instead of ...
FL1$-A01
FL2$-A02
HT1%-D01
HT2%-D02

Something like ...
FL1$-A01
FL1$-A02
HT1%-D01
HT1%-D02
 
Wow, that's one heck-of-a program.....

I think you have the idea; where you indicated items that can me merged you should merge them and just plug more into 1 outlet. Even after all is done thought I do not think you will gain enough room for an AquaSurf.

You don't merge them my name though, that will just cause the AC3 to be confused, you would use 1 timer, 1 outlet and plug more into a single outlet (remember you are wanting to lessen the number of items in the timer list).

Example:

FL1$-A01
HT1%-D01

Plug all fans into A01 and all heaters into D01. This frees 2 timers and associated statements.


Now, after all that however, if it doesn't look like you would save enough lines and timers you might want to just leave it alone and upgrade to a larger (AC3 Pro) unit; I mean, why change what is working????
 
<a href=showthread.php?s=&postid=12868305#post12868305 target=_blank>Originally posted</a> by kenargo
Wow, that's one heck-of-a program.....

I think you have the idea; where you indicated items that can me merged you should merge them and just plug more into 1 outlet. Even after all is done thought I do not think you will gain enough room for an AquaSurf.

You don't merge them my name though, that will just cause the AC3 to be confused, you would use 1 timer, 1 outlet and plug more into a single outlet (remember you are wanting to lessen the number of items in the timer list).

Example:

FL1$-A01
HT1%-D01

Plug all fans into A01 and all heaters into D01. This frees 2 timers and associated statements.


Now, after all that however, if it doesn't look like you would save enough lines and timers you might want to just leave it alone and upgrade to a larger (AC3 Pro) unit; I mean, why change what is working????

+1 but would like to know what you were smoking when you wrote that?:D
 
<a href=showthread.php?s=&postid=12868305#post12868305 target=_blank>Originally posted</a> by kenargo
Wow, that's one heck-of-a program.....

heh, thanks.. I think. :lol: I actually want to do a little more with it. I've got some ideas using a few float switches to integrate the ATO and Kalk drip. :D

I think you have the idea; where you indicated items that can me merged you should merge them and just plug more into 1 outlet. Even after all is done thought I do not think you will gain enough room for an AquaSurf.

That's not good news. :( I was really looking forward to an Aquasurf running some 6101's.

You don't merge them my name though, that will just cause the AC3 to be confused, you would use 1 timer, 1 outlet and plug more into a single outlet (remember you are wanting to lessen the number of items in the timer list).

Example:

FL1$-A01
HT1%-D01

Plug all fans into A01 and all heaters into D01. This frees 2 timers and associated statements.

Oh... that's what you meant by combining statements. That's actually why I bought the new DC8! I used to have everything all piggybacked onto a few outlets... it was a huge mess. Now the DC4's and DC8's are all mounted to the wall & tank stand and everything is all tie wrapped.

Now, after all that however, if it doesn't look like you would save enough lines and timers you might want to just leave it alone and upgrade to a larger (AC3 Pro) unit; I mean, why change what is working????

Do you happen to know how many lines of code the AC3 Pro can handle? I know it can do 40 devices, but how many lines of code? I'll need at least 200... 300 would be better. ;)
 
<a href=showthread.php?s=&postid=12869026#post12869026 target=_blank>Originally posted</a> by aiko670
+1 but would like to know what you were smoking when you wrote that?:D

It's okay to be jealous of my fantastic code work. I know you stole some of that and put it into your AC3 after I posted it. :D

All jokes aside, I used to be a software developer (many many moons ago)... I didn't need to smoke anything to whip out 100 lines of code. :rolleyes:
 
The AC3 Pro can handle 40 timers (according to the website) but the only reference I can find for code lines is that it can handle 120 statements
 
160? Hmmmmmmmm... I wonder if that would be enough to squeeze in an Aquasurf with 2 6101's and maybe my wavebox plus all of the stuff I have now. I doubt i'll add much more to my setup equipment wise, but I would like to add some switches here and there and a few more conditionals would be nice.

Maybe I'm just getting too carried away with it. :D
 
<a href=showthread.php?s=&postid=12874468#post12874468 target=_blank>Originally posted</a> by ekrunch
160? Hmmmmmmmm... I wonder if that would be enough to squeeze in an Aquasurf with 2 6101's and maybe my wavebox plus all of the stuff I have now. I doubt i'll add much more to my setup equipment wise, but I would like to add some switches here and there and a few more conditionals would be nice.

Maybe I'm just getting too carried away with it. :D
As far as you are not using X-10 code you can buy a second ACIII with only the temperature probe no need for PH or ORP probes and you can use it to run all things that do not need reference to PH or ORP like the aquasurf, the lighting and such and split the DC8
 
<a href=showthread.php?s=&postid=12874692#post12874692 target=_blank>Originally posted</a> by jdieck
As far as you are not using X-10 code you can buy a second ACIII with only the temperature probe no need for PH or ORP probes and you can use it to run all things that do not need reference to PH or ORP like the aquasurf, the lighting and such and split the DC8

I was actually thinking about doing just that, get a secondary AC3 head to run the rest of my devices. It might be a pain to manage though. Not so much for me but for those who have to babysit my tank while i'm on the road. :) The second AC3 would be nice though, i've got a few more tricks i'd like to do with this thing to get my system dialed in. I'd really hate to have to stop now. :D

We'll see though. Not 100% sure what to do yet. I may just ditch my DC4 and consolidate some outlets for a setup that's easier to manage. I even considered going back to external timers for things that I almost never interfere with (like lighting). But I like having temperature based shutoff for those in the case that I lose a fan or the a/c in the house has an issue.
 
Well, I just scored a pair of 6101's and it's time for the Aquasurf vs Tunze 7095 decision. I'd rather have the Aquasurf if I can squeeze it in. I have a few questions about that though.

- On the subject of program consolidation. Let's look at my Wavebox timer for example. I turn it on and off once during the day. I also set the "If Time > 00:00 Then WB1 OFF". Here is the code snippet...

If Time > 00:00 Then WB1 OFF
If Time > 11:15 Then WB1 ON
If Time > 21:45 Then WB1 OFF


Do I need the first statement? I want it to be off and not show a U for status (like my heaters do when they're on) but really would rather not waste the line of code. If I can omit this then that would save me 5-10 lines throughout the program. I'm also re-working my logic out to try and reduce some code statements.

- I am at 24 devices currently, does the maximum of 24 devices include the 2 that would run off of the Aquasurf? If that's the case then the rest of this is irrelevant and i'll get a 7095.

- How many lines of code does it typically take for an aquasurf to run?

- I have a 6212 Wavebox right now. My understanding is that you normally slave the wavebox controller off of the 7095 controller. Is it the same for the Aquasurf or should I just leave the wavebox separate?

Thanks again to everyone,
Ed
 
No, you don't need the first 'If Time' statement. Even without it it will never display a 'U'.
The pumps controlled by AquaSurf will need a timer name, and they will count to 24 timer name limit.
Take a look at the examples in the user manual and you'll get an idea of the program statements. Probably 10 to 20 depending on the numbers pumps, number of modes of operation, etc.
You can control the wavebox with the AquaSurf. It doesn't really slave off the 7095. It is just like another pump.

Curt
 
Is it possible to code if/then/else statements within the aquacontroller?

If it is allowed, you can definitely save a lot of lines of code.

Leo
 
Back
Top