Programmable logic

Raul-7

Member
Let me start by saying the software is fool-proof, so easy a cave man can do it...But the PL is the controller's Achilles-heel.

Is there any plans to revamp it and make it more understandable?


It would be invaluable as it would allow the user to add max on times for drain and fill [AWC] or delay the skimmer after a feed cycle.
 
Why do you need the PL at all for these simple tasks?
AWC is initiated by a timer, this timer can have several start times.
The feed pause has its own timer. After this timer expired the skimmer starts again. Just set socket function to feed pause.
The PL is for more complex things. Maybe I just didn't understand the question.
 
Why do you need the PL at all for these simple tasks?
AWC is initiated by a timer, this timer can have several start times.
The feed pause has its own timer. After this timer expired the skimmer starts again. Just set socket function to feed pause.
The PL is for more complex things. Maybe I just didn't understand the question.

Matthias, I believe Raul-7 is asking about delaying the skimmer, so it comes on let's say 1 hour after the feed pause has already ended. Some skimmers freak out from the oils in the foods.

And I don't recall since I set it up so long ago, but does the AWC programming allow you to set a max fill time or max drain time, like you can for ATO? If a drain float valve were to malfunction, it could be disastrous. I'm sure this can be done, I just don't remember off hand.
 
Matthias, I believe Raul-7 is asking about delaying the skimmer, so it comes on let's say 1 hour after the feed pause has already ended. Some skimmers freak out from the oils in the foods.

And I don't recall since I set it up so long ago, but does the AWC programming allow you to set a max fill time or max drain time, like you can for ATO? If a drain float valve were to malfunction, it could be disastrous. I'm sure this can be done, I just don't remember off hand.

Exactly.

The AWC has a maximum ontime but only for the whole event, not separate for drain and fill.
 
delaying the skimmer:

The socket with the function "Filter x" reacts to the feed pause.
If you want to switch the skimmer delayed on the use the "delay on" function in the programmable logic:

Skimmer delayed.PNG

after that use the socket function "programmable logic" for the socket in question

Solves this the problem?
 
The AWC has one maximum on-time.
This is for drain and fill each (not for the whole event). It can't be set separately.
I consider to add this feature in the next firmware.

I think the skimmer delay was solved quite easily, the AWC timeout has nothing to do with the programmable logic.

coming back to the OP:
Is the prog. logic really so complicated to understand? I think in most cases you dont need it because ProfiLux has already the equivalent high-level method implemented, and if you really need something special you need a flexible, maybe complicated appearing tool like the progl. logic.
The prog. logic is simple: you have 1 or 2 inputs (socket states) and a condition (both active: AND, one of them active OR, delay in s. etc.) and a result for this expression which can be output on a socket.
However, if you have concrete ideas how to make things better we always listen and try to do that.
 
I also have an Apex and I like their programmable logic. It allows the user full control and it's easier than AND, OR, etc.

For example, assume I want to delay the skimmer 10 minutes after the return pump turns on.

Skimmer
Fallback ON
Set ON
If Outlet Return = OFF Then OFF
Defer 010:00 Then ON


This ties the skimmer to the return pump. If the return goes OFF, then the skimmer will too. However, when the return pump turns ON, it will wait 10 minutes before turning ON. Defer essentially means delay.


It's easy to follow and makes much more sense then using Invert function, Filter 1, AND, OR, etc.
 
I think the point is that as incredibly simple as the Profilux is to set up 99% of the features you might use, there are times when us geeks would like a bit more control and I do agree that PL could use a bit of a revamp. Sometimes it is not immediately clear how a function is going to work.
A request while we are discussing it:

Allow us to rename things like programmable logic and timers and sockets.
While it's great to be able to label them as in the description, it would be more useful to be able to rename a PL slot with an actual name that gets passed down to other functions. e.g., Programmable Logic 1 becomes "AWC Salinity Test" which appears in the AWC or other sections as that name rather than "Programmable Logic 1"



I know this is probably better posted in the GHL forum but I figured I would jump in.

Thanks for checking in here Matthias!
 
I also have an Apex and I like their programmable logic. It allows the user full control and it's easier than AND, OR, etc.

For example, assume I want to delay the skimmer 10 minutes after the return pump turns on.

Skimmer
Fallback ON
Set ON
If Outlet Return = OFF Then OFF
Defer 010:00 Then ON


It's easy to follow and makes much more sense then using Invert function, Filter 1, AND, OR, etc.

hm, this is easier than "logic 1 = Delay 600s Filter 1" ? (where filter is the same as return pump)
you don't need inverse, AND, OR in this simple example, just "delay 600s"

