Jump to content


Photo
- - - - -

HVAC algorithm


  • Please log in to reply
12 replies to this topic

#1 pro17

pro17

    Sparky

  • MrPLC Member
  • PipPipPip
  • 64 posts
  • Country:Slovenia
    Slovenia

Posted 12 May 2008 - 04:54 AM

Hi all,

I want to program CJ1 as HVAC controller. AC unit is installed and consists:
- air dampers
- inlet ventilator
- outlet ventilator
- recouperation unit
- input filter
- output filter
- heater unit
- cooling unit
- STEAM humidifier
- several temperature sensors,
- humidity sensors
- seltaP preasure

Does anyone has experience in algorithms, regulation and control specification for such a system?
Some pointers, links ...?

klima_shema.JPG

Thanks!
JinX

#2 pro17

pro17

    Sparky

  • MrPLC Member
  • PipPipPip
  • 64 posts
  • Country:Slovenia
    Slovenia

Posted 14 May 2008 - 02:16 AM

Hi Nathan,

thank's for your interest.

The most interesting thing is interaction between fresh air temperature, set temperature and humidity. Seting relative humidity defines the use of steam humidifier. But this also affects the air temperature. There must be some kind of logic on regulating temperature and humidity simultaniously. I can imagine the system can get unstable if there is no interaction on the two loop controls (temperature loop and humidity loop) and the temperature and/or humidity can swing a lot.

There is also a matter of saving energy. Making simple loop regulation (heating and cooling) is not so hard but with the problems stated above system can use to much energy which can be reduced using the right algorithms.


Best Regards,
JinX

#3 PdL

PdL

    Propeller Head

  • MrPLC Admin
  • 3022 posts
  • Gender:Male
  • Location:Naarden, NL
  • Interests:Too many...
  • Country:Netherlands
    Netherlands

Posted 19 May 2008 - 01:40 PM

Hi JinX,

Of course there are many ways to skin a cat. But I suggest you chop the whole thing up into manageable parts in fact like with any process.
Damper limit switches are usually running condition for the fans.
I don't see a pressure transmitter anywhere so I guess the fans are direct driven, perhaps 2 speed motors? DP switches indicate belt broken.
The recuperator can be controlled according to outside temperature/supply air target relation. You could set a max differential over T6 and T7 to control the maximum output.
Filters just need delta pressure monitoring for filter dirty alarms.
Heater and cooling unit can be controlled by PI(D) controller. Target for controller can be related to outside air or to the zones setting but I see they have their own post heaters which can be PI controlled according to T4/T5 setting. Deadband in between.
Humidifier can be PI controlled by return humidity H2, limited by maximum supply humidity H1. Humidification is only useful if the RH is not saturated, so related to cooling capacity besides target RH. If the unit needs to dehumidify you can set a differential for the heater and cooling SV so the cooler will dehumidify.
Just some ideas, like I said there are many different ways to do this.
If you are completely new to HVAC, I suggest you do some HVAC beginners course to learn about the Mollier diagram and other cooling principles. I did one myself too and found it very interesting.
Good luck!

#4 sathaporn

sathaporn

    Sparky

  • MrPLC Member
  • PipPipPip
  • 10 posts

Posted 21 May 2008 - 09:42 AM

Hi JinX,

Of course there are many ways to skin a cat. But I suggest you chop the whole thing up into manageable parts in fact like with any process.
Damper limit switches are usually running condition for the fans.
I don't see a pressure transmitter anywhere so I guess the fans are direct driven, perhaps 2 speed motors? DP switches indicate belt broken.
The recuperator can be controlled according to outside temperature/supply air target relation. You could set a max differential over T6 and T7 to control the maximum output.
Filters just need delta pressure monitoring for filter dirty alarms.
Heater and cooling unit can be controlled by PI(D) controller. Target for controller can be related to outside air or to the zones setting but I see they have their own post heaters which can be PI controlled according to T4/T5 setting. Deadband in between.
Humidifier can be PI controlled by return humidity H2, limited by maximum supply humidity H1. Humidification is only useful if the RH is not saturated, so related to cooling capacity besides target RH. If the unit needs to dehumidify you can set a differential for the heater and cooling SV so the cooler will dehumidify.
Just some ideas, like I said there are many different ways to do this.
If you are completely new to HVAC, I suggest you do some HVAC beginners course to learn about the Mollier diagram and other cooling principles. I did one myself too and found it very interesting.
Good luck!



