Lesson 9 Data Acquisition and Waveforms TOPICS Plug-in DAQ devices Data Acquisition in LabVIEW Analog Input Data Logging Analog Output Counters Digital I/O 1 Overview and Configuration Fundamental task of a DAQ system is to measure or generate real-world physical signals DAQ system consists of: •Transducers •Signal Conditioning •Plug-in DAQ device •Driver •Software 2 Measurement Software Framework NI-DAQ contains: •Traditional NI-DAQ •NI-DAQmx 3 DAQ Hardware Configuration Measurement & Automation Explorer (MAX) 4 Channels and Tasks Channel names Signals ai 0 ai 1 ai 2 Sine Wave 1 Sine Wave 2 Sine Wave 3 Tasks Timing and Triggering 5 The DAQ Signal Accessory NI-DAQmx versus Traditional NI-DAQ Feature Productivity Performance Accuracy Quality Compatibility 7 NI-DAQmx Traditional NI-DAQ Test Panels » z DAQ Assistant with code generation » no On-line diagnostics » » Scaling to voltage and physical units » z 50 kS/s with single point I/O » Measurement multithreading » Instant calibration » z Automatic selection of optimal gains » z Guaranteed lossless data » » 650 Alliance members » » Integration with LabVIEW » » Developer Exchange discussion forum » » Compatible with Legacy ISA Boards no » » Best zGood Fair Data Acquisition in LabVIEW Traditional NI-DAQ Specific VIs for performing: • Analog Input • Analog Output • Digital I/O • Counter operations 8 NI-DAQmx Next generation driver: • VIs for performing a task • One set of VIs for all measurement types NI-DAQmx Data Acquisition Single set of VIs used to perform analog I/O, digital I/O, and counter operations DAQ Assistant Express VI • Quickly and easily program the DAQ device • Creates a local task • Most applications can use the DAQ Assistant Express VI 9 NI-DAQmx Data Acquisition Task Types Measurement type can be: •Analog Input •Analog Output •Counter Input •Counter Output •Digital I/O 10 Analog Input Analog Input task is specific to the measurement 11 Analog Input Task Timing and Triggering Configures the number of samples and sample rate for the task Configures the start and reference triggers for the task 12 Data Logging • It is often necessary to permanently store data that is acquired from the DAQ device • LabVIEW includes the ability to read and write a LabVIEW Measurement File • LabVIEW Measurement File is an ASCII text file 13 Analog Output Analog Output task is specific to the generation type 14 Analog Output Task Timing and Triggering Configures the number of samples and sample rate for the task Configures the start and reference triggers for the task 15 Counters A counter is a digital timing device Typical uses of a counter: Gate Output • Event counting • Frequency measurement Count Register • Period measurement Source • Position measurement • Pulse generation Count register – Stores the current count of the counter Source – Input that causes the counter to increment each time it toggles Gate – Input that is used to enable or disable the function of the counter Output – Signal that generates pulses or a series of pulses 16 Digital Input and Output • Digital I/O can read from or write to a line or an entire digital port • A digital port is a collection of digital lines 17 Summary • MAX is the primary configuration and testing utility that is available for the DAQ device. • The DAQ Assistant is used to configure the DAQ device and perform data acquisition. • Most application can use the DAQ Assistant. For applications that require advanced timing and synchronization use the VIs that come with NI-DAQmx. • The DAQ Assistant can perform Analog Input, Analog Output, Digital I/O, and Counter operations. 18 Lesson 10 Instrument Control TOPICS Instrument Control Overview GPIB Communication and Configuration Instrument I/O Assistant Virtual Instrument Software Architecture (VISA) Instrument Drivers Serial Port Communication Waveform Transfers 19 Instrument Control Overview Control any instrument if you know the following: – Type of connector on the instrument – Electrical properties involved – Software drivers available Instruments 20 − Type of cables needed − Communication protocols used Computer GPIB Communication GPIB Interface GPIB Instruments GPIB Cable Standards Introduction 22 1965 HP designs HP-IB (Hewlett Packard Interface Bus) 1975 HP-IB becomes IEEE 488 1987 IEEE 488.2 adopted IEEE 488 becomes IEEE 488.1 1990 SCPI (Standard Commands for Programmable Instruments) added to IEEE 488.2 1992 IEEE 488.2 revised 1993 HS488 proposed 1999 HS488 approved GPIB Hardware Specifications DIO1 DIO2 DIO3 DIO4 EOI DAV NRFD NDAC IFC SRQ ATN SHIELD 23 1 13 12 24 DIO5 DIO6 DIO7 DIO8 REN GND (TW PAIR W/DAV) GND (TW PAIR W/NRFD) GND (TW PAIR W/NDAC) GND (TW PAIR W/IFC) GND (TW PAIR W/SRQ) GND (TW PAIR W/ATN) SIGNAL GROUND • Max cable length between devices = 4 m (2 m average) • Max cable length = 20 m • Max number of devices = 15 (2/3 powered on) GPIB Software Architecture — Windows Diagnostics Tools: GPIB Diagnostic Tool NI-Spy Interface Board (GPIB, PXI, VXI, computer based, etc.) Driver Software (*.DLL) NI-VISA Instrument Driver VIs LabVIEW Configuration Tools: Measurement & Automation Explorer Configuring GPIB Board and Instruments Measurement & Automation Explorer (MAX) 25 What is the Instrument I/O Assistant? • Accessed through a LabVIEW Express VI • Sets up device communication and data parsing step by step through a configuration interface 26 Communicating with an Instrument 27 Virtual Instrument Software Architecture VISA Serial GPIB • Platform independent • VISA is the backbone of the IVI and Plug & Play Instrument Drivers 28 VXI PXI • Interface independent • Must know SCPI command set to program directly with VISA VISA Terminology • Resource—Instrument, Serial Port, or Parallel Port • Session—Connection to a Resource • Instrument Descriptor—Resource location – Format: – Examples: 29 Interface Type::Address::INSTR Instrument Descriptor Syntax • Resource Name contains interface info • VISA Aliases also work 30 Interface Resource Name Grammar Serial ASRL[board][::INSTR] GPIB GPIB[board]::primary address[::INSTR] VXI VXI[board]::VXI logical address[::INSTR] GPIB-VXI GPIB-VXI[board][::GPIB-VXI primary address]::VXI logical address[::INSTR] VISA Resource Name • Exact name and location of the instrument • Use the VISA Resource Name control • You can specify the full resource name of the VISA Alias 31 Instrument Drivers • More than 1200 LabVIEW Instrument drivers • Programming simplified to high-level API 32 Installing and Finding Instrument Drivers • Drivers available at ni.com/idnet • Install the instrument driver VI Library into LabVIEW 7.0\instr.lib directory • Access drivers from Functions»Input»Instrument Drivers subpalette 33 IDNET - Instrument Driver Network • Learn about drivers • Get help with developing drivers • Submit your driver to the network • Download drivers 34 Instrument Driver Model 35 Instrument Driver VIs • Initialize • • • • Configure • • • • • • • • • Action/Status • • • • • • • • • • • • • Data • • • • • • • • • • • • • • • • • • • • • • • • • • • Utility • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • Close • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • 36 Instrument Driver Inputs and Outputs HP34401A Initialize.vi • Instrument Descriptor • VISA Sessions - A connection or link to a specific instrument - Created after instrument is initialized - Used throughout VI whenever you communicate with that specific instrument • Error cluster 37 Putting It All Together • • • • 38 Initialize instrument Do operation(s) Close instrument Check error status Serial Communication • Popular means of communication between computer and peripheral device • Data sent one bit at a time across the cable • Used for low transfer rates or long distances • Only a cable is needed since most computers have at least one available serial port PC Serial Port RS-232 Cable RS-232 Instrument 39 Serial Hardware Connection • RS-232 – DCE or DTE configurations – 9-pin or 25-pin • RS-422 – DCE or DTE – 8-pin • RS-485 – Multidrop 40 Pin DTE DCE 1 DCD 2 RxD 3 TxD 4 DTR 5 Com 6 DSR 7 RTS 8 CTS 9 RI Input I O O I O I I Output O I I O I O O Serial Communication Terminology • Baud rate – bits per second • Data bits – inverted logic and LSB first • Parity – optional error-checking bit • Stop bits – 1, 1.5, or 2 inverted bits at data end • Flow control – hardware and software handshaking options 41 Using the Instrument I/O Assistant with Serial • Select COMX as the instrument address • Use the I/O Assistant as done with GPIB 42 Summary • LabVIEW can communicate with any instrument that connects to your computer if you know the interface type • Use the Measurement & Automation Explorer (MAX) to detect, configure, and test your GPIB interface and instruments • Use the Instrument I/O Assistant for easy and fast GPIB and serial programming. • An instrument driver eliminates the need for your to have detailed knowledge of the specific strings used by an instrument • Instrument Library – more than 2000 instruments supported • Instrument driver VIs share a common hierarchy and come with an example to help you get started 43 Lesson 11 VI Customization TOPICS Configuring Appearance of Front Panel SubVI Front Panels Keyboard Shortcuts VI Properties Customizing Palettes 44 Customizing VI Properties • Access VI Properties by right-clicking the icon pane or selecting it from the File menu • Affects every instance of that VI in all applications 45 Window Appearance Only affects VI panel while VI is running 46 Window Size • Set minimum and current panel size • Adjust size of panel relative to the monitor • Scale objects on panel as window resizes 47 Creating Pop-Up Panels – Every Instance • Use Top-Level Application Window or Dialog appearance types • Create custom window appearance 48 Creating Pop-Up Panels – Single Instance Access SubVI Node Setup by right-clicking on subVI icon on calling VI’s diagram 49 Key Navigation Assigns keyboard strokes to front panel controls 50 Preventing Editing of a VI • Opens, runs, and closes LabVIEW without user intervention • Remove menus, Abort button, etc… • Save with Options 51 Summary • Use VI Properties to set VI execution, window, and documentation options • Use SubVI Node Setup to set execution options for a single instance of a subVI • Use the Key Navigation option to assign front panel controls to a keyboard key combination • Use the Save with Options from the file menu to make backups of your VIs • You can often edit VIs by aborting them from the diagram of another VI 52 Technical Support Resources Award-Winning Website www.ni.com/support • Drivers & Updates • Product Manuals • KnowledgeBases • Example Code • Tutorials • Application Notes • Discussion Forums 53 Info-LabVIEW Listserve User-sponsored Internet mailing list • Send subscription messages to the Info-LabVIEW list processor listmanager@pica.army.mil • Send other administrative messages to the Info-LabVIEW list maintainer at info-labview-REQUEST@pica.army.mil • Post a message to subscribers at info-labview@pica.army.mil 54 LabVIEW Publications • LabVIEW Technical Resource quarterly newsletter by LTR Publishing • LabVIEW Graphical Programming and LabVIEW Power Programming by Gary W. Johnson, McGraw-Hill • LabVIEW for Everyone by Lisa K. Wells and Jeffrey Travis, Prentice-Hall • LabVIEW Signal Processing by Mahesh Chugani, Abhay Samant, and Michael Cerna, Prentice-Hall • LabVIEW Applications and Solutions by Rahman Jamal and Herbert Pichlik, Prentice-Hall 55