![TestStand工业自动化测试管理(典藏版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/333/43738333/b_43738333.jpg)
4.3.3 多数值限度测试
多数值限度测试步骤和数值限度测试步骤一样,都是将测试的数值结果与限度值进行比较,以决定步骤的状态是否合格,区别在于数值限度测试比较的是单个测量值,而多数值限度测试是将多个测量结果与限度值进行比较。因此在它的数据空间(如图4-30所示)中,数据源(DataSourceArray)、测量结果(NumericArray)均为数组。在多数值限度测试步骤中,重要属性有Step.Result.Measurment、Step.NumericArray、Step.DataSourceArray。
![](https://epubservercos.yuewen.com/48B856/23020650909763706/epubprivate/OEBPS/Images/42745_74_3.jpg?sign=1738883779-UWbpuxwvglAMTfQq0NGai3KMEFxS37Ec-0-10cedd4bf020cb5f7d60f29138b6690a)
图4-30 多数值限度测试步骤的数据空间
多数值限度测试同样有三个特定配置页:模块、限度、数据源,默认数据源是Step.NumericArray。在模块页面中,声明使用Tests.dll的函数为AddMultiple,我们以此来介绍多数值限度测试的使用方法。注意,由于AddMultiple的输入参数SumArray是一维数组,所以会在SumArray参数的“Description”栏中以黄色图标提示用户声明该参数为指针或数组,如图4-31所示。
![](https://epubservercos.yuewen.com/48B856/23020650909763706/epubprivate/OEBPS/Images/42745_75_1.jpg?sign=1738883779-dNGrj0LjwN6omAmrw0e9OcDuheyXjjbx-0-717976546aabf4de60b612b679cb6c97)
图4-31 多数值限度测试步骤特定配置页(模块)
单击该黄色图标,会弹出“Specify Parameter as Array or Pointer”对话框,如图4-32所示。在本例中,单击“Array”按钮。
![](https://epubservercos.yuewen.com/48B856/23020650909763706/epubprivate/OEBPS/Images/42745_75_2.jpg?sign=1738883779-RNmu4iMsLXnNMAmkMTZgnYWdjpgpChTa-0-a1590ee46cea7e7666564ff44972d4bc)
图4-32“Specify Parameter as Array or Pointer”对话框
在SumArray参数的“Value Expression”栏中输入“Step.NumericArray”,对应参数配置区中数组大小(Dim 1 Size)设置为3,其他设置如图4-33所示。
![](https://epubservercos.yuewen.com/48B856/23020650909763706/epubprivate/OEBPS/Images/42745_75_3.jpg?sign=1738883779-4ur54EKNaiX0Pg76vYout4VLKLd1WsHy-0-3e28698e2c371c2b5bb7f1f4d1d056cf)
图4-33 模块页最终设置
在限度页面(如图4-34所示),需要用户手动添加。比如,SumArray包含三个测量结果,有三个测量结果与限度值进行比较,就需要在限度页面中单击三次添加按钮,然后为每一行单独设定限度值和比较类型。只有当每个测量结果与限度值比较的逻辑均为真时,步骤状态才为合格。
![](https://epubservercos.yuewen.com/48B856/23020650909763706/epubprivate/OEBPS/Images/42745_76_2.jpg?sign=1738883779-oBjzEmhwRZezZgMqYmc9gosX1k6lcFli-0-6c68bc84afd94b7460bf09b25b33baa9)
图4-34 多数值限度测试步骤特定配置页(限度)
细心的读者可能会发现,在数值限度测试步骤中有Step.Limits属性,为什么在多数值限度测试步骤中却没有了呢?不是在限度页面设定了一系列的值吗?它们保存到哪里去了?由于多数值限度测试步骤事先不知道有多少个测量结果,只有在限度页面手动配置完成之后(如图4-34中的三条记录),它才会自动生成一个大小相应为3的Step.Result.Measurement数组,该数组的每个元素包含了Limits、Data子属性,如图4-35所示。
![](https://epubservercos.yuewen.com/48B856/23020650909763706/epubprivate/OEBPS/Images/42745_76_3.jpg?sign=1738883779-8ftbgRGF2ZYM0PTyg23aA1KZEsYhTW7T-0-c5c9ae91ed5d9771cf85deb353168d7c)
图4-35 Measurement数组
在范例资源的第4章练习中,附有例程<Exercises>\Chapter 4\Tests\MultipleNumericLimitTest.seq,读者可以通过菜单命令“ExecuteSingle Pass”运行该范例并观察结果。在变量窗格中,修改局部变量的值,比如x的值为4,y的值为3,重新运行序列,观察多数值限度测试步骤的状态。