Task out with a shift register using ULx

This post below describes my same problem of passing a task through a case structure but they are using the DAQmx Library and it has a CreateTask.vi which the ULx Library doesn't have.
http://forums.ni.com/t5/LabVIEW/passing-DAQmx-task-out-through-a-shift-register/td-p/410447
Any suggestions as to how to get my task out through the shift register?
Thanks
-CC
Solved!
Go to Solution.

I have never had a problem getting ULx task out of shift register.
This is an action engine that I use to store the ULx tasks ref to use later in the code.
Omar

Similar Messages

  • What is the maximum number of the parallel blocks or maximum pair of shift register used in FPGA VI time loop with cRIO 9104?

      I am writing a FPGA VI with module cRIO 9104, I need to do a lot of parallel execution of inside a timed loop. In total, I have used 20 pairs of shift registers in the timed loop, which simply means there is 20 parallel exceution across ONE time loop. However, it tells me that there is an over-used of the FPGA resources in the compliation report. One is the Slices and the other is the number 4 of LUTS ( see the attached file), would the compile will be sucessful if I change it to ALL block diagrams cascaded in series without using any shift register accross the timed loop? And do you think that it is reaosnable to have 20 pairs of shift register arranged in parallel inside a timed loop.
      Thank you!
    Attachments:
    afternoon912.jpg ‏2305 KB

    Your compilation report has 2 useful numbers to help answer your question, I'll summarize:
    Number of Slice Flip Flops = 27%
    Number of 4 Input LUT's = 100% *
    You are using the Timed Loop Shift registers to pass a value from one iteration of your loop to the next.  The LabVIEW FPGA compiler will use Slice Flip Flops to create this behavior in the FPGA fabric.  You are only using 27% of the Flip Flops, therefore the 20 Shift Registers are not your problem. 
    LUT's (Look Up Tables), which are the basic logic building block of an FPGA, are your problem.  You are using over 100% of the LUT's in this FPGA.  To fit in this FPGA you will have to reduce the amount of logic (and/or gates, additions, comparisons, etc.) in your design.
    -RB

  • How to find out with my application is using any timezone dependable data

    hi guys,
    i am going through the notes: Updating the RDBMS DST version in 11g R2 ID 977512.1
    Bum into this part where it mention:
    Oracle cannot say to what DST version you need to use, this simply depends on if you are using DST information or not in SQL
    Please advice what are the ways to find out if application(s) connected to my database is using named timezones.

    I believe the MOS Doc linked in the sentence immediately after the one you quoted above should help
    HTH
    Srini

  • Why did I only get a part of wave chart even if I have appended the wave together using shift register?

    It seems only read 200 samples and then stop. Shouldn't I get a continuous wave chart after using shift register on a while loop?
    Solved!
    Go to Solution.
    Attachments:
    trial 4.vi ‏21 KB

    You must remove Start VI out from the loop...
    You cannot 'Start' a task which is already running...
    You also remove the Start VI completely from your code... If you do not use Start VI, a measurement task starts automatically when the DAQmx Read VI runs.
    Find the attached VI.
    I am not allergic to Kudos, in fact I love Kudos.
     Make your LabVIEW experience more CONVENIENT.
    Attachments:
    trial 4 [with START-VI removed].vi ‏15 KB

  • Using a shift register to detect input...

    Hi guys,
    I'm creating a LabVIEW VI that needs to be able to detect when a user changes an input. I read a previous post that suggested using clusters and shift registers to compare previous data.
    My question is how do I use shift registers? I've created a shift register on a for loop, but I'm not sure when to compare the "previous" data to the "new" data. Do I need to add an element to the left side and compare it there? Is the right side the output? I'm just not sure how it works. An uploaded example would be nice. Thanks.
    -Mike

    Shift registers are very powerful but difficult to use for the first time.
    The shift register you just created has two "arrows", one on either side of the structure. The arrow to the left is the value from the previous (i:th) iteration and the arrow to the right you have to feed with the (i+1)th value.
    Now, if you want to compare values and look for a change you can compare your old value (the one coming out from the left) with the new value in your for loop. The feed your new value to the right arrow so that it becomes the old value for the next iteration.
    If you have many parameters to compare, clusters are very useful since they make things very compact. If you are comparing clusters, do not forget to change the setting on the comparison to compare aggregates (r
    ight click on it and select that option).
    Also, in most cases you need to set the initial (start) value for your shift register. This is done by feeding the left arrow with the default value from the outside of your loop.
    I attached a simple example, CompareSettings.vi, that shows how it works. Hope this helps. /Mikael"
    Attachments:
    comparesettings.vi ‏32 KB

  • How to use Shift Register?

    Hi
    Today I spend hours to ficure out how to use a shift register with labview.
    I am going to calculate the acceleration of the wheels of an RC-car.
    I want to use the simple function to calculate the acceleration.
    a=(v1 -v0)/time
    From this it follows that I need two speed (ms) values. I was thinking about including a shiftregister that I made before (attached) into the SpeedAngle.vi
    But that doesn't work.
    Is there maybe an other way to store two following values of the calculated speed? So that I can use it for further calculations.
    Thank you!
    Attached the two program files.
    Bye
    Attachments:
    ShiftRegister1.vi ‏23 KB
    SpeedAngleAdvancedEDIT.vi ‏187 KB

    Hi
    Thank you very much. Now it works. Attached you will find the program. Now I need to adjust the car with the program. Hope this also works.
    One more question. Why isn't it possible to use a Numeric Control twice?
    Because I wanted to use the Numeric Control that I use for the time constant (time) also for the calculation of the acceleration.
    That doesn't work. Than I placed a Numeric Indicator to display the value of the time constant. But it just displayed the default value.
    Bye
    Attachments:
    SpeedAngleAdvancedEDIT.vi ‏214 KB

  • Have just migrated from the world of PC's. and I had my set up so that when I typed a new sentence it started with a capital with out me pressing shift. also, i could set up words to self fill like ur would auto correct to your. can this be done with mac

    Have just migrated from the world of PC's. and I had my mail text typing set up so that when I started  a new sentence after a full stop  it started with a capital with out me pressing shift. also, i could set up words to self fill like ur would auto correct to your. can this be done with mac

    I don't know about the first letter cap but the spelling is simple. Edit - Spelling and Grammar - Select While Typing and Correct Spelling Automatically.
    I'd also STRONGLY recommend that you bookmark and use:
    Mac 101
    Switch 101
    Find Out How Video tutorials
    List of Useful URLs for switchers
    Welcome to the Light side.

  • Any way to save data in loop without using shift register or feedback loop

    Hello all
    I was thinking, is it possible to save data in a loop to next iteration without the use of a shift register or a feedback loop?
    I need the possibility to reload data within a loop from a lvm file, but I want to use the same data until i load some new ones.
    The reason why I don't want to use the shift register or feedback node is due to speed, even though I am not sure if the shift register
    actually moves all the data from one register to another, or if it is stationary until a change in the data occur.
    The data I want to reuse is medium-large (6 force measurements, 2 pressure, 1 flow channels)of about 10sec data in each file with samplingsrate of 2kHz..
    In my analysis program I have many CPU demanding calculations and 3D graphs, so I just want to minimize the CPU load as much as I can for each part of the
    software..
    I have attached a small VI to explain what I am talking about.
    I now I shouldn't use the express VI, and I am going to change that as well - this is just a proof of concept! 
    Hope you guys can help me understand this shift register better...
    Thanks!
    - Tommy 
    Running LabVIEW 2009 32bit SP1 on Windows 7 64Bit
    Solved!
    Go to Solution.
    Attachments:
    visual.vi ‏34 KB

    tombech wrote:
    [...]The reason why I don't want to use the shift register or feedback node is due to speed[...]
     Tommy,
    shift register are the fastest you can ever get...........
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • How to use shift register in this structure?

    Dear All,
    In order to use less variety of graph, I want to use shift register to manage and send data to graph.
    But there is not only event structure in my vi, for some reason(because I want to use only one button to control running and stop, and this must do through variety of button, I can't put this loop into the event structure) I must use other while loops, I don't know how to use shift register in this structure.
    Please tell me anything helpful.
    Thank you!
    Attachments:
    shift register.vi ‏26 KB

    hi there
    there are a lot of solutions. my favorite one is the usage of a so called "FGV" (functional global variable). this allows you to strore, manipulate and transport data through your app with a minimum of wires. see attachment.. (other users may have other favorite solutions...)
    Best regards
    chris
    CL(A)Dly bending G-Force with LabVIEW
    famous last words: "oh my god, it is full of stars!"
    Attachments:
    Shift Register 7.1.zip ‏20 KB

  • Problem in using the shift Register

    I have a problem regarding shift register when i was using it in my application.
    During the runing of the application i found that sometime shift register not pass the value to the case structure. at that time result is not displayed.
    i have attached the application in which that problem occur and the process regarding the execution, how bug produce and how to check where the shift register stop. please find the attachment and reply on the same.
    Attachments:
    Shift Register Checking Application.zip ‏173 KB

    I'm sorry but I don't understand your program.  I only see one shift register in Result Display.vi.
    What I do see is a lot of odd constuctions of while loops that only run once in your Main.VI.  Also, a heavy reliance on global and local variables that I suspect are leading to race conditions.
    Have you tried using the debugging tools such as probes and highlight execution to see our your application is behaving?
    I'd also be concerned about how you have "Lock Front Panel Until Event Completes" in the cases of your event structure.  And those event call other subVI's that may take a while to run and rely on user interaction with the front panel.  I also don't understand why when I hit "OK", the subVI front panel remains open.  It just makes running your application that much more confusing.

  • Iterative addition of 2D array using a shift register

    Hi
    I'm trying to add 2D array iteratively using a shift register.
    However, the indicator for the output of 2D addition shows nothing.
    Do you know Why? and How to fix this problem?
    Thx
    hiyang

    Ok, looked at ur attached VI
    You are not getting any output because, you are adding an array with an empty/blank array
    First, initialise an array of zeroes of required size and pass it to shift register,  Initialise your other array which u are adding inside the loop also of similiar dimension, and later, keep changing its elements
    Do as shown in modification of your attached VI
    Regards
    Dev
    Attachments:
    2DArray_shiftRegister.vi ‏30 KB

  • Problem saving an array using a shift register

    In the attached VI I'm building a 1D array of strings, then trying to save it using a shift register. For some reason my data isn't being saved and I dont understand why.
    Thank you.
    Solved!
    Go to Solution.
    Attachments:
    Shift_Reg.vi ‏15 KB

    Try this...
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    Shift_RegMOD.vi ‏10 KB

  • How to quickly clear an array used in a shift register?

    Hello all,
    I'm sure this is a quick one, but I'm missing the concept.
    I have an array of boolean in a shift register. I have a case where I need to basically 'reset' the array rather than append to it....what is the best way to do this?
    Thank you,
    cayenne
    Solved!
    Go to Solution.

    stevem181 wrote:
    Of course, it is possible that my benchmark program is flawed.
    Yup, disable debugging and you will see that the inner FOR loop is folded in both cases and the time drops to about zero.
    Testing with debugging enabled is potentially unfair, because the reshaping will have more debugging code because there are more potential places to probe a wire, for example. All that said, I don't really know what's more efficient. That would require much more sophisticated testing. My point was just a reminder that there are always many ways to do things.
    (This is under LabVIEW 2012. Constant folding and dead code elimination of course differ between compiler versions)
    Granted, I typically don't use any of these two versions: I also omit the diagram constant, set the tunnel to "use default if unwired" and keep in unwired in the "clear" case. Less diagram clutter and quicker coding.
    Here's how it would look like.
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    Folding.png ‏13 KB
    UseDefault.png ‏3 KB

  • Unxepected behaviour with clusters inside of while loop with shift register

    Colleagues,
    I just would like to post here small, but important bug (I guess this is the bug), which was found by coworker today morning. Just would like to share knowledge, and probably this will save some debugging time for you...
    So, the problem that you can get wrong content of the cluster in some cases. The cluster used inside of while loop with shift register (we using this construction for functional globals), and after bundle operation you can get data, which are not expected:
    See also attached code for details (LabVIEW 8.6.1, WinXP Prof SP3).
    best regards,
    Andrey.
    PS
    Bug report already sent to NI.
    Message Edited by Andrey Dmitriev on 10-16-2008 12:30 PM
    Attachments:
    BugwithClusters.png ‏15 KB
    BugwithClusters.zip ‏10 KB

    Thanks Andrey for brining this to our attention!
    The "Show Buffer Allocations" reveals that LV is not processing the code in the right order.
    Under ideal conditions, all of the data should be manipulated using the buffer "A". But as this demo shows the data is being processed in the wrong order.
    The previously posted workaround get around this by forcing the array operation to happen first, but this resluts in two additional buffers "C" and "D" and then copy this back into "B".
    Using an "Always Copy" is another workaround that uses a seperate buffer "F" to hold the data being moved from the first cluster to the second inside "E".
    I think you won a shinny new CAR* Andrey!
    Ben
    CAR = Corrective Action Report
    Message Edited by Ben on 10-16-2008 08:05 AM
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction
    Attachments:
    Cluster_Bug.PNG ‏57 KB

  • Use of shift register and similiar C code

    Hello LabVIEW Gurus,
    I am very new to LabVIEW and I did searched the forum for my short question but the answers were not that clear to me. My question is what is a shift register and could you please give me one similiar C code and where shift register can be used.
    Thanks for your time.
    Vasu

    there is no direct analogous to a c construct to a labview shift register but a shift register is an unnamed temporary variable for use with itterative loop structures (for and while).  See the following code
    int sum = 0;
    for(i=0; i>100: i++)
    sum = sum  + i;
    return sum;
    This can be done in LV without naming the variable sum .  In addition the shift register can be initialized or not.  If you do not register the shift register it will remember the value from call to call (a very cool feature when you learn to utilize it). See below
    Paul
    Paul Falkenstein
    Coleman Technologies Inc.
    CLA, CPI, AIA-Vision
    Labview 4.0- 2013, RT, Vision, FPGA

Maybe you are looking for