GUI is unresponsive upon receipt of data

I am relatively new to Labview and still getting used to the model data flow programming. I'm using LV as a control panel for some software and hardware running on an FPGA for a prototype I've created. Communication with the FPGA is made using the UART and seems to work correctly. I have however the problem as my command buttons unresponsive in certain special occasions. I think that the best way to go here, it is that I explain what must do my program (and what I think he should do), post my VI, explain when it blocks and I hope someone can help me to identify the problem.

As I said LV is supposed to be the Control Panel, via this Panel the user can change some settings and start/stop the measurement. Orders should be sent to the FPGA (ZYBO Board for those interested) which applies the commands and sends return measures.

I founded my VI on the simple state machine model and build the rest from there. I tried not to use too variable, as I read that this breaks the flow of data model, but sometimes I could not find another way.

It is thus the VI should work: after initialization, it should be waiting for the event status, pending a change in the value of the start/stop button or the button exit. Every second, a timeout event occurs and LV checks with the FPGA (and sends the commands to the FPGA). If the Start button is pressed the FPGA starts to measure in each packet, it returns the FPGA will tell how tall are there are still and send the data 60bytes to LV most of the time the UART communication is the bottleneck and the number of measures will begin to grow. During this time, however, I am still able to change the values of the controls I have send to the FPGA (I like). If I press the start/stop button once again I send the command stop to the FPGA, which means that it will stop measuring, but always send data to LV I think VI makes a loop on the same States when it measures (communication-> button control-> manage data-> communication). Meanwhile however the GUI does not appear to meet my keys, it won't let me change the commands I send or even use the exit button. This lack of response remains while I get data. Once the number of remaining measures hits 0 (the variable 'name' in VI) goes back to the State "in anticipation of the event" and at that time there my previous keys are executed. (So let's say that I pressed the convenient stop button are still some measures should be sent, if only the moment where I press the exit button it will not respond but once the communication has been completed, it will record key press exit and exit the VI.)

I tried to avoid working with timers since communication is the bottleneck for the moment, this is the reason why I will not return to the State "wait event" once the measures began.

I hope my explanation is clear, that otherwise, I'm happy to clarify even more (or reword if necessary). A summary of my problem:

