How to use a Time - Voltage Array to Control a Analog Voltage Output using DAQmx Write VI

I have an array of Time values associate with Voltage values that I want to use to control a Anolog Votage Out Device (PXI-6251) using DAQmx.  The array contains 1,000 elements.  The time values are NOT evenly spaced, the rate changes through the array.  The array is output once, timed to other processes.
My problem is I haven't been able to locate a reference on how to handle the timing variability in the array.  If time was equally spaced I could use a loop....
The attached showes the array, first row is time (ms) and the second row is voltage (volts).
Can someone point me in the right direction?
David
Attachments:
TimeVoltage.png ‏11 KB

David,
if you have only Base version of LabVIEW, this will be a time consuming task.
If you have either Full or Professional, you will find interpolation-functions in the mathematic palette.
I am not sure which ones serves you best,  but i'd startexperimenting with Interpolate 2D.
hope this helps,
Norbert 
[Edit]: You could also use a polynominal fit on your voltage values. You will get a function describing the voltage over time. But you will have to modify this function to take care of the variation of time spacing. If you have a function describing your voltage over your (nonconstant) timestamps, you can simply create values for constant timeslices for your voltage.
Message Edited by Norbert B on 11-06-2008 10:21 AM
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it.

Similar Messages

  • How to use bean:write inside jsp:include ?

    I got a problem about JSP's syntax. The following is my code:
    <%@ include file="<bean:write name="HelloForm" property="target" />"%>
    The double quotes inside bean:write is my problem. Could you please teach me how to use bean:write within JSP's include? Thank you!

    http://java.sun.com/products/jsp/syntax/1.2/syntaxref12.html
    Include Directive vs <jsp:include>
    The include directive <%@include %> is done at page translation/compile time.
    It effectively pastes in a static file, and then compiles the JSP as if it was all one file.
    As such, you cannot provide a runtime expression to it.
    To do runtime inclusion, you need to use the <jsp:include> tag which does except runtime parameters.
    <%String test = request.getParameter("pageInfo");%>
    <%String link = test + ".jsp"; %>
    <jsp:include page="<%= link %>" %>Unfortunately you can't use the tag with a bean:write tag as well, you can only use runtime expressions, not tag. So you have to do the include with
    <jsp:include page="<%= HelloForm.getTarget() %>" />
    Cheers,
    evnafets

  • How to use bean write in  struts html:text tag

    hi,
    i'm new to struts concepts.here i'm trying to write a value in html struts tag using <bean:write>
    my current tag is
    <html:text property="empname" value='<bean:write name="employee" property="empid">' />
    but it gives same tag in the text box.how i can solve this.

    what am I doing wrong?You will notice above that I mentioned
    YOU CAN'T USE CUSTOM TAGS AS ATTRIBUTES TO OTHER CUSTOM TAGS
    (was that loud enough for you to notice this time)?
    Try
    <html:text styleId="instruction" styleClass="text" size="50" name="instruction" property="value"/>
    //or
    <html:text styleId="instruction" styleClass="text" size="50" property="instruction" value="<%= instruction.getValue() %>"/>
    better alternative: populate your formbean with your action and just have:
    <html:text styleId="instruction" styleClass="text" size="50" property="instruction"/>
    If you set the "instruction" property of your formBean in the action, the value will be automagically reflected here.
    Cheers,
    evnafets

  • How can I monitor the voltage output sent to each servo axis programmatically?

    Hi I am wondering if it is possible to monitor the voltage that's being sent to a servo motor during an axis position movement (in particular quantities such as max voltage). I am using a PID controller to drive this servo motor.
    Thanks
    Vlad

    Hi Vlad,
    Unfortunately, I don't think there is a way to programmatically read the voltage output to the drive, as the voltage is all determined internally by the controller circuitry on the board. Depending on the controller though, you may be able to physically route the output terminal to a spare analog input channel and read in the voltage that way. This example Analog Input with 73xx Motion Card shows you how to program LabVIEW to do this. 

  • How can I create multi-dimensional arrays of controls?

    I'm building a VI that will have hundreds of on/off buttons, 24 on each of 8 tabs.  I can deal with them programmatically in an array, like this:
    and then find which one was pushed with some XOR'ing:
    But what if I want two rows of 12 buttons?  Can I make a 2D array of buttons somehow?  Or a 1D array of buttons on two rows for cosmetic reasons?
    What if I want to put 24 buttons on each of 8 tabs?  Can I make a 24x8 array of controls somehow?  Or a 12x2x8?
    Thanks,
    -Jordan
    Solved!
    Go to Solution.

    jordanglassman wrote:
    and then find which one was pushed with some XOR'ing:
    I would strongly recommend to replace the XOR with a not equal. Same outcome, but less nerdy. It is also much more universal! For example if you ever need to do this on an array of numerics to see which element got changed (I often do!), the XOR will no longer work as well (with integers, you'll end up with bitwise comparisons and numeric results, and with DBLs you'll end up with coercions and unpredictable results because bits are lost).
    LabVIEW Champion . Do more with less code and in less time .

  • How to use DAQmx Create Scale Linear

    Hello. I have an output from an amplifier that is 10mV/V, that is being read by an USB-6002. The voltage range for this amplifier is 0-200 volts. I have been testing the DAQmx Create Scale Vi but do not understand how it works. I have looked at other posts here for answers but am still not clear how this works. To begin with, it says it uses the y=mx+b equation for it. I don't know what the slope is referring to unless it is the angle of the line. If someone might have an example that explains how this works, that would be awesome. I also tried looking at an example but couldn't find one. Thank you

    Here's a "seat-of-the-pants" explanation of y = mx + b.  If you think of "x" as the input, and "y" as the output, then you can consider "m" as the gain, and "b" is the offset, the output that you would read with zero input.  
    If you think about this equation with respect to an amplifier, many are designed to have zero output when there is no input.  This means b = 0.  If you have a gain of 10mV/V (which I assume means that a 1V input would give a 10mV output, then m, usually called "the slope" (which is the slope of the input/output curve), would be .010/1 = 0.01.
    Note you describe the range of your amplifier as 0-200V, so the output will be 0-2V, well within the ±10V of the USB-6002.
    Bob Schor

  • How can I customize time limits in parental control?

    Hello,
    I am trying to customize the time limits for a managed account via the parental control GUI.
    However I would like a much finer customization.
    For example: prevent access Monday 8-5pm, Tuesday 1-pm, 5-8pm, etc.
    While the "standard" time limis are set to a generic week-day/school day (which assume that a school week is the same all over the world!)
    Is there anyway to do that?
    Can anyone tell me WHERE are these limits stored in the system?
    Could I simply edit a system file (not afraid to do so even if it is complicated!)?
    Thank you.

    You can let Apple know you'd like this ability at http://apple.com/feedback/iphone.html.

  • Want to know how to use Read/Write Functions

    Hi,
    I wrote a program in labview 8.5 for motion control. The program is working properly but I need to make it more advance than it currently is. What the program does is read the amount of degrees that user inputs and converts it into itinerations using a "For Loop"; when the rotation is done, the program stops. What I need to do now, is to make the program know the last data that the program read (i.e. 40 degrees,  270 degrees, etc.), and use it as an initial value ("Read" that value when the program starts); if the total amount of degrees is less than 360 degrees, then the program runs; if, is greater than 360, the program reads an error.
    I attached the program bellow.
    Thank you for all your help. If further information is needed, dont hesitate to ask. Thanks again.
    Guillermo 
    Attachments:
    Final Camera Program.vi ‏18 KB

    Lets begin with passing your references and errors through the loop with shift registers.
    We will only open the VISA reference once before entering the loop and close it when we leave the loop.
    If you use a shift register to keep track of the number of degrees rotated, you can pass the data out to an upper level VI and then back to this VI when it is called.  If you are simply using this VI to do everything, you can pass the data back and forth using a feedback node or a local variable (Please see notes within the VI I have attached.)
    Pleae look over the modified VI and verify that it will still work for your application.  You may need to add more functionality to get where you want to go; I think it is a good start.
    I am using LabVIEW 8.6 and I saved it to LabVIEW 8.5.
    CLD | CTD
    LabVIEW 2011 SP1 | TestStand 4.5
    Attachments:
    Final%20Camera%20Program (modified).vi ‏13 KB

  • How do I create a 1d array that takes a single calculation and insert the result into the first row and then the next calculation the next time the loop passes that point and puts the results in thsecond row and so on until the loop is exited.

    The attached file is work inprogress, with some dummy data sp that I can test it out without having to connect to equipment.
    The second tab is the one that I am having the problem with. the output array from the replace element appears to be starting at the index position of 1 rather than 0 but that is ok it is still show that the new data is placed in incrementing element locations. However the main array that I am trying to build that is suppose to take each new calculation and place it in the next index(row) does not ap
    pear to be working or at least I am not getting any indication on the inidcator.
    Basically what I am attempting to do is is gather some pulses from adevice for a minute, place the results for a calculation, so that it displays then do the same again the next minute, but put these result in the next row and so on until the specifiied time has expired and the loop exits. I need to have all results displayed and keep building the array(display until, the end of the test)Eventually I will have to include a min max section that displays the min and max values calculated, but that should be easy with the min max function.Actually I thought this should have been easy but, I gues I can not see the forest through the trees. Can any one help to slear this up for me.
    Attachments:
    regulation_tester_7_loops.vi ‏244 KB

    I didn't really have time to dig in and understand your program in depth,
    but I have a few tips for you that might things a bit easier:
    - You use local variables excessively which really complicates things. Try
    not to use them and it will make your life easier.
    - If you flowchart the design (very similar to a dataflow diagram, keep in
    mind!) you want to gather data, calculate a value from that data, store the
    calculation in an array, and loop while the time is in a certain range. So
    theres really not much need for a sequence as long as you get rid of the
    local variables (sequences also complicate things)
    - You loop again if timepassed+1 is still less than some constant. Rather
    than messing with locals it seems so much easier to use a shiftregister (if
    absolutely necessary) or in this case base it upon the number of iterations
    of the loop. In this case it looks like "time passed" is the same thing as
    the number of loop iterations, but I didn't check closely. There's an i
    terminal in your whileloop to read for the number of iterations.
    - After having simplified your design by eliminating unnecessary sequence
    and local variables, you should be able to draw out the labview diagram.
    Don't try to use the "insert into array" vis since theres no need. Each
    iteration of your loop calculates a number which goes into the next position
    of the array right? Pass your result outside the loop, and enable indexing
    on the terminal so Labview automatically generates the array for you. If
    your calculation is a function of previous data, then use a shift register
    to keep previous values around.
    I wish you luck. Post again if you have any questions. Without a more
    detailed understanding of your task at hand it's kind of hard to post actual
    code suggestions for you.
    -joey
    "nelsons" wrote in message
    news:[email protected]...
    > how do I create a 1d array that takes a single calculation and insert
    > the result into the first row and then the next calculation the next
    > time the loop passes that point and puts the results in thsecond row
    > and so on until the loop is exited.
    >
    > The attached file is work inprogress, with some dummy data sp that I
    > can test it out without having to connect to equipment.
    > The second tab is the one that I am having the problem with. the
    > output array from the replace element appears to be starting at the
    > index position of 1 rather than 0 but that is ok it is still show that
    > the new data is placed in incrementing element locations. However the
    > main array that I am trying to build that is suppose to take each new
    > calculation and place it in the next index(row) does not appear to be
    > working or at least I am not getting any indication on the inidcator.
    >
    > Basically what I am attempting to do is is gather some pulses from
    > adevice for a minute, place the results for a calculation, so that it
    > displays then do the same again the next minute, but put these result
    > in the next row and so on until the specifiied time has expired and
    > the loop exits. I need to have all results displayed and keep building
    > the array(display until, the end of the test)Eventually I will have to
    > include a min max section that displays the min and max values
    > calculated, but that should be easy with the min max function.Actually
    > I thought this should have been easy but, I gues I can not see the
    > forest through the trees. Can any one help to slear this up for me.

  • How to use a table to fill an array

    I have a cFP 2110 with a couple of relay modules I'm using to automate a process.  I'm  using an array of a cluster of elements to turn the relays on and off with a time delay for each step.  This was the first version I started with and I have since built a state machine around.  What I would like to do is add a table or array to the front pannel and move the relay control and time delay to the front panel and allow the user to specify which relays are on or off and for how long.  I also want to allow the user to save the table and have the option to select other saved versions of the table to operate the module with different.   I also need to add a string control to the table so I will need to use shared variables for to communicate between the target Vi and the host vi the user is working from.  Is a table the correct approach to do this?  I have never used the table functions.  How do I go about building a table and sending the data to an array?  Do I need to send the table contents to file OI first, then have the array read the specified file?
    Thank for the help.
    Danny
    Attachments:
    array.vi ‏40 KB

    Hi Danny,
    Instead of using a constant array on your block diagram, you could use a control array so that the elements show up on the front panel. Then your user will have the ability to change the relays and time delay. You can then use Datalog files (see Help >> Find Examples... and search Datalog) to save individual clusters. Otherwise if you want to save entire arrays, you could just save them to a binary file. 
    Using the array of controls eliminates the need for a table and its conversion, and also provides a front panel interface for your user to control. Does the string control need to be part of these array as well, or can it be separate?
    If you are reading a file back to be used with your program, you will need to read the file to get its contents before using it to control your loop.
    Will
    Certified LabVIEW Architect, Certified Professional Instructor
    Choose Movement Consulting
    choose-mc.com

  • How to use time values from graph or chart for other calculations

    iam generating an ultrasonic signal of frequency 500k. In the equation i need the values of time axis of the graph or chart for calculationg the envelope of the graph. please help me how to use the x-axis time values.I have tried by writing in spread sheeet or by using arrays. here iam not able to get only 1 dim time values.
    AshwiniP

    Use a property node

  • How to use airport time capsule with multiple computers?

    I'm sure there are some thread about this but i couldn't find it... so sorry for that but hear me out! =)
    I bought the AirPort Time Capsule to back up my MBP
    And so i did.
    then i thought "let give this one a fresh start" so i erased all of it with the disk utility and re-installed the MBP from the recovery disk.
    I dont want all of the stuff i backed up just a few files and some pictures so i brought that back.. so far so good.
    Now i want to do a new back up of my MBP so i open time machine settings, pick the drive on the time capsule and then "Choose" i wait for the beck up to begin, and then it fails.  It says (sorry for my bad english, im swedish haha) "the mount /Volume/Data-1/StiflersMBP.sparsebundle is already in use for back up.
    this is what i want:
    i want the "StiflersMBP.sparsebundle" to just be so i can get some stuf when i need them. it's never to be erased.
    i want to make a new back up of my MBP as if it's a second computer...
    so guys and girls, what is the easiest and best solution?
    Best regards!

    TM does not work like that.
    If you want files to use later.. do not use TM.
    Or do not use TM to the same location. Plug a USB drive into the computer and use that as the target for the permanent backup.
    Read some details of how TM works so you understand what it will do.
    http://pondini.org/TM/Works.html
    Use a clone or different software for a permanent backup.
    http://pondini.org/TM/Clones.html
    How to use TC
    http://pondini.org/TM/Time_Capsule.html
    This is helpful.. particularly Q3.
    Why you don't want to use TM.
    Q20 here. http://pondini.org/TM/FAQ.html

  • I have a macbook pro and use BT homehub 3.  can't work out how to connect my time capsule. can anyone help, thanks.

    I have a macbook pro and use BT homehub 3.  can't work out how to connect my time capsule. can anyone help?  thanks

    Just need to plug the TC in to the hub in bridge mode.. do not try and bridge the homehub.. it is not possible with the setup BT uses.
    To bridge the TC.. plug it directly into a computer by ethernet.. no other connection to the TC or the computer.
    Press and hold in reset until the front LED flashes rapidly.. about 10sec.
    Release the reset.
    Open the airport utility and setup the TC to bridge mode.
    The actual method depends on version of the OS and airport utility you use.
    This is version 5.
    Sorry I cannot post the v6 as I am on a snow leopard computer now. But you go to the network tab, and choose off bridge mode for method of connection. It will be NAT and dhcp by default.
    Then setup wireless.. you have a number of choices here.
    Either setup with the same SSID Security and password, as the homehub uses.. or a different name, and password..
    Each method works fine.. but you sometimes have issues with wireless channels.. for now leave it on auto and see what happens.. if you have issues lock down the radio channels on both devices.. use one out of the following on each, 1, 6, 11 or 13 in UK.. so say 6 on the homehub then 13 onthe TC.
    Update the TC.. unplug fromt the computer and plug it into the homehub.
    If you have other issues with the setup tell us what OS you run so we can post suitable screenshots.

  • Okay so I set up my Time Capsule already and is now backing up 2 of my iMacs. Works great. What I want to know is how to use the TC to directly store files? I want to do this to delete some files but still have them on the TC for future reference..

    Okay so I set up my Time Capsule already and is now backing up 2 of my iMacs. Works great. What I want to know is how to use the TC to directly store files? I want to do this to delete some files on iMac 20inch but still have them on the TC for future reference..eg some movies on iTunes. I want to directly save them on the drive so I can delete them from iTunes and gain some storage. (Ps on iMac 20 inch (it's almost full - 320 GB) when I enter time machine, a tab comes up on finder which reads "Time Machine backups" it's able to be ejected like a disc or a connected device. On the iMac 20 inch, I dragged some files onto there as if using it like a hard drive. Is this the correct method? Then I went to my 27inch iMac and saw the "Time Machine Backups" hoping to see the files I dragged from the 20inch iMac. But the files were not there except a folder that said "Backups.backupdb". Can someone help me?

    It's not a good idea to use a network disk for both Time Machine backups and other things.  By design Time Machine will eventually consume all the space on its output disk, which will then cause problem for your other files.  I'd store those other files on an external disk connected to the Time Capsule.  The problem with that is that Time Machine will only back up files that are local to your Mac.  That means that you'll only have one copy of the files on or attached to your Time Capsule.
    By the way, you've been misled by poor field labeling on this forum into typing a large part of your message into the field intended for the subject.  In the future just type a short summary of your post into that field and type the whole message into the field below that.

  • How to use two different versions of Firefox at the same time on Snow Leopard?

    I recently upgraded to Firefox 4.0 on my 27" iMac running Snow Leopard 10.6.7.
    Previously, I was using Google's "Page Speed" along with Firebug in Firefox 3.6.15 to optimize images in my web pages, and to find other areas to optimize.
    Page Speed is not yet compatible with Firefox 4.0. I wrote to Google about this some time ago -- no answer yet.
    If I run Firefox 3.6.15 in order to use Page Speed, I run into a few problems afterward when I start using Firefox 4.0 again, since they both use the same "Firefox" folder in my "Application Support" folder.
    How can I set it up so that I can have two separate "Firefox" folders in my "Application Support" folder?
    Or is there an easier way to use two different versions of Firefox simultaneously, even if one has extensions and/or plug-ins installed which are not compatible with the other version?
    Thanks for a great browser!

    Please disregard my question. I just conducted more web search and learned how to use Firefox's profile manager in order to make a separate profile for Firefox 3.6.15.
    You can find instructions on this page:
    http://support.mozilla.com/en-US/kb/Managing%20profiles#os=mac&browser=fx35
    '''A small tip:'''
    If your Firefox app is named anything other than "Firefox" -- say for example "Firefox 3.6.15" -- when you follow the instructions at the above link, make sure you escape the blank space that is before the version number by adding a backward slash before it, when you type the command string in the Terminal. In other words, in that string, you should use this:
    Firefox\ 3.6.15
    I hope that helps someone.
    WW

Maybe you are looking for

  • How to convert data from a report in PDF which are specified on multiple lines ?

    It often occurs that in a report one detail entry is folded onto two subsequent lines. e.g.   No.   Container          Lt Ht Tp F/E     Dam          Weight Temp     Bi Im First Seal     No. Cell     Booking ref. In Arr    id     A         Tml        

  • Error in starting J2ee Engine-- Pls Help!!!

    I am getting the following error. i have checked the property sheet within "services" folder many times but not sure how to change or what to change the value for "guest" user too... =======================ERROR============================= Service d

  • RE:Error related to Mapping and/or Database?

    Hi guys, I am processing a TLOG(transaction) from XI to BW. it is processing successfully(which i have seen in SXMB_MONI).For some TLOG's i am getting error like   "Maintain entries in ZPOS_ITEMTXNTYPE for 0002/ZTGS//0000" in the response message id.

  • Problems with the Search/Find function in Reader 10.1.6

    I gave in a keyword in a 430 pages dokument (photoshopelements6_help.pdf) and got many search results for different keywords (in bold) but not for my keyword!!

  • IE not completing the destroy() method

    Hi, I am experiencing a problem with my applet in IE. I call a native method in the destroy() method of my applet. The native method takes about 1/2 sec to execute. This works fine in Firefox, however in IE it doesn't seem to allow enough time for th