Lux,
You will need to use multithreading. Perform you Data Acquisition in a time critical VI and the TCP in a normal priority VI. Communicate the data from the time critical VI to the normal priority VI using the RT FIFOs.
To find out if you will have enough network bandwidth, run the
netbench.llb utility in parallel with your data acquisition code (put DAQ at time critical priority). This will show you the maximum transfer rate achievable while running your code. If you do not have enough speed, you may want to consider upgrading to LabVIEW Real-Time 6.1. The network performance has been enhanced. For instance, running just TCP
on a 700 MHz controller with LabVIEW Real-Time 6.0.3, and nothing else, 864 kB/second is achievable with a wait (sleep) of 1ms, and a payload of 1024 bytes per write. With LabVIEW Real-Time 6.1, 980.2 kB/s is achievable with a payload of 2048 bytes and no wait (sleep). Obviously, these are upper limits, as additional code will slow these rates down. You may also consider using a faster controller, such as the 1.26 GHz controller.
Refer to these links:
Real-Time Module Developer Zone Documents
LabVIEW Real-Time Architecture and Good Programming PracticesMeasuring the Maximum Amount of Data Sent Out of a
Real-Time Target DeviceReal-Time FIFO for Deterministic Data Transfer Between VIs.