当前位置: 首页 > news >正文

Labview项目01:标准可配置序列测试框架

项目目标:

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 初始化程序

1)QueueInit.vi

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

2)MainEvent.vi

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

3)MenuButtonChange.vi

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

4)Read ini.vi

该子vi用于读取密码和测试序列文件路径。

5)MainInit.vi

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

6)InitSteps.vi

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

1.2.3 调试测试序列程序

1)LoadSteps

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

2)Select

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

3)SelectAll

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

4)AddLine

添加一行测试序列。

5)RemoveLine

移除掉选定的那一行。

6)UpSteps

引用DebugStepsUp.vi。

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

7)DownSteps

引用DebugStepsDown.vi。

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按钮,即可在主界面看到按照测试序列一步一向下执行,最终会出现测试结果。

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

http://www.dtcms.com/a/469723.html

相关文章:

  • 拌合楼软件开发(23)监测客户端在线情况并联动企业微信提醒客户端离线和恢复
  • 雄安网建 网站建设莞城微信网站建设
  • 基于Python的交通数据分析应用-hadoop+django
  • [特殊字符] 教程|打造一个 Telegram 币圈波场交易记录检测机器人
  • 高弹性不锈钢材质在技工钳应用中的优势分析
  • 东土科技连投三家核心企业 发力具身机器人领域
  • 建设行政主管部门官方网站张槎建网站服务
  • 【AI4S】利用大语言模型 LLM 进行分子设计
  • 零用贷网站如何做p2p网站建设公司排名
  • 从 Home Assistant 到 JetLinks:构建双层智能家居与社区管理平台实训全景
  • 什么是BUG,你对BUG的了解有多少?
  • 有哪些网站做任务有佣金手机活动网站模板
  • 阿里下场造“机器人”:从通义千问到具身智能,中国AI正走向“实体化”阶段
  • 盐城网站建设jsxmt公司网站域名管理
  • Cherry Studio 核心功能简介
  • 阿里巴巴国际站开店流程及费用网站建设与网络编辑综合实训课程指导手册pdf
  • 网站备案收费幕布用wordPress搭建图片库
  • Java版座位预约系统★共享自习室系统源码★学校/培训机构座位预约系统
  • 全网首发/Qt结合ffmpeg实现rist推拉流/可信赖的互联网流媒体协议/跨平台支持各个系统
  • leetcode二分查找(C++)
  • 生成对抗网络(Generative Adversarial Network,GAN)
  • 18-基于STM32的智能医嘱手环设计与实现
  • encodeURIComponent() 函数详解
  • 在JavaScript中,map方法使用指南
  • 手机网站好还是h5好找大学生做家教的网站
  • vue项目安装使用,npm、webpack版本问题注意
  • Arbess从入门到实战(12) - 使用Arbess+Gitee+SonarQube实现Node.js项目自动化构建部署
  • 旅游网站模板 手机网站构建
  • 单遍聚类:实时数据流聚类解决方案
  • 使用TimeSformer进行模型训练(mvp验证)