How to avoid long user interface response time in long measurements ?

Hi
I tried to find more information regarding techniques how to avoid long user interface response times in case of extremely long measurement times with an external instrument communicating over GPIB, so I post this hoping to get some hint or a link to a guideline. I guess this is quite normal problem.
Problem is that when I want to measure long time in order to get an average result from the instrument, I have to wait until the result is returned from the instrument. Obviously that makes the user interface response very slow in traditional technique. 
My restriction is the old GPIB 488 instrument driver that I would not want to modify, but I have source code to it.
What would be the best way to improve the response time for user interface ? I have looked into the few things:
* multithreading
* callback in main program for GPIB events
* modifying instrument driver e.g. to support VISA and creating a VISA callback
regards,
Petri

Several ways to do this:
If you're getting several measurements, you could have the instrument generate an asynchronous interrupt (an "SRQ" in GPIB terms), then collect the data in response to the SRQ callback.  While you're waiting for the SRQ's, you can have your main thread running the interface so responsive GUI.  You don't have to spinlock on the GPIB read waiting for instrument data.
Or, as you mentioned, you could spawn a thread to manage the measurements, and use a timer in the main thread to periodically allow you to check the status of the measurement thread.  Again, the main thread mostly just runs the user interface.
Either way, the idea is to keep the main thread freed up most of the time to run the GUI, and have it periodically check for completion of your measurement sequence.  While you're waiting in the main thread, you may want to make sure the user can't inadvertently re-trigger another measurement sequence until the active one is complete.
If you do find yourself doing a dead wait, you'd want to break this up into a series of shorter waits, and in between each wait, do a ProcessSystemEvents from the main thread to keep the GUI active.
Menchar

