Event loop Timeout rates

Hello - I have a loop of events with a Timeout of 50ms at that time, my target hardware is queried for the data via a USB interface, and the resulting data are plotted on a xy chart. The refresh rate is good, nice, but whenever I click on a façade (a drop-down list or a Boolean) element, the update rate gets VERY QUICKLY as long as I keep the mouse clicked. I'd love to have this refresh rate improved during normal operation, but can't seem to understand why it's happening, and how I might be able to encourage him. CPU load is not impacted significantly while the refresh rate is improved.

Thank you

-Ted


Tags: NI Software

Similar Questions

  • Subgroup of experts can pass events to the top-level event loop?

    I'm working on a VI that may have up to 1000 controls (Yes, she really need that much).  To reduce the size of the user interface and increase the modularity of code, I partitioned design into subgroups that are loaded in tabs.

    Subgroups are responsible for:

    "VI reference to open"--> "invokes the method: Run VI '--> ' invoke the method: Insert VI»

    (Sorry, I don't know how to incorporate images here, yet)

    The upper level has some of its own controls in addition to the case of the Sub-group of experts, and it will be built on the design of producer-consumer model.  The loop of consumer manages the interaction with the hardware (write-only).  Each sub-group of experts will also have its own event loop to manage coordination of the user interface within the Sub-group of experts and also a preprocessing of data that results from the activity of the user within the Sub-group of experts.

    Here's the problem: go in the subgroup of experts, how do I pass an event up to the top-level event loop so that the hardware access request can be entered into the queue of the consumer?

    At first it seems I could solve this problem in two ways:

    (1) rather than to use an Invoke node to insert the Sub-group of experts, is it possible to connect the frame of the Sub-group of experts against a VI that is instantiated in the block diagram?   If there is, I can simply use dataflow to bring jury secondary to the upper level events.   But for now, it seems there is no way to have a subgroup of experts except by using the Invoke node.

    2) there is another way, that we have found, but this is an ugly hack. The reference to the 'Open VI' VI using, I use ' call method: control value: Get.  Gives me the value of a control in the Sub-group of experts, but there is no case of signaling, so I have to resort to polling stations, which slows down the user interface and breaks the model "Event Loop".

    Y at - it of other ideas for how to get events from the Panel under treaty to the next level?

    (of course, this isn't * all * the events we manage.)  The Sub-group of experts will actually a pre-treatment and then send only the selected events to the highest level user-defined)

    Thank you and best regards,

    J.

    I have not used the secondary method before, so I can't save what I think with real experience.

    But,

    If the Subvi who is put in a secondary control on front panel for a queue reference, I think you'd be able to do the Invoke node to set the reference queue control before calling the functioning of the VI.

    The other idea would be do not to have a reference of queue control to pass.  But use named queues and leave the Subvi in high school to create its own queue reference based on the same name that was created in the main VI.  When it ends, it could destroy its unique queue reference and not to force a destroy all and reference to the queue in the main VI would still be a queue works valid waiting for an another sub - VI at the secondary level to generate his reference to the same queue and sends the data in.

  • How to use the user with event loop event

    Hello

    I want to communicate between 2 VI, so I have a global variable (boolean) who gives the order to an event tool to run. The problem comes from the fact that event loop accepts no global variable, I found on the forum that I can use the user event. Of course, the second VI works normally when I push the button (boolean) in there to run the event loop. Please can someone explain me how to do this, I am a chemist.

    Thank you.

    You enter the receiver structure of event for the event you want to receive.

    To do this in two screws, you will have to share the user between them event reference.

  • Several events in the event Structure timeout

    I have two signals heartbearts (Boolean values that flip from true to False True at regular intervals) indicating the status of two parallel loops. I want to do to ensure that each of these loops is running at a reasonable speed and are not hung up on what whatsoever. The easiest way I can think of is a structure of event by looking at the value changes for each heartbeat with a case of timeout.

    However, I can't figured out how to combine events too AND the place where. Currently, if a heartbeat slows, the structure of the event runs again if the other loop works. In short, I want that the structure of the event to only fire if the two events occurred before the time-out period.


  • Feedback in the structure of the event loop

    Hello

    My application allows users to charge one of several screws in a secondary. Each VI disolaying one part of the system. The user enters the name of the required VI and pressing return or entry (Num pad) the VI is responsible. I would like to add that a THST feature allows user to go back and forth between these screws loaded I am writing a unique index to each VI in a table in the same event handler. I use your comments but the table is rewritten to each key index ieonly event of it currently oaded VI is written on the chalkboard at index 0. It's confusing as roads, refnum, etc. are transmitted to the next iteration (of while loop) very well using shift registers

    Any suggestions would be welcome

    If I understand correctly, you can have any or all running, regardless if you are looking to them or not, so I would say that the simplest solution is to build a picture of the vi refs (which is done easily at the stage of init with constants of vi - REF) and use a control of the ring with the names. On the event of modification of the order value, empty side and insert the new REF.

    /Y

  • Generate the event by timeout

    Hi all

    I have a structure of the event, whose events are all s 'change of the value' of the buttons on the front panel (each of them did switch a light when you click on it).

    I need one of the events to run also in the case where a certain time elapses (so that one of the lights to blink).

    Is there a way to generate such an event?

    I thought about creating a loop timed running in parallel, which generates an event 'false' to each iteration... but how this false event be generated? (it looks like all the events that can be handled by an event structure are generated by human action, such as push buttons, dragging the mouse etc..)

    Thank you, best regards

    It worked, but I had to use a parallel loop as suggested by johnsold.

    Thank you all!

  • any event loop with a different time

    Hello

    I write a VI which is a state machine that is running at the time of 30ms, but while the state machine is in the idle loop I need to send a rocking live Dungeon (Boolean) a controller every 500ms. With the requirements of the state machine main to run at 30ms how to set another time or the event inside the while loop. I used the rest / function quotient with the iteration but cant seem to find the solution there.

    If requirements:

    • While the loop should run at 30ms
    • every 500ms Boolean value must change state
    • the time of 500ms shouldn't slow down the main loop as a waiting

    Does anyone have a suggestion?

    Hello Bill_lewis,

    As 500 is not a multiple of 30, it seems difficult to run a while loop.

    You must use another loop in parallel or change one of the two calendar in order to toggle your Boolean to a multiple of the while loop timing.

    Kind regards.

  • Pass data to another loop event loop

    I'm trying to find a simple way to pass data to a loop of events for use elsewhere.  Could someone explain to me why my example below block (code attached)?  I feel that I must be missing something simple.  Also, I would rather avoid queues, if possible, because they seem unnecessarily complex.  Thanks for your help!

    The second loop will not run until the first is done. Use the performance highlighting and you can see. You can use a local or a vi to register the data in. Here's a quick example with the help of a local.

  • Structure of the timed real-time event loop does not work

    I'm a new user for LabVIEW. And I've encountered a problem that frastre really me! Hope someone can help out me. Thanks in advance!

    I just want to use the structure of the event under timed loop, which is important in my extrmely design.

    However, this works very well in my computer (without connecting to the FPGA).

    Once I connect it to the FPGA, then I can still run but there is no response!

    My file is attached. Please someone help me!

    Looking forward to your answers!

    The FPGA runs headless. Structures of the event won't work. What you need to do is to have an application on your host computer when the user presses a button, changes a value, etc.. This event should send a message via TCP/IP for code that runs in real-time environment. Then the real time environment should attribute to the desired value a control on the FPGA.

    As a general rule, programming real-time with FPGA has several layers.

    (1) host-> handles interactions with the user code and communicates the code in real-time via TCP, UDP, etc.. Displays the user sent by RT controller data.

    (2) code in real-time-> tracks headlessly. Manages host code messages, processes the data of FPGA, communicates with FPGA much as the host code communicates with the code in real-time

    (3) FPGA-> no acquistion and passes through PEP in the RT

    The first thing you need to do is to understand the architecture and how all these pieces of the puzzle work together before you throw things down on a diagram.

  • How to avoid the race condition critical in the event loop?

    I'm having a problem of race in the structures of the event.  I looked through various discussions of the forum and have not been able to track down a solution.

    In the attached vi (labView2015), if you type a new number for 'X', are not press entry, and hit then the "Go" button, then the old value of 'X' is used in the case of structure.  I deduce that it is a problem of race where after clicking on the 'Go' button has undertaken a task in the structrue event and also set up something in the queue to actually update the value of the variable.  Sounds good?

    This is the simplest example I could do for this problem that has emerged in vi a lot larger and more complex.  Any help is appreciated.

    With our thanks!  Devon

    MarcDub wrote:

    In fact, in addition to require a loop around the structure of your event, you must configure your events to the button GO to "Change the value" instead of "Mouse down".

    I should have mentioned, but I put my business in my excerpt to change value.

  • sequence of images, add the keyboard event loop?

    Hi all

    I have a sequence of 3d images that I want to run with the mouse and drag.

    So far I succeeded with that.

    Also added keyboard event.

    stage.addEventListener (KeyboardEvent.KEY_DOWN, keyPressed);

    function keyPressed(event:KeyboardEvent):void
    {
    If (event.keyCode is 39)
    {
    images_mc.gotoAndStop (images_mc.currentFrame + 1);
    }
    Else if (event.keyCode == 37)
    {
    images_mc.gotoAndStop (images_mc.currentFrame - 1);
    }
    }

    I tried looping event, that is, playing continuously until the button is pressed.

    Help, please.

    Thanks in advance.

    function keyPressed(event:KeyboardEvent):void

    {

    If (event.keyCode is 39)

    {

    If (images_mc.currentFrame<>

    images_mc.gotoAndStop (images_mc.currentFrame + 1);

    }

    else {}

    images_mc.gotoAndStop (1);

    }

    Else if (event.keyCode == 37)

    {

    {if(images_mc.currentFrame>1)}

    images_mc.gotoAndStop (images_mc.currentFrame - 1);

    }

    else {}

    images_mc.gotoAndStop (images_mc.totalFrames);

    }

    }

    }

  • Sharing data between multiple while loops, competitor rates

    Hello

    I am trying to Exchange data between competitor while loops running at different speeds.  What is the recommended way to do this?    In practice, I have 12 indicators and 3 cards I would update (on screen) in the slower loop, although the data acquired and stored on disk in the fastest loop.  The image below is a simplified version of what really works my candidacy.

    I currently use local variables and shared to achieve this.  I heard however that local variables are evil because of their use of memory (data are copied instead of who passed by reference).

    Thanks for your suggestions,

    Adam

    Hi Adam,.

    Yes, here you go.

    Mike

  • Structure of the event inside while loop

    I'm still fairly new to Labview and this may seem a simple question.  I'm doing a Subvi to display, edit, and create configuration files.  I use a ListBox to list all sections of a config file and structure of the event to update the values in each section, when they are clicked.  The problem is that the structure of the event seems to be a break the while loop so that the buttons do not work until the event has executed.  What I would like is the while loop to run continuously and the event to run only when I click in the listbox control.  I hope this makes sense.  There is a peak in the diagram below. Thank you

    There are a number of issues with your code that could cause problems:

    1. You must use the FP. Open method to open the front panel of a VI and of the public Service. Close method to close. I don't remember exactly the problem, but starting with the 7 worm nor indicated that these methods were the preferred way to perform these tasks.
    2. Based on what seems to be the code, the event for the control of Presets of wood should be a change the value - not a mouse down event. After changing the type of event, use the event data NewVal to drive the indexer table index entry.
    3. The buttons Ok and cancel them should be handled in their own events to change the value. The value change event Cancel would exit the loop, while passing the output error (which indicates that cancel was pressed) and default values for the other 4 outputs. The change of the value Ok event would leave the loop by passing the values that the operator had concluded the 4 controls on the front panel.
    4. An event of timeout with a very short time (1 msec) would stop loop if an error has occurred, or the output of the gate AND is set to true.
    5. The wait function is not necessary, as is the case outside the loop structure.

    Mike...

  • Is it OK to trigger 2 loops of event out of the same control?

    I have two circuits of event that will trigger when the user click on the Exit button. Is this ok to trigger the two loops off the coast of the same order? It works fine, but I don't know if there could be a problem. Please see below. Thank you!

    sfrosty wrote:

    Perhaps another point I have wired 50ms to the timer of the event MENU structure and want any delay in the structure of the MAIN Event. Not sure if it is a valid argument.

    Why?  You do something else in this loop?

    I recommend spending your menu commands in your main event loop.  You'll thank yourself later.

  • Controls that trigger cases of timeout event structure

    In a structure of the event, we can understand the controls in the event of timeout. But if we do it this way, we do not get event data node associated with the controls. I don't know if it is a good practice and whether there are issues listed. Please comment. Thank you.

    guangdew1 wrote:

    In a structure of the event, we can understand the controls in the event of timeout. But if we do it this way, we do not get event data node associated with the controls. I don't know if it is a good practice and whether there are issues listed. Please comment. Thank you.

    A 'practice', it's what you do. You talk about a limitation (or characteristic). Event data nodes display only those items that are common to all the events of this particular event case, so for example "old/new val" is not available if there is also a timeout that is assigned. If you do not need them, it does not matter whether they are there or not.

    This often isn't a problem because you usually only the new value and you can get that by placing the terminal control inside this event.

    If you need the specific event data node, create an otherwise empty case event dedicated to control and raise the timeout event temporarily affecting the timeout to zero using a shift register. Set the time-out period to zero in the case of timeout events. If the new value is also necessary in the case of a time-out, leave the Terminal inside event newval event data node timeout usage in the case.

Maybe you are looking for

  • Still another driver missing

    If the driver card Im trying to play Minecraft and its saying that it does not find my graphics and here are 2 other devices with missing drivers Model number Serial number and product key The other two devices with no driver

  • Parentologic PC Health Advisor - is safe to use?

    is the program "Parentologic PC Health Advisor" safe to use? What is really "microsoft approved" - because it claims that it is

  • Sony dcr-hc35e Windows 7 by usb connection

    Is it possible to connect a sony dcr-hc35e to a computer running windows 7 via USB? I could do it on my old XP computer but when I plug it into my new Windows 7 computer, it does not recognize the camera. Please help, I have several hours of footage

  • Cannot change the font size in Internet Explorer

    Original title: Internet Explorer Has increased the font size in Internet Explorer and I don't know what I have done and I can't find out how to restore it. Can someone help me please?

  • How to place a picture in Dreamweaver (model)

    There is a placeholder for a picture in the model of Business Casual.  I included the photo I want to use in the image file, but I can't drag it to the placeholder.  Do I have to remove the first placeholder?