National Instruments Teststand 属性 装载机

National Instruments Teststand Property Loader

我在使用 属性 加载程序时遇到了一些问题,让我描述一下。

我的主序列有几个子序列。我必须使用 属性 Loader 根据扫描的数量加载带有测试限制的文件。我将此加载从 PreUUTLoop 移至 MainSequence,因为只有这样我才能访问确定要使用哪个文件的扫描编号。

限制文件包含取决于扫描数量的限制。定义的限制是指 MainSequence 和其他子序列中的步骤。

我注意到 属性 Loader 在 MainSequence 中工作正常(在 Setup 或 Main 中没有区别)。但是,当我将 属性 Loader 放在单独的子序列中(并将子序列放在 MainSequence 的 Setup 或 Main 中)时,它只会加载 MainSequence 中子序列的限制。未加载直接在 MainSequence 中的步骤限制(即数字检查)。

在限制文件中我有这样的东西:

START_SubSeq1
<step_name> Limit.High Limit.Low
Step1       10         0
END_SubSeq1
START_SubSeq2
<step_name> Limit.High Limit.Low
Step1       20         0
END_SubSeq2
START_MainSequence
<step_name> Limit.High Limit.Low
Step3       40         0
END_MainSequence

MainSequence 看起来像这样:

()Setup
  Call SetLimits
()Main
  Call Subseq2
  Call Subseq1
  Step3 Numeric check GELE
()CleanUp

设置限制:

()Setup
()Main
  If(scnanedNumber==1)
   PropertyLoader(file1)
  Else
   PropertyLoader(file2)
()CleanUp

子序列 1:

()Setup
()Main
  Step1 Numeric check GELE
()CleanUp

子序列 2:

()Setup
()Main
  Step1 Numeric check GELE
()CleanUp

所以 SubSeq1 中的 Step1 设置为在文件中。 SubSeq2 中的 Step1 也已设置,但当 属性 Loader 在 Subseq 中时,Step3 未设置。 我在 属性 Loader 中尝试勾选当前执行的使用,但不起作用。 我认为这是一些范围问题,但设置了其他子序列中的步骤。仅当我想从 属性 子序列中的加载程序在 MainSequence 中设置某物时才会发生。

我用的是NI Teststand 2014。并行模型。数字检查步骤是 Teststand 默认模块

答案在这里: NI forum

解决方法: 将 属性 Loader 放入 PreUUT/PreUUTLoop 或 PreUUTLoop 之后的新自定义回调中。