# Thread: General PI Control Question for Lab

1. ## General PI Control Question for Lab

I have a job where I have an extremely complicated control sequence that the engineer wants me to accomplish. The application is for an experimental lab that requires a SINGLE temperature setpoint ranging from 50 degrees to 100 degrees, and a SINGLE humidity setpoint ranging from 20% RH to 70% RH. They are calling for a discharge air reset algorithm to control the space temperature, and a suction pressure reset algorithm for controlling the dehumidification. My question in more in regards to the discharge air reset.

Typically I would do a reset schedule that would look at the space temperature, and utilize four adjustable plots for discharge air temperature setpoint control. For instance if the space temperature is 74 degrees then utilize 52 degree DAT, if the space temperature is 70 degrees utilize 70 DAT. The discharge air would be reset proportionally between 52 degrees to 70 degrees based on the space temperature. However in this application I was questioning what it would look like if I utilized a single room temperature PI loop that drove the reset schedule for heating and cooling. Typically I would enable the heating and cooling loops based on heating/ cooling setpoints, but in this application I need to have very precise temperature control with things moving very smoothly based on (1) room temperature setpoint.

I know there are tons of different ways to do this, but I was wanting to get some feedback on some known methods that work really well. I have heard of people using 1 single room temperature loop to drive their reset schedules. I have heard of people using 1 single loop, and breaking up certain percentages of it for heating and cooling. I have also heard of people using separate control loops for everything. What is the most common way to accomplish a single temperature setpoint with precision?

Thanks for the feedback on this!

2. Regular Guest
Join Date
Jul 2015
Location
Posts
10
Post Likes
Hi apprentice3,
You're right. There a many ways to accomplish the same thing. The trick is using a method that is only as complex as it needs to be. Something like the process you describe might need more complexity than a typical single zone RTU supplying an office.

Regardless of complexity, I always prefer to have a separate control loop for every physical output so that it is possible to tune the loop to the actual control process response. It's also a good idea to have the output control loops look at directly measurable process variables. i.e. Heating Valve control loop is calculated based on discharge air temperature and discharge air setpoint. This way the control loop is easy to tune for the specific mechanical system.

If you need to both heat and cool based on the same discharge air temperature setpoint, you just need to write logic to determine which loop is acting on the set point and which loop is acting on the setpoint plus an offset. i.e. If space temperature is above the space temperature setpoint then the cooling loop setpoint is the discharge air setpoint and the heating loop setpoint is the discharge air setpoint - 1. Vise versa if the space temperature is below the space temperature setpoint.

To have a the heating & cooling respond to the space temperature, i would define another control loop to determine the discharge air set point. The space temperature control loop compares the space temperature to the space temperature setpoint and the loop output will determine the discharge air temperature setpoint from a minimum value to a maximum value. This allows tuned mechanical equipment response which is proportional to the needs of the space. The integral response of the space temperature loop will allow the system to respond appropriately under varying load conditions.

3. Originally Posted by CtrlAutomaton
Hi apprentice3,
You're right. There a many ways to accomplish the same thing. The trick is using a method that is only as complex as it needs to be. Something like the process you describe might need more complexity than a typical single zone RTU supplying an office.

Regardless of complexity, I always prefer to have a separate control loop for every physical output so that it is possible to tune the loop to the actual control process response. It's also a good idea to have the output control loops look at directly measurable process variables. i.e. Heating Valve control loop is calculated based on discharge air temperature and discharge air setpoint. This way the control loop is easy to tune for the specific mechanical system.

If you need to both heat and cool based on the same discharge air temperature setpoint, you just need to write logic to determine which loop is acting on the set point and which loop is acting on the setpoint plus an offset. i.e. If space temperature is above the space temperature setpoint then the cooling loop setpoint is the discharge air setpoint and the heating loop setpoint is the discharge air setpoint - 1. Vise versa if the space temperature is below the space temperature setpoint.

