Hey is there a way to make a set point of one variable offset or dependent on another?
I am trying to minimize swings on my glycol control by raising the glycol bath temperature. Basically i would like to have the Glycol bath temperature setpoint be say 20F lower than the FV setpoint. Is there a way to do this directly?
Alternatively is there a way to trigger a state change based on a state from another process? That is if i am starting a fermentation process and the state setpoint is 65 in the FV, i could jump to a state on the glycol controls that controls the glycol to 45F before jumping to the start delay. Then if the next state is FV set at 70F, that state would trigger a different glycol cooling state with a 50F set point. So basically trying to understand if i can have two processes follow each other.
I guess worst case would be manually changing the glycol setpoint or setting timers so the glycol temp SP follows the fermentation profile.
Thanks
JB
Differential Setpoint for Glycol Cooled Fermenter
Re: Differential Setpoint for Glycol Cooled Fermenter
Yes. You can set an exit point based upon different criteria
DINs
Temperature
Time
You can loop between two and even have two different exits that go to a different state.
I would generally say if you can provide the logic, the BCS can follow the logic!
DINs
Temperature
Time
You can loop between two and even have two different exits that go to a different state.
I would generally say if you can provide the logic, the BCS can follow the logic!
Re: Differential Setpoint for Glycol Cooled Fermenter
Oakbarn thanks.
So here is what i am thinking... The glycol controller looks at the FV1 temp and chooses its SP based on that probe. Its unfortunate that the exit conditions support => and <= only; it would be great if you could set ranges (if >x and <y goto z), then i could do this with way fewer states, but here's the thought:
1. Cooling Delay - Exit Condition: 5 min timer reaches zero; goes to SP Chooser 1
2. SP Chooser 1 - Exit Condition: If FV1 >= 60F then goto 50F Glycol; if FV1 <= 60F goto SP Chooser 2
3. SP Chooser 2 - Exit Condition: If FV1 >= 50F then goto 40F Glycol; if FV1 <= 50F goto SP Chooser 3
4. SP Chooser 3 - Exit Condition: If FV1 >= 40F then goto 30F Glycol; if FV1 <= 40F goto 28F Glycol
5. 50F Glycol - Exit Condition: Reaches SP, goto Cooling Delay
6. 40F Glycol - Exit Condition: Reaches SP, goto Cooling Delay
7. 30F Glycol - Exit Condition: Reaches SP, goto Cooling Delay
8. 28F Glycol - Exit Condition: Reaches SP, goto Cooling Delay
The setpoint chooser states do nothing but direct to the right exit condition and to one of 4 glycol control modes.
Seems solid. Thoughts?
JB
So here is what i am thinking... The glycol controller looks at the FV1 temp and chooses its SP based on that probe. Its unfortunate that the exit conditions support => and <= only; it would be great if you could set ranges (if >x and <y goto z), then i could do this with way fewer states, but here's the thought:
1. Cooling Delay - Exit Condition: 5 min timer reaches zero; goes to SP Chooser 1
2. SP Chooser 1 - Exit Condition: If FV1 >= 60F then goto 50F Glycol; if FV1 <= 60F goto SP Chooser 2
3. SP Chooser 2 - Exit Condition: If FV1 >= 50F then goto 40F Glycol; if FV1 <= 50F goto SP Chooser 3
4. SP Chooser 3 - Exit Condition: If FV1 >= 40F then goto 30F Glycol; if FV1 <= 40F goto 28F Glycol
5. 50F Glycol - Exit Condition: Reaches SP, goto Cooling Delay
6. 40F Glycol - Exit Condition: Reaches SP, goto Cooling Delay
7. 30F Glycol - Exit Condition: Reaches SP, goto Cooling Delay
8. 28F Glycol - Exit Condition: Reaches SP, goto Cooling Delay
The setpoint chooser states do nothing but direct to the right exit condition and to one of 4 glycol control modes.
Seems solid. Thoughts?
JB
Re: Differential Setpoint for Glycol Cooled Fermenter
I think you are over complicating the issue. It would work as you have it but
My Glycol is only pumped into the Jacket as needed to cool.
I have:
State 0: Cool Glycol Bath Output 0: Glycol Chiller: Hysteresis: Glycol Bath Probe SetPoint 50 Hysteresis Swing 3
Exit Manually When I have transferred the cooled Wort to the Fermentor. My Wort is normally about 60.
State 1: Primary 8 Day Output 0: Glycol Chiller: Hysteresis: Glycol Bath Probe SetPoint 34 Hysteresis Swing 2
Output 1: Primary Valve: Hysteresis: Jacketed Conical Probe SetPoint 54 Hysteresis Swing 1
Exit On Timer (8 days >= 192:00:00)
State 2: Diacytel Up Output 0: Glycol Chiller: Hysteresis: Glycol Bath Probe SetPoint 56 Hysteresis Swing 4
Output 1: Primary Valve: Hysteresis: Jacketed Conical Probe SetPoint 67 Hysteresis Swing 1
Ramp Output 1: Start Temp: 54 End Temp: 67 Time: 72:00:00 (3 days)
Exit On Timer (<=0:00:00. Timer Count Down from 72:00:00)
State 3: DiacytelRest Output 0: Glycol Chiller: Hysteresis: Glycol Bath Probe SetPoint 56 Hysteresis Swing 4
Output 1: Primary Valve: Hysteresis: Jacketed Conical Probe SetPoint 67 Hysteresis Swing 1
Exit On Timer (<=0:00:00. Timer Count Down from 72:00:00)
State 4: Diacytel Down Output 0: Glycol Chiller: Hysteresis: Glycol Bath Probe SetPoint 48 Hysteresis Swing 2
Output 1: Primary Valve: Hysteresis: Jacketed Conical Probe SetPoint 54 Hysteresis Swing 1
Ramp Output 1: Start Temp: 67 End Temp: 54 Time: 72:00:00 (3 days)
Exit On Timer (<=0:00:00. Timer Count Down from 72:00:00)
State 5: Final Output 0: Glycol Chiller: Hysteresis: Glycol Bath Probe SetPoint 44 Hysteresis Swing 4
Output 1: Primary Valve: Hysteresis: Jacketed Conical Probe SetPoint 54 Hysteresis Swing 1
Exit On Timer (10 days >= 240:00:00)
State 6: Check FG Output 0: Glycol Chiller: Hysteresis: Glycol Bath Probe SetPoint 44 Hysteresis Swing 4
Output 1: Primary Valve: Hysteresis: Jacketed Conical Probe SetPoint 54 Hysteresis Swing 1
Exit Manually
State 7: Cold Crash Output 0: Glycol Chiller: Hysteresis: Glycol Bath Probe SetPoint 25 Hysteresis Swing 4
Output 1: Primary Valve: Hysteresis: Jacketed Conical Probe SetPoint 33 Hysteresis Swing 1
Exit Jacketed Conical Probe <=33 Then "Wait For Input" This maintains the SetPoint 33
I have used this many times and it works for me. Your Equipment may not be as tuned as mine. Mine is only a 30 Gal Fermentor.
My Glycol is only pumped into the Jacket as needed to cool.
I have:
State 0: Cool Glycol Bath Output 0: Glycol Chiller: Hysteresis: Glycol Bath Probe SetPoint 50 Hysteresis Swing 3
Exit Manually When I have transferred the cooled Wort to the Fermentor. My Wort is normally about 60.
State 1: Primary 8 Day Output 0: Glycol Chiller: Hysteresis: Glycol Bath Probe SetPoint 34 Hysteresis Swing 2
Output 1: Primary Valve: Hysteresis: Jacketed Conical Probe SetPoint 54 Hysteresis Swing 1
Exit On Timer (8 days >= 192:00:00)
State 2: Diacytel Up Output 0: Glycol Chiller: Hysteresis: Glycol Bath Probe SetPoint 56 Hysteresis Swing 4
Output 1: Primary Valve: Hysteresis: Jacketed Conical Probe SetPoint 67 Hysteresis Swing 1
Ramp Output 1: Start Temp: 54 End Temp: 67 Time: 72:00:00 (3 days)
Exit On Timer (<=0:00:00. Timer Count Down from 72:00:00)
State 3: DiacytelRest Output 0: Glycol Chiller: Hysteresis: Glycol Bath Probe SetPoint 56 Hysteresis Swing 4
Output 1: Primary Valve: Hysteresis: Jacketed Conical Probe SetPoint 67 Hysteresis Swing 1
Exit On Timer (<=0:00:00. Timer Count Down from 72:00:00)
State 4: Diacytel Down Output 0: Glycol Chiller: Hysteresis: Glycol Bath Probe SetPoint 48 Hysteresis Swing 2
Output 1: Primary Valve: Hysteresis: Jacketed Conical Probe SetPoint 54 Hysteresis Swing 1
Ramp Output 1: Start Temp: 67 End Temp: 54 Time: 72:00:00 (3 days)
Exit On Timer (<=0:00:00. Timer Count Down from 72:00:00)
State 5: Final Output 0: Glycol Chiller: Hysteresis: Glycol Bath Probe SetPoint 44 Hysteresis Swing 4
Output 1: Primary Valve: Hysteresis: Jacketed Conical Probe SetPoint 54 Hysteresis Swing 1
Exit On Timer (10 days >= 240:00:00)
State 6: Check FG Output 0: Glycol Chiller: Hysteresis: Glycol Bath Probe SetPoint 44 Hysteresis Swing 4
Output 1: Primary Valve: Hysteresis: Jacketed Conical Probe SetPoint 54 Hysteresis Swing 1
Exit Manually
State 7: Cold Crash Output 0: Glycol Chiller: Hysteresis: Glycol Bath Probe SetPoint 25 Hysteresis Swing 4
Output 1: Primary Valve: Hysteresis: Jacketed Conical Probe SetPoint 33 Hysteresis Swing 1
Exit Jacketed Conical Probe <=33 Then "Wait For Input" This maintains the SetPoint 33
I have used this many times and it works for me. Your Equipment may not be as tuned as mine. Mine is only a 30 Gal Fermentor.
Re: Differential Setpoint for Glycol Cooled Fermenter
Oakbarn - thanks for the reply. I get what you are saying, that i can simply combine the fermenter controls and glycol controls in a single process and just put the glycol setpoints where i want them for each state. With that setup are you able to run two different fermenter profiles simultaneously if the fermentation schedules are not synched up?
What i have is:
PG Pump Output
PG Chiller Output
PG Recycle Valve
PG Valve for FV1 (Brewers Hardware 14g jacketed)
One process with the above referenced logic that controls the glycol based on the temp of FV1 and seems to be working ok so far.
One process for FV1's fermentation profile.
I would use another process for FV2, 3 etc. so they can run in parallel but independently.
I have ladder logic on the PG Recycle valve that opens that valve if the FV valve(s) is closed. Also use ladder logic to turn on the glycol pump whenever cooling is called for from the FVs or if the chiller starts.
I suppose am using more processes to do this, but i think i like it so far because i shouldn't have to touch the Chiller Control process much ever again and only need to adjust the FV profiles i want. I guess if i have two FVs running i will have to tell it which FV to base the PG temp off of, but that is fairly minor i think.
Thanks for the info and ideas.
Cheers
JB
What i have is:
PG Pump Output
PG Chiller Output
PG Recycle Valve
PG Valve for FV1 (Brewers Hardware 14g jacketed)
One process with the above referenced logic that controls the glycol based on the temp of FV1 and seems to be working ok so far.
One process for FV1's fermentation profile.
I would use another process for FV2, 3 etc. so they can run in parallel but independently.
I have ladder logic on the PG Recycle valve that opens that valve if the FV valve(s) is closed. Also use ladder logic to turn on the glycol pump whenever cooling is called for from the FVs or if the chiller starts.
I suppose am using more processes to do this, but i think i like it so far because i shouldn't have to touch the Chiller Control process much ever again and only need to adjust the FV profiles i want. I guess if i have two FVs running i will have to tell it which FV to base the PG temp off of, but that is fairly minor i think.
Thanks for the info and ideas.
Cheers
JB
Re: Differential Setpoint for Glycol Cooled Fermenter
This is a graph of my method where I have the Glycol at 34 and the Fermentor at 54.
AS you can see, the Glycol bath does not cycle very often and hold the 54 very well in the fermentor. It is a 30 gal Brewer's Hardware one.
AS you can see, the Glycol bath does not cycle very often and hold the 54 very well in the fermentor. It is a 30 gal Brewer's Hardware one.
Re: Differential Setpoint for Glycol Cooled Fermenter
Next Day: Very Excellent Control.
Orange is Ferment SetPoint (54 F Hysteresis Swing 1)
Red is Fermentor
Light Green Gylcol SetPoint (34 F Hysteresis with Swing of 2)
Dark Green Gylcol Bath
You can see that the Red and Orange are very close. The Glycol Bath does not cycle very often.
Don't know how you could control it better.
Orange is Ferment SetPoint (54 F Hysteresis Swing 1)
Red is Fermentor
Light Green Gylcol SetPoint (34 F Hysteresis with Swing of 2)
Dark Green Gylcol Bath
You can see that the Red and Orange are very close. The Glycol Bath does not cycle very often.
Don't know how you could control it better.
Re: Differential Setpoint for Glycol Cooled Fermenter
Hey Oakbarn - thanks for the info; very cool.
I think we are doing about the same thing, i just want the PG control to basically take care of itself. So if I am in the 60s, PG will be 50; if the FV is in the 50s then PG will be 40, etc etc.
I cant leave the PG at one temp because i get overshoot from the amount of cold PG left in the jacket when the FV valve closes. I need the PG temp to track the FV temp, roughly. My FV is 1/3 the size of yours so the jacket volume to FV volume is probably quite different.
As it stands i cycle the PG cooler worst case about once an hour depending on setpoints,ambient and whatnot. How big is your PG reservoir? That would certainly affect it; mine is only 3 gallons.
Cheers man
JB
I think we are doing about the same thing, i just want the PG control to basically take care of itself. So if I am in the 60s, PG will be 50; if the FV is in the 50s then PG will be 40, etc etc.
I cant leave the PG at one temp because i get overshoot from the amount of cold PG left in the jacket when the FV valve closes. I need the PG temp to track the FV temp, roughly. My FV is 1/3 the size of yours so the jacket volume to FV volume is probably quite different.
As it stands i cycle the PG cooler worst case about once an hour depending on setpoints,ambient and whatnot. How big is your PG reservoir? That would certainly affect it; mine is only 3 gallons.
Cheers man
JB