您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第四课 子VI设计与文档
第4课子VI设计与文档A.理解模块化概念B.前面板设计C.代码说明D.图标和连线板E.使用子VIF.重构继承代码2A.理解模块化概念LabVIEW中模块称为子VI模块化就是将程序分为若干区块。这样,对程序某个模块的修改就不会影响到其他模块3A.模块化-子VI•子VI相当于文本编程语言中的子程序•前面板和程序框图右上角均显示VI图标•图标为程序框图中VI的图形化表示在VI内部被调用的VI称为子VI4A.模块化-子VI5A.模块化-子VI6A.模块化-子VI函数代码调用程序代码functionaverage(in1,in2,out){out=(in1+in2)/2.0;}main{average(point1,point2,pointavg)}子VI程序框图调用VI程序框图7B.前面板设计•前面板设计包括输入及输出设计•通过下列方式获得输入:−来自设备−从文件直接读取−操作输入控件•通过下列方式输出数据:−显示控件显示数据−记录到文件−输出到设备8B.前面板设计-标签/标题•标签-短描述•标题-长描述•程序框图上的对象不显示标题9B.前面板设计-颜色使用技巧从灰色系开始•选择一种或两种不同色度的灰色•尽可能不要使用高亮色。高亮色一般仅用于重要设置,例如图表曲线、中止按钮或滑杆滑块10B.前面板设计-空白间距11待改进范例:B.前面板设计-文本和字体12B.前面板设计-选项卡控件选项卡控件用于将前面板输入控件和显示控件叠放在较小区域内13B.前面板设计-修饰•使用方框、线条、箭头等修饰控件组合或分隔前面板上对象•这些对象仅用于修饰14C.代码说明-前面板•提示框•说明•VI属性•良好的设计风格15C.代码说明-命名赋予输入控件和显示控件合理的描述性名称可增强前面板的可用性16C.代码说明-程序框图•程序框图上的注释用于:−描述算法−说明连线间数据内容•使用标签工具,或通过函数选板放置自由标签17D.图标和连线板•创建VI后,通过设置图标和连线板可将VI用作子VI•图标和连线板相当于文本编程语言中的函数原型•每个VI前面板和程序框图的右上角均有一个图标•图标是VI的图形化表示•VI用作子VI时,程序框图上将显示该子VI的图标18D.图标和连线板-较好的VI图标•一个较好的VI图标应具有下列特性−通过以下参数表述VI功能:•相关图形•描述性文本19D.图标和连线板-创建图标•右键单击前面板或程序框图右上角的图标,从快捷菜单选择编辑图标或双击该图标,可执行图标自定义操作•用户也可将系统中的任意图片托曳至该图标上20D.图标和连线板-创建图标•使用编辑工具手动修改图标21D.图标和连线板-创建图标•点击符号选项卡,显示所有可用作图标的图形符号•点击工具»同步ni.com图标库更新图标22D.图标和连线板-创建图标•使用图标文本选项卡,指定图标中的显示文本23D.图标和连线板-创建图标•点击模板选项卡,显示可用作图标背景的模板24D.图标和连线板-设置连线板•右键单击前面板右上角图标,从快捷菜单选择显示连线板−连线板上的每个单元格代表一个接线端−使用各接线端分配输入和输出•右键单击连线板,从快捷菜单选择模式,可选择所需接线模式25D.图标和连线板-标准•以此连线板布局为标准•顶部接线端通常预留为引用接线端,例如文件引用•底部接线端通常预留为错误簇26E.使用子VI•如要放置一个子VI至程序框图:−在函数选板选择VI−选择要用作子VI的VI−双击VI,将其放置在程序框图上•如要放置一个已打开的VI至另一个打开VI的程序框图:−单击要用作子VI的VI的图标−拖曳此图标至另一VI的程序框图27E.使用子VI-接线端设置•粗体:必要接线端•无格式:推荐接线端•灰体:可选接线端28E.使用子VI-处理错误•使用条件结构处理传递至子VI的错误29E.使用子VI-处理错误•避免在子VI内使用LabVIEW错误处理器VI30E.使用子VI-转换VI的一部分为子VI转换VI的一部分为子VI:•在程序框图中使用定位工具选中要用作子VI的部分•点击编辑»创建子VI31练习:警告处理VI为VI创建图标和连线板,以将其用作子VI。练习位置:Exercise/Exercise4.132练习:警告处理VI•如子VI需要20个输入和输出端,应如何处理?33F.重构继承代码继承的VI可能设计上有缺陷,使得日后难以为VI添加功能重构:•软件重构的过程使软件更具可读性并降低了维护的难度,从而保证了修改软件的成本不随时间增加•修改VI的内部结构,使其更具可读性和可维护性,但不会改变VI的可视化操作34F.重构继承代码35F.重构继承代码36F.重构VS性能优化•为了优化VI性能所作的修改不同于重构•重构的目的主要在于改变VI内部结构,使其更易于阅读、理解和维护速度VS37F.重构条件•为VI增加新功能或调试VI时•即使程序框图不可读,VI运行时也将产生值•需要全部重构的情况包括:−不能运行的VI−仅满足部分需求的VI38F.重构典型问题•重构改进程序框图时,请先调整外观,然后处理较严重的重构问题•例如,程序框图布局合理且接线端标注清晰的情况下,比较容易找出重复代码39F.重构典型问题下列问题将增加重构继承VI的难度:杂乱无章对象名称不正确,图标设计不合理使用不必要的逻辑含有重复逻辑未使用数据流编程包含复杂算法程序框图太大40F.重构典型问题-杂乱无章程序框图过于混乱•在程序框图内移动对象•提取部分程序框图,创建子VI•添加注释以增强可读性41好较好最佳F.重构典型问题程序框图使用了不正确的对象名称和不合适的图标42F.重构典型问题程序框图使用了不必要的逻辑43F.重构典型问题程序框图使用了重复逻辑•为重复逻辑部分创建子VI,实现VI的重构44F.重构典型问题程序框图未使用数据流编程•如有需要,用状态机替换顺序结构•删除局部变量,直接连线输入控件或显示控件45F.重构典型问题程序框图包含复杂算法简化:F.重构典型问题程序框图太大(大于屏幕尺寸)•重构VI缩小程序框图•为程序框图内的部分代码创建子VI47概念练习:重构VI改进现有的设计不佳的VI。练习位置:Exercise/Exercise4.2F.重构---比较VI•工具比较−比较VI…−比较VI层次结构…•通过上述工具,确定内存中的两个VI间的差异F.重构--比较VI使用比较VI工具,比较原始DetermineWarningsVI和重构后的VI。50总结-重构检查表使用下列复选项确定是否需要重构VI:程序框图过于混乱程序框图包含不正确的对象名称和不恰当的图标程序框图包含不必要的逻辑程序框图包含重复的逻辑程序框图未使用数据流编程程序框图包含复杂算法程序框图太大51总结-测验1.在子VI中,未完成下列哪些接线端连线将导致错误?a)必要接线端b)推荐接线端c)可选接线端52总结-测验答案1.在子VI中,未完成下列哪些接线端连线将导致错误?a)必要接线端b)推荐接线端c)可选接线端53总结-测验2.VI被用作子VI时,必须先创建自定义图标。a)对b)错54总结-测验答案2.VI被用作子VI时,必须先创建自定义图标。a)对b)错将VI用作子VI时,无需先创建自定义图标。但最好创建自定义图标,以增强代码的可读性。
本文标题:第四课 子VI设计与文档
链接地址:https://www.777doc.com/doc-3097463 .html