I am using programmable logic to control a switch outlet connected to a skimmer. I have a lot of things that I want to evaluate to determine whether or not the skimmer should run, but one of the things is that I want it to turn off when a dosing pump is on, and then turn on an hour after the dosing pump is off. For now, I'm testing this by using an unused socket and linking a programmable logic gate to that.
So I have switch channel 50 connected to programmable logic 23. If I set programmable logic 23 to be "Dosing pump 4 (inverted) AND Always on", the switch channel is on, as expected, because the dosing pump isn't running.
Then, if I change PL 23 to be "Dosing pump 4 (inverted) Delayed on 3600s", the switch channel Is still on, as expected.
Then if I dose 1 ml from dosing pump 4 and check the switch channel immediately afterwards, the switch channel is now off, because it's within the 1 hour delay.
So everything is working fine so far, but this is where it gets weird.
If I go back and edit the programmable logic, and change it to ""Dosing pump 4 (inverted) Delayed on 1s", the switch channel stays off. It should now be on, because we are well past the 1 second delay.
Another example of what I think is the same issue is that if you have a switch channel that is off, then link it to a programmable logic such as "Dosing pump 4 (inverted) Delayed on 3600s", it will stay off, even if that dosing pump hasn't dosed in the last hour.
What I think is happening is that the programmable logic gates with "delayed off" on a dosing pump aren't evaluated until that dosing pump doses. This isn't right, if you want something to be on when a dosing pump isn't running, you shouldn't need to run that dosing pump to get the thing to turn on.
So I have switch channel 50 connected to programmable logic 23. If I set programmable logic 23 to be "Dosing pump 4 (inverted) AND Always on", the switch channel is on, as expected, because the dosing pump isn't running.
Then, if I change PL 23 to be "Dosing pump 4 (inverted) Delayed on 3600s", the switch channel Is still on, as expected.
Then if I dose 1 ml from dosing pump 4 and check the switch channel immediately afterwards, the switch channel is now off, because it's within the 1 hour delay.
So everything is working fine so far, but this is where it gets weird.
If I go back and edit the programmable logic, and change it to ""Dosing pump 4 (inverted) Delayed on 1s", the switch channel stays off. It should now be on, because we are well past the 1 second delay.
Another example of what I think is the same issue is that if you have a switch channel that is off, then link it to a programmable logic such as "Dosing pump 4 (inverted) Delayed on 3600s", it will stay off, even if that dosing pump hasn't dosed in the last hour.
What I think is happening is that the programmable logic gates with "delayed off" on a dosing pump aren't evaluated until that dosing pump doses. This isn't right, if you want something to be on when a dosing pump isn't running, you shouldn't need to run that dosing pump to get the thing to turn on.
Last edited: