Quantcast
Channel: Multifunction DAQ topics
Viewing all 6883 articles
Browse latest View live

Reasons to calibrate PCI cards - NO absolute voltage accuracy

$
0
0

Hello community,

I would like to ask you about your practical advice on calibration:

 

My NI Devices (PCI-4472 and PCIe-6323) are due for calibration.

 

Working with these cards I don't need absolute voltage accuracy!

But I don't have a full overview of what's done during such a calibration and what can be caused if I systematically ignore it.

 

In this case, do I really need to calibrate my DAQ cards?

I appreciate your advises!

 

Best


Task Synchronization

$
0
0

I am using a USB-6353. I want to synchronize the start of an analog in and digital in task. They aren't running at the same speed, but they could be. What I have done is just created the two tasks and set them both to start with the same trigger. I then use another digital output, and wire it to the trigger terminal.

 

I'm not entirely sure that this is working. Both tasks are measure the distance a motor has moved in two different ways, but my analog data is always 4ms behind my digital data. I have a feeling this is because of latency in one of the sensors I am using, but I wanted to make sure that I wasn't missing anything as far as how I set up the tasks.

 

Is using a trigger the best way to synchronize the start of an analog and digital task?

DAQ error possible capatability issue

$
0
0

Hello All,

I currently upgraded my work PC from Windows XP to Windows 7 now running Labview 8.5.  I currently have a NI PCI 6013 DAQ device, but when I run the main VI for acquisition I am getting no reading with an error.  I suspect that this device is either not supported in Labview 8.5 or Windows 7.  Besides upgrading is there any work around?

 

Thank you,

James

Industrial automation

$
0
0

Hello, on a test bench, I use an industrial automaton to order the recording of my values. I then use the "Read" function in "Numeric" mode. I then have boolean data, which I then send in a condition selector, of a structure "CONDITION". I am currently experiencing a problem, my VI does not wait for the triggering of my controller to change value at regular intervals according to the "timeout" I have defined. The smaller the latter, the longer the wait time between two "TRUE" values is short. How can I solve my problems.

I provide a VI to understand the functions I use.

 

Thank you for your answer.

USB-6008 Voltage Response Output

$
0
0

Hi guys,

 

I created a LabVIEW program to continuously monitor the temperature of a bioreactor, using an NI USB-6008 multifunction I/O. I'm using LabVIEW 2017 and DAQmx 17.1. I have the program working, measuring the voltage through the thermistor, converting to temperature, and continuously displaying and recording. I also have a feature that turns on an alarm any time the temperature exceeds a chosen threshold.

 

The end goal is a response system where the temperature is monitored continuously, and I would like the system to automatically turn on an air pump any time the threshold temperature is exceeded. I need to be able to trigger an analog output voltage of at least 3.5V from the USB-6008 to a solid state relay to run the pump. Does anyone know how I can build this trigger correctly?

Time delay in long-term recording for USB DAQ device

$
0
0

I am working on a project recording signal with a relatively lower sample rate of 250 Hz. My problem is the USB device (USB-6001) introduces a couple of seconds delay every day. I am not sure if this latency is normal for a USB device. Is there any way to improve it without switching to a PCI device?

bus_latency_and_bandwidth.PNG

http://www.ni.com/white-paper/3509/en/

 

The time delay I mean is the difference between the real timestamp and the one supposed to be after many hours. I wrote a vi to demonstrate what it is. Also have screenshots attached.

Any advice or suggestion will be greatly appreciated. Thanks.

 

Screenshot - 6_16_2017 , 12_15_19 PM.png

 

Screenshot - 6_16_2017 , 12_16_35 PM.png

 

 

MyDAQ vs AD2?

$
0
0

I've tried searching via Google and the search function on this site and I haven't found a good explanation of the differences in features/capabilities between the myDAQ and the AD2. I'll need to buy one of these eventually for a EE course and a subsequent project but either will suffice and I'd like to know a little bit about the differences between them before I decide. 

 

Anybody have experience with both that they'd like to share? If you had to choose one over the other, which one would you choose and why?

Firmware for NI 9237

$
0
0

I'm using NI-9237 

I received an error msg

"201340 occurred at DAQmx Perform Bridge Offset Nulling Calibration.vi. Possible reason(s): Firmware on the device is out of date." Firmware needed to be updated.

 

I went to NI MAX, Update Firmware, it says the current firmware is 1.2.0f0

 

I googled, could not find firmware for 9237. I used the following searches: "9237 firmware", "NI9237fw", "NI9237fw.cfg", etc.

Please help


PCI-6024E AI 0 is measuring negative values when connected to a SCB-68A chassis ground lug.

$
0
0

I am having a problem with am LabVIEW  test application where I am getting negative values measured from a
PCI-6024E and I decided to isolate everything by only connecting the PCI-6024E that is inside my PC
to a NI SCB-68A breakout box.

I then connected a jumper wire from the SCB-68A chassis ground lug to pin 68 (AI 0) as this is the line that
I am measuring with my application and hardware test fixture and all measured values are Negative which
is why my application is failing.

 