hello sir

i just had finished my project drying paper about 50 loops . I used lcb01 ( 50 loopS) and use software process tool . In process tool, It very easy for do pid loop that seem like you work on DCS . It have more funtion box example pid , spit range , motorise control valve .If you need mornitor system on scada , it can created face plate on tiuch screen or many point on scada . After i finished this project , I start new project about 150 loops , It is stockpreration of pulp and paper .I change lcb01 to lcb05 ( 500 loops) and control by cx-supervisor v2.1 . In cx-programer you will see problem about pid fb. It cannot working complete during change mode from manual to auto and very hard for auto tune. I suggest you chane to lcb 01 and cx-process tool. you will happy.

sathaporn srisawat

#5 pro17

pro17

    Sparky

  • MrPLC Member
  • PipPipPip
  • 64 posts
  • Country:Slovenia
    Slovenia

Posted 22 May 2008 - 04:45 AM

hello sir

i just had finished my project drying paper about 50 loops . I used lcb01 ( 50 loopS) and use software process tool . In process tool, It very easy for do pid loop that seem like you work on DCS . It have more funtion box example pid , spit range , motorise control valve .If you need mornitor system on scada , it can created face plate on tiuch screen or many point on scada . After i finished this project , I start new project about 150 loops , It is stockpreration of pulp and paper .I change lcb01 to lcb05 ( 500 loops) and control by cx-supervisor v2.1 . In cx-programer you will see problem about pid fb. It cannot working complete during change mode from manual to auto and very hard for auto tune. I suggest you chane to lcb 01 and cx-process tool. you will happy.

sathaporn srisawat


Hi!
thanks for your info. The problem is I have only this one complex process (see picture in my firs post).

1) I see only 7 loops all together, and I expect to use only PI method for regulation:
- Humidity controled by humidity sensor (must regulate humidity to humidity set point
- Heating - inlet heating valve controled with the temperature sensor T3 before post heater valve (must regulate this T3 temperature to 16C - no more, no less - constant temperature)
- Cooling - cooling valve controled by the temperature of outlet air T6
- Post heating - post heating valve for each zone regulated by the temperature T4 or T5 to correct the zone temperature
- Damper - damper motor regulated by the temperature T6 to be as economical as can be (use fresh air or "used" air whichever suits better - temperature difference between set value and current value is smallest, but taking in consideration if we are in a cooling process or in a heating process

2) I hope Cx-programmer PID function and TPO function are as good as the FB's you are using in LCB. I intent to restart PID control every 15 minutes and set control period to max 99,99s because HVAC process is generally not so fast - slow changes. As I read restarting PID control is neccessary to change the parameters in a loop if I am going to set parameters dynamically (probably there will not be the need to do this).

3) Also I have no means (money) to use the system you prefere. I am using CJ1M-CPU11-ETN with corresponding I/O units. I am doing this project almost for free, just to push Omron into this object (hospital). The funny thing is I am not even an Omron distibutor or representative :lookingaround:!!

Best Regards, please comment!

#6 DanW

DanW

    instrument guy

  • MrPLC Member
  • PipPipPip
  • 228 posts
  • Gender:Male
  • Location:Midwest, USA
  • Country:United States
    United States

Posted 24 May 2008 - 12:46 PM

I recently ran into a similar situation. I'm a process guy, but a client has an HVAC air handler with a proprietary controller that he wants to replace with COTS control.

So what's the control tactics? I haven't a clue, HVAC isn't my background.

I bought four used HVAC books, to see if I could figure out enough to do tackle the job. The books have arrived in the mail over the past week. Here's a synopsis from a quick overview of each. (I haven't sat down to read any for understanding, yet).

1) Audel's "HVAC Fundamentals" by Brumbaugh.
Strictly residential, no commercial. Not applicable.

2) "HVAC Controls: Design and Application" by John Traister
Either basics like drawing symbols or components themselves, like thermostats, valves, actuators, etc. Not applicable.

3) "Control Systems for Heating Ventilating and Air Conditioning" 4th ed. by Roger W. Haines. 298 pages
Commercial only, no residential. Organized like a text book. Starts with PID. I wouldn't want to learn PID from this brief overview, but at least it shows the book is truly control oriented. Control components take 66 pages, then control systems. Brief descriptions, large number of diagrams of a wide range of control situations. For someone with some controls background, this is where I'll start.

