Claire queue structure

Hello

I have several application where I have a structure of event management event user (buttons). When I press a button, the partner of case event of this button will run.  My problem is that during the execution of this event, I want to be able to continue to be able to say, change a tab in the tab control, so I can't use the button "lock the front panel.

What I want to do is to be able to erase the user event so if someone grows a certain button while in case, it will not run when the case of the event will be queued.

Is this possible?

Thank you

Simon-Pierre


Tags: NI Software

Similar Questions

  • start stop queue structure

    Hello

    I would like for the attached vi start the data logging/display when the Start button is pushed, not when VI starts. So I did some research and led to the Structure of the event (this is my 1st time using a structure of the event). I tried all sorts of things over the last few hours so that I have now is probably a bit complicated, but my last mistake is that my dequeue receives a "invalid refnum".

    Could someone guide me on what I am doing wrong?

    Thank you.


  • 1 error in writing on a text - installer with Application Builder file

    I wrote an installer using the Application Builder to install the runtime engine that allows any computer without LabVIEW to run an .exe program. Setup runs and installs engine race and then as a .exe VI. When it is done installing, the .exe VI opens automatically.

    An error appears when the .exe opens and says "1 error in writing to a text file". If the user clicks on the error that it can run the program without problem, it converts file formats in a file .lvm. Automatically, it generates a new file name and saves the file in the same directory, but with a different name.

    Why did it only happen when opening first upward? The program tries to run when it automatically opens? Is there a file path residual left in the program that trys to run first, before that the user put his own file path in the program?

    I am semi new to labVIEW (a few months) and that nothing shows that would create this error at the beginning of the program.

    Thank you

    Hi Scott,.

    Well, you could model a little VI and turn on debugging highlighted to test your idea!

    THINK THE STREAM!

    How a Boolean entry should WAIT for the action of the user? It should be read according to the stream!

    What this small pseudo-code:

    REPEAT
    Wait (50ms)
    Until the button

    Or how about an event in the user queue structure?

  • Master/slave with events

    Hi, I'm developing an application in which the user actions will initiate certain events.  I've implemented the application as an event-driven state machine.  However, I realized that one of the events must launch a continuous process, i.e. reading from the buffer of a USB device.  It seems that the master/slave model apply.  Is it possible to implement the model master/slave with slave event triggered activity?  I have the feeling of these two designs are incompatible.

    Thank you

    -Jamie

    If I interpret your concern of a straight line, "I thought that a part of the particular event should run completely before any action of the user would trigger another event...» » :

    An event Structure maintains a queue of unmanaged manifestations.  When any event registered to a Structure of the event is triggered, LabVIEW places the event in this case queue Structure (you can have multiple records for the same event and LabVIEW will be provided with a copy of the event in each record... a bit more advanced, but it happens more often with user events, since normally you should not have more Structures for a single VI event).  When the Structure of the event is called, it will be the next event unmanaged dequeue and execute the corresponding diagram.  If there is no event in its queue, then he will wait.  If none of the events occur (are added to the queue) at the time where the period has elapsed, while the diagram of time-out is executed.

    Which means, the schema associated with a certain event needs to be completed before all other diagrams can possibly run; However, events such as buttons on the user interface, are still captured during execution of the first scheme.

    If your diagrams of Structure of the event have long-running code, then you can go out with that have be your only design.  For example, the operations find and initialize in your sound image as an attachment as things just happen once and back relatively quickly, so the button find out the slave device will probably expect you - a slave is discovered, and then initialized by pressing the key, after which your VI is ready to run several diagrams of the event.  However, if one of your States running really persistent operations, such as a schema "" run slave"where you have a collection of persistent data loop, then you will be in trouble since the schema will not end and your UI will probably become numb.

    What does not work is if persistent operations are ran asynchronously.  If your slave has something like a "Start ANT Slave.vi" that starts an asynchronous process slave for you then returns, similar to how I would expect the "Init ANT Slave.vi" to behave, then that would work.

    What RavensFan and crossrulz have mentioned are ways to achieve this in your design (rather than in the design of the class ANT slave).  Say that your ANT class slave doesn't have any internal asynchronous substance put in place that you can just start, and you will perform all operations running on your block diagram yourself.  In this case, you can create a new parallel to your course while loop.  A form any synchronization mechanism, such as a notifier, could be acquired and transmitted to two loops.  Run the loop of the slave could simply wait on the front warning system it does nothing.  Then in an event run in the upper loop for push button start, for example, you have to send a notifier, stating, "Okay loop slave, please start".  The slave will begin its operations and continue to execute, while your event in the first loop schema would end, and you would still have a user interface responsive.

    The design pattern of messages in queue manager is where you have a queue instead of the notifier used in the example above, and you can messages from queue you want the slave to receive (and apparently act accordingly).  Loop of the slave and then check the queue to see if his master has sent something - if so, it performs this action; If this isn't the case, then it executes any action that it deems appropriate.

  • Data in table entry

    Hello

    Loop Table.vi' VI it generates random numbers and gets the real time to plot them in a table. After a number of inputs, say 10, the first entry is deleted and so on... (as first in, first out (FIFO)).

    I would like the same concept but instead of a random number generator, I want to control entry with a digital slider and entries prove in a table, with after 10 entered the 1 first demolished to gets and inserted the entry 11, as a queue.

    Any help would be appreciated!

    Hello Thuba25,

    I couldn't see your VI because I have LabVIEW 2010 and not in 2013, but to answer your question, you can move the cursor outside the while loop and then use a queue structure for its data.

    I think the problem you're trying to solve does not require the queue structure, your code will be unnecessarily complex.

    Please try a little more, I'm sure you will come to another solution, the forum will provide the solution.

  • Increase the speed reader

    Hello

    In fact, I use a cRIO for control of the kidnappers and a file.

    The FPGA is use to combat (PID, conversion and emission).

    My problem is the time to read the file value. My use of VI s 600ms to read the right line. If I reduce to 72ms, it's perfect. But if I reduce to 100ms which is very good also.

    Before that the control, I do a PDM file with all the useful values for the control (as the command). Another file format is better?

    What is the best corner to read this file fastly?

    Unfortunately, I can't post all my code. In the parties not posted, I develop the cluster and save information on shared variables.

    If the file is not too big, you should read the file into memory, first of all, then the data points instead of trying to access the file line-by-line access. If the file is too large, you can use a queue structure to read portions of the file in memory (producer structure & consumer). A single loop will control the amount of data is responsible for file in the queue and the other loop can remove data and sent to your remote device.

  • Question on 'sh queueing int' after the application of QoS configuration on 6500 line card

    I apply the following QoS configuration to a line card of 10 GB with 1P7Q8T queue structure. Basically, I'll put up the 2 for better queue to 60% and the priority queue for telepresence and singing at 30%, queue 1 to 5% and the rest queues 1%.

    int t1/1

    WRR-queue queue-limit 5 60 1 1 1 1 1

    bandwidth WRR-queue 5 60 1 1 1 1 1

    priority queue queue limit 30

    WRR-queue random - detect 1

    WRR-queue random - detect 2

    WRR-queue random - detect 3

    WRR-queue random - detect 4

    WRR-queue 5 random detection

    WRR-tail 6 random detection

    WRR-queue random - detect 7

    WRR-queue random detection threshold max 1 100 100 100 100 100 100 100 100

    WRR-queue random - detect min-threshold 1 80 100 100 100 100 100 100 100

    WRR-queue random detection threshold max 2 100 100 100 100 100 100 100 100

    WRR-queue random - detect min-threshold 2 80 100 100 100 100 100 100 100

    WRR-queue random detection threshold max 3 100 100 100 100 100 100 100 100

    WRR-queue random detection threshold min 3 80 100 100 100 100 100 100 100

    WRR-queue random detection threshold max 4 100 100 100 100 100 100 100 100

    WRR-queue random - detect min-threshold 4 80 100 100 100 100 100 100 100

    WRR-queue random detection threshold max 5 100 100 100 100 100 100 100 100

    WRR-queue random detection threshold 5 80 100 100 100 100 100 100 100 min

    WRR-queue random detection threshold max 6 100 100 100 100 100 100 100 100

    WRR-queue random detection threshold 6 80 100 100 100 100 100 100 100 min

    WRR-queue random detection threshold max 7 100 100 100 100 100 100 100 100

    WRR-queue random detection threshold 7 80 100 100 100 100 100 100 100 min

    WRR-queue cos-map 1 1 1

    WRR-queue cos-map 2 1 0

    WRR-queue cos-map 3 1 2

    WRR-queue cos-map 4 1 3

    WRR-queue cos-map 5 1 6

    WRR-queue cos-map 6 1 7

    queue priority cos-map 1 4 5

    MLS qos trust dscp

    When I do a ' see the race int t1/1 ' I don't understand a few things. "  Here is the "show run":

    interface TenGigabitEthernet1/1
    no ip address
    Shutdown
    bandwidth WRR-queue 5 60 1 1 1 1 1
    priority queue queue limit 30
    WRR-queue queue-limit 5 60 1 1 1 1 1
    WRR-queue random - detect min-threshold 1 80 100 100 100 100 100 100 100
    WRR-queue random - detect min-threshold 2 80 100 100 100 100 100 100 100
    WRR-queue random detection threshold min 3 80 100 100 100 100 100 100 100
    WRR-queue random - detect min-threshold 4 80 100 100 100 100 100 100 100
    WRR-queue random detection threshold 5 80 100 100 100 100 100 100 100 min
    WRR-queue random detection threshold 6 80 100 100 100 100 100 100 100 min
    WRR-queue random detection threshold 7 80 100 100 100 100 100 100 100 min
    WRR-queue random detection threshold max 1 100 100 100 100 100 100 100 100
    WRR-queue random detection threshold max 2 100 100 100 100 100 100 100 100
    WRR-queue random - detect 4
    WRR-queue 5 random detection
    WRR-tail 6 random detection
    WRR-queue random - detect 7
    WRR-queue cos-map 1 1 1
    WRR-queue cos-map 2 1 0
    WRR-queue cos-map 3 1 2
    WRR-queue cos-map 4 1 3
    WRR-queue cos-map 5 1 6
    WRR-queue cos-map 6 1 7
    queue priority cos-map 1 4 5
    MLS qos trust dscp
    end

    Issues related to the:

    1. why this show only two 'max-threshold', only for lines 1 & 2 - not for the other queues as is done for 'min-threshold '.

    2. Why does show "wrr-queue random - detect" for 4,5,6,7 queues and not 1,2,3 queues?

    It's the same thing, the default queues of 4-7 persons with reduced mobility.

    DAVID disabled queues: 4 5 6 7

    So when we allow them, they are added to the running configuration.

    Thank you

    The f

  • Structure of the event in primary vi and sub - VI with queues

    Hi all

    I have an application that uses the architecture of producer-consumer in which a queue transmits messages of a main VI by a Subvi, in response to the events of the user in the front panel. Inside the Sub VI, the queue is removed and treaty based on the corresponding message, and the result is displayed on the façade the sub of VI. User events are captured in the main VI using a Structure of the event. This works as expected.

    However, I also the controls on the Panel before the sub - VI to change the queue. My approach is to have another structure of the event in the VI sub for this. However, while the events in the main work of fine VI, events of sub - VI never treated.

    A simplified sandbox VI of what I'm trying to do is attached. As you can see, the main VI events are triggered as expected, but events in the sub VI are never triggered.

    I watched this white paper: detect an event in a Subvi from a high level VI , but it's not exactly what I'm trying to do. Instead, I'm just trying to detect an event generated within the Subvi. I searched this forum and found some research related, but none of them seemed to answer what I'm trying to do.

    Thank you

    Matt

    Your major issue here is the loop location.  While the structure should be inside the Subvi to make a message in the appropriate queue manager.  In fact, you should have 2 loops within your Subvi: 1) the QMH and (2) of the event loop.  You must use a user event to congratulate the event loop in the Subvi to stop.  You should NOT use the time-out of the Structure of the event unless you absolutely must.  And since everything in the Subvi is the message function, you do not have expectations.  They will be inactive (no CPU using) when there are no items to process from the queue or queue.

  • How to stop queuing in the structure of the case

    I'm trying to find the Summit and the Valley of the signal. I'm able to find it, but I don't want to make the zero with the pic. I just want to get the value of Ridge and Valley. Is it possible to stop queuing the values in the structure of the case? As I have a several signals which peak/Valley must be found that I can't use the library functions.

    Kanye wrote:

    I'm trying to find the Summit and the Valley of the signal. I'm able to find it, but I don't want to make the zero with the pic.

    First of all, and more which has been mentioned, there are serious shortcomings, making the Subvi is not very universal.

    • Your Subvi does NOT export the correct value of the Ridge (or Valley), but the value just after (which is more a peak or a Valley!)

    • Your Subvi is only the positive peaks and valleys negative. This seems very restrictive. In general, you could easily have a Valley even if all the data is positive. Right? (With the exception of the Valley of death for example, most of the valleys are above sea level, for example )

    • Your code is extremely complicated, with two sets of structures of the case, each stacked three deep, four change records and tons of comparisons. Here is a simpler version. (To imitate your outings, place a statement select after each comparison and output the value or zero depending on the result of the comparison).

  • Prevent the structure elements of the queue of the event?

    Is there a way to prevent a record structure and the queues of the events of the event?

    I have a state machine with a structure of the event in one of the States - the State is waiting for user input before continuing - and I wish that the structure of the event to recognize the events only when the program is in this State. I understand that the current method to catch all events is sometimes (usually) the desired behavior... Heck, I use it to my advantage most of the time. However, this is not one of those times.

    Here is a small example of my configuration:

    (See attachment. I guess that's too big for an extract VI, so it is a standard PNG image)

    The question that I have, is that the Structure of the continuous event of events Records even after pass to the next State. This means that if 'String' is changed at any time, the next time the queue of event happens in the state machine, all updates of the "chain" will run.

    So, how can I implement the code in such a way so that the events will be only intercepted and queue when the structure of event loop is running?


  • Events between 2 structures of the event and the queues.

    Hello world

    Attached is an example of two event structures inside while loops.

    The loop at the bottom is in pause or release by a queue.

    I don't understand why game event is not recorded on the lower node the first time, that it is drawn.

    any idea?

    Thank you very much

    Best regards

    Thank you, you were perfectly right I just reversed the order of execution with the wire of the error and it works fine.

    Thank you

  • Structure of the event does not clear the queue after his release from the Subvi

    OK I'm not sure if this is a stupid question or not...

    I was trying just a few tips and stumbeled on this problem...

    So I created a sample (not exactly)

    In qqq_Main.vi just press PressMe

    (it opens a Subvi qqq.vi)

    There are two buttons to stop "Alt1" and "pylone2".

    To close the Sub - VI press either on "pylone2".

    or press "Alt1", then "pylone2".

    with the latter method of the value of closing change pylone2 is registered outside the while loop and after the closure of the Subvi should not it be erased? (Or should manually clear us it?)

    For this reason not clear, the second time I press 'PressMe' change the value of pylone2 even goes off before you press anything

    I can't look at your code at the moment, but according to your description, it seems that the system works as expected. I guess you do a completely static record of events (open the event configuration dialog box and select the controls and event).

    The first thing to clarify is your use of the term "registered". In this case, it's a problem, because the registration in the context of the protests means asking to receive the event when it happens.

    Now that you know it's important to understand where the recording is happening, because that's what determines which events are stored in the queue. When you use this type of static record, registration happens from the VI the event structure is in run mode (Note: this does not mean that the VI is actually running, but just that it's the of running or reserved for the race) and the cancellation of registration only happens when the VI mode of execution. Who is right for which you get the events in the queue of the previous run of the VI - the VI is still in run mode, then the event is added to the queue and still waiting in the queue until the structure of the event to run again.

    You can work around something like that by switching to dynamic registration of events, where you can unsubscribe to empty the queue at the end of the VI, but requires more code. Also, in 2013 LV there are a few features added to events that could allow to do this statically (I don't study all the additions, so I don't know if this is possible for static recording).

    There is a good presentation on the events of NIWeek 2013 by Jack Dunaway. You can find details of how to download the video here - http://lavag.org/topic/16091-ni-week-2012-videos/

  • How to use the queue data Structures stack?

    Hi all, you can tell me how to use the queue, stack, the link in the list... Structures of data in the project of BlackBerry? Thanks for any suggestions!

    BlackBerry devices are not java desktop running. you are limited to the blackberry api, basically j2me + rim extensions, based on java 1.3/1.4 (no enums, no generic, many collections not impl etc.).

    Remove your JRE6 and change your code until there is no more error.

  • is there a way to clean up (remove) the queue of a specific event structure?

    It is a simple question. Please tell me Yes or no.

    Thank you very much.

    hookso wrote:

    It is a simple question. Please tell me Yes or no.

    Thank you very much.

    For staticically regesitered of events, I know of no method worth the look.

    For dynamic events I would experience no logs the event to see if it destroys the events in queue.

    Ben

  • regarding queue and case structures

    Hello

    When executing the attached VI, an error indicating "no case for some values of the selection. Can someone explain the reason for this.

    You cover the possibilities of the chain in the structure of matter in the loop at the bottom.  You made it a case of "default"?

Maybe you are looking for