With the AI0 line being grounded, shouldn't the value being measured from the NI MAX test panel measure zero volts?

 

Here is what I am seeing.

 

NI MAX Measurements.jpg


Any suggestions on how to correct this issue are appreciated.

Write AO inside a loop

$
0
0

I have been trying to output AO voltage to a power supply to control the current. It has been working outside a loop, but not inside. I am attaching both versions. I would appreciate any feedback about how I can modify the one inside a loop to write the Output. 

 

Thanks,

Waddah

------------------------

Outside Loop

Outside Loop.PNG

---------------------------------------------

Inside Loop

Inside Loop.PNG

USB 9239 returns -201087 when querying capabilities

$
0
0

I have general c++ code querying the capabilities of DAQmx devices. This works for 99% of the devices I have tested, but on the USB-9239 device the call to DAQmxGetAIResolution fails with error code -201087 (DAQmxErrorSampClkRateMustBeSpecd). From another thread in this forum I get the idea of specifying a dummy sample rate prior to this call e.g. DAQmxSetSampClkRate(1000.0f). This seems to cure the problem, but it can't be right? especially when querying the DAQmxGetDevAIMinRate also fails, so I don't know what to set the dummy value to?

I can see that the USB-9239 device does not support OnDemand sampling mode, but I just need Finite, which is specified in the DAQmxCfgSampClkTiming call.

 

It seems that calling DAQmxSetSampTimingType(taskHandle, DAQmx_Val_SampClk) also fixes the problem? Is the problem that is defaults to OnDemand which is not allowed for USB-9239?

 

Any idea how to fix this problem generally?

 

-cpede

Analog Input Sampling Rate Question

$
0
0

Hello, 

 

I have been working with NI equipment and software for a long time, but I have come across something I thought I understood but I am not sure at this moment. It pretty much pertains to any Multifuction DAQ card.

 

My example:

I have a PCIe-6353 1 MS/s aggregate when scanning multiple channels.

 

When measuring Single-Ended you divide the chosen sampling rate by the number of AI channels being scanned to calculate the sampling rate per channel.

What is the case with multiple differential channels? Since two AI channels are involved in the measurement of a differential channel. Is the sample rate per channel a function of the number of analog channels or the number of differntial channels?

 

 

 

How to synchronize waveform graphs and data logging with TDMS pause in NI-DAQmx ?

$
0
0

I am using a PXIe-6376 DAQ card to control a laser experiment. The card generates a periodic waveform as a ramp to tune a laser (AO). Different laser beams are then synchronously detected on multiple channels (AI). The acquisition occurs at reasonable high rates, which led us using the TDMS file format for simultaneous log and read. Since the laser should be continuously scanned, but data have to be registered only for selected periods, at quite high rates (about 4000 data points per millisecond), we thought implementing the DAQmx read property "LoggingSmiley Tongueause" according to the example given by TDMS Logging with Pause Logging. Accordingly, our vi Laser_AcqControl_v1 (see also the attached picture Diagram.png), first configures the hardware and a loop then checks continuously wether the acquisition should be logged to a file or not.

There are two caveats however, and I wonder if these might not be overcome using some of the read property options. The first is that the laser tuning signal displayed as a yellow trace on the graph (see Graph panel).png is arbitrarily displaced after each start of the program. It would be nice if the display could be synchronised with the AO so that the phase on the wafers graph display stays constant.

The same holds for the acquired data in the TDMS files. When we press the start Logging ? button on the graph panel, logging occurs for a preselected time period (Acquisition time). Presently the data is written to file once the start logging button sets the DAQmx read property Logging.pause to False. However this can occur at any instance and the file stream starts at whatever point on the waveform. Is there a simple way to start the file streaming always at the begin of the ramp using the functionality implemented in DAQmx ? 

Use GNUradio plus Labview on multifunction I/O for software defined radio

$
0
0

Hi I want to do some signal transmission testing with multifunction I/O USB6361, mainly the SNR and BER under different physical channels and under different modulation algorithm. I already have all those modulation/demodulation algorithms build on GNUradio because I use hackrf one to do the testing before.

 

Now I want to switch to the national instrument. I already have the transmitter and receiver, My question is: am I able to use GNUradio and Labview basic on those I/O interface? For example, I only use Labview to transmit the saved file and save the received signal to another file. And then do all the mod/demod on GNUradio on my computer. Does anyone try that before?

 

Or I need to purchase the Labview development version which comes with the signal processing toolkits itself.

Noisy Signal from USB 6211

$
0
0

Hello All, 

I'm very new here and need help.

I just got new USB 6211 and used to get signal from lock-in amplifier.

The signal seems to be very strange. To check it, I applied only 5v from the lock-in and the signal is so weird. See the attached file.

it suppose to be 5v output, but as you can see it is noisy at some interval, goes to zero at other intervals, and solid 5v sometimes in a repeatable systematic way!

Can you please guide me through this.

thanks


Can NI845x I2C/SPI/GPIO driver import a script file?

$
0
0

Hi, 

I am trying to understand the NI845X driver and there seems to be two methodology Basic and Script based. I wanted to know if the Script portion of driver allows import of a script file(ex. XML)/batch file full of commands which can be executed. Thus, reducing the LabVIEW code work. 

 

