Data acquisition with daq card 6533

Hi all,
i need to develop a c++ (visual studio .net, no measurement studio)
program that performs data acquisition at a sampling rate of 10Khz
using a windows xp laptop and the daq6533 card.
The program must sample 8 digital signals. Each signal has a limited
time duration, say a few seconds, and acquisition should start on the
first rising edge of a signal, and terminate on user input. Browsing
through the code provided with the driver, i found the examples in the
cdio folder. It seems to me they almost do what i actually need.
Unfortunately, many of the functions used there are not supported by
the 6533 card, in particular the GPCTR_* family. I've read somewhere
else that this card does not have an hardware counter, is that exact?
I'm a beginner in this field, so i don't know what are possible alternative solution to my problem (if any).
Thanks for any help.
walter

Thanks for your reply.
I don't know actually whether i need to use counter-related functions. My problem is the following:
I need to sample 8 digital signals with a frequency of 10khz. Every signal have a duration of a few seconds in time, and they come from sensors attached to a train's railway. Acquisition begins on the first rising edge of a signal (which coincide with the passage of the train), and end with user input (which should be after the train has passed).
It would be of great help if you can point me to a relevant example, or give me some basic guidelines on our to proceed. If you need more information, please just ask.
thank you very much.
walter

Similar Messages

  • Data-acquisition with NI 6036E DAQ card & GPIB using an external trigger

    Hi all,
    I hope somebody could give me some help with the following and answer some questions:
    Simple system description:
    Labview 6.1
    PCI-GPIB card
    6036E DAQ card
    In my system, I am using an external analog trigger signal (A) for continuous data-acquisition. Characteristics of the analog trigger signal (A) are: ~40 Hz, signal height +1.48V, triggered by rising edge (the analog trigger signal (A) could be changed to a TTL signal). Each data-acquisition is done within ~1.0 ms after the rising edge of the trigger pulse. The timing of the data-acquisition and analyzing procedure is controlled by execution in a sequence structure placed in a loop.
    Now, I connected a power meter to the system, to measure the laser power during the data-acquisition. The power meter has two options to provide the laser power data:
    a) via analog signal output (voltage corresponds to laser power in watts)
    b) via GPIB (direct output reading of laser power in watts).
    Problem:
    During a certain point in my data-acquisition sequence structure (defined by a frame), I want to use the next occuring analog trigger signal (A) to acquire 1 value from the power meter.
    How do I do this in Labview programming for the following two situations?
    a) If I connect the analog output from the power meter to an analog input channel of the 6036E DAQ card. The analog trigger (A) would be connected to a second analog input channel (In case the analog trigger signal (A) is changed to a TTL signal it would be connected to the PFI0/Trig input pin on the DAQ card).
    b) If I use the GPIB connection of the power meter. The analog trigger (A) would be connected to a second analog input channel (In case the analog trigger signal (A) is changed to a TTL signal it would be connected to the PFI0/Trig input pin on the DAQ card).
    An other possibility would be to trigger the power meter directly, so it outputs constantly power meter values at ~40 Hz. How could I than acquire 1 power meter value (at a certain time im my sequence structure) via analog input at DAQ card or GPIB?
    Additional questions:
    How do I configure the PFI0/Trig pin on the 6036E DAQ board individually as an INPUT?
    How do I use an analog trigger signal (A) as counting signal for a loop, or as an activation signal for a sequence structure which includes GPIB commands?
    It would be very nice if somebody could give me some help.
    Kind regards,
    beam

    Hi beam,
    I just want to verify that I understand your situation correctly:
    An external trigger signal (A) is wired to one of your input channels (e.g. CH0) to trigger data acquisition of a second channel (e.g. CH1). Your power meter is connected to an analog input channel, which you would like to trigger with a certain rising edge at some of your sequence structure.
    Problem:
    During a certain point in my data-acquisition sequence structure (defined by a frame), I want to use the next occuring analog trigger signal (A) to acquire 1 value from the power meter.
    How do I do this in Labview programming for the following two situations?
    a) If I connect the analog output from the power meter to an analog input channel of the 6036E DAQ card. The analog trigger (A) would be connected to a second analog input channel (In case the analog trigger signal (A) is changed to a TTL signal it would be connected to the PFI0/Trig input pin on the DAQ card).
    If a task has been configured to acquire signal from one analog channel, it's not possible to run a second analog input task or to add a second channel on the fly. You had mentioned that it's possible to read from the instrument through GPIB. Is it possible to perform a software trigger such that at a certain frame of your structure, when the trigger signal A reaches voltage "x", a GPIB command is written to your power meter to query a measurement reading?
    Additional questions:
    How do I configure the PFI0/Trig pin on the 6036E DAQ board individually as an INPUT?
    You do not need to explicitly configure the PFI0 line as an input. If you want to use it as an input such that it acts as an analog trigger, simply wire the trigger signal to this pin. When configuring the trigger in your software, specify PFI0 as the trigger source.
    How do I use an analog trigger signal (A) as counting signal for a loop, or as an activation signal for a sequence structure which includes GPIB commands?
    You can try using the Limit VI to find out when the trigger signal reaches a certain level, and count how many times this level is reached. Similarly, you can use this as the condition to execute GPIB commands.
    Hope this helps,
    Lesley

  • 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

  • Simulation PID on control and design with DAQ card how to connection

    hi guys.. i am a beginner for LabVIEW 
    i have homework design PID on simulation path and i found by google
    how to connect simulation path to DAQ card ??
    anybody can help me
    which function to connect it???

    Duplicate Post

  • Data acquisition with time stamp

    Hi I'm using NI DAQ 6211 to acquire acceration, strain and temperature from a VI. I have made several modifications and my last two vis are attached. I need to get 1000 data points from a encoder and sampling the period is by far the best way to get acceleration considering my hardware. 
    Is there a way to ensure that all three variables are synchronised within a timestamp without the vi slowing down?
    Sincerely
    Ahmad
    Attachments:
    test_6.vi ‏57 KB
    test_5.vi ‏50 KB

    The problem lies in synchronising the acceleration with the load and temperature. For acceleration I'm getting a period from a counter with Implicit values (i.e. without specifying timing). I have set the number of samples to acquire to 1000 points and this task does not require sample timing. Post processing the period data in matlab gives me the acceleration.
    Now my vi uses a Sample Clock with set number of samples being acquired for the load and temperature. This means that a set number of samples for load and temperature can be acquired and this time may not be enough to acquire the acceleration points; hence they cannot be mapped in time.
    The period is implicit and I can't find a way to synchronise with the load and temperature that are acquired at a fixed sample rate. The bottle neck in this problem is to get the acceleration (period recorded) in sync with the load and temperature. If this can be done without any compromise to the speed of the vi then this problem is resolved.
    I have attached the vis which will show the development to overcome this problem.
    Sincerely
    Ahmad
    Attachments:
    test_1.vi ‏50 KB
    test_2.vi ‏49 KB
    test_7.vi ‏49 KB

  • Data Writing Speed for Excel Sheet while taking data from PCI DAQ card

    Dear All,
              I am taking the data form the card EX-92026 pci card and writing those datas into the Excel sheet, now i want the data at the speed of max of 10 miliseconds but while writing the data into excel sheet, it shows the diff of 15 ms betn 2 readings, and the card specs says it takes the time of 500 microsecs to give the data, so is there any effect of timing, while writing data into excel sheet? is labview take more time, i am using the Open file, write file and close file method and write to spreadsheet file method, but none of them is giving me the effective timing that i wamt, so can u tell me how can i reduce it??????
    Thanks,
    Nishant

    Hi Nishant:
    I think I don't understand you very well. If you are using OpenFile, CloseFile and WriteToSpreadsheet VIs, you are not dealing with excel files, but text files.
    Writing to file is costly in time. You can:
    Open the file just once and
    during de process use just file writing VIs as 'write to spreadsheet'... or a more simple one 'write file'
    Close the file once at the end.
    If you need the process to be faster, you can save all the data at 10ms rate in an array and write to file at the end.
    Or write to file every second what you got the last second.
    Hope it helps
    Aitortxo.
    Aitortxo.

  • Data acquisition with tktds2xx.llb

    Hello,
    I use the "TKTDS2XX Read Waveform to Array.vi" from tktds2xx.llb to get data out of my Tektronix TDS 220 over the serial interface. When I made a measurement (trigger modus normal) I always get only the data up to the trigger point and afterwards I have to switch the oscilloscope off/on. Without making a measurement I can read all 2500 points (default setting).
    Any suggestions?
    Andreas

    There is no easy to put a 2D array into a 2D array. We can only replace a subarray into a larger dimension array.
    A For loop is the best way to handle it. For loops are very efficeint at handling arrays.
    The attached VI (7.1) shows how to process multiple 2D arrays into a larger 2D array. There might be a slightly easier way, but I couldn't think of anything quick.
    What it does is breaks the DAQ array down into single elements and then using 'Replace Array Subset', puts them in the initialized array one at time. I added some timing code at teh end to see how fast is runs the "Replacing". Average time on my P4 1.8GHz with 512Ram is 4ms. This was acquiring 1000 samples on 10 channels.
    Ed
    Ed Dickens - Certified LabVIEW Architect - DISTek Integration, Inc. - NI Certified Alliance Partner
    Using the Abort button to stop your VI is like using a tree to stop your car. It works, but there may be consequences.
    Attachments:
    Replace 2D Array.vi ‏3968 KB

  • Data acquisition with control references

    I'm a new LabView user and I would like to acquire data in a subVI and display that data in the main VI. I think that I need to use control references and refnums, but I just haven't been able to figure it out. I would GREATLY appreciate any help I could get.
    Thank you!

    From your description I would guess that the "subVI" has a loop in it that repeatedly reads the FP hardware, and the indicator is inside the loop. Right?
    The thing to do is move a lot of the logic in the subVI up to the Main VI--or add the Main's added logic to the subVI, whichever is easier. In the first case, the subVI would go away, in the second, the subVI would become the Main VI.
    If you're confused, post your code in V6.0 format and I'll show you what I mean.
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • How can I display a avi-file while acquiring data from a DAQ-CARD at the same time

    While my system is acquiring analog data and controlling a motor, I want to display a avi-film (preferably in full-screen, so that the LabView GUI disapears during this process). Are there any VI's to open external players? May I face some problems to lose samples, due to the calling of external players?

    mhi wrote in message news:<[email protected]>...
    > I've already found this example, but it doesn't work with the latest
    > media-player. Anyhow, thank you for your answer!
    you can also try out this free vi from my website:
    http://www.geocities.com/irene_he/FunStuff.html
    Irene

  • High sample rate data acquisition using DAQ and saving data continuously. Also I would like to chunck data into a new file in every 32M

    Hi: 
      I am very new to LabView, so I need some help to come up with an idea that can help me save data continuously in real time. Also I don't want the file to be too big, so I would like to crete a new file in every 32 mega bytes, and clear the previous buffer. Now I have this code can save voltage data to TDMS file, and the sample rate is 2m Hz, so the volume of data increase very fast, and my computer only have 2G ram, so the computer will freeze after 10 seconds I start to collect data. I need some advise from you briliant people.
    Thanks very much I really appreciate that. 
    Solved!
    Go to Solution.
    Attachments:
    hispeedisplayandstorage.vi ‏33 KB

    I am a huge proponent of the Producer/Consumer architecture.  But this is the place I advise against it.  The DAQmx Configure Logging does all of it for you!
    Note: You will want to use a Chart instead of a graph here.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines
    Attachments:
    hispeedisplayandstorage_BD.png ‏36 KB

  • Why ACK should be deasserted sometimes during the data acquisition with PCI-DIO-32HS burst mode handshaking?

    My peripheral device sends 32-bit data to the DIO board serially with PCLK 6MHz, about 300,000 times totally. The phenomenan like I mentioned in the summary above happens, and it causes some data missings.
    Though I know ACK is not always asserted as somewhere in the NI database says, I want to know why it happens. if I can. I wonder if it is just inevitable or not.
    Do I only have to add some buffer memories to my device and make it watch on the ACK changing? Or, is there any other good way to avoid this problem?

    Hi,
    Burst mode handshaking protocol needs to conditions to be meet before data can be transfered. The PCI-DIO-32HS need to be ready to transfer data and the external device needs to be ready to transfer data.
    The ACK line tells the external device when the PCI-DIO-32HS is ready and the REQ line tells the PCI-DIO-32HS when the external device is ready. When both are ready data should be transfered. This is the nature of Handshaking, guarenteed data transfer (when both devices are ready), but not at a guarenteed rate. Handshaking means that the two devices communicate with each other to determine when to transfer data.
    The PCI-DIO-32HS ACK line is toggling low because the PCI-DIO-32HS is busy catching up with the given transfer and is not ready to receive m
    ore data at this time. The ACK line is not something you can control, it is controlled by the PCI-DIO-32HS.
    Your application may be better suited for use with Pattern I/O if you are not using the handshaking lines, ACK and REQ, to control the flow of data. Pattern I/O does not use handshaking lines and clocks data in on every rising edge of the clock. You may receive an error if your system can not keep up with the transfer rate.

  • I need help in understanding with DAQ card best fits my purposes

    I need a direct face-to-face meeting with an applications engineer.

    Hello Akwan,
    National Instruments has a whole technical department to help you choose the best equipement for your applications. Application Engineers will help you with any problems you have regarding devices you already have. Call (888) 280-7645 and a Technical Representative will assist you with your choice.
    Thank you for calling National Instruments
    Serges Lemo
    Applications Engineer
    National Instruments

  • Generate single pulse with DAQ card

    Hi
    I was trying to use a VI found on the NI site "generate single
    pulse "DAQ-STC" but another VI is requested in order to run;
    that's "set pulse specs.vi". Someone knows where to find it?
    thanks for all
    bye
    -Claudio
    Claudio Vinegoni
    URL: http://www.gapoptique.unige.ch/members/vinegoni/default.htm
    GAP-Optique Phone: +41 (0)22 7026158 (lab)
    University of Geneva : +41 (0)22 7026082 (office)
    Fax: +41 (0)22 7810980
    20, Rue de l'Ecole de Medecine Email: [email protected]
    CH-1211 Geneva
    SWITZERLAND
    Sent via Deja.com
    http://www.deja.com/

    As of NI-DAQ 6.9, you could find the Set Pulse Specs.vi in LabVIEW/vi.lib/daq/zadvctr.llb.
    Erin
    Claudio Vinegoni wrote:
    >>>Hi>I was trying to use a VI found on the NI site "generate single>pulse
    "DAQ-STC" but another VI is requested in order to run;>that's "set pulse
    specs.vi". Someone knows where to find it?>thanks for all>bye>
    -Claudio>-->************************************************************************>Claudio
    Vinegoni>>URL: http://www.gapoptique.unige.ch/members/vinegoni/default.htm>>GAP-Optique
    Phone: +41 (0)22 7026158 (lab)>University of Geneva
    : +41 (0)22 7026082 (office)> Fax: +41 (0)22 7810980>20,
    Rue de l'Ecole de Medecine Email: [email protected]>CH-1211 Geneva>
    SWITZERLAND>>****************>>>Sent
    via Deja.com>http://www.deja.com/

  • DAQ-Card 6533 to SCB-68

    How do I use a hws file to control the output to the SCB-68? I created a file in the Digital Waveform Editor and I want to use this to control the SCB-68.

    Hello,
    It just so happens that I have been working on an example program to do this. My program has not been fully tested yet, however, it should provide a blueprint for doing this. I have attached the program to this thread, just let me know if you have any questions about what is going on in it.
    Best regards,
    Justin T.
    National Instruments
    Attachments:
    Output_HWS.llb ‏464 KB

  • Problem with data acquisition and motion control

    I have PCI-6024E and PCI-7342 cards on a single PC. Servo motion control works fine when it goes alone or is accompanied by one point data acquisition in a while loop, but when I start data acquisition with specified sample rate, the motor moves with breaks.
    Does anybody know what is the problem? Is it possible to fix it?

    How are you performing your motion? Is it a position move or a velocity move? How are your triggering the data acquisition? Using breakpoints on the 7342? If so, are you using single breakpoints or modulo? How are you configuring the data acquisition rate? Are you triggering just the start to the acquisition and the unsing the daq scan clock or are you using the motion controller to send the scan clock itself?

