obrien.david.j Posted November 19, 2020 Share Posted November 19, 2020 Looking for group inputs and thoughts, and likely some @SuncrestReef programming help. Tank's up, configured with two pairs of MP60+MP40 on "short" end of the tank. MP60 is high in water column, to create the Big Push of water, MP40 low in water column to keep flow going low - without blowing all the sand out. Tank is 36" front to back. Rock work lives in the middle only, with healthy gap to the glass on all four sides. I'm a huge fan of water flow. Past tanks were setup with closed loop pumps, rotators and lots of turbulence. But, could never setup uni-directional flow, and changes. I'll still create a turbulent flow time of day, but I'd like some clean uni-direction flow periods too. Desire: Create clockwise and anti-clockwise flow patterns in the tank, at certain time of the day. Everything controlled via Apex w/WXM Challenge: how to program this Options: two scenarios, pictured below. Any other inputs, things to consider? Quote Link to comment Share on other sites More sharing options...
SuncrestReef Posted November 19, 2020 Share Posted November 19, 2020 This is actually quite simple using OSC with different leading/trailing delays: Scenario 1: MP40/MP60 pair 1: OSC 005:00/005:00/000:00 Then ON MP40/MP60 pair 2: OSC 000:00/005:00/005:00 Then ON Scenario 2: MP40/MP60 pair 1: OSC 007:00/005:00/000:00 Then ON MP40/MP60 pair 2: OSC 000:00/005:00/007:00 Then ON 2 Quote Link to comment Share on other sites More sharing options...
obrien.david.j Posted November 19, 2020 Author Share Posted November 19, 2020 That simple! No special Pulse mode programming/etc? I think that's where I got hung up. Thanks Quote Link to comment Share on other sites More sharing options...
SuncrestReef Posted November 19, 2020 Share Posted November 19, 2020 1 minute ago, obrien.david.j said: That simple! No special Pulse mode programming/etc? I think that's where I got hung up. Thanks If you want additional control, you can further refine it by specifying a MP profile rather than just turning it "ON": OSC 000:00/005:00/005:00 Then MP_Profile 1 Quote Link to comment Share on other sites More sharing options...
obrien.david.j Posted November 19, 2020 Author Share Posted November 19, 2020 1 minute ago, SuncrestReef said: If you want additional control, you can further refine it by specifying a MP profile rather than just turning it "ON": OSC 000:00/005:00/005:00 Then MP_Profile Ahh, that's going to be the winner. Uni-Directional flows, that include variation in them. This will enable longer than 5mins per direction, and still have good variation. Nice Mix! 1 Quote Link to comment Share on other sites More sharing options...
SuncrestReef Posted November 19, 2020 Share Posted November 19, 2020 38 minutes ago, obrien.david.j said: Ahh, that's going to be the winner. Uni-Directional flows, that include variation in them. This will enable longer than 5mins per direction, and still have good variation. Nice Mix! Let me know what you end up with. Quote Link to comment Share on other sites More sharing options...
obrien.david.j Posted November 19, 2020 Author Share Posted November 19, 2020 1 hour ago, SuncrestReef said: Let me know what you end up with. First programming is set. Will let run for a while before going to next/fancy step. Notice I'm running MP60s at 40% and MP40s at 100%. Holding back a touch for now. MP60_Front Fallback OFF tdata 00:00:00,0,0,40,0,0,0,0,0,0,0,0,0,0 tdata 23:59:00,0,0,40,0,0,0,0,0,0,0,0,0,0 OSC 007:00/005:00/000:00 Then ON If FeedB 000 Then OFF MP40_Front Fallback OFF tdata 00:00:00,0,0,100,0,0,0,0,0,0,0,0,0,0 tdata 23:59:00,0,0,100,0,0,0,0,0,0,0,0,0,0 OSC 007:00/005:00/000:00 Then ON If FeedB 000 Then OFF MP60_Back Fallback OFF tdata 00:00:00,0,0,40,0,0,0,0,0,0,0,0,0,0 tdata 23:59:00,0,0,40,0,0,0,0,0,0,0,0,0,0 OSC 000:00/005:00/007:00 Then ON If FeedB 000 Then OFF MP40_Back Fallback OFF tdata 00:00:00,0,0,100,0,0,0,0,0,0,0,0,0,0 tdata 23:59:00,0,0,100,0,0,0,0,0,0,0,0,0,0 OSC 000:00/005:00/007:00 Then ON If FeedB 000 Then OFF Quote Link to comment Share on other sites More sharing options...
SuncrestReef Posted November 19, 2020 Share Posted November 19, 2020 @obrien.david.j One thing I'll point out: The "tdata" lines represent the settings created by the graphical scheduler. Any code after that actually overrides the tdata settings, so in your case, "OSC Then ON" will run the MP60 at 100%, not the 40% defined in tdata. To force the MP60 speed, use: OSC 000:00/005:00/007:00 Then 40 As I noted in my Apex Programming Command Reference article, OSC can use ON, OFF, a profile, or a percentage: OSC MMM:SS/MMM:SS/MMM:SS Then [ON/OFF/Profile/%] Quote Link to comment Share on other sites More sharing options...
obrien.david.j Posted November 20, 2020 Author Share Posted November 20, 2020 "ON" = 100% sure does blow the sand around a lot! I let it run all night and too picts in the morning (see main build thread). But now I'm stuck. % isn't working. And haven't tried Profile yet. OSC 007:00/005:00/000:00 Then ON works OSC 007:00/005:00/000:00 Then 40 //Error: line 4 - Expected ON, OFF, PFx, or intensity // OSC 007:00/005:00/000:00 Then 40 OSC 007:00/005:00/000:00 Then 40% //Error: line 4 - Expected ON, OFF, PFx, or intensity // OSC 007:00/005:00/000:00 Then 40% Neptune forum page on using Intensity for Vortech's suggests I'm using it correctly in my first attempt. And subnote states this is usable for Vortechs. But I suspect it no longer works. https://forum.neptunesystems.com/showthread.php?20677-Programming-Enhancements-in-AOS-5-03-and-4-53 When specifying percentage, use only a whole number from 0 through 100, such a 25, 77, or 100. The use of a value containing a decimal point, e.g. 99.5, is not supported. The % symbol is not used in programming; use only a number when you wish to specify a percentage. Correct:Incorrect: Set 75 Set 75% A special note about using percent value in programming for Vortechs: If a percentage value of 0 - 20 is used in advanced programming for a Vortech pump, the Vortech will just run at 20%. For this reason, do not use 0 (for example, If FeedA 000 Then 0) to command the Vortech to be stopped. Instead of 0, use OFF, i.e., If FeedA 000 Then OFF. Quote Link to comment Share on other sites More sharing options...
SuncrestReef Posted November 20, 2020 Share Posted November 20, 2020 I’d suspect a firmware problem on the WXM since it’s not accepting the correct syntax. You might consider forcing a module firmware update even if the WXM reports it’s up to date. Quote Link to comment Share on other sites More sharing options...
obrien.david.j Posted November 20, 2020 Author Share Posted November 20, 2020 Thanks for the insight. And this is my "new"/gray WXM. As opposed to my "old"/black WXM. Any chance Forcing a FW update would wipe out the existing connections to my 10 MP's? If I can switch to Profile based speed control, I may just live with this limitation - rather than risk having to re-connect all the MPs. I'll let you know what I do. Quote Link to comment Share on other sites More sharing options...
SuncrestReef Posted November 20, 2020 Share Posted November 20, 2020 1 hour ago, obrien.david.j said: Thanks for the insight. And this is my "new"/gray WXM. As opposed to my "old"/black WXM. Any chance Forcing a FW update would wipe out the existing connections to my 10 MP's? If I can switch to Profile based speed control, I may just live with this limitation - rather than risk having to re-connect all the MPs. I'll let you know what I do. Sorry, I don't know if it would wipe out the connections. Using profiles is probably the safest bet. Out of curiosity, does it allow you to use Set 40 instead of OSC? I'm just curious if it will accept percentages from other commands. Quote Link to comment Share on other sites More sharing options...
obrien.david.j Posted November 20, 2020 Author Share Posted November 20, 2020 18 minutes ago, SuncrestReef said: Sorry, I don't know if it would wipe out the connections. Using profiles is probably the safest bet. Out of curiosity, does it allow you to use Set 40 instead of OSC? I'm just curious if it will accept percentages from other commands. Sure Does. This was successful. Fallback OFF Set 40 If FeedB 000 Then OFF Quote Link to comment Share on other sites More sharing options...
SuncrestReef Posted November 20, 2020 Share Posted November 20, 2020 I stand corrected: OSC does not support percentages. The Neptune FAQ on using percentages states: These statements now support the use of a percent value (0-100) in programming for the supported types of outputs: Set Fallback If Time If FeedX If probe-name If switch-name If Output output-name If Sun If Moon Notice that OSC is not in that list. I need to update my Apex Command Reference article. Quote Link to comment Share on other sites More sharing options...
obrien.david.j Posted November 21, 2020 Author Share Posted November 21, 2020 2 hours ago, SuncrestReef said: I stand corrected: OSC does not support percentages. I need to update my Apex Command Reference article. That explains it! Quote Link to comment Share on other sites More sharing options...
obrien.david.j Posted November 21, 2020 Author Share Posted November 21, 2020 Next Challenge, Profile isn't doing what I expect. Both pumps are on, not alternating. P60_Front OSC 007:00/005:00/000:00 Then MP-Constant MP60_Back OSC 000:00/005:00/007:00 Then MP-Constant MP-Constant (profile) Why are both of them on at once? Quote Link to comment Share on other sites More sharing options...
SuncrestReef Posted November 21, 2020 Share Posted November 21, 2020 9 minutes ago, obrien.david.j said: Next Challenge, Profile isn't doing what I expect. Both pumps are on, not alternating. P60_Front OSC 007:00/005:00/000:00 Then MP-Constant MP60_Back OSC 000:00/005:00/007:00 Then MP-Constant MP-Constant (profile) Why are both of them on at once? That doesn't make sense. Can you post the complete programming for each MP60 to verify there's no other command overriding the OSC? Quote Link to comment Share on other sites More sharing options...
obrien.david.j Posted November 21, 2020 Author Share Posted November 21, 2020 11 minutes ago, SuncrestReef said: That doesn't make sense. Can you post the complete programming for each MP60 to verify there's no other command overriding the OSC? Full programming below. And you have the screen capture of the Profile programming above. P60_Front Fallback OFF tdata 00:00:00,0,0,40,0,0,0,0,0,0,0,0,0,0 tdata 23:59:00,0,0,40,0,0,0,0,0,0,0,0,0,0 OSC 007:00/005:00/000:00 Then MP-Constant If FeedB 000 Then OFF MP60_Back Fallback OFF tdata 00:00:00,0,0,40,0,0,0,0,0,0,0,0,0,0 tdata 23:59:00,0,0,40,0,0,0,0,0,0,0,0,0,0 OSC 000:00/005:00/007:00 Then MP-Constant If FeedB 000 Then OFF Quote Link to comment Share on other sites More sharing options...
SuncrestReef Posted November 21, 2020 Share Posted November 21, 2020 This should NOT make any difference, but since the situation doesn't make sense, humor me... Change the graphical schedule to only run from 00:00 to 00:01. The OSC should always override the schedule, but that's the only possible reason I can think of for your issue. Quote Link to comment Share on other sites More sharing options...
obrien.david.j Posted November 21, 2020 Author Share Posted November 21, 2020 Humored... No Luck. Fallback OFF tdata 00:00:00,0,0,40,0,0,0,0,0,0,0,0,0,0 tdata 00:05:00,0,0,40,0,0,0,0,0,0,0,0,0,0 OSC 007:00/005:00/000:00 Then MP-Constant If FeedB 000 Then OFF Fallback OFF tdata 00:00:00,0,0,40,0,0,0,0,0,0,0,0,0,0 tdata 00:05:00,0,0,40,0,0,0,0,0,0,0,0,0,0 OSC 000:00/005:00/007:00 Then MP-Constant If FeedB 000 Then OFF Quote Link to comment Share on other sites More sharing options...
SuncrestReef Posted November 21, 2020 Share Posted November 21, 2020 OK, I'm stumped. I'd recommend rebooting your Apex because something just doesn't seem right. Quote Link to comment Share on other sites More sharing options...
obrien.david.j Posted November 21, 2020 Author Share Posted November 21, 2020 before a reboot, or a forced firmware upgrade - I'm going to try other options... (when I figure them out) Quote Link to comment Share on other sites More sharing options...
obrien.david.j Posted November 21, 2020 Author Share Posted November 21, 2020 Explored a few options. Changed the profile from constant, to pulse. In case it mattered. Nope. Added 2nd profile, at constant 20% on MP60_back. In case it mattered. Nope. (restored constant, on original profile) Strip programming to JUST the OSC command line - nothing more. Nope. MP60_Front: OSC 007:00/005:00/000:00 Then MP-Constant MP60_Back: OSC 000:00/005:00/007:00 Then MP-Constan2 Checked if I'm running latest AOS version. Yes. Power Cycle the Apex.... Nope. Okay, I'm still stumped. But haven't given up. Quote Link to comment Share on other sites More sharing options...
obrien.david.j Posted November 21, 2020 Author Share Posted November 21, 2020 Tried one more thing; Switched to profile usage on MP*40*s. Up to this point, everything was on MP60's, leaving MP40's untouched. What if it was an issue with specific model of MP...NOPE. Still stumped, starting to think I need a new way to create Clockwise/Anti-Clockwise flow pattern - without using the OSC command. Maybe it's time to brute force it. Maybe a lot of "If Time 08:00 to 17:59 Then ON" statements. ... Going to write a script to create THAT many. And put them into a virtual outlet, so they're not repeated on four different MP's. Thoughts? Quote Link to comment Share on other sites More sharing options...
SuncrestReef Posted November 21, 2020 Share Posted November 21, 2020 Do you know for sure if the OSC commands are functioning at all, or are they just leaving the powerheads on at all times? You could try moving the OSC into a virtual output, then control the MPs by the virtual output state: [vFront] OSC 000:00/005:00/007:00 Then ON [vBack] OSC 007:00/005:00/000:00 Then ON [MP60_FRONT] Set OFF If Output vFront = ON Then MP-Constant [MP60_BACK] Set OFF If Output vBack = ON Then MP-Constant Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.