I am using LabVIEW Real-Time's Wait Until Next ms Multiple function to control my loop cycle time; however, because the function has a 1 ms resolution, the fastest rate I can achieve is 1 kHz (or 1 ms loop cycle time). Are there any VIs in LabVIEW Real-Time that will allow me to achieve a faster loop rate?
The most obvious solution is to simply remove the Wait Until Next ms Multiple function from the control. This solution allows the loop to run as fast as it possibly can. The drawback is that the user can no longer control the actual loop rate, and depending on how the execution priorities are set, the control code might starve other processes of CPU time if set for time-critical (highest) priority.
Starting with NI-DAQ 6.7.0, AI SingleScan.vi can anchor software timing to the onboard scanclock signal on E-Series DAQ boards in the real-time operating system. This new feature is documented in a KnowledgeBase entry on the web.
Starting with NI-DAQ 6.9.0, Counter Control.vi has a new control code c alled "Wait", which behaves like AI SingleScan described above. This functionality is only available with boards that use the DAQ-STC chip such as the E-Series boards, and is not available with the counters on a 6602 or 6608 board, which use the NI-TIO chip. This functionality is available as of NI-DAQ 6.9 on LabVIEW RT hardware and software only and can be used to synchronize a loop in software with a continuous pulse train generated by a counter (see attachment).