When turning off, do you need to turn back on if something else does it?

sfsuphysics

Active member
Ok if that wasn't confusing let me explain.

I have a high temperature "fail safe" for my halides, basically if it exceeds 82° halides shut off. I'm curious though do I need to have a line of code that says if it goes below 82 they turn back on? Or will my day to day time code do that for me. I'm worried about having them turn on in the middle of the night, or hell any time when the temp is below 82 (which has been always)

Basically I just not quite sure for the hierarchy for commands, i.e. when one conflicts with another.

Here's my code

If Time > 08:00 Then T5A ON
If Time > 19:00 Then T5A OFF
If Time > 09:30 Then T5B ON
If Time > 18:00 Then T5B OFF
If Time > 10:30 Then MH0 ON
If Time > 16:00 Then MH0 OFF
If Temp < 81.0 Then HT2 ON
If Temp > 82.0 Then HT2 OFF
If Temp < 76.5 Then HT1 ON
If Temp > 77.0 Then HT1 OFF
If Temp > 82.0 Then MH0 OFF
If Time > 07:00 Then 2PT ON
If Time > 07:30 Then 2PT OFF
If Temp > 80.0 Then FAN ON
If Temp < 80.0 Then FAN OFF


My fan toggles off because there's nothing else to tell it to do so.

Just not sure if the "Time" command is basically a digital version of a mechanical timer. I.e. when it passes a particular point it'll turn on, however if something turns it off then it won't turn back on. *BUT* it will override any off commands when 10:30 comes around again.
 
Re: When turning off, do you need to turn back on if something else does it?

If Sun -030/045 Then LTB ON
If Temp > 83.9 Then LTB OFF
Max Change 120 M Then LTB

many people use the bove which in this turns off the lights if temp > 83.9 and back on again if temp is below after 120 minutes





<a href=showthread.php?s=&postid=14862109#post14862109 target=_blank>Originally posted</a> by sfsuphysics
Ok if that wasn't confusing let me explain.

I have a high temperature "fail safe" for my halides, basically if it exceeds 82° halides shut off. I'm curious though do I need to have a line of code that says if it goes below 82 they turn back on? Or will my day to day time code do that for me. I'm worried about having them turn on in the middle of the night, or hell any time when the temp is below 82 (which has been always)

Basically I just not quite sure for the hierarchy for commands, i.e. when one conflicts with another.

Here's my code

If Time > 08:00 Then T5A ON
If Time > 19:00 Then T5A OFF
If Time > 09:30 Then T5B ON
If Time > 18:00 Then T5B OFF
If Time > 10:30 Then MH0 ON
If Time > 16:00 Then MH0 OFF
If Temp < 81.0 Then HT2 ON
If Temp > 82.0 Then HT2 OFF
If Temp < 76.5 Then HT1 ON
If Temp > 77.0 Then HT1 OFF
If Temp > 82.0 Then MH0 OFF
If Time > 07:00 Then 2PT ON
If Time > 07:30 Then 2PT OFF
If Temp > 80.0 Then FAN ON
If Temp < 80.0 Then FAN OFF


My fan toggles off because there's nothing else to tell it to do so.

Just not sure if the "Time" command is basically a digital version of a mechanical timer. I.e. when it passes a particular point it'll turn on, however if something turns it off then it won't turn back on. *BUT* it will override any off commands when 10:30 comes around again.
 
Re: When turning off, do you need to turn back on if something else does it?

<a href=showthread.php?s=&postid=14862109#post14862109 target=_blank>Originally posted</a> by sfsuphysics
Ok if that wasn't confusing let me explain.

I have a high temperature "fail safe" for my halides, basically if it exceeds 82° halides shut off. I'm curious though do I need to have a line of code that says if it goes below 82 they turn back on? Or will my day to day time code do that for me. I'm worried about having them turn on in the middle of the night, or hell any time when the temp is below 82 (which has been always)

Basically I just not quite sure for the hierarchy for commands, i.e. when one conflicts with another.

Here's my code

If Time > 08:00 Then T5A ON
If Time > 19:00 Then T5A OFF
If Time > 09:30 Then T5B ON
If Time > 18:00 Then T5B OFF
If Time > 10:30 Then MH0 ON
If Time > 16:00 Then MH0 OFF
If Temp < 81.0 Then HT2 ON
If Temp > 82.0 Then HT2 OFF
If Temp < 76.5 Then HT1 ON
If Temp > 77.0 Then HT1 OFF
If Temp > 82.0 Then MH0 OFF
If Time > 07:00 Then 2PT ON
If Time > 07:30 Then 2PT OFF
If Temp > 80.0 Then FAN ON
If Temp < 80.0 Then FAN OFF


My fan toggles off because there's nothing else to tell it to do so.

Just not sure if the "Time" command is basically a digital version of a mechanical timer. I.e. when it passes a particular point it'll turn on, however if something turns it off then it won't turn back on. *BUT* it will override any off commands when 10:30 comes around again.

The day time will handle it for you. When the temp condition is false then the timer will revert to the 'if time' evaluation, yo don't need (and do not want) statements to turn if on based on temp of those would override the 'if time'
 