Similar Messages

  • How to display All User Logged in time & Logout Time?

    How to display All User Logged in time & Logout Time?
    Hi..
    I want to display All user who logged in the portal,
    their username,
    their time logged in,
    their time logged out..
    where can i find these information?
    do Portal have already something like this?
    Plz advise..Thanks.

    The login information is in the wwlog_activity_log. The logout action is only logged when it is explicit. I am using the last user action time for the logout time so I can determine the duration of the visit.

  • How to avoid a user to click multiple times on a link

    Hi,
    I have a pageflow with an action which can be called by clicking on a link on the portal. When a user clicks on this link an ejb is called, transaction is started, ...
    If the user clicks on the same link multiple times I want to send him a message after the first click that the request is being processed.
    How can I do this?
    cheers
    fifty

    Hi fifty,
    One way to not let a user click multiple times is by disabling the button by the use of JavaScript function. That way the Button is greyed out until the page is refreshed.
    Hope this helps,
    Mansoor

  • Are Skype support response times too long for you?

    Just answer yes or no....
    ....and then tell me how long you waited.
    i.e. Yes 7 hours 
    I'm really interested in finding out how much I can rely on this forum for a quick response to problems as I use Skype to communicate with my customers, suppliers and colleagues worldwide.
    The response time to critical questions like "because of a 'technical problem at Skype" I can't allocate credit to my coworkers so as they can call up their contacts phones" - (a.k.a I want to give Skype some money) is unreasonably long. I'm trying to guage how long I can expect to wait.
    Sonic

    Hello  sonic,
    I see you are asking about response time on the forum for questions to be answered. 
    Well, it just depends on who is online at the time you post your question.  We have many professional users like TheUberOverlord and Primemover that are here all the time and answer qualified questions all day.  The Skype Enterprise Team are here 24/7 but are sometimes answering Chats from customers in the Live Chat Sessions of Skype Manager.
    If you want an immediate response, you need to log into your Skype Manager and click on the Chat Button in the top right of that screen and you will be connected to us immediately.  We are here 24/7 for your support.  It is a Business Class Service and we talk to customers from all over the world day and night. We are here to get customers PBX's and SIP compatable devices connected to Skype Connect and can answer most any question on products and devices.
    Thank You for using Skype and the Skype Community Forums.
    Regards,
    Victor S.
    Skype Enterprise Support

  • How to avoid booking of stock every time, when ever I make Delivery

    Hello friends,
    Need your help again
    1) When I am making the delivery, at the time of PGI, system asks for sale order stock.
         I donu2019t want to book stock of material against sales order, whenever I make delivery.
    How can I avoid booking of stock every time, when ever I make Delivery?
    2) Can any one tell how we can relate Moment Type with Delivery Type., and how system  recognize which Movement type is to be used for Good Issue and Good Receipt..
    I will be thankful if I may get any response.
    Thanks
    Siddharth

    Hi
    At the time of PGI the system asks for sales order stocks?
    This is picked by the system because of the special stock indicator E in the VOV7 settings of your sales order item category
    If MTO by default the item category will have this special stock indicator E which is correct
    I think you are doing MTS only but your item category is marked with specialstock indicator as E
    Remove this from VOV7 and create a fresh order cycle and see
    Now it will not ask for special stock at the time of PGI
    Dont test it with existing order test it new order cycle after changes in VOV7
    Movement type as all said comes from your schedule line category only in VOV6
    Regards
    Raja

  • How to avoid the user selecting a different path in my installer

    Hello again all you helpful forum-goers!
    I have an application and a corresponding installer, and then I have a separate installer putting some support files in the same directory.  My problem is that if the user selects a different path to which to install my primary application, the secondary installer will not put the required support files in the same spot.
    Now, I think I've figured out how to get the user-selected path from the "Run executable at the end of installation" option in the Advanced pane of the LabVIEW installer configuration, and I can pass that in to my secondary installer, and that should fix the problem.  However, what I'd really like to do is just not give the user the option to install my primary application in a different directory to begin with.  I've looked, but cannot find any way to do that.
    Does anyone know of any way to not present the option to install an application in a different directory when using the LabVIEW installer?
    Thanks in advance for any suggestions,
    -Joe

    Ben64,
    That's great!  Thank you so much for your quick reply.  The only reason I haven't already accepted that as my solution is that it requires a manual post-compile change to a text file.  Ideally I'd prefer not to have to remember to do that every time I rebuild my installer.  Is there any way that you know of to automate the process?
    If not, I'm happy to have a good solution even if it takes an extra step each time to implement.
    -Joe

  • How to get the user interface in english ?

    Hello
    I have installed SQLdevelopper 1.5.5. The user interface is in french (probably because my PC is in french). I would like to switch in English; How to do ?
    Thank you !
    Christian

    -K- (!),
    I followed your suggestions and it works well now. Do you know why I prefer to see the UI in english ? Because the help and everything else (documentation) is in english making very difficult to find in the french UI what is referred to in the english on-line help.
    Merci de votre aide !
    Christian

  • How to create Labview User Interface with buttons?

    Hello,
    I try to create a user interface, where the TestStand sequencies can be selected one by one not only Test UUT, Single run and run Mainsequence (about 20 buttons needed).
    I'm playing with the simple UI shipped with TS and can load the sequence file and run automatically a sequence (Main or another).
    How can I create and assign buttons to all sequence files in my TS project?
    Any help would be appreciated.
    Thanks. (TS 4.0, LV 8.0)

    I've modified my main VI with the below steps.
    I still don't know how to create and assign front panel buttons to the user interface.
    Anybody could explain to me how do I need to modify the attached part of my main vi and how to assign buttons.
    Thanks.
    Attachments:
    InteractiveArgs_2.png ‏12 KB

  • How to design the user interface for Indesign cs6 plugin ?

    Designing user interface using custom c++ library(SDK) for pluging is very tedious work .so when I search the net than i found that we can do it using Adobe Creative Suite Extension Builder but i dont know how to use it to develop user interface for plugin and to how to enable event handling in this UI .I read lots of document regarding this on net but they all created lots of confusion in my mind  so can anyone help me to know steps which i must follow to develop plugin using this or whatever technology (action script,java script etc)

    If you want to develop Extensions using Creative Suite Extension builder then i think this is not the right forum for you. Please post your specific queries regarding this at the below mentioned link
    http://forums.adobe.com/community/creativesuites/cs_sdk
    To give a brief of how to develop UI using JS you can use ScriptUI to develop your UI, it is a fast and OS independent approach to UI development. The UI created using JS is native in look. You can refer the following link for some help on ScriptUI
    http://www.kahrel.plus.com/indesign/scriptui.html
    I don't have much info regarding development in CS SDK, but i can point you to one more direction of dev called as hybrid plugins wherein the UI is created in CS SDK, and appropriate methods are exposed from the C++ plugin(enhancing the script object model) to be called up by the CS code for too and fro communication between these two modules of code.
    Hope these pointer help you in getting started.
    Thanks,
    -Manan

  • How to avoid multiple users to access same tcode

    Hi all,
    Am creating one z tcode to display the material details for the particular reservation number. How can  I avoid multiple users to access the same tcode simultaneously. If anybody works over that tcode then no other user should be able to access the same tcode until or unless the first user works over it.
    Regards,
    Ramya

    HI,
    you can even use import and export logic and check if user has entered the transaction ..
    Regards,
    Santosh
    Message was edited by:
            Santosh Kumar Patha

  • How to get the number and response time of HTTP request through Weblogic?

    hi,
    does anybody know how to get the HTTP request information through Weblogic server, such as the number of HTTP request in 1 min and the average response time of request in 5 mins ?
    Or is there anyway i can do it through monitoring and get these data then? If so, please help tell me.
    Thanks in advance
    BTW, we don't have the 3rd-party monitoring tool here.

    Hi,
    tables: usr02, usr41.
    data: OPCODE_MODE_COUNT(1) TYPE X VALUE 3,
          modes like sy-index,
          u_MODES LIKE MODES.
    select * from usr02.
      select * from usr41 where BNAME = usr02-bname.
        CALL 'ThUsrInfo' ID 'OPCODE' FIELD OPCODE_MODE_COUNT
          ID 'TID' FIELD usr41-TERMID
          ID 'MODES' FIELD MODES.
        IF SY-SUBRC = 0.
          u_MODES = u_MODES + MODES.
        ENDIF.
      endselect.
      if sy-subrc = 0.
        write:/ usr02-bname, u_MODES.
      endif.
      clear u_modes.
    endselect.

  • How to audit a user at same time it is created?

    Hi, I got a problem and I hope someone can help me.
    Is there any way of auditing a user at same time it is created?
    For example I create the user "Eddy" and I want this account to be automatically audited so I don't have to execute "audit session username;" each time a new user is created.

    I wasn't aware but it seems that most of DDL operations are not available directly from system triggers. Anyway, you can log the user created in a table (stored in ora_dict_obj_name) for being processed later with a scheduled job.
    All in all, it seems much more easier to use two sentences create + audit.

  • Using LabView to serial interface my microscope how I make a user interface to make the stage move by pressing buttons?

    I have used LabView very little and am trying to write a program to control a microscope. I want to be able to give it commands such as to get the stage to move left, right, forward, back, and return to zero. I'm having trouble implementing the code into my block diagram. I've been reading LabView 8.6 tutorials for a couple of weeks and I'm still learning. What I know that  is that I need a event structure inside a while-loop for the user interface but I've been stuck.
    Thanks for any help! If you need me to try and provide more information please say so.
    Attachments:
    Button.vi ‏21 KB

    Alright so my serial port code should be inside a while loop unfortunately it doesn't work whenever I enter a command to move the stage. It sits there maybe I'm missing something.
    So let me give you an overview to what happens in my code, so the configure serial port is very crucial. The VISA Write writes the bytes to the port. The first VISA Write takes the string to write command. I connected the second VISA write to make it easier whenever I enter a command, the \r will iniate the command as a whole. Example L\r will move the stage to Left once, ending up at VISA Read then closing. All of this found in separate case structures.
    Now the user interface to control the the movement of the microscope is one of my issues, making several attempts to make it work yielded no results. My best work not the best but a attempt is attached, also one of the things with this I'm having trouble with is getting the button to talk to the stage. On previous buttons I worked on I could press the button and light up an LED on the front panel, I thought the same principle would relate to the movement of the stage, no such luck.
    I hope I cleared up some misconceptions on my part, I appreciate your patience.
    Attachments:
    OptiScan.vi ‏14 KB

  • How to avoid multiple users accessing same test data via parameterization in LR??

    i am using LR11.5, i have the following test data:
    TestData
    1
    2
    3
    4
    5
    when i run this script from Controller with 3 users LR picks it as user1->1, user2->1, user3->1
    How do i achieve this case: user1->1, user2->2, user3->3 ??
    Any help would be great.

    I have a related question. i created 2 websites/domains then i went to users and created 2 seperate "network" users then i went to ftp and selected each website and added only user A to site A and user B to site B. what's weird is that when i try to ftp using either of the users it seems to land on the same site. i looked at shared security for the folders and it only shows user a on site a folder and user b on site b folders. am i doing somehitng wrong or is this how it works in mountain lion server? i just want to give the domain owner ftp access so they can manage their files and only thier files. i also had to turn on open directory so that it would not create a local user but a network user. do i need to turn that off and just deal with having a bunch of local users as ftp user? i want to host multiple websites on the server and NO users remote on to server besides ftp.
    edit 1: i only have 1 IP running on the server which i don't think it has any affect on this but thought i mention it :-)
    edit 2: i just noticed one more thing that may help. i used filezilla to remote in using both users, one at a time. it seems to allow both users in but then it shows same directories. i then created a file using the one that was not supposed to have acces and it never sows up. but if i remote desktop to server i can see the new file in the correct folder. so it may have something to d o with the directory listing.

  • How to dynamically validate users at run time using connection pools ?

    Hi Folks
    We are facing a peculiar situation . We have established connection to our
    oracle 8i database using Oracle Thin driver using conenction pooling at the weblogic
    server . We set up connection pools at the console to set up connections to thge
    oracle 8i database. However the user name and password is always static when
    we create the connection pool at the console .
    How do i dynamically validate other users using the same connection pool ??
    Eg - The connection pool at design time in the console uses user A and password
    - passA . Now at run time lets say I prompt the user for a login screen and want
    to trap the user id and apssword parameters entered by the user and use it with
    the connection pool created earlier . I tried using the below code snippet :-
    Properties props = new Properties();
    props.put("connectionPoolID", "Oracle_Thin_Driver_Pool");
    props.put("user" , userId );
    props.put("password",userPass);
    myDriver = (Driver) Class.forName("weblogic.jdbc.pool.Driver").newInstance();
    conn = myDriver.connect("jdbc:weblogic:pool", props);
    But always it connects to the database using the userid and password set in the
    console while creating the connection pool . So how i get the connection pool
    to validate my current userid and password entered through the login screen ??
    Thanks in advance
    Keith

    Hey Bob.
    So I assume you're -completely- working with built executables?  You're not going to work in the editor environment to modify your projects at all?
    If this is the case, then having a generic deployment phase at the beginning of the executable (with a "setting up hardware for your app" splash screen) isn't a bad idea -
    Check the binary on the target, ensure it matches the binary you have on the host machine (in case you ever decide to update).
    If they don't match, FTP the new file down to replace the old one.
    FTP the ni-rt.ini file, ensure the startup exe is enabled and is pointing to the correct location.  
    If it's not enabled or not pointing to the correct startup file, modify the .INI file and FTP back to the target.
    If you had to update the INI file, ask target to reboot itself.  Wait 30 seconds, and wait for target to become available again.
    Connect to the target. If you cannot connect, reboot target.  If the target comes back and you still cannot connect to the app, notify user.
    That's almost exactly how we handle installation and deployment via MAX.  
    The big assumption here is that the built executables were all built with the same version of LabVIEW Real-Time.  If not, you'd need a system replication step in there to make sure the proper version of LabVIEW is on the target before launching the built .rtexe.  
    -Danny

Maybe you are looking for