This package contains examples with step-by-step instructions for how to implement control sequences using the Control Description Language (CDL). The CDL is described at obc.lbl.gov and elementary building blocks are available at Buildings.Controls.OBC.CDL.
The example starts with an open-loop model of a boiler, a simple room and a radiator. In subsequent steps, controllers are added, starting with open loop control and then closed loop control. The tutorial also demonstrates how to add open loop validation tests for the controllers. At the end, you should be able to implement, document and test your own controllers.
The figure below shows the system architecture and the control charts.
The controls intent is as follows:
The overall system shall be switched on if the outdoor temperature is below 16°C and, in addition, the room temperature is below 20°C. It shall be switched off if either the outdoor temperature is above 17°C or the room temperature is above 21°C.
The boiler shall have on/off control that regulates its temperature between 70°C and 90°C.
The three-way valve at the boiler return shall be modulated with a PI controller to track a return water temperature of 60°C.
The heating water supply temperature to the room shall be regulated with a PI controller to be 50°C if the room temperature is 19°C, and 21°C if the room temperature is 21°C.
To explain the implementation of the controllers for this model, the model has been created in the stages described below.
Name | Description |
---|---|
System1 | Open loop model |
System2 | Open loop model with control architecture implemented |
System3 | Open loop model with boiler return temperature control |
System4 | Open loop model with equipment on/off control |
System5 | Open loop model with system on/off control |
System6 | Closed loop model with all controls implemented |
Controls | Package with the controllers used in the tutorial |
BaseClasses | Package that contains the model of the HVAC system and the building load |