Jump to content

OSC programming for AC3


dapettit

Recommended Posts

I want the PH's on the right side altenate with the PH's on the left side.

Right PH's on the right on for 15 minutes (Right PH's off)

Then the left side for 15 minutes

If I program my AC3 with the info below all pumps are on/off for 15 minutes:

OSC 015/015 ON/OFF Then PM1 ON

OSC 015/015 ON/OFF Then PM2 ON

OSC 015/015 ON/OFF Then PM3 ON

OSC 015/015 ON/OFF Then PM4 ON

If I program my AC3 with this data my left side only comes on and stays on.

OSC 015/015 ON/OFF Then PM1 ON

If Timer PM1 = On Then PM3 OFF

If Timer PM1= Off Then PM3 On

OSC 015/015 ON/OFF Then PM2 ON

If Timer PM2 = On Then PM4 OFF

If Timer PM2 = Off Then PM4 On

OSC 015/015 ON/OFF Then PM3 ON

If Timer PM3 = On Then PM1 OFF

If Timer PM3 = Off Then PM1 On

OSC 015/015 ON/OFF Then PM4 ON

If Timer PM4 = On Then PM2 OFF

If Timer PM4 = Off Then PM2 On

To say the least I'm a little confused

Dave_

Link to comment
Share on other sites

This is just meta code, but if youre going to use osc statements, then it needs to look like this:

OSC 015/015 ON/OFF Then LeftPowerhead On

OSC 015/015 OFF/ON Then RightPowerhead On

The key with the left/right alternate is that the ON/OFF statements need to be in opposition. I can help you with the lower code if you can define the TIMER statement for me. I'm having to reverse engineer a bit going from apex to AC3

Link to comment
Share on other sites

Here are the timer names & the complete program

TIMER NAME

MH1$-A01

MH2$-A02

T5A$-A03

FAN%-A04

MLT$-A05

FUG$-A06

HT1%-A07

HT2%-A08

ALM$-A09

PM1#-B09 //left

PM2#-B10 //right

RET#-B11

SKM&-B12

PM2#-B13 //left

PM4#-B14 //right

WMK#-B15

ATO#-B16

PROGRAM STATEMENTS

If Time > 13:30 Then MH1 ON

If Time > 21:30 Then MH1 OFF

If Time > 14:00 Then MH2 ON

If Time > 22:00 Then MH2 OFF

If Time > 13:15 Then T5A ON

If Time > 22:15 Then T5A OFF

If Time > 22:15 Then MLT ON

If Time > 23:59 Then MLT OFF

If Time > 21:15 Then FUG ON

If Time > 14:30 Then FUG OFF

If Temp > 78.5 Then FAN ON

If Temp < 78.0 Then FAN OFF

If Temp < 77.5 Then HT1 ON

If Temp > 78.0 Then HT1 OFF

If Temp < 77.5 Then HT2 ON

If Temp > 78.0 Then HT2 OFF

If Temp > 81.0 Then MH1 OFF

If Temp > 81.5 Then MH2 OFF

If Power 015 Then MH1 OFF

If Power 015 Then MH2 OFF

If Power 015 Then SKM OFF

If Power 015 Then WMK OFF

If Power 000 Then ALM ON

If Time > 00:00 Then ALM OFF

Max Change 030 M Then MH1 OFF

Max Change 030 M Then MH2 OFF

Max Change 030 M Then SKM OFF

Max Change 030 M Then WMK OFF

If Temp < 75.9 Then ALM ON

If Temp > 81.9 Then ALM ON

If Time > 00:00 Then RET ON

If Time > 00:00 Then SKM ON

If Time > 00:00 Then WMK ON

If Time > 00:00 Then ATO ON

If FeedA 000 Then RET OFF

If FeedA 005 Then SKM OFF

If FeedA 000 Then PM1 OFF

If FeedA 000 Then PM2 OFF

If FeedA 000 Then PM3 OFF

If FeedA 000 Then PM4 OFF

If FeedA 005 Then WMK OFF

If FeedA 000 Then ATO OFF

If FeedB 000 Then RET OFF

If FeedB 005 Then SKM OFF

If FeedB 000 Then PM1 OFF

If FeedB 000 Then PM2 OFF

If FeedB 000 Then PM3 OFF

If FeedB 000 Then PM4 OFF

If FeedB 005 Then WMK OFF

If FeedB 000 Then ATO OFF

If FeedB 005 Then SKM OFF

OSC 015/015 ON/OFF Then PM1 ON

OSC 015/015 ON/OFF Then PM2 ON

OSC 015/015 ON/OFF Then PM3 ON

