Data flow of the User Interface general problem (LabVIEW 2012)

I have problems reading & checking to a tab group user input (see the "Test settings" tab in the attached example).

Essentially, I need to define and test many parameters.

In the example, I need to create a bitmask of four switches to selection. Only the system works a treat, but in the context of

the Panel tabs switches are never 'reached '. I tried to put some time structure around the switches (which works ex vivo

See attached 'channelselect.vi') but the switches are never reached when I'm not in the code. Basically, I don't want

Leave the pane until all parameters have been set and verifyied.

I tried business structures (per group), structures plate Structures (group picture by picture), event (change nutton event)

I expect the same problems with the other parameter sets. I need to change - set - check, in an order any.

Understand that the "adjustment" mechanism is linked to a sub-vi/class method where the parameter is tested, defined and verified.

It is a long-term approach to the fundamental question "How would you have it out"? I don't know that it is a misunderstanding of basic

my part of the dataflow paradigm. I'm not looking for anyone to do my work for me, but I want to understand how this

Works I can get on with my day.

Thanks in advance for any help that you can present.

You can still have the tab control.  It is just useless to do all your processing when the user changes the tab.  You can do event on the button presses as well.  Treat the VI as a whole VI, not different tabs that you have to manage.

Tags: NI Software

Similar Questions

  • Nested data entity on the user interface collection

    Hi team,

    We are facing challenges with entities nested to collect the data on the screens of the interview.

    Scenario is similar to this, we need to collect several information owner and with in the lod country information we collect several main landlord infromation and with in the main field of infromation Lord we collect several additional licenses.

    I created the entity (the owner) and created another child entity for (Principal owner) and created a more than child entity (license).

    When I try to collect the information in the above manner, OPM throw error saying: you cannot nest entities.

    Please provide your suggestions or solution to this problem.

    Thank you

    Viv

    Parent entities and their children cannot be taken on the same screen. "Perceived" here means create instances of the entity (using Add/Remove).

    Information on parents and kids can both be collected on the same screen. 'Information' means here attributes for the entity instances that you have already created.

    Davin.

  • The user interface related problem: cannot add the status buttons

    Hello

    I'm developing a screen where I need the header and status with controls like buttons and the EditFields. Please take a look at this code

    editField = new EditField();
    
          updateButton = new ButtonField("Update");
    
           cancelButton = new ButtonField("Cancel");
    
          /**        * set up Status manager       */       VerticalFieldManager statusVerManager = new VerticalFieldManager();       HorizontalFieldManager statusManager = new HorizontalFieldManager();
    
            /**        * Add fields in status manager        */       statusManager.add(editField);     statusManager.add(updateButton);      statusManager.add(cancelButton);
    
            statusVerManager.add(new SeparatorField());       statusVerManager.add(statusManager);      /**        * Set status as status manager        */       setStatus(statusVerManager);
    

    Here I can see my edit of the status field but may not see a Cancle and update buttons.

    Previously, I have tried with subLayout() for both the Manager but could not display buttons.

    Waiting for your comments on my code. Atleast help me understand what it is wrong.

    Thanks in advance people.

    Hello

    Solved the problem myself.

    Here's the summary I've done.

    1 removedStatusVerManager. In fact, it has been used only to a separator above the horizontal management of State.

    2 called sublayout inside the statusManager and delimited the height and width.

    3. called setLayOutChild() to do my fiedl edit fixed width and height.

    (I had followed procedure until 3 before I had done new is in step 4)

    4. calls the setPositionChild() method. In fact when I throw a child I have defined his position and the position of all the children who will be added in the same manager. So also set the position of other controls of BROTHER with her.

    5. Add the controls in the Manager.

    He spent setStatus. And I am able to make the desired screen.

    Thank you @ekansh for your answers.

  • The user interface resolution problem

    Having a problem with the program itself, working on a 64 Windows 8.1 and all other applications are in good shape with regard to aspects of the resolution, but a muse is pretty bad and works as if its on a screen with a lower resolution, as seen in the photos, I tried to change the display options in windows and thought I could find a way around to fix it, but I'm stuck I guess. Please advice

    Muse issue.PNGMuse issue-2.PNG

    See the Application UI too big | Windows

  • 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.

  • Update the user interface problems

    I have an application that has three buttons at the top of the other, but is never visible at a time.  On the initial configuration of the application, the user interface is correct, but once one of the clicked button events fire several buttons appear at the same time.  All buttons are dynamicslly created and stored in a table to access.

    A few snippits of code:

    The buttons are created like that and then added to a canvas:


    browseButton.label = "Browse";
    browseButton.id = trackNumber.toString ();
    browseButton.width = 92;
    browseButton.height = 30;
    browseButton.setStyle ("right", 0);
    browseButton.addEventListener (MouseEvent.CLICK, fileRef_browseHandler);


    removeButton.label = 'delete ';
    removeButton.id = trackNumber.toString ();
    removeButton.width = 92;
    removeButton.height = 30;
    removeButton.setStyle ("right", 0);
    removeButton.addEventListener (MouseEvent.CLICK, removeButton_clickHandler);


    clearButton.label = "clear";
    clearButton.id = trackNumber.toString ();
    clearButton.width = 92;
    clearButton.height = 30;
    clearButton.setStyle ("right", 0);
    clearButton.addEventListener (MouseEvent.CLICK, clearButton_clickHandler);

    canvasButtons.addChild (removeButton);
    canvasButtons.addChild (browseButton);
    canvasButtons.addChild (clearButton);
    canvasButtons.horizontalScrollPolicy = 'off ';

    Pretty easy.  Where the problem occurs is removeButton_clickHandler.  It passes through and hides all buttons and makes the Browse button active thus active / disable another image.  Turns on and off the visibility making:

    public void HideFileButton(currentButton:Button):void {}
    currentButton.setVisible (false);
    } / / HideFileButton (Button)

    public void ShowFileButton(currentButton:Button):void {}
    currentButton.setVisible (true);
    } / / ShowFileButton (Button)

    I see that the visible property is changing, but the UI is not hide the buttons that are no longer visible.  I got around this origin by setting the alpha to 0, but it seems I'm missing something simple.

    Can anyone shed light on what I'm missing?

    In general, you define the button visible = false immediately except the one you want to be visible.

    Alex Harui

    Flex SDK Developer

    Adobe Systems Inc..

    Blog: http://blogs.adobe.com/aharui

  • 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

  • The User Interface is larger than it should be, how can we solve this problem?

    Our marketing director is an issues with its user of Acrobat interface.  His vision of the overall UI is twice as big as it should.  We uninstalled and checked preferences but nothing has changed, everything up in the toolbar and stickies are larger than it should be, anyone have any suggestions or fix for this issue?

    Thank you

    Billy

    Hi Billy,

    I suspect that the size of the text in the control panel of the system is 150%?

    It can simply go in Acrobat preferences-> General-> then change the 'screen resolution grid' at 100%. This will force the user interface to operate at 100% as it did before.

    Please let me know if it works.

    Thank you

    Luke

  • deployment of a BPM Application large Oracle with several projects of the user interface

    Hello world
    I'm working on a large application with Oracle BPM 11.1.1.5.0.

    I use JDeveoper 11.1.1.5.0 to build the application.
    The application has many tasks user with a lot of the UI (one for each task of the user).

    My problem is, whenever I make a small change in the project, I need to deploy this, which includes a master project and five or six projects UI (for now) for tasks of the user.
    As demand grows, I'm sure that this will certainly become a problem.

    So my question is if I do this the good sense? or should there be a more effective way?

    Thanks in advance

    Published by: luke on April 17, 2012 12:16 AM

    Hi Luke
    1. as a general rule, there is NO need to have a user interface project for an individual task. As initiator, approver, reviewer, LegalApprover etc etc, you have like 10 tasks (.task files). You can have just a single project of TaskForms UI and have taskDetails.jspx generated for each of these tasks. This is appropriately.

    2. any Application workflow must have only 2 deployers. Deploy resources are for real Workflow stuff that will have the main BPEL or process, BPM, human tasks etc. Basically, everything that goes into the workflow project. And another official of the deployment is that the REST of things means that the UI TaskForms project and other project support as useful projects, WebServices, EJB projects (if you have Web services). All this will be deployed as a SINGLE EAR.

    Lets take an example JDeveloper IDE point of view.
    1. application Name: SalesOrderApp
    2 workflow project name: SalesProcess (he is a a project jdeveloper project SOA or BPM Project type and has all human tasks, bpels, process bpm, rules etc.).
    3 interface user Project: SalesTaskForms (it is a form generated automatically for the first task you choose. Then for the rest of the tasks you can use this same project, to generate jspx for all others. WORK files. VIEW documents online on how to do it. I'll see if I can compile this list of URLS for you).
    3. support the EJB projects: MyEJBProject1 (some EJB project that connects to some specific to your back-end database project)
    4. support another Service EJB project: MyExtServiceProject1 (as another project EJB that uses data from an external source)
    5. some WebService project: SalesCreditCardValidationWebService (some WebService project to be deployed as. WAR file that performs a service).

    Try to apply the Concepts of SOA for each Service your application needs. Instead of putting all the EJBs and everying in one giant project, try to split their need logically commercial/sage and geenrate separate projects so that they can maintain as it is to other projects and other applications.

    Anyway, coming back, in the example above, you should have deployment just 2: 1 is the JAR file of SCA in the Workflow and another complete of the EAR file.
    (a) for the workflow project, right-click and generate a deployment profile to deploy all the workflow and NOT on the other projects of the user interface.
    (b) for each project individual genereate a profile of deployment such as MyEJBProj1, MyEJBProj2, MyWebService1, etc etc.
    (c) for TaskForms project, generate a deployment as SalesTaskForms profile. It is a WAR file.
    (d) at the level of the Application, create a new profile of deployment of the EAR type and now assemble all the projects in this EAR, with the exception of the Workflow project.

    First of all, you deploy file JAR of SCA of the Workflow. You need to redeploy this again only when you make changes to the workflow, humantasks etc etc.
    Deploy the full blown EAR file that has all the stuff (EJB JARs, TaskForm WARs, WebService wars etc.).

    At any time, you change your code taskforms or redeploy a java, ejb, EAR file.

    You should have a POT and an EAR to deploy at the end of the day. Infact this is how it should go into UAT, and production. They may not have many pots, multiple wars deployed. The reason why we have separated Workflow SCA Jar file is, because the workflow will not change frequently. And also older versions of SOA/BPM (before 11.5 FP) have a huge disadvantage. Whenever we deploy a workflow project, it will make existing processes VITIATED, unless you deploy a different version. This isn't a problem anymore for 11.5 + FP (Feature Pack applied). Therefore, be careful when you redeploy workflow project.

    Thank you
    Ravi Jegga

  • 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.

  • 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);

  • 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.

  • finish by updating the user interface...

    IM create screen with pagination... Load button to add more data, it is normal on os 6 and 7 os... but in the os 5 process completed... I haved create to update the user interface of the thread to invoke later...
    This is my code to call later:

    UiApplication.getUiApplication().invokeLater(
                                    new Runnable() {
                                        public void run() {
                                            // delete(hfmLoad);
                                            for (int i = 0; i < comp.length(); i++) {
                                                lowerScreen.add(list[i]);
                                                HorizontalFieldManager hfmBut = new HorizontalFieldManager(
                                                        Field.FIELD_RIGHT);
                                                hfmBut.setMargin(0, 5, 0, 0);
    
                                                hfmBut.add(but1[i]);
                                                lowerScreen.add(hfmBut);
    
                                                spasi = new SeparatorField() {
                                                    protected void paint(Graphics g) {
                                                        g.setColor(Color.GRAY);
                                                        int currentStipple = g
                                                                .getStipple();
    
                                                        try {
                                                            g
                                                                    .setStipple(0xAAAAAAAA); // Dotted
    
                                                            super.paint(g);
    
                                                        } finally {
    
                                                            g
                                                                    .setStipple(currentStipple);
                                                        }
                                                    }
                                                };
                                                spasi.setMargin(0, 5, 5, 5);
                                                lowerScreen.add(spasi);
                                                invalidate();
                                                //lowerScreen.add(new LabelField("Semangat",Field.FOCUSABLE));
                                            }
    
                                            hfmLoad
                                            .replace(_ourAnimation2, loadBut);
                                            invalidate();
    
                                        }
    

    any solution?

    None of the invalidate() method calls are needed in this code.

    For efficiency rather than to add the field individually, I recommend that you use the addAll method.  In your loop, create an array of fields to add, and then use addAll to add table.

    If you do these two things I think that your problem will be solved.

    But if not, can you please tell us exactly what are the messages you see when the process is complete.

  • Error message is "launch the user interface and to reinstall the application" after executing the quick backup.

    Original title: speedy

    My pc tells me to open the settings of the user interface on my windows laptop 8. I currently have

    has ran a quick backup, and now iiiimy pc asks me to open the user interface and I have to reinstall the application

    not known were and how to find what to do.

    Hello

    Please contact Microsoft Community. I've surely you will help solve this problem.

    To better understand the issue, let me know if you get this error when executing quick backup?

    If you get this error message when running fast backup software, you can visit the article to uninstall and reinstall the software.

    http://TechSupport.SpeedyPC.com/system/templates/selfservice/speedybackup/#Portal/1013/article/8478/how-do-I-uninstall-and-reinstall-the-program

    Hope this information helps. Reply to the post with an up-to-date report of the issue so that we can help you further.

Maybe you are looking for