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> >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

Lab 4 A

Read Chpt 9,10, LFE: Chpt 11 p354-359

Do HW#4

Lock-in Manual, (PDF Format)
Funct. Generator 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

Exercise 8

Read LFE Chpt 12, P 388-405

Oscilliscope Manual (PDF Format)

HW#8

9 Attribute nodes (graphs), Saving front panels
Turning on/ off controls/ indicators
Menus, Idiot proofing
Lab 8 (cont) Read LFE Chapt12, p405-411

HW#9

10 DAQ boards analog I/O Lab 13

Excercise 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:

  1. Plotting of data on the screen
  2. Saving of data to a file. Saved data must be readable by a spreadsheet program (like Excel or Lotus).
  3. At least 3 sub-VIs and at least 1 sub-VI embedded within another sub-VI (Student written).
  4. User-friendly instructions and controls
  5. At least one imported graphic and at least three different fonts and colors on the user interface window
  6. Adequate annotations within the block diagram window of all VIs and sub-Vis.
  7. For additional requirements, consult Final Project grading sheet on the course Web Page.

If you do not have an experiment in mind, a suitable one will be provided. For example:

  1. Measure the light intensity of two separate Light Emitting Diodes as a function of current. Instruments required: Power Supply, Photodiodes with Voltmeter (or Oscilloscope).
  2. Measure current versus voltage characteristic of two diodes and compare. Instruments required: Power supply, Voltmeter (or oscilloscope).

Note that points will also be awarded for creativity and difficulty level of the projects.