Event structure without user interface

I looked for a fast and efficient solution for an event structure which does not have a timeout case and is part of a vi that does not have user interface but I need to sent data configuration to this event structure.
I will be more clear: I have a camera which is generating multiple events taken by a loop with event structure inside.
The camera provider give me this Labview code example with all the events I am interested on and how they are implemented. I must mention that when you write a command to camera this one answer
with an event, but when you first connect to camera there are over 100
events generated by it, or when you download camera there are also
multiple events. When there is no communication to camera the event
structure from the example is idle. The example has a user interface for changing parameters and program responds very well.
I have to integrate this camera in s big application in which camera is going to be configured pragmatically with no the type of user interface existing in the example given by camera manufacturer.  First I tried to design a loop with timeout case in which a queue can send data configuration for setting camera. Everything is good until the download when the code must take events to a certain way; in my case one event is taken another goes to timeout and so on. After two series of 100 frames downloading, during the third series Labview gets blocked (Labview does not respond) and I have to kill Labview. I understood from camera's designer that if camera events are not taken they are kept on a stack and when the stack gets full causes the Labview being locked.
Maybe I give too many details but the issue is: how to communicate with a event structure which does not have a timeout case and is not part of a user interface vi (it does not have an open panel in my application)?
Solved!
Go to Solution.

Hi Virginia,
 I've attached an NI KnowledgeBase article that contains an example VI here from a previous similar issue.  In this VI, however, the user event is triggered by a certain keystroke, but I think you should be able to modify it to do what you are trying to do. 
http://ae.natinst.com/public.nsf/web/searchinternal/1199d3582e97ce6786256f2a0010b69f
 In the example, the output of the subVI (in your case, your event data VI) is wired directly to the dynamic event terminal of the event structure that contains the Generate User Event VI. 
This VI was written in an old version (7.1), but I was able to open it up in 2010 here.
If trying something like they did in the example still doesn't work for you, then could you attach your code, especially your VI that is generating the camera data?
Thanks,
Austin
Regards,
Austin S.
National Instruments
Academic Field Engineer

