Acquiring data from DAQ

Please, I am writing a VI to acquire data from one micrometer (like a quad encoder) and a quad encoder for the position. How can I store data coming from the micrometer ( read by a channel of a multifunction DAQ ) in an array of 5000 positions ( one for each millimeter of movement ) ? Thanks

First initialize a 5000 element array (Not a Number (NaN) data suggested), then run your acquisition loop and replace the array with the acquired data at index position. This is much more efficient than building the array progressively. Use a feedback node to store the array during execution. Look at the attached vi.
Note that this works with single data points. If you were recording multiple data at each loop iteration, then you would have to calculate the replace position by multiplying the loop iondex with the data length.
Hope this helps !
Chilly Charly    (aka CC)
         E-List Master - Kudos glutton - Press the yellow button on the left...        
Attachments:
Fill_array.vi.zip ‏12 KB

Similar Messages

  • Acquiring data from daq-pad and saving video at the same time

    I am trying to record data from my daq-pad at 100 samples per second. At the same time I am using a usb interfaced camera to record a video feed. The idea is that when i begin recording data i also begin recording the video feed.
    The way I record the video  feed works fine in its own VI (I need it to record at 30fps and it does this just fine). But when I integrate it with the data record/capture VI the framing rate slows down to only 10 fps. I suspect this is because the VI  gets caught capturing the data from the daq-pad thus slowing down its ability to record the video feed. I was hoping you could give me some help with how to record the data at 100 samples per second and get the VI to capture 30 frames per second. Thanks in advance for anyone who helps out.
    I've attached the VI that has both the data capture and the video capture already integrated.
    Attachments:
    usa_swimming with video21.vi ‏892 KB

    Hi,
    I took a look at your code and the problem is that you have both the data acquistion and the image acquistion in the same loop.  Have you tried using parellel loops?  There is more information about this in the labview tutorials that are available online if you are unsure how to do that.  The problem is that you are doing a lot of things in that loop (acquiring data, doing some analysis, and writing to file), so you can't acquire images very fast because it depends on the speed of the loop iteration.  I hope this helps.
    Have a great day,
    GG

  • How to acquire data from 2 chs of the same DAQ card at different sampling rate

    I am using single DAQ card (either 6013 or 6014) in my system i want to acquire data from 2 (or more) channels with following requirements
    1. sampling rate of each channel should be independant of each other (say one is 20 Hz and other is 15 kHz)
    2. data from all the channels should be acquired simultaneously.
    3. coding must be done using DAQmx VIs
    I have tried out following things
    1. I created separate task for each channel: i found out that two tasks can not run simultaneously even though the channels are different
    2. I tried out single task with two channels included in it. and i used 'channels to Read' property to determine from which ch. i want to acquire data: this method works fine if the sampling rates are same. but if i change the sampling rate of one channel it gets reflected in other channels as well.
    can somebody help me out to solve this problem.
    i will appreciate if somebody can post the sample code as my deadline is approaching
    Tushar Jambhekar
    [email protected]
    Jambhekar Automation Solutions
    LabVIEW Consultancy, LabVIEW Training
    Rent a LabVIEW Developer, My Blog

    Hi Dennis Knutson
    Thanks for your suggestion.
    Tushar Jambhekar
    [email protected]
    Jambhekar Automation Solutions
    LabVIEW Consultancy, LabVIEW Training
    Rent a LabVIEW Developer, My Blog

  • Acquiring data from instruments and wiring it to a while loop

    Hello,
    I am very new to labVIEW and was thrown into a project.  Essentially what I am trying to accomplish is to acquire data from my four sensors and use that data to compute drag.  In order to compute the drag, an initial guess at what the drag is must be given and then calculations are carried out in a while loop that converges on a solution once the difference between the current drag output and the previous drag estimate falls below a certain percentage.  I am continuously acquiring data so I need some sort of way to incoporate a timer to allow time for the while loop to converge and then output the drag value.  Right now I am generating a signal since I do not have the sensors hooked up and labVIEW will not let me connect the signal generator to the while loop and gives me an error that I have connected two terminals of different types.
    If I could figure out how to wire my DAQ assistants to the while loop I could figure everything else out
    Thank You,
    Ellen

    Hi Ellen,
    I might need a little more information before I can help you. How are you simulating your signals? If you're using the DAQ assistant express VI, are you simulating hardware in MAX? Or are you using the simulate signal express VI?
    Alos, what VIs or functions do you have inside the while loop that you are trying to connect to?
    Perhaps posting a screenshot would be useful. I'm sure we will be able to solve your problem.
    Here is a help page that you might find useful.
    http://zone.ni.com/devzone/cda/tut/p/id/4656
    Joel G
    Applications Engineer
    National Instruments UK & Ireland

  • How to acquire data from the memory of multimeter

    I am a beginner of Labview. I don't know how to acquire data from the memory of multimeter.
    I read some examples about DAQ, but it seems not similar to my case. I can't use DAQ in my computer, as I don't have DAQ board.
    Could anybody give me some guide? Similar examples would be great.
    Solved!
    Go to Solution.

    Confirm that you have the VISA Run Time Engine on the target machine. If you do not have it installed, you can install the VISA Run Time Engine from ni.com.
    Error -1073807346 Using VISA When Running LabVIEW Executable On Target Computer
    Message Edited by Mathan on 10-12-2009 07:11 AM

  • How to acquire data from multiple dataports at the same time

    Hi,
    I studied the multithreading section of Labview, but still have no idea
    how to make it work. Let me briefly explain my situation. I need to
    develop a program that can control and acquire data from 4 serial
    ports. I have 4 buttons to control starting or stopping acquisation
    from the corresponding port. Every acquisation process is a while loop.
    How can I start a new acquisation loop (eg. from COM2) while the loop
    for COM1 is still running? In other words, I wish the 4 loops running
    independently, and are controlled by their corresponding buttons only.
    Thanks for any suggestion.
    Jin

    Hi Anonymous,
          If I were you, I'd create one VI (call it Port.vi) to listen to one port - then make it reentrant.  Drop 4 copies of Port.vi on your Main diagram.  Port.vi inputs could include a VISA reference, a "Start/Stop" notifier and maybe a "Quit" occurance.  Wire to each copy of Port.vi a unique VISA reference and a unique "Start/Stop" [boolean] notifier - let all the copies share the same Quit Occurance.
    In Main, have one event case for each of your stop buttons.  When a button is pressed, send the appropriate Start/Stop notifier!
    ... of course you could accomplish the same thing with four identical loops right in your main diagram, but the more complex the port-handling gets, the easier it will be to manage in one place instead of four.
    Cheers!
    When they give imbeciles handicap-parking, I won't have so far to walk!

  • Acquire date from agilent dso3104 in avraging mode

    hi
    i am trying to acquire data from agilent dso 3104 x in labview . when i configure my dso in normal mode it is acquiring data but when i configure my dso in avraging mode it is not acquiring data on lab view

    I am running labview code for DSO "Agilent 2000 3000 X series" (downloaded from http://forums.ni.com/ni/attachments/ni/140/47325/1/agilent_2000_3000_x-series.zip). VI examples: "acquire waveform single" / "acquire waveform continuously", but it only acquires in normal mode. whenever i change to average mode manually or through "configure acquisition" VI, i get the same error message: No data for operation on PC as well as oscilloscope and Query unterminated.
    Pl find attached the error message.
    If i run "read current waveform" VI , even then , averaging mode is not being supported.
    I have not changed the default time out values in the default VI's or sub VI's. Pl advise on what values to take for sampling in 5Gsa/sec and averaging mode in 256 samples DSO setup.
    Attachments:
    error.jpg ‏40 KB

  • Exception thrown while trying to acquire data from Profile Data Control

    I created a new WebCenter Portal Application (with JDeveloper 11.1.1.4).
    Then tried to acquire data from Profile Data Control through getProfile().WCUserProfile to create a read-only form with profile data.
    After deploying (to internal WLS) and running I got a popup saying:
    *Exception [EclipseLink-7060] (Eclipse Persistence Services - 2.1.2.v20101104-r8475): org.eclipse.persistence.exceptions.ValidationException Exception*
    Description: Cannot acquire data source [java:comp/env/jdbc/WebCenterDS].
    Internal Exception: javax.naming.LinkException: [Root exception is javax.naming.NameNotFoundException: While trying to lookup 'jdbc.webcenter.CustomPortalDS' didn't find subcontext 'webcenter'. Resolved 'jdbc'; remaining name 'webcenter/CustomPortalDS']; Link Remaining Name: 'jdbc/webcenter/CustomPortalDS'
    The question is how can I create such a data source to acquire data needed?

    Hi, there's two ways, in both ways you need use the user <PRE>_WEBCENTER that RCU create.
    1 - You can go in your console and create de dataSource, as Yannick sad. You can use your production database if you want get some more real tests, or you can get some develope database and run RCU. You can copy the configuration from you WLS server that are installed webcenter to make this easy.
    2 - In develop mode you can just create a database connection name "WebCenter", just like sad here:
    http://download.oracle.com/docs/cd/E17904_01/webcenter.1111/e10148/jpsdg_people.htm#BABICGCH

  • Acquire data from oscilloscope DPO2024

    I am trying to acquire data from oscilloscope DPO2024 using labview. I am able to do so, but my vi file works only for channel 1. Other than channel 1, it do not work and instead, it changes the setting of oscilloscope as well. Find the vi files attached.
    Any help is much appreciated.
    Solved!
    Go to Solution.
    Attachments:
    data_acquire_oscilloscope1.vi ‏28 KB

    1.  You only need to initialize the scope once.  You not need to branch the VISA Resource wire.  Call the Initialize, Setup Channel 1, and then Setup Channel 2 all chained together.
    2.  Use Build Array to create your array of channels.  The Merge Signals is a completely backwards way to do it.
    3.  You only need to close the instrument once.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions

  • Bad data from daq

    I am taking data off of a radar gun. The gun is connected to one channel of a 16 channel circuit board which sends the data through an ide cable to a DAQ notebook card. This exact setup worked at one time on an older computer. Now the signal from the gun is too weak to read. I have watched the data real-time using the test panel in the Measurement & Automation Explorer. In doing so, I noticed one aditional concern. The data peaked whenever I lifted my feet off the ground. This peak was even more dramatic if I had one hand touching the radar gun.
    Thanks for the help.
    Albert

    Albert,
    It sounds like you may have a grounding issue. Is your board configured for reference single-ended (RSE) or non-reference single-ended (NRSE)? When you say "too weak", does this mean you aren't reading anything? What voltage are you expecting to read. Is the laptop plugged in when you are acquiring data? That is, does it have its own ground reference? You may want to analyze your setup as far as determining your various ground references. I would also suggest reading the following tutorial that discusses many factors that need to be taken into account when wiring signals in the field.
    Tutorial

  • Acquiring data from EMG (data socket?)

    Hi!
    I have to use the Porti TMSi to acquire an EMG signal, that I want to use to control a vibration motor with vibration frequency proportional to the muscular activation.
    My problem is that I don't know how to make the TMSi communicate with Labview and pass it the acquired samples.
    The TMSi has a software (PortiLab2) which has a feature called 'Sneezer'. Signal data that is connected to this block will be broadcasted to the LAN. Another operator called 'Snooper' (in the 'Data Sources' section) can be used to sniff the LAN for the signal that is broadcasted by a 'Sneezer'. 
    One of my colleagues has implemented a software in Visual Studio in order to acquire data through socket (I attached the files).
    I wonder if it is possible to do an operation like this with Labview.
    Thank you!!
    Attachments:
    Header.h ‏2 KB
    TMSiConn.cpp ‏3 KB

    Hi!
    We managed to do the data conversion (parsing the header and convert data in the proper format).
    I attach here the VI.
    The problem now is the slowness of these operations...we need to control a motor in real time with a signal proportional to the muscular activation but the delay is almost 2 seconds!
    We wonder if the problem is the UDP connection or something inside the Labview code (maybe it is not optimal and it takes too many time do the operations required).
    The delay is not only in the output of the DAQCard but also in the displaying of the data read from tha LAN port, immediately after the conversion.
    Is there something we can do to improve the performance of our code?
    Thank you!
    Serena
    Attachments:
    EMGreceiver+DAQ.vi ‏146 KB

  • Acquiring data from all the analog channels of NI-3202 NODE using a single sensor

    Hi all,
    I would like to know that can i be able to get the data from all the four analog channels of NI-WSN node 3202(analog input node) connecting only single sensor on the analog input and connecting all the remaining analog inputs using wires and also shorting the ground pins corresponding to each analog input pin.
    By configuring the each channels like 0.5 sec delay for every analog channels to acquire data. can we get the sensor data from all the channels by doing this. basically here i am trying to increase the minimum sampling rate of the ni-wsn NODE 3202 which is 1s.
    I this approach is correct or we cannot do this.
    Thanks

    Stefan,
    In terms of differential and RSE, channels 0-8 should default to differential when using test panels.  Differential needs two input channels to function correctly and these channels must be spread apart by 8 channels. (i.e channels 0 and 7 are a differential pair)  Channel 13, on the other hand, will default to rse if chosen as the reading channel because there does not exist another channel that is eight away.  I am not quiet sure if the virtual channels will default channel 5 into being differential but I will check into it.  If it is differential as default then you may run into problems since channel 13 is utilized in both strain gauge reads.   
    "The second question is, if we can also use the "voltage" setting for measuring strain gauges? we did that in the past, using LabView 6.2."
    If you are referring to "voltage" as acquiring a signal with custom voltage with exciation then I would reccomend using example in LabVIEW called Acq Wheatstone Bridge Samples (with Calibration).  This can be found by navigating to LabVIEW's example finder and expanding Hardware Input and Output>>DAQmx>>Analog Measurements>>Strain.
    I have also included some useful links that may provide more insight into the SCC modules as well.  Also, what is the excitation voltage and power that your strain gauges are expecting?
    SCC Tutorial Series: SCC-SG0x
    SCC Example Series: SCC-SG0x
    Using the SCC-SG11 Shunt Calibration Module
    Thanks,
    Gio L.
    Digital Support - Product Manager
    National Instruments

  • Acquiring data from an ecoder and Ultrasonic sensor

    I have a controller card PCI-7340 and UMI-7774, connected to my PC, I want to implement an autonomous vehicle through mounting a quadrature encoder for velocity and position feedback and an ultrasonic sensor for obstacle determination and avoidance, and I am implementing now a fuzzy controller to make a control system capable for moving the vehicle, but my problem that i don't know how to acquire the data from the encoder or the U/S sensor in order to enter it to the Labview code, knowing that I am using a PWM circuit for speed control and amplification of analogue voltage out from the UMI-7774, if u have an example or u can give me a guide to how implement this on Labview.
    Attachments:
    for NI emailing.doc ‏157 KB

    This post is a duplicate.  I've answered the original post over here.
    Thanks,
    Evan D.
    IMAQ/Vision R&D
    National Instruments

  • Acquire data from a tab delimited file using a popup dialog object on a stamp

    I am trying to import data from a tab delimited file using a popup dialog object on a stamp.  I have purchased the book by Thom Parker--All About PDF Stamps in Acrobat and Paperless Workflows and have been working through the examples in the appendix.
    My problem is understanding how to bring the data into the dialog object from the file.
    I don't want to plagiarize his book--so am electing at this time not to show my code.  The  script is reading the file, just not bringing in the records from the file so that I can select which line to import into the stamp.
    I have typed in the code exactly how the book describes, but when the popup dialog object is selected, there is nothing in the drop-down.  When I click OK, the first record is put on the stamp--except for the fields that I am wanting to appear in the dialog object popup box.
    I have searched the forums, and also the JavaScript reference.  There are examples of the popup dialog object, but none of them show how to import the data from a file--just for the items to be typed in as the list.
    Any help would be greatly appreciated!  i have been trying to work on this for several months now.

    Karl
    Thank you for getting back with me!
    In answer to your questions:
    1. Your trusted function is not a trusted function. Did you put this
    function into a folder level script so that it will get executed at system
    startup?--
         yes--I saved the script as a .js file and put it in the following path (I have Acrobat XI Pro for Windows)
    C:\Documents and Settings\tjohnson\Application Data\Adobe\Acrobat\Privileged\11.0\JavaScripts\GetTabData.js
    2. The script cannot find your tab delimited data file, or it cannot
    extract the data. Did you add the data file in the correct location? The
    location from the script in the book would be c:\mydata\Contacts.txt
    Yes--the file is in the same path as the book.
    Below is my code that references the file.
    var cPath = "/c/mydata/Contacts.txt";
    the slashes in the book go in the direction of the text above--should they go in the direction that you have in your question?
    Also,  the name and email address need to be separated by one Tab character.
    They are. 
    3. The fields need to be named the same way as the columns in the data file (the two names are in the first line of the file).
    My headings are RevByFromTab and EmailFromTab--which match the names of the two fields on the stamp.
    So, check that you are not getting any errors in the JavaScript console
    (Ctrl-J or Cmd-J), and verify that the tab delimited file is in the correct
    location
    When I run in the java script console--and I just run the script on the stamp,
    it says
    TypeError: event.source is null
    17:Console:Exec
    undefined
    When I place the stamp on the page, the popup box is working, but when you click on the down arrow, there is nothing listed.  When I click OK, the RevByFromTab is populated by the first item in the file, but the EmailFromTab field says undefined.
    Thank you
    Message was edited by: tdjohnson7700

  • 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

Maybe you are looking for

  • AT commands for a voice modem

    I have a Voice modem and I am communicating with it over a serial connection with AT commands. I am trying to put the modem in voice mode so that i can dial a number through Labview and play a wav file which should be heard on the receiving end. I do

  • How should I deal with FTP permissions?

    Ok, I'm not sure what would be the best way to deal with this. I have folders set up for several websites that each have a different user that administrates them. So I set each of the intended users home to the website root, and gave them ownership o

  • How to set a process with more than 10 item values to be changed?

    I am trying to make a "default" button where it resets the Column checkboxes to its original state but I have more than 10 iems and I cant fill them all in the 10 slots that they have. Anyone have any ideas? thanks. For example I have columns 1-20 an

  • JCheckBox not displaying on Windows 2000

    The JCheckBox is fully blackened when I start my GUI based application on Windows 2000 but it works fine on Windows XP ie displays fine. jCheckBox = new javax.swing.JCheckBox();                jCheckBox.setName("StandardLineJCheckBox"); jCheckBox.set

  • IPhoto '09 Places

    Hi, I've a number of places set in my iPhoto '09 library, some manually and some though the iPhone location tracking on photos.  I've noticed that a lot of my photos are being placed into the wrong place, or being very generic about their location.