OSC 015/015 ON/OFF Then PM4 ON

Link to comment
Share on other sites

I ran the below code through the AC# simulator available through RC the pumps oscillate. But in real-time just one side comes on and stays on.

Any help is appreciated.

Program:

If Time > 13:30 Then MH1 ON

If Time > 21:30 Then MH1 OFF

If Time > 14:00 Then MH2 ON

If Time > 22:00 Then MH2 OFF

If Time > 13:15 Then T5A ON

If Time > 22:15 Then T5A OFF

If Time > 22:15 Then MLT ON

If Time > 23:59 Then MLT OFF

If Time > 21:15 Then FUG ON

If Time > 14:30 Then FUG OFF

If Temp > 78.5 Then FAN ON

If Temp < 78.0 Then FAN OFF

If Temp < 77.5 Then HT1 ON

If Temp > 78.0 Then HT1 OFF

If Temp < 77.5 Then HT2 ON

If Temp > 78.0 Then HT2 OFF

If Temp > 81.0 Then MH1 OFF

If Temp > 81.5 Then MH2 OFF

If Power 015 Then MH1 OFF

If Power 015 Then MH2 OFF

If Power 015 Then SKM OFF

If Power 015 Then WMK OFF

If Power 000 Then ALM ON

If Time > 00:00 Then ALM OFF

Max Change 030 M Then MH1 OFF

Max Change 030 M Then MH2 OFF

Max Change 030 M Then SKM OFF

Max Change 030 M Then WMK OFF

If Temp < 75.9 Then ALM ON

If Temp > 81.9 Then ALM ON

If Time > 00:00 Then RET ON

If Time > 00:00 Then SKM ON

If Time > 00:00 Then WMK ON

If Time > 00:00 Then ATO ON

If FeedA 000 Then RET OFF

If FeedA 005 Then SKM OFF

If FeedA 000 Then PM1 OFF

If FeedA 000 Then PM2 OFF

If FeedA 000 Then PM3 OFF

If FeedA 000 Then PM4 OFF

If FeedA 005 Then WMK OFF

If FeedA 000 Then ATO OFF

If FeedB 000 Then RET OFF

If FeedB 005 Then SKM OFF

If FeedB 000 Then PM1 OFF

If FeedB 000 Then PM2 OFF

If FeedB 000 Then PM3 OFF

If FeedB 000 Then PM4 OFF

If FeedB 005 Then WMK OFF

If FeedB 000 Then ATO OFF

If FeedB 005 Then SKM OFF

OSC 005/005 ON/OFF Then PM1 ON

If Timer PM1 = ON Then PM3 OFF

If Timer PM1 = OFF Then PM3 ON

OSC 005/005 ON/OFF Then PM2 ON

If Timer PM2 = ON Then PM4 OFF

If Timer PM2 = OFF Then PM4 ON

OSC 005/005 ON/OFF Then PM3 ON

If Timer PM3 = ON Then PM1 OFF

If Timer PM3 = OFF Then PM1 ON

OSC 005/005 ON/OFF Then PM4 ON

If Timer PM4 = ON Then PM2 OFF

If Timer PM4 = OFF Then PM2 ON

Link to comment
Share on other sites

Try this:

OSC 015/015 ON/OFF Then PM1 ON

OSC 015/015 OFF/ON Then PM2 ON

OSC 015/015 ON/OFF Then PM3 ON

OSC 015/015 OFF/ON Then PM4 ON

configuration would depend on which ones are right/left. e.g. PM1/PM3 be right side PM2/4 be left side.

Link to comment
Share on other sites

Try this:

OSC 015/015 ON/OFF Then PM1 ON

OSC 015/015 OFF/ON Then PM2 ON

OSC 015/015 ON/OFF Then PM3 ON

OSC 015/015 OFF/ON Then PM4 ON

configuration would depend on which ones are right/left. e.g. PM1/PM3 be right side PM2/4 be left side.

I have programed my AC3 using that code, all pumps are on/off for 15 minutes. see first post. But again they run fine through the simulator.

Link to comment
Share on other sites

From what Ive read in the unofficial apex guide, you have to invert the on/off in a cycle to work properly. Lead off on second pump in sequence has to be opposite first pump e.g.:

OSC 015/015 ON/OFF Then PM1 ON

OSC 015/015 ON/OFF Then PM2 ON

OSC 015/015 ON/OFF Then PM3 ON

OSC 015/015 ON/OFF Then PM4 ON your current setup shown on first post

OSC 015/015 ON/OFF Then PM1 ON

OSC 015/015 OFF/ON Then PM2 ON <<