4) HVAC Controls and Systems by Levenhagen and Spethmann, 320 pages
More text, fewer diagrams than Haine's book. Lots of comments drawn from experience, that are not typical in text book. Chapters on Air Handling Units, Terminal units, Heaters and Chilled water supply, distribution systems and Supervisory control.

I'll start with the Haines book and then the Levenhagen book. Both look to have good stuff on HVAC control.

Dan

#7 PdL

PdL

    Propeller Head

  • MrPLC Admin
  • 3022 posts
  • Gender:Male
  • Location:Naarden, NL
  • Interests:Too many...
  • Country:Netherlands
    Netherlands

Posted 24 May 2008 - 03:12 PM

Topic from the General Topics section merged in to this one, OT posts deleted.

#8 pro17

pro17

    Sparky

  • MrPLC Member
  • PipPipPip
  • 64 posts
  • Country:Slovenia
    Slovenia

Posted 26 May 2008 - 02:27 AM

Hi PdL,

I am thinking on using PID function in CJ1M. Please give me some pointers on using PID function in a HVAC system. My worries and thoughts:
1) HVAC processess are slow, so cycle time should be long (99.99s)
2) Using Autotuning PID is not an option, because autotuning is destabilising the system first to get the "right" parameters as it is computing causes and consequences. In a slow system like this I expect autotuning to be a bad choice.
3) I am thinking on using PI only (I saw DDC systems use this methods)
4) Do you have experience in setting P and I parameters for such a system (damper, heating valve, cooling valve, etc...). Please share some values with us.

Thanks!
JinX

#9 PdL

PdL

    Propeller Head

  • MrPLC Admin
  • 3022 posts
  • Gender:Male
  • Location:Naarden, NL
  • Interests:Too many...
  • Country:Netherlands
    Netherlands

Posted 26 May 2008 - 03:32 AM

Hi PdL,

I am thinking on using PID function in CJ1M. Please give me some pointers on using PID function in a HVAC system. My worries and thoughts:
1) HVAC processess are slow, so cycle time should be long (99.99s)

With a coolvalve control we have good experience with sample time in the range of 1-10 sec.
Once the outlet temperature is balanced out, the response time is actually quite fast.

2) Using Autotuning PID is not an option, because autotuning is destabilising the system first to get the "right" parameters as it is computing causes and consequences. In a slow system like this I expect autotuning to be a bad choice.

Not necessarily.

3) I am thinking on using PI only (I saw DDC systems use this methods)

We never use the D action in this application.

4) Do you have experience in setting P and I parameters for such a system (damper, heating valve, cooling valve, etc...). Please share some values with us.

Again these values are not general for every coolvalve or every heating valve. So exact values are useless.
For a cool/heating regulation we use quite a small P band, so strong P action. When starting up you will get some overshoot, but the PV will stabilize more quickly. Combined with the strong P action we use quite a large I action to prevent hunting.

#10 Sleepy Wombat

Sleepy Wombat

    Controls Engineer

  • MrPLC Admin
  • 1960 posts
  • Gender:Male
  • Location:Sydney, NSW
  • Country:Australia
    Australia

Posted 30 May 2008 - 05:13 AM

You do not have to reinitaize the PID instruction in the CJ.. ytou can change P,I & D on the fly... look a bit closer at the instruction.
www.dexa.com.au - Design Engineering Xtreme Automation - DEXA Pty Ltd ** Automating the World Around You **
www.wi-count.com.au - WI-COUNT Wireless Counting Technologies ** Wireless People Counting **





#11 pro17

pro17

    Sparky

  • MrPLC Member
  • PipPipPip
  • 64 posts
  • Country:Slovenia
    Slovenia

Posted 30 May 2008 - 05:37 AM

Uf, I am reading the manual ... page 760 of manual W340-E1-14+CS_CJ_NSJ ....

look at the precautions - see below(taken from the manual):
-----------------------------------------
PID(190) is executed as if the execution condition was a STOP-RUN signal.
PID calculations are executed when the execution condition remains ON for
the next cycle after C+9 to C+38 are initialized. Therefore, when using the
Always ON Flag (ON) as an execution condition for PID(190), provide a separate
process where C+9 to C+38 are initialized when operation is started.

