Labview做 TCP 通讯报错“网络操作超出用户指定范围或系统时间限制”,错误代码56,怎么解决?

TCP通讯,下位机STM32主控芯片,8路采集每路20k速率,用Labview开发上位机; 下位机是客户端,上位机服务器。 上位机开始运行正常,能接收数据,但运行几分钟后就报错“网络操作超出用户指定范围或系统时间限制”,错误代码56。下位机是连续数据传上来,循环往上发3984个字节,上位机【读取TCP数据】的【读取的字节】连线端直接连数字3984是不是就行了?试着将【读取的字节】改小以及Labview里循环加等待时间,让每次循环间隔时间增大, 都可以使程序多运行一会,但是过一会还是会报错。
求大神解决。

=========注意:是可以成功运行一段时间的,但是运行一会就出错。

问题2
这个问题你可以参考labview自带的范例
C:\Program Files\National Instruments\LabVIEW 2012\examples\comm\TCP.llb\TCP Communicator - Passive.vi
C:\Program Files\National Instruments\LabVIEW 2012\examples\comm\TCP.llb\TCP Communicator - Active.vi
一个是被动一个是主动
它们处理超时的方式都是忽略这个超时错误转换为警告。
问题1
你接收的模式问题,你是否一定要接收到3984个数据才能往下走呢?接收函数上面还有一个“模式”参数建议查看下帮助。追问

首先非常感谢回复。

    【忽略这个超时错误转换为警告】这个方法或许可行,我的labview是2013的没找到这个例子,能方便传给我吗? 邮箱ichongli@outlook.com 不甚感谢。

       接收模式4个都做了尝试,都是接收一段时间就出错。

       而且一旦出错,下位机(即客户端)需要重启才能重新连接。

 

追答

下位机有做退出TCPIP连接的动作吗?上位机退出连接时,下位机也要退出TCPIP连接转到Listen监听状态。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答