labview面向对象设计实例剖析

所需积分/C币:50 2013-07-03 14:42:01 1.26MB PDF
5
收藏 收藏
举报

剖析基于labview的面向对象设计案例,详细描述印制板元器件安装正确性自动测试实现方案。
labview面向对象设计实例剖析 2013-0702 (5,1)为青色,(1,3)、(1,4)、(1,5)为红色,右图是通用部分 颜色的检测算法 像正锦位置十检测正确颇色的次 123456789 c umn Column Colum n 4 GPIB板卡 ColorI Color 图4颜色块判恻算法及公共部分检测算法 、面向任务的解决方案 在板卡测试项目中,打开Task- Oriented Solution文件夹的Test Boards tasK. vi。该ⅥI演示了用于解决之前提出问题的基于任务的 方法 饭卡务TtBt间秒(3Hy的)图:06 文件氧倒E查在(取()换作0)⊥具T圣山財什H 应园14叶而需三体F, EliLe DAC Bo!」 Gct Test Imagc vil iLg Narc IGet [D Numbervi Get Test Name vl ast recil 仿瓦取板卡的 红个到像云行相应试开计结果。 图5面向任务的主程序框图 主程序框图如图5所示。首先 Generate test images,ⅵ仿真图像 采集并将其置于队列中。然后 While循环每次都从队列中获取一个图 labview面向对象设计实例剖析 2013-0702 像并进行处理。每个图像均通过一对值表示板卡类型,分攴条件可用 于切换不同板卡类型并运行相应测试。测试结果包含唯一的测试标识 符字符串、板卡类型和成功/失败布尔值。 图象正位蛋中检现正期色的块, Test_Common To All Boards.i 123456789 mu国 1 w5 I Colum color 图6 Test a程序框图与基本DAQ板卜元件颜色 执行板卡测试的子ⅥI包括特定板卡的测试程序 Test a、 Test e、 Test o和通用测试程序 Test Common to all boards(详见图4),将检 查板卡特定位置的特定颜色块是否存在判断测试是通过。以 Test a 为例,根据基本DAQ板卡的特点设计A型测试任务,判断在特定位 置的元件的颜色是否存在 [图像正确位置中检测正确颜色的块。」 123456789 ot for Square of Color. vil 4 column columnI 图7 Test B程序框图与 Elite DAO板卡元件颜色 Elite DAQ板卡在(4,3)、(5,3)处比基本DAQ板卡多一块 橙色元件,其测试代码复用TestΔ的代码后増加新增部分的检测。 4 labview面向对象设计实例剖析 2013-0702 在巴正置的确色的火 Commo To Al 123456789 图8 Test B程序框图与GPIB板卡元件颜色 、面向对象的解决方案 31总体设计 A基本DAQ板卡B) Elite DAQ板卡 C)GPIB板卡 1 21 2 2 22 21■2■ 2 1222 1:AD,2:DA,紫色:FPGA,黄色:滤波器,橙色:电阻 图9元器件颜色表 面向对象的解决方案如图10所示 Board Tcsting hpre项浏览 文件()编辑E查看(项目(P操作①) ‖闺出X‖盛崛|·會△ 主要包括类 classes、部件 Components和 文件 主程序 Test BoardS OBJEctⅵi,类之间‖ 日回Tdsk- Or endEd solu P Object-Criented Solution 亡 a Classes 的继承关系见图11。部件 Components包 l Bcard Design. Ivclass g DAC Board Design. Ivclass a Basic DAO Design. lvclass Elite D/O Esign Ivd. 括部件基类 Component和实际的元件类, Components 0 Com ponent. Ivdass DA Converter. lvclass Magic signal filter. Ivclass 如AD、DA、FPGA等 FPGA Chic. lvclas 曰回 e 口依赖关系 图10总体设计图 5 labview面向对象设计实例剖析 2013-0702 GPIB Board Design. Ivclass-类量性 类另 常规设置 继层次结构 保扩 卖名 关说明 说明信息 E- LabVIEW家 LbEM对条是内置的 LabvIEw类,所有F 项设置 Board design lvcl全部板卡类型的基关 友元 GFIB Board des 继承 探钅 线外咒 巳 asic DAO Dcsign. lvclass类三性 类 常规设置 继承层次结构 保护 类名 类说明 说明息 bVIEW对象 aVFW念是内置的动hMFW,酊有 项设置 白; Board design. Iv:仝部板卡关早的基类。 日“ DAQ Board De:DAQ板k类。 Basic DAo d基本DAQ板卡类。 探钅 连线外观 Elite DAQ DEsign. lvclass-类量性 关别 常规设置 继承层结构 保护 类名 类说明 说信息 日 LabVIEW对象 LabVIEW对象是内置的LabⅥEW类,所有F 项识置 合; Budr d Design.lvcl全卡类型的其头 茂元 … DAO Board Dc:UA卡 继承 E| te DAQ DE Elite DAQ板卡关 连线外观 图11类派生关系 32主程序 在板卡测试项目中,打开 Object- Oriented solution文件夹 的 Test boards objectⅵi,主程序框图如图12所示,其中仿真图像 生成、获取和测试结耒输岀与面向任务解决方案相同,根据待测印制 板信息调用 Enum to Board design.ⅵi子Ⅵ生成印制板对象,然后调 用基类的 Check Image Matches Design(图13),判断元器件安装是 否正确 labview面向对象设计实例剖析 2013-0702 选关 ck Image Matches Design. "會 Test rcsults 位與茨取板卡的 每^医憬运行柑应测试井岽计果。 冬像 图12主程序框图 33类选择 根据主程序从被测印制板图像中分离出来的印制板类型,生成被 测印制板类的实例。 34印制板对象元件合格性判断 Check Image Matches Designⅵ从板卡获取组件对象列表并控 制各组件调用自检方法判断元件安装是否正确,而不是检查特定位置 的特定颜色。面向对象的方法采用以对象或组件的方式分解问题,不 同于面向任务方法的直接处埋问题方式解决问题 board in board out 在每个部件中调用自检 error in Self Test. error o 卖职多个部 board Image 图13 Check Image Matches Design框图 34.1获取部件 7 labview面向对象设计实例剖析 2013-0702 图14、15是印制板对象获取板上元件部署的程序图。其中,图 14左图是 DAQ Board design类的 Get Components程序框图,右图是 Elite DAQ Design类的 Get Components程序框图。 A Roard in DAn ite D)AQ Board in EDAC 卫我我我我 DA Converter. Signal Filter lvclass F nen C A(hup, v das: Sc landscape? landbccFc? error nl 位寄存器,医此仅第一次运行时生或 Ⅵ将哇甲末化的位态产,因仅杆法一次运牛成 类白件列表,后续坛行时仅远回之前计复的列表 图14DAQ类〔 Get Components框图 Elite DAQ Design从 DAQ Board Design派生,增加了滤波器模块, 它调用父类方法获得公共部分的元件,并增加了滤波器组件的获取功 能 真 元什位置数据 GP输入 组件 Com PI图 回P画 GPIB输出 横向? 元件位置数据ADC:(1,1),(3,1),(5,1),FPGA error error our (1,3),(3,3),电阻:(3,5),(1,7),(19),(3,9),DAC (3,7),(5,5),(5,7),(5,9)。右上图元件位置标小第 该将但用木初始化的移位寄存器,因比在第一次运行时生成 该类的组件列表。后续运行叹返回之前计算的列 个FPGA的位置(3,3)。 图15GPIB类 Get Components程序框图和面板 8 labview面向对象设计实例剖析 2013-0702 以图15为例说明获取部件信息的设计要点。程序首先生成包含 3个ADC、2个FPGA、4个电阻、4个DAC的数组, Components 包含与元件数组一一对应的ADC、FPGA、电阻和DAC行列位置与 放置方式的信息(图中的 Components簇已转为输入控件,便于在面 板上查看有关数据),生成元件对象。其次,程序综合使用程序首次 运行标,确保程序仅运行一次,并利用未初始化的移位寄存器保存元 件位置信息,后续程序调用该函数时直接返回元件位置信息,便于在 不同ⅵI之间传递数据。 342部件类 Componen是部件类的基类,它定 自冒 Component lvcla ri Component. ctl e Self test vi 义了部件的行、列与放置方向信息,并 t, Initialize vi g〔 Get row and!olmnⅵ e Get orientationⅵ E U AD Converter. Ivclass 实现初始化、自检和位置信息获取等接 }…喻 AD Converter.ctl G. Self Test 三■D∧ Converter lvclass 口函数。基类自检函数不使用,需各派 TT DA Converter ctl a. Self Test, vi i u Magic Signal Hilter. Ivclass 生类重写对应的实现函数 HE Magic Signal Filter ctl o. Self Test.vi 白@ FPGA Chip, class 台 FPGA ChiD ctl e Self Test. vi d Resistor. lvclass 哈 Resistorctl o Self test vi 图16部件类 343部件自检 主程序自动根据对同的元件类型,调用相应的自检函数完成元件 安装位置正确性检査。图18为AD元件的白检框图。图19是测试 指定区域颜色面积框图,左图是按左侧输入、右侧输出原则美化后的 框图,左图可读性明显优于右图 labview面向对象设计实例剖析 2013-0702 掘选择实现 选择Ⅵ Component. lvclass: Self Test Magic Signal Filter Ivclass: Self Test. vi AD Converter lyclass Self test vi DA Converter. lvclass sclf test. vi FPGA Chip. Ivclass: Self Test. vi Resistor lvclass: Self test.vi 图17部件自检 占柠[厂: inverter. lvclass: Self Tes、有相( Board Tes ing Ivp. 白检[ AD Converter. Ivclass self Tes程序图Boad- esting.Lupron,我的电) 川201出序之体北,些酚厦 今创画9110t用宁体,搜家①到 AD诗异人 AD的操的h D Converter AarE 无德 板卡图像 crror out ■■ Board testlng loro座地 图18ADC部件自检面板和框图 E像指定位互处检啬定存在指定颜色的方块。 trom Size ol squar Sizc of squarc rect 图像指主检章是否任生指注颜色的L 美化后 美化前 图19测试指定区域延伸面积框图 35运行过程跟踪 面向对象的设计按类和对象进行系统分解和设计,程序运行时通 过参数传递类和对象,程序的调试较复杂。图20演示了跟踪程序动

...展开详情
试读 13P labview面向对象设计实例剖析
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
xph5hf 可惜只有PDF,没有原代码
2015-01-11
回复
yjdn2010 没有程序,可惜不能参考
2014-07-24
回复
longjuanfeng510 是PDF文档啊,没有程序代码啊,有点小遗憾...
2014-07-03
回复
qwk8191 能提供源代码就好了
2014-02-27
回复
xr624708 只有PDF,没有程序
2013-07-20
回复
上传资源赚积分or赚钱
    最新推荐
    labview面向对象设计实例剖析 50积分/C币 立即下载
    1/13
    labview面向对象设计实例剖析第1页
    labview面向对象设计实例剖析第2页
    labview面向对象设计实例剖析第3页

    试读结束, 可继续读1页

    50积分/C币 立即下载 >