OSC 015/015 ON/OFF Then PM3 ON

OSC 015/015 OFF/ON Then PM4 ON <<

Edited by DerrickH
Link to comment
Share on other sites

Hmm, that may be the difference then. Ive seen that a lot of the programming was backwards compatible but looks like in your case it might not be.

It would make sense though that all your pumps are coming on and then shutting off for 15 minutes based on your first posts code. Seems the sync is nothing more than a batch exe at once. Might try the below in your simulator, should work according the the guide, again this is for the apex but should work as I missed this the first time I read the OSC function code:

OSC 015/015/015 ON/OFF/ON Then PM1 ON

OSC 015/015/015 OFF/ON/OFF Then PM2 OFF

OSC 015/015/015 ON/OFF/ON Then PM3 ON

OSC 015/015/015 OFF/ON/OFF Then PM4 OFF

Edited by DerrickH
Link to comment
Share on other sites

The 2nd PM 2 is a typo, actual program PM3. The // right left is not in the programing. I can ge the pumps to oscilate in the simulator using the statement below but in real-time, watching the web interface at the office, indicates PM1 & PM2 on but never oscilates to PM3 & PM4.

OSC 015/015 ON/OFF Then PM1 ON

If Timer PM1 = On Then PM3 OFF

If Timer PM1= Off Then PM3 On

OSC 015/015 ON/OFF Then PM2 ON

If Timer PM2 = On Then PM4 OFF

If Timer PM2 = Off Then PM4 On

OSC 015/015 ON/OFF Then PM3 ON

If Timer PM3 = On Then PM1 OFF

If Timer PM3 = Off Then PM1 On

OSC 015/015 ON/OFF Then PM4 ON

If Timer PM4 = On Then PM2 OFF

If Timer PM4 = Off Then PM2 On

It just doesn't make sense.

Link to comment
Share on other sites

I think this is over coded. If anything like the apex, should be:

OSC 015/015/015 Then PM1 ON

OSC 015/015/015 Then PM2 OFF

OSC 015/015/015 Then PM3 ON

OSC 015/015/015 Then PM4 OFF

If Im reverse engineering your AC3 code properly you might try:

OSC 015/015 ON/OFF Then PM1 ON

OSC 015/015 OFF/ON Then PM2 OFF

OSC 015/015 ON/OFF Then PM3 ON

OSC 015/015 OFF/ON Then PM4 OFF

Edited by DerrickH
Link to comment
Share on other sites

Just downloaded the manual for the AC3 and it seems pretty basic doh.gif

The wave maker capability of the AquaController III can be used to create an alternating left to right and then

right to left current in the aquarium. This type of water motion can be accomplished by placing one powerhead

on the left side of the tank and one on the right side. The pump on the left is turned on for a fixed interval and

then shut off. Then the pump on the right is turned on for a fixed interval and then shut off. The following

program will produce this effect and assumes that the fixed interval is 20 minutes.

OSC 20/20 ON/OFF

Then PM1% ON

OSC 20/20 ON/OFF

Then PM2% OFF

The only tricky part about the above code is that the ON or OFF value following the timer name (PM1% or

PM2%) determines what the initial condition of the pumps will be at power on. In the above example PM1% will

be on and PM2% will be off when the controller is first powered on.

Would assume:

OSC 15/15 ON/OFF Then PM1 ON

OSC 15/15 ON/OFF Then PM2 OFF

Hope this helps.

Edited by DerrickH
Link to comment
Share on other sites

:( Is it possible that it is the outlet configuration? What outlets are the pH's physically plugged into? Sometimes the 4 and 8 outlets are screwy depending on the load they pull. I would think that a PH would pull enough current to keep them on....Maybe time for an apex? :)
Link to comment
Share on other sites

I sat down last night & wrote down every permeations I could think of. I sat there staring at the paper obsessing over the code. Then it hit me KISS - I broke the code down to its simplest form. I knew I had to use the on when PMx ON, Then PMy off (and vise versa) statement.

I ran the code through the simulator it worked. I plugged the statement into the control via the web interface this morning AND IT WORKED!

OSC 001/001 ON/OFF Then PM1 ON

If Timer PM1 = ON Then PM2 ON

If Timer PM1 = OFF Then PM2 OFF

If Timer PM1 = ON Then PM3 OFF

If Timer PM1 = OFF Then PM3 ON

If Timer PM1 = ON Then PM4 OFF

If Timer PM1 = OFF Then PM4 ON

Thanks for your helping think through the process victoly & DerriickH. This is what make this club so great! Folks helping out.

Dave-

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...