Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question
2

Chiller on/off control based on OA temperature

asked 2014-11-10 10:09:44 -0500

Taherian's avatar

updated 2017-05-17 12:43:55 -0500

I would like to know how you turn off chiller when OA temperature is below a certain set value.

edit retag flag offensive close merge delete

Comments

@Taherian What simulation tool are you using?

Neal Kruis's avatar Neal Kruis  ( 2014-11-10 10:59:55 -0500 )edit

OpenStudio application

Taherian's avatar Taherian  ( 2014-11-10 11:10:15 -0500 )edit

I added the "openstudio" tag. This is important since Unmet Hours is used for other simulation tools as well.

Neal Kruis's avatar Neal Kruis  ( 2014-11-10 11:40:23 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted
5

answered 2014-11-13 15:03:36 -0500

updated 2014-11-25 12:38:44 -0500

I have done this before using an EnergyPlus Measure that I scripted that created an AvailabilityManagerAssignmentList object and AvailabilityManager:LowTemperatureTurnOff object. The AvailabilityManagerAssignmentList object references the AvailabilityManager:LowTemperatureTurnOff object where you specify a node (outside air node in this case) and the temperature at which the system turns off. I also had to modify the the Chilled Water Loop object to reference the correct Availability Manager list. I know creating your own measures isn't ideal but if you are new at this, I recommend looking at the OpenStudio Measure Writing Guide. Of course this can all be done outside of OpenStudio as well.

Based on a comment request, here is a snippet of an example to apply the measure.

First I create the two Availability Manager objects I need for the measure:

new_plant_loop_availabilitymanagerlist_string = "
  AvailabilityManagerAssignmentList,
    Plant Loop Availability Manager List, !- Name
    AvailabilityManager:LowTemperatureTurnOff,          !- Availability Manager Object Type 1
    Plant Loop Availability Manager;             !- Availability Manager Name 1
    "

#make new object from string
idfObject = OpenStudio::IdfObject::load(new_plant_loop_availabilitymanagerlist_string)
object = idfObject.get
wsObject = workspace.addObject(object)
new_plant_loop_availabilitymanagerlist = wsObject.get

new_plant_loop_availabilitymanager_string = "
  AvailabilityManager:LowTemperatureTurnOff,
   Plant Loop Availability Manager, !- Name
    Plant Systems OA Node,          !- Sensor Node Name
    40;             !- Temperature (C)
    "

#make new object from string
idfObject = OpenStudio::IdfObject::load(new_plant_loop_availabilitymanager_string)
object = idfObject.get
wsObject = workspace.addObject(object)
new_plant_loop_availabilitymanager = wsObject.get

Second I get the Plant Loop I want to apply the measure to, in this case, Plant Loop. I then get that Plant Loop object and change the string for the 19th input, which is the input for the Availability Manager List Name, to my new Availability Manager List that I had created above:

#get Plant Loops in model
plant_loops = workspace.getObjectsByName("Plant Loop")

plant_loops.each do |plant_loop|
  plant_loop.setString(19,"Plant Loop Availability Manager List") # Availability Manager List Name
end

Hopefully I didn't leave anything out but this should get you an idea of how you can apply it to your model.

edit flag offensive delete link more

Comments

I am very new to writing measures. Would you have any insight in how to get from what you link to above to an openstudio or energy plus measure. The openstudio measures guide is not really that informative for this kind of case.

Currently I have an openstudio measure with user inputs for the chiller system, the node for OA air, and the override schedule. I am stuck as to how to move forward on applying the AvailabilityManager:LowTempratureTurnOff in the measure.

baum's avatar baum  ( 2014-11-22 21:18:51 -0500 )edit

It seems I was on the right track was just missing the method for adding to the plant loop. I have implemented this code using an enerygplus measure but when it runs in openstudio I receive an error message. [utilities.idf.WorkspaceObject] <0> Object of type 'AvailabilityManagerAssignmentList' and named 'Plant Loop Availability Manager List', points to an object named Plant Loop Availability Manager from field 2, but that object cannot be located. When I check the error output files the model is failing to run due to the name plant loop availability manager being deleted.

baum's avatar baum  ( 2014-11-24 17:21:35 -0500 )edit

Plant Loop Availability Manager should be the name of the AvailabilityManager:LowTemperatureTurnOff object that is created with the second string above and should not be deleted.

Matt Larson's avatar Matt Larson  ( 2014-11-25 11:53:57 -0500 )edit

It seems that openstudio is attempting to check for the Plant Loop Availability manager before the script has a chance to add it. Is there some way to force it to wait till the script is completed before it checks?

baum's avatar baum  ( 2014-11-25 12:35:06 -0500 )edit

I just realized that I copied the order of objects incorrectly above. I had the string being defined after making it into an object for the Plant Loop Availability Manager name object. I've fixed this above so you can recopy or compare to the previous code. Sorry about that!

Matt Larson's avatar Matt Larson  ( 2014-11-25 12:41:30 -0500 )edit
2

answered 2014-11-13 14:17:04 -0500

I saw no one had answered you so I thought this might help. I am not 100% sure about in OpenStudio but if you put it into EnergyPlus you could possibly use the setpointManager:OutdoorAirReset or SetpointManager:FollowOutdoorAirTemperature (I have only used this with the cooling tower so I am not sure it would work with the chiller but it is probably worth a try). As EnergyPlus is the engine for OpenStudio this might appear where you add setpoints to your system. Otherwise you could pull your model out of OpenStudio and run it in EnergyPlus adding this setpoint to your chiller. I am not sure either are perfect but they might help.

edit flag offensive delete link more

Comments

Thanks Annie. I will try that.

Taherian's avatar Taherian  ( 2014-11-13 14:42:53 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Careers

Question Tools

3 followers

Stats

Asked: 2014-11-10 10:09:44 -0500

Seen: 1,276 times

Last updated: Nov 25 '14