Similar Messages

  • VI containing Event Structure will not receive front panel events in LabVIEW Real-Time.

    Hi again, I'm working in my first UI (attached VI).
    It works when running directly from PC. It doesn't when running from cRIO, there's the message "VI containing Event Structure will not receive front panel events in LabVIEW Real-Time". I've been reading and I found that "Event structures on RT targets do not support events associated with user interface objects, such as VI panels or controls. For example, associating the Value Change event with a control does not work. RT targets support only user events".
    Is that the problem? If it is, how can I create Mouse Up, Mouse Enter, Value Change (or other user interface events) user events?
    If I run my VI in FPGA mode should it run?
    Attachments:
    HMI.vi ‏33 KB

    Since it looks like you are new to the whole RT and machine control, I recommend giving this a good read: NI LabVIEW for CompactRIO Developer's Guide
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Conditional stopping event structure

    Hi all
    Attached is my Vi , I want to stop the event structure in loop 1 , from the loop 2 which is continously running in parallel and getting digital input from a DAQ device.
    whats happening is first I am checking the status of teh digital input and then on that I am excuting the true structure. once I am in the True case , an event structure for user operations and a parallel while loop is used to monitor the digital input , what I  want to do is as soon as the digital daq input is low again i should be back to my fasle case in the main loop but the loop 1 with event structure is not stopping.
    help
    regards
    Regards
    Attachments:
    Untitled 1.vi ‏12 KB

    Snamprogetti wrote:
    You can't put an event structure into a case structure. It will run even if you are in the other case.
    See http://forums.ni.com/t5/LabVIEW/An-event-structure-can-freeze-the-front-panel-even-if-not/m-p/106629...
    What then, is a queued state machine? . The issue is the event structure still queues your events whether or not you are in your "idle" case. So if you don't promptly return to your idle case, events can back up in the event structure causing your program to act like it's lagging. Setting a busy cursor can help to solve this problem. I felt this should be clarified because a properly set up queued state machine is very powerful. This obviously isn't the solution for the parallel loops here but I thought I should add to your point..
    CLA, LabVIEW Versions 2010-2013

  • How to create a time event without having user interface freeze

    Hi,
    I am new to labwindows and i am trying to create a time event where every hour for 24 hours i want my program to write somethign in excel. 
    I tried using function Delay and SyncWait and those functions freezes up the user interface.
    Any tips/help will be appreciated.
    Thank You
    Solved!
    Go to Solution.

    Many, if not most, CVI developers wind up implementing a delay function for themselves that periodically, during the delay, wakes up and processes events so that the GUI isn't frozen.
    The idea is to break the wait or delay up into pieces, and process system events in between each piece.
    A timer works too, you can try the async timer that Wolfgang mentioned, it runs a bit better and on a separate thread, so it lets you do what you normally would with the main thread and the GUI, yet still get timer function.   If you use a smart delay, you still wind up doing nothing a great deal of the time, and events are only processed periodically.

  • User interfaces and event structures

    I am just learning to use event structures to improve operation of front panels.  At the moment, I am working on a tab strucrture we use to montinor/set program paramters.  VArious parametera are displayed on each tab as controls (not indicators) and are constanly updated sice they can be modified elsewhere by other pieces of code.  We controls are normally disabled via a property node so they behave more like indicators and the values are updated by writing to a local variable (I know this is evil but it works in this case).  There is a boolean on each tab that toggles between "monitoring" and "changing" modes (or states).  When toggles to "changing" (or setting) parameters the monitoring activities are suspended and the control are enabbled.  After making the desired changes the controls are either read and the changes implimented or get rest based on some other boolean controls, the parameters controls are then disables and monitoring resumes.  The issue is that many users fing the need to toggle between "monitorsing" and "changing" modes to be confusing.  I want to replace this switch with an event.  If the user clicks on any of the parameters controls in a tab, I want to go into changing mode rather than using the "monitoring"/"changing" boolean control.  All other asspects are handled as before.  My problem is than if I use a mousedown event to go into "changing" mode and the user clicks on several parameters to shift the keyboard focus to edit more than one parameter, these subsequent mose clciks get processed as new events when change mode is exited.  This means that as soon as it returns to "monitoring" mode it jumps immeadiately back to "changing" mode.  How should I structure the events to avoid this problem?
    Thanks,
    --Lee

    Lee,
    Instead of using a "mouse down" event, use a "value change" event for each
    of the controls. Then your program can switch to the "changing" mode
    whenever the value of the control is actually changed.
    TJW
    "Lee Robertson" <[email protected]> wrote in message
    news:[email protected]...
    >I am just learning to use event structures to improve operation of front
    >panels.&nbsp; At the moment, I am working on a tab strucrture we use to
    >montinor/set program paramters.&nbsp; VArious parametera are displayed on
    >each tab as controls (not indicators) and are constanly updated sice they
    >can be modified elsewhere by other pieces of code.&nbsp; We controls are
    >normally disabled via a property node so they behave more like indicators
    >and the values are updated by writing to a local variable (I know this is
    >evil but it works in this case).&nbsp; There is a boolean on each tab that
    >toggles between "monitoring" and "changing" modes (or states).&nbsp; When
    >toggles to "changing" (or setting) parameters the monitoring activities are
    >suspended and the control are enabbled.&nbsp; After making the desired
    >changes the controls are either read and the changes implimented or get
    >rest based on some other boolean controls, the parameters controls are then
    >disables and monitoring resumes.&nbsp; The issue is that many users fing
    >the need to toggle between "monitorsing" and "changing" modes to be
    >confusing.&nbsp; I want to replace this switch with an event.&nbsp; If the
    >user clicks on any of the parameters controls in a tab, I want to go into
    >changing mode rather than using the "monitoring"/"changing" boolean
    >control.&nbsp; All other asspects are handled as before.&nbsp; My problem
    >is than if I use a mousedown event to go into "changing" mode and the user
    >clicks on several parameters to shift the keyboard focus to edit more than
    >one parameter, these subsequent mose clciks get processed as new events
    >when change mode is exited.&nbsp; This means that as soon as it returns to
    >"monitoring" mode it jumps immeadiately back to "changing" mode.&nbsp; How
    >should I structure the events to avoid this problem?
    > &nbsp;
    > Thanks,
    > &nbsp;
    > --Lee

  • User event or event structure time-out

    Hi,
    I have two VIs one is a producer, one consumer.
    The consumer VI is called programatically (i.e. not wired) when the producer VI is run
    Both have user interfaces using an event structure.
    I have a control on the producer that i wish to use to trigger an event in/pass a value to the consumer VI. I have implemented this in two ways, but am not sure which is the 'preffered solution'.
    Solution 1:
    Detect  control activation in the producer VI using event structure, load new value in to a global variable.
    Use the time out event case in the consumer VI to load the value from the global variable.
    Solution 2:
    Set up a user event in the producer VI, load the Event Registration Refnum in to a global variable, use the event structure to create a new event when the control value is changed by the user.
    Use  Event Registration Refnum global variable in the consumer VI to trigger the event structure (loaded once, when the VI is first loaded).
    Solution two means the time-out event case does not need to be active, meaning the consumer VI will be doing nothing except waiting for either the user event, or direct user interaction. It will also not have the potential time delay of up to 1 x the time-out value of the event structure. It does require a sequenced start of each VI for the Event Registration Refnum to be loaded in to the global variable before the global variable is read by the consumer VI.
    My end application will be utilising a number of consumer VIs and will require user interaction information from the producer to be passed to them. Which proposed structure would be the generally accepted better practice? 
    ...or if i've missed the best solution, where should i be looking? 
    Thanks,
    Blue 
    (xp, LV 8.6) 

    Example of Queue based function Globals.To store the events and data.
    http://forums.ni.com/ni/board/message?board.id=170&message.id=240328#M240328
    Balaji PK (CLA)
    Ever tried. Ever failed. No matter. Try again. Fail again. Fail better
    Don't forget Kudos for Good Answers, and Mark a solution if your problem is solved.
    Attachments:
    AI Queue.vi ‏30 KB
    DAQmx AI.vi ‏59 KB

  • Dynamic user events freeze user interface

    Hi all,
    I am having problem with dynamic user events.
    Dynamic user event is registered to the event structure, and many dynamic user events come in very fast, about every 30 ms. It freezes up the user interface, no response to mouse and keyboard, even after all user events finish execution.
    Any idea or work around?
    Thanks for any help.
    Anne

    Hi Anne,
    > Dynamic user event is registered to the event structure, and many dynamic user events come in very fast, about every 30 ms.
    The 30ms rate is not unreasonably fast as long as the processing for the event(s) can be completed in less than 30ms.
    What tasks are you doing in the User Event?
    For tasks that may take time to complete (like logging) you could queue up the data and send it to a consumer loop.
    > It freezes up the user interface, no response to mouse and keyboard, even after all user events finish execution.
    My *guess* here is that you got stuck in an event that never completed.
    steve
    Help the forum when you get help. Click the "Solution?" icon on the reply that answers your
    question. Give "Kudos" to replies that help.

  • Publish calendar events to all users without invitation

    Hello,
    I was wondering how i can publish a calendar event on all user mailboxes without the acknowledgements of invitations.
    i.e. i want one person in our organisation to publish and maintain all mandatory holidays.
    I can not find a suitable way to do this as all of the users will get invitations wich they can ignore or forget. I want this person to publish events while overruling the possibilty of accepting invitations.  
    We are running Windows Server 2008R2 with Exchange Server 2010. 

    Hi,
    We can create all holiday events in a calendar and export the calendar to a PST file. Then using New-MailboxImportRequest cmdlet in Exchange 2010 to import the calendar to all users mailboxes by administrator.
    To import the calendar to all mailboxes, we can run:
    Get-mailbox | New-MailboxImportRequest –FilePath \\Exch1\pst\HolidayCalendar.pst -IncludeFolders “#Calendar#”
    Here are two articles about the detailed information:
    Holiday Calendar and How Import to Mailboxes
    http://blogs.technet.com/b/manjubn/archive/2012/01/14/holiday-calendar-and-how-import-to-mailboxes.aspx
    Import Calendar Events into all Mailboxes in Exchange Server
    http://slipstick.com/exchange/cmdlets/import-calendar-events-mailboxes-exchange-server/
    Thanks,
    Winnie Liang
    TechNet Community Support

  • LabVIEW 7.1: menu driven event structure question: How can I cause an event case to fire when either a boolean object or a menu item is selected without polling?

    I am using an event structure to eliminate the overhead associated with polling from the GUI. I have build cases associated with each front panel button, and would like to programmatically generate a menu for the vi, adding each selection from the menu to its associated case. However adding a "user event" to a case that is already associated with a front panel button does not seem to allow the selection of the associated user event. Do I have to register each option on the custom menu? Should I programmatically generate the menu and use the same array to register the choices? Are there any examples out there
    that would help me?
    Thanks!!!!
    Steve

    Hello:
    I visited the forum for the purpose of getting some ideas on user
    events architecture. Well, I have to finished standalone working
    modular VI codes one which works as a standalone local control and
    one  which works on a remote communications mode. Now these 
    codes in themselves has event driven capabilities my problem is I
    needed to create another topmost layer VI that will be capable of
    switching between these remote and local operating mode - which I was
    thinking also to be event driven. This maybe a poor idea but I tried
    anyway. Is the User Event loop can be nested? Meaning an event within
    an event thing?
    Regards,
    Berns B.
    Bernardino Jerez Buenaobra
    Senior Test and Systems Development Engineer
    Test and Systems Development Group
    Integrated Microelectronics Inc.- Philippines
    Telephone:+632772-4941-43
    Fax/Data: +632772-4944
    URL: http://www.imiphil.com/our_location.html
    email: [email protected]

  • I am looking for a way to automate index creation using Adobe Reader Pro without having to use the screen user interface, as the indexing has to be run by a batch process.

    I am looking for a way to automate index creation using Adobe Reader Pro without having to use the screen user interface, as the indexing has to be run by a batch process.

    [discussion moved to Creating, Editing & Exporting PDFs forum.]

  • Are user events valid before the event structure executes?

    If I create and register for a user event and immediately generate that event before my event structure has seen the registration refnum, is the event still guaranteed to be seen by the structure? That is, are events queued up? It works but I am wondering if I can rely on it. I am very sure that I can but I am creating some production code and want to be assured that I am not just taking advantage of a bug.
    A picture is worth a thousand words.
    =====================
    LabVIEW 2012
    Solved!
    Go to Solution.

    Generally, Felix's explanation is correct and the queue exists from the moment the register node executes, so the answer is that you can rely on this.
    You should, however, be aware that when playing with dynamic registration you can experience some unexpected side effects, as you can see, for example, in this LAVA thread - http://lavag.org/topic/13607-dynamic-event-reregistration/
    Another example would be this - http://lavag.org/topic/13970-unexpected-event-structure-non-timeout-behavior/page__view__findpost__p...
    Or what happens if you split the registration refnum to more than one event structure (hint - NEVER do that).
    Try to take over the world!

  • LabVIEW Event Structure only accept user action?

    Hi All.
    For example, Event Struture responses to a 'BOOL Control' such as someone press the button.
    But, if I use property node to change Bool control status, Event Struture can not accept such a action?
    Why?
    Any solution for monitor variables and controls change which is not caused by user actions.
    *The best Chinese farmer*

    You can use the value signaling property node, if you want to go down the property node route. The best way would really be using user defined events and wire these events to the dynamic event terminal on the border of the event structure. You can check out the examples that ship with LabVIEW to see the VIs that you would need to accomplish this task.
    Hope this helps.

  • Is it possible to have a user interface in a stand alone application without having LV

    Hi!
    I want to know if it's possible to build a stand-alone application in order to avoid purchasing LV and at the same time having a user interface to display data?
    I really want to know what are the advantages of the stand-alone applications and what are their limits of use?
    Thank u

    If you have the application builder (included in LabVIEW professional and above) you can make a LabVIEW application that can be distributed and run on machines that don't have LabVIEW installed. If you only have LabVIEW full, you can purchase it seperately.
    The target machine requires the LabVIEW runtime, which is freely downloadable from NI, or can be included with the installer of your application.
    Please have a look at the datasheet: http://www.ni.com/pdf/products/us/4msw55.pdf
    If still have more specific questions not mentioned in the above link, please ask.  
    Message Edited by altenbach on 10-01-2007 01:01 AM
    LabVIEW Champion . Do more with less code and in less time .

  • How to execute a sequence without using an User Interface

    Hi,
    I have programatically generated a TestStand Sequence File. I used C# and the TestStand API. I opened the .seq file in the default TestStand User Interface and the Sequence File runs perfectly.
    However, when I created a NewExecution using the Engine object created in the porgram, it seems that the sequence never starts execution. Please look at the following code snippet:
    // TSStep and TSSequence was created before 
    TSSequence.InsertStep(TSStep, 0, StepGroups.StepGroup_Main); SequenceFile TSSequenceFile = TSEngine.NewSequenceFile();
    TSSequenceFile.InsertSequenceEx(0, TSSequence);
    TSSequenceFile.Save("SeqGen.seq");  Execution TSExecution = TSEngine.NewExecution(TSSequenceFile, "Seq_0", null, false, ExecutionTypeMask.ExecTypeMask_Normal, System.Type.Missing, System.Type.Missing, System.Type.Missing);while (TSSequenceFile.IsExecuting == true) ; // this flag never changes to false  
    TSEngine.ReleaseSequenceFileEx(TSSequenceFile, 0);
    I know the sequence is not being executed because a COM Server (written as a Local Server in a .EXE) should start when the step within the sequence be executed.
    Any ideas why the sequence is not executing properly ?
    PacSoft

    Hi Pacsoft,
    Check out this example,
    I posted it in a former thread.
    Note: Also downloaded the .seq from the former thread! NEVER acept savings to Ni. -INI files !!!
    Greetings
    juergen
    =s=i=g=n=a=t=u=r=e= Click on the Star and see what happens :-) =s=i=g=n=a=t=u=r=e=
    Attachments:
    ConsoleApplication2.zip ‏55 KB

  • Can I use Event structures in a subVI?

    Hi,
    I have a subVI (ProvaEv1.vi) that use an event structure inside. But when I use it in a VI (ProvaVI.vi) the event structure in the subVI doesn't catch the events.
    I tried to insert the event structure in a while loop but it doesn't work too.
    Could you help me?
    Thanks Ius
    Attachments:
    ProvaVI.vi ‏11 KB
    ProvaEv1.vi ‏15 KB

    "iusn" <[email protected]> wrote in message news:[email protected]...
    Thanks to all for your answers!
    Wiebe! I tried to do as you suggested but I am not able to link the Event Reference Number inside te SubVI with the Event Register Number of the Register for Event in Main VI. There is e class conflict. Another question: how the SubVI can know the structure of the Register event outside?My aim was to create a modular structure but it seems very difficult, wath do you think about these problems?
    The broken wire is related to your question. The event structure inside the sub vi knows about the events you register in the main, because the reference wire/control has a "strong" type. It contains information about the registered events. That is also why the wire is broken. You have to register all events, then create an indicator/control of the output. Use that control in the subvi. You have to do this every time the events change (you might use a type def if you use the control a lot).
    Usually, the events that you would want to put inside subvi's are those related to user interface objects. I've had this a lot. You make a nice interface, but it's not reuseable, because the events are mixed with all the other events. Only solotion is to manually add the needed event cases in your program, and copy the code.
    Even if you can put the events in a sub vi, I'd expect hanging vi's when more subvi's are registered for the same event. It's hard to tell without trying. So it's not a real solution either.
    Like Chrisger suggested, the event callback might help a little, but they are tricky, and actually ment for this (they are intended for activex callbacks).
    Perhaps you should look at XControls (if you use 8.2). It would be more work to replace your code to XControls, but once you're done, you have reusable code.. Haven't worked with them jet, but they are invented for this problem...
    Regards,
    Wiebe.
    I have already create my application using event structure just in Main VI but it seems very complicate to read and keep update, I would have wanted to give modularity to my application.
    Thanks Ius
    SubVIEventMain.vi:
    http://forums.ni.com/attachments/ni/170/203225/1/SubVIEventMain.vi
    SubVIEvent.vi:
    http://forums.ni.com/attachments/ni/170/203225/2/SubVIEvent.vi

