Assignment | : | Systems Programming and Computer Control |
Subject Code | : | CT047-3.5-2-SPCC |
Date Assigned | : | Week 7 |
Date Due | : | Week 14 |
A company has received a contract to design a controller for a Smart Home. A Smart Home is a home fitted with controllers and sensors which permit remote control and automation. The specifications and rules are listed below. Your job is to design a controller using LabVIEW that satisfies all specifications.
Instructions:
- Document your assumptions either in your Document or on the LabVIEW block diagram.
- The assignment requires you to develop a LabVIEW application based on a set of specifications.
- A computer with a standard installation of LabVIEW is the only reference allowed for the assignment. Externally developed code and third party tools are not allowed in the assignment.
- You are to submit your finished application online (Moodle).
- Total time allocated for the assignment is 7weeks
Grading:
The application development assignment consists of a total of 50 points (100%) which are allocated as follows:
Criteria | Points | Percentage % |
Programming style | 15 | 30 |
Functionality | 15 | 30 |
User Interface Design | 5 | 10 |
Conformity to design standards | 5 | 10 |
Documentation | 10 | 20 |
A presentation will follow to allow students to showcase the full functionality of their application. The goal of this presentation is to ascertain that the application submitted is the intellectual product of the student.
The entire assignment contributes 60% to the module total.
IMPORTANT:
- When you have completed the Assignment, submit the assignment document as a PDF Document, and the S/W (along with any other resource) as a Zip file
- Submit the files on Moodle.
Application Development
Section I: General Requirements
The application should:
- Function as specified in Section II of this document.
- Conform to LabVIEW coding style and documentation standards (found in
LabVIEW documentation – LabVIEW Development Guidelines).
- Be created using VIs and functions available in LabVIEW (templates, examples, or code developed outside the core functions of LabVIEW are not acceptable).
- Be hierarchical in nature. All major functions should be performed in sub VIs.
- Use a state machine that either uses a type defined enumerated control, queue, or
Event structure for state management.
- Be easily scalable to add more states / features without having to manually update
the hierarchy.
- Minimize the use of excessive structures, variables (local / global) and Property
Nodes.
- Respond to front panel controls (within 100ms) and not utilize 100% of CPU
time.
- Close all opened references and handles where used.
- Be well documented and include the following:
§ Labels on appropriate wires within the main VI and sub VIs.
§ Descriptions for each algorithm.
§ Documentation in VI Properties » Documentation for both main VI and sub VIs.
§ Tip strip (tool tip) and Description for front panel controls and indicators.
§ Labels for constants.
Section II: Application Requirements Security System
Instructions:
You have been contracted to build a smart home control system for a new housing developer. This smart home system is part of the package for the homeowners.
The developer has provided you with the floor plan of the designs, which are illustrated in Appendix A of this handout.
The system is expected to control the various devices in the house, through TCP/IP connections.
The system is required to have a central control keypad (usually located in the master bedroom and the main entrance to level 0) that will allow the user to key in the master PIN number to gain access to the control system.
Your system is required to interface with a table or database/file to store and retrieve the details of authorised people of the system.
The various devices that are controlled by your system are many, and must include (at minimum) the following:
1. User Management
2. Curtains (open/close)
3. Lights (on/off)
4. Doors (open/close)
5. Airconditioning (Fans and ACs)
All devices in the house are equipped with motors/sensors that allow them to be controlled through a network (TCP/IP).
You are expected to demonstrate creativity in developing the application using a LabView prototype that can deal with the requirements of the developer as well as addressing (if necessary) any other aspects of control of the devices in the house.
Project Requirements
1. You are expected to produce with LabView, a prototype of the control system to be installed in the house. This prototype is required to have an appropriately designed front panel that can provide the user with a clear picture of what the system does.
2. Since this is a prototype, you are not expected to include hardware sensors/motors. You are to simulate the system by having appropriate “software sensors” included in your constructed prototype. However, some research is expected in your documentation that identifies the appropriate type of sensors that can work with the system. The prototype must be designed with this in mind so that actual physical implementation in the future will be easy (prototype modifications must be minimal to accommodate these sensors).
3. As the targeted system is to be built in a networked environment, your system must be designed in two separate modules. The first module will be the main control unit, which will simulate the control keypad, device status (for example, through simple onscreen LEDs) and functions that the system can perform. The second module (a separate LabView) must be created to run on another PC and is to contain the diagrammatic illustration of all device status.
4. Since two modules are to be constructed, a high-level protocol must be built to allow the main module to “interface” (or communicate) with the second module over TCP/IP. Due to the use of TCP/IP, sockets programming is required.
5. You are to work on the prototype individually.
6. You are permitted to make assumptions where necessary. These assumptions are expected to be logical and must be appropriate for the situation at hand.
7. A presentation is required to demonstrate your intellectual property. You are expected to demonstrate how your system can address the requirements of the developer (see “Video Presentation Outline” for reference).
8. The submission of your project should entail the following items:
a. Documentation highlighting the following:
i. How the requirements have been addressed.
ii. System Design.
iii. Protocol Design (for the high-level communication protocol between main module and second module).
iv. What hardware sensors/devices can be implemented and how your prototype has been built to accommodate an easy transition from software-based inputs/outputs to hardware-based inputs/outputs.
b. A user guide that can explain how your system works. This will be based on your system application.
c. The application prototype.
Appendix A – Floor Plan
Individual Assignment (100%)
Marking Criteria
The assignment will contribute 60% towards the entire grade of the Module, as mentioned in the Module Descriptor.
Distinction
Demonstrated comprehensive research with detailed evidence. High level of analysis performed, exceptional and thorough knowledge and understanding displayed with regard to application. This includes analysis and evaluation of facts followed by results of evaluation. Documentation presented in a professional manner, following proper sequencing and flow. Displayed evidence of critical appraisal. High level of listing citation and references.
Credit
Adequate research conducted with fair detail of evidence presented. Moderate level of understanding, analysis and knowledge displayed. Some level of relevance included in terms of application. Moderate level of analysis and evaluation of facts followed by results comparison. Good level of documentation presented. Some level of reflection was evident in the documentation. Moderate level of listing citation and references.
Pass
Low level research conducted. Some evidence of research displayed. Basic level of understanding and knowledge analysis displayed. Satisfactory level of documentation. No evaluation and analysis of facts, no results comparison performed Satisfactory or low level of reflection displayed. Low level of listing citation and referencing.