Course Outline: Virtual Instrumentation
OPSE 610
Instructor: Dr. Gelu M. Nita, Office: 403T, x3437; email: gnita@njit.edu
Office Hours: Tuesday and Thursday 10:00-11:30am, or by appointment
Course Description: Intended for all engineering, computer science, and science majors. Covers the basics of virtual instrumentation including use of IEEE GPIB, RS232 interfaces, and data acquisition boards. Interfacing of a computer to various instruments for data acquisition and instrument control using a state-of-the-art software platform such as National Instrument's LABVIEW. Emphasis is on the practical aspects of interfacing a computer to various instruments including timing issues, real-time data acquisition and instrument control, instrument status, and acquisition speed.
Course Materials: LabVIEW 8 Student Edition
Robert H Bishop, The University of Texas at Austin
ISBN-10: 0131999184
ISBN-13: 9780131999183
Note: The laboratory manual will be distributed in class or via the World Wide Web. OPSE 610 web address:
OPSE Lab Open Hours: OPSE lab (642-4956) will be open during Monday 11:30-1pm and Weds. 2:30-4pm or by appointment.
Prerequisites: a 3 credit CIS programming course.
Assignments: You are responsible for all weekly reading and homework assignments listed in this outline. The reading should be completed BEFORE class each week. Homework assignments must be turned in BEFORE the beginning of class each week. (For example, the homework from Week 1 is due before the first class of Week 2.) All homework assignments must be submitted via an attached email to me. You may WINZIP the files if necessary. Any files that are infected with a virus will not be accepted. Each student must turn in via email individual assignments. Group assignments will not be accepted.
For some classes, you will have "Exercises" due. The Exercises are shorter and less involved than Lab assignments and in most cases, they form the basis of a Lab VI which you would be writing shortly. Exercises are due at the end of class for which they are assigned. If you do not attend the class, you will not be permitted to submit the exercises. One purpose of the exercises is to BOOST your grade. You should not miss them.
Exams: No written examinations will be given. Instead a Final Project will be submitted.
Grades: Final Project each count as 1/4 of grade. Homework count as 1/4 of the grade. Labs/ Exercises count collectively as 1/2 of your grade (with Exercises worth only 50% of a lab grade). Grades of below 72% will generally considered to be failing. Note: Failing grade in graduate school is "C" and below. Grades will be posted once a month on the course web page. If there is a discrepancy in the grades, you must notify the course instructor within one week of their posting. After the one week "grace" period, past grades will not be adjusted.
Late Assignments/ Missing Assignments: Occasionally, assignments get "lost" in the email system or are turned in late, or (at the discretion of the grader) are submitted for a re-grade. It is the student's responsibility to maintain copies of all email submissions and return emails with grades. It is the student's responsibility to check the course web page for inaccuracies in reported grades. After the "grace" period has expired, late/ missing/ re-graded etc. assignments will not be accepted.
Honor Code: For this course, the NJIT Honor code will be upheld. Any violations will be brought to the attention of the Dean of students. It is expected (but not required) that students will help each other with the course assignments. However, if two or more students turn in nearly identical work (ie. plagiarism), the students will all receive a zero score for the assignment and they will be referred to the Dean of Students. You can share ideas, but do NOT share code. If you use someone else's code (with the exception of sample problems from the class notes or textbook), you MUST cite the source of the code. Otherwise, you are plagiarizing.
Grade Scale: (1000 points Max)
1000> | A | >880 |
880> | B+ | >820 |
820> | B | >760 |
760> | C+ | >720 |
720> | C | >650 |
650> | D | >500 |
500> | F |
Syllabus
Students will be consulted with by the instructor and must agree to any modifications or deviations from the syllabus throughout the course of the semester.
Week | Topic | Lab Assignment | Reading/ HW exercises |
1 | The LabVIEW Programming Environment -Controls/ Indicators | Exercise 1 (PDF) | Read: Chpt 1, 2 HW Problems: E2.2, P2.2, P2.3, P2.4, P 3.1 |
2 | Programming Structures and
Examples Autoindexing Creating Subvi's Debugging Timing issues (counters) |
Exercise 2 (PDF) | Read Chpt. 3, 4, 5 HW Problems: Get this VI working, This is a WINZIPPED file with the main VI and several subroutines too. P4.1, P4.3, E 5.3, P5.3, P5.5 |
3 | Importing pictures Global/ local variables. Arrays, Clusters |
Lab 3 | Read Chpt 6,
LFE:
p371-387 P6.2, P6.4, P6.5 |
4 | GPIB setup/ IBIC 488 vs. 488.2 commands Strings |
Exercise 3 | Read Chpt 9,10,
LFE:
Chpt 11 p354-359
Lock-in Manual, (PDF Format) |
5 | GPIB serial poll byte. Timing of VI's Testing Device Status, File I/O |
Lab 4 (cont). | Do HW#5 |
6 | RS 232 | Lab 5 | LFE: Chpt. 11 p359-364 |
7 | RS 232 | Exercise 6, Lab 6 |
Read Chpt 7 SEL: P7.1, P7.2 |
8 | Attribute nodes (graphs), Saving front panels Turning on/ off controls/ indicators Menus, Idiot proofing |
Lab 8 | Read LFE Chpt 12, P 388-405 Oscilliscope Manual (PDF Format) |
9 | Attribute nodes (graphs), Saving front panels Turning on/ off controls/ indicators Menus, Idiot proofing |
Lab 8 (cont) | Read LFE Chapt12, p405-411 |
10 | DAQ boards analog I/O | Lab 13 | Read Chpt. 8 E8.1, P8.1 |
11 | Real-Time Control Systems - Guest Lecturer: Prof. Timothy Chang | Lab 13 (cont) | LFE: Act. 11-9 |
12 | LabVIEW Advanced Topics (ActiveX) | HW#11 | |
13 | Advanced Topics - FFT, Freqency Filters, Time Domain Filters | HW#12 | |
14 | Finish up Labs and Final Project |
Lab Number |
Topic |
1 |
Getting Started with LabVIEW Basic operations, controls and indicators, simple programming structures |
2 |
LabVIEW Debugging a VI, Sub-VI's |
3 |
LabVIEW Traffic Light - Programming Structure, Sub-Vis, Clusters |
4 |
Basics of GPIB - Setting up GPIB, addresses, simple read/write |
5 |
GPIB Serial Poll Byte |
6 |
Communication via RS232/ Serial Port. |
7 |
|
8 |
Oscilloscope - Attribute Nodes, Menus |
9 |
RC Circuit measurement - Timing issues |
10 |
|
11 |
|
12 |
LabVIEW Incorporating user written C subroutines |
13 |
Digital-to-Analog acquisition interfacing - Analog I/O |
Final Project: (click here to download score sheet) Using LabVIEW, create a VI program that controls an experiment consisting of at least three instruments. (Fewer Instruments can be used if MANY functions are controlled by the VI.) The VI should include:
If you do not have an experiment in mind, a suitable one will be provided. For example:
Note that points will also be awarded for creativity and difficulty level of the projects.