100 hz data acquisition on fieldpoint cfp2000/2200 on xp

Hi , I want to read data from  AI on cfp2200/2000 series on win-xp . But my data is getting duplicate , Can any body give any sample application for reading data at 100 hz or higher. .

I better explain my problem in the thread How to timestamp continuous analog data acquisition using USB-6009 and GPS timing board?
We are considering to use the PCI-1588 or a GPS timing board (low-profile slot too), but I´m not sure that the USB-6009 can be used to solve the problem.
How to syncronize the data acquisition and timestamps using USB-6009 and PCI-1588 with external GPS?
In other thread I would appreciate any suggestions for GPS timing board and PCI-1588 too.
Regards,
Lilian

Similar Messages

  • Data acquisition time using Fieldpoint with Ethernet Comm Mod

    I am using a simple Labview program that is a simple Do While loop that gets a signal from a Fieldpoint AI module using a FP1601 ethernet communications module.  The signal is changing at a rate of 50 ms or so but I cannot get the program to read it quickly.  I am using a Wait Millisecond to control the speed of the acquisition and for some reason I can not get the data from the Fieldpoint module faster that approximately 0.7 seconds, even if I put 50 ms as the Wait Millisecond.  I tried to change the acquistion time of the AI module (it is at 10 ms) but this doesn't help. 

    Hardware filter setting was my hunch.
    Be aware the Fluke may be performing averaging internally and have a slower response time, thus your Fieldpoint data may be real. The only way to know for sure is to hook up an oscilloscope to the device.
    Can't suggest any specific filtering, it may depend on the nature of the 'noise'
    -AK2DM
    ~~~~~~~~~~~~~~~~~~~~~~~~~~
    "It’s the questions that drive us.”
    ~~~~~~~~~~~~~~~~~~~~~~~~~~

  • Capturing data acquisition frames reliably at 100 hz using serial, how?

    Hi All,
    I am completing development of a 14 channel, 10 bit resolution, pic based data acquisition circuit. It transmits frames of 41 bytes (currently) at 100hz using serial. The embedded code functions satisfactorily. I can see data ok using hyperterminal. I am unsure how to optimise labview to get complete frames without hogging lots of cpu/system resource etc. eg. do I simply set the frame size (num of bytes) to retrieve and set this looping as fast as possible , and/or set the rate to fetch frames at the rate frames are transmitted by the pic? This may allow drift in available buffered bytes to finally overflow the buffer.
    I tend to lose 1 byte in 100 typically doing nothing but this increase
    s to chunks of bytes if I interact with windows.
    I have the feeling a number of decisions need making when setting up a serial link like this but I am unsure which settings best suit my application.
    Thanks in advance,
    Regards
    Chris

    Hi Lynn, Tristan,
    Please find the current llb attached. This has my last serial run and shows how the data gets glitchy after a number of seconds (toward end of the text box).
    I have spent time building the suggestions into code. I am not yet trying to strip out individual channels. At the moment I just want to get frames in reliably before moving on.
    It certainly looks a lot more reliable now but a few more questions have been raised. I think the idea of getting data in using 1 loop then immediately passing it for processing by another parrallel loop seems important for reliability.
    You will notice I grab a frame and it then goes into a que where it will be processed but this needs doing quickly as frames will be used in realti
    me.
    I have set up the code to trim the delay for both the get data from serial port loop and get 1 entry from the que loop.
    I am using 2 identical circuits in my product, 1 captures data from a leg harness, the other controls movements of a biped robot (servos) this occurs in "real time". I need to remove as much latency due to processing as possible.
    click on "video 3" on the right of the page for a prototype demo:
    http://www.robotic-systems.co.uk/products/full_system.htm
    I noticed that some of text embedded within text boxes used in subvi's can tend to float thro to the top level vi. I proved this by adding a bit of text and noticed it kept cropping up occasionally on the top level text box. I found this peculiar but cured it by deleting all chars in the subvi text box. Now I am concerned, could this be somthing to do with why I get glitches in text occasionally?
    Is there some labview feature to say flush all text, numbers and bools prior to running from the top leve
    l?
    I'd be gratefull if you have a look thro my llb and sanity check the flow of code and let me know what you think.
    Best Regards
    Chris
    Attachments:
    Monitor.llb ‏722 KB

  • Data acquisition from switching 500lbs load cell to 100lbs load cell

    I am using 500lbs load cell, and acquiring data by inputing 2volts from 2345 signal conditioning board, and sensor output is connected to SCC-AI03 pin 3 and 4 , and configure this load cell to a channel using NI MAX, data neighborhood, traditional NI-DAQ virtual channel, the physical quantity is voltage set at range -10 to 10, and sensor also set at voltage with no scaling, but, I couldn't get any signal when 100lbs load cell is use, the difference of this 100 lbs load cell is the rated output is at 2.958mV/V, while the 500lbs rated at 1.8295mV/V , how should I do this?
    Thanks.

    Hi,
    At this point, it is difficult to determine exactly what is happening to your acquisition. Could you please provide some additional information by answering the following questions:
    What voltage are you reading with the 500 lb load cell?
    Would it be possible to connect your load cells to a DMM and see what voltage reading you receive? If so, what do you see?
    What is specifically happening when you connect the 100 lb load cell?
    I also noticed that you are using the Traditional NI-DAQ (Legacy) driver. I recommend upgrading to the NI-DAQmx driver.  Here are a couple of links with more information about DAQmx:
    Advantages of NI-DAQmx:
    Transition from Traditional NI-DAQ to NI-DAQmx:
    Learn 10 Functions in NI-DAQmx and Solve 80% of Data Acquisition Applications:
    Regards,
    Hal L.

  • Data acquisition driven by encoder

    Hi everyone,
       I need to sample a capacitive sensor that measures the radial run-out (radial small displacement) of a rotating spindle. LabView v. 7.1 is employed to acquire the data by means of PCI-6036E card commercialized by National Instruments (NI). The spindle rotates at 100 rpm and a rotary incremental encoder is fixed at rear of spindle. The encoder gives two types of digital pulses as follows: a) A-quad-B pulses (it will be used only “A” pulses in this experiment); b) index pulse (one pulse per revolution). This encoder provides 1024 pulses type “A” per revolution. The measurements made by the sensor are driven by “A” pulses which are used as “external clock”. Therefore, every “A“ pulse, the card acquires one sample from sensor. Thus, 1024 data/rev are acquired. I want to sample 5 consecutive revolutions of the spindle. To start the data acquisition, the index pulse of the encoder is used as “start digital trigger”. Also, the index pulse should be used to count the number of revolutions of the spindle. In this way, when the number of revolutions is equal to 5, the data acquisition finishes. By contrast, the programmer also can set the number of samples equal to 5x1024 in the VI. The data acquisition is finished when the number of samples reaches this value. Similarly, the sampling process is started by the index pulse which is the “start trigger”. Note: 1) the sampled data should be put in a buffer. After the sampling process is finished, this data should be saved in a file of LabView; 2) In fact, the data acquired by the sensor are voltage analog input. Questions:1) Could you make a VI for this problem, please? Note: You can use the DAQ ASSISTANT EXPRESS VI or DAQmx TASK NAME CONTROL method.2) How to program the LabView in order to sample data triggered by the rotary encoder (pulse “A”)?3) What should I do to stop the data acquisition at the end of 5 revolutions?4) Could you send examples (VIs) similar to my problem above?5) How can I know if the program (VI) looses an “A” pulse? Is there any kind of error in VI that indicates a miss pulse?  In anticipation, thank you very much for any help. My e-mail: [email protected]                                                                                      Bruce

    Hello Bruce,
    I have a complete solution for this but I cannot give you the VIs because my customer has paied for it and all rights are transfered to him.
    What you need are two tasks.  One task is the analog in task. You must use the DAQmx Timing.vi and the DAQmx Trigger.vi to set it up as needed. Or you create a task in MAX with this setup. The other task is a counter task just counting the pulses from the z-Index.
    Next you need a small state machine with the states:
    init, start, wait and stop.
    init will initialize and start the tasks
    start will read out the z pulse counter and wait for a change from 0 to 1
    wait will read out the z pulse counter or the available samples property, when the desired number of z pulses or samples are available read the buffer with DAQmx Read.vi
    stop will stop both tasks and clear them.
     You will need two additonal counters which you don't have to check for lost A pulses and a external flip-flop electronic. The flip-flop will change it's state with each z pulse and the output will be used for gated counting. With each change of the z pulse counter you need to read out one of the additional counters to check if he had seen the correct number of pulses.
    Waldemar
    Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
    Don't forget to give Kudos to good answers and/or questions

  • Data acquisition on the basis of time

           Hi everyone,
    I want to acquire the radial run-out (radial small displacement) of a rotating spindle using a capacitive sensor. To do so I will use the LabView v. 7.1. The PCI-6036E card from National Instruments (NI) will be utilized for data acquisition. The spindle turns at 100 rpm and a rotational incremental encoder is fixed at rear of spindle. This encoder provides an index digital pulse per revolution. This pulse should be used to start and finish the sampling process. I want to sample on the basis of time, by means of sampling rate of the card (Ksamples/s). So, let us suppose that I want to acquire 500 data/rev. The spindle takes 0.6 sec to complete one revolution. Thus, the required sampling rate is Fs = 500 samples/0.6 s = 833 samples/s. So, I should set the VI in LabView so that it samples only 833 data/s. Therefore, I will have to reduce the sampling rate of the analog-input channels in use. For example, let us suppose that the card provides 100 Ks/s when operating in multiple channels. Let us admit that there are 4 analog-input channels in use. So, the scan rate per channel is 25 Ks/s. This is too much for this application. I only need 833 samples/s. So, I should program the VI so that the card provides that required sample rate. As said earlier, I need to start and end the sampling process at the same point. Thus, to do that the index pulse of the encoder will be used. Also, I want to sample during 5 consecutive revolutions of the spindle. So, by means of a loop in VI, I should count the index pulse of encoder until the number of pulses be equal to 5 (= number of revolutions). At this instant, the sampling process should be stopped. Note: 1) the sampled data should be put in a buffer. After the sampling process is finished, this data should be saved in a file of LabView; 2) In fact, the data acquired by the sensor are voltage analog input. Questions:1) Could you make a VI for this problem, please? Note: you can use the DAQ ASSISTANT EXPRESS VI or DAQmx TASK NAME CONTROL method2) What should I do to stop the data acquisition at the end of 5 revolutions using the index pulse of encoder?3) Could you send examples (VIs) similar to my problem above? In anticipation, thank you very much for any help. My e-mail: [email protected]                                                                                      
     Bruce  

    duplicate post
    Continue in other thread
    Message Edited by smercurio_fc on 11-14-2008 09:10 AM

  • Data Acquisition - using local variables to write data to a file

    Hello,
    I am running a Data Acquisition vi (currently in LabVIEW 7.1 but soon to be updated to 8.2) that collects ~100 parameters of data from several sources contained in a while loop. The current configuration (which I did not write) uses very few subVIs and writes to ~100 local variables to store each parameter. It then reads all the local variables and builds an array of all the strings, converts then to a spreadsheet string, then uses the write characters to file function to append to a datafile. I am trying to clean things up and have came up with subVIs to collect the data from the following sources:
    8 serial port sources collecting btwn 8 and 20 parameters each
    ~15 thermocouple readings
    ~10 analog inputs
    ~20 parameters read off an ARINC 429 bus.
    I have come up with a subVI to read each of the sources and have placed the subVIs in the while loop. Each subVI outputs the data that it collects in array or cluster form. I was wondering how best to write each parameter to a CSV file at between 1 and 10 Hz. Should I write each subVI output to a LV and then read them off as was done before (the difference being that I have reduced the # of LVs to ~10 vs >100?
    I should add that precise timing is not that important, so if all the subVIs are not collecting simultaneously (which I understand that they won't be), it does not really matter.
    Thanks.

    Hi jilla,
    jilla wrote:
    What I think that you are saying is to turn the outputs of the 4 subVIs into inputs of a 5th subVI that writes to the data file. Correct?
    Yes.  It may sound like a fine-point, but I beileve it's better to create a VI specifically for formatting data - in your example, 4 arrays IN, a single string OUT.  Then write the string to file as a seperate operation.  GUI-displayed data can go through a similar transformation, the four arrays wired to a subVI which builds output-structures specifically for display.  It's a beginner's mistake to put lots of individual controls and indicators on the screen when groups of them are naturally related (in an object-oriented sense.)  Use clusters to group related controls - this will keep the diagram much cleaner.
    One more question: at what point (either # of data points or frequency of data collection) does it become necessary to use queues? Thanks.
    Well, there's not really a clearly definable "point".  I'd say if your update-rate climbs above 100Hz, or you witness poor program or system performance, then it's time.  The scenario you've described is a fairly simple acquire/display&log loop - and simple is good.   Then-again people can't see/react-to updates faster than about 10Hz - so it doesn't make sense to sacrifice performance - if performance becomes an issue.
    Re: queues:  Queues are sometimes used to buffer data that's "produced" in one place and "consumed" in another.
    Here, if/when logging data, you're logging with every DAQ.  I wouldn't recommend using a queue to transport data from a "DAQ loop" to a "Logging-loop" - those functions can be in the same loop.  Should/could a queue be used to get data from a "DAQ loop" to update the GUI at a lower frequency?  Sure, but a Notifier might be a better choice.   Further, in the (simple?) program you've described, you might use a case structure (True/False) to only update FP indicators every "X" iterations - a simple solution that doesn't require Queues or Notifiers.
    Cheers!
    "Inside every large program is a small program struggling to get out." (attributed to Tony Hoare)

  • Data acquisition with highly accurate GPS time stamping (hh:mm:ss:sss UT)

    A research group has developed a data acquisition system dedicated to daily observations of solar phenomena at radio waves using high time resolution (5-100 ms).
    First, the analog signal from the antenna (1000-2500 MHz) is sent to a spectrum analyzer (HP8559-A). After that, the analog signal is digitized during 5 minutes in a NI USB-6009 device connected to the PC, before to be stored in a file. By that time, other acquisition data cycle is restarted and so on up to the end of day.
    However, we need timestamp (UTC) the solar data at the beginning and end of each sample of 5 milliseconds, during all acquisition process, in order to have the UTC time information of recorded solar events. So, a time resolution of at least 1 ms is required.
    A software permit us to read recorded data and visualize corresponding spectra during last 5 minutes. However, we need UTC time information in the format hh:mm:ss.sss UT. Then, UTC millisecond is important for us, but not available yet.
    To solve this problem, we are searching for a high accuracy timing GPS receiver (on the order of microseconds or nanoseconds), with at least three significant digits of precision (UT time in milliseconds) and which give us the UTC signal at least each 5 milliseconds or even better (1 ms). However, most GPS receivers only outputs 1 PPS (Pulse Per Second = 1000 millisecond).
    Then, we are open to a better addressing on how to solve this problem !!
    We know that GPS time synchronization with PXI-6608 can be used to precisely timestamp data acquisition, but we have to solve this problem with a lower cost. Also, we require a PCI interfacing instead of PXI.
    Do we have to use a timer card? How do we use a timer, GPS and USB-6009 to timestamp data acquisition? Does the NI PCI-6602 solve the problem?
    Obs:
    The data acquisition software was developed in C++ Builder to run on a PC (Pentium III 2 GHz) under Windows XP environment. We used the NI-DAQmxBase driver to sample the signal from the NI USB-6009.
    We are sure your expertise can help us on this matter.
    Regards,

    I better explain my problem in the thread How to timestamp continuous analog data acquisition using USB-6009 and GPS timing board?
    We are considering to use the PCI-1588 or a GPS timing board (low-profile slot too), but I´m not sure that the USB-6009 can be used to solve the problem.
    How to syncronize the data acquisition and timestamps using USB-6009 and PCI-1588 with external GPS?
    In other thread I would appreciate any suggestions for GPS timing board and PCI-1588 too.
    Regards,
    Lilian

  • Where are the guidelines for how to interface customized data acquisition equipment to LabVIEW?

    I have a need to do some very specialized data acquisition that may require building special hardware. I would still like to use LabVIEW as the front end and perhaps even carry portions of the interface over into the final product. However, I cannot find the documentation. Where is that kept? I have seen references to a number of generic protocols, without any links back to the details, that may be suitable. The data is high bandwidth, but bursty with sampling rates up to 40 MHz and events that last about 100 milliseconds. Can anyone recommend which of the various methods would best suit this application?
    Solved!
    Go to Solution.

    Once you have figured out your communication bus, it is just a matter of how to format your commands and data.  You will need to do this regardless of programming language you choose.  Formating the data is quite simple in LabVIEW.  You just have to write the data to the right thing.
    Quickly based on the limited parameters you have given us, I would go with an Ethernet connection.  I'm not completely sure if the Ethernet bus will be able to handle your bandwidth, though.  If not, then you will need to go to a PCIe or PXIe connection.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions

  • How to externally time data acquisition rate

    I have Lab-PC-1200 card and Labview 5.1. I will like to read the signals from a Hamamatsu linear detector array that has 1024 pixels on it. The trigger (or sample) rate of the detector can be modified over a range covering 1 MHz to 15.625 kHz.
    I use the 'Acquire N Scans ExtScanClk D-Trig.vi' (written by a NI staff member) downloaded from the web. If I set the trigger rate of the detector to 15.625 kHz (the slowest possible), the program runs without any problem. However, if I use a faster trigger rate (say, 31.25 kHz) no data is collected. According to the specs, the maximum data acquisition rate of the Lab-PC-1200 card is supposed to be 100 kS/s. How do I solve this problem?

    I've answered my own question. The solution lies in disabling the internal channel clock and connecting the triggering clock to the EXTCONV* port of Lab-PC-1200 card to fire the channel clock. The scan clock should be timed with an even faster external clock from the detector. Ultimately, it is the channel clock that is important, not the scan clock. The lab-PC card uses the channel clock in conjunction with the number of channels to set up internal gating pulses which of course become the limiting factor. The external triggering clock connected to the channel clock cannot be faster than the speed of the card (in my case, it's 100 kHz).

  • Z600 workstation missing pci data acquisition and signal processing controller driver

    I just installed Win7 Pro x86 on my Z600 workstation.  It was an upgrade from WinXP Pro.  In Device Manager I am missing the driver for the PCI Data Acquisition and Signal Processing Controller and Hardlock USB 1.02.  Can someone assist me in finding these drivers.  I looked on the Support/Drivers page for this  model but couldn't find anything.
    This question was solved.
    View Solution.

    Hi,
    You might get better assistance on the HP Enterprise Business Forum since you have a professional worktsation.
    HP DV9700, t9300, Nvidia 8600, 4GB, Crucial C300 128GB SSD
    HP Photosmart Premium C309G, HP Photosmart 6520
    HP Touchpad, HP Chromebook 11
    Custom i7-4770k,Z-87, 8GB, Vertex 3 SSD, Samsung EVO SSD, Corsair HX650,GTX 760
    Custom i7-4790k,Z-97, 16GB, Vertex 3 SSD, Plextor M.2 SSD, Samsung EVO SSD, Corsair HX650, GTX 660TI
    Windows 7/8 UEFI/Legacy mode, MBR/GPT

  • Driver missing - PCIe Data Acquisition and Signal .....

    Hello, i recently used Boot Camp to install Windows XP on my 2010 15" Macbook Pro.
    All the drivers are working (so far) and i haven't encountered many problems.
    However, there is one thing bugging me:
    When i go into Device Manager in Windows, and look down the list of installed/uninstalled devices, there is a device called "PCIe Data Acquisition and Signal Processing Controller" which has no driver installed.
    I'm PC savvy, but i have never seen this before. My guess is that one of the motherboard drivers is missing, and Boot Camp installer doesn't include that driver?
    Has anyone seen/resolved this, and if so, how?
    Thanks.
    Kaj.

    Okay, will do.
    Thanks.
    Also i wonder if you could help with another problem?
    http://discussions.apple.com/thread.jspa?threadID=2758766&tstart=0

  • PCI Data Acquisition and Signal Processing Controller driver

    I've installed win 8.1x64 on my HP Probook 450 G2 but I am missing the PCI Data Acquisition and Signal Processing Controller driver.
    Can you please help?
    Thanks,
    Leontina
    This question was solved.
    View Solution.

    Hi:
    Please see if installing the Intel Chipset driver installs that device.
    https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=20775&lang=eng&ProdId=816

  • Pci data acquisition and signal processing controller -Device software not installed

    My pc shows me ,the driver software for pci data acquisition and signal processing controller is not installed  on my Device manager.
    Please suggest me a suitable solution.

    No its not working , Give me an alternate solution.

  • Data acquisition from SR 530 lockin

    Hello,
    I need to read the output of the sr530 vector lockin and store them in a file.
    I was wondering if there is any driver which will let me read frequency, output amplitudes & relative phase between the input & output signal!
    Any help will be much appreciated!
    Thanks a lot,
    Ashutosh.

    Thanks a lot for the help Matt.
    I can connect the device via GPIB. Let me tell you a bit more about the problem. As of now I was using a single channel lockin, EG & G 5209, to read the data(so I am kindda familiar wtih data acquisition... not much though). And the only thing I was reading was the output amplitude of the lockin.
    Now I have to use the vector lockin, SR 530, and I will need to read both the output amplitudes, the phase & the frequency (all four of them)at the same time. And I am looking for a driver which can do this, i.e. which can read all four data simultaneously & store the result in a *.txt or *.dat file.
    Do we have something like that?
    Thanks,
    Ashutosh.

Maybe you are looking for