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

Similar Messages

  • 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

  • DAQ Assistant in subvi not updating output to DAQ board with each call...

    Hi All,
    I am calling a simple subvi that creates a user-defined number of pulses with "Square Waveform.vi."  This square wave (with the given total number of pulses) is then used as an input to a DAQ Assistant controlling an analog output signal on a NI USB-6259 DAQ board.  I am using Labview 8.5 right now.
    However, each time I call this subvi from my main program, the output I measure from the DAQ board is identical to whatever I set in the first call (i.e., if i created two pulses in the first call, I get two pulses on every call, regardless of the input I feed to the subvi).  The multiple calls to this subvi are made in sequential frames in a stacked sequence.  I believe stacked sequences are frowned upon by good labview people, right?  But putting that aside for the moment...
    The "#-of-pulses" input I give to the subvi is updated in a subvi front panel number indicator and a graph of this waveform.  Just not in the real output I measure from the board.  Why is the hardware output being asserted (with the original input value) before this new number can reach the DAQ Assistant?
    The sloppy fix to this is just to put that square wave creation code in my main program each time I need it.  This does work and fixes my problem.  However, I would like to use subvis to keep things clean.
    I am not a good Labview programmer, but have used this software for a number of projects and am stumped by this.  Any ideas?
    Thanks,
    John

    Hi John,
    I am running your code over here and seeing
    the same results.  I believe the problem is that the DAQ Assistant is
    being called inside a loop (really a sequence structure, but
    nonetheless more than once).  Sometimes it is difficult to troubleshoot
    the DAQ Assistant in cases like this--it is trying to be "smart" and
    seems to be avoiding re-configuring its parameters inside the loop. 
    This is intended to improve loop speed for when customers are
    performing continuous operations.  In this case, it is performing a
    finite generation, and the number of samples generated appears to carry
    over from one loop iteration to the other.
    It sounds
    like you have discovered one workaround for this already: putting a DAQ
    Assistant in each frame of the main VI.  Two other options that come to mind are:
    Use the lower-level DAQmx functions inside
    the sub VI.  Here you will have explicit control over when the task is
    created and cleared, and when parameters are set.  You can find
    examples of how to use the DAQmx API in the Example Finder at:
    Help >> Find Examples... >> Hardware Input and Output >> DAQmx
    Write
    a consistent amount of samples to the DAQ assistant by "zero-padding"
    your signal.  For example, instead of writing [10, 1010], try writing
    [1000, 1010].  In this case, it wouldn't need to reconfigure the number
    of samples to generate.
    One lesson to take away here is
    that the DAQ Assistant is good for basic functionality, but for more
    advanced control over the execution and configuration of your task you
    should learn to use the lower-level DAQmx functions.  In this case it
    sounds like the problem is actually a bug.  I'll file a bug report, since the DAQ
    Assistant is not checking for waveform timing changes even though your
    timing is set to Use
    Waveform Timing.
    Thank you for pointing out this odd
    behavior--out of curiosity which version of DAQmx are you using? 
    -John
    John Passiak

  • DAQ Assist Continuos High Speed Display

    I am using the DAQ Assist to read in voltage data and display it as a scrolling chart. When I set it to take "N Samples" it works well, but wont display that data until the N samples have been collected. When I switch it to a continuos mode and set it to take 1 sample buffer at the same rate (20kHz) it actually samples much slower. Any suggestions about how to get a continuous chart that still shows the the data at full speed?
    Thanks

    The DAQ assistant, while it is great for getting a quick and dirty DAQ task up and running, isn't really designed for high speed data acquisition with precise control.  You will likely need to use the lower level DAQmx functions.  Start a task, acquire chunks of data in a loop, end the task.  You may need to pass the data off to a parallel loop for data processing, display, or logging using a producer/consumer design architecture.  Take a look at the DAQmx examples in the example finder.
    If you right click on your DAQ assistant and select Open Front Panel, it will turn the Express VI into a subVI that you can open and see how the underlying DAQmx code works.
    It may even be a matter of selecting continuous samples in your DAQ assistant, a small number of samples to read, have it in a loop that iterates enough times until you have collected your larger number of samples.

  • 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!

  • Number of samples read is not equal to number of AI Sample Clock pulses - why?

    Dear Community,
    I am using several PXI-4472s for acquisition and at the same time I am routing the AI Sample Clock signal to a PXI-6608 counter/timer card so that I can time stamp each sample.
    Unfortunately I am finding that I always get more AI Sample Clock pulses than samples, so I don't know which time stamp corresponds to which sample. Why is that?
    For acquisition I am using something very much like the following DAQmx Sync and Stream example:
    Sync and Stream.vi
    After stopping the tasks, I use DAQmx Read vi again to read whatever samples might be left in the buffer, but that request always comes back empty. I can't figure out if there are AI Sample Clock pulses at the beginning of the task that don't actually acquire any data, or if I have data left over in the buffer after I stop the task that I am not reading properly.
    Any help would be greatly appreciated!
    Cas

    Cas,
    DSA boards (like the 4472) differ from standard DAQ devices. While most DAQ devices use a relatively common type of ADC known as a sequential approximation ADC, a DSA device uses a more specialized ADC known as a Delta-Sigma ADC for its measurements. Delta-Sigma ADCs allow for very precise measurements, and this precision is accomplished by oversampling (frequently 128x or 256x the sampling rate that is being used).
    The above is a very brief explanation of the DSA board's inner workings. It is discussed in more detail in the document linked below. If after reading that tutorial, you still have questions, please post back so that this forum can assist you.
    Synchronization with Dynamic Signal Acquistion (DSA) Products with DAQmx
    Best of luck with your application.
    Regards,
    Jed R.
    Applications Engineer
    National Instruments

  • "External sample clock" and "Rate" for digital input acquisition

    Dear all,
    I want to acquire digital input (21 bits with external clock = 50 kHz) with a PCIe-6343 NI board. Using the  DAQ assistant under Labview, I selected the advanced timing with the sample clock time parametrized as External. However, it is also possible to select the Rate of the acquisition. In my case, i want to get the data at the rising edge of the external clock signal, so at a frequency of 50 kHz.  How can I do that ? I just need to put a Rate of 50 kHz ?
    thanks for your help.
    Cedric 

    Cedric,
    dddsdsds wrote: 
    [...]In my case, i want to get the data at the rising edge of the external clock signal, so at a frequency of 50 kHz.  How can I do that ?[...]
    You answered your question already. If you want to use an external clock, you have to configure the timing source of your task to be external. In order of proper buffer configuration, you should enter 50kHz as rate in addition to the external configuration, but this will not influence the speed of the acquisition (since it is "clocked" externally!)
    hope this helps,
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • Insert a DAQ assistant in producer consumer vi

    Hi,
    I am using a DAQ assistant to receive the measurements in the 10 digital ports.
    Hence I use the DAQ assistant icon in the vi s to get these data in to labview.
    Now I require it to convert these digital values from DAQ assistant into analog( this i have done )..
    Thse analog values are to be taken one at a time for further processing.
    I am trying to use this produces consumer loop for it..http://decibel.ni.com/content/docs/DOC-2431
    however i dont know where to fit in the daq assistant .
    Do i still need the DAQ create channel , sample clock etc?
    or do i simply place my daq assistant in the place of the create channelDAQ icon?
    thanks for any help..
     iam completely confused as to what to do with it!!...
    Regards,
    ruser

    Hi,
    Thank you for the suggestions..
    i am sending one vi here..
    this is my basic vi which gets the data from the DAQ and converts it into data ( angular info) we require ie angular position data of lower and upper encoders. This is a continuous real time prcess, which will stop when we press stop in the vi.
    Now i want to take the a set of data (input and output) each, send it to a vi which will receive this set of data; process it and repeat this for the second set of data etc..
    I am also attaching the lvm file . which is the data we are saving now.
    The first attachment is the vi where i am getting the data.
    The second attachment is the lvm data file.
    Thanks.. I would appreciate any help here...
    ruser.
    Attachments:
    absolute encoder.vi ‏805 KB
    LabVIEW Measurement file.docx ‏17 KB

  • Start button for DAQ Assistant doing pulse generation

    Hi,
    I am new to Labview, and I got the USB 6210.
    I used the DAQ assistant and selected ctr0 to create a pulse.
    This works fine, but the pulse is generated when you run the program.
    I want it so that when you press a button, the pulse generation starts. Then when you press the button again, it offs.
    How would you do this, I dont see any 'data' input anywhere on the DAQ Assistant. Please help.
    Also, I was wondering how to change the digital output line where the pulse will output. Currently it comes out the first D/O line. USB6210 has 4 digital outs, how do I change the output line.
    In DAQ assistant, all i see are two choices for pulse, crt0 and crt1 (USB 6210 has 2 counters).
    Again I am just learning, thanks for any replies

    Hi,
    I’m using NIUSB 6218 to acquire measurements from 16 (Ai16-Ai31) displacement sensors and 16 (Ai0-ai15) from ultrasonic sensors. These sensors are activated alternately which means when acquiring data from the ultrasonic sensors the displacement sensors are deactivated. For ultrasonic scan contains 16 channel x 16  samples  then it will followed by displacement sensors also 16 channels x 16 samples. The acquisition samples are controlled by the trigger signal (rising edge) from the PIC. The whole system is using external clock from the PIC 20MHz. I’m planning to insert START and STOP button on the front panel. The assignment of the pin is as follows:
                PFI0- Trigger signal (acquiring data) from PIC.
                PFI1- BURST signal from PIC (send all (16x16) acquired data to be displayed/save into spreadsheet file.
                PFI4- START signal to PIC
                PFI5- STOP signal to PIC
    So far my VI works when I applied external trigger signal at PFI0. The VI can sample the data but how to inform the PIC that the 16 sample data has been acquired? My problem is I do not know how to combine all these functions (START/STOP/BURST) into my VI. Attached is my sample of the VI which I’m working on. Please advice.
    TQ
    Attachments:
    displacement and ultrasonic data.jpg ‏259 KB

  • 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

  • How to control a digital output signal using the DAQ assistant?

    I am using a USB 6251 DAQ board and would like to control a switch. I am gathering airflow, pressure, and acoustic data on the same board (analog input) and would like the switch to trigger when the airflow value is within a pre-determined range. Finally, I would like to reverse the polarity of the switch (to off) about a second after the initial digital signal, all of which is during continuous data acquisition.
    I am able to actuate the switch only when pressing the "run" button in the DAQ assistant window. I am proficient with data acquisition but have never tried programming an output... Please help!
    Thanks!
    -a troubled researcher
    P.S. I am running LabVIEW 8.5 as well.

    blsmith4,
    You probably won't get the control of the digital port on your card by only using the DAQ Assistant. One of the following examples should provide you the functionality that you would like out of the box:
    Digital - SW - Timed Output (Simple)
    Digital - Continuous Output (More Complex)
    Continuous Write Digital Port - External Clock - Non Regeneration (Most Complex)
    Let me know if these work better for you.
    Best,
    Jason M.
    Applications Engineer
    National Instruments

  • Can I use a substitute for the Sample Clock?

    I have three different analog inputs coming from one device (PCI-6221).  Two inputs are running at the same sample rate while the third needs a faster sample rate and a trigger.  I have these seperated as two seperate tasks but my problem is they both use the sample clock.  Can I use a substitute for the sample clock on the third channel?
    I am running LabVIEW 8.2 on Windows XP.
    Thanks in advance for your help.
    Ron Deavers, CLD

    Hi programmindragon,
    I understand you are trying to
    configure your PCI-6221 to sample on multiple channels, while having
    different rates and triggers for the channels. Unfortunately, you can
    only configure one analog input task to run at once and all the channels in
    the task must share the same configurations, including the sample clock
    and trigger. This is due to the fact that all the channels are
    multiplexed to a single amplifier and ADC on the device. Thus, you will
    not be able to configure the two inputs at one rate and use a different
    clock rate and trigger for the third input. Is it possible to sample at the
    maximum rate on all channels and decimate the data that you don't need on the certain
    channels, as well as share the same type of triggering? Hopefully you will be able to run your application with the same configuration across multiple channels, otherwise you may need multiple DAQ devices. Please let me know if you have any further questions related to this issue.
    Regards,
    Daniel S.
    National Instruments

  • NI-DAQmx task works in MAX or DAQ Assistant test panel but not in LabVIEW

    I am attempting to read a single AI channel from a PCI-6024E card via an SCB-68. I have created a NI-DAQmx Analog Input Voltage Task in MAX for this channel, sampling in contiuous aquisition mode at 100 kHz, 10000 samples at a time, with RSE terminal config. If I use the Test feature from MAX, the channel acquires data as expected.
    In LabVIEW, I call this task using an DAQmx Task Name Constant. If I right-click this constant and select "Edit Task", the Daq Assistant opens and I can use the Test feature from the DAQ Assistant to see that the data is still being acquired as expected.
    However, when I try to programmatically read this channel in LabVIEW using the VI "DAQmx Read (Analog Wfm 1Chan NSamp).vi", the VI returns a constant DC value of 500 mV, which I know is incorrect (I can monitor the signal across the two terminals in the SCB-68 with a DMM to know that the signal coming in varies as expected, and as I read using the test panels). This erroneous reading occurs even if I make a new VI, drop the task name constant on the diagram, right-click the task name constant and select "Generate Code - Example" and let LabVIEW create its own acquisition loop (which is very similar to what I already set up, using the "DAQmx Read" VI).
    Any ideas why the Test Panels work correctly but the LabVIEW code does not?

    Hello bentnail,
    I'm not sure why the test panels are readin the value correcly but the LabVIEW code does not, but there are a couple of things we can try.
    1) What happens if you just use the DAQ Assistant and place it on the block diagram? Does it read out the correct values?
    2) Try running a shipping example that comes with LabVIEW. "Acq&Graph Voltage-Int Clk.vi" should work well.
    3) What kind of signal are you expecting to read (peak to peak voltage, freqeuncy, etc.)?
    Thanks,
    E.Lee
    Eric
    DE For Life!

  • NI6602 pulse width measurement: Do I have to use an external sample clock?

    Hi
    In the .NET 4 example 'MeasPulseWidthBuf_SmplClk_Cont' it is stated in the comments that:
    An external sample clock must be used. 
    Counters do not have an internal sample clock available.  You can use
    the Gen Dig Pulse Train-Continuous example to generate a pulse train on
    another counter and connect it to the Sample Clock Source you are using
    in this example.
    I have an application running without specifying an external clock. The applications is running, but I'm not sure I can trust the recorded data. Here is the channel creation code:
                    task.CIChannels.CreatePulseWidthChannel(readTaskCounter,
                                                            "ReadPulswidthTask", 25e-9, 20e-6,
                                                            CIPulseWidthStartingEdge.Rising,
    CIPulseWidthUnits.Seconds);
    task.CIChannels.All.DataTransferMechanism = CIDataTransferMechanism.Dma;
                    task.Stream.Timeout = callbackTimeoutInMilliSeconds;
    task.Stream.Buffer.InputBufferSize = 50000;
                    task.SynchronizeCallbacks = true;
                    task.Timing.ConfigureImplicit(SampleQuantityMode.ContinuousSamples);
                    task.Control(TaskAction.Verify);
    Note that I'm not specifying any external clock.
    1) Which clock is the daq using? -It is obviously using some clock since I can collect data via this task.
    2) Do I need to change the configuration to use an external clock to achieve reliable readings - as mentioned in the 'MeasPulseWidthBuf_SmplClk_Cont' example?
    /mola
    Solved!
    Go to Solution.

    Hi mola,
    That specific example is for sample-clocked pulse width measurements.  This type of measurement is only supported on newer hardware such as X Series boards and will not run on the 6602.
    Your application that you linked uses Implicit timing, meaning that the signal itself serves as the sample clock.  That is, at the end of each pulse width that you measure, the sample is deterministically latched in.  So, you end up with a buffered array of every pulse width that is seen by the counter.
    Best Regards,
    John Passiak

Maybe you are looking for