LabWindows/CVI Programming for Beginners
LabWindows/CVI is for C programmers. In LabWindows/CVI, C is the programming language used to build data acquisition and instrumentation control applications; LabWindows/CVI is completely compatible with the most common C/C++ compilers available under Windows 95/NT. The first available interactive tutorial on LabWindows/CVI, this book provides beginners with a welcome alternative to the very detailed-and intimidating-National Instruments manuals. Arranged in a systematic way to teach a novice from simple to complex topics, it begins at the beginning and includes a CD with examples and code so students can start running project applications immediately.
- Mixed media product | 656 pages
- 147.32 x 236.22 x 38.1mm | 1,043.26g
- 02 May 2000
- Pearson Education (US)
- Prentice Hall
- Upper Saddle River, United States
- w. figs.
Table of contents
1. Getting Started. What is CVI? Where is CVI used? Starting CVI. The First CVI Project. Summary.2. Basics of Creating the Graphical User Interface. User Interface Overview. CVI Programming Model. Creating the First CVI Project. Analyzing the CodeBuilder-Generated Code. Overview of How to Develop a CVI Application. Creating the Second CVI Project. Callback Function and Generated Events. Summary.3. More Graphical User Interface. Using Timer Controls. The Anatomy of the Panel. Learning the Tool Bar. Creating and Using the Strip Charts. Project Window Icons. Observations. Summary.4. Enhancing the User Interface. Project Overview. Starting the Project. Creating and Using the Menu Bar. Generating the Source Code. Creating and Using Tool Bars. Adding a Text Box to the Project. Creating the Tab Order. Summary.5. Source Editor and Debugging Techniques. Source Editor Environment Overview. Exploring the Source Editor. Source Editor Tool Bar. Working with Function Panels. Interactive Execution Window. Building Your Project. Manipulating the Code. Setting Line Numbers and Selecting Text. Using the Code Selection Modes. Balancing Parentheses. Setting and Clearing Tags. Finding User Interface Objects (Controls). Inserting C Constructs in Code. Comparing Source Files. Find, Search, and Replace Commands. Using the Debugger. Using Breakpoints. Exclude/Include Lines. Working with Variables, Arrays, and Strings. Watch Window. Memory Display Window. Summary.6. File Input/Output. What is File I/O? Using Files. Overview of the Project. Creating the User Interface. Generating the Code. Pop-Up Panels. Confirm Pop-Up Panel. Message Pop-Up Panel. Generic Message Pop-Up Panel. Prompt Pop-Up Panel. File Select Pop-Up Panel. Install Pop-Up Function. Remove Pop-Up Function. Multi-File Select Pop-Up Panel. Directory Selection Pop-Up Panel. Graph Pop-Up Panels. Adding Code to the Project. Main Function. StartTestCB Function. WriteToFile Function. CheckFileName Function. Timer_2SecCB Function. Timer_1SecCB Function. StopTestCB Function. ClearTextBoxCB Function. ReadFileCB Function. RunExcelCB Function. ExplorerCB Function. ExitPanelCB Function. Summary.7. List Boxes & Rings. Introduction. List Box Example. List Box Example. Using Ring Controls. Designing the Test Executive Project. Project7 Code Generation and Analysis. Main Function. LoadTestNamesCB Function. SelectTestsCB Function. RemoveTestCB Function. SaveSeqCB Function. LoadSeqCB Function. ResetSeqCB Function. CopyTestCB Function. GoToTestExecCB Function. SelectTimesToRunCB Function. RunSequenceCB Function. ExitCB Function. ClearListBoxCB Function. ReturnCB Function. CheckFileName Function. ExplorerCB Function. Summary.8. Creating Stand-Alone Executables and Distribution Disks. Creating Stand-Alone Executables and Distribution Disks Overview. Creating Stand-Alone Executables. Creating Distribution Disks. Install DataSocket Support. Install NI Reports Support. Error Handling for Stand-Alone Executables. Summary.9. Creating and Using Dynamic Link Libraries. Dynamic Link Libraries (DLL) Overview. Creating Dynamic Link Libraries. Creating DLLs without a User Interface. Using the DLL. Creating DLLs with the User Interface. Using the GUI DLL. Summary.10. External Compiler Support. External Compiler Support. Creating an Object File for Use in an External Compiler. Creating DLL Containing Callback Functions. Summary.11. GPIB Communications. GPIB Communication Introduction and History. GPIB Communication. Getting Started with GPIB. GPIB Communication Using the NI-488 Routines. Win32 Interactive Control Utility. NI Spy Utility. Using the IEEE-488.2 Standards. Using GPIB Instrument Drivers. Summary.12. RS-232 Serial Communication. Overview of Serial Communication. Connectors and Signals. Serial Communication Project. Configuring the RS-. Error Checking Functions. Writing and Reading Data. Sending Data Buffer. Receiving Data Buffer. Sending a Data Byte. Reading a Data Byte. Reading Data Using a Termination Byte. Writing Data Files. Reading Data Files. Sending and Receiving Data Packets. Configuring XModem. Sending Data Packets. Receiving Data Packets. Serial Communication Utility Functions. Flush Output Queue. Flush Input Queue. Queue Length. Obtaining COM Port Status. Break Function. Communicating with RS-485. Summary.A. LabWindows/CVI Installation. Installing CVI. Installing the Projects Directory.B. Project Window Environment. Starting the Project. Overview of the Project Window. Using the File Menu. New. Open. Save. Save As. Save All. Auto Save Project. Print. Most Recently Closed Files. Exit LabWindows/CVI. Using the Edit Menu. Add Files To Project. Select All. Exclude File From Build. Remove File. Move Item Up. Move Item Down. Using the View Menu. Show Full Path Names. Show Full Dates. Sort By Date. Sort By Name. Sort By Pathname. Sort By File Extension. No Sorting. Using the Build Menu. Configuration. Target Type. Target Settings. Compile File. Mark File For Compilation. Mark All For Compilation. External Compiler Support. Create Distribution Kit. Using the Run Menu. Debug Project. Continue. Terminate Execution. Break at First Statement. Breakpoints. Select External Process. Execute. Threads. Using the Instrument Menu. Load. Unload. Edit. Using the Library Menu. User Interface. Advanced Analysis. Easy I/O for Data Acquisition. Data Acquisition. VXI. GPIB/GPIB. RS-. VISA. IVI. TCP. DataSocket. DDE. X Property (Unix Only). ActiveX Automation (Windows Only). Formatting and I/O. Utility. ANSI C. Using the Tools Menu. Create ActiveX Automation Controller (Windows Only). Create IVI Instrument Driver. Source Code Control. Using the Window Menu. Cascade Windows. Tile Windows. Minimize All. Close All. Project. Build Errors. Run-Time Errors. Source Code Control Errors. Memory Display. Variables. Watch. Interactive Execution. Using the Options Menu. Build Options. Compiler Defines. Include Paths. Instrument Directories. Run Options. Command Line. Environment. Library Options. Tools Menu Options. Source Code Control Options. Project Move Options. Font. Colors. Using the Help Menu. Summary.C. User Interface Editor Environment. File Menu. New, Open, Save, Save As, Close, and Exit LabWindows/CVI. Save Copy As. Save All. Add File to Project. Read Only. Print. Edit Menu. Undo and Redo. Cut, Copy, and Paste. Delete. Cut Panel and Copy Panel. Panel. Control. Tab Order. Set Default Font. Apply Default Font. Control Style. Create Menu. View Menu. Find UIR Objects. Show/Hide Panels. Bring Panel to Front. Next Panel. Previous Panel. Preview User Interface Header File. Arrange Menu. Code Menu. Set Target File. Generate. Main Function. All Callbacks. Panel Callback. Control Callbacks. Menu Callbacks. View. Preferences. Default Panel Events/Default Control Events. Always Append Code To End. Run Menu. Library Menu. Tools Menu. Window Menu. Options Menu. Operate Visible Panels. Next Tool. Preferences. Edit Color Preferences. Preferences for New Panels. Preferences for New Controls. More. Save in Text Format. Load from Text. Help Menu.D. Formatting Functions. Introduction to Formatting and Scanning Functions. Formatting Functions. Format Code Specifiers. Formatting Modifiers. Formatting Examples for the Fmt Function. Integer to String. Short Integer to String. Inserting Characters Between Each Element of an Array. Real to String in Floating Point Notation. Real to String in Scientific Notation. Integer and Real to String with Literals. Concatenating Two Strings. Appending to a String. Converting Decimal Integer to Hexadecimal String. Scanning Functions. Scan Functions-Format String. String to String. Converting String to Integer and String. Converting Comma-Separated ASCII Numbers to Real Array. Scanning Non-NUL Terminated Strings. Converting Integer Arrays to Real Arrays. Byte Swapping, with Integer Array to Real Array. Converting Hexadecimal String to Decimal Integer. ScanFile Function. ScanIn Function. Status Functions. Using the Format Wizard.E. CVI Demo Programs. Bmath Demo Version. Introduction. Loading/Editing Instructions. Using Parametric Run. Iterative Evaluation. Using the Plot Utility. Using the Solver Utility. System Test Demo. Introduction. System Test Start Up Procedure. How to Use Permission Levels. System Test Window (Main Window). How to Use the Molecules List Reordering Window. System Self Tests Window. System Selective Testing Window. Loop/Select Window. Sequencer Window. Test Builder Window. Last Test Window. Stop/Loop Window. Vars Window. Bibliography.Index.
About Shahid F. Khalid
SHAHID F. KHALID has over 30 years of experience in software engineering. He is presently a software engineer at Boeing, Canoga Park, California, where he works on testing the embedded software for the rocket engine control unit on the Delta IV program. The testing of the rocket engine controller is performed using LabWindows/CVI communicating via the RS-232 serial port and the GPIB interface to control various instruments that command the engine and acquire the data. He has also created LabWindows/CVI applications for laser beam alignment, test equipment diagnostics software for VXI platforms, and database applications and has worked on other company proprietary projects.Shahid has worked as a software contractor in aerospace and defense with companies like GTE Government Systems and Loral Electro-Optical Systems. He has worked at Logicon Incorporated, and at Jet Propulsion Laboratories in Pasadena, California. He has been a Unit Head of a software development team at Singer-Kearfott in New Jersey, where he was involved with the development of inertial navigation guidance test software for the US Navy Mark VI program. He has worked as an analog circuit design engineer and computer programmer at various companies in Kansas, Tennessee, and New Jersey.Shahid has a Bachelor's degree in Physics and Mathematics as well as a Master's degree in Mathematics from Panjab University in Pakistan. He also has a Master's Degree in Electronic Engineering from Kansas University and a Master's Degree in Computer Science from Stevens Institute of Technology (New Jersey).He is married and has two daughters and a son. After living in Kansas, Tennessee, and New Jersey, he now enjoys his home in Agoura Hills, California. His hobbies include photography, traveling, swimming, reading self-study books on computers and programming languages, and playing with the computer.