Again Multiple channel Data Acquisition

Again help require
I m using
Config_DAQ_Event_Message with CallBack Functon
Scan_SetUp
Scan_Start
to get data from single channel but the parameter in scan_setup is only Single ChannelNum But I want to get Data from 8 channels at the same time so how is it possible that i can get data from 8 channels using above DAQ API's Help with some VC++ code
If I give total no of chanels in Scan_setup then it creates exception with Config_daq_event_message if I donot use Cofig_Daq_Event_Message then it all works correctly and data from 8 channels is acquired correctly in double buffer but i must use callback with config_daq_event_message,Scan_setup,and Scan_Start API to get double buffer mutiple channel data acqusition. thanks

Hello,
Please see the response to your original post:
http://forums.ni.com/ni/board/message?board.id=231&message.id=3322#M3322
Regards,
Sean C.

Similar Messages

  • Multiple channel data acquisition

    hi sir;
    i want to get the voice data from 8 channels in 8 different
    buffers.The acquisition should be continious.Please tell how this will
    be possible using daqmx API's and what procedure should be
    followed.Also specify what API's should use.Please donot say the
    tradition answer  "see the National instruments examples
    etc.etc".Please tell complete sequence of API's.
     I have installed 7.4 version.
    I want to acquire continue one minute data from 8 channels in 8
    buffer after the one minute all the data of 8 buffer should be
    transfered to other 8 buffer and the continous acquistion should be
    contineoued. I m using DAQ6025E.
    thanks
    ajmal

    Duplicate post.

  • DAQ_START FOR Multiple Channel Data

    Hi dears ;
    Normally we use Scan_start DAQ API to get multiple channel data but i want to get data using Daq_start for multiple channel
    but i dnot want to use this api like Scan_start by giving its second parameter -1 for all channels
    i want to use this api in seperate thread for each channel and i want to get the data from 8 channels simultaneously  using this api.
    plz send code in vc++.if the solution is not possible then send me alternate way.
    Detail:
    There are 8 threads they are running simultanously and every thread want to acquire data from their corresponding channel i.e thread one from channel one thread 2 from channel 2 and son...all the threads goes at the same to acquire the data and come back after one minute and this process continue untill quit the application
    please tell is possible or an altenate solution for this requirement.I donot use Scan_start to get the data of all the channels in one buffer i want to get the data of each channel in its own buffer.
                                     please tell as soon as possible
                                                                             thanks
                                                                                                    ajmal

    Hello ajmal,
    There are a couple reasons why your idea probably won't work.  First, it looks like you are using Traditional (legacy) NI-DAQ functions.  The Traditional NI-DAQ driver is not multi-thread capable.  Meaning that only one thread will be able to access the driver at a time.  Also, it is not possible with Traditional NI-DAQ or NI-DAQmx to have multiple analog input tasks running simultaneously.  Is there a particular reason that you don't want to read all the channels in the same task and separate the array into a different sub-arrays for each channel?
    -Alan A.

  • How to use ni-6008 and build a four channel data acquisition at a rate of 250 samples per channel and display all the data in a waveform chart

    how to use ni-6008 and build a four channel data acquisition at a rate of 250 samples per channel and display all the data in a waveform chart 

    Hi kdm,
    please stick in one thread for the same topic!
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Error -10609!! How to correct for multi-channel data acquisition?

    I am creating a program that will obtain data from all 16 channels of the PCI-DAQ6023E. I keep running into the 10609 Error "Transfer in Progress" when trying to compile and run. How do I set up the code to allow the DAQ card and Visual Basic to analyze all 16 channels at the same time?

    Greetings,
    Most of the time when I see the error 10609 Transfer in Progress it is because multiple calls, such as an analog config or analog start, are being called to the same DAQ device at the same time. Both calls are fighting for the DAQ card's resources. This is an issue with your program.
    I recommend that you take a look at an example program, such as our simple AI example in Visual Basic which can be found in the following directory: \Program Files\National Instruments\NI-DAQ\Examples\Visual Basic\_Getting Started\AI.
    You will see a Component Works control called CWAI. If you right-click on this control and choose properties you will be able to select the channels you wish to read from. You will want to read from all 16 channels by using a
    channel string of 0:15 or 0,1,2,3 .. 15. You do not want to have one CWAI control for each channel.
    You could also take a look at the following example available on our web site.
    Continuous Analog Input on Multiple Channels Using Visual Basic with NI-DAQ Function Calls
    http://venus.ni.com/stage/we/niepd_web_display.DISPLAY_EPD4?p_guid=B45EACE3E25156A4E034080020E74861&p_node=DZ52302&p_submitted=N&p_rank=&p_answer=&p_source=Internal
    Regards,
    Justin Britten
    Applications Engineer
    National Instruments

  • Multiple channel data with different time stamp logging

    I have peaks and valleys from multiple channels with different time stamp but I am not able to log to a single file. Any idea on how to do this?
    Attachments:
    Single Point Peak Valley Log.vi ‏53 KB

    Hi Dennis,
    Sorry for that I have modified the VI.
    Because the peak and valley of every channel will occur at different time and I want to log the peak/valley with the time stamp.
    How can I log them on the same file.
    Attachments:
    Single Point Peak Valley Log_Mod.vi ‏53 KB

  • Multi-channel data acquisition via GPIB using a digital oscilloscope (Tektronics TDS540C) and LabVIEW 7

    I need to acquire datas from all the 4 channels of digital oscilloscope (model Tektronics TDS540C) using LabView 7. Please give me if you have VI programs to preform this task. Thank you.
    Nozo

    Hi Nozo
    There is a driver available here http://sine.ni.com/apps/we/niid_web_display.download_page?p_id_guid=E3B19B3E9533659CE034080020E74861
    Hope this helps you on your way
    David

  • Data acquisition from multiple channels.

    Hello
    Right now, I am able to acquire the signal from a single load cell and display it.But I would like to know of how to acquire  acquire signals from two load cells simultaneously.I am using Labview 6i and I am using AI S-Scan with AI config to acquire the waveform.It would be of great help if you could suggest a simple method to acquire the signals.
    PS: Please find the attached file used for acquisition from a single load cell.
    Looking forward for your reply.
    Manasa
    Attachments:
    test 4.vi ‏102 KB

    Hi Manasa,
    If I understand what you are trying to do, it is relatively
    straightforward to configure your application to acquire data on two channels.
    I was unable to run your vi as it was missing some of the subVI’s
    from your application.  However, your
    attachment was sufficient to see what you are trying to do. 
    Here is how to add channels:
    1.      
    In the I/O Channel Constant, you can add
    additional channels by using a comma or a semi-colon.  For example, to scan the first four channels
    you would put 0:3 in the constant (see attached screenshot ChannelConfig.jpg).  To scan the first and third channel you would
    put 0,2.
    2.      
    The AI Single Scan VI will now read from
    multiple channels.  Often it easiest to
    configure the output of this VI for viewing by first putting the data into an
    array using the Build Array VI.  It can
    then be plotted in a waveform graph. (see attached screenshot ReadtoGraph.jpg
    and WaveFormGraph.jpg)
    Just a few notes about “simultaneous” sampling:
    Most of the NI data acquisition cards have a multiplexer
    between the various input channels and the Analog to Digital (A/D) converter
    creating a very small delay between each channel (usually ms range or
    smaller).  NI does make several data acquisition
    cards that can perform true simultaneous sampling, meaning that there is an A/D
    converter for each channel.
    For the large majority of applications, the small delay
    between channels is negligible.
    Jared T.
    Attachments:
    ReadtoGraph.JPG ‏21 KB
    ChannelConfig.JPG ‏288 KB
    WaveFromChart.JPG ‏61 KB

  • I want to acquire data for multiple channels using PCI 6120 that works on traditional DAQ. I cannot access more than one channel, can someone help me or if someone has data acquisition vi for PCI 6120, please send me over . Thanks

    I have PCI 6120 card and I want to acquire data for more than one channels. I'm using traditional DAQ to get it. But it does not work for more than one channels. If someone has a data acquisition vi for PCI 6120. Or some suggestion how to aquire data please let me know.
    Thanks

    Hello DSPGUY1,
    You can definetly acquire from several channels. For your convenience, I have appended below the content from help that tells you how to configure it:
    "channels specifies the set of analog input channels. The order of the channels in the scan list defines the order in which the channels are scanned during an acquisition. channels is an array of strings. You can use one channel entry per element or specify the entire scan list in a single element, or use any combination of these two methods. If x, y, and z refer to channels, you can specify a list of channels in a single element by separating the individual channels by commas, for example, x,y,z. If x refers to the first channel in a consecutive channel range and y refers to the last channel, yo
    u can specify the range by separating the first and last channels by a colon, for example, x:y."
    Hope this help.
    Serges Lemo
    Applications Engineer
    National Instruments

  • Help! data manipulation for high speed streaming to disk from multiple boards and multiple channels

    I am using Labview 7.1 and have been trying to capture data from 12 channels simutaneously sampled at 2MS/s each and streaming to disk for up to a minute or more.  The hardware I am using is 2 x PXI 6133 S series boards with a MXI4 link to a Pentium D 2.8 Ghz machine with 2Gb ram.   I have 2 sata drives set up in a raid 0 configuration which should give me hard disk write speed faster or equal to the MXI-4 transfer speed. 
    I have first started off by using the example code "multi device sync - analog input- cont acquisition" which has enabled me to sync the two boards and sample at the required speed. 
    To stream the data to disk, I have first merged the data from each board  together to save it to one file.  I have tried using the storage vi's but I end up with a Daqmx read error (trying to read data that is no longer available).  I have played around with the read data size to the point that I either get a insufficient memory error, or I get the "trying to read data that is no longer available"  error.  I have also tried using the file IO blocks with some success and have found that I have been able to stream to disk only if I configure the daqmx read block to output the data in "raw 1D I16" format and plugging it into the file-write block.  In doing this, I have noticed that using  multiple channels on one daqmx read task, I will get all the channels in one 1D array rather than a 2D array organized by channels.  This makes it messy to read at the end of this, and I also don't want to write another vi to separate the channels, due to the high chance of getting the data mixed or messed up if I happen to change the number of channels on a board
    Is there a cleaner way of streaming this data to disk and keeping the channel data separated from each other?, and/or is there a better way to capture and handle the data I need? 
    I have attached the vi which I have got to consistantly work streaming to disk using the raw 1D I16 format.
    Thanks in advance to anyone who can help.
    Attachments:
    multidevicesync_analoginput_streamtodisk.vi ‏197 KB

    Hi,
    i can suggest following
    Refer to an example VI called as "High speed data logger.VI"  in conjunction with "High Speed data logger reader.vi" in Labview examples. Alhrough the logger might be in Tradiditional Daq format, it can be quite easily converted to Daq Mx format to store data in Binary (I32 format) . I have used this for many of my applications and i have found that the data retrieved does not have any "messups".
    Why not keep a seperate file for each card? This way, you do not have to load your application with extra process. You only have to acquire and save. After saving in Binbary format, you can retrive it offline, convert it to ascii format and merge the data files of various cards to get one consolidated ascii data file.
    hope this helps
    Regards
    Dev

  • Data acquisition time not continuous, but starting over and over again

    Hi,
    My data acquisition time is not continuous but loops over and over
    again.  Could someone please take a look at my vi to see if you
    have any thoughts on how to fix this.  Also, I tried to set up my
    vi so that I could take the mean of the signal at any time I
    choose.  However, at the same instance that the data acquistion
    time "starts over" again, the mean is calculated (before I trigger it to take the mean)
    I have attached my vi and my output file as a text file so that what
    I'm trying to say will (hopefully) make a bit more sense. 
    Thanks for your help in advance!
    Sherri
    Attachments:
    Datalog1 71805.vi ‏1252 KB

    Hi,
    Thanks for responding to my question. Attached is the vi with added
    comments as to what I think I am doing.  By DAQ time, I mean the
    first column of data that is in the data file that I attached
    previously.  I am only simulating a signal (at the beginning) so
    that I can program in my office.  I do, however, have the same
    problem as stated above when I change the simulate signal to DAQmx
    using my instrument.
    I hope this clearer.  If not, I'll try again. 
    Thanks so much!
    Sherri
    Attachments:
    Datalog1 71805 83.vi ‏1228 KB

  • How to record multiple midi channel data to multiple midi tracks in Logic?

    Dear All,
    I have an electric organ from Yamaha, and it has 3 keyboards, upper keyboard, lower keyboard, and pedal keyboard. They are all running in different midi channels:
    i.e. upper keyboard: midi channel 1
    lower keyboard: midi channel 2
    pedal keyboard: midi channel 3
    When I try to create 3 midi tracks in Logic to listen to the 3 keyboards, I found that their midi signal just mixed together. Meaning, all 3 midi tracks can listen to all 3 keyboards...
    Please noted that I am using a single USB Midi interface (1-in, 1-out) to connect the electric organ with macbook.
    Can someone give me a help here? I suppose I can setup 3 midi tracks in logic to listen to 3 keyboards signal separately.
    Thanks,
    Eric

    Ahrenshof wrote:
    I had a similar situation when I first got LS and received this useful reply from Apple-
    in Settings>Recording, check the box for "Auto demix by channel if multitrack recording".
    Be aware that the Settings are song specific, compared to Preferences, which apply
    to all songs. Set your controllers to send on specific MIDI channels and set the same channels in the inspector of your tracks.
    I have a 2x2 midisport however, so I don't know if you will have an issue because you have only 1 I/O.
    If so, you might have to learn about 'Multi instruments", I haven't had the need.
    Yes, this is correct. We have two recording stations with ESI M4U 4x4 midi interfaces. We are recording 4 instruments at the same time and they all send their data on a different channel. I created midi instruments for all of them in Environment just to have them more easily available in the Arrange window. Also make sure you have the correct midi channel set per track in Logic.
    When the option to "auto demix by channel" is set and you are recording, it may seem that Logic is recording only on one channel (only one region being created). But as soon as you hit stop, it will expand to multiple channels.

  • Multiple channels acquisition and Number of samples per channel

    Hi,
    I'm a new labview user and I need some help in trasposing an old traditional NI-DAQ acquisition software in a NI-DAQ-mx one.
    I followed the tutorial (#4342) but I found a problem with Analogue 2D DBL Multiple Channels Multiple Samples DAQmx Read Vi.
    I'm trying to acquire 8 voltage signals from a NI-USB-6341 device. When the Number Of Samples Per Channel I set is below the number of channels (8), the software acquires only a number of channels equal to the number of samples per channel I set.
    Is that a normal behaviour?
    Thank you
    Daniele

    This is my code. The problem is the same with or without the code for the scan backlog indexing.
    Tomorrow I will try with the code from the example.
    Thank you
    Daniele
    Attachments:
    acq code.jpg ‏119 KB

  • Multi Channel USB Data Acquisition

    I am using the following VI for arduino HC-06 bluettoth data acquisition. I would like to acquire multicahnnel data 
    Could you suggest me how to acquire multichannel data from USB? To do this, in what way  i have to program the arduino?

    Thank you very much for your suggestions. its working.
    But if i give input to channel 2 or 3 or 4, they are not responding. only channel 1 is responding irrespective of input pin. what could be the reason for this?
    earlier, i was acquiring single channel data at 57600 baudrate, i was getting pure sine wave signal upto 90Hz, after that it was started distorting.
    Now, it started distoring above 20Hz, i think i need to increase the baudrate to 230400 to get 4 channel undistorted signal upto 100Hz,
    but arduino supports upto 115200 only, what shall i do??

  • Error when running VI to acquire data from multiple channels

    Hello there, I am currently trying to write a LabVIEW program interfacing with the Agilent 34970A data acquisition unit. Have managed to get seperate VIs to acquire temperature and voltage data and to graph the data. Running them separately is fine.
    However when I try run one after the other, (ie, run temperature acquisition VI, then voltage acquisition VI; or vice versa) the first one runs OK, but upon trying to run the second one I get a VISA error along the lines of "VISA write". When I try to run the first VI again, that one fails to acquire readings as well. Any way I can rectify this problem? (Want to combine the VI's into a single program.) Thanks!

    Hi Laeral:
    You should be able to just open one VISA session then write and read both commands then close the session at the end. This sounds to me like an error that comes from trying to open two VISA sessions to the instrument at the same time. I have attached some very basic LabVIEW VISA code that writes and reads two different commands. Hopefully it will get you started.
    Regards,
    Emilie S.
    Applications Engineer
    National Instruments
    Attachments:
    Basic VISA Example Two Commands.vi ‏39 KB

Maybe you are looking for