Hi there,
I'm using LabVIEW Real-Time Module 8.2.1 and have a Desktop PC as RT Target.
I'm now testing the limitations of the system. In oder to test this I wrote a VI that reads the Digital IN (1channel) of a PCI-6023E DAQ-card.
The read digital signal VI's are placed inside a time critical loop (1Mhz Timed Loop). Around this Timed Critical Loop a While Loop (TCL) is placed, the VI is designed to start with al low tick (1 tick) of the timed loop. Every time the timed loop is late the 'Finished Late ?' function stops the TCL and the surrounding while loop will go one iteration further and increase the tick with 1. In this way the maximum samplefrequency is found very fast, if the tick of the timed loop isn't increasing anymore this is the maximum frequency.
I made some tests with the VI, I got some good results with the package handling of the ethernet card in interrupt mode. The VI wordked well and the maximum tick was 50. Divided by the 1MHz clock this is a samplefrequency of 20kHZ. But when i switch the package handling of the ethernet card to polling mode, the VI sometimes runs wel with a maximum tick of 45, but most of the time the VI doens't respond and gives the error "Connection to RT engine has been lost" or the error "Warning: Connection to RT target (MotionRTTarget) has been lost". When I try to ping the RT target all packets are lost and no ping.
If i remove the outher while loop and run the VI with a fixed tick of 45, everything works fine and I don;t get any errors.
Does anyone have an explanation or solution for the problem?
Best regards,
Jens Dassen
Ps. The VI and screenshot is attached to this post.