Ebook Free LabWindows/CVI Programming for Beginners (With CD-ROM)By Shahid F. Khalid
It is not only to provide you the simple method but additionally to get guide is soft file systems. This is the reason why you could get the book asap. By attaching to internet, your opportunity to locate as well as get the LabWindows/CVI Programming For Beginners (With CD-ROM)By Shahid F. Khalid immediately. By clicking web link that is proffered in this site, you could go to straight the book site. As well as, that's your time to obtain your favourite publication.
LabWindows/CVI Programming for Beginners (With CD-ROM)By Shahid F. Khalid
Ebook Free LabWindows/CVI Programming for Beginners (With CD-ROM)By Shahid F. Khalid
After locating the book qualify LabWindows/CVI Programming For Beginners (With CD-ROM)By Shahid F. Khalid in this post, you have actually discovered the ideal book that can make you feel pleased. This publication is one of the referred publication choices based on need. Do you really require this publication as resource and ideas? Taking this publication as one of the recommendation can expose you to have the preferred book of your own.
When first opening this book to review, even in soft data system, you will certainly see how guide is created. From the cove we will certainly likewise discover that the writer is actually wonderful in making the visitors feel drawn in to read more and much more. Finishing one web page will certainly lead you to review next web page, as well as further. This is why LabWindows/CVI Programming For Beginners (With CD-ROM)By Shahid F. Khalid has numerous followers. This is what the author clarifies to the viewers and also utters the meaning
The presented book LabWindows/CVI Programming For Beginners (With CD-ROM)By Shahid F. Khalid we offer right here is not sort of normal book. You recognize, checking out now doesn't mean to take care of the published book LabWindows/CVI Programming For Beginners (With CD-ROM)By Shahid F. Khalid in your hand. You can obtain the soft file of LabWindows/CVI Programming For Beginners (With CD-ROM)By Shahid F. Khalid in your gadget. Well, we imply that guide that we proffer is the soft documents of guide LabWindows/CVI Programming For Beginners (With CD-ROM)By Shahid F. Khalid The content and all things are very same. The distinction is just the types of the book LabWindows/CVI Programming For Beginners (With CD-ROM)By Shahid F. Khalid, whereas, this problem will precisely be profitable.
You could swiftly finish them to check out the page and afterwards delight in obtaining guide. Having the soft documents of this publication is additionally good enough. By by doing this, you could not should bring guide anywhere. You can conserve in some suitable tools. When you have decided to start reviewing LabWindows/CVI Programming For Beginners (With CD-ROM)By Shahid F. Khalid once more, you could begin it all over and every single time as soon as well done.
Presents the fastest way to get results with LabWindows/CVI. Presents information on building programs that control instruments and data acquisition hardware. Softcover. CD-ROM included. DLC: C (Computer program language).
- Sales Rank: #1947198 in Books
- Brand: Brand: Prentice Hall PTR
- Published on: 2000-05-15
- Original language: English
- Number of items: 1
- Dimensions: 1.36" h x 7.01" w x 9.21" l,
- Binding: Paperback
- 651 pages
Features
- Used Book in Good Condition
From the Back Cover
The first "teach yourself" guide for LabWindows/CVI!
LabWindows/CVI is the #1 system for building Windows-based virtual instrumentation with ANSI C—and this hands-on, project-oriented guide is the fastest way to get results with LabWindows/CVI! You'll master all you need to know to build programs that control instruments and data acquisition hardware—while still taking advantage of an easy-to-use user interface editor for building Windows applications. Shahid F. Khalid presents never-before-published LabWindows/CVI tips and tricks—plus coverage of every key LabWindows/CVI skill you'll need, including:
* Systematically creating effective GUIs and automatically generating C code
* Learning the tips and tricks of the Source Code Editor and Debugger
* Learning the library functions through the use of Function Panels
* Creating applications using File I/O, List Boxes, Rings, Text Box controls, and many more
* Creating standalone executables, distribution disks, Dynamic Link Libraries (DLLs), and using the application from a supported external compiler
* Complete tutorial on communication with instruments using GPIB and RS-232 interfaces
Each chapter is organized for maximum clarity and convenience, and you'll find handy appendices explaining the features of LabWindows/CVI environment, formatting and scanning functions, and tutorial on two demo programs. If you're a LabWindows/CVI novice, you'll learn fast—and once you do, LabWindows/CVI Programming for Beginnerswill serve you well as a reference for years to come.
CD-ROM INCLUDED
The accompanying CD-ROM includes a complete trial version of LabWindows/CVI 5.5, plus finished versions of every project covered in the book. The CD-ROM also comes with complete trial versions of a System Test application and a mathematical application that analyzes functions parametrically.
About the Author
SHAHID F. KHALID is currently 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. In addition, he has created LabWindows/CVI applications for laser control and has written many test software applications for controlling test instrumentation. Mr. Khalid has more than 30 years of experience in software engineering.
Excerpt. © Reprinted by permission. All rights reserved.
Preface What Is LabWindows/CVI?
LabWindows/CVI is an integrated American National Standards Institute (ANSI) C environment (C is a computer programming language) developed by National Instruments Corporation and designed primarily for engineers and scientists creating virtual instrumentation applications. Virtual instrumentation refers to the combination of hardware and software elements that provides you, the user, with complete flexibility in designing and controlling the elements of stand-alone instruments from your computer system. You have the choice of designing the instrumentÕs functionality. LabWindows/CVI helps you leverage the power of the computer to create flexible, reusable, and inexpensive measurement applications that outperform traditional test and measurement methods.
LabWindows/CVI is a programming environment that has been widely adopted throughout industry, academia, and research labs as the standard for data acquisition and instrument control software. It is a powerful and flexible instrumentation software system that embraces the traditional programming methodologies and enables you to create structured code, and it features an easy-to-use programming environment.
LabWindows/CVI includes all the tools necessary for data analysis and presentation of the results on the Graphical User Interface (GUI, pronounced "gooee") on your computer screen. It comes with a complete set of integrated input/output (I/O) libraries, analysis routines, and user interface tools that aid you in rapid application development, reducing the time that would be required by other conventional programming environments.
The integrated environment consists of code generation, prototyping tools, and libraries. There are input/output libraries, user interface libraries, and statistical and mathematical analysis libraries. LabWindows/CVI supports a comprehensive Advanced Analysis Library for time/frequency analysis, curve-fitting, digital filters, integration and differentiation functions, statistical functions, linear equations solutions, and many more. This releases you from seeking an outside application package to perform the analysis. Also included are signal processing, instrument driver creation, and ActiveX support, multithreading, DataSocket, OpenGL libraries, to name a few.
LabWindows/CVIÕs forte lies in building virtual instrumentation systems with General Purpose Interface Bus (GPIB), VME (Versa-Modular Eurocard) extensions for Instrumentation (VXI), PCI (Peripheral Component Interconnect) extensions for instrumentation (PXI), serial interface communication (RS-232), Transmission Control Protocol/Internet Protocol (TCP/IP) based devices with plug-in data acquisition (DAQ) boards without spending too much effort to create the applications. It combines an interactive, easy-to-use development approach with the programming power and flexibility of compiled ANSI C code.
The full potential of LabWindows/CVI is used to automate test systems, bench top experiments, DAQ monitoring projects, verification tests and measurements, process monitoring, and controlling systems. This integrated development environment gives full credibility to the National Instruments¨ slogan: "The Software is the Instrument" by enabling the user to create virtual instruments on the personal computer and to communicate with the real instruments via the communication interfaces.
The LabWindows/CVI environment supports open software architecture enabling you to reuse existing programs within its environment. If you are programming in C using your preferred environment, LabWindows/CVI complements your existing efforts and streamlines your future development. You can incorporate standard ANSI C source code, object files, and dynamic link libraries (DLLs) within LabWindows/CVI. You also have the flexibility to use the instrumentation libraries from LabWindows/CVI within the C/C++ compilers such as Microsoft Visual C++, Borland C++, Borland C++ Builder, Symantec C, or WATCOM C/C++ with which you may be more familiar.
For simplicity, from this point onwards CVI will refer to LabWindows/CVI and Windows will refer to Windows 2000, Windows NT version 4.0 Service Pack 3, Windows 98, Windows 95, or Windows 3.1. The differences between CVI using different operating systems will be explained in the text as necessary.
Introduction
Why write a book on CVI? The answer is simple. There is not a single book on CVI in the market at the time of this writing. CVI does come with an excellent set of manuals (both bound and on-line), which enables you to get started. Any packaged software in the market always has a couple of books written to give you a different approach from the manuals.
There are about a dozen good books written on LabVIEW¨, a graphical programming language, called G, in which you can program in block diagram notation. LabVIEW was invented by National Instruments Corporation©, which is also the creator of CVI. Weeklong courses conducted by National Instruments Corporation teach both these programming tools. I have personally taken the National Instruments sponsored courses for both CVI and LabVIEW, which give the student very useful hands-on experience. During these courses, the students often asked the instructor for the name of some good books on the subject from which they could learn more. The instructor could always recommend a couple of good LabVIEW books but none for CVI.
This is the first book on CVI, and its aim is to teach you how to get started quickly and to create CVI projects. I am assuming you are unfamiliar with using CVI. If you are familiar with CVI, this book can serve as an adequate reference to refresh your memory and to glance over some of the examples on a particular topic.
Since CVI is based on C, it is recommended that before you try to learn CVI, you should know C. The bibliography section contains the names of a few good books on C.
Objectives of this Book
The purpose of LabWindows/CVI Programming for Beginners is to serve as a tutorial to help you, a willing CVI learner, get started quickly with CVI to develop your instrumentation and analysis applications. Almost every aspect of the CVI programming environment has been introduced or pointed out in the CVI manuals. CVI contains many capabilities, and this book does not provide a comprehensive guide. The goal of the book, however, is to give you enough information to provide a foundation on which to build.
This book uses a systematic approach to teaching CVI. Every facet of creating the CVI projects is explained in detail. The chapters are arranged in an order that facilitates learning CVI. Detailed examples are included where necessary. The prototypes of the CVI library functions are explained when introduced for the first time in the project. These prototypes may look very similar to ones given in the manuals. They are included in this book for your convenience, sparing you the task of finding them among the alphabetical listings of innumerable functions spread over half a dozen CVI manuals or searching in Online Help.
The format of the book is designed with a beginner in mind. Each chapter contains an overview explaining the intent of the chapter. Where applicable, (a) CVI project(s) is/are created explaining the chapterÕs features, showing the necessary steps starting from a blank panel, adding objects to the panel to create the GUI, and incorporating the callback functions to the objects to execute the code. You are given a hands-on experience in compiling, building, and running the projects. You can appreciate the ease with which CVI can create and run the applications.
The complete running project with the code and the user interface resource file are listed/ shown in the book and included on the CD-ROM distributed with the book. The projects supplied with this book on the CD-ROM have been thoroughly tested and executed numerous times for any possible bugs in the programs.
This book will best serve its purpose if you can create the project as you go over the examples in this book, though you can run the project even if you choose not to build the complete project.
The important items and the shortcuts at the end of each section are highlighted. At the conclusion of each chapter, summaries of the important features covered in that chapter are outlined.
Here is a short desciption of the chapters:
Chapter 1, "Getting Started," introduces you to the working environment of CVI, including some of its prominent capabilities and its uses in the industry and academia, and provides step-by-step basics for getting CVI up and running using a real-world application example with an explanation of the versatility of the CVI project.
Chapter 2, "Basics of Creating the Graphical User Interface," takes you through a systematic procedure of adding controls to the GUI. The CVI event-driven programming and the use of callback functions is explained so the user can control the programÕs execution. You are shown how to create the code using the CVI CodeBuilder for compiling, linking, and running the first CVI projects.
Chapter 3, "More Graphical User Interface," gives details of using additional features of the User Interface Editor that are not covered in the previous chapter. Additional user interface controls are discussed here. You are shown how to add and use the timer control and strip charts.
Chapter 4, "Enhancing the User Interface," covers the creation of decoration boxes to enhance the GUI to add menu bars, toolbars, and text boxes to increase the projectsÕ functionality. The projects created in this chapter are executed using the menu bar items and the toolbar icons, instead of the command buttons, to give you familiarity with the creation and use of menus and toolbars.
Chapter 5, "Source Editor Debugging Techniques," are discussed here. This chapter provides the fundamentals of the Source Code Editor and the use of the Debugger. Many CVI features are discussed in detail, including details on how to make coding and debugging easier, to manipulate the code in the Source Code Editor window, and to effectively learn to use the Debugger.
Chapter 6, "File Input/Output," discusses the creation of various input and output files and the opening of files for writing and reading in ASCII (American Standard Code for Information Interchange) or binary format. Almost all the related file I/O library functions are discussed, and a project is created demonstrating the use of these library functions. Different types of pop-up panels are explained. Their purpose and creation using the function panels is demonstrated through creating the project(s).
Chapter 7, "List Boxes and Rings," descibes the use and the features of the list boxes in detail by means of examples and includes a simple Test Executive project. Examples of different uses of list boxes are shown and the differences between list boxes and text boxes are explained. Examples are also given to show you how to enhance the displayed data on the list box. The creation and use of rings is discussed, including the different types of rings and their various uses.
Chapter 8, "Creating Stand-Alone Executables and Distribution Disks," descibes the process of creating the stand-alone CVI executable to enable the user to install and run the project on a computer devoid of the CVI environment.
Chapter 9, "Creating and Using Dynamic Link Libraries," introduces you to the concepts and the creation of DLLs. The created DLLs are exported and run from the calling CVI project.
Chapter 10, "External Compiler Support," introduces you to the CVI features of using the external compiler. This is a useful topic for users who are comfortable using the compiler of their choice but who may want to take advantage of the ease of building GUIs and using callback functions, instrument drivers, and function panels in the CVI environment. Two ways to achieve this functionality are introduced by means of project examples: first, using and creating the callback function object file by using the external compiler, and secondly, by creating the DLL in CVI and loading and executing the project from the external compiler. Projects are created demonstrating both methods.
Chapter 11, "GPIB Communications," introduces the features and protocol associated with communicating with the GPIB-based instruments. The GPIB library functions are discussed in detail and demonstrated by means of projects.
Chapter 12, "RS-232 Serial Communication," deals with the communication with instruments using the RS-232 interface. Various hardware and software aspects of RS-232 are discussed. The use of the RS-232 library functions are demonstrated and descibed by means of a project.
Appendix A, "Installing CVI," contains the step-by-step procedure for installing CVI and explains the folder (directory) structure and purpose of the files.
Appendix B, "Project Window Environment," introduces you to CVI environment for the Project window with an emphasis on explaining the menus of the Project window. This appendix gives the user the basic information regarding the Project window, enabling you to create, code, compile, build, and run the projects.
Appendix C, "User Interface Editor Environment," explains the menus and menu commands enabling you to understand the User Interface Editor.
Appendix D, "Formatting Functions," explains the functions to translate or reformat data items into other forms. A variety of examples is included in this chapter to assist you in understanding this topic.
Appendix E, "CVI Demo Programs," descibes two sophisticated demo programs written in CVI that are included on the CD-ROM. The system test application enables the user to configure the test parameters and test functions to run the system tests on specific hardware. Another program consists of a mathematical application that analyzes functions parametrically. These demos are included with limited functionalities for you to envision the power of the more complex features and uses of CVI. This appendix and the accompanying demo programs are written by Yaakov Ben-Ami, who is also the co-author of the forthcoming advanced book.
You should note that this text is for beginners and some of the more advanced topics are not covered here but are instead included in the forthcoming advanced book. You are made aware of these exclusions at the appropriate place in the book and are asked to refer to the manual(s) for further reading.
What You Need to Run LabWindows/CVI
CVI versions prior to 5.5 use the Windows 95/98/NT/3.1 operating systems on personal computers (PC) and the Solaris operating system on Sun SPARC stations. CVI version 5.5 runs on PCs using Windows 95 and 98, Windows NT 4.0 with Service Pack 3, and Windows 2000. CVI 5.5 no longer supports the Unix operating system or Windows 3.1.
The discussion and examples in this book are limited to the Windows environment though relative differences for Sun users will be mentioned as appropriate.
Installing and running CVI on Windows requires a Pentium 90 or faster processor, a minimum of 50 MB of free hard disk space, and at least 16 MB of RAM. A 800 by 600 resolution (or higher) video adapter is recommended. To install versions prior to CVI 5.5 on SPARC stations, you will need 12 MB of free disk space, a minimum of 32 MB disk swap space, and 23 MB of main memory.
To get really effective results when creating and displaying GUIs, a seventeen-inch or larger Super VGA monitor and a high-resolution video card, which can support a resolution of at least 1024 by 768 pixels, are recommended. The GUIs included on the CD-ROM with this book are designed using a 1024 by 768 pixels resolution on the monitor. The GUIs have been tested to work on seventeen-inch to twenty-one-inch monitors, though in some cases they may appear disproportionate. Since you will be following step-by-step instructions for creating the GUIs, you can re-size the panels and objects so they are compatible with your monitorÕs resolution and size.
As with any Windows programming task, the use of a mouse or trackball is a great convenience, and is a recommended device to use with CVI. In this book, only mouse-related instructions are given for accessing objects or selecting menu commands. The keyboard commands will only be used to show the alternate capabilities in controlling and running the projects, as needed.
It is assumed that you are familiar with the Windows environment on the PC or the Solaris operating environment on Sun workstations.
See Appendix A for the CVI installation and setup procedure.
LabWindows/CVI Programming for Beginners (With CD-ROM)By Shahid F. Khalid PDF
LabWindows/CVI Programming for Beginners (With CD-ROM)By Shahid F. Khalid EPub
LabWindows/CVI Programming for Beginners (With CD-ROM)By Shahid F. Khalid Doc
LabWindows/CVI Programming for Beginners (With CD-ROM)By Shahid F. Khalid iBooks
LabWindows/CVI Programming for Beginners (With CD-ROM)By Shahid F. Khalid rtf
LabWindows/CVI Programming for Beginners (With CD-ROM)By Shahid F. Khalid Mobipocket
LabWindows/CVI Programming for Beginners (With CD-ROM)By Shahid F. Khalid Kindle
LabWindows/CVI Programming for Beginners (With CD-ROM)By Shahid F. Khalid PDF
LabWindows/CVI Programming for Beginners (With CD-ROM)By Shahid F. Khalid PDF
LabWindows/CVI Programming for Beginners (With CD-ROM)By Shahid F. Khalid PDF
LabWindows/CVI Programming for Beginners (With CD-ROM)By Shahid F. Khalid PDF