To have a the heating & cooling respond to the space temperature, i would define another control loop to determine the discharge air set point. The space temperature control loop compares the space temperature to the space temperature setpoint and the loop output will determine the discharge air temperature setpoint from a minimum value to a maximum value. This allows tuned mechanical equipment response which is proportional to the needs of the space. The integral response of the space temperature loop will allow the system to respond appropriately under varying load conditions.
Thanks for your response. This helps out a lot in the way I was thinking about this. I did want to clarify something in the 3rd paragraph that you wrote. So essentially I would just write logic dependent on the space temperature versus the setpoint that would ENABLE/ DISABLE the cooling and heating loops?

4. Professional Member*
Join Date
Feb 2006
Location
Float'N Vally, MS
Posts
2,874
Post Likes
Do these labs have hoods?
If so this is really gonna get complicated...

5. Originally Posted by behappy
Do these labs have hoods?
If so this is really gonna get complicated...
No not these particular ones. There are labs with hoods that we are just integrating some factory installed controls. These labs are considered climate controlled rooms/ test chambers for product.

6. Regular Guest
Join Date
Jul 2015
Location
Posts
10
Post Likes
It really depends on the system you are using. You just want to make sure the loops don't act on the same setpoint at the same time and fight each other.

I would prefer to keep both loops operating but just change the setpoints they are trying to maintain. This way the non active loop can respond right away if something changes or the other loop overshoots. (Overshooting shouldnt happen however if the loops are tuned well)

7. Originally Posted by apprentice3
However in this application I was questioning what it would look like if I utilized a single room temperature PI loop that drove the reset schedule for heating and cooling.
Pretty close to what I do everywhere. Low budget office space, to tightly controlled requirements. #1 your key sensors better be well under the requirement. Lets just assume its a space with a tight requirement, they almost always spell out room conditions and tolerances.

I have a minimum and maximum setpoint based on these that I need to control heat & cool. Assuming one unit, one space...

I have a total of 4 PIDs. A pair would control off space temp and use the heat/cool space setpoints which would have some deadband, even if its 1F. My goal would be control to 50% of the spec deadband, not always reasonable. The output of these may be such that heating runs 0-100% and cooling 0-(-100)% and they are added so we are heating or cooling, but never both. The final demand from this pair would set the DAT setpoint. Within the space heat/cool setpoints, I normally have a fixed value or let it float so its not normally just a straight line between min/max DAT setpoint. For tight control, DAT setpoint is likely = space setpoint or close depending on typical load within deadband. A benefit of this one PID overshoots the other pulls it back, though this should be an edge case. Space temp changes typically at a very different rate than DAT, so have control of tuning rates between. If you can't tune loops, its still a crap show.

The next two PIDs are controlling to DAT and use the prior DAT calculated setpoint. Depending on the equipment and its capabilities, the hgt/clg DAT setpoints are going to be some value +/- this setpoint. HW/CW it might be only 2F. DX/gas it could be 10F+. Same thing, outputs sum together to ensure its heat or cool not both. These more or less drive the hgt/clg outputs with all the safety interlocks. Fan status, OAT lockouts, TAB/CX overrides, freeze protection, etc.

At least with what I work with, this strategy gives me a very robust program that I can easily tweak for any temp/rh spec and given equipment.
Last edited by orion242; 11-23-2018 at 09:18 PM.

8. Originally Posted by orion242
Pretty close to what I do everywhere. Low budget office space, to tightly controlled requirements. Lets just assume its a space with a tight requirement, they almost always spell out room conditions and tolerances.

I have a minimum and maximum setpoint based on these that I need to control heat & cool. Assuming one unit, one space...

I have a total of 4 PIDs. A pair would control off space temp and use the heat/cool space setpoints which would have some deadband, even if its 1F. My goal would be control to 50% of the spec deadband, not always reasonable. The output of these may be such that heating runs 0-100% and cooling 0-(-100)% and they are added so we are heating or cooling, but never both. The final demand from this pair would set the DAT setpoint. Within the space heat/cool setpoints, I normally have a fixed value or let it float so its not normally just a straight line between min/max DAT setpoint. For tight control, DAT setpoint is likely = space setpoint or close depending on typical load within deadband. A benefit of this one PID overshoots the other pulls it back, though this should be an edge case. If you can't tune loops, its still a crap show.

