Skip to content

Chiller plant sequences#2299

Open
milicag wants to merge 1350 commits intomasterfrom
issue2293_chiller_plant_seq
Open

Chiller plant sequences#2299
milicag wants to merge 1350 commits intomasterfrom
issue2293_chiller_plant_seq

Conversation

@milicag
Copy link
Copy Markdown
Contributor

@milicag milicag commented Dec 8, 2020

@milicag milicag marked this pull request as ready for review December 10, 2020 06:01
@milicag

This comment was marked as outdated.

@JayHuLBL

This comment was marked as outdated.

AntoineGautier

This comment was marked as resolved.

Copy link
Copy Markdown
Contributor

@AntoineGautier AntoineGautier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This feedback is for commit 3f8c79f.

It seems that the remarks from #2299 (comment) have not been addressed.
This is problematic as several bugs were reported.

In addition, the main controller is still incompatible with a large subset of all possible plant configurations. But there is no assert statements in the code to check that the configuration settings are actually supported. So the user can only refer to the documentation of the main controller. This documentation enumerates all subcontrollers and provides for each of them a table showing which configurations are covered. So one must browse through all those tables to deduce which configurations the main controller is actually compatible with.
Furthermore, it appears that some subcontrollers are only valid for primary-secondary configurations (such as Buildings.Controls.OBC.ASHRAE.PrimarySystem.ChillerPlant.Staging.SetPoints.Subsequences.CapacityRequirement--although this is not explicit in the documentation--which uses the secondary CHW return temperature and references §5.2.4.8 from RP1711) while others are only valid for primary-only configurations (such as Buildings.Controls.OBC.ASHRAE.PrimarySystem.ChillerPlant.Pumps.ChilledWater.Controller).

I also have several additional inline remarks, see below.

Comment thread Buildings/Controls/OBC/ASHRAE/PrimarySystem/ChillerPlant/Controller.mo Outdated
Comment thread Buildings/Controls/OBC/ASHRAE/PrimarySystem/ChillerPlant/Controller.mo Outdated
Comment thread Buildings/Controls/OBC/ASHRAE/PrimarySystem/ChillerPlant/Controller.mo Outdated
Comment thread Buildings/Controls/OBC/ASHRAE/PrimarySystem/ChillerPlant/Controller.mo Outdated
Comment thread Buildings/Controls/OBC/ASHRAE/PrimarySystem/ChillerPlant/Controller.mo Outdated
Comment on lines +547 to +553
parameter Real fanSpeMin(unit="1")=0.1
"Minimum tower fan speed"
annotation (Dialog(tab="Cooling Towers", group="Fan speed"));

parameter Real fanSpeMax(unit="1")=1
"Maximum tower fan speed"
annotation (Dialog(tab="Cooling Towers", group="Fan speed"));
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • First parameter only required for water-cooled plants.
  • Second parameter never required as 100% AO from the BAS shall be mapped to maximum speed.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JayHuLBL This remains partially unaddressed in 79f8bfe:

  • fanSpeMax never required as 100% AO from the BAS shall be mapped to maximum speed.

Copy link
Copy Markdown
Contributor

@AntoineGautier AntoineGautier Sep 29, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JayHuLBL This remains unaddressed in 55ea8c5.

Comment thread Buildings/Controls/OBC/ASHRAE/PrimarySystem/ChillerPlant/Controller.mo Outdated
Comment thread Buildings/Controls/OBC/ASHRAE/PrimarySystem/ChillerPlant/Controller.mo Outdated
Comment on lines +928 to +934
Buildings.Controls.OBC.CDL.Interfaces.RealInput TConWatSup(
final unit="K",
displayUnit="degC",
final quantity="ThermodynamicTemperature") if not closeCoupledPlant
"Condenser water supply temperature (condenser entering)"
annotation(Placement(transformation(extent={{-940,-680},{-900,-640}}),
iconTransformation(extent={{-140,-340},{-100,-300}})));
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing condition for type of CT fan speed control.
In pseudo code this should be if have_CWRTControl and not closeCoupledPlant or have_CWSTControl.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JayHuLBL This remains partially unaddressed in 79f8bfe:

  • The condition is now if not closeCoupledPlant and not have_airCoo: does this mean that only CWRT control is implemented? Is this limitation mentioned somewhere?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JayHuLBL The question remains open in 55ea8c5:

  • The condition is now if not closeCoupledPlant and not have_airCoo: does this mean that only CWRT control is implemented? Is this limitation mentioned somewhere?

