bjorn1985 Posted February 2, 2006 Report Share Posted February 2, 2006 Hello, I am working on a project which requires me to record reaction time with millisecond accuracy. Labview 8 is able to run at 1000hz in Windows, however I have to know the delay from the program to the monitor (as Windows is performing several tasks, this time is unknown). One way to do this is using the vertical sync (directx). Is there any way to access Directx in Labview or is there any other way to get my timing? Quote Link to comment
Louis Manfredi Posted February 2, 2006 Report Share Posted February 2, 2006 Hi Bjorn: Welcome to the forum I've had very bad luck trying to use anything running in the Windows environment for reliable and accurate timing. LabView is no exception. So if your application requires 100% reliability-- no incorrect measurements-- I think you are out of luck without using a hardware timer. Most all of the NI A/D cards have hardware counter-timers built in which could be used for reliable timing measurment-- even under windows-- but in this case you would need the card, and also need to wire up an indicator and a switch to it for the reaction time measurement. Others may have more experience with DirectX than I, and may be able to make good suggestions, but I would be surprised if there was an easy solution without adding some hardware. Best Regards, Louis Quote Link to comment
Richard_Jennings Posted February 2, 2006 Report Share Posted February 2, 2006 Hello, I am working on a project which requires me to record reaction time with millisecond accuracy. Labview 8 is able to run at 1000hz in Windows, however I have to know the delay from the program to the monitor (as Windows is performing several tasks, this time is unknown). One way to do this is using the vertical sync (directx). Is there any way to access Directx in Labview or is there any other way to get my timing? Hi Bjorn, I wrote a simple VI showing how you MIGHT be able to do this in LabVIEW. A couple of points: 1) although the block diagram can run at kilohertz rates, front panel updates are typically at less than 100 Hz. The refresh rate on my LCD monitor is only 75 Hz and televisions refresh at 25 - 30 Hz. 2) LabVIEW splits the block diagram code from the user interface code to keep the block diagram from waiting on the UI. You can force the block diagram and the UI to synchronize by selecting Advanced>>Synchronous Display from a control's (or indicator's) pop-up menu. What ever loop this control or indicator is in will run in sync with the UI. Other parallel loops will continue to run at full speed. The example VI takes advantage of synchronous display to timestamp the flash of a data point on an XY graph, and uses the built-in timestamp provided by the event structure to calculate the difference between the flash and any keypress. Hope this helps get you started, RichardDownload File:post-724-1138901208.vi Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.