Can someone check my program for Plank feeder.

Ann Enomy

Community Member
View Badges
Joined
Oct 4, 2019
Messages
74
Reaction score
87
Rating - 0%
0   0   0
I just want to check my apex program for plank feeder. I want fist feeding at 9:00am have a feeding every 2.5 hours with last feeding being at 4:30. I had programming set to if time 16:30 to 08:59 Then off and wasn't getting the last feeding so I set it to 18:00. I want the mixing pump to wait 1 minute after the feeder starts, turn on for 20 minutes and of course be synced with the feeder. I have been having issues getting them to sync up but I think i have it now with this programming:

Plank feeder:
Fallback OFF
OSC 000:00/001:00/149:00 Then ON
If Time 18:00 to 08:59 Then OFF

Mixing pump:
Fallback OFF
OSC 001:00/020:00/130:00 Then ON
If Time 18:00 to 08:59 Then OFF

Let me know if it's right or wrong, Thanks
 

All_talk

Active Member
View Badges
Joined
Oct 8, 2019
Messages
399
Reaction score
391
Location
Thorp, WA
Rating - 0%
0   0   0
I believe the OSC is a continual cycle and does not reset at midnight. Your chosen interval of 150 minutes does not divide evenly into 24 hours (1440/150 = 9.6), so the feed times will shift each day. Also I believe the total of the three times results in the total interval, so your Mixing pump is set to a 151 minute cycle Adjusting your feed schedule to something that divides into 1440 would make things a bit easier.

And there many be an issue with the "If Time" statement spanning across midnight, I know it can be a problem for some Apex programing so I avoid it and use two statements that end and start at 000:00.

Great info on the OSC command here: https://www.reef2reef.com/threads/neptune-apex-programming-tutorials-part-2-timers.614038/

I used a different approach for my Plank, My OSC command is set to a one hour interval and I use "If Time" statements to control when it's on. This way I can feed on any hour with the OSC command controlling how much, and the "If Time" command controlling when. I think it makes adjustments easier. My mixing pump comes on with the feeder and runs for 20 minutes after. My code is shown below.

Feeder Code

Fallback OFF
OSC 000:00/000:25/059:35 Then ON
If Time 00:00 to 09:58 Then OFF
If Time 10:02 to 14:58 Then OFF
If Time 15:02 to 19:58 Then OFF
If Time 20:02 to 24:00 Then OFF

Pump Code
Fallback OFF
OSC 000:00/020:00/040:00 Then ON
If Time 00:00 to 09:58 Then OFF
If Time 10:30 to 14:58 Then OFF
If Time 15:30 to 19:58 Then OFF
If Time 20:30 to 24:00 Then OFF

If you really want the 2.5 hour interval you could used my style code and set the OSC to 30 minute intervals and use the appropriate "If Time" statements.
 
OP
OP
Ann Enomy

Ann Enomy

Community Member
View Badges
Joined
Oct 4, 2019
Messages
74
Reaction score
87
Rating - 0%
0   0   0
Thanks, Never thought of it that way. I will copy and past and adjust the times. I really don't care about the 2.5 hour interval. just wanted about 4 feedings a day. I can see why things were not syncing up the way you explain it now.

So does this check out:
Plank:
Fallback OFF
OSC 000:00/000:45/059:15 Then ON
If Time 00:00 to 08:58 Then OFF
If Time 09:02 to 13:58 Then OFF
If Time 14:02 to 17:58 Then OFF
If Time 18:02 to 24:00 Then OFF

Pump:
Fallback OFF
OSC 001:00/020:00/040:00 Then ON
If Time 00:00 to 08:58 Then OFF
If Time 09:30 to 13:58 Then OFF
If Time 14:30 to 17:58 Then OFF
If Time 18:30 to 24:00 Then OFF
 

All_talk

Active Member
View Badges
Joined
Oct 8, 2019
Messages
399
Reaction score
391
Location
Thorp, WA
Rating - 0%
0   0   0
Feeder code looks good, it will feed at 9:00 am, 2:00 pm and 6:00 pm. If you want four feedings per day you will need a fifth "If Time" statement. Lets say feed at 9:00am, 11:00am, 1:00pm and 3:00pm...

Plank:
Fallback OFF
OSC 000:00/000:45/059:15 Then ON
If Time 00:00 to 08:58 Then OFF
If Time 09:02 to 10:58 Then OFF
If Time 11:02 to 12:58 Then OFF
If Time 13:02 to 14:58 Then OFF
If Time 15:02 to 24:00 Then OFF


For the pump you want the total OSC time to equal 60 minutes

