02-02-2010 04:40 PM
I have an application that I developed in LV 7.1 and it worked perfectly. I have upgraded to 2009 and now I have problems. It's a complicated application so I'll try to explain.
The main VI programmatically starts and stops the DataSocket Server. It also programmatically starts and stops several VIs (2nd tier). On one of theses 2nd tier VIs is a timestamp indicator with a manually set DataSocket URL (Zulu). This 2nd tier VI also starts and stops up to 7 VIs (3rd tier) programmatically. Each of these 3rd tier VIs has a timestamp indicator with a manually set DataSocket URL (Zulu). In addition, they each have up to 50 indicators that are programmatically assigned DataSocket URLs. The front panel of the 3rd tier VI of interest is displayed in a SubPanel indicator on the 2nd tier VI. Both the main VI's and the 2nd tier VI's front panel are continually displayed.
The main VI uses DataSocket Open, DataSocket Write (Zulu), and DataSocket Close functions to send the time data on all the timestamp indicators in all the programmatically started VIs. But it only uses the DataSocket Write function to send data to all the rest of the indicators on a 3rd tier VIs. Prior to receiving data, a 3rd tier VI programmatically sets the DataSocket URL of an indicator. This value comes from the main VI via a Queue.
The first time the 3rd tier VI is 'put into' the SubPanel indicator of the 2nd tier VI, the data is properly updated on all the indicators via DataSockets. But when it is removed and re-inserted, the data is no longer being updated. This includes the timestamp indicator on the 2nd tier VI. As far as I can tell;
1) the main VI eventually receives an error 56 at the DataSocket Write function for a programmatically set indicator
2) the timestamp indicator on the 2nd tier VI remains DataSocket:Enabled = TRUE and DataSocket:Status = Active even though it is no longer being updated
Is the process I have been using to send data via DataSockets no longer viable in LV 2009? Can you give me advice on how to determine DataSocket status at each of the indicators spread across the various VIs?
02-03-2010 05:04 PM
Hello,
Have you isolated the problem at a smaller scale? It would be useful to go back and recreate your tiered VIs and test your method at each tier to determine where things are hanging. I would only use a few indicators and take a step back from your large application for troubleshooting purposes.
-Zach
02-03-2010 06:32 PM
I noticed on the DataSocket Server Manager, that only 1 process is ever running. As I assign DataSocket URLs to indicators, shouldn't the number of processes increase?
02-04-2010 04:24 PM
Hello,
When I run multiple datasocket examples concurrently, I only get 1 process although I have two different writers and readers using datasocket.
-Zach
02-24-2010 04:07 PM
In my 1st tier VI I have created a interation indicator in the loop that sends the time data. I notice that when it has trouble sending the data the the loop is almost at a standstill. After a few seconds the DataSocket Write function will generate an error 56. The timestamp indicator on the 2nd tier VI has not updating, but neither does it show an error in DataSocket:Status. When the indicator finally does shown an error in DataSocket:Status, the loop in the 1st tier VI speeds up to normal pace and the DataSocket Write function no longer shows an error. Eventually (after several seconds) the DataSocket:Status for the timestamp indicator on the 2nd tier VI will no longer have an error and start displaying data properly.
So it seems like something gets stuck in the DataSocket Server and then becomes un-stuck. How can I decifer what is going on when it is stuck?
02-25-2010 11:07 AM
Hello,
This knowledgebase seems to apply to the behavior you are seeing. Let me know if any of the solutions there help.
-Zach
03-03-2010 04:59 PM
03-04-2010 11:07 AM
Do you have problems when running multiple DataSocket examples out of the example finder? Do you have a simple VI that reproduces the error reliably? Exactly which version of LabVIEW 2009 are you running? Patches were released for f1, f2, and f3; and 2009 has now been updated to 2009 SP1.
-Zach
03-29-2010 06:42 PM
03-30-2010 12:19 PM