During the time that I am able, and receive data I have to loop through the same States that when I stopped position and am simply receive data ("communication-> button-> handle control') data-> communication. When I am able the GUI is always sensitive and when I stopped measuring it is not. I hope that someone can help me to find the problem and we hope to offer you a solution.

Thanks in advance!

PS as I said that I am relatively new to programming LV so if you see some other "nono" you can also tell me to improve myself.

It is the nature of the beast when it comes to State Machines. This is why if you perform operations of a lot of time, you will need a parallel loop in order to accept user input. Look in the architecture of messages in queue manager that comes with LabVIEW. It is essentially a structure of the event in a loop that sends messages to another loop through a queue. The loop (slave) receiver is on these messages and takes as long as he wants without interrupting the user input.

In other news, it seems that you used the simple state machine good enough popularize and how to configure reports and other things. Here are a few tips none-the-less:

  • You don't need the structure of the sequence. Your code already follows the stream, so you don't need to create separate data sections. It compartmentalizes the code and ultimately get rid of the ability of LabVIEW to perform some of these operations in parallel to increase the speed of execution. Structured sequence should be used when you do not have a way to control the operation order (by adding a wait between two operations, etc.).
  • You can move the control command structure of the event and manage changes in value through a shift register. There is overhead associated with reading the control every single loop.
  • Once you look into the QMH architecture, you will be able to get rid of all the Boolean reading of output you have in each case. The structure of the event should contain all your controls to optimize the functionality of input from the user.
  • You have the cluster of error through each case because the model put there for you, but you do not use. You should the dishes your clusters of error through so that you know if you made a mistake somewhere. Your initialization and Comm States should have it wired for sure to see if you have a series being undermined.

Tags: NI Software

Similar Questions

  • 4 stacked 3548P - all ports inactive and web console gui is unresponsive

    Hi, I was contacted by a company that had lost their entire skillset when an employee leaves, and powerconnects are not my strong point.

    They stacked 3548 4 p - console ports are inactive and web gui is unresponsive. We do a config, and I don't understand how "restart/reset" of the network, to get the web gui back. I suspect that a restart will lead everything back to life, but it's their entire LAN I'm juggling.

    How to restart a stacked network? is it safe?

    The web GUI response loss would be due to something else?

    All other traffic on the local network does not work properly.

    Best regards, Andy Taylor

    The circuit breaker will be syn the config with the secondary switch. So, by taking the master switch to offline mode, leaving the secondary switch to become the master, and then attempts a connection will be the lowest risk losing configuration changes.

    With the switches being in production for as long as they have, I imagine the running configuration and the startup config are the same. So there is a good chance that when the computer reboots, the only things that cannot be saved are the changes.

  • GUI is unresponsive during socket listening?

    Hmm...

    My GUI will not respond while listening socket. Why?

    Example code:
    frame.setVisible(true);
    while(true) {  
            try {
                 clientSocket = serverSocket.accept();
            } catch (IOException e) { }
    }
    //...
    The problem is now, I can see the JFrame that appear, but the internal components don't react at all...
    In other words, I see nothing in my JFrame container.

    The components inside the JFrame works perfectly if I don't listen any outlet. Why?
    Is that 'something' I was wrong? or missing 'something' important?

    http://download.Oracle.com/javase/tutorial/uiswing/concurrency/index.html

    DB

  • How to change identity upon receipt of messages?

    I move from Outlook Express to Thunderbird (I finally leave XP). I have three identities on an email account with Earthlink. I can't understand how to switch between these identities when messages are received. In OE, I choose "switch identity" and a list will appear and I choose a different identity to receive messages from. He keeps them all separate. I've successfully created a second identity in "Manage identities" and I can see the two identities, creating new messages, in the tab 'from', but I can't receive mail from the second identity because I do not see how to change identities when mail is received. I'm sure it's something simple, but I can't put my finger on it.

    I had put it in place without delay. Looks exactly like the example that you have demonstrated. Thanks again!

  • Upon receipt of PDF by e-mail, that he go to media player

    How can I disable media player without deleting.

    How can I disable media player without deleting.


    No need of. Create a file association.
     
    1. download and save the attachment to the office.
    2. right click on the saved file.
    3. Select: Open with on the shortcut menu.
    4. click on: choose [default] program.
    5. Select: The PDF reader, you use.
    6. check: always use the selected program to open this type of file.
    7. click on OK.
     
    This should allow you to open these attachments directly from email address now.
     
     
    If you do not have a PDF reader:
     
     
     
    Adobe is more "well known", but Foxit is much lighter and my personal preference.
     

     
  • I continually receive an error message %appdata%\ upon receipt of updates or try to remove or add programs like Skype and itunes.

    Whenever I try to delete Skype or itunes from my computer, or receive updates for them, I get an error message from %APPDATA%\

    I received the same error message when I tried to add an external hard drive.

    How can I fix?

    I suspect the update of Yahoo. I had in the past with updates from Yahoo which damaged registry entries you mention. These Fix - its should take care of it if it happens again,

    http://support.Microsoft.com/kb/886549

    http://support.Microsoft.com/kb/2258121

  • Classic Sound blackBerry notifications upon receipt of emails

    I just bought a BB classic on Vodafone (United Kingdom) network. I have two questions please and they are: -.
    1. How can I configure the sound notifications when I receive an email please?
    2. I have four e-mail accounts, which are installed on my BB classic, BUT only THREE are actually in the hub, why can't all four listed please?

    Both of the subjects worked above perfectly well for my old BB Bold 9900

    Thank you very much and hope to hear from you with your solutions

    Tony5050

    First... In the hub, tap the lower right three points. Tap the Management Hub. Tap the email account. The value Show In as you wish. Check other accounts and make sure they are set as desired.

    For e-mail notifications... Settings, notifications, select the profile that you want to change, customize the app notifications, e-mail messages, and then set each e-mail account.

  • What is the difference between the "Received" column & "Date"?

    The entries in the columns of "Receipt" and "Date" of the re CT should be the same; When they differ, it is no more than a few minutes. I wonder, that these columns show exactly? Why do these two categories? It obviously has something to do with the header lines, but I could not find it.

    one is the date of the sending of the message, the other the arrival time. Usually it is only a minute or two different these days, hours were not uncommon in the past and even now, Google, will try and deliver a week. If your server down lovers and it takes 5 days to fix or the submarine cable is blown, you will get the google mail which takes days in the date but also fresh column like today in the received.

    I have only the date. By clicking on the right-hand column headings allow you to customize the columns are displayed

  • size_t numerical control by GUI

    I'm getting some CVI behaviors for 32-bit application and 64-bit. Specific, I want to build the application so that I only need re-compilation for each output of 32-bit or 64-bit. One of them uses integers signed and not signed in entrance and exits in the GUI. I would like to first of all operating system data type directly in the GUI, but ssize_t and size_t types are not available in the interactive tools. So I create a GUI for 32 - bit
    -using as digital input (hot)
    -using digital as outputs unsignedInt (indicator)

    After the loading of the GUI depending on the hand, I change the attributes of data type control:
    -the program "recall" function Committee dependent integers from the OS as option
    -SetCtrlAttribute (mainp, PANEL_INPUTVALUE, ATTR_DATA_TYPE, VAL_SSIZE_T);
    -SetCtrlAttribute (mainp, PANEL_OUTPUTVALUE_1, ATTR_DATA_TYPE, VAL_SIZE_T);
    -SetCtrlAttribute (mainp, PANEL_OUTPUTVALUE_2, ATTR_DATA_TYPE, VAL_SIZE_T);
    I get no error in compilation. As expected, nothing really changes for 32-bit debugging i.e. or errors. And when running 64-bit debugging it starts also without mistakes (obvious). And it goes beyond the limit of 32-bit of 2 ^ 31.

    Now, I try an alternative: I set the GUI for 64 - bit with example data types int64 and unsigned int64. When data types are changed after the loading of the IUR depending on the hand, I get no fatal errors:
    -For the first line for the digital input: the attribute passed is not valid (error - 46).
    -For the second and third lines for outputs digital: invalid control ID (error - 13).
    - And subsequently, all three figures disappeared from the GUI.
    These error happens when I run it in 32-bit as 64-bit.

    The disappearance of the controls look like somewhat like explained before. However, the GUI is new and build CVI2010.
    (http://forums.ni.com/t5/LabWindows-CVI/edit-numeric-control-of-type-int64/m-p/1411662#M50699)

    Q1: Is there a limit on the construction of the GUI with int64?
    Q2: Is there a solution where I can use VAL_SIZE_T and VAL_SSIZE_T when the GUI is generated manually?

    I use:
    Windows 7 x 64
    CVI2010 (10.0.1)

    Kind regards, Jos

    Hi Jos,

    The runtime error is caused by the fact that these controls do not exist in the expert group. You can see more clearly, what happens if, after you save the file, you close the window, and then reload the file. You will notice that the two controls will be missing.

    Controls are not saved when using the 64-bit data types is the IUR is configured to use the CVI 8.1 format. You can see in the lower right window of the user interface editor. Because 64-bit in the user interface controls data types were not been introduced prior to version 8.5, these controls cannot be included in a 8.1 UIR.

    We have already identified this scenario as a major flaw in usability: when you save the IUR in an older format, the CVI should show you a warning telling you all the controls or other features, that were not saved after save in the old format. This has been fixed in a future version of the CVI, but, until then, it's something you have to look out for.

    To save the file to the CVI 2010 format, you must only select file > save as... and select 2010 than the version in the list "Save as type".

    Luis

  • Read receipts

    The time displayed in the read receipts is a different time zone then what is on my computer clock.

    The time displayed in the read receipts is a different time zone then what is on my computer clock.

    Please correct me if I misunderstood what you are saying.
    You are not meant to define or redefine you computer clock because of this.
    Upon receipt of the reading is time of the recipient.
    If you know what the difference is between you and your recipient time, just do a simple calculation.

    t-4-2

  • Since then he move to Windows 7 pro, the shared link will open the program, but the database is not up to date.

    I have a .net programming when it was on XP pro it worked fine. Since moving to Windows 7 pro the shared link will open the program, but information is not updated, because it seems that she has created its own database with information from the local computer is installed on and is not matching the information. For example, if the local computer is mapped machine upon receipt #25 is the #15 and should be on #26 and showing all the other receipt printed by the local machine. but its starts from where it was stopped 2 days ago, and is not followed.

    OT: .mdb problem with WIN 7 pro

    Thanks for all the help, I need it!

    Hello

    The question you posted would be better suited to Windows 7 IT pro community.
    http://social.technet.Microsoft.com/forums/en-us/w7itpronetworking/threads

  • Bridge CC 6.2 / GUI does not answer for the seconds

    Hello!

    With the new bridge CC 6.2 update GUI is unresponsive for several seconds after each action such as selecting an image.

    Before this update, I did not have these issues. I already try to change ripping software, but it has not changed anything, also after you restart bridge.

    Windows Pro 10

    64 bit

    24 GB RAM

    SSD

    GTX750-PH (9-15% use of the GPU) NVIDIA GeForce GTX 750 (2 GB RAM)

    Intel i7-2600, 3.4 GHz

    Are there opportunities to improve it, or download the previous version of the bridge?

    Regarding

    Having just upgraded to Windows 10, I saw the same problem.   Went through all the steps on the bridge cache clearing, looking for files dead under 'Libraries', etc.  (There is no network drive).    Looked at the parser performance and noticed bridge launched 50 threads when I chose a picture.   Thought that maybe the Tablet sent a stream of interruptions.   I use a Wacom Intuos 3 (model PTZ). Uninstalled his drivers, downloaded the latest Wacom.  Reset.  No help.   But under properties of Wacom mapping tab, I noticed a strange option "Use Windows Ink" active.  Disabled, and bridge now works well.

  • Why can't easily get us a paid receipt?  NOT the same thing as a Bill.

    I add another voice to those who talk about this problem on various forums.  By our State regulations, we must provide a receipt paid with our credit card records that show what we paid and the fact that he has been paid ($0 balance).  Usually not a problem.  Go to my account, easy to find place to print an invoice, but which shows the balance remaining, as if not yet paid.  Looked and looked for a paid receipt, but no luck.  Searched the site, searched the forums but only found a lot of other people with the same problem but no resolution.

    Dear Adobe, for many of us, if not all, an invoice is NOT the same as a paid receipt.

    This seems to be the crux of the problem.  Once I'm finally connected to someone on the live chat, which finally sent me for something that I could print but contained no information about what was bought and did not show a balance, I answered with this support:

    "We will try this, but it still shows a total, rather than the 'freed' amount. Receive a receipt for a transaction is such a normal commercial practice, I agree with the many entries in forum about this that it should be as easy to find as the Bill is.  You shouldn't have to dig, search and chat just to get the proof that you have received our money.  Please send this feedback along to someone who might do something. »

    Two days later, I received this canned response, which clearly missed the point:

    "Please contact Adobe.

    We apologize for the delay in response and the inconveniences caused to you. We appreciate your patience in this regard.

    Sorry [sic] that there is no option to send invoices by email now and you need to login to your account to download the invoice.

    We will take your comments and let our team know your frustration.

    Steps to download and print invoices.

    1. If you are not connected, connect to www.adobe.com. The sign in link located in the menu at the top of most pages.

    2. once sign you in, click on your name in the navigation bar, and then click on manage the account.

    3. According to the Plan & amp; Products section, click on manage the Plan.

    4. plan details, payment details and billing history are listed on this page. To print the invoice, click Print next to the invoice.

    5. click on the print of the PDF Viewer icon or choose file & gt; Print in the browser to print the invoice.

    Alternatively, you can check the link for the steps.

    https://helpx.Adobe.com/creative-cloud/help/print-receipt.html

    If you have any questions or concerns, feel free to contact us by live chat.

    Thank you

    Adobe customer service. »

    Throughout the day I can print invoices with ease.  This isn't what I need or what I asked.

    If someone knows a secret path to paid upon receipt, despite these difficulties, please share it.  Otherwise, if someone from Adobe is reading this, please try to understand what the real problem is and pass it along to the need.

    Hello

    Thank you for sharing your concerns.

    Unfortunately, as if now there no available option. Proof of valid payment is the invoice that you can print from your account.

    I certainly share the concern with my team and try to find an alternative solution.

    For further information, you can get in touch with Adobe support:Contact customer service

    Let us know if you need more information!

  • 11.1.2.3 - data loading planning?

    Hello

    Another question from newbie - beginner to 11.1.2.3 for which generous points are once more available; I checked the manuals for 11.1.2.3. but do not believe they have removed this feature available in earlier versions of the planning, can someone confirm please?

    In the previous version of the planning (10.x) he used to be a GUI tool based which facilitated the data and mapping the data transformations for easy loading of data in Hyperion Planning without using a tool such as the ODI via flat files or table of database (no disorders, built around Hyperion 'API') from other sources.

    Is it equivalent to 11.1.2.3. and if so someone can tell me the navigation path please?

    As said I have reviewed manuals and as said I don't think I'm following = > load utility contour, FDM Data Integrator adapter, architect of Management Performance.

    But it may be "planning hierarchical Load", can anyone confirm if this is the case (the manual is sketchy to say the least) and if so provide path navigation or even better, a link to a simple example...

    n. b. I keep loads of metadata (members, properties members, parent / child et al) and balance data (balances in cubes loading).

    If it isn't available in Hyperion Planning the form I describe there is no reason NOT to apply the rules of loading EAS to manage data and load balances?

    Thank you very much

    Robert.

    You could try to launch the Foundation > configure the web server option in the Configurator of the EMP.

    See you soon

    John

    http://John-Goodwin.blogspot.com/

  • All of a sudden, when I try to write, to answer before msg, msg window is empty and I don't see any entrance of typing.

    When I turned on my computer this morning everything was normal. Then, after the use of Firefox by email some time I tried to reply to another email. When I hit the button the screen answer answer did not contain the text of the email that I answered. Also, it does not show the cursor. I've tried several things, including research help files all to nothing does not. So I tried to write a message. Same indication then I tried to type data. Nothing showed on the screen, so I sent it to myself. When I received the note, the text I got tyoed appeared and it looked normal. So I tried to reply to the same message. In its response, mode, the electronic part of the screen was blank, so I typed the text extra, always invisible and sent it. Upon receipt of the message, all the new text is there. Same thing when I try to send a message. All data is invisible on the screen forward, but everything I type in the message is present when I get the message.

    Thanks for the note and the suggestion. I'll save it for "next time" if she comes back. Before the entrance of your note, I tried something.

    A few moments ago, I tried something. I ran the free version of Malwarebytes Anti Malware and found 79 "threats". They have a lot of;
    Pup.Optional.Wajam.A, Pup.Optional.CrossRider.A, etc. Several others with different names after the Pup.Optional... I've quarantined the and again tested the response functions and the attacker. They now work as they are supposed to. It seems therefore that the problem was caused by these UN wanted malicious elements. All were in the library of Thunderbird.

Maybe you are looking for