LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

LabWindows RTE in Realtime: ETS, RTX, etc

I am interested in executing the CVI RTE in a real-time environment.  Does anyone have experience doing this in ETS or RTX? Or do you have specific suggestions of a different way to get real-time performance from a CVI application. 
 
The application I have in mind was developed this last year to run in an XPE environment using CVI 8.1.  It works very well, but responding to interrupts, such as a FIFO interrupt from an A/D card, exhibits 10-30 milliseconds jitter, because there is a lot going on at the same time.  I would like to get this down to something like 1 or 2 milliseconds jitter.  The system is headless, so the OS overhead should be minimal -- com port, TCP services, and IDE I/O.
 
And no, this is not something I would ever consider doing in LabView. Besides the fact that I hate LabView, this application is more than 10,000 LOC.
0 Kudos
Message 1 of 4
(3,488 Views)
We use CVI in conjunction with RTX, but possibly not in the way you may expect. The GUI stage, including the run-time environment, is still completely managed by Windows (XPE). We achieve real-time performance by writing our own device drivers to run within RTX. These drivers effectively act as one end of a thread safe queue of data and are closely coupled to the CVI application via RTX supplied libraries which cross the Kernel/User memory space boundary. This way we can have all the Windows advantages to develop/debug the CVI GUI application, and at the same time achieve high performance using simple, compact RTX based code. Works well for us.
 
JR
0 Kudos
Message 2 of 4
(3,445 Views)
JR. 
 
You have given me valuable information.  My application is headless, but during development I use a GUI to make sure everything works.  When deployed, the GUI is not installed.
 
But the key thing here is that there is only one section in this large app that needs realtime response.  Actually, responding to some digital input signals and carrying out some timed events after that, is the only area.  That might work well under your method of putting only that section in an RTX environment.  Worth looking into further...
 
Thanks... Gary
 
Comments from anyone else???
0 Kudos
Message 3 of 4
(3,433 Views)
Hello Gary,

NI sells a CVI real time module that might be able to help you. It doesn't support RTX, but it supports ETS.

Luis

Message Edited by LuisG on 10-18-2007 11:09 AM

0 Kudos
Message 4 of 4
(3,422 Views)