Comment thread Buildings/Controls/OBC/ASHRAE/PrimarySystem/ChillerPlant/Controller.mo Outdated
Comment thread Buildings/Controls/OBC/ASHRAE/PrimarySystem/ChillerPlant/Controller.mo Outdated
Comment thread Buildings/Controls/OBC/ASHRAE/PrimarySystem/ChillerPlant/Controller.mo Outdated
Comment thread Buildings/Controls/OBC/ASHRAE/PrimarySystem/ChillerPlant/Controller.mo Outdated
Comment thread Buildings/Controls/OBC/ASHRAE/PrimarySystem/ChillerPlant/Controller.mo Outdated
@AntoineGautier

This comment was marked as resolved.

@AntoineGautier

This comment was marked as resolved.

@AntoineGautier
Copy link
Copy Markdown
Contributor

AntoineGautier commented Feb 27, 2023

For reference, I am tracking here another suspected bug as discussed on 2/3/23.
The issue is within Controls.OBC.ASHRAE.PrimarySystem.ChillerPlant.Pumps.ChilledWater.Controller where a pre block is used to check with intEqu4 the pump proven ON status (i.e. enable command equals pump status). However, in the validation model Controls.OBC.ASHRAE.PrimarySystem.ChillerPlant.Pumps.ChilledWater.Validation.Controller the pump status passed in as input to heaNoLoc is also computed using a pre block (enaStaRet). So inside the controller, intEqu4 should always return true as it basically compares pre(heaNoLoc.yChiWatPum) to heaNoLoc.uChiWatPum which is connected to pre(heaNoLoc.yChiWatPum).
I slightly modified the validation model (attached) to exhibit what I think is an incorrect response of the controller. See the plot below:
image
Controller.mo.txt

[EDIT on 1/20/25] On commit f1e3de2, the issue seems to persist with the staging logic for headered pumps. The validation model Controls.OBC.ASHRAE.PrimarySystem.ChillerPlant.Pumps.ChilledWater.Validation.Controller shows that only the lead pump is enabled. The lag pumps remain disabled (even when reducing the frequency of the source signal for the CHW flow rate to ensure that the minimum runtime before triggering stage change has been reached). Consider refactoring by simply computing the stage up and stage down command signals and using Templates.Plants.Controls.Utilities.StageIndex which is a generic implementation of the stage index evaluation that also accounts for unavailable stages.

