![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=1739415334-Vlp59DbFc2Z1qyb01osEsfHuGm4ywT3H-0-b9fa4b0139e13eadb554df94a53280e3)
图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=1739415334-6Bk9DGmniFLB2GVCAQW4Yern9jHojwyW-0-49cf5e2402627738fbd74e0526497f6c)
图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=1739415334-kFxpk2cgnh5Uo5t3gkcBwIr2zFJbn5Qu-0-40ac11b09aa69938393a2dcda79c7004)
图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=1739415334-j3ZE1Kp4DYfdM3Y6DcUNebJWBcdcs87S-0-cb6cdd944f96efe57dd518df66eb0e4e)
图4-33 模块页最终设置
在限度页面(如图4-34所示),需要用户手动添加。比如,SumArray包含三个测量结果,有三个测量结果与限度值进行比较,就需要在限度页面中单击三次添加按钮,然后为每一行单独设定限度值和比较类型。只有当每个测量结果与限度值比较的逻辑均为真时,步骤状态才为合格。
![](https://epubservercos.yuewen.com/48B856/23020650909763706/epubprivate/OEBPS/Images/42745_76_2.jpg?sign=1739415334-4jrUJh5INh0KhrRcYqLJ8a70RhhRG0f4-0-5af6398af0439f7f8b6770df3a86994e)
图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=1739415334-FYXkX1h4dAjND0R7FlYEF8l0KotaajG8-0-cbc81d117717cdddd43223f47219297c)
图4-35 Measurement数组
在范例资源的第4章练习中,附有例程<Exercises>\Chapter 4\Tests\MultipleNumericLimitTest.seq,读者可以通过菜单命令“ExecuteSingle Pass”运行该范例并观察结果。在变量窗格中,修改局部变量的值,比如x的值为4,y的值为3,重新运行序列,观察多数值限度测试步骤的状态。