基于vi服务器和队列的程序架构

基于vi服务器和队列的程序架构

ID:35612784

大小:1.27 MB

页数:48页

时间:2019-04-01

基于vi服务器和队列的程序架构_第1页
基于vi服务器和队列的程序架构_第2页
基于vi服务器和队列的程序架构_第3页
基于vi服务器和队列的程序架构_第4页
基于vi服务器和队列的程序架构_第5页
基于vi服务器和队列的程序架构_第6页
基于vi服务器和队列的程序架构_第7页
基于vi服务器和队列的程序架构_第8页
基于vi服务器和队列的程序架构_第9页
基于vi服务器和队列的程序架构_第10页
资源描述:

《基于vi服务器和队列的程序架构》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于VI服务器与队列的程序架构Cedar2009-09-03应用领域自动化测试系统(ATE)挑战以往的教材中着重强调了某一个功能的实现,但是在实际应用中一个完整的自动测试系统(ATE)往往有很多功能要求实现.由于ATE(autotestsystem)使用的设备非常昂贵,所以要尽量减少单位产品所消耗的ATE工时。针对以上要求,笔者利用队列和VI-server创建测试软件。使用产品Labview8.6关键词LabviewVI-server并行测试队列错误处理介绍本文基于labview中的VI-ser

2、ver和queue的组合,开发出可并行测试多个功能的测试软件。由于可根据测试软件本身特点可以修改config文件,形成可测试不同产品的程序,从而大幅度缩短项目开发周期。正文Labview是一种图形化编程语言,比文本编程语言开发时间短。在当今降低成本要求越来越高的时代,尽量将测试项目集成到一个程序已是大势所趋。为了缩短项目开发时间,尽量利用以前的代码也不为是一个节约成本的好办法。测试结构一般的测试程序可以被分为:初始化 等待运行指令 进入测试 保存测试数据 退出测试测试流程初始化等待运行指令进入测

3、试保存数据退出测试测试流程初始化设备:测试之前往往要首先刷新整个ATE,使得所有的测试设备能够符合被测品(DUT)的要求。等待运行指令:当外围准备好了方能进入测试,比如被测品有没有安装到位?保护措施有没有打开?等等,而程序必须在此步等待操作者确认完毕后方能进入下步操作。测试流程进入测试:此时PC将按照测试计划(testplan)规定流程,逐步对被测品进行各项测试,要求的测试项往往很多,如按照串行顺序测试将消耗很多工时,这时如将互不影响的测试项并行测试将大大减少工时。保存数据:为了方便统计分析,往

4、往要求对测试数据进行保存,一般的情况是本机(local)要求一份,服务器要求一份。退出测试:所有测试项完成且保存完数据后将ATE进入保护状态以防止更换被测品带来损伤。基本测试程序架构测试程序架构比较根据以上的要求我们可以编写相应的代码第一种:使用error-handle串行这张图想必看过清华出版《软件工程在labview中的应用》的人都不会陌生,这个顺序看起来很好,简单而又准确,但是如果想添加一个新状态或者改变一下这些状态的顺序,该怎么办?这些恐怕要涉及到删除源代码以及移动VI。所以这种结构不适

5、合开发一些大型的测试项目。测试程序架构比较第二种:状态机 定义:状态机是一种具有指定数目的状态的概念机,在某个时刻仅处于一个状态。状态的转变是由输入事件引起的状态变化的,作为输入事件的相应,系统可能转变到相同或不同的状态,而输出事件可能是任意产生的。 就以《软件工程在labview中的应用》书中的洗衣机为例。流程图见下图测试程序架构比较测试程序架构比较上图是洗衣机的分层结构图,可选择每个状态和输出条件。测试程序架构比较上图显示的就是状态机基本结构,开始条件输入进移位寄存器,然后将之传送给cas

6、e语句。测试程序架构比较测试程序架构比较另一种状态机在实际使用中测试流程在测试前就已经规定好了,一般使用数组这就不需要用到enum控件,使用deletefromarray.vi让测试项逐次运行,如测试项出现异常,则选择下面的测试项,上图如出现异常则进入“end”测试项。测试流程Deletefromarray选择测试程序架构比较上图所示的结构是很多ATS使用的结构,此结构比error-handle结构优秀,特别是其中的错误处理功能。但笔者在实际使用中,发现此结构还是有一定的缺陷: 第一,如果要新增

7、test3测试项,只有打开mainvi增加代码,虽然只是简单的增加一个case结构但是也需要重新debug整个程序,其中就隐含了不确定因素增加了风险; 第二,如果test1和test2两个测试项互不影响可以并行测试,但这种结构只能串行测试浪费了宝贵的测试时间。测试程序架构比较针对以上两个问题笔者使用两种方法解决 第一,使用vi-server避免修改mainvi,vi-server是labview独有的技术,将代码调入内存执行,执行完成后释放内存,(具体可参考清华出版《Labview高级程序设计》

8、)笔者将所有的testvi做成标准格式,每个测试项功能相当于状态机中的一个case结构,这样可以将testvi和mainvi分离,两者之间使用vi-server衔接,如果测试项修改,增加,删除。只需要更改config文件,不需要更改mainvi,避免了风险的产生。代码见下图测试程序架构比较其中的LOG,FMT,result,errorout各有用处,下一部分将对此详细讲解。测试程序架构比较上面是vi-server的前后面板,由此得知所有的testvi必须要有LOG,FMT,result,erro

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。