DAQ Assistant: Clock Settings (Samples To Read, Rate) can affect signal readings?

Dear all,
I'm totally new to Labview, and recently I get confused with the equipment I'm dealing with.
Technical details:
The Labview version is 7.1; computer operate system is Windows XP;
The equipment has a NI PCI-6220 and a 68 Pin Connector Block to read signals from the equipment;
There are 4 channels in DAQ Assistant (2 pressure reading, 2 temperature reading);
For the first pressure reading, Signal Input Range from 4m to 20m Amps;
Clock Settings are Samples To Read = 5, Rate (Hz) = 20.
Description of the problem:
I use Labvew to monitor and record pressure readings and temperature readings. The Labview configuration was set up by my advisor several years ago. Recently, I found the pressure reading vibrated a lot; for example, 5.01 to 5.05 bar within a second. In order to get a stable pressure reading, my advisor suggested me to change "Clock Settings" in DAQ Assistant from Samples To Read = 5, Rate (Hz) = 20, to Samples To Read = 250, Rate (Hz) = 1000. In this case, she believed that since we increase sample numbers and sampling rate, we could have more data, and thus have stable pressure readings.
At first I could have very stable pressure reading. The last digit (0.01) did not change within 20 seconds. However, somehow after a day the pressure reading became unstable and even worse than previous. (pressure reading vibrates from 5.01 to 5.30 within a second)
This is not the worst case. We found that when we set Clock Settings: Samples To Read = 5, Rate (Hz) = 20, the pressure reading is about 8 bar. However, when we set Clock Settings: Samples To Read = 250, Rate (Hz) = 1000, the pressure reading is about 5 bar. In this case, we even don't know which pressure reading is correct.
Labview records current, and transforms it into pressure reading. Thus my advisor tried to monitor the current reading by Labview, and she found the current reading changed when she changed the Clock Settings. (0.004 Amps (5 bar) when Samples To Read = 5, Rate (Hz) = 20; 0.005 Amps (8 bar) when Samples To Read = 250, Rate (Hz) = 1000)
Since we only change the sample numbers and sampling rate, the average readings should still be similar. However, the reading are not similar. That is what confuses me.
My questions are, if Clock Settings in DAQ Assistant could affect signal readings? If so, how it could affect the signal readings? What is the effect of "Samples To Read" and "Rate (Hz)"? How to determine these parameters to get the true pressure readings?
Thank you very much for your help. Hope to have some feedbacks from you.
Best regards,
Cheng-Yu
Energy and Mineral Engineering
the Pennsylvania State University

A 6220 cannot read a current, it can only read a Voltage, so you'll probably have some (or should have) a resistor accros the voltage input. (normally 50 Ohm for a 0-20 mA signal).
My first step would be to measure this voltage with a multi-meter so you know what the actual voltage should be.
Then I would read that same voltage with MAX (measurement and automation explorer) to make sure you have the right value
Now about the changing of the voltage/current/pressure, how have you terminated the other signals? Have you provided a good earthing?
If you sample with a high frequency (1 kHz), perform an FFT on the acquired data, I can imagine a dominant 50 or 60 Hz (depends on where you live) in the signal that might cause your problem.
Ton
Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
Nederlandse LabVIEW user groep www.lvug.nl
My LabVIEW Ideas
LabVIEW, programming like it should be!

Similar Messages

  • I am trying to log data from 4 voltage input signal using labview, but when i use DAQ assistant i am able to log data from one signal at a time only.

    I am trying to log data from 4 voltage input signal using labview, but when i use DAQ assiatant i am able to log data from one signal at a time only.I am trying to get all 4 input data to logged in a single file againt time. I am new to Labview, I need to sample this data within a couple of days can someone help please.

    Naveen
    Check out the info in the Analog Input section of the document linked below.  (Ignore the part about Global Channels.)  In Figure 5, notice that you can select multiple channels while holding <Ctrl> or <Shift>.
    Developer Zone Tutorial: NI-DAQmx Express VI Tutorial
    Kyle B  |  Product Support Engineer  |  ni.com/support

  • Labview ignores all but 1 Daq Assistant, how can I avoid this?

    When I am putting together my block diagram, I use the DAQ Assistant to orchestrate everything.  Then when I go to create another DAQ Assistant instance, LabVIEW seems to ignore the first one.  It appears as though I can only use one DAQ Assistant at a time in my VIs, is this the case?  I am a bit of a novice, is there an easy way to avoid this, or change the orginal DAQ Assistant into some other form so I can use another DAQ Assistant for developing another part of my VI?
    I have looked long and hard for a good explanation of the difference between Tasks and Virtual Channels and while I have found efforts at explaining it, I do not understand.  I see that I can convert my DAQ Assistant into a task, but then I have a task output which does not help me (I need a data output for my VI).
    I am sure this is obvious to someone that has done it a million times, but I just can't find an answer wading through all of the knowledge base information or the LabVIEW help.
    Thanks a bunch!
    ~milqman

    Hello milq,
    That following tutorial that Novatron linked you earlier is an awesome resource for becoming familiar with programming with the NI-DAQmx.
    Learn 10 Functions in NI-DAQmx and Solve 80% of Data Acquisition Applications
    An important point to take away from this tutorial is that you can either create a DAQmx task using the wizard-style interfaces provided by the DAQ Assistant and within Measurement & Automation Explorer (MAX), or you can programmatically create and configure your DAQ Task in your LabVIEW code using the DAQmx Create Virtual Channel VI, DAQmx Timing VI, etc.  When you create a new DAQmx Task using the wizard-style interface, you are configuring all of the settings for your task manually.  When you use that DAQmx Task in LabVIEW (with a DAQmx Task Control or Constant), you are referencing all of those configuration options you've manually set.  To actually perform a read or write operation based on those settings, you need to wire the DAQmx Task into the 'task in' input of a DAQmx Read or DAQmx Write VI. 
    So for your analog input operation, you can wire the task directly into a DAQmx Read VI.  In the DAQmx Read VI, you'll want to select the type of task your reading from in the drop down box (Analog), if your reading from a single or multiple channels (1 Chan or N Chan), and if taking just one or multiple measurements with each call to the DAQmx Read VI (1 Samp or N Samp)
    For your digital output operation, you'll want to configure a separate digital output task, and wire it directly to a DAQmx Write VI.  Again, select the type of task your writing to (Digital), if your writing to a single or multiple channels, and if you want to perform a single write or multiple writes.
    To help with getting started with DAQmx programming in LabVIEW, I would highly recommend taking a look at the DAQmx example located in the LabVIEW Example Finder (Help > Find Examples).  A difference you'll note in these examples is that all the task configurations that you have been making with the wizard-style DAQ Assistant are done programmatically with the DAQmx Create Channel and DAQmx Timing VI.  I hope this helps and good luck!
    Travis G.
    Applications Engineering
    National Instruments
    www.ni.com/support
    Message Edited by Travis G. on 06-21-2006 05:23 PM
    Attachments:
    AnalogInDigitalOut.Jpg ‏21 KB

  • How to select signals from the output of a DAQ assistant

    Hi! 
    I am a new user of Labview 8.5 and I am working with a USB-6210. I have two different instruments connected to the same USB device, half of the channels are being used for pressure transducers where I only need to reed and save the data, while the other half are associated to TCD detectors where I need to perform some analysis to the signal to obtain and save the data. I am in the first step of building the block diagram, After I define each of the signals which its corresponding channel using the DAQ assistant, I need to select and separate the signals coming from the pressure transducers from those coming from the TCD detectors, before I can continue drawing the block diagram. I am trying to use the Select Signal function but I am not sure how to do this. Can anyone please let me know at least in which manual can I find a good explanation? I have been reading the Getting Started and the User Manual for LabView but they have not been very useful so far.
    Thanks!
    Solved!
    Go to Solution.

    Wire the Select Signals express VI to your DAQ Assistant and run the VI once (this allows the signal names to propegate).  Then when you open the Select Signals configuration you'll be able to pick out the channels you want by name instead of just "Signal 1" etc.
    It sounds like you'll probably want two Select Signal Express VIs, one for the TCD detectors and one for the pressure transducers.  Something like this:
    If you right click on the VI and select Help or click on the Help button within the configuration dialog you will bring up the LabVIEW help page for this (or any other) VI.  Are you looking for some other information that isn't documented in the help file?
    Hope this helps,
    Simon

  • In Labview 8.5, what happens if the signal input exceeds the signal input range set by the DAQ Assistant?

    Hello all,
    This should be a pretty simple question, but I can't seem to find the answer on-line and don't currently have the capabilities to test this:
    I'm using LabVIEW 8.5 and have a VI that imports sensor data through the DAQ Assistant. In the configuration tab there is a signal input range. What happens if my sensor exceeds this range? Will I get a warning? Will the value default to the maximum (or minimum)? I was interested in writing in some code to display an error as I approach the limits of this range, but was unsure if I also needed to include some code to display an error if the range is exceeded as well.
    Thanks for the help,
    Tristan
    Solved!
    Go to Solution.

    Hello Tristan,
    The behavior depends on the range you choose and the device you are using.
    If you are using a device with only one valid input range, we will use this range even if you set a smaller minimum and maximum in the DAQ Assistant.  Thus, if your device only supports ±10V and you set the range to ±8V, you will still continue to get valid data after your sensor exceeds 8V until you approach 10V.  Once you reach the limit of the range of your device, the output will "rail" and just return the maximum value until the signal drops below the maximum again.
    Note: A device that is nominally ±10V usually has some overshoot (like ±10.2V) that is typically specced in the manual.
    However, if you are using a device with multiple input ranges then things get more complex.
    The NI-DAQmx drive will pick the smallest range that fully encompasses the range you choose.  So, suppose your device supports the following input ranges: ±0.2V, ±1, ±5V, and ±10V and you choose 0V - 3V as the range in the DAQ assistant.  The NI-DAQmx driver is going to look at your input range and the list of input ranges that your hardware supports and choose the smallest that encompasses the full range you set.  This would the ±5V, because that's the only range that contains up to 3V.  As a result, any input signal between ±5V will be returned and any outside this range will "rail" to either the maximum or minimum value.
    We do this because using smaller ranges make more effective use of the resolution of the ADC.  Thus we try to use the most efficient range based on what you request without picking a range that will cause you to miss data.
    Let me know if I can clarify this further. 
    Seth B.
    Staff Test Engineer | National Instruments
    Certified LabVIEW Developer
    Certified TestStand Developer
    “Engineers like to solve problems. If there are no problems handily available, they will create their own problems.”- Scott Adams

  • Sample clock of DAQ assistant

    I am using DAQ assistant to generate output voltage and another DAQ assistant to measure input voltage. I am to sepecify teh clock type for the two DAQs. I want the same clock type for both the DAQs so that the data from both DAqs are synchronized, that is run with the same clock. I m not using any external clock and want it software timing. I want to know if it is okay to select internal clock type for the output voltage DAQ assistant and then select external clock type for the input voltage DAQ assistant and select the clock source as the analog output sample clock?
    OR if i select the clock type as internal for both the DAQ assistants will the data be synchronized?

    Hi Amber,
    Analog Input is not retriggerable,
    meaning that once you stop the task you have to restart the entire task
    (including the analog output). But if you want to just stop displaying the data
    on the input channel, simply encase the Measurement
    output in a case structure with a Boolean control that you can click to update
    the graph or not.
    If that doesn’t work for what you’re
    trying to do, please give more details as to your overall application so the
    community can help answer your specific questions.
    Mark E.
    Precision DC Product Support Engineer
    National Instruments
    Digital Multimeters (DMMs) and LCR Meters
    Programmable Power Supplies and Source Measure Units
    Attachments:
    Not update voltage.png ‏5 KB

  • DAQ Assistant, Analog Signal to Analog Comparison Event for sample clock

    I am using a PCI-6071E and DAQmx.  I would like to use an analog signal on PFI0 to trigger Analog Comparison Event to be used as the sample clock in DAQ Assistant.  Is this possible and if so, how? 

    Hi Ben,
         You can use your analog signal on a PFI0 line as you are intending.  A few pitfalls of doing so are listed in this article.  Additionally, this Developer Zone article explains what you are trying to do, and gives and example that you may find helpful.  Have a good one!
    aNItaB
    Applications Engineer
    National Instruments
    Digital Multimeters

  • When using DAQ assistant to read frequency

    When using DAQ assistant to read frequency and Task timing is set to:
    N Samples, Clock settings to read 26,
    Frequency setup to rising edge,
    1 counter with 10 kHz to 1 kHz range.
    I get back a single number.
    Can I assume this is an average reading of 25 samples with the first sample unused?
    What is the base clock used?
    Is the “26” 26 cycles of the frequency to be measured?

    Hello,
    If you choose to acquire N samples from the DAQ Assistant then it will acquire all of these samples and return them to LabVIEW as an array.  However, when you use the DAQ Assistant it outputs the data in the dynamic data type first.  This data type makes it easy to graph and run the data through other express VIs.  If you were to create a Numeric Indicator from this data type it would just display the last element from the dynamic data array.  To display this data properly in a numeric format convert the dynamic data to an array of doubles by using the Convert From Dynamic Data function in LabVIEW.  Then you can select to convert it to a 1D array of scalars and when you create an indicator off of the output of this function all of the data should be displayed.
    The timebase that is used for lower frequency measurements is the onboard clock, which is internally connected to the Source.  Then you connect your signal to be measured to the Gate of the counter.  Since the frequency of the onboard clock is known it can be used to calculate the frequency of an unknown source based on when the counter is on and off (determined by the Gate). 
    Have a good day,
    Brian P.
    Applications Engineer

  • Samples to read option in DAQ

    Hello,
              I am new to signal processing and confused about the DAQ Assistance option "samples to read".
    What I understand is about
     Sampling rate indicates the samples read per second, I run my vi for a second and I got 10K samples when my sampling rate is 10k. Frequency resolution is also depend on this sampling rate and Samples to read.
    My settings in DAQ Assistance are
    continuous acquisition, Samples to read--1K, sampling rate--10K and I run my Vi for exactly one second and I got 10K samples but I am confused about "Samples to read". What it is exactly?
    Thank you.

    You can't write "nothing" in that box. The value must be 1 or greater.
    It is a bit confusing, because in Continuous Mode, it really isn't Samples to Read, it is a range of buffer sizes - which was described in the previous reply.
    Check out the HELP >>> Buffer Size
    How Is Buffer Size Determined?
    Input Tasks
    If your acquisition is finite (sample mode on the Timing function/VI set to Finite Samples), NI-DAQmx allocates a buffer equal in size to the value of the samples per channel attribute/property. For example, if you specify samples per channel of 1,000 samples and your application uses two channels, the buffer size would be 2,000 samples. Thus, the buffer is exactly big enough to hold all the samples you want to acquire.
    If the acquisition is continuous (sample mode on the Timing function/VI set to Continuous Samples), NI-DAQmx allocates a buffer equal in size to the value of the samples per channel attribute/property, unless that value is less than the value listed in the following table. If the value of the samples per channel attribute/property is less than the value in the table, NI-DAQmx uses the value in the table.
    Sample Rate
    Buffer Size
    No rate specified
    10 kS
    0–100 S/s
    1 kS
    100–10,000 S/s
    10 kS
    10,000–1,000,000 S/s
    100 kS
    >1,000,000 S/s
    1 MS
    Note  For performance reasons, the default buffer size for continuous acquisitions differs slightly when logging is enabled.
    You can override the default buffer size by calling the Input Buffer Config function/VI.
    NI-DAQmx does not create a buffer when the sample mode on the Timing function/VI is set to hardware-timed single point.
    Note  Using very large buffers may result in diminished system performance due to excessive reading and writing between memory and the hard disk. Reducing the size of the buffer or adding more memory to the system can reduce the severity of these problems.
    Richard

  • Samples to Read and Rate (Hz)

    In the DAQ Assisant window, there are two options for reading samples:
    1. 'Samples to Read'
    2. 'Rate (Hz)'
    Could someone please define the meaning of these? the context help did not clearify the meaning of these for me.
    Examples would help also:
    for example right now I have the settings at:
    Samples to Read: 1
    Rate (Hz): 200
    what does this mean in terms of samples read per second?
    Am i recording data at 200 Hz?
    Any help would be greatly appreciated.
    Cheers,
    Oliver
    Solved!
    Go to Solution.

    What is your sample type (Continuous, Finite Samples, Single Sample)?
    If you are using Continuous, then the sample rate is how often a sample is taken.  Not sure in the DAQ Assistant, but with the DAQmx Timing VI, the number of samples sets the buffer size.
    If you are using Finite Samples, then the sample rate is the same as the Continuous, but the number of samples is how many samples you want in a single acquisition.  The DAQ card will not continue to gather samples between reads.  It only gathers the defined number of samples with each read.
    If you are using Single Sample, then neither of those settings are useful.  The card will just take a single sample and be done.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • How to properly read data from one DAQ-assistant and write simultaneously with another DAQ-assistant (which is inside a loop)

    Hello.
    I'm a newbie working on my Master's thesis conserning a project that is based on old G-code made by another newbie so bear with me.
    I need to create a sequance of output controls. For this I'm using a for loop that eventually creates two triangular ramps during a period of 90 seconds. I've confirmed that this function works properly by measuring the actual output of the DAQ-decice (NI USB 6353).
    The problem is the following: During this controll-cycle I need to simultanously collect data from the same DAQ-device. At this point there is only one DAQ-assistant output-block in the main loop of the program and all the signals are derived from it to where they are needed.There is a case-structure (the bottom case structure in the picture) that contains the functions needed to collect the data during the test cycle. However these two actions, outputting data and inputting data, are not synchronized in any way which may be the reason why I get the 200279 error or alternatively the 200284 error during the test cycle. I've tried changing the sample rate, buffer size and the timeout time as adviced but nothing seems to help.
    What would be the simplest way to solve this problem?
    Help is greatly appreciated!
    Attachments:
    problem.jpg ‏206 KB

    Thanks for quick reply.
    However, I did try it (see the picture) but I still have a problem: I only get 100 samples / channel during the test sequence (all from the first seconds of the sequence) in total even though I've set the data aqcuiring DAQ-assistant as "continous" and "samples to read = 95k" and rate is 1000Hz.
    Edit.
    And lastly, I have trouble adding this "extra" DAQ-assistant to the vi. because I get an error about a resource (The 6353) being reserved, even though I connected a false constant to the "STOP" -input of the main DAQ-assistant.
    Attachments:
    is_this_what_you_meant.jpg ‏212 KB

  • Conflict between the saved data and the sampling rate and samples to read using PXI 6070e

    Hello, I am using PXI 6070e to read an analog voltage. I was sampling at 6.6 MHz and the samples to read were 10. So, that means it should sample 10 points every 1.5 um. The x-axis of the graph on the control panel was showing ns and us scale, which I think because of the fast sampling and acquiring data. I use "write to measurement file" block to save the data. However, the data was saved every 0.4 second and as 35 points data at the beginning of each cycle (e.g. 35 points at 0.4 sec and 35 at 0.8 sec, and so on) and there was no data in between. Can anyone help me how there are 35 reading points every cycle? I could not find the relation between the sampling rate and samples to read, to 35 points every 0.4 second!
    Another thing, do I need to add a filter after acquiring the data (after the DAQ assistant block)? Is there anti-aliasing filter is built in PXI 6070e?
    Thanks for the help in advance,
    Alaeddin

    I'm not seeing anything that points to this issue.  Your DAQ is set to continuous acquire.  I'm not sure if this is really what you want because your DAQ buffer will keep overwriting.  You probably just want to set to Read N Samples.
    I'm not a fan of using the express VIs.  And since you are writing to a TDMS file, I would use the Stream to TDMS option in DAQmx.  If you use the LabVIEW Example Finder, search for "TDMS Log" for a list of some good examples.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • How can I programmatically change the voltage range settings in a DAQ Assistant

    Hi,
    First post here.  
    I need to be able to change the voltage range properties of a daqmx DAQ Assistant based on user input.  My hardware, an SCXI-1102C does not allow changing this property on a running task, so I'd like to either set the analog input voltage range before the DAQ Assistant activates, or pause the DAQ Assistant immediately after it starts, set the values and then resume.
    I don't know how to edit the task ahead of time because the DAQ assistant creates the task when it runs, and there is no task before that.
    In the attached picture, I have a conditional section, set to run only if the while loop iteration is 0.  I take the task from the Daq assistant, send it to a stop task vi, set the property, and then send the task on to the start task vi. I can watch it run with the debug light on, and everything seems to work correctly, but on the second (and all the other) iteration of the loop, I read out AI.Max and it seems like the DAQ Assistant has re set it back to 5V.  Can anyone see what is going wrong here?
    BTW, this is continuous acquisition and the code does not produce error messages when it runs.
    I did come across a similar question that someone posted here back in 2006, but his question was specifically aimed at a Labview API (VB, I think), and not an actual G solution.
    Attached are the actual vi in question and a png image of the block diagram.
    Thanks! 
    Ruby K
    Solved!
    Go to Solution.
    Attachments:
    Labview_question.PNG ‏14 KB
    Sample_AIV.vi ‏91 KB

    First, if you want to start getting beyond the basics with DAQ, you are going to have to stop using the DAQ assistant and do it with lower level DAQmx VI's.  There are hundreds of examples in the example finder.  You can even right click on the DAQ assistant and select open front panel.  That will create a subVI that you can open and see what is going on behind the scenes.  Do it.  I think you'll find the DAQ task is being recreated on each (though I'm not 100% of how the settings are established or maintained in each section of that subVI).
    The second problem is you have a bit of a race condition on iteration 0.  Those two DAQ property nodes are running at the same time.  So when you read the AI.Max, it may be happening before or after the AI.Max is set in your case structure.
    Third, make sure you wire up your error wires.

  • Samples to Read y Rate

    Buenas tardes, estoy trabajando con la daq ni6009, la utilizo para medir las rpm de un motor de inducción, a través de un swicth óptico. Con un samples to read de 10k y un rate de 20k la lectura de la velocidad me sale aceptable, el problema es que me salen solo dos o tres datos por segundo y yo necesito 20 datos/ segundo (en un archivo). Al cambiar el simple to read y el rate toma mas datos (hasta 10/seg) pero el valor de la medición es erróneo y tiene muchos saltos.
    Ah los datos de la medición los guardo en un archivo de Excel, y al guardarlos aquí es que lo hace 2 datos/segundo; ya que la tarjeta si esta adquiriendo bien los datos con el simple to read(10k)  y el rate(20k)
    Que podría hacer para tener una buena medición y más datos por segundo?
    Gracias

    Buen día.
    Le adjunto mi Vi, y unas imágenes en el cual le explico cual es el problema.
    De antemano Muy agradecido por quien pueda ayudarme.
    Attachments:
    Pregunta.docx ‏139 KB
    Tesina2.vi ‏483 KB

  • I have a DAQ Assistant configured to read multiple channels at the same time. When I wire a graph indicator to the output, I see all of my signals jumbled together. How do I split them up into seperate signals?

    I have a DAQ Assistant configured to read 2 channels at the same
    time. When I wire a graph indicator to the output, I see the 2
    signals jumbled together. How do I split them up into seperate signals?
    When I wire any type of indicator it is showing just one output of a single channel.
    I want 2 indicators showing 2 different signals as expected from the 2 channels configured. How to do this?
    I have tried using split signal but it end up showing only 1 output from 1 signal in both the indicators.
    thanks in advance.
    Solved!
    Go to Solution.

    Yes you are right. I tried that but I did not get the result.
    I just found the way. When we launch split signal, we should expand it (split signal icon) from above and not from below. It took me a while to figure out this. 
    thanks 

Maybe you are looking for