LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

High-Speed Multi-Channel Data Acquisition with 34972A and 34901A - Configuration Help Needed

Hardware Setup

I am using a 34972A (DMM) with a 34901A (20-channel MUX) module.

 

Objective

I want to modify the Advanced Scan example code from the 34970A LabVIEW driver to measure voltage from 5 channels (101, 102, 103, 104, 105) at a rate of up to 10 measurements per second per channel.

 

Current Issue

I have set the While loop cycle to 100ms and tried various configuration vi settings, but I'm encountering errors and the measurements are not working properly.

 

Request for Help

Could you please provide direct advice on how to modify the configuration settings shown in my current code (Figure2)?

I need specific guidance on the following parameter values:

1. Config Trigger.vi Settings:

  • Wait for Trigger? (True or False)
  • Check Parameter? (Source or Scan-Scan Interval or Max Trigger Count)
  • Set/Check? (True or False)
  • Source? (Bus or Immediate or External or Alarm1 or Alarm2 or Alarm3 or Alarm4 or Timer)
  • Time-Scan Interval (Manual or Minimum or Maximum)
  • Interval Value (float value)
  • Max Trigger Count (Manual or Minimum or Maximum or Infinity)
  • #Triggers (integer value)

2. Standard Event Status.vi Settings:

  • Set/Check? (True or False)
  • Enable Value? (Integer value)
  • Check Parameter? (Enable Register or Event Register or Operation Complete Bit)
  • Set Parameter? (Enable Register or Operation Complete Bit)

 

Additional Question

Considering the hardware specifications of the 34901A, what is the maximum number of voltage measurements per second achievable when using 10 channels?

 

 

Attachments

  • Figure1: Original Advanced Scan example code
    dankim0714_0-1750991624895.png

     

  • Figure2: My current modified code with configuration issues
    dankim0714_1-1750991638143.png

     

Any specific configuration values and step-by-step guidance would be greatly appreciated!

 

Thank you in advance for your help.

0 Kudos
Message 1 of 3
(200 Views)

It is important to note that scanning speeds will vary depending on where the measurement data is being sent during the scan (i.e., to instrument memory, to the GPIB interface, to the RS-232 interface, etc.). The fastest measurements are possible when you configure the 34970A to scan directly to internal memory with one channel configured for dc voltage measurements. It is also important to realize that the overall speed of a scan is dependent upon the type of measurement being made. For example, the 3497xA can make dc voltage measurements much faster than ac voltage measurements.

 

There are several things that can affect the scan rate of the 3497xA.

  1. Set the range on all channels (autoranging adds time to every measurement)
  2. Group similar measurement modes together by channel (switching measure mode between channels takes extra time)
  3. Measurement delay or interchannel delay settings 
  4. Decrease resolution. (higher resolution takes more time)
  5. Integration time setting (NPLC)

At the end of the day you have to realize that the 3497xA is not a high speed DAQ device.

It is a data logger designed to take multiple measurements at regular intervals.

 

Setting up an HP/Agilent/Keysight 3497xA takes a couple steps

  1. Configure all of the channels for the  measuring mode, range, tranduser, scaling, etc...
  2. Build a scan list
  3. Scan the instrument 

When you "read" the instrument you trigger a "scan" and the instrument takes all the measurements you have programmed into it sequentially from the lowest numbered channel to the highest, and returns all of the measurements in a numeric array.

 

I have gone over the proper programming of this instrument a couple times, check out these links

https://forums.ni.com/t5/LabVIEW/Continuous-data-acquisition-with-Agilent-34972A/m-p/3188716

https://forums.ni.com/t5/LabVIEW/What-should-be-the-possible-reason-for-fluctuation-the-voltage/m-p/...

 

 

========================
=== Engineer Ambiguously ===
========================
Message 2 of 3
(144 Views)

Try something like this for starters.  If you decide to define the TRIG:TIMER & TRIG:COUNT, then Remove the While Loop.  The READ buffer can store 50,000 values.

 

Help the Community (and future reviewers) by marking posts as follows:
If it helped - KUDOS
If it answers the issue - SOLUTION
0 Kudos
Message 3 of 3
(119 Views)