09-24-2009 02:00 AM
I have a RT Software (for the cRIO controller 9004) and a Host Software (on my development computer) which exchange data via the STM library. All works quite well, but after approximately 6 hours the host quits with a message "error 66 in STM Read Msg.vi". Why does this happen? I'm using LV 8.2 and the STM library 1.0.32.
many thanks in advance.
Solved! Go to Solution.
09-25-2009 03:24 AM
Hi,
probably one of these links might help you.
http://digital.ni.com/public.nsf/allkb/4CB799F36D0EA56A862576200064B2F9?OpenDocument
http://digital.ni.com/public.nsf/allkb/14FFB5B2FDE57B1F86257013004DDA8B?OpenDocument
Seems to be a timing problem, but its interesting that the error occurs after about 6 hours. Does the error occur always after about 6 hours?
Greg
09-29-2009 01:41 AM
thank you for your answer GINNI.
I tested this 3 times and the error always occured after 6 hours and some minutes.
this one looks promising, but I don't fully understand because I can't see the picture:
http://digital.ni.com/public.nsf/allkb/4CB799F36D0EA56A862576200064B2F9?OpenDocument
For sending messages I have a timed loop similar the example in the STM library (see attachment). where exactly should I put the wait function?
09-30-2009 03:45 AM
Hi kein,
would it be possible to send your whole RT project in order to test it. Make sure that the SubVIs are included. Thanks! One possible reason for your error might be that your VI uses 100 % of CPU capacity so the communication over TCP/IP breaks down due to leakage of resources, because the VIs priority is higher. Check the resource usage of CPU while executing.
Regards
Greg
10-01-2009 01:52 AM
Yes you're right. That's something I should think of earlier.
In my case the memory usage steadily increased until it overflow, and that happend in about 6 hours.
The reason for the overflow was the right input-node in a timed while loop (red circle in picture below). Then I deleted the error-wire, no overflow of the memory occured and everything works as expected. I was a little bit surprised that something like this could create a memory-overflow