I think this depends on the point of view. However and as always: We watch, learn and improve.
 
hm, this is easier than "logic 1 = Delay 600s Filter 1" ? (where filter is the same as return pump)
you don't need inverse, AND, OR in this simple example, just "delay 600s"

I think this depends on the point of view. However and as always: We watch, learn and improve.

I see it as easier since the user species the outlet they wish to tie the logic to. So not Filter 1, but Outlet Return or Outlet CA_Reactor, etc. Also it gives user total control while also making it easier for your programmers.

Assume you don't implement the separate max time for AWC.

Then the user could do this:
Drain Pump
Fallback OFF
Set OFF
If Outlet AWC = ON Then ON
Max Time 015:00 Then OFF

User can add max time to the outlet.
 
I see PL as necessary for total control; there are users who cannot do everything with the current firmware but if PL was customizable it would solve a lot of problems.
 
The "max on time" for AWC is separate for fill and drain.
It's the same amount of time but it's separate.
In other words, if you set max on time for 30 minutes, that means the max on time for "drain" is 30 minutes. And the max on time for "fill" is 30 minutes.
You really shouldn't need a different max on time for each... should you?
 
The "max on time" for AWC is separate for fill and drain.
It's the same amount of time but it's separate.
In other words, if you set max on time for 30 minutes, that means the max on time for "drain" is 30 minutes. And the max on time for "fill" is 30 minutes.
You really shouldn't need a different max on time for each... should you?
Yes as the same time is used for max time on the ATO.
Definitely do not want 30 minutes of ATO going in if there is some reason the normal level control has failed. (When you used 2 level ATO and AWC)
 
we are talking now about 3 different times?

drain
fill
ATO

in case you use a sensor pay for AWC + ATO

is that right?

That is correct and would be the optimal.
I use a float valve on the fluid outlet to ensure that if a ATO cannot time out due to the excessive time, the fluid is shut off prior to a tank flood. But ideally this would be settable or programmable by the user to the correct times for each event.
 
I also have an Apex and I like their programmable logic. It allows the user full control and it's easier than AND, OR, etc.

For example, assume I want to delay the skimmer 10 minutes after the return pump turns on.

Skimmer
Fallback ON
Set ON
If Outlet Return = OFF Then OFF
Defer 010:00 Then ON


This ties the skimmer to the return pump. If the return goes OFF, then the skimmer will too. However, when the return pump turns ON, it will wait 10 minutes before turning ON. Defer essentially means delay.


It's easy to follow and makes much more sense then using Invert function, Filter 1, AND, OR, etc.

I gotta tell ya- the above logic statements makes little sense to me. The profi is the first aquarium computer and it was very intuitive for me to set a delay on my skimmer for a few seconds after triggering feeding. Very simple and one of the first logic gates I set up successfully. What's nice is that I know the socket that controls the skimmer will always be delayed no matter what other logic triggers the skimmer.

One PC - "delayed on" 20 seconds. Assigned to power socket for skimmer so any time the skimmer turns on (power outage, program logic - anything) the skimmer will wait before turning on. Simple.

I think this goes back to a bit of perspective. Looks like the functions and controls are rather compartmentalized, which from a systems perspective is pretty good once you have a handle on the entire system (you set the ph alert once, for instance, then call the ph setting in other programs it appears).
 
True, but what's great about giving the consumer free-reign on the programming is that it allows them to use it for anything they can think of.

With my Apex, I use it to flush my RO membrane for 1:30 seconds before it turns on and then for 15 seconds every hour after that.

Others have it fill their dog's water bowl for them.


There's no limit to what you can do when you have free reign of the programming.
 
PL seems simple when only one is used, ie the skimmer delay, it's when you want to stack them it gets complicated. I want skimmer off if x, y, or z happens and delay if x or y happens. Not easily done and have had water on floor because of it. Get a leak detector, it sends an alarm, doesn't shut off anything. Enter PL, vicious cycle.
 
PL seems simple when only one is used, ie the skimmer delay, it's when you want to stack them it gets complicated. I want skimmer off if x, y, or z happens and delay if x or y happens. Not easily done and have had water on floor because of it. Get a leak detector, it sends an alarm, doesn't shut off anything. Enter PL, vicious cycle.



I have been told it's a matter of trial and error. I myself have not used too many complicated logic gates for the same reason you explain here. I KNOW it can be done, I am just waiting for someone here to crack it and copy PL.
 
With my Apex, I use it to flush my RO membrane for 1:30 seconds before it turns on and then for 15 seconds every hour after that.

Can we see the pics and details on this one Raul please, pm me if need to as I'm wanting to do this:dance:
 
Back
Top