[EDIT on 9/29/25] @JayHuLBL There still seems to be an issue with the primary CHW pump staging logic in commit 55ea8c5. The validation model Controls.OBC.ASHRAE.PrimarySystem.ChillerPlant.Pumps.ChilledWater.Validation.Controller shows that only the first lag pump (#1) is enabled. The second lag pump (#3) is never enabled despite the primary flow ratio exceeding 2/3 - 0.03 for more than 10'.

image

@AntoineGautier AntoineGautier mentioned this pull request Feb 28, 2023
5 tasks
@mwetter mwetter added this to the Release 10.0 milestone Mar 8, 2023
@AntoineGautier

This comment was marked as resolved.

@mwetter mwetter modified the milestones: Release 10.0, Release 11.0 Sep 5, 2023
@AntoineGautier

This comment was marked as resolved.

Copy link
Copy Markdown
Contributor

@AntoineGautier AntoineGautier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you fix the remaining comments?
I will then test the controller with the CHW plant template and validate the functional aspects.

annotation (Placement(transformation(extent={{920,70},{960,110}}),
iconTransformation(extent={{100,-110},{140,-70}})));

Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput y1ChiWatIsoVal[nChi]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has been changed from real (in 55ea8c5) to Boolean: why?
G36 4.10.1:

A modulating valve is recommended on primary-only variable flow systems to allow for slow changes in flow during chiller staging.

Ideally, the type of valve should be specified by a configuration parameter.
If only a single choice is supported, it should be real (because the controller only supports primary-only plants) and it should be stated in the controller documentation.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added the position setpoint output yChiWatIsoVal.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But these are mutually exclusive, you can't have both like now:

  Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput y1ChiWatIsoVal[nChi]
    "Chilled water isolation valve position commanded on"
    annotation (Placement(transformation(extent={{920,-50},{960,-10}}),
      iconTransformation(extent={{100,-170},{140,-130}})));

  Buildings.Controls.OBC.CDL.Interfaces.RealOutput yChiWatIsoVal[nChi](
    final min=fill(0, nChi),
    final max=fill(1, nChi),
    final unit=fill("1", nChi))
    "Chilled water isolation valve position setpoint"
    annotation (Placement(transformation(extent={{920,-80},{960,-40}}),
      iconTransformation(extent={{100,-190},{140,-150}})));

Either

  • introduce a configuration parameter to select between the two, defaulting to "modulating" for variable primary-only plants as recommended in G36, or
  • keep only modulating as this is the recommended option.

Comment on lines +928 to +934
Buildings.Controls.OBC.CDL.Interfaces.RealInput uChiWatIsoVal[nChi](
final min=fill(0, nChi),
final max=fill(1, nChi),
final unit=fill("1", nChi))
"Chilled water isolation valve position"
annotation(Placement(transformation(extent={{-940,-188},{-900,-148}}),
iconTransformation(extent={{-140,-100},{-100,-60}})));
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This input only makes sense for modulating CHW isolation valves.
But now the controller only supports 2-position valves (see comment on y1ChiWatIsoVal).
And even for modulating valves, this input should be optional per G36 4.10.1:

Retain the following points for optional analog valve position feedback.

Reiterating my comment on 55ea8c5:

Image

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The input is now removed and replaced by the position setpoint.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you keep the choice between modulating and two-position valves (see previous comment), you must also have the two options as inputs: AI or DI

  • mutually exclusive depending on a configuration parameter "two-position or modulating valve", and
  • both optional depending on another configuration parameter such as "true for valves with position feedback or open/close end switch status (whichever applies)"

Comment thread Buildings/Controls/OBC/ASHRAE/G36/Plants/Chillers/Controller.mo Outdated
Comment thread Buildings/Controls/OBC/ASHRAE/G36/Plants/Chillers/Controller.mo Outdated
Comment thread Buildings/Controls/OBC/ASHRAE/G36/Plants/Chillers/Controller.mo
Comment thread Buildings/Controls/OBC/ASHRAE/G36/Plants/Chillers/Controller.mo Outdated
@JayHuLBL
Copy link
Copy Markdown
Contributor

@AntoineGautier The new comments have been addressed in the c74154b. Would you please review it?

@AntoineGautier
Copy link
Copy Markdown
Contributor

AntoineGautier commented Mar 26, 2026

@JayHuLBL Thanks for the updates. See my comments above.

I have a little request: can you modify the following parameter declarations with an unknown size array and rather check the size with an assert statement at initialization? With the current syntax and when these parameters are propagated as in the template, Dymola painfully attempts to check the size at compile time and fails, yielding a translation error.

parameter Integer staMat[:, nChi]  // change to parameter Integer staMat[:, :]
parameter Integer conWatPumStaMat[nPlaSta, nConWatPum]  // change to parameter Integer conWatPumStaMat[:, :]

In addition, simulating the plant template with the latest changes (commit 4d3e9d9) yields

  • incorrect chiller staging: plant stage transitions to 2 without chiller #2 being enabled
  • incorrect pump staging: primary CHW pump #1 gets disabled and immediately re-enabled
Screenshot 2026-03-26 at 10 50 48

@JayHuLBL
Copy link
Copy Markdown
Contributor

JayHuLBL commented Apr 8, 2026

@AntoineGautier
I changed the matrix to have unknown size, and added the assertions. The sequence is also updated.
Would you please review it?

Copy link
Copy Markdown
Contributor

@AntoineGautier AntoineGautier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JayHuLBL Please see my comments.

In addition, with the latest changes in the controller, the template validation model Buildings.Templates.Plants.Chillers.Validation.WaterCooled in e4f86df exhibits some staging issues.

  • When the plant transitions from stage 1 to 2, it takes 6 h for the lag chiller to be enabled.
  • When the plant transitions back from stage 2 to 1, it takes 2 h for the lag chiller to be disabled.
Image

Comment thread Buildings/Controls/OBC/ASHRAE/G36/Plants/Chillers/Controller.mo Outdated
Comment thread Buildings/Controls/OBC/ASHRAE/G36/Plants/Chillers/Controller.mo Outdated
Comment thread Buildings/Controls/OBC/ASHRAE/G36/Plants/Chillers/Controller.mo Outdated
Comment thread Buildings/Controls/OBC/ASHRAE/G36/Plants/Chillers/Controller.mo Outdated
Comment thread Buildings/Controls/OBC/ASHRAE/G36/Plants/Chillers/Controller.mo Outdated
Comment thread Buildings/Controls/OBC/ASHRAE/G36/Plants/Chillers/Controller.mo Outdated
Comment thread Buildings/Controls/OBC/ASHRAE/G36/Plants/Chillers/Controller.mo Outdated
Comment thread Buildings/Controls/OBC/ASHRAE/G36/Plants/Chillers/Controller.mo Outdated
Comment thread Buildings/Controls/OBC/ASHRAE/G36/Plants/Chillers/Controller.mo Outdated
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both OCT and OMC fail to compile this model: has it been investigated?

Error in flattened model:
    A when-guard is involved in an algebraic loop, consider breaking it using pre() expressions. Equations in block:
temp_00000024 = if chiPlaCon.staSetCon.cha.reaToInt.u - 0.5 <= pre(temp_00000024) - 1 or chiPlaCon.staSetCon.cha.reaToInt.u - 0.5 > pre(temp_00000024) or initial() then ceil(chiPlaCon.staSetCon.cha.reaToInt.u - 0.5) else pre(temp_00000024)
temp_00000025 = if temp_00000024 < pre(temp_00000025) or temp_00000024 >= pre(temp_00000025) + 1 or initial() then integer(temp_00000024) else pre(temp_00000025)
temp_00000026 = if chiPlaCon.staSetCon.cha.reaToInt.u + 0.5 < pre(temp_00000026) or chiPlaCon.staSetCon.cha.reaToInt.u + 0.5 >= pre(temp_00000026) + 1 or initial() then floor(chiPlaCon.staSetCon.cha.reaToInt.u + 0.5) else pre(temp_00000026)
temp_00000027 = if temp_00000026 < pre(temp_00000027) or temp_00000026 >= pre(temp_00000027) + 1 or initial() then integer(temp_00000026) else pre(temp_00000027)
chiPlaCon.staSetCon.cha.and4.u2 = not chiPlaCon.staSetCon.yDow
chiPlaCon.staSetCon.cha.and4.y = chiPlaCon.staSetCon.yUp and chiPlaCon.staSetCon.cha.and4.u2
chiPlaCon.staSetCon.cha.switch1.y = smooth(0, if chiPlaCon.staSetCon.cha.and4.y then chiPlaCon.staSetCon.cha.intToRea1.y else chiPlaCon.staSetCon.cha.intToRea.y)
chiPlaCon.staSetCon.cha.staChaHol2.not_u = not chiPlaCon.staSetCon.cha.or1.y
temp_00000135 = chiPlaCon.staSetCon.cha.staChaHol2.not_u and not pre(chiPlaCon.staSetCon.cha.staChaHol2.not_u)
temp_00000134 = chiPlaCon.staSetCon.cha.or1.y and not pre(chiPlaCon.staSetCon.cha.or1.y)
chiPlaCon.staSetCon.cha.staChaHol1.not_u = not chiPlaCon.staSetCon.cha.and1.y

@JayHuLBL
Copy link
Copy Markdown
Contributor

JayHuLBL commented Apr 9, 2026

@JayHuLBL Please see my comments.

In addition, with the latest changes in the controller, the template validation model Buildings.Templates.Plants.Chillers.Validation.WaterCooled in e4f86df exhibits some staging issues.

  • When the plant transitions from stage 1 to 2, it takes 6 h for the lag chiller to be enabled.
  • When the plant transitions back from stage 2 to 1, it takes 2 h for the lag chiller to be disabled.
Image

The staging process takes long time is due to the check of the chilled water flow reaching the new setpoint as below:
Screenshot 2026-04-09 at 3 58 42 PM

In the subsequence Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Staging.Processes.Subsequences.ResetMinBypass, it checks if it achieves the new setpoint.

By adjusting the parameter relFloDif will be able to avoid the issue.

@AntoineGautier
Copy link
Copy Markdown
Contributor

AntoineGautier commented Apr 10, 2026

@JayHuLBL Please see my comments.
In addition, with the latest changes in the controller, the template validation model Buildings.Templates.Plants.Chillers.Validation.WaterCooled in e4f86df exhibits some staging issues.

  • When the plant transitions from stage 1 to 2, it takes 6 h for the lag chiller to be enabled.
  • When the plant transitions back from stage 2 to 1, it takes 2 h for the lag chiller to be disabled.
Image

The staging process takes long time is due to the check of the chilled water flow reaching the new setpoint as below: Screenshot 2026-04-09 at 3 58 42 PM

In the subsequence Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Staging.Processes.Subsequences.ResetMinBypass, it checks if it achieves the new setpoint.

By adjusting the parameter relFloDif will be able to avoid the issue.

Then there is an issue with the logic to check that "the new setpoint is achieved".
The CHW minimum flow bypass valve should modulate to ensure that the minimum flow setpoint is met, and it should not take hours to do that.
Looking at Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Staging.Processes.Subsequences.ResetMinBypass I can see the issue.

  parameter Real relFloDif=0.01
    "Relative error to the setpoint for checking if it has achieved flow rate setpoint"
    annotation (Dialog(tab="Advanced"));
  Buildings.Controls.OBC.CDL.Reals.GreaterThreshold greThr(
    final t=0.5*relFloDif,
    final h=0.5*relFloDif)
    "Check if chiller water flow rate achieves the minimum flow setpoint"
image

So the check is true if VChiWat_flow > VMinChiWat_setpoint + 0.5 * relFloDif.
This is incorrect:

  • The parameter relFloDif is not a relative error to the setpoint as declared, it's absolute.
  • We need a relative tolerance below the exact match, not above, to allow for a residual control or measurement error. If we're at 95 % of setpoint, we should be good to go.

Other minor issues found in that block:

  1. "resetted" → "reset" (appears twice)

  2. "chiller water" → "chilled water" in VMinChiWat_setpoint description

  3. Wrong parameter name in documentation: The doc says "wait for 1 minute (<code>byPasSetTim</code>)" but the 1-minute wait is actually aftByPasSetTimbyPasSetTim is the bypass reset time constant.

  4. "set point" vs "setpoint": The doc uses "new set point" while the rest of the code uses "setpoint" consistently.

@JayHuLBL
Copy link
Copy Markdown
Contributor

@AntoineGautier Thanks!
The flow rate check has been changed to:
Screenshot 2026-04-13 at 4 29 06 PM

@AntoineGautier
Copy link
Copy Markdown
Contributor

AntoineGautier commented Apr 15, 2026

@JayHuLBL Great! That solves the chiller staging issue, although I would have implemented that simply by checking VChiWat_flow > (1 - relFloDif) * VMinChiWat_setpoint – using only 2 blocks instead of 4.

In 8296435, I've tested the controller for a plant with a WSE and modulating CHW bypass valve, using the model Templates.Plants.Chillers.Validation.WaterCooled.
I noticed several issues:

  • The chiller load uChiLoa used by Controls.OBC.ASHRAE.G36.Plants.Chillers.Towers.FanSpeed.EnabledWSE.Subsequences.IntegratedOperation to calculate the tower fan speed is incorrect.
    It is calculated at the top level of the plant controller using (TChiWatRet - TChiWatSup) * VChiWat_flow * rho * cp.
    Instead it should be calculated for each chiller, based on the CHWT entering and leaving the chiller, and with the chiller CHW flow rate: see G36 Section 5.20.16.5 for the details.
    (Ideally, this calculation should be done inside a component, not by instantiating CDL elementary blocks at the top level of the plant controller.)
    In the current implementation, the chiller load includes the WSE load, yielding 100 % tower fan speed, and preventing the plant from staging down to WSE-only mode.
  • The primary CHW pump enable signal does not satisfy the minimum runtime requirement at around 8.9 h:
    image
  • The CHWST setpoint shows a discontinuity at the same time:
    image

@JayHuLBL
Copy link
Copy Markdown
Contributor

@AntoineGautier

  • For the flow rate check, using the VChiWat_flow > (1 - relFloDif) * VMinChiWat_setpoint will require the Buildings.Controls.OBC.CDL.Reals.Greater and it will need the hysteresis which should be the absolute flow rate. I think keeping current implementation will ensure the hysteresis using the relative rate.

  • For the chiller load in Towers.FanSpeed.EnabledWSE.Subsequences.IntegratedOperation, if the load should be for each chiller, like descibed in section 5.20.16.5, how can we decide the WseTower-MaxSpeed according to 5.20.12.c.1: "WseTower-MaxSpeed shall be reset by a direct acting PID loop maintaining the chiller load at 110% of the sum of MinUnloadCapX values for the operating chillers. Map WseTower-MaxSpeed from minimum speed at 0% loop output to 100% speed at 100% loop output. Bias the loop to launch from 100% output."?
    Should it be "...... by a direct acting PID loop maintaining the sum of chiller load at 110% of the sum of MinUnloadCapX values for the operating chillers......"?

  • Other two issues were addressed in commit 1eea516.

@AntoineGautier
Copy link
Copy Markdown
Contributor

AntoineGautier commented Apr 16, 2026

@JayHuLBL

by a direct acting PID loop maintaining the sum of chiller load

Yes, exactly. This is the most generic and precise way.
I agree that it would be simpler to calculate the total chiller load, using e.g. the CHW return temperature after WSE. But I don't see where that's specified in G36.
The important part is to use the chiller entering CHW temperature, not the plant return temperature as currently implemented. When using the latter, the computed load includes the WSE so you're guaranteed to have a tower fan speed maxed out throughout any period when the WSE is enabled with any chiller.

image

(Thanks for the clarification about the absolute hysteresis when using Greater. And the changes from 1eea516 effectively solve the previously reported discontinuities.)

@AntoineGautier
Copy link
Copy Markdown
Contributor

AntoineGautier commented Apr 16, 2026

@JayHuLBL
⚠️ I've just noticed another important issue for plants with WSE.
The chiller CHW bypass valve is commanded open while the chillers are enabled.
This should never happen. Currently, the chillers get bypassed during WSE operation and the CHWT setpoint is never met!
(There's also a typo in the description of that variable: "Ecnomizer-only chiller water bypass valve enable command")

image

[EDIT] @JayHuLBL Looking in greater detail at the staging events, there seems to be some remaining "glitches" to fix (this is from Buildings.Templates.Plants.Chillers.Validation.WaterCooled in efed151):
image

  • The plant is enabled is WSE-only mode but when transitioning to stage 1 the WSE bypass valve is suddenly open before being closed again: is it as specified in G36?
  • After transitioning to stage 1, it takes 23' for the chiller CHW isolation valve to be commanded open: why?
  • When the lead chiller is finally enabled the CHW isolation valve command quickly transition from open to close! and then from close to open again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status
Status: In progress

Development

Successfully merging this pull request may close these issues.

Chiller plant sequences

6 participants