...

Within the PID parameters (C to C+38), the only value that can be changed
while the input condition is ON is the set value for C. If any other value is
changed, be sure to turn the input condition from OFF to ON to enable the
new value. !!!!!!!!!!!!!!!

-----------------------------------------

look at the example - see below (taken from the manual):
-----------------------------------------
At the rising edge of CIO 000000 (OFF to ON), the work area in D00209 to
D00238 is initialized according to the parameters (shown below) set in
D00200 to D00208. After the work area has been initialized, PID control is
executed and the manipulated variable is output to CIO 0020.

When CIO 000000 is turned ON, PID control is executed at the sampling
period intervals according to the parameters set in D00200 to D00208. The
manipulated variable is output to CIO 0020.

The PID constants used in PID calculations will not be changed if the proportional
band (P), integral constant (Tik), or derivative constant is changed after
CIP 000000 turns ON. !!!!!!!!!!!!!!!!!

-----------------------------------------

Please advise me how to interprete this example. As I read it, changing P,I,D constants kicks into effect only after PID function restart. Am I wrong? Maybe I can change P,I and D, but PID constants will only change when cycle time restarts?

#12 Sleepy Wombat

Sleepy Wombat

    Controls Engineer

  • MrPLC Admin
  • 1960 posts
  • Gender:Male
  • Location:Sydney, NSW
  • Country:Australia
    Australia

Posted 02 June 2008 - 09:44 PM

Uf, I am reading the manual ... page 760 of manual W340-E1-14+CS_CJ_NSJ ....

look at the precautions - see below(taken from the manual):
-----------------------------------------
PID(190) is executed as if the execution condition was a STOP-RUN signal.
PID calculations are executed when the execution condition remains ON for
the next cycle after C+9 to C+38 are initialized. Therefore, when using the
Always ON Flag (ON) as an execution condition for PID(190), provide a separate
process where C+9 to C+38 are initialized when operation is started.

...

Within the PID parameters (C to C+38), the only value that can be changed
while the input condition is ON is the set value for C. If any other value is
changed, be sure to turn the input condition from OFF to ON to enable the
new value. !!!!!!!!!!!!!!!

-----------------------------------------

look at the example - see below (taken from the manual):
-----------------------------------------
At the rising edge of CIO 000000 (OFF to ON), the work area in D00209 to
D00238 is initialized according to the parameters (shown below) set in
D00200 to D00208. After the work area has been initialized, PID control is
executed and the manipulated variable is output to CIO 0020.

When CIO 000000 is turned ON, PID control is executed at the sampling
period intervals according to the parameters set in D00200 to D00208. The
manipulated variable is output to CIO 0020.

The PID constants used in PID calculations will not be changed if the proportional
band (P), integral constant (Tik), or derivative constant is changed after
CIP 000000 turns ON. !!!!!!!!!!!!!!!!!

-----------------------------------------

Please advise me how to interprete this example. As I read it, changing P,I,D constants kicks into effect only after PID function restart. Am I wrong? Maybe I can change P,I and D, but PID constants will only change when cycle time restarts?


I only have --- W340-E1-09 - Instruction Ref Manual an earlier version and i found the following...

Bit 1 of C+5 (Control Word + Offset of 5) this is applicable for both the PID and PIDAT (PID with Auto
Tune) functions for the CJ1 / CS1 PLC...

Attached Thumbnails

  • pid.JPG

www.dexa.com.au - Design Engineering Xtreme Automation - DEXA Pty Ltd ** Automating the World Around You **
www.wi-count.com.au - WI-COUNT Wireless Counting Technologies ** Wireless People Counting **





#13 pro17

pro17

    Sparky

  • MrPLC Member
  • PipPipPip
  • 64 posts
  • Country:Slovenia
    Slovenia

Posted 03 June 2008 - 12:42 AM

I only have --- W340-E1-09 - Instruction Ref Manual an earlier version and i found the following...

Bit 1 of C+5 (Control Word + Offset of 5) this is applicable for both the PID and PIDAT (PID with Auto
Tune) functions for the CJ1 / CS1 PLC...


Yes, same in my manual! Thank's a lot! Haven't tested yet.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users