Hi Troy,
You hav been asking alot of questions that are similar to what we managed to handle in a demanding app that I memntioned in a post to one of your prior questions.
I would like thow out some ideas that I used in that app because one of tem may help in your project.
I had to monitor very high channel count at high speed while running five PID loops, one of which used a serial port to drive an electronic device controller.
Tips
1) I used a windows based app to steam all of my data to disk while maintaining a round robin buffer in hte background.
This shifted my data storage requirements off of the RT app. THe user could select a sub-set of the data for viewing "pseudo-realtime". The inputs and outputs of everything involved in the real-time app where duplicated on the windiws side. My sample rate on the windows was then independent of the RT system.
2)I also monitored some of the internal values of my RT process model by routing those signals to extra out lines on the RT platform. This allowed quick evaluation of our process model and permitted quick resolution of design flaws.
3)The analog PID read-process-write code was set as time critiacal and hardware timed.
This loop used a global to pass the vaues used by the serial output code. All inputs were over sampled. Look-up tables were used to allow user modification of the process model and quick evaluation of same.
4)The serial WRITE was a high priority thread that read th global and wrote both of the serial port. THis loop depended on the determinism of the RT-OS and did only the transmit tasks.
5)The serial READ operations were done on the WINDOWS platform.
The two streams of information were then syncronized (due to Windows issues) and then posted to a similar buffer as was used in the analog acquisition.
6)Control of the RT app was accomplished by accessing a functional global that was served by the RT platform to the Windows app.
By makingthis VI a sub-routine, I was able to use t "skip if busy" option on the call to the functional global in me Time Critical and High Priority loops. This let me change the operating parameters of my five PID loops "on the fly" from the windows side.
The over all strategy was to have the RT platform do as little as possible.
No file I/O.
No serial Reads.
I hope that some of these ideas help you or others in developing solid RT apps.
Ben