02-15-2006 09:19 AM
02-16-2006 03:41 PM
Hi Dave,
I have some comments and questions for you. First off, that 80 ms timing issue you are seeing isn’t normal. Here is how UIMessages work.
Each Operator Interface contains a UIMessage handler that continuously monitors events posted from the TestStand engine. How the UIMessage handler is implemented depends on the programming environment. The UIMessage handler constantly checks the message queue to see if it’s empty or not. If the queue is not empty, it gets the next UIMessage.
There are several areas we can check to see what could be happening. First off, do you have any type of tracing enabled (Configure >> Station Options). If so, turn this off and try running your application again.
That 80 ms won’t be normal unless you have code handling UI messages that take a long time.
Also, PostUIMessage can take longer than expected if you have the synchronous parameter enabled. The last parameter of PostUIMessage is the synchronous parameter which is a Boolean type. You set this variable to true if you want the method to wait until the operator interface processes the message. You pass a false variable if you want the method to return immediately.
Also, what type of message are you posting? This could be an issue as well in terms of the timing situation.
Hope this helps!
Best Regards,
02-17-2006 10:54 AM - edited 02-17-2006 10:54 AM
Message Edited by DaveC on 02-17-2006 10:56 AM
02-20-2006 02:05 PM
02-21-2006 01:33 PM
Hi Jonathan,
I ported the application to a quicker computer and I tried it using both my custom UI and also with the "C++ using MFC" UI example provided by NI. In both cases I was able to reach acceptable updated times (~< 2ms) for my application. I guess the solution is better hardware. Bah!
Thanks for the help!