在 TestStand 中设置自定义时间线以停止序列可以执行

更新 Aug 18, 2025

环境

软件

  • TestStand

TestStand 拥有灵活的编程架构,我们可以根据自行需要定义步骤(custom step-type)、引擎回调(engine callback)、代码模块(code module) 和报告生成。有时用户希望禁止其他用户在特定时间线内执行测试序列。在 TestStand 中,通过开发自己的代码来设置时间线,这完全可以实现。

在本文中,我们将介绍两种设置执行 TestStand 代码的时间线的方法。

  1. 使用 TestStand API
  2. 使用 LabVIEW 适配器

  1. 使用 Teststand API
    1. 在 TestStand 中,添加一个Statement步骤。在此Statement步骤中,使用以下表达式将当前日期保存到局部变量
       Locals.CurrentDate = Date()
    2. Statement步骤后添加If条件。在Conditional Expression中,检查本地变量中保存的当前日期是否超出了时间线。
       Locals.CurrentDate >= "2024/12/25" //If current date is greater than or equal to specified date (True) (the date is expired), abort the execution. //If current date is not yet greater than or equal to the specified date (False), skip the If statement.
    3. If条件中,使用 TestStand API 中止执行,如下所示:
       RunState.Execution.Abort()
    4. 保存序列。一旦用户想要执行该序列,它将首先检查时间线;如果当前日期已超出设定的时间线,则执行将被中止。

  2. 使用 LabVIEW 适配器
    1. 在 LabVIEW 中,创建一个如下所示的 VI 来检查当前日期和设置的时间线。记得连接控件和指示器的端子。
      超出时间则终止.png
    2. 在 TestStand 中,创建一个Action步骤来调用上述的 LabVIEW VI。
    3. 将时间戳设置为时间线。
    4. 一旦用户执行该序列,就会抛出错误以停止执行。

 

下一步

注意,以上两种方法是可自定义的,并不是唯一可以使用的解决方案。当用户运行序列时,这些方法才适用。

如果您需要自动显示错误或阻止用户执行序列文件,您可以使用引擎回调来实现。要使用引擎回调,您可以在序列窗格中添加SequenceFileLoad引擎回调。然后将上述方法添加到此SequenceFileLoad引擎回调中。每当序列文件过期或达到设定的时间线时,一旦打开,它将立即中止或抛出错误以禁止用户执行序列文件。


此外,如果您需要为序列文件设置密码保护,您可以参考文章: 锁定 TestStand 序列文件以防止编辑或查看。
如果您使用的是 LabVIEW 适配器,请考虑锁定 LabVIEW 的框图,如本文所述: 在 LabVIEW 中锁定框图,而不是锁定整个序列文件。您可以将时间戳控件更改为常量,这样用户就无法更改框图中设置的时间线。