The next two PIDs are controlling to DAT and use the prior DAT calculated setpoint. Depending on the equipment and its capabilities, the hgt/clg DAT setpoints are going to be some value +/- this setpoint. HW/CW it might be only 2F. DX/gas its could be 10F+. Same thing, outputs sum together to ensure its heat or cool not both. These more or less drive the hgt/clg outputs with all the safety interlocks. Fan status OAT lockouts, TAB/CX overrides, freeze protection, etc.

At least with what I work with, this strategy gives me a very robust program that I can easily tweak for any temp/rh spec given the equipment is capable of maintaining it.
Thanks for your reply! This is very helpful. So when you are saying that the 2 loops are added, are you saying that they essentially modulate from 0-200% (kind of like a Honeywell Spyder PID)? I would like to know more details on that portion of what your saying. Thanks again.

9. I'm aware of the spudder loops and their crazy behavior where they output more than 0-100%. Certainly not something that can't be dealt with my example working with 0-100% PIDs. HW I don't use enough to know exactly how I would tame the PID, but their output isn't what I would consider idea. Would likely toss out values outside 0-100% in my setup for starters, but again don't normally deal with that BS. Every PID loop has its own personality and needs to be contained within its happy spot. That said, having space hgt/clg demand calced differently from your DAT control is still valid.

10. Professional Member
Join Date
Dec 2007
Location
Connecticut
Posts
1,162
Post Likes
Is this an AAON unit? It sounds like something i've done in the past with a PCG.

11. Originally Posted by The Reaper
Is this an AAON unit? It sounds like something i've done in the past with a PCG.
Yes it sure is a Aaon unit. I assume the suction pressure reset for dehumidification gave it away? Personally I have never done it this way but the equipment supplier and the engineer claim it works really good for getting the coil really cold but prevent freezing by assuring the suction pressure is kept above freezing.

So how did your Aaon system turn out? Anything Programming wise that I should consider?

Sent from my iPhone using Tapatalk

12. Professional Member
Join Date
Dec 2007
Location
Connecticut
Posts
1,162
Post Likes
Originally Posted by apprentice3
Yes it sure is a Aaon unit. I assume the suction pressure reset for dehumidification gave it away? Personally I have never done it this way but the equipment supplier and the engineer claim it works really good for getting the coil really cold but prevent freezing by assuring the suction pressure is kept above freezing.

So how did your Aaon system turn out? Anything Programming wise that I should consider?

Sent from my iPhone using Tapatalk
The system works quite well. The one thing to remember is when you are comfort cooling, make the minimum digital scroll signal 50%. Every time you stage up, send the signal back to 50% and allow it to modulate up. When in dehumidification, make the minimum scroll signal 70%. Control for 120 psi suction in dehumidification and enable the hot gas reheat to maintain minimum space temp. The suction pressure transducers are 0-500 psi and 0-5vdc if my memory serves me.

13. Originally Posted by The Reaper
The system works quite well. The one thing to remember is when you are comfort cooling, make the minimum digital scroll signal 50%. Every time you stage up, send the signal back to 50% and allow it to modulate up. When in dehumidification, make the minimum scroll signal 70%. Control for 120 psi suction in dehumidification and enable the hot gas reheat to maintain minimum space temp. The suction pressure transducers are 0-500 psi and 0-5vdc if my memory serves me.
Thanks for the reply. I will keep the minimum percentages in mind. The sequence called for a minimum of 20% which I already have in the logic, but what can I tell the engineer the reason is for the higher minimum? Another thing I was thinking about in regards to the suction pressure is, since the PID for the suction pressure loop is direct acting. The suction pressure drops which in turn reduces the compressor capacity. There are certain abnormal events like low airflow, low charge, etc. that can cause the suction pressure to run at lets say 100 psi. This would in turn keep the compressor running continuously at minimum capacity. Do you incorporate logic that states if the suction pressure is below X pressure for X amount of time, then turn off the compressor on a low suction pressure fault?

Page 1 of 2 12 Last

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•