Pump:
Fallback OFF
OSC 001:00/020:00/039:00 Then ON
If Time 00:00 to 08:58 Then OFF
If Time 09:30 to 10:58 Then OFF
If Time 11:30 to 12:58 Then OFF
If Time 13:30 to 14:58 Then OFF
If Time 15:30 to 24:00 Then OFF
 
OP
OP
Ann Enomy

Ann Enomy

Community Member
View Badges
Joined
Oct 4, 2019
Messages
74
Reaction score
87
Rating - 0%
0   0   0
Didn't catch that it was just 3 feedings or the pump timing. This is why I Love/hate apex. You can do so much but yet so easy to make mistakes in programming Thanks again.
 

David_CO

Active Member
View Badges
Joined
Feb 15, 2022
Messages
321
Reaction score
241
Location
Colorado
Rating - 0%
0   0   0
you dont need all those "then OFF" statements.

Here is my code, it runs 4x a day (12pm, 2pm, 4pm, 6pm). The plank is on 25 seconds each feeding, the pump runs for 5 mins with a 3 min delay.

Plank:
Fallback OFF
OSC 000:00/000:25/119:35 Then ON
If Time 19:59 to 10:59 Then OFF

Plank Pump:
Fallback OFF
OSC 003:00/005:00/112:00 Then ON
If Time 19:59 to 10:59 Then OFF

plank code.jpg
 

All_talk

Active Member
View Badges
Joined
Oct 8, 2019
Messages
399
Reaction score
391
Location
Thorp, WA
Rating - 0%
0   0   0
you dont need all those "then OFF" statements.

Here is my code, it runs 4x a day (12pm, 2pm, 4pm, 6pm). The plank is on 25 seconds each feeding, the pump runs for 5 mins with a 3 min delay.

Plank:
Fallback OFF
OSC 000:00/000:25/119:35 Then ON
If Time 19:59 to 10:59 Then OFF

Plank Pump:
Fallback OFF
OSC 003:00/005:00/112:00 Then ON
If Time 19:59 to 10:59 Then OFF

plank code.jpg
You are absolutely correct, I just chose to use the "If Time" statements so that I wasn't locked into regulars intervals.
 

nlutfi

Active Member
View Badges
Joined
Jan 17, 2019
Messages
386
Reaction score
198
Rating - 0%
0   0   0
Hoping to chime in here to help get my plank program working correctly as well! I am wanting my plank to run 15-30secs 4 times a day at 11, 2, 5, and 8. Then have the pump run a few minutes before the feeding times and a few minutes after. This is what I have so far but the times don't seem to be adding up . Let me know if you can see what I need to change. Thanks!

Plank Drum:
Fallback OFF
OSC 000:00/000:15/000:45 Then ON (OSC 000:00/000:30/000:30 Then ON - if I wanted 30 sec feeding)
If Time 11:01 to 13:59 Then OFF
If Time 14:01 to 16:59 Then OFF
If Time 17:01 to 19:59 Then OFF
If Time 20:01 to 10:59 Then OFF

Plank Pump:
Fallback OFF
Set OFF
If Time 10:58 to 11:09 Then ON
If Time 13:58 to 14:09 Then ON
If Time 16:58 to 17:09 Then ON
If Time 19:58 to 20:09 Then ON
 

dangles

Valuable Member
View Badges
Joined
Sep 22, 2022
Messages
1,226
Reaction score
1,458
Location
Ohio
Rating - 100%
2   0   0
Hoping to chime in here to help get my plank program working correctly as well! I am wanting my plank to run 15-30secs 4 times a day at 11, 2, 5, and 8. Then have the pump run a few minutes before the feeding times and a few minutes after. This is what I have so far but the times don't seem to be adding up . Let me know if you can see what I need to change. Thanks!

Plank Drum:
Fallback OFF
OSC 000:00/000:15/000:45 Then ON (OSC 000:00/000:30/000:30 Then ON - if I wanted 30 sec feeding)
If Time 11:01 to 13:59 Then OFF
If Time 14:01 to 16:59 Then OFF
If Time 17:01 to 19:59 Then OFF
If Time 20:01 to 10:59 Then OFF

Plank Pump:
Fallback OFF
Set OFF
If Time 10:58 to 11:09 Then ON
If Time 13:58 to 14:09 Then ON
If Time 16:58 to 17:09 Then ON
If Time 19:58 to 20:09 Then ON

Bumping to see if somebody can confirm your programming. Also I assume you've already taken a look at this thread: https://www.reef2reef.com/threads/neptune-apex-programming-tutorials-part-2-timers.614038/

The relevant section:

OSC