Maybe you are looking for

  • Can't export to tape...HELP PLEASE

    Hi, I can't seem to export my sequence to tape on my Sony DCR-PC8E PAL camcorder. I select select File -> export -> export to tape It says it is ready; starts the camera recording automatically; but the camcorder screen remains blue and no signal is

  • My screen on hp4680 printer says "skeniranje" It wont print and I do not know what that means

    The little screen keeps blinking with the skeniranje and the printer will not print after reinstalling to try and correct the problem it will not print

  • Why all the Font Explorer X server requests?

    I recently upgraded to the paid version of Font Explorer, Linotype's Font Explorer Pro X 3.1, on my Macbook Pro running OSX10.6. Every time I launch the app, it goes through a 3-5 minute process where it gives me the following "Connection failed" mod

  • Kernel Panic on 10.9.2 (2013 MBA i7)

    Hi, Recently since I started using a thunderbolt - DVI external my laptop has been giving me the following screen (plz look at attachment). After my laptop restarts, I get a prompt that tells me to send a report to apple. The report is below. Anyone

  • Patches to enable  XML Publisher on NetApp - can you confirm?

    Customer has version 11.5.9 of NetApp. He understood that a patch or several patches would be required to enable XML Publisher. Can you confirm and if so, what are the patches (any metalink notes)? Thanks in advance Steve flournoy