the user interface menu

Hello

I'm relatively new to Labview, I was given an interactive menu that allows the user to select a series of processes to run.  I have the subVIs in these processes, but I have no idea how to do so that the sequence defined by the user to run. I thought to use a state machine and create all possible combinations, but the amount of cases would be ridiculous. Anyone of you has an idea on how to do it?

Thank you

You are far too complicated.  Did you read up on the operation of a message in queue manager?  You have a table 1 d of channels.  You then delete the first element of the string.  You now have a scalar string that goes to the structure of your business.  Do the operation for this scalar chain.  Then use the rest of the table 1 d and remove the agenda of index 0 and do step according to this scalar string.  To do this again and again, until there no string value left.  Otherwise, you could do this with a loop for, but there is less control for things like needing to go into other cases, according to the steps that have been visited previously.

Tags: NI Software

Similar Questions

  • Validation of the user interface of by-pass when the click on the menu

    Hello

    Scenario:

    Go to any entity change the navigation bar page, having required validations on the fields of the user interface.

    Now, try to browse page by clicking on an item of menu registered in the recent items menu in the Shell of the user interface.

    The required validation is triggered.

    Earlier we faced a similar question of the necessary validation is triggered when the click on the button 'Cancel' in the edit page. At this point, we immediately applied = true to the Cancel button and the problem is solved.

    Is there something on similar lines for the validation of UI bypassing during the click on the recent items?

    Thank you
    Ravi

    Hello

    Earlier we faced a similar question of the necessary validation is triggered when the click on the button 'Cancel' in the edit page. At this point, we immediately applied = true for > Cancel button and the problem is solved.

    It is the same for the af:menuItem IE (immediately apply = "true" to get around the validation of the user interface [client side], its support by almost all components of the adf).

    Kind regards
    Sicard.

  • Offset of the user interface after update of El Capitan

    Hello. Since I upgraded my Macbook Pro late 2013 to El Capitan retina, I've known GAL of the user in function, mainly opening animation of safari and switching between desktop computers. These issues are only to make my user base, I created a test user and concluded that the test user was not the offset of the user interface. I have reinstalled the operating system, as well as talked to apple. Apple had me reset the Pram so that delete files, including:

    / Library/LaunchAgents

    ~/Library/LibraryAgents

    / Library/LaunchDaemons

    / Library/Caches

    ~/Library/caches

    and many other files like these.

    None of that helped, my UI lag is still there and fine. Also, I'm not sure if this is relevant; However, my recovery HD (available from start by pressing the alt/option key) is not an option. I'm not sure if the files I deleted with apple support caused it or reinstalling the operating system has done this. IM thinking delete files because I reinstalled the operating system using the HD recovery.

    Does anyone know how to fix the lag in the UI? I know other people have this problem, google search and this forum but no clear answer has not developed.

    Thank you

    Caulin Bloom

    Please launch the Console application in one of the following ways:

    ☞ Enter the first letters of his name in a Spotlight search. Select from the results (it should be at the top).

    ☞ In the Finder, select go utilities ▹ of menu bar or press the combination of keys shift-command-U. The application is in the folder that opens.

    ☞ Open LaunchPad and start typing the name.

    The title of the Console window should be all Messages. If it isn't, select

    SYSTEM LOG QUERIES ▹ all Messages

    in the list of logs on the left. If you don't see this list, select

    List of newspapers seen ▹ display

    in the menu at the top of the screen bar.

    Click on the clear view icon in the toolbar. Then take an action that does not work the way you expect. Select all of the lines that appear in the Console window. Copy to the Clipboard by pressing Control-C key combination. Paste into a reply to this message by pressing command + V.

    The journal contains a large amount of information, almost everything that is not relevant to solve a particular problem. When you post a journal excerpt, be selective. A few dozen lines are almost always more than enough.

    Please don't dump blindly thousands of lines in the journal in this discussion.

    Please do not post screenshots of log messages - text poster.

    Some private information, such as your name or e-mail address, can appear in the log. Anonymize before posting.

    When you post the journal excerpt, an error message may appear on the web page: "you include content in your post that is not allowed", or "the message contains invalid characters." It's a bug in the forum software. Thanks for posting the text on Pastebin, then post here a link to the page you created.

    If you have an account on Pastebin, please do not select private in exposure menu to paste on the page, because no one else that you will be able to see it.

  • Is it possible to resize the text and icons in the user interface?

    I'm on a Windows 10, 15.6 screen laptop "4 k. The menu bar along the top is sized very well, most of the time. However, all the icons and the text to actually work on fuse are too small for me to look at and click on without having a fight.

    Are there ways to manipulate the proportions of the UI? Thank you!

    Hi Brandon!  Great question!  Unfortunately for the insight we have not a scalable user interface, but it's certainly something that we will keep in mind for future releases.  Now this is resolution dependent so you need reduce the resolution setting (we've only really tested until about 2 k ~ monitors).  The user interface is pretty basic at the moment, but there are a few changes, you can do it.  Here is a link to the user guide on the user interface customizations for details - but you can change the position of the toolbars by clicking the separation Strip and you can change the width of the canvas/editor fracture by dragging on the edge of the editor Panel.

  • How to navigate through all of the links in the links Panel in the user interface?

    Hello world

    I wonder how I can browse all the links in the links Panel, programmatically. I have a document where the resources present in this Panel are not available using the ILinkManager. He tells me there are no links in the document when using ILinkManager-> GetLinkCount().

    These resources are not more related to any element on the page. These are images which are not more related to what it is. Right-click on it and click on 'join the link' shows nothing in the document (the same operation on a resource that is linked to a graphic image focuses on it). I can manually re-edit the link, but nothing more.

    In the user interface, there is no way to delete (not menu 'remove' or whatever).

    I think I "created" them as follows: during the creation of the story, the story is tagged. Then I attach a picture frame and label it in the history. Then I remove the frame (s) containing the history, so that its history xml is "not placed" (see kXMLUnplaceCmdBoss). At this time (if I'm not mistaken), I created these inaccessible resources. I see the xml story unplaced in the structure of the document that remains not placed XML (in the backup store) and resources in the links Panel.

    History unplaced XML CAN be removed manually, but not these inaccessible resources. However, there must be a way, as InDesign can display them.

    How to reach these 'lost' resources and delete them, by programming?

    Independent of your real problem, I would first try the equivalent in the user interface.

    Preparation:

    To simplify things and make them visible, working on a traditional tale - not the backup store.

    The story should be labeled and will remain so.

    Add content as complicated as you want.

    Some content preceding and behind it must survive.

    Your content must be labeled - surrounded by a single label.

    Text-Select this unique tag (see the invisible etc for the right selection).

    Remove the text selection.

    See: Tags are gone, content text disappeared, the images have disappeared.

    Now find a way to perform this deletion text programmatically. Without specific code XML - operation but a simple text, InDesign will do the rest.

    Finally, use the code that results on the backup store.

  • Lost the user interface in Premiere Pro?

    A few weeks ago I signed up for creative cloud. I started using the first Pro CC. I knew that I couldn't take advantage of the Mercury engine because I have ATI Radeon HD 4870 512 MB. I was still able to edit and work. Today I went to send timeline to grade speed and it took forever to export, finally to halfway to send it, I gave up and revived Premiere Pro. When the first opened my UI had disappeared. Drop-down menus have all their but disappeared from the user interface. If I went in create new title, I could see that window, but the chronology, garbage, source and windows Records were not visible. I know that the sequence is always there because if I hit the space bar the sequence plays through my Kona card. I closed the first and I got a pop up menu Nvidia Cuda ask my update of drivers. It's strange because I have a card ATI not a Nvidia card. If I open all the other apps After Effects or Photoshop, all of the user interface is here. What gives?

    My specs: CPU 2 x 2.26 GHz Quad - Core Intel Xeon,.

    12 GB 1066 MHz DDR3 ECC memory.

    ATI Radeon HD 4870 512 MB graphics card

    AJA Kona IO Card

    Ann Merci for the info, Ann. However I realized that it was just that the interface was dragged all the way upward under the white bar that says first projects.

    When I saw the arrow pointing down I realized that I had to just drag the interface down. Simple mistake. Thanks again.

    Patch

  • WIN8 registers touch but no reaction from the user interface?

    Anyone having problems with Win8 button when your fingers are clearly registered (Windows gives this feedback from the spherical ripple effect) but the user interface under your finger does nothing? No not the button and so on.

    I live it with some Chrome for example, with the small button tab when it is near the top edge of the screen.

    If I drag the window to the center of the screen, I have no problem with getting keys recorded. Hit the button new little tab gives no trouble.

    When user interface elements are close to the edge, no reaction, even if the wave indicator appears.

    Cannot know if it is a driver or a HW problem. I use X220T.

    Example screenshot

    May be a problem with Chrome, in fact. Tried with Firefox and the new tab button is a lot easier to hit. ---> will give Chrome devs a hint

    EDIT: what you know! The new beta version has already dealt with this issue:

    https://www.Google.com/chrome/browser/beta.html

  • Flatten to a string to send arbitrary objects by messages from the user interface?

    Hi people,

    I am trying to send arbitrary data by messages from the user interface defined by the user to my labview interface. Something funny happens then: if I send the data through the message of ui, it seems I have something strange. There is only one character or nothing in the message of the user interface that reached my reminder.

    It seems that flatten channel also creates control characters that are interpreted by NI TestStand and Labview not as members of the chain, and for this reason I only get incomplete data. within the action of testand, which creates the flattened data, I put a dialog box to display the string data, and it seems that at least up to 255 (ascii) characters are used.

    Is there something like uuencode/uudecode to avoid this problem?

    Thanks in advance

    Okidoki, found.

    His «binary"produced by «Flatten the string» string Apparently I thought, the LabVIEW data type is incompatible with the API of TestStand from LabVIEW. In conclusion I would classify this as a bug (sorry people, at least there should be documentation) API for LabVIEW TestStand 2014.

    As a solution, I use flatten it in XML, which is a printable and human readable 'normal' string.

    It was trial and error, and I'm not enjoying this.

  • How to get TS::SequenceContextPtr to customize the user interface

    I want the file of the custom, user interface sequence value therefore need to take stock of the TS:equenceContextPtr, anyone know how to get this point.

    Is there a reason that UIMessages are not enough?

    Just off the top of my head, here are a few concerns with the not not using UIMessages:

    1. How the user interface is unknown when the file of the sequence is developed to set the value.  Without an event or some sort of synchronization you can do exactly that.  UIMessages not only to ensure the right information, but they help also with synchronization.

    2. The engine does not know this information, and view of execution manager knows that the information for the current execution it is linked to (which changes throughout the life of a series of tests).  Basically, recall of front end, model, and other factors may spawn short executions briefly related to the Manager view of execution.  So if you take the context of the sequence of the current run is perhaps not the right one.

    3. Writing a user interface will be couple the user interface to your specific sequence file.  At this point, you can use the network variables or global variables or global queues as well.  It might even be better options.

    The situation you describe is exactly why the UIMessages were created.  Maybe you can help me understand why you are set on the use of pointers, you already have?  There might be a better solution for your case if I'm misunderstanding you.

    Thank you

  • Why me disables the user interface click on another button, while it performs a scan?

    Hello

    When I run the user interface and click on a button that is sweeping the voltage for a period of time, I can't press any other button that sits on my Panel, lets say the Abort button that would prevent the action.

    So when I take the data and I realize that I should stop him before he finishes the scan, I can't and it's a really bad drawback.

    How can I improve this problem?

    Thank you

    Hi m.s.taba,

    It seems to me that your code runs the function leave but does not exit the loop you are, then the program stops at the end of the loop.

    To avoid this, you can:

    • use a global variable to the time your long recall and the recall of quit smoking
    • Call ProcessSytemEvents in the loop
    • reminder for the button leave defines the global variable
    • inside the loop, immediately after ProcessSystemEvents, you should test the value of the variable, and if the value you must break out of the loop
    • only after the exit of the loop, you can complete your program

  • How to get an array of integers to user in the User Interface

    Hi all. I'm not a very experienced user of the CVI. I have almost exclusively coding in LabVIEW but have a client who wants all of their work in the CVI.

    I've been very fruitful so far (set up a Modbus API from scratch that supports all types of connection) but am confused on how I can get the integer multiples of the user without limiting the number of integers I can get. Essentially, I need to be able to get an array of integers to the user.

    General information, I am building a user interface to test my Modbus API. There are Modbus functions to 'Write multiple registers' and 'write multiple coils. I want the user to be able to enter all the values they want to write in one command.

    What is the best way to get an array of integers through the user interface?

    The easiest way is probably to allow user input in a textbox control numbers: items can be separated by spaces, commas, or even a line break (using ctrl + Enter). You will then need to extract the string from the TextBox and analyzed for numeric values using any non-digit character as a separator: strspn (string, '0123456789'); can be used for this.

    More complex, another possibility is to use a table control to receive user input: you Dresses an empty table with a reasonable number of roews, or you need some codes to add new lines as long as the user fills all those already existing. On the other hand, it will be easier since data recovery in a simple statement, you will all return values: GetTableCellRangeVals (panelHandle, PANEL_TABLE, VAL_TABLE_COLUMN_RANGE (1), table, VAL_COLUMN_MAJOR);

  • Error variables look a tab after race change the user interface

    Hello

    I have a problem which seems to be a bit like this:

    http://forums.NI.com/T5/NI-TestStand/error-viewing-variables-tab-in-runtime-operator-interface/m-p/1...

    The VI I'm running is a step of edit of a type of step. LabVIEW checks if the property 'Step.Setup.ReadMeasName' exists, fills a listbox with her if she does. An another ListBox with all available measure names will also appear on the user interface. The user has an Add and Remove button to remove the 'ReadMeas' list box measures or add them to it of the listbox 'MeasNames '. Several names may be added/removed according to what is selected when you press the buttons. Once 'Fact' is clicked the VI writes the 'Ref' to the list box "ReadMeas" property to "Step.Setup.ReadMeasName", using a node to set the value of property that is passed the TestStand sequence context. If the property does not exist it creates.

    The only time where I have any problem is when I try to remove items from the property, after it is already initialized (i.e. non-empty). In other words, if I run the VI of teststand, put several names as in "ReadMeas" click on done, again run the VI (already added names appear in the box when the user interface is displayed, LabVIEW reads "Step.Setup.ReadMeasName"), then remove the names. IF "ThisContext.Step.Setup.ReadMeasNames" has opened in the tab 'Variables' step when you try to remove the names, I got this message in the Variables tab: 'one or more errors occurred. Please save your work and restart the application. "If I'm careful of not having expaded 'ThisContext' in the variables tab, but check the property before and after the removal of names in the list it does not work properly, and there is no error.

    This isn't a big problem because I doubt that the end user will check to see that the property has actually filled, but I still want to fix the bug if possible. I installed the patch for TestStand 2010 and the .net Framework 4.0. Someone has an idea of what might be happening here?

    Thank you

    -Josh

    Josh-

    Looks like you are running in a known issue 193751, which is documented in TestStand 2010 and 2010 SP1 known issues list. It is a problem that we intend to fix in a future version of TestStand.

    I hope this helps and I'm sorry for any inconvenience this issue may cause you.

  • Impressive transformation slow due to the updating of the user interface

    Hello

    I feel a huge slow down in my test as engine

    I update the display after each test. It consists of a rather

    "simple table" with a subtle change of color and bold

    to indicate the failure or success of the test:

    I have also tried several things to determine what routine was

    make the program almost crawling like a snail, here's my

    results:

    No UI refresh: 0m48s (same as Teststand with no updates of the user interface)

    The discount but no page table switch: 1m06s

    Bay of refreshment and switch page: 1m26s

    There are 314 tests, up to 314 redraw and possibly

    switch page 314 to reposition the view. Which gives the

    following user interface refresh costs:

    Update of the table: 18 years/314 = 57ms (replacing just a single line, Center to top)

    Switch to page: 20 s/314 = 64ms (bottom right corner)

    Is this really the case? Is there a way to make the refresh of the user interface

    faster? Create two separate loops/threads, one to make

    the test, one for updating the UI asynchronously?

    I understood for an overall picture about different

    widgets, but here I'm 'just' display of channels...

    David Koch

    Well, multi-listbox control is a problem if your change causes access to the muliple property node. For each property node LabVIEW normally does a refresh of the user interface which is very quickly. Fortunately, there is a fairly easy way to fix this.

    Use a node of property for the current VI (just drop a property node and change its class type VI Server-> VI reference) to get the reference of the Panel. Then use another property node connected to your reference of the Panel and select update from the Panel to postpone. Set this value to true before your Listbox (and any other updated user interface) and set the value to false then.

  • The best way to separate the user interface in the model LV 2012 queued Message Handler?

    If you create a new "queued Message Handler" new model 2012 LV, you will see a blue box in the case of "Update view" that says the following:

    Code Recommended - If you wish to decouple the Message Handling Loop from your user interface, consider creating User Events (like the "Stop" event in this VI) to message the Event Handling Loop whenever the user interface needs updating.
    

    I would like to give a suggestion, but I am struggling to find the best way to do this and still keep code modular.  The template creates a user - Stop.lvlib "event with a create/Destroy/fire Subvi.  I would like to create a library of "User event - Update UI.lvlib" similar with similar Create/Destroy/fire Subvi keep this new modular and separate user event.  The problem, I am struck, is that there may be only two hydrants in case Structure dynamic event so, how I modularlize creating user events in separate SubVIs and always maintain this dynamic event terminals?

    As a follow-up on the issue, it would be preferable to have a library of user by indicator events that must be updated or that a single UI update of the user and then event pass a cluster as the message that contains the name of the control for the update (to use with a structure of matter), then the data to go with it?

    Thank you!

    Instead of having the events to record in the 'create' methods, you could be part outside your 'create' SubVIs and then simply bundle them. Then, you create your individual event of the user management. See excerpt where I created a vi 'Create user event - Update' in front of the stop.

  • Slow response from the user interface with acquisition of data of type long time

    Hi all

    I have a question to ask more out of curiosity than necessity right now. I've built a program that acquires data from the accelerometer and the Treaty in a number of ways: filtering, FFT, FRFS, things like that, but the answer of the UI is still slow, because I need a resolution of frequency of 0.2 Hz for my data domain, which means that the sample acquisition time is 5s and all this awaits before execution.

    My question is this: is there a way to completely isolate the user interface of data acquisition so that it responds immediately?

    I tried a design model of producer consumer with queues, but found everything to be always waiting for samples to be taken. Maybe it was exactly as I did.

    Thank you

    Phil

    If you need to sample for 5 seconds in order to have enough data to analyze, so unless you can "predict the future" and "knowing" the five seconds of data, simply wait for the data that arrives.  Using parallel loops of producer-consumer will allow data acquisition to proceed (for the next 5 seconds of data) while you do the analysis, but you still have to wait for the data to be analyzed.

    Note that the previous paragraph assumes you are collecting data in 5 seconds 'chunks' and analyze each "chunk" (independent) on arrival.  You could also do something like having a "second 5 sliding window" which moves, say, a second at a time, giving your FFT a finer resolution of 'time' (at the expense of their independence).  This would be a (slight) change in your loop of producer (you want to taste in 1 second pieces, accumulate 5 these pieces) and the consumption loop (start analyzing, spewing a FFT every second, while replacing the older "chunk" with the most recent - a queue with loss can do for you).

    Bob Schor

Maybe you are looking for