7. 仪器错误检查

仪器错误检查(下文简称错误检查)是远程控制应用程序的另一个关键要素。错误检查旨在确保与仪器进行正确通信,以便正确执行所有所需的设置,保证使用所需的设置获得测量结果。

仪器状态子系统中有一个错误消息缓冲区,被称为错误队列。例如,如果您发送仪器无法识别的 SCPI 命令,仪器会在错误队列中生成一个新条目。错误队列的长度有限,通常为 10 个条目,占满后会丢弃最早的条目,以为新条目留出空间。

《测量同步》一章介绍了状态字节其第 2 位是“可用的错误消息”。如要查明错误队列是否为空,可以使用 *STB? 查询第 2 位。如果该位为 0,可继续操作,无需采取其他举措。否则,您需要使用 SCPI 查询命令 SYSTem:ERRor?。仪器会返回最新生成的错误,例如 -113,“Undefined Header”。同时,该条目将从错误队列中删除。如要读取所有条目,您需要循环回调 SYSTem:ERRor?,直到收到响应 0,“No Error”,该响应表明没有其他错误等待处理。

以下 VISA 跟踪日志显示了正在执行的错误检查:

  • 第一个命令 *RST发送正确,没有产生错误。
  • 第二个命令 *RSaT拼写错误,生成 -113,“Undefined Header”错误。循环发送 SYST:ERR? 查询命令,直至接收到响应“0,‘No Error’”
RsVisaTraceTool 错误检查日志
RsVisaTraceTool 错误检查日志
打开灯箱

如果您使用仪器驱动程序,驱动程序已在每个函数中并在设置每个属性 (Attribute) 后实现和执行错误检查。这种功能非常方便,您能够立即知道发生的错误以及是在哪个命令后发生的错误。如果您需要实现最大执行速度,可以在驱动程序中关闭此功能(参阅第 8 章:速度优化)中介绍的第一条建议。

如果您使用直接 SCPI 命令,必须自行检查错误。我们建议在执行命令的逻辑块之后进行错误检查。注意,一个逻辑块中发送的命令越多,就越难以确定产生错误的具体命令。

我们来看一看第 6 章:测量同步中的一个例子,注意观察电脑上的操作。该章链接包含我们介绍的错误检查示例的实际实现。下图显示了在命令的逻辑块之后执行错误检查:

请求信息

如果您有任何疑问或需要了解更多信息,请填写此表格,我们会尽快回复您。

推广许可

你的申请已提交,我们稍后会联系您。
An error is occurred, please try it again later.