Calling Previous Event(s) in the Event Structure

I have a an event structure with 5 events doing different function. I want to create another event which would run 3 of the previous events with one click. Can anyone help me do that?

If you did go the route of a parallel State Machine to the Event Structure (loop), then you should consider using an Action Engine that keeps track of the current state and the past history.  The Action Engine may have enough intelligence to determine if it is appropriate to roll back and how far..
As Andre mentionned, you do have to make sure the software is well designed in order to avoid any deadlock conditions.
RayR

Similar Messages

  • Calling an event structure via a LED?

    Can I call a case in an eventstructure via the value change of a LED?
    The reason for this is the following:
    In my VI is a xy graph and the update of the dispaly and the x-scale takes a lot of time, so I would like to do the update outside of my main-loop to avoid that other processes get delayed. The attached VI is just an example.
    (In my real VI, I have a consumer and producer loop and lots of data processing, so in that case the disply update should not interrupt the data processing.)
    I tried to put the x-scale update in the event structure and call the event structure via the change of a boolean value, but that does not work. The event is not recognised and the x-scale does not change.
    Johannes
    LabVIEW 7.1
    Message Edited by johanneshoer on 11-11-2009 08:20 AM
    Greetings Johannes
    Using LabVIEW 7.1 and 2009 recently
    Attachments:
    Chart Test 16.vi ‏146 KB

    johanneshoer wrote:
    I don't understand. What do you mean by "resize index array"?
    Here's one example. Your code is on the left and uses two "index array" nodes. All you need is one, configured for two outputs.
    Also, of you want consecutive indices, starting at zero, you don't need to wire the index inputs.
    An alternative is shown on the right.
    Message Edited by altenbach on 11-11-2009 12:06 PM
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    resizeindex.png ‏7 KB

  • How to get PNP Org Structure to reflect the org structure as of key date?

    I created a custom program using the PNP logical database.  I defined a custom report category indicating the selection period = employee selection period and allowing org.structure.  I’m also using the standard SAP PNP_DEFAULT selection view. 
    Inside my ABAP I initialize the pnpbegda and pnpbegps to reflect 20060930.  Upon Execution the key date reflects 09/30/2006.  I click on the org.structure button.  The org.structure displayed reflects the one as of today rather than as of Sept-30. 
    During run debug I see that the RP_PNP_ORGSTRUCTURE  program, LRPPNU11, calls function 'RH_TYPE_STRUC_HELP' to get the org.structure.  The call to this function passes 09/30/2006 for the begda and endda, but it still returns the latest org.structure.  I did some playing with this function and found that if I also pass the ACT_SEARCH_WEGID as ORGEH it works.
    Any idea on how I can get the LRPPNU11 program to pass the ACT_SEARCH_WEGID or the subsequent called functions to process for ORGEH?

    thanks. but maybe I don't describe my problem well.
    I use javascript to get some information such as position, sytle of each elements and then pass these to javafx. So the besides the dom tree, I can get more information about elements.
    I need to pass them back to javafx.
    if node support setUserData, I can associate them to each Node/Element. But webkit don't support this feature.
    BTW, If javascript pass a object to javafx. it can only deal with primary types such as string, numeric. But I need pass back a complicated javascript object like:
    {name:"parent", children:[{name:"child1"},{name:"child2"}]
    I can use (String)JSObject.getMember("name"); and JSObject children=JSObject.getMember("children");
    but I can't cast children to Object[] or JSObject[].
    so I have to use some tricky to convert Javascript Object to json string and then in javafx convert it back to Object tree.
    Edited by: user12956197 on 2013-3-11 上午4:27

  • Clarification of the logical structure of sap system & enterprise structure

    Dear Sap Gurus,
    Kindly help me to clarify the following words.I am grateful for answers.Answers will be rewarded with points.Simple & brief explanatios are highly appreciate.Thank you.
    1.FI Enterprise Structure
    my answers:Collection of organization units is called fi enterprise structure.
    2.Organization Units
    a.An element in the logical structure of sap system is called organization unit.
    3.The Logical Structure Of Sap System=?
    Best Regards
    priya desai

    Hi Priya,
    The Enterprise Structure represents the structure of a company according to personnel administrative, time management and payroll perspectives. The company structure describes elements of the company and there dependencies.
    The 'Organizational Units' in SAP, are the elements or structures representing the business functions, and are used in reporting. for example, Client (across the various modules), Company Code (FI), Controlling area (CO), Plant (logistics), sales organization (SD), Purchasing organization (MM), Employee Group (HR) etc.
    Thanks
    Para

  • How can i use the same front panel graph in more than one events in an event structure?

    i want to display the signals from my sensorDAQ in a graph.but i have more than one event in the event structure to acquire the signal and display it in the graph.the first event is to acquire the threshold signals and its displayed in the graph as a feedback.after the first event is executed, i will call the second event,where the further signals are acuired and compared with the threshold signals from the event 1.my question is how can i use the same front panel control in more than two events in the event structure?please answer me i'm stuck.
    Solved!
    Go to Solution.

    Hi,
    I have attached here an example of doing the same using shift registers and local variables. Take a look. Shift register is always a better option than local variables.
    Regards,
    Nitzz
    (Give kudos to good answers, Mark it as a solution if your problem is Solved) 
    Attachments:
    Graph and shift registers.vi ‏12 KB
    graph and local variables.vi ‏12 KB

  • Can I have multiple event structures with the same event cases?

    Hello, 
    I'm doing an application that reproduces the front panel of the HP6675A power supply. To achieve this, I have done a state machine with different states
    (initialize, measures, voltage, current, ocp, ov, store, recall, etc). In each state, should have an event structure that catches the events of the buttons, like for example: if the current state is the Voltage mode and the user press the current button the next state will be the Current mode. For this in each state of the state machine should be the same event structure with the same events.
    My problem is that the Vi doesn't work properly when I have multiple event structures with the same event cases. There are some possibily to do this, and how? Or is impossible to have multiple events? I have been reading some posts, but I don't find solutions. 
    Any help is appreciated.
    Thank you very much.
    Solved!
    Go to Solution.

    natasftw wrote:
    Or as others mentioned, make two parallel loops.  In one loop, have your state machine.  In the other, have just the Event Handler.  Pass the events from the handler to the state machine by way of queues.
    A proper state machine will not need the second loop.  The "Wait For Event" or "Idle" state (whatever you want to call it) is all you really need in order to catch the user button presses.  The setup is almost there.  Maybe add a shift register to keep track of which state to go to in the case of a timeout on the Event Structure.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Save as previous version causes events to disappear in event structure

    I am using 2009 and I am trying to save a VI as previous version...saved it in 8.6, 8.5,8.2 and 8.0.
    I mass compiled the Main VI in 8.6 and tried to open it.  I get about 30 errors one for each event case and the event structure has no events added. 
     "Event Data Node:Contains unwired or bad terminal"
    I am attaching a zip file containing my 8.6 source code which I down converted from LabVIEW 2009.  I am trying to open it in 8.6
    Is this a bug or am I doing something wrong?
    Brian
    Attachments:
    8.6.zip ‏556 KB

    Hey Brian,
    This was reported to R&D (# 194525) for further investigation. A possible workaround for this issue is to save the VI to LabVIEW 8.6 and then save it to the various versions you wish to save the VI to. Also, another workaround is to manually re-enter the event specifiers to your cases.
    When I saved the VI from LabVIEW 2009 to 8.2, the only thing that seemed to be out of place was the event specifiers. You can re-configure these by right-clicking on the event structure and selecting "Edit Events Handled by This Case...". Also, when I first saved the VI to LabVIEW 8.6 and then to LabVIEW 8.2, everything seemed to be in order.
    Thanks for your feedback. Let me know if I can clarify any of my proposed workarounds.
    Hope this helps.
    -Ben
    WaterlooLabs

  • Change the condition in event structures

    Hi all,
    I am a student, currently doing a project. I'm very new to labview and I don't really know much of the function in labview. Anyway, I have this timer made using event structure if I'm not mistaken (I downloaded this timer from one of the post in this forum). This timer will start at 0s, count to 20s, then stop. So what can I do to change the end time of this timer?? Let's say stop at 50s??
    Attached is the program. Kindly please explain to me or modify the program and attached back as a reply. I've been trying to figure it out from the help function, but still don't understand.
    Thank you very much in advance!!!
    Solved!
    Go to Solution.
    Attachments:
    TIMER s.vi ‏13 KB

    Hi,
    Thanks for your inquiry. The VI attached uses a couple of programming structures: While loop, Event structure and Case structure. What you would have to change is actually the case structure. Before we go to that, let us go through the different structures. Open up the block diagram by going to the Menu bar of the front panel and navigate to Window->Open block diagram.
    The While loop is like a Do Loop in text based programming. It will execute until a condition is met. From the attached VI, it stops running when you click the exit button.
    The Event structure is a structure which consists of subdiagrams. The structure responds to interactions with front panel objects. For example, if you click the start or stop button in the front panel, the event structure will switch to a case which corresponds to this interation. In the attached VI, the case, which corresponds to intreaction with the start or stop button, is called  "Start", "Stop": Value Change. Each case will contain an event-handling routine.
    Case structures are like switch statements in text programming. Take a look at the "Start", "Stop": Value Change event. It contains a routine which consists of a case structure. The case structure responds to the input terminal called Start (which is actually the start button on the front panel). The case structure switches between cases according to this input. To view the different cases just cycle through the case structure by clicking the left and right buttons. There are only two cases: True or False as the input is a boolean.
    Now lets take a look at the VI. Take a look at the "Timeout" case of the event structure. This is where the modification needs to be made. Modify the case structure by editing the cases. Change the numbers in case structures: ..20000 to ..50000  and 20001.. to 50001.. This should do the trick.
    Regards,
    Alan Bong

  • How to determine the execution order of event structure

    Hi everyone,
    I have an event structure were it contains four events. All the four events has separate buttons to execute. Here, three events will generate numeric output, remaining one event (Finder) should find the order of those three events. For example, Three events namely A, B and C. I execute the events in the order of B, C and A. The finder event should find the order of previously executed events(B, C and A). 
    Thanks in advance.
    Solved!
    Go to Solution.

    Hello Vij@y,
    I could not look in to your VI because I dont have LabVIEW 2013 (I have 2010) but i tried to understand the situation you are explaining.
    Please find attached image of front panel I made for your reference.
    Here I generated two events sequently, no 3 first followed by no 1 and the same is displayed in sequence array. now you can use the build array function to actually add each event to this array as explained by many people in this forum.
    regarding the timeout event, either you can display the sequencer array in that event or you can display it in finder event and then you can reset the sequencer in finder event (I used reset button click event to reset sequencer back to zero value)
    regarding getting zero when you press finder/reset button before triggring any other event:- Is it not correct to have empty array when you have not trigger any event?
    I hope I put it well and may help you to find solution. 
    With Regards
    Miraz
    Kudos is better option to thank somebody on this forum
    Attachments:
    Sequence.png ‏70 KB

  • Find Control in Event Structure doesn't show the object when it is not in the frontmost Tab page [Bug Report, LabVIEW 2012]

    When you are looking for the control/indicator handled by a case in the Event structure, you can use the contextual menu item "Find Control" (doesn't distinguish between control and indicator, BTW).
    The result is that the control/indicator is highlighted on the FP. The problem is, if that control is in a Tab and specifically in a page of that Tab that happens to not be the frontmost, the only thing you'll see is marching ants, but no control:
    <=========== the wrong TAB page was shown. LV did not bother to switch to the relevant one....
    In other words, "Find Control" in the Event Structure doesn't switch the tab to the owning page. This is contrary to what happens if you right-click, say, the terminal of this control: the FP will switch to the owning Tab page.
    I'd call this a bug and this is definitely an annoyance (which most likely has been around since the creation of the Event Structure).

    I did not. Is there any better chance for it to be caught there by a NI eye than it is in the LV forum? I though these threads were deemed to gather bugs/features that had been already acknowledged by NI with a CAR number.
    I (and others!) wished there was something like this: http://bugs.sun.com/ or http://bugs.python.org/ for LabVIEW...
    I am just coming back from a short conference of scientists who quite uninamously ended up with the conclusion that LabVIEW was to be disregarded as a lab development environment because of maintenance problems (which could have been argued for any language in my opinion, although I think they meant spaghetti diagrams are the natural tendency of students who could not care less as they are not going graduate because of their LV skills or lack thereof), but I guess I could have added my grain of salt and added the complete opacity on bug and feature handling by NI.

  • Using multiple events structure inside state machine to control the Tab

    Hi y'all,
    Anne here.I have a Tab indicator in my front panel and I want to be able to control the flow of my program based on what controls I clicked inside the tab. I am using a state machine architecture and inside every state, I use an event structure to check for user interaction  to determine the next state and what tab page is going to be displayed next. This means that I am actually using multiple event structures in my application and I use them in just one while loop, but just that they are not running in parallel since I am only using "one event structure per state" which means that only one event structure is running at one time. My questions is, programming technique wise, am I doing it correctly? So far, I am not facing any problem (I am still in the early stage of the project) but I want to check with you all first on your opinion regarding this architecture. Will there be any issue on using multiple event structures in a vi? Since I will be using a tab, and the controls available in the tab will be the controls that will control my event structure for that state, by right, there should be no issue. Am I correct to assume this? Is there any limit on the use of event structures? I have attached here a simple sample of the architecture that I am talking about for your reference. I have attached a 2010 version and a 8.6 version. Let me know what you think or any opinions that you may have.
    Hoping to hear from you soon! Thanks so much in advance!
    Cheers!
    Anne
    Attachments:
    State Machine-Event Structure Sample_2010.vi ‏19 KB
    State Machine-Event Structure Sample_8.5.vi ‏25 KB

    Hi jak888,
    I decided to use tabs cause I don't want to have subvi pop ups every time i need to perform the process in the state and show an update in the front panel. This is actually going to be more of an ATE where you will have to choose first whether the one using is the operator or the engineer. If the operator is logged in, she will proceed to choose what test to run (this state will have its own event structure). This part, I don't want a pop up, so what happens is that from Login page, if the user logs in as operator, the tab will automatically switch to the Test Selection page. After selecting the test, it will proceed to Start Test state and the tab will show the Result Summary page. If the user logs in as engineer, then a totally different tab will be automatically shown next and so on. By doing this, I will be able to show an update on the front panel objects without having the subvis pop up. I will also just need to use the call reference functions to call my subvis, making my Main VI more generic. The tab Page header will be hidden so the operator will actually not see that there is a tab and that there are a lot of controls and indicators cause they are hidden in the tabs and that page will only be shown based on what they selected from the main tab. 
    I appreciate your thoughts! thanks so much!

  • Want to "ignore previous" ActiveX Event using callback vi/dynamic events in event structure (LV 7.0)

    hi there
    LV 7.0: i'm using a callback vi with an registered ActiveX event (MSComCtl ToolBar/ButtonClick). i wait for the event with an event structure using dynamic events. how can i wait "ignore previous"? (like i did in LV 6.1 with the "Wait On ActiveX Event.vi").
    thx in advance
    chris
    Best regards
    chris
    CL(A)Dly bending G-Force with LabVIEW
    famous last words: "oh my god, it is full of stars!"

    hi sebastian,
    here's my code. it uses the ToolBar Control from the MsComCTL. in case you don't have a development license i put an executable to the zip.
    i want the event structure to ignore any pending events
    (like the old style solution with "Ignore previous" = TRUE).
    best regards
    chris
    Best regards
    chris
    CL(A)Dly bending G-Force with LabVIEW
    famous last words: "oh my god, it is full of stars!"
    Attachments:
    ActiveX_Events_LV_7.0_(using_MsComCTL-ToolBar).zip ‏234 KB

  • Downloaded ical events deletes the previous event

    I download ical events from a website regularly.  I get emails for different events as they are announced and I click the link to add to my calendar.  The problem is that when I download a new event, iCal deletes the previous event even though the events have different, titles, times, URLs, etc. I'd like to keep previous evens as a historical record.  Worst of all, events are being deleted before they even occur when I have multiple events scheduled closly.  What am I doing wrong?

    Hi,
    I have a small application called Multi Event Filter available on the Mac App Store which creates Calendar events from text or spreadsheets.  While not really what it was designed to do, a side effect of Multi Effect Filter is that it retains the times entered for events in the titles.
    You can find more ablout Multi Event Filter here.
    Best wishes
    John M
    As I sell software on my site and ask for donations, the Apple Discussions Use Agreement requires that I state that I may receive some form of compensation, financial or otherwise, from my recommendation or link.

  • Slow execution of a event structure(​Calling VI)

    The VI i created is gettin slow after execution of a particular set of event in an event structure(Calling VI).Is it because of improper use of shift register?
    I have attatched the VIs...Please run GUIdev and suggest solutions.Its really gettin on my nerves.
    Attachments:
    GUIFDR.zip ‏88 KB

    Hi altenbach
    Thanks for finding ways to optimize the code...but i have a few doubts.
    CPU burner:I took care of the cpu burner condition.I jst called those for trying out t main VI.I will be replacing those VI with developed ones.
        * Why are you bundling and then immediately unbundling all these pictures?
         Ans:chgd it
        * You have many overlapping objects on the front panel. Not good for performance.
         Ans:I am making a GUI so i thk i have no other choice but to overlap them.Also is there ny way to remove the frame from the picture box.I have just minimized and kept it.
        * Use an array of paths and index the desired element instead of reading via value property nodes.
         Ans: Can u site an eg for it..i dnt hav tht level of experience
        * There is no event for the stop button.
           Ans:Is it necessary?I will be modifying it in the future.
        * You don't need the timeout event.
           Ans: Modified it
        * Lots of near duplicate event cases. Once instance of each is enough, simply use control references.
           Ans:Each event case is either for moving out,moving in or clicking of the sliding button.How do i use a control referece for it?
        * Lots of duplicate code for the pictures and paths. Use an array of names, autoindex it on a FOR loop, and use only one copy of the code fragment.
          Anslease site an example so i can follow suite.
        * You seem to insert a VI at every iteration of the loop. Is this really necessary?
         Ans:Actually i wanted to insert a Vi only on the mouse down event, and continue running the same VI even if other mouse events take place.But i cant thk of a logic to avoid thm.But i really need a solution for tht.
    Can you explain in a bit more detail what you are actually trying to achieve with all this? Thanks! :
    My Vi as u can see is a GUI for downloading data from a hard disk and viewing and modifying the video and audio data.I will be interfacing the video and audio part later on as it is still being developed by my frnds.
    Also the problem of inserting a VI at every iteration is goig to pose a problem in the future as i want  to load each VI only for mouse clicks and let it run for all other instances.
    Please help me out
    regards
    Sankar

  • Event Structure Freezes Vi After Capturing The First Event

    My Event structure catches the first instance of my button press but then it freezes my Vi.  The reason is because of the while loop but I need the while loop to constantly read from a serial port and send data to a serial port. The vi included is stripped down to be just a while loop that does nothing.  I have also tryed putting the event structure in the while loop, but the same thing is happening.
    Any ideas?
    Thanks,
    Cason Clagg
    SwRI
    LabView 7.1, Windows XP

    Also, put the button inside the event structure where it is acted upon, from LV help (suggest you read the entire events section of help):
    When you trigger an event on a Boolean control configured with a latching mechanical action, the Boolean control does not reset to its default value until the block diagram reads the terminal on the Boolean control. You must read the terminal inside the event case for the mechanical action to work correctly. As a reminder, a note appears in the Edit Events dialog box when you configure a Value Change event on a latched Boolean control.
    Refer to the Handling a Latched Stop Boolean Control in an Event Structure caveat for information about how to handle a latched Boolean control.
    When you trigger an event on a Boolean control configured with a latching mechanical action, the Boolean control does not reset to its default value until the block diagram reads the terminal on the Boolean control. You must read the terminal inside the event case for the mechanical action to work correctly. As a reminder, a note appears in the Edit Events dialog box when you configure a Value Change event on a latched Boolean control.
    Refer to the Handling a Latched Stop Boolean Control in an Event Structure caveat for information about how to handle a latched Boolean control.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~
    "It’s the questions that drive us.”
    ~~~~~~~~~~~~~~~~~~~~~~~~~~

Maybe you are looking for