LabVIEW中的“从字符串扫描”函数发生的错误85

更新 Nov 25, 2021

适用于

软件

  • LabVIEW

驱动

  • NI-VISA
  • NI-488.2

问题详述

  • 使用“从字符串扫描”功能时,出现“从字符串扫描(arg 1)”错误85。当我直接使用该功能或尝试使用VISA功能与串行或GPIB仪器通信时,可能会出现这种情况。为什么会看到此错误?
  • LabVIEW中的“从文件扫描”功能为什么返回错误代码85,扫描失败。输入的字符串不包含预期格式的数据。 ?尽管我正在使用与“格式化为文件”功能相同的格式字符串,但仍收到错误代码85。

解决方案

输入字符串不包含扫描字符串期望的信息时,将生成错误。您可以通过右键单击“扫描字符串”功能,然后选择“编辑扫描字符串”来定义扫描字符串
当文件包含包含空格的字符串时,“从文件扫描”功能会将空格字符解释为字符串的结尾。因此,LabVIEW开始扫描字符串中间而不是字符串末尾的下一个输出,这会导致该错误。

您可以使用多个格式说明符来解决此问题,因为“从文件中扫描”功能会将空格解释为字符串的末尾,从而分别扫描文件中空格之前或之后的字符串的每个部分。

如以下框图所示,此替代方法需要与用于将文件格式化为文本格式并将其保存到文件中的格式字符串不同的格式字符串。然后,您可以连接字符串以匹配原始字符串。
如果您试图通过VISA功能与仪器进行通讯,请确保发送至仪器的字符串采用仪器的预期格式,并确保使用正确的GPIB或串行电缆。

相关信息

扫描字符串指定“扫描字符串”功能查找的值,可以是数字或字符串。如果扫描无法按照“扫描字符串”指定的顺序找到其期望的所有值,则会发生错误

下表显示了具有多个不同设置的“从字符串扫描”功能的结果:
输入字符串格式字符串(扫描字符串)字符串说明输出1输出2剩余的字符串
123abc123 %F扫描号码123 abc123
123abc123 %f%f扫描号,扫描号错误错误错误
123abc123 %f%s扫描号,扫描字符串123 abc123
123abc
123
%f%s扫描号,扫描字符串123 abc 123

在大多数情况下,可以忽略此错误,但是您可能希望仔细看看扫描字符串。有几种方法可以解决此错误:
  • 确保输入字符串包含“从字符串扫描” VI所需的信息。
  • 使用通用错误处理程序VI以编程方式控制LabVIEW如何处理错误。将错误从“从字符串扫描到”函数输出到常规错误处理程序VI的错误输入中。如使用该VI,且未在对话框输入端子的类型上连接任何对话框,LabVIEW将忽略错误。
  • 通过遵循指南仅忽略错误85如何在LabVIEW中忽略特定错误?详细说明如何忽略特定错误。
  • 避免弹出此警告/错误的最后一种方法是禁用所有错误处理。如不使用任何错误处理VI,LabVIEW将忽略所有警告和错误。