The OSC (short for Oscillation) command is great for turning things on and off in a repeating cycle. It uses three separate timers:

OSC MMM:SS/MMM:SS/MMM:SS Then [ON/OFF/Profile]

The timers define Delay before first run / Time to run / Delay until next run

The maximum value you can specify for any one of the timers is 999:99, which equates to 16 hours, 39 minutes, 59 seconds.

Here are a few examples:

OSC 000:00/005:00/005:00 Then ON

This would turn on the output for 5 minutes, then turn it off for 5 minutes, and repeat indefinitely:

image3-1.png

OSC 000:00/007:00/002:00 Then ON

This would turn on the output for 7 minutes, then turn it off for 2 minutes, and repeat indefinitely:

image3-2.png

OSC 007:00/002:00/000:00 Then ON

This would wait for 7 minutes, then turn on the output for 2 minutes, then turn it off for 0 minutes. It would then repeat the 7 minute off, 2 minute on cycle.

Screen Shot 2019-06-14 at 8.48.15 PM.png

One reason to use the initial delay would be to stagger two different outputs so they don’t run at the exact same time, such as dosing pumps.

The odd thing about the initial delay timer is that it calculates from midnight of January 1, 1996. If your timer values added together are evenly divisible into 1440 (24 hours), then your output will always come on at the same times each day. If they are not divisible into 1440, then each day will be slightly different, and you’d have to do some interesting math to figure out when it would turn on on any given day.

My personal example:

I use the OSC command to activate my Swabbie skimmer neck cleaner every six hours. The Swabbie has a motor that rotates the cleaning wiper in the skimmer neck very slowly, so it needs to run for about 2 minutes to thoroughly wipe all the crud from the neck. Here is the programming for my Swabbie output:

Fallback OFF
OSC 000:00/002:00/358:00 Then ON
If Output EB_3_Skimmer = OFF Then OFF


The first line — Fallback OFF — instructs the Apex to turn off this output if the Apex ever gets disconnected from the Energy Bar where the Swabbie is plugged in. This could also apply if the Apex locks up and becomes unresponsive (which rarely happens). This just basically means don’t run the program if the Apex unit isn’t in control of the situation.

The OSC timers in this example are:
  • 000:00 = zero minutes from midnight until the first run
  • 002:00 = two minutes of actual run time
  • 358:00 = 5 hours & 58 minutes to delay until the next run
The third line disables the Swabbie from running if my skimmer is off. This would prevent it from rotating accidentally if I’m performing maintenance on the skimmer or if it’s off during a feed mode.

Since my timers multiplied by 4 = 1440, my OSC timers trigger the Swabbie at the same times each day: Midnight, 6am, noon, 6pm.
 

dangles

Valuable Member
View Badges
Joined
Sep 22, 2022
Messages
1,226
Reaction score
1,458
Location
Ohio
Rating - 100%
2   0   0
FWIW this is what I landed on for the feeder... It's simple and doesn't need the OSC programming:

Fallback OFF
Set OFF
If Time 10:00 to 10:01 Then ON
If Time 15:00 to 15:01 Then ON
If Time 20:00 to 20:01 Then ON
If Output Plnk_Pmp = OFF Then OFF
If Output R_Pmp_1 = OFF Then OFF

This runs the auger for 2 mins each time, which is the minimum amount of time something can be run using the "If Time" logic (basically it will run as long as the time reads "xx:00" or "xx:01"... as soon as it reads "xx:02" it stops).

Two minutes seems like a lot, but that auger is SLOW. My nutrients have not been an issue so far. I've been using the Avast reef jerky mixed with a few different kinds of pellets.

The timing portion of my Plank pump programming is the same except it runs for 10 minutes.
 

Cycleguy0623

Active Member
View Badges
Joined
Dec 18, 2015
Messages
198
Reaction score
178
Rating - 0%
0   0   0
Here is what I settled on for my plank. I have it off an additional time in the evenings as I still feed frozen then. Basically feeding 1 cube a day from the plank and then frozen.


Plank feeder
Fallback OFF
OSC 000:00/000:30/119:35 Then ON
If Time 18:00 to 20:30 Then OFF
If Time 22:59 to 11:29 Then OFF

Plank Pump
Fallback OFF
OSC 003:00/010:00/107:00 Then ON
If Time 18:00 to 20:30 Then OFF
If Time 22:59 to 11:29 Then OFF
 

Cycleguy0623

Active Member
View Badges
Joined
Dec 18, 2015
Messages
198
Reaction score
178
Rating - 0%
0   0   0
I have gotten rid of the pump program. I contacted Avast and they said for best results to leave the little pump going all day
 
Back
Top