完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
用户在前面板可以自己编用例,比如上电5min后执行某个操作,10min后断电。每次的时长或者操作用户都可以随意编,后台编程只能编写延时上断电等各种操作的子VI,但怎么才能实现让用户在前面板随意编和输入呢?
|
|
相关推荐
19个回答
|
|
|
本帖最后由 krize 于 2016-12-22 12:46 编辑
关于怎么根据多列列表框里的测试项调用子VI,你的程序里应该有一个核心数据结构来存储序列信息,然后根据这个核心数据结构来调用子VI,多列列表框只是做显示而已,举个例子: 按照我上面说的,用户点一下“添加至测试用例”按钮才将测试项目添加进来,那么你的程序里可以做一个数据结构,比如一个簇的数组,数组的每一个元素存储测试项目的信息,包含测试项名称、参数1、参数2等。每当用户添加一次测试项目,程序里就自己把该测试项目的信息添加到数组里,同样,删除测试项目时只要同时删除数组里相应的元素就可以了。执行测试序列时,用一个for循环,读取数组里的元素,然后根据测试项目名称判断要调用哪个子VI,并把参数传递进去。
最佳答案
|
|
|
|
|
|
也就是用户可以自己选择什么时候执行什么操作,这个可以用什么控件和方法实现?
|
|
|
|
|
|
让用户随意在前面板上编写和输入这个也太有难度了,不如直接让用户编写算了。
我觉得可以制定一个计划表,让用户设置好需要执行的操作和执行时间,然后再按照计划表上一步一步的执行就可以了,一步一步调用子vi模块就行了。 |
|
|
|
|
|
用状态机吧,可以规定好事件的顺序跟事件之间的延时
|
|
|
|
|
|
楼主要做序列测试啊,单纯顺序的话比较简单,带循环或者条件判断的就难很多了,看楼主的描述应该只是顺序测试,这就相对好实现一些。 大体实现方法是先写好各个测试步骤的子程序,定义好输入输出,这些子程序应该都是可独立运行的。使用的时候根据用户选择的测试步骤依次调用这些子程序并把输入参数赋进去就可以了。 至于提供什么样的方式让用户去选择测试步骤以及输入方式,这个看楼主对什么控件熟悉一些,多列列表框用得比较多,可以参考下面的界面,细节自己补充吧。
|
|
|
|
|
|
用状态机比较简单,只要先编辑状态的顺序然后挨个运行就好了,附件是个简单的程序。首先选择功能步骤即你要的操作(客户定义操作的顺序),然后分别可以设置每个操作里的时间等参数。设置好之后点击“设置完成”就能看到指示灯亮的先后顺序即是用户定义的操作的顺序。具体后面可以自己优化细节及界面
|
|
|
|
|
|
mark……………………
|
|
|
|
|
shuochiu 发表于 2016-12-21 16:31 能不能转成14版本的?我用的14版的打不开 |
|
|
|
|
krize 发表于 2016-12-21 15:57 用户在多列列表框选择操作的时候,选定的这个操作怎么跟后面板调用子VI连起来呢? |
|
|
|
|
|
|
|
|
|
krize 发表于 2016-12-21 15:57 你做的这个前面板跟我想要的一样 但是我不太会,添加至测试用例和删除选中项目这两个键是怎么实现的?
|
|
|
|
|
|
不是用户在多列表框选择操作,用户的使用顺序应该是: 1.编辑序列:就是在测试项设置那个地方选择要添加的测试步骤和相应的参数,然后点击“添加至测试用例”按钮,每点击一次,就在多列列表框里添加一项。也可以选中多列表框中的一项,点击“删除选中项目”删除对应的测试项。 2.执行序列:应该还有一个执行和中止按钮,我给你的界面里没做出来了,点了“执行”按钮以后,程序就自动按多列列表框里的顺序执行测试项目了,测试过程无需人工干预。如果中间要停止,可以点击“中止”按钮。 在基本功能的基础上还可以扩展一些功能,比如序列保存、读取功能,实时显示测试进度、结果功能等等。 |
|
|
|
|
|
这两个键按下去时应该做两件事情,以“添加”为例: 1.核心数据结构更新:按下“添加”按钮时应把测试项信息添加到核心数据结构里去。 2.显示刷新:就是刷新多列列表框,把测试项信息转化成字符串数组,显示到多列表框里去。在多列列表框里添加一行信息属于基本功能了,没用过这个控件的话自己去试一下吧,用“ItemNames”属性节点赋值就可以。 |
|
|
|
|
|
你说的跟我想要的完全一样,需要给测试人员做测试平台,测试用例可以随测试人员自己安排,第一次做 不太懂,按照你的方法来试试,如果有什么问题再问你,好吗?
|
|
|
|
|
krize 发表于 2016-12-21 14:57 你说的跟我想要的完全一样,需要给测试人员做测试平台,测试用例可以随测试人员自己安排,第一次做 不太懂,按照你的方法来试试,如果有什么问题再问你,好吗? |
|
|
|
|
krize 发表于 2016-12-21 15:57 另外,可以给我分享一个按照这个前面板做的只有上电,延时1min,给某个串口发送一串字符串的程序吗?建立一个簇数组 |
|
|
|
|
|
|
|
|
|
|
|
那个界面临时画的,但是按这个思路肯定是可以实现的,难度不大,写好架构、设计好数据结构是关键。 程序搭好框架以后,后面的工作就是写各种不同的测试步骤子VI了,如果我把框架给你写完了,你的工作量就只剩百分之一二十了,所以还是自己完成吧。 这中间还是有一些细节问题需要考虑的,比如不同测试项目的参数个数、数据类型、参数名称都是不一样的,怎么将这些参数传递进不同的子VI,怎么做得人性化一点让用户方便去设置等等,解决这些问题有简单粗暴但适用面小的方法,也有稍微复杂但能统一化且扩展性强的方法,你在完成这些工作的时候自己也能够得到提升。至于状态机、生产者消费者架构、多列列表框的用法、簇和数组的操作这些的东西都是必须掌的基本内容,你已经开始做项目了应该也有一定的基础,有些不懂的地方自己动手试一下应该就能研究出来,遇到解决不了的问题再提问吧。 |
|
|
|
|
krize 发表于 2016-12-23 09:07 labview是我自学的,所以基础不够扎实,也常常遇到问题不知道该怎么下手,有时候绕了一大圈才发现问题并不难,非常感谢你的回答,对我特别有用,之前做的是访问数据库设置CAN之类的简单VI,对这种系统调用逻辑编程其实还不太熟,我会好好学,继续动手做。如果再遇到实在不会的问题,希望还能得到你的帮助。 |
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
211 浏览 0 评论
请教大神,在labview里面对实时扫描资源中的C系列模块NI9234进行配置发生非预期错误
1709 浏览 0 评论
1585 浏览 0 评论
LABVIEW 2023 Q1调用python后一直报错1671
1960 浏览 2 评论
5207 浏览 3 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 14:39 , Processed in 1.141621 second(s), Total 113, Slave 93 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
5190