Triggering dynamic events across VIs

Hi,
I want a dynamic event triggered in one VI to run a case in another VI. Is this possible?
If so, how do I pass the event references and the data associated with the event between the 2 VIs.
Regards.

Hi tdog,
You could possibly use notifiers to pass the Event Registration Refnum from the VI creating the event to the other VI.
1). Add into both VIs an Obtain Notifier, using the same name (eg. 'DynamicVINotifer')
2). Use Send Notifier in the VI creating the event
3). Use Wait on Notification in the receiving VI, wiring the output to the dynamic event tunnel
Charlie Rodway
Test Design Engineer
Rolls-Royce Controls and Data Services Ltd

Similar Messages

  • Missing dynamic user events across VIs

    We have a sub-Vi Statemachine.vi, which has its own event structure with a 5ms time-out, everything enclosed into a loop.
    This sub-VI is called repeatedly from the main application with command lists to execute. This can be a longer list or e.g. an empty list.
    It turned out, that we can miss successfully sent events, despite the documented internal queues.
    Placing the event structure into an added parallel executing, non-terminating loop in the sub-VI seems to help.
    Is there a link to further informations about this behaviour? We are using a german LV 8.2.1.

    Martin,
    I don't know of a good document describing the use of the user event in the way the you and I are using them.
    I've learned from bits and pieces lying around and my collegue. After using it for two years now I have a framework in which the use of user events is relatively easy.
    I know this doesn't help you a lot, but I know that if get the hang of it, it will provide a good and usable architecture.
    I hope the attachments helps you a bit. It is the way I define user event for inter process communication. It will get rid of a lot of wiring.
    Kind regards,
    André
    Regards,
    André
    Using whatever version of LV the customer requires. (LV5.1-LV2012) (www.carya.nl)
    Attachments:
    Event buffer.zip ‏13 KB

  • How to populate dropdown without triggering PAI event ?

    Hi,
    I have a screen with two fields- One input field and one drop down list field which has to be populated based on the value given in the first field. 
    How can I populate the drop down list dynamically based on first input field without pressing enter ( i.e with out triggering PAI event ) .  I tried using DYNP_VALUES_READ in value request event.
    Please give me your suggestions .

    Hhhhmm, I thought initially it should work, but I must admit I couldn't get it to work with a listbox. I just tried a simple report with selection screen, see below. Just enter something for the first parameter and then choose the value help for the second field. You will see that it will pick up the value from the first field, if we don't use a listbox.
    Once you comment in the coding the LISTBOX and replace it with the normal field, you can see that the value help works as one would hope. It seems that the problem is that the values for the dropdown list get populated too early (i.e. start-up of the report). I don't have the time at the moment to check this out further, but I'm assuming others must have tried this before. Any comments?
    REPORT zvaluehelp.
    PARAMETERS:
      p_statva TYPE stacust-statva,
      p_status TYPE stacust-status AS LISTBOX VISIBLE LENGTH 3. " Doesn't work
    *  p_status TYPE char1. " Value-help works for this
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_status.
      PERFORM value_help.
    FORM value_help.
      DATA:
        dynpread TYPE dynpread,
        dynpread_tab TYPE STANDARD TABLE OF dynpread,
        stacust TYPE stacust,
        stacust_tab TYPE STANDARD TABLE OF stacust.
      dynpread-fieldname = 'P_STATVA'.
      APPEND dynpread TO dynpread_tab.
      CALL FUNCTION 'DYNP_VALUES_READ'
        EXPORTING
          dyname                   = sy-repid
          dynumb                   = sy-dynnr
          perform_conversion_exits = 'X'
        TABLES
          dynpfields               = dynpread_tab
        EXCEPTIONS
          OTHERS                   = 1.
      CHECK sy-subrc = 0.
      READ TABLE dynpread_tab INTO dynpread INDEX 1.
      CHECK dynpread-fieldvalue IS NOT INITIAL.
      SELECT * FROM stacust INTO TABLE stacust_tab
               WHERE statva = dynpread-fieldvalue.
      CHECK sy-subrc = 0.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          ddic_structure = 'STACUST'
          retfield       = 'STATUS'
          dynpprog       = sy-repid
          dynpnr         = sy-dynnr
          dynprofield    = 'P_STATUS'
          value_org      = 'S'
        TABLES
          value_tab      = stacust_tab
        EXCEPTIONS
          OTHERS         = 0.
    ENDFORM.
    The coding above was just intended as a quick test - so I know it's not proper (i.e. check of return codes, etc.).
    Cheers, harald

  • Peculiar problem in dynamic event, which is registering randomly

    Hello,
    I am using a dynamic event to pass a data (variant) to a vi which i call dynamically. reference of the event is stored in LV2G.
    so both main and called vi can access. data when written to the generate user event vi is triggering event at random time when executed.
    I am attaching snapshot of the vi which i used to register event.
    One interesting thing i noticed is if i put a probe in the error out of the generate user event vi then event will start triggering.
    Need help. I am struggling to get a solution.
    Regards,
    Vibin
    Attachments:
    Capture.PNG ‏21 KB

    Post any code you have on the issue.  There may be something simple that will fix the problem.  It sounds a lot like a race condition.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Dynamic Event Registration Error

    Hi,
    I'm getting to grips with Dynamic events in LabVIEW. However, I've encountered an issue i'm not sure on. When I try to register a cluster of control refs to the Register for Events function I get an error.. See Dynamic Event Registration.vi for small vi highlighting the issue.
    Thoughts?
    Strokes 
    Attachments:
    Dyanmic Event Registration Error.vi ‏9 KB

    Steve Chandler wrote:
    You can wire a reference or an array of references to register for events. Of course you probably already know that you have to wire the output of register for events to the dynamic registration terminal of the event structure.
    Steve Chandler wrote:
    You can wire a reference or an array of references to register for events. Of course you probably already know that you have to wire the output of register for events to the dynamic registration terminal of the event structure.
    That helped me somewhat, however, I'm still experiencing problems. My events seem to be registering correctly but don't seem to generate when I trigger them. I've configured the event structure to execute should one of the controls in my cluster change value. However, the only event case that get's executed is the timeout case.
    I've attached a vi highlighting my problem named Dynamic Event Problem.vi. My real vi is much larger and contains many sub vis so hopefully what I've attached suffices..
    Attachments:
    Process Data Control Refs Edit.ctl ‏14 KB
    Dynamic Event Problem.vi ‏22 KB

  • Dynamic Events Problem

    I am fairly new to LabVIEW and I am trying to make a GUI that uses
    events to pass messages between three separate event loops, GUI,
    Messaging and Logging. GUI controls the state of the other two event
    loops by generating control events and using semaphores. While the
    messaging semaphore is released by the GUI, Messaging generates
    messages and raises them as events. Some message events are handled by
    the GUI event loop and others by the Logging event loop. Logging, once
    it receives a 'logging ON' control event dynamically registers for
    certain message events and logs the message events it handles to file.
    When Logging receives a 'logging OFF' control event, it dynamically
    unregisters the message events. The logging control events are
    registered for the life of the Logging event loop.
    I have created a cut-down version of my GUI that exhibits the same
    problem. The problem is that after I have turned Logging on and off
    once, it no longer responds to logging control events from the GUI.
    Even though the GUI is still generating the events. I have looked at
    the dynamic logging example in LabVIEW and thought I did the same sort
    of thing but I just can't get it to work that way. The only way I got
    it working was by creating a clean event registration with all events
    each time I want to change the event registration. This is how I have
    done it in the example file and it works. But I don't want to use this
    method, I don't want to have to re-register the control events each
    time I unregister/register message events.
    If anyone knows what I'm doing wrong please edit the example vis and post them back.
    Notes for the example:
    Files are LabVIEW 7.1.1
    Just open the front panels for all the vis before running the GUI vi.
    The Display vi just does the same thing as the logging vi.
    Run the GUI vi and turn on Messaging then turn Logging on and off a few times.
    The example works, but if you wire the event registration refnum
    input when doing dynamic event registration, Logging will only turn on
    and off once, then no longer respond to log control events... what's
    going on?

    I can't tell you how to solve you problems - without code this is always quite tricky.
    But in case you want to log messages to a log file, have a look at this thread
    http://forums.ni.com/ni/board/message?board.id=170&message.id=172117&view=by_date_ascending&page=1
     where I posted a logging-library.
    Maybe it is a useful help for you.
    Thomas
    Using LV8.0
    Don't be afraid to rate a good answer...

  • Triggering an event when the new  AIR application installation has done for first time in machine

    I am installing AIR application from web page by using a badge.Is it possible to call a function once the installation of AIR app was finished[once we click finish button in the installer] to update the AIR application version dynamically inside our code.If so please share. Any suggestion would be appreciated.

    Hi Rizwana,
    So as you said that you had created a event linkage between change document object and Business object you can now switch on the event trace SWELS and go to the particular transaction by which the event of this Business  Object gets triggered ( the event you mentioned in SWEC). Switch of the event trace (SWELS) and check the Business object that had triggered in SWEL transaction.
    Hope this would help you.
    Any clarification.. then please revert back.
    Good luck
    Narin

  • Generate dynamic event of producer loop in multiple consumer loop

    I have one producer loop which used event case to interface with FP controls and 5 consumer loops
    If I have to use the fifth consumer loop to generate dynamic event which send to event case in produer loop. 
    I have to wire register event with dynamic event terminal in producer loop . Also I need to wire user event to consumer loop (at the bottom of screen window) which is far away from producer loop. It is hard to wire them. 
    Is there any other method to let many consumer loop to communicate with one producer loop through dynamic event (the same user event)?

    I like to use an Action Engine to hold control my Event Reference.  Then anybody can send the event commands.
    You may also want to look at the VIs I recently submitted for OpenG here.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Dynamic event multiple loops

    I'm trying to see if I can use one Dynamic User Event to control multiple Event Structures. It seems that sometimes once a dynamic event occurs and its "interrupt" is answered by an event case, other VIs only have a short amount of time (<50ms) to reach their event case state for accepting this event otherwise the event seems to be cleared and the other VIs are oblivious that the event even occured.
    My Question: Is it possible to use one dynamic event to control multiple Event Structures reliably?
    A previous post somewhat speaks of this issue but does not provide a solution or anything insightful.
    http://forums.ni.com/ni/board/message?board.id=170&message.id=223495&query.id=135563#M223495
    I've included an example of my issue
    Attachments:
    DynamicUE.zip ‏61 KB

    Thanks to both of you. I found the answer to my question in the second posted link. "the common, correct use case is to have one Event structure per dynamic event registration". I tested this out with the previous attachment by registering the User Event refnum from the ESTOP functional global to another Event Registration node. I then ran this refnum to the top loop. (instread of the top loop sharing the registration refnum with the middle loop). Now I can put a delay of 2000+ ms and not even miss an event. cooool. This will probably NOT be my final solution but its good to know in the future.
    Most likely I am going to design each of my main VIs to have a main while loop with a User Event Structure listening for dynamic events. Associated with each of these VIs will be a functional global which contains its User Event Refnum and Registration Refnum. This functional global will act as a gateway into the associated VI for other VIs/Subvis to use. This will follow the "one Event structure per dynamic event registration" rule while keeping my API organized and allowing room for scalability by simply adding more functional globals in the future.
    Just putting this info out there for other users.
    Thanks again,
    Craig

  • How to drag and drop events across months while in month view?

    Is there a way to drag an event across months when the view is set to monthly view?  I know the events can be dragged and dropped across the days in the month on the screen, but how can I carry through the end of the month - there does not seem to be a way to move the screen view to the next month while the event is being dragged!

    Hi,
    You can do it with keyboard shortcuts.
    Select the event. Press Cmd+X. Press Cmd and right or left arrow (depending if it is forward or back in months) until you are in the correct month. Press Cmd+V to pase on the same day in the new month.
    Best wishes
    John M

  • All-day events across multiple days

    Okay, this is a very specifc question about a very specific situaiton, but I am curious to know what is going on. When I have an all-day event scheduled for one day in iCal and I sync it with my phone (Motorola v551) it shows up as a nice little note at the top of my calendar on my phone. When I have an all-day event scheduled across multiple days in iCal it shows up as an actual event across all the hours of the day for as long as I have it scheduled on my phone.
    I have discovered a work-around by taking that one-day, all-day event and having it repeat the number of days of the event, but it just doesn't look right in iCal.

    The calendar on your phone likely doesn't support events that span mutiple days. The solution of a repeating event is the correct answer.

  • What are the Dynamic Events avaliable in the LabView 6.1 Event Structure?

    I recieved LabView 6.1 recently and I am working with the Event Structure, and I'm trying to figure out what Dynamic Events are avaliable in the event structure, and how to access them. If you don't understand what I'm talking about, open a new VI in LabView 6.1 and drop an event structure on the diagram. Add an event and look at the dialog box that appears on the screen, specifically the Event Sources section. The third option in this area of the screen is "grayed out" but reads "Dynamic". I'm curious what these events are, and how I access them. I'm running WinNT 4 SP6.
    Thanks,
    Chris Davis

    I believe this is part of a feature which is not yet present in LabVIEW 6.1, but may be present in a future release.

  • Resetting a variable in an event structure (dynamic event)

    I'm working on moving an event structure into a sub VI. This means I have to register dynamic events. 
    The event structure is handling some button clicks. The state of the button (mechanical action = latch when released) resets itself automatically as long as the variable is placed within the value change case.  Leaving the button in this case is not possible when the event structure is put in a sub VI and the variable is located in the parent VI.  How do I make sure the button unlatches after clicking on it?  I have attached an example where all the code is in one VI (the local variable must be moved outside the event structure in order for it to be moved into a sub VI).  Any ideas?
    If you open the VI and run it, you can click Start which will cause the counter to start incrementing.  The button only unlatches as long as the variable is located in the value change case.
    (Btw, how do you put images inline in a post?)
    Rob
    LV2011,LV2012,LV2013
    Attachments:
    img.png ‏18 KB
    main.vi ‏17 KB

    Race conditions are the primary reason not to do that. But since your treating your variable as a latch, I doubt your using the value you read from it anywhere, and in that case it can't create a race condition. There's also the possibility that the control's reference could become invalid. But since this is a sub VI of the control's VI that can't happen (even if it could you can check the error out of the value property node to see when it happens and deal with it).
    I'm not sure about the flickering, Since I can't seem to duplicate it with a simple test case on my machine. It might related to whatever else you're doing in the event apart from reseting the value to false.

  • Info Package Group Management? and Triggering of Event Chains ?

    Hi GURU's
    Info Package Group Management? and Triggering of Event Chains ?
    Thanks
    Bhima Chandra Sekhar G

    Hi Bhima!
    IP GROUP:
    http://help.sap.com/saphelp_nw04/helpdata/en/80/1a65b5e07211d2acb80000e829fbfe/content.htm
    About chains and triggering events:
    http://help.sap.com/saphelp_nw04/helpdata/en/41/243d3828135856e10000009b38f842/content.htm
    Hope it helps!
    Bye,
    Roberto

  • 2012 Dynamic Event Registration Array of Controls

    In upgrading to LV2012, I have discoverd what may be a bug, or at least an incompatability between 2011 and 2012 with respect dynamic event registration of an array of controls as opposed to individual control references.
    This bit of code worked in 2011 but doesn't in 2012, with error 1 generated at the reg events block when run in 2012. I have been in contact with technical support, but haven't yet heard their take on this.
    Any thoughts.
    Solved!
    Go to Solution.
    Attachments:
    Top Application.png ‏13 KB
    SubVI.png ‏23 KB

    I've got the bug too -- it appears this bug is present when arrays of control refs are connected to the ConPane. Link to cross-post on LAVA about the original problem. As Patrick@Vision mentions above, one workaround is to ensure that the array of control refs is no longer on the ConPane by collapsing the Register for Events node onto the caller.
    a.lia-user-name-link[href="/t5/user/viewprofilepage/user-id/88938"] {color: black;} a.lia-user-name-link[href="/t5/user/viewprofilepage/user-id/88938"]:after {content: '';} .jrd-sig {height: 80px; overflow: visible;} .jrd-sig-deploy {float:left; opacity:0.2;} .jrd-sig-img {float:right; opacity:0.2;} .jrd-sig-img:hover {opacity:0.8;} .jrd-sig-deploy:hover {opacity:0.8;}

Maybe you are looking for