Regards, 

Max

Data Acquisition Device for 0-0.4V signal

$
0
0

Hey everyone!

 
My name is Katie and I'm currently working at Queen's University to communicate an analog output signal with a range of 0-0.4 Volts to a computer so that I can track the voltage over time in LabVIEW.  I'm currently using the National Instruments USB-6009 Data Acquisition device to do so, but unfortunately I'm experiencing quite a bit of noise in the signal.  Do you know of a comparable data acquisition device that would be able to take in a signal of this magnitude with better accuracy?
 
Thank you very much for your help in advance!

Max AO rate with multiple channels programmatically

$
0
0

How do you find the maximum AO rate for multiple channels programmatically? I have two AO channels in a task, request the Maximum AO Rate from a timing property node, and it returns the max for a single channel. Specifically, for a PCIe 6351, the specs are 2.86MS/s for 1 channel and 2.00 MS/s for 2 channels. The max rate property node returns 2.86MS/s.

If it is not available directly, is there a way to calculate it for any board.

error 200524 with Simultaneous analog output multiple channels

$
0
0

Hi 

when i try to runmy vi i got the error 200524. can you please help me? what can i do to change the graph"courbe intensité-Tension" with an xy graph with multiple plots.

 

thanks

What are valid combinations of sampling rate and number of samples using a NI PCIe 6363 Device via the DAQmx API

$
0
0

Summary:

We have a system controlling a NI-PCIe 6363 Device via the NI-DAQmx library (see NIDAQmx.h, nidaqmx.lib).  I have successfully programmed the device for digital and analog I/O.  At this time, we have a single analog input that we are trying to control with a variety of combined (sampling rate and number of samples).

 

Question:

What are the valid combinations of {sampling rate, number of samples} given the following Setup?

 

Setup:

Here is the abstract C++ code configuration:

 

// internal clock is 10 MHz

int32 read = 0;

float64 dSamplingConvRate = 2000000.0;   // 2M Hz

 

// set of parameters that does work
float64 SamplingRate = 200000.0; // 200K Hz
uInt32 nSamples = 100000;        // 100K 

 

DAQmxCfgSampClkTiming(m_TaskHandle,
NULL, 
SamplingRate,
DAQmx_Val_Rising, 
sDAQmx_Val_ContSamps,
nSamples);

DAQmxSetAIConvRate(m_TaskHandle, dSamplingConvRate);
DAQmxSetSampTimingType(m_TaskHandle, DAQmx_Val_SampClk);
DAQmxSetStartTrigType(m_TaskHandle, DAQmx_Val_DigEdge);
DAQmxSetDigEdgeStartTrigSrc(m_TaskHandle, "/Dev1/PFI10");
DAQmxSetDigEdgeStartTrigEdge(m_TaskHandle, DAQmx_Val_Rising); 
DAQmxSetStartTrigDelay(m_TaskHandle, 0.0);
DAQmxSetStartTrigDelayUnits(m_TaskHandle, DAQmx_Val_Seconds);

 

next, we setup a callback:

DAQmxRegisterEveryNSamplesEvent(m_TaskHandle, DAQmx_Val_Acquired_Into_Buffer, 1, 0, EveryNCallback, this);

 

inside the callback, our code reads the data:

DAQmxReadAnalogF64(m_TaskHandle, 
nSamples, 
10.0, 
dataLayout, 
pBuffer, 
nSamples, 
&read, 
NULL);

 

Discussion:

This setup uses a waveform on "/Dev1/PFI10" where a square wave cycles every second.   In this design, the leading edge of the assigned trigger pulse kicks-off the data collection (via DAQmxSetDigEdgeStartTrigSrc).   The above abstract code snippet (key parameters are shown to illustrate the setup) works well.  The system runs continuously until we stop data collection using API calls to stop the DAQ under our software control.  This pattern configured the API to internally transfer the data into our client buffer using the DAQmx thread (the eventOptions flag was set to 0, so the callback function is called in a DAQmx thread) as opposed to the alternative method of using a separate thread via DAQmx_Val_SynchronousEventCallbacks.   Once we've read the data using DAQmxReadAnalogF64, we return, everything works fine.  This setup is stable and runs without error continuously for many days.   The goal is to change the readout frequency by changing the number of samples read at a constant ADC rate.  The internal clock is 10MHz.

 

Question:

What are the valid combinations of {sampling rate, number of samples} given this setup?


For example, trying the following setup does not work, the registered callback is never called.

 

float64 SamplingRate = 180000.0; // 180K Hz
uInt32 nSamples = 60000;         // 60K 

 

But, the following setup combinations do work.

 

float64 SamplingRate = 200000.0; // 200K Hz
uInt32 nSamples = 200000;        // 200K 

 

float64 SamplingRate = 200000

uInt32 nSamples = 100000

 

float64 SamplingRate = 150000

uInt32 nSamples = 50000

 

float64 SamplingRate = 200000

uInt32 nSamples = 50000

 

float64 SamplingRate = 125000

uInt32 nSamples = 25000

Viewing all 6883 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>