I would still put in a Max Change statement, that way the metal halides will not be turning on and off as the temp fluctuates around the target top temp....

Don
 
<a href=showthread.php?s=&postid=14865198#post14865198 target=_blank>Originally posted</a> by dcmartinpc
I would still put in a Max Change statement, that way the metal halides will not be turning on and off as the temp fluctuates around the target top temp....

Don

I totally agree!
 
but if you go max - and maybe my unit is bugged - in the morning if I change other programming before the lights come on - the max statement kicks in all by itself and the lights are delayed, in coming on by the minutes set forth in the statement - no biggie - I just put them on - in manual - and back to auto (if I care my lights to be on the full day that day)

just relating this - as it would come up - you thinking something is too wrong when it is only a little wrong and will rectify itself for the next day's start.

I am not sure it does this for all plugs - it just happens for whatever karma reason and I have come to expect it

chime in if anyone has a solution
 
Alright, sounds like I'd add a max change, now what's the logic behind that statement? i.e. what does what

going by the above example
Max Change 120 M Then LTB

I get the max change, 120 minutes, however what does "Then LTB" do? It's not speaking programeze to me :D... then what? Then it allows channel LTB to go about it's business? Or it won't allow that channel to change states more than once every 2 hours?
 
If Sun -030/045 Then LTB ON
If Temp > 83.9 Then LTB OFF
Max Change 120 M Then LTB

many people use the above which in this turns off the lights if temp > 83.9 and back on again if temp is below after 120 minutes

I already said - LTB are some of my lights - they come on 30 minutes before sunrise and go off 45 minutes after sunset - during the on time if the temp gets to 83.9 the lights off for 120 minutes and after then, if the temp has gone down below 83.9 the lights come back on


you said then ltb - you did not say then ltb on
<a href=showthread.php?s=&postid=14868441#post14868441 target=_blank>Originally posted</a> by sfsuphysics
Alright, sounds like I'd add a max change, now what's the logic behind that statement? i.e. what does what

going by the above example


I get the max change, 120 minutes, however what does "Then LTB" do? It's not speaking programeze to me :D... then what? Then it allows channel LTB to go about it's business? Or it won't allow that channel to change states more than once every 2 hours?
 
<a href=showthread.php?s=&postid=14868608#post14868608 target=_blank>Originally posted</a> by jnb

I already said - LTB are some of my lights - they come on 30 minutes before sunrise and go off 45 minutes after sunset - during the on time if the temp gets to 83.9 the lights off for 120 minutes and after then, if the temp has gone down below 83.9 the lights come back on
Yes, I understand that LTB is assigned to your light plug. However I'm still trying to grasp the programming language and still don't quite understand the hierarchy of commands like the "MAX Change". So as written in your statement, if the temp hits 84° your lights will turn off, but the max change statement affects only the statement preceding it? That is to say it'll only keep them off for 120 minutes? Then turn them back on? (assuming the time off constraint hasn't been met yet).

you said then ltb - you did not say then ltb on
I said "Then LTB" because that's what you have written, you did not say "Then LTB ON"
 
Max Change is a global override for the indicated timer. Best described by example...

If you had the following:

Max Change 015 M Then LT1 OFF

and you had a temp statement that turned off LT1 > 80.0 then if...

Temp hits 80.1, LT1 turns off. 3 minutes later temp drops to 80.0 (or below) but since you have a Max Change of 15 minutes and LT1 hasn't been off for 15 minutes LT1 will remain off for an additional 12 min.

example 2:

Temp hits 80.1, LT1 turns off. 15 minutes later temp drops to 80.0 (or below) and since the time it took the temp to drop is greater to (or equal) to the value of Max Change LT1 will turn back on (assuming it should be on based on current time and program).

There can be 1 Max Change per timer (either on or off) and it is processed globally. If you specify > 1 Mac Change for a timer then the last one wins and earlier ones are ignored.

I think I have additional examples on my webpage (FAQ and Q/A) if my description above wasn't clear.
 
