A HIGH-LEVEL WASHING MACHINE CONTROLLER
You are required to carry out the design and C# programming of a controller for the following simplified washing machine
THE WASHING MACHINE DESCRIPTION AND REQUIREMENTS SPECIFICATION
The elements of the washing machine that are relevant to this coursework are shown in Fig.1.
Fig.1 Essential washing machine components
After the User has inserted the clothesand detergent and then closed the door, the wash cycle has five stages:
1. Lock door
2. Wash
3. Rinse
4. Spin
5. Unlock door
Assume that the detailed operation of the washing machine within the Wash, Rinse and Spin stages is controlled by specialised ‘local' controllers that only need to be started and/or stopped by your high level controller. For example, heating of the water and the repeated backward and forward motor rotation during the wash stage are assumed to be controlled by local controllers. Your controller has to coordinate the local controllers with the operation of the inlet and outlet water valves.
Your controller also has to provide the User Interface (UI)
The User can select any one of three maximum water temperatures (30.0, 40.0, 60.0 deg.C) for the wash stage.
The User can select any one of three maximum motor speeds (600.0, 800.0, 1200.0RPM) for the spin stage
The UI must allow the User to start the wash cycle and also cancel the wash cycle during any stage
If the User cancels the cycle, your controller must ensure that the water inlet valve is closed and the water outlet valve is open, allowing water to drain from the drum before unlocking the door
The UI must provide feedback that is appropriate for a consumer product to the User during all stages of the wash cycle
LOCAL CONTROLLERS
This section provides important information about the wash cycle.
Wash
Before starting:
- Requires door locked
- Requires water temperature to be set
- Requires inlet valve open
- Requires outlet valve closed
During wash:
- Can report wash in progress
- Stops automatically if not interrupted by cancel
- Can be stopped if the User cancels the wash cycle
Rinse
Before starting:
- Requires door locked
- Requires inlet valve open
- Requires outlet valve closed
During rinse:
- Can report rinse in progress
- Stops automatically if not interrupted by cancel
- Can be stopped if the User cancels the wash cycle
Spin
Before starting:
- Requires door locked
- Requires spin speed to be set
- Requires inlet valve closed
- Requires outlet valve open
During spin:
- Can report spin in progress
- Stops automatically if not interrupted by cancel
- Can be stopped if the User cancels the wash cycle
Door
Before unlocking:
- Requires inlet valve closed
- Requires outlet valve open