- 24
- 0
- 约4.39千字
- 约 48页
- 2017-02-16 发布于湖北
- 举报
基于VI服务器与队列的程序架构 Cedar 2009-09-03 应用领域 自动化测试系统(ATE) 挑战 以往的教材中着重强调了某一个功能的实现,但是在实际应用中一个完整的自动测试系统(ATE)往往有很多功能要求实现。 由于ATE(auto test system)使用的设备非常昂贵,所以要尽量减少单位产品所消耗的ATE工时。 针对以上要求,笔者利用队列和VI-server创建测试软件。 使用产品 Labview8.6 关键词 Labview VI-server 并行测试 队列 错误处理 介绍 本文基于labview中的VI-server和queue的组合,开发出可并行测试多个功能的测试软件。 由于可根据测试软件本身特点可以修改config文件,形成可测试不同产品的程序,从而大幅度缩短项目开发周期。 正文 Labview是一种图形化编程语言,比文本编程语言开发时间短。 在当今降低成本要求越来越高的时代,尽量将测试项目集成到一个程序已是大势所趋。 为了缩短项目开发时间,尽量利用以前的代码也不为是一个节约成本的好办法。 测试结构 一般的测试程序可以被分为:初始化等待运行指令进入测试保存测试数据退出测试 测试流程 测试流程 初始化设备:测试之前往往要首先刷新整个ATE,使得所有的测试设备能够符合被测品(DUT)的要求。 等待运行指令:当外围准备好了方能进入测试,比如被测品有没有安装到位?保护措施有没有打开?等等,而程序必须在此步等待操作者确认完毕后方能进入下步操作。 测试流程 进入测试:此时PC将按照测试计划(testplan)规定流程,逐步对被测品进行各项测试,要求的测试项往往很多,如按照串行顺序测试将消耗很多工时,这时如将互不影响的测试项并行测试将大大减少工时。 保存数据:为了方便统计分析,往往要求对测试数据进行保存,一般的情况是本机(local)要求一份,服务器要求一份。 退出测试:所有测试项完成且保存完数据后将ATE进入保护状态以防止更换被测品带来损伤。 基本测试程序架构 测试程序架构比较 测试程序架构比较 第二种:状态机 定义:状态机是一种具有指定数目的状态的概念机,在某个时刻仅处于一个状态。状态的转变是由输入事件引起的状态变化的,作为输入事件的相应,系统可能转变到相同或不同的状态,而输出事件可能是任意产生的。 就以《软件工程在labview中的应用》书中的洗衣机为例。流程图见下图 测试程序架构比较 测试程序架构比较 上图是洗衣机的分层结构图,可选择每个状态和输出条件。 测试程序架构比较 上图显示的就是状态机基本结构,开始条件输入进移位寄存器,然后将之传送给case语句。 测试程序架构比较 测试程序架构比较 另一种状态机 测试程序架构比较 上图所示的结构是很多ATS使用的结构,此结构比error-handle结构优秀,特别是其中的错误处理功能。 但笔者在实际使用中,发现此结构还是有一定的缺陷:第一,如果要新增test3测试项,只有打开mainvi增加代码,虽然只是简单的增加一个case结构但是也需要重新debug整个程序,其中就隐含了不确定因素增加了风险;第二,如果test1和test2两个测试项互不影响可以并行测试,但这种结构只能串行测试浪费了宝贵的测试时间。 测试程序架构比较 针对以上两个问题笔者使用两种方法解决第一,使用vi-server避免修改mainvi,vi-server是labview独有的技术,将代码调入内存执行,执行完成后释放内存,(具体可参考清华出版《Labview高级程序设计》)笔者将所有的testvi做成标准格式,每个测试项功能相当于状态机中的一个case结构,这样可以将testvi和mainvi分离,两者之间使用vi-server衔接,如果测试项修改,增加,删除。只需要更改config文件,不需要更改mainvi,避免了风险的产生。代码见下图 测试程序架构比较 其中的LOG,FMT,result,error out各有用处,下一部分将对此详细讲解。 测试程序架构比较 测试程序架构比较 下图为一个标准的testvi样板,必须要有FMT,LOG,result,error out几个输入项。把testvi统一成一个样式,这样可以方便mainvi的调用。 测试程序架构比较 第二;针对并行测试,我们可以创立两个线程:masterthread;slavethread. 测试程序架构比较 上图创建了两个队列masterthread;slavethread把可以并行测试的测试项组成两个字符串数组,写入两个队列,由于labview是自动实现多线程的,所以可以达到并行测试目的。 必须将vi-server这个vi设置为“preallocate done for each in
您可能关注的文档
- 基础化学实验(I).ppt
- 基因的分离定律.ppt
- 基因工程及其应用.ppt
- 基于Hadoop的视频大数据处理技术冯强.ppt
- 基于构件资源库的程序挖掘实现方法研究.ppt
- 基于活性碳-聚合物复合材料的烟气除贡技术W.L.Gore&.ppt
- 基于维基百科的中文命名实体识别与消歧.ppt
- 餐饮门店银发经济适配的标杆案例(优秀老年助餐经验)学习流程试题库及答案.doc
- 施工合同解除协议书.docx
- 外墙喷漆施工协议书.docx
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- ISO9001-2026质量管理体系标准版中英文及变化点解析.pdf VIP
- HGT 21629-1999 管架标准图(四).docx VIP
- 广州市民办学校申办审批表.doc VIP
- 无人机测绘技术与应用课件21--无人机驾驶员职业规划.ppt
- 2025年袋鼠数学LevelB试卷及答案.pdf VIP
- 《重症凝血病标准化评估中国专家共识(2025)》解读PPT课件.pptx VIP
- 《动物防疫法》培训解读课件.pptx VIP
- 无人机测绘技术与应用课件20--无人机飞行原理.ppt
- 先进控制技术及其应用.docx VIP
- 2025-2026学年济南版(2024)初中生物八年级上册《血液是物质运输的载体》教学设计.docx
原创力文档

文档评论(0)