LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

error 56 in datasocket

Hi,
I have working with differents vi using DS. I have 2 vi, one in a computer and the other in a different computer (both pentium 4, 1GB RAM). When I start the 2 vi appears the error 56. Why?
The 2 computers are connected by a wire cross ("cable cruzado", in spanish) and when a do a "ping" between the two computers it doesn't lost any packet.
The firewall of windows are desconected.
 
Have you any idea how do you solve it?
 
thanks.
 
vicens
 
Win XP / LV 7.1
Download All
0 Kudos
Message 1 of 5
(4,377 Views)
Hi Vicens,
 
This is a timeout error normally, because of that probably are the settings of your TCP/IP or the communication which are wrong:
1. Ensure u got no antivirus/firewall working that can block the communication.
2. Review that u ar pointing to the DNS server properly on your TCP/IP configuration, if you want to be sure try changing the computer name for an IP address (that is instead of using dstp://ordenador-1/variable use dstp://192.39.39.45/variable for example).
3. Try increasing the timeout.
4. Be sure Datasocket server is working on the PC you got the variable
5. Try using DS examples on your PC (just one) introducing localhost or 127.0.0.1
 
Explain how is it going,
 
Regards,

Jaime Cabrera

NI Applications Engineering Spain
Message 2 of 5
(4,358 Views)

Thanks JaimeC.

I 've already solved the problem. I don't know how, but I did it. I think the problem was the address IP of the computer (bad configutation).

One question that I don't undestand about the timeout.

If I increase the timeout, the DS writer (in my case) waits more time a new data. But if I need update my data instantly (I have a lot of data), with a low value I will know if the connection breaks and I know the data is not updating. That is, how do I know the piece of information has updated or has lost? If each milisecond I have one piece of information, I need the timeout with a value =1. It's correct? If my value was 2, I would lost information?

 

vicens

WinXP / LV7.1

0 Kudos
Message 3 of 5
(4,346 Views)

Hi,

 

timeout is the time the function waits if no data arrives till it gives an error. It has no relationship with the velocity (speed) of data arriving.

That means, for a timeout of 10 seconds the function waits a maximum of 10 seconds for some data to arrive, if there is not data arrived before that the function returns an error.

If you have 0.1 or a very small time, you can be in a trouble because the function is not waiting for a long... and you can get this kind of error.

It has no sense to make so small timeout because it has no relationship with speed or velocity, only with error control.

 

If you have problems with velocity:

1. Read more often (that is in relation with timing on your vi)

2. Decrease writing velocity on the datasocket buffer.

3. Increase the buffer size.

 

Hope that helps,

Regards,

Jaime Cabrera

NI Applications Engineering Spain
Message 4 of 5
(4,339 Views)
Thank you very much.
0 Kudos
Message 5 of 5
(4,326 Views)