Maybe you are looking for

  • Mixing RAM Modules (1gig + 2gig = 3gig)

    Hello, I am about to buy a Mac Mini and I am on a tight budget. The one thing I want to do for sure is upgrade the memory, but I'm in a quandary of sorts given my budget. The retailer where I want to buy the Mini from only sells the appropriate RAM f

  • How to load jpeg-xr file in as3?

    I tried loader class but it report Error #2044: Unhandled IOErrorEvent:. text=Error #2124: Loaded file is an unknown type. here is my code: package sandbox           import flash.display.Bitmap;           import flash.display.BitmapData;           im

  • Currently updating Apple TV, but stuck in Step 1 of 2.

    I was updating Apple TV, but it has stop on step 1 of 2.  However, it says not to unplug Apple TV while updating.  Can I restart it somehow? 

  • Solution to iTunes slow start up

    I have been having a problem with iTunes on my Macbook Pro whenever I opened iTunes it open straight away but just hung for at least a minute. I checked on the activity monitor, it showed iTunes was using 100% CPU and then stated 'not responding' aft

  • Turn around a log graph

    Hello all, I need a strange graph.  It has to be logarithmic, but I need the time axis markers to be spaced so that the first values are denser than the last values.  In other words, I need the same physical space between 0 and 100, and between 100 a