Change the values of the cluster in while loop and in the face at the same time

Hello.

I have a little problem in a test program, that I'm working on. I'll try to simplify as much as possible. I have a cluster control that contains two controls A and B. I want to:

1. switch to update the value of the command A a while loop
2. allow the user to change the value of the B control through the face, while the loop is running

To change the value of order in the while loop, I first get the cluster control cluster, update the value of the control for a way to group by name and finally rewrite the cluster in the cluster control.

The problem is that if the user changes the value of the B control while control that is in the middle of the update, the new value of B control is lost because it was read before updating in the face. Is there a way to get around this?

DennisBengs wrote:

1. switch to update the value of the command A a while loop
2. allow the user to change the value of the B control through the face, while the loop is running

Then they do not belong in the same cluster.  They are disconnected obviously enough that they do not go hand in hand.

Where it can get really complicated, it is that you're talking about the user and code changing the same cluster.  It is very dangerous and very difficult to manage.  You might be able to get there with a driving force.  But walk slightly, my friend.

Tags: NI Software

Similar Questions

  • change the same variable in different loops

    Hi all

    I use an event producer/consumer-controlled architecture where the two loops run processes acting on a common variable.

    To be more precise, I intend to change a flag photo in the loops of consumer and producer. That's why I need to share this variable between the two loops.

    I thought that the best way to do this is to use the indicator of functional photo as part of a Global Variable:
    1 / FGV initialization, which is a cluster that contains the indicator image

    2 / in two loops, the image indicator last value is extracted from the FGV using an action of 'read '.

    3 / the value of the indicator of picture is wired through different processes that would change partially or totally

    4 / Finally, in two loops the photo update flag values are wired as input to the FGV.

    Above is the ideal case, I expected to work. However, this does not work, and is what I've actually implemented:

    (a) in the loop of the producer, the indicator of picture is updated via a shift register, and at the same time, the new value is stored in the FGV

    (b) in the loop of consumption, the indicator of the image is retrieved from the FGV, and its present value is stored in the FGV (as in the ideal case)

    Then I don't why it does not work. I use other FGVs in my VI and which are modified by two loops, but THEY work...

    My VI is really great, so I can't take a picture of him. Can I give you a diet simplified what is my current architecture, whose shot at him. I hope it helps.

    Thank you.

    Florian

    Hi Florian.

    Two FGV reads on the left side of your curls below will be a problem unless you use the data flow to control. The FGV bed (as shown) will occur at the start and then after the structure of each loop ends. When you really want to 'read' when Gets an element from the queue or in the loop of photo - when there are new values.

    The loop of consumption is fairly easy to treat. Just run the Dequeue 'error' error 'in' on your FGV. This will ensure that playback of the FGV happens when you get a new item.

    The photo event loop is a bit tricky. You could send a user of the consumption loop event (after your FGV write) to the photo event loop. In this case the user loop photo, put a reading of the FGV. This ensures that you will get the changes made in the loop of the consumer. The only downside to this approach is that the photo loop always runs once when a change is made in the loop of the consumer. You can use a Boolean value to prevent the image to be written (ensures also the image is always written after the end of the event Structure).

    Here is an example:

    Steve

  • How to hide a control and change a background image at the same TIME

    Hello

    I made a slideshow on LabView VI, who also monitors data in real time to a data logger.

    The program works like this: -.

    Start/Page 1:-bottom pane displays a nice screenshot. A set of indicators displays the data in real time. Switches to Page 2 after 20 seconds.

    Page 2:-background to an another screenshot. Hide indicators in real time and a set of three graphs appear, displaying historical data. Switches after 20 years.

    Page 3 etc:-hide charts and indicators, a 'slide show' appears by changing the history pane. Back to page 1 after the sequence.

    Everything works fine, except for one thing: I can't hide indicators and background to change at once, resulting in a clumsy "discrepancy" between the two.

    I did one VI example to illustrate this. Simply select two separate images to the façade, run the VI and toggle the Boolean control to see what I mean.

    Any idea how to get indicators and background of change at the same time?

    Thanks in advance,

    Hello

    Hi Jin,

    have you tried to "DeferPanelUpdates" when you power on? This is a property of the component...

    So David value = TRUE, do all the switching, to redefine Defer to FALSE!

  • At the same time entered into a local variable of a digital control while maintaining control.

    Hello world

    I'm quite new to Labview please bear with my lack of technical terms. I also want to apologize in advance if this topic has already been discussed somewhere in the forum.

    I'll try to be as brief as possible - I will use Labview for controlling the speed of a DC by PWM motor and want to simultaneously have 1.) control button which allows me to vary the PWM (0-255), and 2.) be able to 'fix' the value of the command using the indexed values.

    To better illustrate this point of view please the VI attached. When you run the code what I can do is change the value of the control by using the indexed values. So going back to my question - what changes should I make to the code in order to have the choice of using 1.) (and 2.) at the same time?

    Any help would be greatly appreciated!

    After extensive research on the structures of the event and property nodes, I finally found a solution.

    Is attached the working version of a button control that can be further manipulated by a secondary control, but still maintain it's own control capabilities (IE not the substitution or the line of the error stream)

    I hope that someone in the future will find this useful!

  • Mr President, how can I enter two rows at the same time with different default values that only the first line to use see?

    Mr President.

    My worm jdev is 12.2.1

    How to enter two rows at the same time with different default values that only the first line to use see?

    Suppose I have a table with four fields as below

    "DEBIT" VARCHAR2(7) , 
      "DRNAME" VARCHAR2(50),
      "CREDIT" VARCHAR2(7) , 
      "CRNAME" VARCHAR2(50),
    

    Now I want that when I click on a button (create an insert) to create the first line with the default values below

    firstrow.png

    So if I click on the button and then validate the second row with different values is also inserted on commit.

    The value of the second row are like the picture below

    tworows.png

    But the second row should be invisible. It could be achieved by adding vc in the vo.

    The difficult part in my question is therefore, to add the second row with the new default values.

    Because I already added default values in the first row.

    Now how to add second time default values.

    Concerning

    Mr President

    I change the code given by expensive Sameh Nassar and get my results.

    Thanks once again dear Sameh Nassar .

    My code to get my goal is

    First line of code is

        protected void doDML(int operation, TransactionEvent e) {    
    
            if(operation != DML_DELETE)
                 {
                     setAmount(getPurqty().multiply(getUnitpurprice()));
                 } 
    
            if (operation == DML_INSERT )
                       {
                               System.out.println("I am in Insert with vid= " + getVid());
                           insertSecondRowInDatabase(getVid(),getLineitem(),"6010010","SALES TAX PAYABLE",
                            (getPurqty().multiply(getUnitpurprice()).multiply(getStaxrate())).divide(100));      
    
                           }
    
            if(operation == DML_UPDATE)
                              {                                                    
    
                                 System.out.println("I am in Update with vid= " + getVid());
                             updateSecondRowInDatabase(getVid(),
                                 (getPurqty().multiply(getUnitpurprice()).multiply(getStaxrate())).divide(100));      
    
                              }                      
    
            super.doDML(operation, e);
        }
        private void insertSecondRowInDatabase(Object value1, Object value2, Object value3, Object value4, Object value5)
                  {
                    PreparedStatement stat = null;
                    try
                    {
                      String sql = "Insert into vdet (VID,LINEITEM,DEBIT,DRNAME,AMOUNT) values " +
                 "('" + value1 + "','" + value2 + "','" + value3 + "','" + value4 + "','" + value5 + "')";  
    
                      stat = getDBTransaction().createPreparedStatement(sql, 1);
                      stat.executeUpdate();
                    }
                    catch (Exception e)
                    {
                      e.printStackTrace();
                    }
                    finally
                    {
                      try
                      {
                        stat.close();
                      }
                      catch (Exception e)
                      {
                        e.printStackTrace();
                      }
                    }
                  }  
    
                  private void updateSecondRowInDatabase(Object value1, Object value5)
                  {
                    PreparedStatement stat = null;
                    try
                    {
                      String sql = "update vdet set  AMOUNT='"+ value5+"' where VID='" + value1 + "'";                     
    
                      stat = getDBTransaction().createPreparedStatement(sql, 1);  
    
                      stat.executeUpdate();
                    }
                    catch (Exception e)
                    {
                      e.printStackTrace();
                    }
                    finally
                    {
                      try
                      {
                        stat.close();
                      }
                      catch (Exception e)
                      {
                        e.printStackTrace();
                      }
                    }                  
    
                  }
    

    Second line code is inside a bean method

        public void addNewPurchaseVoucher(ActionEvent actionEvent) {
            // Add event code here...
    
            BindingContainer bindings = BindingContext.getCurrent().getCurrentBindingsEntry();
                   DCIteratorBinding dciter = (DCIteratorBinding) bindings.get("VoucherView1Iterator");
                   RowSetIterator rsi = dciter.getRowSetIterator();
                   Row lastRow = rsi.last();
                   int lastRowIndex = rsi.getRangeIndexOf(lastRow);
                   Row newRow = rsi.createRow();
                   newRow.setNewRowState(Row.STATUS_NEW);
                   rsi.insertRowAtRangeIndex(lastRowIndex +1, newRow);
                   rsi.setCurrentRow(newRow);
    
                   BindingContainer bindings1 = BindingContext.getCurrent().getCurrentBindingsEntry();
                   DCIteratorBinding dciter1 = (DCIteratorBinding) bindings1.get("VdetView1Iterator");
                   RowSetIterator rsi1 = dciter1.getRowSetIterator();
                   Row lastRow1 = rsi1.last();
                   int lastRowIndex1 = rsi1.getRangeIndexOf(lastRow1);
                   Row newRow1 = rsi1.createRow();
                   newRow1.setNewRowState(Row.STATUS_NEW);
                   rsi1.insertRowAtRangeIndex(lastRowIndex1 +1, newRow1);
                   rsi1.setCurrentRow(newRow1);
        }
    

    And final saveUpdate method is

        public void saveUpdateButton(ActionEvent actionEvent) {
            // Add event code here...
    
            BindingContainer bindingsBC = BindingContext.getCurrent().getCurrentBindingsEntry();      
    
                   OperationBinding commit = bindingsBC.getOperationBinding("Commit");
                   commit.execute(); 
    
            OperationBinding operationBinding = BindingContext.getCurrent().getCurrentBindingsEntry().getOperationBinding("Commit");
            operationBinding.execute();
            DCIteratorBinding iter = (DCIteratorBinding) BindingContext.getCurrent().getCurrentBindingsEntry().get("VdetView1Iterator");// write iterator name from pageDef.
            iter.getViewObject().executeQuery();  
    
        }
    

    Thanks for all the cooperation to obtain the desired results.

    Concerning

  • Change the multiple layers at the same time

    Hi all
    Is it possible to change the position of the multiple layers at the same time? that is to say: I've got a slideshow made with several layers (probably about 60) while back and now I need to re use it in a different size (smaller). When I just resize the document, my slide is no longer in the center of it and is bigger. I would like to: 1. change its position within the document. 2 reduce entire layer together. If 2 is not possible, fine, but to me, there may be a way to change its position. Thank you much for the help!

    If you look at the area where Flash displays your frames per second is a small button (it looks like 2 boxes blu - ish overlapping). It is the button "edit multiple layers. Once you press this, you will see a marker on your time line asking you to select the images to change. Stretch this segment to cover all the images you want to include in your editing - lock all layers you want to include in your installation. Then, you can press Ctrl + a to 'select all' - this will only select executives in "onion" and unlocked frames - from there, any changes will not affect what is selected. You have to play with how it works because it can be a little difficult to understand (when it comes to points of alignment and balance, etc.). I would like to make a copy of your flash document to test this point until understand you before you start your original edition.

  • Change the location of several pictures at the same time?

    I see how to change the location of a photo at a time. Is it possible to change the location of several pictures at the same time?

    Thank you

    Phil

    Select the photos and info - enter the location (or any other field of the info) and it is applied to all photos

    This is described in using Photos - a good place to get help with Photos

    View and add information about the photos

    To view or change information for the photos, you select one or more photos, and then open the information window.

    • Open the Info window: Double-click a photo to view it, and then click the Info button in the toolbar or press on command I.
    • Add or change information: Change the following.

      • Title: Enter a name in the title field.
      • Description: In the Description field, type a caption.
      • Favorite: Click the Favorites button to mark the photo as a favorite. Click the button again to deselect.
      • Keywords: Enter the keywords in the keywords field. When you type, Photos suggest keywords that you have used before. Press enter when you have finished a keyword. To remove a keyword, select it and press DELETE.
      • Faces: Click on and type a name to identify a face. Click on several times, and then drag the identifier of the face different faces to identify many faces in a photo.
      • Location: Enter a location in the location field. When you type, Photos suggest places you can choose. To change a location, you can search a different location or change the location by dragging a PIN on the map. To remove location information, delete it or choose Image > location, then choose Remove location or back to the original location. You cannot assign a location if your computer is not connected to the Internet.

    LN

  • Can I use automator to change the modified time of a file as its content?

    I use automator to rename a series of images.

    The problem is whenever I change a change of time of amending records file.

    Can I use automator to change the modified time of a file as its content?

    I know that I can use the Terminal to change a date but I have no idea how to do to automate this process

    As you say you know the command to use in the Terminal, and then with Automator, use the Action run the Shell Script after the name change.  The new file name will be passed to the Action run a Shell Script, and from there, you can use touch - r to set the time of the file at the time the name of the new file

  • Can I change the new memory and at the same time to replace the Rams?

    Can I change the new memory and at the same time to replace the Rams?

    If a MacBook Pro RAM and drvie hard can be modified/improved depends on the submodel and we do not know yours. There are dozens of variations of the MacBook Pro issued since 2006, and you do not want guessing us!

    Please do "about this Mac" in your Apple menu to get this:

    Notice the line that I have highlighted with the red arrow. Please tell us what your computer has in the thr same place. However, do not post any serial number.

    With the exact submodel we can better advise you of any available upgrade paths.

  • My wife and I have iPhone 5 s, the two rings at the same time while we are at home when one of us Gets a call. They are on the same account, is there a way to stop this without establishing separate accounts?

    My wife and I have iPhone 5 s, the two rings at the same time while we are at home when one of us Gets a call. They are on the same account, is there a way to stop this without establishing separate accounts?

    settings - phone - call another device - off.

    One of you should get their own apple ID, you just go to have problems later.

  • 2 while loops can work at the same time?

    I have two while loops in my program; We can read the data and the other does nothing until I hit stop on the first. I want the first and the second to run out of the time constraint, I have for it when I hit the Start button to always run. I use a DAQ and transfer data from one to another while loop. See the attached file.

    Main issues:

    How to tie the Start button?

    How to get the second loop to work with the first?

    Thank you

    Your problem is that the loops are dependent on the data.  If you want to run two loops at the same time, they cannot have wires linking one to the other.  Focus on the architecture of producer/consumer .  It uses queues to send data of a loop to the other.

  • Why these two loops while cannot work at the same time?

    I place two same while loop in the block diagram, and then use highligt and one-step run function to observe their parallel operation.

    But I discovered that this two loop operate alternately and cannot operate simultaneously.

    Can someone help me understand this?

    My software environment:

    OS: Windows XP SP3

    LabVIEW: student editions 2011

    CPU: intel P8400

    Hi, GerdW

    Thanks for the reply

    I post a video to illustrate my question.

    While I press a strong of the run, I find that these two loops does not begin at the same time.

    While the execution of a loop, the border on the other became dark.

    It seems that during an iteration in loop 1 run, the loop2 keep waiting. and then the loop2 iterate while loop1 keep waiting.

    I do not know why this happens

    Sincerely

  • I can't change the date & time to receive automatic updates of Windows XP - help!

    How can I change the date & time to get automatic updates - I've tried everything and did what I was asked to do - still not able to do!       Lin

    What happens when you try to do?

  • I am a customer of Qwest and they changed all my "Hotmail" email and I do not. How can I go back to msn mail. At the same time, I would also uninstall instant messenger.

    I am a customer of the West and they changed my "Hotmail" email  I like the way he was with msn.  At the same time, I also want to disable or uninstall Instant Messaging on my computer.  I'm "Dell Dimension 2400 Series with windows XP"

    Hi ARMELDEDEHOUANOU,
     
    -Are you talking to disabling Windows Live Messenger?
     
    Your email account cannot be changed by Qwest. MSN e-mail account is the same as the Hotmail account.
     
    If you have problems with Hotmail, post your request in the Forums of Hotmail for assistance on this issue.
     
    If you are referring to Windows Live Messenger, follow the steps in the link below to uninstall the same.
  • Change 1 folder changes views 1 another at the same time.

    I want 1 file to the group names, but this has begun to change the 2 folders to the same view at the same time.  And when I change the other file to display small icons then the other folder will group by name to display small icons at the same time.

    Is there a way to prevent this?

    Thank you.

    Thanks for the answers, but after the age of bother I've sorted it.

    I right click the master file (this time, it was my music) and:

    Clicked on properties

    Customize

    Changed the "what kind of folder do you want?" at all and makes TIC TAC "applies this model to all subfolders.

    You click on apply.

    Records are returned to the independent opinions how ever you get in the folder.

Maybe you are looking for