项目目标:
1)使用Labview基础开发环境开发一个标准可配置测试框架;
2)可以根据自己的需求编写测试序列;
3)单步测试功能可自主添加编写;
4)界面可以实现基本配置,修改测试序列功能;
5)有权限管理功能;
根据上面的需求,编写了下面的测试框架,测试序列较为简单,有延时、预定值输出、生成随机值输出等功能,并能对最终的结果有整体判断和结果输出,执行结果如下:

运行环境:
Labview 2020(32位)
1.1 界面设计
界面设计的思维导图如下:

1.1.1 主界面
1个表格控件------显示每个测试序列结果;
1个布尔控件------显示OK和NG;
1个字符串显示控件------显示运行状态;
1个数据簇------用于计数;
1个清除按钮------用于清除计数;

1.1.2 调试界面
2个多列列表框------1个显示加载的序列、1个显示调试的序列;
10个按钮------用于加载序列、选择单个序列、选择全部序列、添加序列、删除选定序列等功能;

1.1.3 设置界面
1个路径控件------加载测试序列路径;

1.1.4 登录界面
1个下拉列表------显示账户信息;
1个字符串输入框------用于输入密码;
2个按钮------登录和登出;
1个字符串显示控制------显示登录状态;

1.2 程序设计
程序设计流程图:

1.2.1 整体程序
如下图所示,这是Main程序的程序框图,右边是将所有的控件引用集合到一个簇中,用于程序的控件的操作。右上是事件结构,用于控件的触发事件。右下是用于PLC或者其他IO模块输入触发信号用。中间的子VI用于整个测试程序的功能实现方法。

1.2.2 初始化程序

创建队列,以及控件初始化

MainEvent中有两个队列:Main和Steps,Main队列主要用于处理控件的事件触发。Steps队列用于处理测试执行流程。

改vi用于处理主界面切换功能,初始化的时候切换到首页。

4)Read ini.vi
该子vi用于读取密码和测试序列文件路径。

该子vi用于控件的初始化。

用于测试结果控件初始化。

1.2.3 调试测试序列程序

1)LoadSteps
从序列文件中读取到ListSteps控件中。

2)Select
将ListSteps中的选中行添加到DebugSeps列表框中。

3)SelectAll
将ListSteps列表框中所有行添加到DebugSeps列表框中。

4)AddLine
添加一行测试序列。

5)RemoveLine
移除掉选定的那一行。

6)UpSteps

DebugStepsUp.vi内容,功能是向上移动一行。

7)DownSteps

DebugStepsDown.vi内容,功能是向下移动一行。

8)Delete
删除一行。

9)Empty
清空DebugSteps列表框中数据。

10)Debug

DebugStart.vi中内容,触发自动测试功能。具体自动测试流程可以参考后续的1.2.4节

1.2.4 自动测试程序
自动测试流程图如下:

1)ReadInput
在下面GetSts分支中添加读外部IO的程序,如果有一个上上升沿就会触发Start事件。

2)Start分支
在Steps队列中的Start分支调用StepsStart.vi

StepsStart.vi中如果停止的话,恢复状态。

StepsStart.vi中读取测试序列,如果是非0行,赋测试状态,执行Auto分支。

3)Auto分支
在Steps队列中的Auto分支调用AutoSteps.vi

AutoSteps.vi判断是否是最后一步,如果不是调用CallVI.vi

CallVI.vi用于解析指令,如果指令是A_**.vi就执行A分支中的程序。

如果指令是N_**.vi就执行N分支中的程序。

1.3 使用流程
使用流程图如下,分为四步:

1.3.1 编写测试vi
在项目文件中的StepVI文件夹下新建测试vi,格式为A_**.vi和N_**.vi。
其中,A_**.vi是没有输出和判断的序列,N_**.vi有测试结果和判断的序列。

1)范例A_Delay.vi
根据输入第一个参数分解出延时时间,进行延时。

2)范例N_Random.vi
根据输入第一参数,产生0~参数的随机数,然后根据上下限进行判断。

1.3.2 编写测试序列
1)在界面上设置测试序列文件路径

2)打开CSV文件
添加测试序列,其中
StepName:根据自己需求编写,对程序执行没有影响;
CallVI:这个是调用的子vi,需要和自己编写的子vi名称相同;
NotShowOnUI:是否在主界面上显示结果,1为不显示;
LowerLimit:N_**.vi的判断下限;
UpperLimit:N_**.vi的判断上限;
UNITS:单位;
Param1~10:输入参数,在测试子vi中使用,预设最多10个参数;

设置完成后,保存。
1.3.3 调试测试序列
在Debug界面可以调试测试序列,添加、删除、修改等功能。修改完成后可以使用Debug按钮测试修改结果。

双击想要修改的序列,即可弹出修改框,然后进行修改。

1.4 运行
调试完成后,点击Start按钮,即可在主界面看到按照测试序列一步一向下执行,最终会出现测试结果。

该项目是一个用于测试的通用项目,可以作为参考学习项目也可以作为正真的实用项目。