structure of the event, business, number of iteration

Hello

I'm looking for an example of the Structure of the event from the book, LabVIEW for everyone: graph of programming made simple and fun.

The example in the book looks like this:

The number of "completed work" is equal to "number of the iteration.

But when I create a Vi and try this example, I got this:

The iteration number is twice the 'work '.

I enclose my Vi. Anyone know what is the problem with my Vi

Thank you

Bing

Activation and the Boolean value Deactivateion causes events to change the value, but you add only 1 when it is activated. If you set the Boolean action mechanical latch instead of the switch should be the same.

/Y

Tags: NI Software

Similar Questions

  • How to control the structure of the event

    What I'm trying to do, it's when the condtion is true, I want that the structure of the event to excute. But the event structure wil excute not except if he's changed the puch model, any idea how?

    It is more likely that he wants the sequence of events that he has set up to run after the result once changes.  If you change the logic to check the values after each numeric change (2), you will need to learn how to check to make sure that the latest iteration was not true.  Otherwise, it will start the sequence over and over.

    Really, you have to escape completely the structure of the event.  This isn't what you want.  Your code lends itself to a great state machine.

    You'll want to ask you a few things:

    (1) I want my code to run continuously or I just want to check double-digit times? (your code is currently the second)

    (2) I want the user to be able to stop my code once the sequence begins? (it is usually a Yes)

    (3) what I want 6 Road, path 5 or the comparison to happen first?  I want all run at the same time?  Do I need one before the other? (currently, you cannot predict what will happen first).

    You will need to understand the topics are: State of the machines, the flow of data, structures, business, calendar, and race conditions.  Now, you need to get you into trouble.

  • Simulate the structure of the event in the LabVIEW base?

    I have a basic version of LabVIEW (v8.6) who doesn't have the structure of the event. I found it was quite embarrassing monitor the status of several controls (action after clicking a control depends on the State of the other control (s)). Especially if I want to add another function (control), the effort exponentially increase with the current number controls

    I had an idea to simulate the structure of the event using "shift register. First, I will provide all the values for the controls in a cluster. Then I'll put the cluster in a while loop and compare the value of the cluster to its previous value (xor the registry change). If the result of the comparison is false (none of the control is changed), the program moves to the next iteration. If the XOR result is true (one of the control has changed), then the program goes into code (it will pass what control has changed and the entire cluster) event management. So for each change of control, we can write an independent code to process the event. After processing of the event, the event was allowed.

    Here are some of my ugly code currently used to monitor multiple controls. And I think rewriting using above idea so there is less chance a hiden bug.

    Comments, suggestions?

    I'm not quite sure what I'm looking for on your photo of your block diagram because it seems that only the lower quarter right in your code.  I would do the following to detect a change in a cluster without the structure of the event control:

    The basic package include the notifications than us?  You can put your "event management" in another thread by this method:

    The advantage here is your main loop of the program is not "bogged down" every time that a change in your cluster held.  It also allows to separate the code so that it is cleaner.

    Hope that helps!

    -Fisher

  • Structure of the event can be triggered a 1 event

    I am using a structure of the event to trigger a 1 off the coast of the event.  I thought that I could check the State I want to trigger the event and this thread the Val (signaling) a Boolean property.  Then I created an event to change the value on this command expects the event fires when the value from false to true.  I think it is this writing in Val Signaling property raises the event each time not only when the value changes.

    The attachment is a simple vi to try to illustrate this point by using the iteration count to try to trigger a 1 off the coast of the event on the 10th iteration.  The Boolean 'once' varies from iteration from False to True on the 10th, but the event is fired for each iteration.  Need to run in debugging

    Any help much appreciated

    Ken

    I've seen this confusion on the value of property front of signage. You expect it would only trigger an event, if you write a different value than the control or the indicator has been set to. This is not the case. She fires whenever you write to it.

    Your simplified example wrote to the property value of signage in the while loop for each iteration. That triggers the event value changed whenever you write to it. Notice that the property is 'signs of value' and not 'value has changed the signs '.

    Some of the examples were complex with the authors of notifications and user events. But the easiest way is just to put the property within a business structure node while it is written only when you want that one off the coast of the event. It does not matter what you write to the node if you send all the data for the case of the event.

    If there is a reason you must write to the Boolean value of traffic property on each iteration of the loop you can use the value written in sub condition to run code in the event. But notifiers, queues and the user just looks complicated events.

  • Structure of the event: problem with data transfer

    Hello everyone,

    for three days I'm troubleshooting an issue in LabView with the event structures. I really hope someone can help here, because I can't find anything on the entire WEB.

    I had six groups of equal to a VI entry, each containing five checks enum (among others) where the user can specify some configuration of measurement data. I want the program to do is: to recognize if a any of these enum values has been changed and if yes, then submit the values containing the cluster in a subvi then calculates the wiring and affect the material of the ports. In addition, i need to submit the number of the enum element that was changed, so the program is able to clear the user input in the case of a breach (e.g. If the user sets two entries of enum control 1 meter and 2 Group 1 and then tries to set a third counter of entry to port 3, the program displays a message and deletes third entry as the number of entries of counter is limited to 2 per cluster).

    To resolve this problem, I used a structure of the event with 6 x 5 cases (change of enum value 1 Group 1 Group 1 enum value 2 change... and so on until the change in the value enum 5 Group 6).

    The problem is that if the user changes a value, the event structure reacts and performs the proper case; However VALUES of the cluster, the user changed are not subject to the SECOND time that an event occurs. It is a kind of a situation, "n-1". For example, if all five controls Enum of Group 1 are 'disabled' first and the user sets enum 3 of 'Meter entry', the structure of the event runs but submits the values previous to the Subvi (all enums 'Disabled'). When the user makes the second change, say that enum SWITCH1 to "Analog Input", the structure of the event is running again and passes the values of the FIRST user to the Subvi editing, then the Subvi gets data "enum 3 meter inlet and all other disabled enumerations.

    In easier words: if I have new values on my cluster "Kanal 1" (left side of the screenshot) and run the structure of the event, on the right side to "Kanal 1" indicator, I get the previous values (n-1).

    The structure of my event is in a while loop. If I create a timeout every 10 ms, and a loop of 250 ms the waiting time, I got the 80% chance that the recent changes are transferred to the Subvi correctly, in other cases I have a delay of the 1 step as described above. It seems to be directly based on the time that I specify the while to wait - but I can't explain it and I cannot accept a less than 100% chance to transfer the correct data, nor can I accept delays of a few seconds for each loop run. If I indicate timeout (infinite) get delayed 1-1 step values in all cases.

    When I specify cases of event to react on "all items value change" of the structure of the event behaves properly - but then I can't handle indicate which element has changed, as the CtlRef of output in case of a structure does not specify "enum 1, enum 2..." but only "Group 1".

    Does anyone have a solution to this? It is certainly a problem with the structure of the event, but I can't understand what to change.

    Thank you much in advance,

    Mr. Boiger

    This is because the terminal is read until the structure of the event runs.   Terminal is read, the event structure is waiting for an event.  The change in value.  Business events are running, but the value is the old value.

    Put the terminal inside the event.

    Or, you can display the connector called "New value" on the side left (stretching down from the border of the node 'CtrRef').  Use a wire one to come.

  • major error with the structure of the event

    IM under LABVIEW 13.0 PRO

    I don't know when this strarted bug happening, but now when I add a business to a structure of the event. Freezes in LabVIEW. I have to close labview with the Task Manager.

    It doesn't matter what code I'm working with, even a new VI, with nothing else than a structure of the event.

    I tried this on my desktop PC, my laptop and my CPU DAQ.

    The error occurs on my desktop and my laptop. But it does not occur on my CPU DAQ.

    Whenever I click on add event usually case, you get a popup to configure and add cases, but with the popup error never comes to the top and labview crashes.

    Theres no code to share the problem ocured when adding events to the event structure. It happened with any structure of the event, in any code, all the time.

    I spoke to an engineer of apllication of labview and suggested to delete the labview.ini file located in the installation of labview directory. I did this and the problem was solved.

    Still not sure what caused this to happen.

  • down arrow key in the structure of the event

    Hello

    I use arrows on my keyboard to control program (UP DOWN LEFT RIGHT)

    Using the button down in the structure of the event, I know what key

    But I need to detect that 2 buttons are pressed at the same time make different case for this. I don't know haw to handle this.

    Any suggestions appreciated

    Keep a table of four Boolean values in a shift register, then turn on each element or off function on a key or key release events. The number of values Boolean true will show you the State of all buttons at any time.

  • How to use the structures of the event for long-running tasks

    I created a state machine that scans a cluster of Boolean controls in a State of 'home '. Most of the States run a Subvi or two in ~ 100 ms or less.

    However, a State run for 10 seconds.

    The code works but the user interface is limited because the controls are outside the cluster because they provide inputs to the structure of State machine case but do not cause changes in the State. In other words, I all orders cluster stacked vertically on one side of the main panel and do not have the flexibility to move the controls to the more intuitive positions on the Panel.

    My question: How can I convert this code in a structure of the event and keep this long term 'event' and prevent that the operator by clicking another button event during the execution of this event?

    Thank you

    You say you have controls outside of your main code... You should really put these inside and manipulate them in a State of your state machine is initialized. This allows you to make changes to the code easier and limits of line entering your outside loop.

    You can do different things to lock the user.

    You can disable specific controls so that they can't be clicked or edited.

    You can use the palette of the mouse to define the busy cursor and disabled again once finished, I do this a lot during treatment when my code something loads the user just clicked.

    One of my favorites is to set a Boolean value in your data that passes through you event titled structure "disable mouse." When the value is True, a mouse down event will effectively reject the event, clicking on disable. I also added an event mouse move where if the bool disable the mouse is set to True, it moves an indicator of string with the mouse by telling the user why it is disabled.

    If you want more specific suggestions, I suggest to post an excerpt of your code, or attach your screws, so that we can better help you.

  • Button value change records in the structure of the event, but does not change appeaance?

    Hello world

    A quick question... I hope someone can answer...

    I have a code that uses a PS button within a structure of event to trigger a signal of AO... My code is below. The code works fine and the OD goes off when you press the button E-Stim... But when pushed the button does not change with reliability the appearance (i.e. of the gray 'off' red 'on' color)... Sometimes color changes; no other time not... If I remove the structure of the event and the survey button in the appearance changes as expected.

    What is going on? I would like the button to change the colors on the user interface to indicate that it works... Should I programmatically control the color?

    Kind regards

    Jack

    I guess that when query you the button you have some delay in your loop? Locking means that the button will change its value when you press it, then switch back to the original value once the value of the control has been used by the code. When you ask, this means that until he reaches the next iteration of the loop, but in the case where the structure that will happen immediately.

    The default setting for the buttons to modify its behavior as in most of the application would be latch releasing. You then raise the event when the button of the mouse over the control. This also allows "drag" control if you push down on the subject, given that you do not release control in this case.

  • LabVIEW 2012 while the structure of the event does not stop

    I am LabVIEW 2012.

    An example of a while loop with the structure of the event inside can not be stopped with the stop key, Boolean.  Something wrong?

    Please see the attached VI.

    Thank you.

    Yes, something is wrong. You must add one for the event in order to detect a change in value on the stop button.

    The thing is now your structure for the event rest waiting for one of the event which she handles and ight now, it handles the "close panel" event, the 'timeout' event is too manipulated, but since you do not have anything related to the terminal of timeout (top left of the structure of the event) the timeout is - 1. So, when you run the VI the while loop is stuck in the first iteration and is waiting for a sign nearby, the stop button will only take into account after that same structure intercepts an event; I think it's because LabVIEW will execute the code related to the Terminal stop of the while until after the rest of the code that he has completed execution of the loop.

    Hope this helps

  • pop up in the structure of the event interrupts execution

    If I place a pop-up Subvi in a business event an event structure and this pop - up Subvi contains a while loop and a stop button that this would stop all loop (which closes the Subvi), will be other events reported in the case of structure be handled until the user has clicked the stop button on the Subvi? If so, is there a way for other events to handle while the pop-up Subvi is still working?

    Yes, it stops while you started VI until the popup VI returns. The events will always be put in the memory buffer, but they will not be manipulated by the structure of the event, until your popup is closed (assuming that your pop up is modeless). If it is modal, the user will not be able to click on anything anyone at all, except the controls on the pop - up's.

    If you still want the user to be able to interact with your façade while the pop up shows and have the FP to answer, you want to launch the popup dynamically in its own parallel process. If you use LV 2012, you can use the asynchronous call starting node. If you are using a previous version of LabVIEW, you will need to use the 'Run' method with an invoke node.

  • Instead of using the structure of the event with the producer consumer?

    I used the architecture of producer-consumer in the past to control a state machine with the structures of the event.  I'm working now with the basic version of LV that does not include the structure of the event.  Can anyone recommend alternatives to the use of the same architecture in this case?  Thank you, David

    Before the introduction of the structure of the event, the only option was the election.  Control terminals are in a time loop (the producer) with shift registers and a wait, usually about 100ms.  At each iteration of the loop, the control's current value is compared to the previous value.  If it has changed, and then take appropriate action.  Andrey suggested, queues are a good way to pass information between the loops.

    It works for the equivalent of the value change events.  Things like mouse to top or filter events were much more difficult or not possible.

    Lynn

  • structure of the event with a local variable

    Hello world... I tried to make a simple program with the structure of the event in Labview.
    I need to show a value in a table, when an external signal changes its value. (I read a lot of discussions and many documents and I don't understand the thing... Sorry)
    I want to say that I am getting a value of temperature of a sensor in a controller, it works in asynchronous mode sensor, so that the detector Gets a new value in different sampling rate.
    So the PLC program changes the State of a Boolean variable simple that in Labview, indicates that there is new data (newdatareceived---> 1,0,1,0,1,0...)
    I need this draw Labview (valuereceived) value in a chart when this variable (newdatarecived) changes.
    My problem is that the table always puts a value according to the cycle time in its loop and resumes the values... (I tried, with dynamic events and signage value... and I got the same result... It works fine).
    Thanks in advance.

    And the other way:

    Thanks for your time again.

    STPG wrote:

    I've been doing a little test with xygraph and the example works now (thanks!) but I have a doubt, is this the right way or is there a better way?

    No, this code is meaningless. You write new (mostly the same!) points to the graph xy with each iteration (actually at twice the speed at which data can actually happen: 100 ms vs 200ms!), tax system unecessarily and more internal data structures like crazy.

    All you need is a simple loop with a single structure of matter which is true if the Boolean value is different from the previous iteration. Currently, you must add a point (the time for X, the value in Y) to the xy graph. Here is a quick sketch. (You can either use the meter or the elapsed time for X, according to your needs, so change if necessary).

    Events are mainly for the interaction with the user in order to avoid the loop turn unless necessary. Here you are already running a loop to interrogate the instrument and you can easily have the graphic way the same loop. Right?

    You should also be aware that the execution order is determined by the flow of data and not in a horizontal position. If it's important that OCX nodes running first in an iteration, you create a dependency of data (for example with the wire of the error). Horizontal compensation has no effect. The structure of sequence on the left has also does no work, then why is it there?

  • Structure of the event - controlled motor not variable

    I have a state machine that includes certain structures of the event. These event structures are used to control stepper motors using an Arduino Mega microcontroller. I'm using labview in 2012.

    The entrance to one of the events is the variable "pour the entry. I want to use it to control the motor speed and direction.

    If I control the motor as shown in the attached image Working.jpg, then the motor functions correctly. If I fix the motor to the steps variable # then the engine moves at the speed set in the right direction depending on whether the entry "pour" is positive or negative.

    However, I want to control the speed of the engine, not the number of steps, with the variable "pay Input". I checked that the values read by the indicator image INPUT_VALUE works do not are of the same order as the specified values, working, by using the "Set Speed". When I connect the value of the entry to the spindle speed of the motors of the Arduino (not_working.jpg) icon, the engine is running, apparently indefinitely at maximum speed. I don't understand why there is a difference in motor behavior between the value provided by these two methods at the entrance to the speed of the motor. I am confused by the present and don't know where to go from here.

    The structure of the event somehow behaves differently when taking a value from outside the structure to this data inside? or y at - it something to do with the opening of the structure on its first loop?

    I have also attached my vi together, even though she may not be the easiest to follow and requires an arduino Mega to run.

    Carlr wrote:

    I have a state machine that includes certain structures of the event. These event structures are used to control stepper motors using an Arduino Mega microcontroller. I'm using labview in 2012.

    The entrance to one of the events is the variable "pour the entry. I want to use it to control the motor speed and direction.

    If I control the motor as shown in the attached image Working.jpg, then the motor functions correctly. If I fix the motor to the steps variable # then the engine moves at the speed set in the right direction depending on whether the entry "pour" is positive or negative.

    However, I want to control the speed of the engine, not the number of steps, with the variable "pay Input". I checked that the values read by the indicator image INPUT_VALUE works do not are of the same order as the specified values, working, by using the "Set Speed". When I connect the value of the entry to the spindle speed of the motors of the Arduino (not_working.jpg) icon, the engine is running, apparently indefinitely at maximum speed. I don't understand why there is a difference in motor behavior between the value provided by these two methods at the entrance to the speed of the motor. I am confused by the present and don't know where to go from here.

    The structure of the event somehow behaves differently when taking a value from outside the structure to this data inside? or y at - it something to do with the opening of the structure on its first loop?

    I have also attached my vi together, even though she may not be the easiest to follow and requires an arduino Mega to run.

    You have a very inappropriate design of "state machine" - even if you do not have same event in more than one of your structures of the event (in addition to time-out), looks that get some of your treatment to go forward until you get something very specific (and in which none of your other user events are being processed).

    I strongly suggest that first set you design of State machine - perhaps follow producer/consumer Design Pattern (events) rather than having everything in a loop, the way you have.  If you keep everything in a loop, you should consider redesign so that you at least allow events to deal with rather than stay in a loop for an indefinite period!

    In any case, in the case where work, you send variable "Set Speed (steps per second)" for engines step by step write vi.  But otherwise, you're feeding 'Entry for' value - are they the same? And to let you know, you send only command "write" step by step when the input value to be paid.

    It's a big mess!  For starters, look at the attached picture, get rid of your structure of the event that has "for the entry" and replace it with what I showed in the picture. (In fact, all your event structures can / must be replaced with a similar logic.) Does not need the event structure in all this, you're just more complicated it must be!

    -DP

  • VI, Structure of the event - script user events

    Hello

    I'm writing a VI script, which will focus on a structure of the event in another VI and fill the event with registered user events connected to the dynamic Terminal structure.

    I use the 'SetHandledEvents' invoke the node and the wiring to the terminal of dynamic events.

    In my example VI, I created 3 num event user, Boolean, and string. I can right click and add the event very well to the structure of the event. Now, if I remove any of the event and run my script I can add a dynamic user events. If I change the number of gegistration event from 1 to 2. I get error 1. The case of the event is created, but it is not configured for any event.

    Any help would be greatly appreciated.

    My test images vi showing events three user sign-up.

    Attached is the VI containing my script.

    Thanks in advance

    KeV

    The user 1 problem script error event should be fixed in LabVIEW 2016. DQMH did a lot of event scripts, but it cannot automatically configure event framework names... the user must do this manually for now.

Maybe you are looking for

  • I can't make changes to the settings of Firefox - none of this works

    As usual, when I allow an update firefox Win Desktop, more things gets sacked. God I wish there was an alternative to that shit from ff! I can't make changes to the settings of Firefox - none of this works

  • How many times should I empty the cache memory?

    I had problems with various Web sites and on other users advice made a full cache clear. I noticed an immediate improvement in the speed of loading pages. Do you have this help and if yes how often should I clean the cache? It is 420MB. Thank you

  • Updates have old address

    Bad Apple I've had shows up when updating apps

  • PCI-7813R field

    Hi, I use a PCI-7813R and cards PCI-6225 and I would check if the MASS D, GND AI and AO GND are connected to the chassis/building land. Thank you.

  • I cannot change the name of the State structure of the State.

    I'm reworking a state machine that we use for the tests of parts.  The program name of the report that relate to a certain nutrient and I want to change the name to reflect the new component to test.  The program uses a constant of the enum to select