Jump to content

Setting Up Clockwise/Anti-Clockwise flow pattern with WXM and MP's


obrien.david.j

Recommended Posts

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?

image.png

image.png

 

 

Link to comment
Share on other sites

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

 

  • Like 2
Link to comment
Share on other sites

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

Screen Shot 2020-11-19 at 11.57.46 AM.png

  • Like 1
Link to comment
Share on other sites

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!

  • Like 1
Link to comment
Share on other sites

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

Link to comment
Share on other sites

@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/%]

Link to comment
Share on other sites

"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.

Link to comment
Share on other sites

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.

image.png

Link to comment
Share on other sites

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.

image.png

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.

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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)

    • image.png

     

    Why are both of them on at once?

    image.png

     

    That doesn't make sense.  Can you post the complete programming for each MP60 to verify there's no other command overriding the OSC? 

    Link to comment
    Share on other sites

    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
    Link to comment
    Share on other sites

    Humored... No Luck.

    image.png

     

    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

    Link to comment
    Share on other sites

    Explored a few options.

    • Changed the profile from constant, to pulse.  In case it mattered.  Nope.

    image.png

    • Added 2nd profile, at constant 20% on MP60_back.  In case it mattered.  Nope.  (restored constant, on original profile)

    image.png

    • 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 

    image.png

    • Checked if I'm running latest AOS version.  Yes.

    image.png

    • Power Cycle the Apex.... Nope.

    Okay, I'm still stumped.  But haven't given up.

     

    Link to comment
    Share on other sites

    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?

    Link to comment
    Share on other sites

    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

    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.

    Loading...
    ×
    ×
    • Create New...