[http://74.52.105.194/~clp/images/downloads/AquaController3_3.20_web.pdf]

Hysteresis
The MAX Change timer command allows for timer channels to stay in a particular state for a minimum length of
time. This is useful when a control input (pH, temp, or ORP) may oscillate between two values which in turn
causes a pump, light, etc. to turn on and off over a very short period of time. For example suppose the following
program is used to control kalkwasser addition to a reef tank:
If Switch1 OPEN Then H2O ON
If Switch1 Closed Then H2O OFF
If pH > 8.30 Then H2O OFF
The goal of this program is to dose kalkwasser when the water level in the tank is low, and the pH value is not
too high. This program mostly works, except when the tank water level is low, and the pH value oscillates
between 8.30 and 8.31. In this case the H2O control module may turn on and off rapidly.
To alleviate this problem a hysteresis command is included in the AquaController III language. The 'MAX
change' command forces the control module to stay in a certain state for a minimum length of time before being
allowed to change. The minimum length of time can be specified for either the ON or OFF state but not both.
The following program corrects the potential problem:
If Switch1 OPEN Then H2O ON
If Switch1 Closed Then H2O OFF
If pH > 8.30 Then H2O OFF
Max Change 010 M Then H2O OFF

The 'Max Change' statement at the end of the program forces the H2O control module to remain in the off state
for a minimum of 10 minutes before being allowed to turn back on. The off state was chosen as the "sticky" state
so that H2O pump will not stay in the on state for a minimum of 10 minutes; in some systems this may add too
much water to the system. In general it is only necessary to use this command when there is single value of a
monitored parameter (pH, ORP, or Temp) which can cause the control module to turn both on and off.
Note: In order for either of the above two programs to operate correctly, the statements must be in the same
order as shown above. The AquaController III evaluates the program statements from top to bottom, and if the
'If pH >8.30' was executed first the desired operation would not be achieved.

this is from the aciii manual - this below is stright copied/pasted from my program - I did not include the last word in my original post - sorry for the confusion

If Sun -030/045 Then LTB ON
If Temp > 83.9 Then LTB OFF
Max Change 120 M Then LTB OFF


ok?






<a href=showthread.php?s=&postid=14868665#post14868665 target=_blank>Originally posted</a> by sfsuphysics
Yes, I understand that LTB is assigned to your light plug. However I'm still trying to grasp the programming language and still don't quite understand the hierarchy of commands like the "MAX Change". So as written in your statement, if the temp hits 84° your lights will turn off, but the max change statement affects only the statement preceding it? That is to say it'll only keep them off for 120 minutes? Then turn them back on? (assuming the time off constraint hasn't been met yet).


I said "Then LTB" because that's what you have written, you did not say "Then LTB ON"
 
JNB: Ahh ok yeah thought there might be an ON/OFF there however not knowing exactly how it works was not sure what it was for.

Kenargo: Thank you as well, that makes sense... sort of.

Just seems strange that if you have a "then LT1 OFF" that would do something to turn off that channel, not turn it on. Which is why I commented the programming logic isn't jiving with me. But now I realize that "then" really is more of a "of" (which has no logic/programming equivalent it seems) so the max change you're talking about is of a particular state of a particular channel, this being the OFF state of your light channel.
 
:thumbsup:

<a href=showthread.php?s=&postid=14871471#post14871471 target=_blank>Originally posted</a> by sfsuphysics
JNB: Ahh ok yeah thought there might be an ON/OFF there however not knowing exactly how it works was not sure what it was for.

Kenargo: Thank you as well, that makes sense... sort of.
:
 
Something that might make it more clear is a short description of how the controller processes the program:

1) Initialized all timers to "unknown"

2) Separates all "It Time" statements, orders them by time and evaluates each one individually. If a statement is evaluated to true it stores the new state in a temporary buffer

3) Remaining statements are processeed in order. Each statement is evaluated and ONLY if the statement condition is true does the new state get placed into the temporary buffer

4) Each temp state is evaluated against the time it has been in the new state (e.g., Max Change). If the timer has not been in the Max Change defined state for the indicated amount of time then the new timer state is discarded and nothing is changed, otherwise the timer state is updated.

5) The (new) timer state is sent to the various control modules

Note: there are other 'special' cases (e.g., feed timers, if Power) that simulate an override to Max Change but in general the above description is accurate.
 
do you have an idea why this happens? mentioned a few replies up

but if you go max - and maybe my unit is bugged - in the morning if I change other programming before the lights come on - the max statement kicks in all by itself and the lights are delayed, in coming on by the minutes set forth in the statement - no biggie - I just put them on - in manual - and back to auto (if I care my lights to be on the full day that day)

just relating this - as it would come up - you thinking something is too wrong when it is only a little wrong and will rectify itself for the next day's start.

I am not sure it does this for all plugs - it just happens for whatever karma reason and I have come to expect it

chime in if anyone has a solution


__________________
Nick

<a href=showthread.php?s=&postid=14871625#post14871625 target=_blank>Originally posted</a> by kenargo
Something that might make it more clear is a short description of how the controller processes the program:

1) Initialized all timers to "unknown"

2) Separates all "It Time" statements, orders them by time and evaluates each one individually. If a statement is evaluated to true it stores the new state in a temporary buffer

3) Remaining statements are processeed in order. Each statement is evaluated and ONLY if the statement condition is true does the new state get placed into the temporary buffer

4) Each temp state is evaluated against the time it has been in the new state (e.g., Max Change). If the timer has not been in the Max Change defined state for the indicated amount of time then the new timer state is discarded and nothing is changed, otherwise the timer state is updated.

5) The (new) timer state is sent to the various control modules

Note: there are other 'special' cases (e.g., feed timers, if Power) that simulate an override to Max Change but in general the above description is accurate.
 
in the morning if I change other programming before the lights come on

When you change the program you in effect 'restart' the program and if you have any Max Change statements they will all reset to '0' minutes; in effect the same as if the timer had just changed state. Manual control overrides Max Change so by using manual control you clear the Max Change condition.
 
Back
Top