这种超时错误可能是由于错误地配置TCP/IP函数导致的,通常情况下只要正在接收数据,超时错误可以在没有损害的情况下清除。如果未收到数据,则下面有几个故障排除步骤可以尽量避免发生该错误。
如果使用特定的LabVIEW应用程序:
确保生成错误的VI正确设置了超时值。比如:使用HTTP客户端下的“GET.vi”从慢速服务器接收体量较大的字符串时,默认的10秒超时时间可能不够。
如果使用TCP/IP函数编写了可重入VI ,请尝试关闭可重入功能。因为可能会产生竞争状态,导致网络在写入或读取时变得忙碌从而发生超时。
超时错误可能是您的应用程序的预期行为。使用读取TCP数据函数接收数据时,TCP函数将在超时期间等待指定的字节数。如果该函数未收到足够的数字,它将返回收到的数据并显示错误56。有关清楚错误的详细信息,请参阅从错误簇中清除指定错误。
确保网络电缆已正确连接到每个系统,或已正确建立无线网络连接。
打开连接时,用IP地址代替域名来检查与域名服务器(DNS)相关的问题。示例:使用“http://74.125.224.72/”而不是“http://www.google.com”
您还可以尝试导航到工具(Tools)» 选项(Options)» VI服务器(VI Server),将*加入到机器访问列表(Machine Access List)中,方法是点击列表底部的添加(Add),在计算机名称/地址字段中输入*,并确保选择允许访问(Allow access)。但是这将授予所有机器访问终端的权限。
尝试使用ping命令访问相关网络设备,以验证设备是否仍处于连接并通信的状态。
关闭计算机上安装的所有防火墙和杀毒软件以确保没有端口被屏蔽。
确保两个设备位于同一子网上,并且具有相同的子网掩码。有关配置NI网络设备的更多信息,请参见NI MAX中连接到RT终端时出现“不一致的IP设置” 。
检查过多的本地网络流量是否降低了您的网络通信速度,并导致传输时间超出预期。
如果您正在使用FTP VI,请检查所使用的密码是否包含任何不可打印的字符或空格。
确保发送信息的VI正在运行。
如果通信部分放在子VI中,请尝试将其从子VI中取出,并查看它是否在子VI之外工作。
尝试使用LabVIEW范例查找器中的范例“Simple TCP.lvproj”。
如果使用循环重复读取和/或写入,请尝试在循环中插入等待函数 (大约200 ms)。
如果使用VeriStand:
尝试仅指定控制器设置来部署空白的系统定义(System Definition)。
确保在系统定义中指定了正确的IP地址和控制器系统。
确保网络电缆已正确连接到每个系统,或已正确建立无线网络连接。
如果可能,尝试在主机PC和RT终端之间用以太网连接直连。
尝试使用ping命令访问相关网络设备,以验证设备是否仍处于连接并通信状态。应尽量减少响应时间,以确保VeriStand有足够的时间来部署必需的依赖项,如自定义设备(Custom Devices)。
关闭主机上安装的所有防火墙和杀毒软件,确保没有端口被屏蔽。
确保两个设备位于同一子网上,并且具有相同的子网掩码。有关配置NI网络设备的更多信息,请参见NI MAX中连接到RT终端时出现“不一致的IP设置” 。
检查过多的本地网络流量是否降低了您的网络通信速度,并导致传输时间超出预期。
如果使用RT控制器VI:
确保连接到VI的MAC地址准确无误,并且格式正确。确保您的字符串控件或常量ID以十六进制格式显示数据,比如:0080 2F0A 14FF。如果您的字符串控件不是十六进制格式,请右键单击它并选择十六进制显示(Hex Display)。
如果在Open Suse 11.1上使用带有LabVIEW for Linux的“FTP传送文件.vi”或“等待TCP侦听器.vi”:
配置FTP传送文件.vi(FTP Put File.vi)以使用被动模式进行FTP传输。
使用数据包嗅探进行故障排除:
如果上述步骤无效,请使用数据包嗅探程序查看数据是否通过网络发送。比如第三方工具Wireshark可以帮助您查看数据是否到达。如果没有数据到达且您看到此错误,则发送方设备或网络出现问题。如果数据到达Wireshark,且您仍然看到此错误,那么很可能是您遇到防火墙问题或TCP函数使用出错。 Wireshark官网提供Wireshark下载,同时您可以将Capture Filters与Wireshark一起使用,限制数据包只和某一个特定IP地址传输。
此外,如果数据包成功发送到网络,但终端设备没有响应,则终端设备的网络适配器可能存在问题。
Vi,是一款由加州大学伯克利分校、Bill Joy研究开发的文本编辑器。文本编辑器有很多,比如图形模式的gedit、kwrite、OpenOffice,文本模式下的编辑器有VI、vim。vi和vim是我们在Linux中最常用的编辑器。vi或vim是Linux最基本的文本编辑工具,vi或vim虽然没有图形界面编辑器那样点鼠标的简单操作,但vi编辑器在系统管理、服务器管理字符界面中,永远不是图形界面的编辑器能比的。
注意:vi是Unix/Linux操作系统中最经典的文本编辑器,只能在编辑字符,不能对字体、段落进行排版,它既可以新建文件,也可以编辑文件它没有菜单,只有命令,且命令繁多。
虽然vi的操作方式与其他常用的文本编辑器很不相同,但是由于其运行于字符界面,并可用于所有Unix/Linux环境,仍被经常使用。
vi的三种命令模式
command(命令)模式,用于输入命令
Insert(插入)模式,用于插入文本
Visual(可视)模式,用于视化的高亮并选定正文
①命令模式
命令模式是启动vi后进入的工作模式,并可转换为文本编辑模式和最后行模式。在命令模式下,从键盘上输入的任何字符都被当作编辑命令来解释,而不会在屏幕上显示。如果输入的字符是合法的vi命令,则vi就会完成相应的动作,否则vi会响铃警告。
②文本编辑模式
文本编辑模式用于字符编辑。在命令模式下输入i、a等命令后进入文本编辑模式,此时输入的任何字符都被vi当作文件内容显示在屏幕上。按Esc键可从文本编辑模式返回到命令模式。
③最后行模式
在命令模式下,按“:”进入最后行模式,此时vi会在屏幕的底部显示“:”符号年作为最后行模式的提示符,等待用户输入相关命令。命令执行完毕后,vi自动回到命令模式。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)