08-24-2006 11:32 AM
09-18-2006 04:12 AM
09-18-2006 09:53 AM
09-18-2006 10:08 AM
09-20-2006 04:25 AM
8.2 itself has not solved the problem as I can reproduce it quite easily by forgetting step 3 and trying to send massive streams of data. However it has helped greatly. I don't think there is anything specific, just loading and running faster and not crashing so often has helped ease the development process. In 8.0 everything hung when I saved a vi, or changed a shared variable and the tools mentioned below never worked very well.)
Steps I believe has helped:
1. Using Real Time Module system manager to look when the cRIO processor and memory is being overloaded - ...... I quickly discoverd that I should close as many vi's as you can while debugging, and try not to use probes unless really essential. I've got cpu usage down to under 50% in normal running and things are more stable.
2. Use the Shared Variable Manager to check the health and status of the network variables ... I identified some buffer overflows......
3. .....take very good control of the shared variables, and don't allow them to be too large . I have implemented handshaking on the variables that pass data continually between the pc host and crio. (an extra boolean flag sv to tell the other side to read the data, and delay new data being written until it has been read. I think this was the main problem I had: I assumed that the internal handshaking would cope, but instead big (hidden) queues were obviously building up and taking all the network capability up, leading to a disconnect that it never recovered from. I've stopped getting duplicate data or missing data too 🙂
4. also being able to search the code for Shared Variables has helped - but the search still only looks for all shared variables - please can we look for individual references like you can for old-style globals.
Can I mention the useful help and support I got from Sarah and Ralph too. Thanks.
Cheers
Lucy
:womanvery-happy: