Design and Implementation Project
Chilled Water Air Conditioning System

Introduction

Your team is responsible for designing and implementing the controller for the compressor unit of a chilled water air conditioning system. A system diagram is given below.

Room air is cooled by passing it through a set of air transfer units. As the air moving through the transfer unit it passes over a set of cooling coils. Chilled water flows through these coils extracting heat from the passing air. This heats the water slightly which then returns to the chiller and passes through a series of two intercoolers. The intercoolers have refrigerant pumped through them by the compressor motor. The water is then cooled by heat transfer to the circulating refrigerant. A sensor measures the temperature of the water return. The controller you are designing attempts to maitain this temperature in the range 7.0 to 7.5 degrees C.

Temperature Control

There are two ways in which your controller maintains the desired setpoint temperature for the chilled water return. One control is whether one or both intercoolers are in use. There are chiller control valves that direct refrigerant to an intercooler when it is needed for cooling. The second control mechanism is energizing compressor loaders that can reduce the compressing and chilling of the refrigerant. An operating characteristic known as the system loading determines what combination of intercoolers and compressor loaders are needed at any given time. Loading is stated as a percentage of chiller capacity from 0 to 100%. Loading is computed based on the measured return water temperature. The following table indicates the relationship between return water temperature and system loading.

Return Water temperature
(degrees C)
System Load
(percent)
temp < 7.5
0%
7.5 <= temp < 8.0
25%
8.0 <= temp < 8.5
50%
8.5 <= temp < 9.0
75%
9.0 <= temp
100%

Based on the system loading your controller will use the following combination of units to chill the circulating water.

System Load
0%
25%
50%
75%
100%
Chiller 1
D
E
E
E
E
Chiller 2
D
D
D
E
E
Loader 1
D
E
D
D
D
Loader 2
D
E
E
D
D
Loader 3
D
E
E
E
D
D = de-energized; E = energized

The temperature control loop should run with a period of 1 second. Your controller must observe constraints on system loading and unloading. The controller can not ramp up from 25% to 100% control output in less than one minute. Similarly, ramping down from 100% to 25% control output should not be done in less than one minute. Intermediate steps have proportional constraints, i.e. the system should not change control output at a rate faster than 20 seconds.

Alarm System

There are two alarm indicators provided in the sytem: below 25% loading, low compressor oil pressure. If the loading or oil pressure alarm occur the compressor motor must be tripped out. Since when the compressor starts it does not have oil pressure until it is running the oil pressure alarm must be inhibited for the first 20 second after start-up of the compressor. Alarm indicators stay on until they are manually cancelled. The alarm cancel function will reset the indicators for all alarms that are clear. If an alarm has not been cleared its indicater will not be reset. Alarm updating is done with a period of 0.5 seconds.

Plant Start-up Sequencing

There are sequencing requirements that your controller must maintain during plant start-up. These requirements are:

  1. The plant can be started only if it is in plant reset, both alarms are clear, and the start function is activated.
  2. The plant will start at the 25% loading condition.
  3. Starting the plant energizes the compressor motor.
  4. The plant is shut-off by selecting the compressor trip function. Once tripped the plant enters plant reset.
  5. When in plant reset the system valves are set for 0% loading.

User Interface Requirements

You will also implement a control panel that shows complete system status and provides controls for system start-up and shut-down. As part of the simulation of this system you will implement a sensor panel that allows the user to specify values for all sensor inputs: return water temperature and oil pressure status.

Non-functional Requirements

  1. The system will be implemented in Java.
  2. You will create a statechart to define the behavior of the controller. This statechart will drive the implementation. Part of the design documentation will describe how this was accomplished. A window that can be optionally viewed will display the current active states in the statechart.
  3. The program code, both source and class files, will be submitted in a single executable jar file. The program will be started from the command line using the command: java -jar chiller.jar.

Presentation

Several groups will make a presentation of their work on the day that it is due.  At a minimum, this presentation should discuss:

Submission Instructions

There are three major elements in the submission: design documentation, working implementation and presentation.  The design documentation will be a single Word file that contains at a minimum the following information:

You should follow the heuristics that the textbook author provides for creating good diagrams.  This will require you to structure your diagrams into several diagrams at various abstraction levels and covering different aspects of the system.  You may create a class diagram that is associated with one particular sequence diagram or have a class diagram that shows an inheritance structure and use only the common ancestor in other diagrams.  The diagrams, particularly the statecharts and sequence diagrams will not be able to stand alone without some textual description to guide the reader.

The submission will be a single zip file containing three files: Word design document, executable jar file, and PowerPoint presentation file.  Submit the zip file to the Water Chiller design dropbox in the myCourses Collaborative files area before the submission time your instructor designates.