Clearing of Feedback Node

Greetings,
Is it possible for the Feedback Node to be cleared from our VI?
So that the feedback node will not use the previous value for the next execution.
My project is dealing with optics and motorized stages.
After running it once, for about 1 degree, when we change the movement to 5 degrees,
the programme will run 1 degree, then 5 degrees.
Apparently, this is not what we desired.
So please do assist me.
Your help is much appreciated.

Hi,
Could you post the ocde you've already done?
Do you know which behavior you expected?
The behavior you're explaining seems to rely on commands you've done. Where is the problem?
Olivier L. | Certified LabVIEW Developer

Similar Messages

  • Feedback nodes in Error cluster

    Some time back I
    had posted a VI called Simple StateMachine template. Based on the
    comments from fellow members I have redone it and am attaching it
    herewith. ( LV7.1 + Win_XP Professional )
    If you just open it and check the block diagram, you will notice that
    LV has introduced a feedback node in the error cluster looping between
    DAQMx function Write Digital Output and Read Analog input. I am not
    sure why LV does this even though the two functions have no common
    reference or relevance between them.
    You can also try this : Just remove the data lines to the two Digital
    Out functions, and also the error cluster with Feedback node . Rewire
    the Error cluster but this time without the feedback node. And now if
    you try to connect the Digital Out data lines, you will find that the
    Data lines are drawn with feed back nodes !!
    I am sure LV is trying to tell me something - only that I don't understand what it is. Can some one  elaborate on this ?
    Thanks
    Raghunathan
    Message Edited by Raghunathan on 07-04-2005 08:29 PM
    Raghunathan
    LV2012 to Automate Hydraulic Test rigs.
    Attachments:
    PRP_Main.vi ‏288 KB

    You have an impossible loop in your code (Run it with execution highlighting to verify):
    Dig8-15 relies on data from the case structure.
    analog input 0-7 provides data into the big case structure
    This means that Dig8-15 cannot execute until the case has executed, but the case must wait for data from analog out. LabVIEW is smart enough to insert a feeback node such that AI0-7 gets the error from the previous interation. This is NOT a desirable situration. 
    Without the feedback node, yuor code is broken. AI0-7 cannnot run because it must wait for DO8-15 to execute. DO8-15 cannot execute because it must wait for AI0-7.
    You should:
    Uncheck the diagram option "Auto insert feedback nodes in cycles" to make sure to get broken wires so it is easier to find the problem.
    FIx your dataflow. Please make sure your wires flow left-to-right, it make errors like this less likely. You need to wire the error clusters in the order the subVIS execute.
    I hope this is clear enough, but please ask is you continue to have problems. Good luck!
    Message Edited by altenbach on 07-04-2005 07:18 PM
    LabVIEW Champion . Do more with less code and in less time .

  • Feedback node from case structure

    checkLED.vi is my first rev of this. Then I realized I can incorporate the 345/348 selection into the case structure, which resulted in checkLED2.vi. However as soon as I did this, the feedback loop inserted itself. I don't understand why this happened and what it means. The string coming from the case structure is an INPUT to the two 34970 vis. There is no feedback going on here. If Labview sees this as feedback, why didn't it insert the feedback node in checkLED.vi?
    Attachments:
    checkLEDs.vi ‏23 KB
    checkLEDs2.vi ‏23 KB

    Look at the dataflow you have created by moving the strings into the case statement. The case statement requires data from the iteration terminal and from the VI in the sequence structure. The sequence structure requires data from the switch VI which in turn requires data from the case statement. This is a clear feedback situation that you did not have before.

  • SubVi with feedback nodes used more than once inside a While Loop

    All,
    I have a subvi that does a set of operations and uses 3 feedback nodes. I am using this subvi inside a While Loop a total of 4 times. I've noticed that all instances used share the same result at each corresponding feedback node but I would like to have an individual result from each of them. Is there an easy way to go around this problem? I have come up with ways to avoid this: a) create a different vi for each time the subvi was used. b) use global variables instead of feedback nodes. Is there any easier way to go around this issue?
    ExamplePlease note that both subvi's are the same) If on my first subvi I calculate a maximum value and get 1.29 (then goes to feedback node) on my second subvi i get 1.01 my feedback node at the second subvi still registers the maximum value to be 1.29. (and I want it to be 1.01!)
    Hope this is not too confusing, I've been scratching my head with this for a while, can't find the "easy" button. Thanks in advance.
    -Pop
    Im using 9.0.
    Solved!
    Go to Solution.

    Attaching the code would be helpful. Anyway, I am not sure how multiple feedback nodes are supposed to operate so I will defer that to others to answer. As far as being able to use distinct values or instances if you are using a subVI you could mark it as reentrant. That way each call to it will behave as it it were a copy of the VI and it will have its own memory space. This should include the feedback node. You may be ending up with a single subVI and in reality a single feedback node. If you need to pass data between calls than simply wire the data through. You could also use an Action Engine to store and retrieve values. An AE is a MUCH better solution than a global variable.
    Mark Yedinak
    "Does anyone know where the love of God goes when the waves turn the minutes to hours?"
    Wreck of the Edmund Fitzgerald - Gordon Lightfoot

  • Feedback node crashing bug

    I have came across a nasty bug that caused Labview 2010 SP1 (Runnnig Win 7 Ultimate x64 bit) to crash without any warning.
    To replicate the bug do the following:
    Add a numeric control and another indicator to the front panel
    Switch to block diagram and add a feed back node
    Connect the initializer terminal of the feed back node to the output of the control
    Now do ANY of the following to cause the bug:
    Press the run buttong (which is broken due to not connecting the input of the feed back node) it will turn to a normal run without displaying the error
    Do an extra action and undo it, the run button will turn from list error normal
    So far the Vi can be saved normally. Now connect the output of the feed back node to the indicator and try any of the followings:
    Save the VI
    Close the VI
    Create a new project and select to add the VI to the project
    This will cause Labview to crash without any notice!
    When you are at step 4, the bug is there but harmless. Once you combine it with step 5 (connect to indicator), the bug is active and cause crashing. I have attached a snapshot of how the Front panel/block diagram look like before saving (since it can't be saved). Notice how the run button is enabled although the input of the feedback node is not connected.
    I have tried to replicate the error on Labview 2009 but couldn't.
    Attachments:
    FBN Bug.jpg ‏56 KB

    Dear ªL¡
    Thank you for briging our attention to this issue.
    I replicated it on LabVIEW 2010 SP1 and confirmed, that in LabVIEW 2011 it has been fixed.
    Thanks again!
    Best regards,
    Mateusz Stokłosa
    Applications Engineer
    National Instruments

  • Feedback nodes in subvis with multiple instances

    I have a subvi that implements a state machine.  I am using a feedback node to pass the state from one iteration to the next.  I would like to have multiple instances of this subvi, but the problem is that the feedback is shared between all instances so the states get messed up.  I need each instance of the subvi to run independent of the other instances and that its feedback only feeds back from the previous itereation of that subvi instance.  Is this possible or do I need to rename the subvis to make them different and independent?

    You will need to make the subVI's reentrant in order for them to maintain there own dataspace.

  • Feedback nodes / delays and Resource Usage on FPGA

    Again it's time for an exotic FPGA semi-noob question from myself.
    This has been bugging me for a long time:
    When implementing a delay stage on a Virtex-5 target, we have a few options available.
    Feedback nodes : Uses LUTs.  Virtex 5 has 6-input LUTs.  Does this mean that a Feedback node with delay 1 requires the same resources as a Feedback node with delay 6 and a Feedback node with delay 7 requires double the LUTs as one with delay 6?
    Example: A single unit delay feedback node for a U16 requires 16 LUTs.  What is the LUT usage for 6, 7, 9 delay?
    BRAM : Uses few LUTs and Registers. I reckon I understand this one.
    Discrete Delay : Can't be used as feedback but is more efficient than feedback nodes?  It is written in the help that feedback nodes with the reset support disabled CAN be implemented as SRLs allowing the compiler to choose th ebest option whereas the Discrete Delay primitive forces an SRL  Is the SRL implemented using LUTs?.
    Which of these options is recommended for which purpose.  We're really filling our chip and need to start considering such aspects of number storage.
    Sorry for the over-reaching vague questions again.
    On the other hand, being on a steep learning curve is actually almost thrilling.  Every bit of information helps me learn so thanks for that in advance.
    Shane
    Say hello to my little friend.
    RFC 2323 FHE-Compliant

    JLewis wrote:
    The number of inputs is only indirectly related to the supported delay. The V-5 and above CLBs (Configurable Logic Blocks) can be configured as dedicated shift registers with delays up to 32 in a single LUT per bit. The main restriction is that these shift registers are not resettable, so you only get this implementation when configured without an initialization value. Delays above 32 can be efficiently implemented in multiple LUTs (ie, 1 LUT per 32 delay). These shift registers are known as SRL16 or SRL32, depending on the target family.
    So does this mean that on a LUT-basis, a shift register (with the reset conditions met) with a delay between 1 and 32 costs the same amount of resources?  33-64 delay costs twise that of a single delay?  Is this correct?  I think I need some benchmarking code.....
    JLewis wrote:
    Discrete Delay maps to the same shift register implementation as feedback nodes if the reset condition is met. Otherwise, the main difference is that the Discrete Delay exposes the dynamic delay feature available in the hardware shift registers and, as you noted, can't be used in a feedback cycle. If neither of those considerations is a factor in your design, it's just a matter of preference.
    This document from Xilinx contains the keys to the kingdom, as far as what hardware capabilities are available: http://www.xilinx.com/support/documentation/user_guides/ug474_7Series_CLB.pdf
    That's kind of what I thought.
    JLewis wrote:
    Hi Shane,
    Great questions!
    Well thank you,  Thanks for the answers.
    Say hello to my little friend.
    RFC 2323 FHE-Compliant

  • Feedback node global

    Were these just a fad? I stopped using them years ago because I heard they had performance problems. But I also heard that they were not intirely implemented correctly and NI was going to fix it.
    PaulG.
    "I enjoy talking to you. Your mind appeals to me. It resembles my own mind except that you happen to be insane." -- George Orwell
    Solved!
    Go to Solution.

    I remeber doing a test not long ago and found that the FBN was slightly slower than the SR for creating FGVs.  I'll have to test it again with the lastest LabVIEW version.  I do remember back in the 8.6 days of Darren stating the the FBNs were faster due to not needing the loop overhead.  So a lot of my FGVs use feedback nodes.  I think they make it cleaner.  Some I work with think the SR is easier to understand.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Feedback node in LabVIEW

    Hi everyone,
    I am trying to simulate the second-order generalized-integral SOGI in LabVIEW and compare step by step with Simulink. The results are the same until I make two feedback loops by using feedback nodes. The graphs in LabVIEW show nothing. Can you give me some recommends for these iteration loop?
    I attach SOGI and my simulation model for detail.
    I really appreciate your nice help!
    Best,
    Tuan
    Attachments:
    SOGI_fig.png ‏96 KB
    Implementation.png ‏11 KB

    You need to initialize your feednode nodes to an array of the appropriate size to match your waveform length.
    In LabVIEW, what happens if you have {1,2,3} - {0,2}?  The output array will be of length of the smallest of the arrays being subtracted.  So you will get {1,0}.  So what happens when you subtract an empty array?  You will have an empty array as your output.
    Here's a quick edit of your code.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines
    Attachments:
    TestPhase.vi ‏30 KB

  • Feedback node behavior

     I never expected a difference between Array1 and Array2 in the attached vi.
    In the feed back version, if the incoming array is all false, Feedback indicator is not initialized to empty, and Array2 contains stale data.
    Attachments:
    FeedBackNode.vi ‏23 KB

    beavercreek wrote:
    Dang it,  sorry about the attached.  I was trying to be nice by back versioning the source code, but I went beyond the feedback node feature.
    I don't really have a question,  I just expected the initializer to intialize Feedback (and Array2) to empty, regardless of if the true case ever executed.
    My bad, and a heads up to others.
    I don't know why you'd expect an initializer to initialize something back to empty after code has executed.  The initializer only operates on the feedback terminal when it executes.  Once you get into your For Loop, the initializer terminal never comes into play again.
    One problem with your code is that your terminal is at the output of the feedback node rather than the output of the build array.  So the data going into the feedback array indicator is always from the last iteration where the boolean was true, not the current iteration.
    If you want to get the data in the array indicator after the for loop is done, then I would use the variation with the shift register, and not use the feedback node.  Or if you use the feedback node, use the initializer terminal on it, then it isn't necessary to have the case structure and you can wire the data directly out to an indicator outside the for loop.
    Attachments:
    FeedBackNode[1]_BD.png ‏32 KB

  • Feedback node strange behavior

    So I just recently discovered the feedback nodes and I am trying to use them to control my instrumet, so that if I change a setting, the feedback nodes sees the difference and preforms a visa write.  There are 5 parameters to control, 1 to select a range from a list and 4 switches (Hi Res, Zero, Filter, Damping).
    The issue is that everything works, but the instrument itself is always a step behind the front panel.  I.e., I flip the Hi Res switch and nothing happens, then I flip another switch, say the damping switch, and then the Hi Res responds.  I then flip another switch, and then the damping resonds.  The switch controls the correct parameter, but it is always behind by one action.
    Solved!
    Go to Solution.

    Could you be missing a termination character on the command you are writing?  That it takes awhile for a timeout to occur, or the next command to be written, before the device detects that it should execute the previous command is has received?
    DKFire's suggestion of using an event structure for this is a good on.

  • Feedback Node

    シグナルの積算のためCompound ArithmeticとFeedback Nodeを使おうとしていますが、Compound Arithmeticへはいるシグナルは正常なのですが、Feedback NodeでCompound ArithmeticへもどしたあとのCompound Arithmeticの出口のシグナルは見られません。Feedback NodeのInitializing Terminal花にも設定していませんので、最初のシグナルに加算されるものと期待していましたが。
    どうすればよいかお教えください。 

    添付のブロックダイアグラムで積算が出来ています。見比べてください。全く同じであれば、各配線にプローブをつけて、値の変化がどこで狂っているか、確認されると良いでしょう。出口のシグナルは見られない、というのはどういう現象でしょうか。出力の数値がゼロということですか、それともNaNになっているということでしょうか。もしNaNであれば、数値と認識されない値を積算していることになります。
    添付:
    FeedbackNode.jpg ‏13 KB

  • Feedback Node error and NXT

    I'm trying to create a simple counter using a LabView 8.5 and the NXT.  I'm using a Feedback Node and it does not show an error while editing the VI.  When I try to download the VI to the NXT I get the following error.
    ERROR: An error occurred during parsing.  Node was unable to be parsed. ((Class: FeedbackNode) (VI:Teleop.vi))
    List of errors:
    ERROR: An error occurred during parsing.  Node was unable to be parsed.
    When I click on the error it highlights the feedback node (arrow pointing left).
    Sean

    I found the problem after reading this document:
    ftp://ftp.ni.com/evaluation/mindstorms/LabVIEW_for_NXT_Advanced_Programming_Guide.pdf
    Feedback nodes are not supported in a while loop.  But, you can convert it to a shift register and it will function.
    Sean

  • Feedback Node Crash

    I seem to have stumbled across a bug in LabVIEW 2010. I'm trying to create a subvi that loops FP read, with the FP refnum stored in a feedback node. Unfortunately every time i wire up the feedback node and try to save the vi, LabVIEW crashes. It also crashes if i try to run the vi. Fortunately it does so gracefully and my other vi's can be recovered, but does anyone know if there's a workaround to actually implement this?
    Related vi attached.
    LabVIEW 2010 (v 10.0f2), 32-bit running on Win XP
    Attachments:
    FP Read x measurements.vi ‏17 KB

    Does it give any error codes? I don't have your subVI. The main one is simple enough. Try recreating it from scratch. Sometimes VIs get corrupted or just go insane.
    =====================
    LabVIEW 2012

  • Feedback Node Initializer Being Ignored ?

    Hi
    I have a feedback node sat in a For Loop, the number of iterations is determined by an input array. The same input array is wired to the initializer terminal of the Feedback node.  The Feedback node delay is set to 3 and yet the output of the node only contains the first value of the array for the first 3 iterations. It's easier to show than describe.
    So I would expect the output Array to contain the values 3,1,0,0,1,2 yet it actually contains 3,3,3,0,1,2
    If I wire the scalar value 99 to the initializer then I get the expected 99,99,99,0,1,2
    What am I missing ?
    This is LabVIEW 2011 for MAC OS X
    Don't forget to give Kudo's for a good answer !
    LabVIEW Champion
    Certified LabVIEW Architect
    Certified TestStand Architect
    Solved!
    Go to Solution.
    Attachments:
    Feedback Node.vi ‏8 KB

    To expand on Swatts answer a bit more.  You are actually only initializing the feedback node with a single element because you have the array auto-indexing at the loop tunnel.
    If you fed the entire array into the For Loop and the initializer terminal, it would have worked the way you expected.
    Attachments:
    Feedback%20Node[1].png ‏6 KB

Maybe you are looking for