Programming... Please review

dhoch

New member
Ok I've got an AC III attached to 3 DC8 (A1-8, B1-8, C1-8)
Here is the key to my labels:
ACT = actinics
ML1 = Main Lights Bank 1
ML2 = Main Lights Bank 2
ATS = Actinics over refugium
MLS = main lights over refugium
FNS = fan over sump
GRD = Ground probe
SKM = Skimmer
SM1 = Return Pump 1
SM2 = Return Pump2
RFG = Circulation in refugium
TS1 = TUnze Stream 1
TS2 = Tunze Stream 2
HS1 = Heater 1
HS2 = Heater 2
FN1 = Fan 1
FN2 = Fan 2
DP1 = Dosing Pump 1
SS1 = Sea Swirl 1
SS2 = Sea Swirl 2

I'm particularly confused about the heaters...(why did I have to add the time command... without it they were unkown!)

Here is my program:
If Time > 06:30 Then ACT ON
If Time > 19:30 Then ACT OFF
If Time > 07:30 Then ML1 ON
If Time > 18:30 Then ML1 OFF
If Time > 10:00 Then ML2 ON
If Time > 16:00 Then ML2 OFF
If Time > 18:30 Then ATS ON
If Time > 07:30 Then ATS OFF
If Time > 19:00 Then MLS ON
If Time > 06:30 Then MLS OFF
If Time > 23:59 Then FNS ON
If Time > 23:59 Then GRD ON
If Time > 23:59 Then SKM ON
If Time > 23:59 Then SM1 ON
If Time > 23:59 Then SM2 ON
If Time > 23:59 Then RFG ON
If Time > 23:59 Then TS1 ON
If Time > 23:59 Then TS2 ON
If Time > 23:59 Then HT1 ON
If Temp > 79.6 Then HT2 OFF
If Temp < 79.4 Then HT2 ON
If Temp < 79.4 Then HT1 ON
If Temp > 79.6 Then HT1 OFF
If Time > 23:59 Then HT2 ON
If Time > 23:59 Then FN1 ON
If Time > 23:59 Then FN2 ON
If Time > 23:59 Then DP1 ON
If Time > 23:59 Then SS1 ON
If Time > 23:59 Then SS2 ON
 
You need to add a time command for the heater to set its initial state. If the controller never hits one of the programmed temperature limits then the heater has not been turned on or off yet by the controller, and therefore it doesn't know the initial state of the heater. MOst people use a time of 00:00 but I guess 23:59 is close enough too. One other thing - I would start off with the initial state of the heater in the off position instead of on like this: IF TIME >00:00 Then HET OFF. This is just to be on the safe side that the heater is initially set off until a low temp point is hit when it will be turned on. The controller should still catch it though with the way you programmed it initially being on.
 
I noticed a problem with it and deleted the times... allthough now it seems to know the state....

Basically there are 3 states (definitly on--- temp low, definitly off temp hi and in between).

The way I had it above when the temp was in the range below temp hi and above temp low it defaulted to the time being on and guess what it was on....

I'm assuming if I did it your way it would be off in the range in between, but now that it seems to notice it it's not a big deal.
 
You don't need to add the time statements for the Heaters; if you do you will lose the hysterisys of the 2 temp statements. The reason for the unknowns is that the temperature is between the high and low set points, and neither statement is true. As soon as temperature rises or falls the output will be defined.

Curt
 
Back
Top