历史上的今天
返回首页

历史上的今天

今天是:2025年01月17日(星期五)

正在发生

2018年01月17日 | labview怎么调试?基于labview的USB调试教程案例分析

2018-01-17 来源:互联网

      labview怎么调试是我们在使用NI LabVIEW软件时候经常会碰到的问题,当软件不能按照预期的情况运行时,我们可能会需要有一个自己的调试技巧和技术工具箱。 这些技巧和技术有些是常用的,而剩下的可能是您自己摸索出来的一些技巧。

  我们与JKI的LabVIEW程序架构师 ( CerTIfied LabVIEW Architects, CLA ) 以及LabVIEW社区的朋友进行了交流,向他们学习一些快速识别、隔离和修复漏洞的“绝密”技巧。我们了解到以下几个巧妙的调试技巧。

  利用探针

  探针是LabVIEW调试的第一个也是最简单的工具,但它们却是非常强大的工具。您可极其轻松地将探针置于线路上,在查找问题过程中不断获取信息。 以下是探针的几个功能:

  保存连线值功能

  LabVIEW开发环境中的保存连线值功能经常会被忽略。 当您启用某个VI的连线值保存功能时,LabVIEW将自动存储该VI框图上每根连线的最后一个值。 然后,将光标悬停在任一连线上,即使该VI未运行,探针工具也将出现提示信,显示该连线最后一个值。

  自定义探针,无需编写任何代码

  运用LabVIEW自定义探针,您无需编写任何代码就可创建强大、复杂的调试工具。 例如,您可在“自定义探针”》》“控件”》》 “波形图”中创建显示任意数字连线的先前值的“历史探针”。 这可帮助您发现您正在探究的数据的模式或趋势,而无需编写特殊的探针代码。

  从LabVIEW工具网络获取自定义探针

  借用他人创建的探针来扩展您的工具箱。 SAPHIR在LabVIEW工具网络上提供了一系列免费的自定义LabVIEW探针。 您只需下载安装VI软件包管理器 (VIPM)社区版(也是免费的)、搜索ViBox,再通过几次单击就可安装探针。

  如果您正在使用LabVIEW 2011,您还可通过单击LabVIEW入门指南窗口的“查找LabVIEW附加工具。。。”从LabVIEW工具网络上获取ViBox。

  调用时挂起

  许多LabVIEW程序架构师甚至不知道LabVIEW具备该项功能。“调用时挂起”功能可将执行挂起,使您可以进行以下任一或所有操作:

  1. 在VI运行之前随意更改VI的控件值。

  2. VI返回调用程序时随意更改显示件的值。

  3. 重复运行VI,而无需将执行返回至调用程序。

  4. 完全跳过VI执行,返回至调用VI。

  对于调用时挂起功能,NI做了简要说明,见此处。 然而,熟悉该功能的最佳方法还是亲自动手实践。

  未连线的前面板控件和显示件

  为FIRST(崇尚发扬科学技术)机器人竞赛团队推荐了一项技术,这项技术对于专业的LabVIEW开发人员也非常有用

  Ben建议在VI中添加前面板控件或显示控件,但并不与连线板连接。 这些控件和显示件与“调试”输入或输出工作方式类似,您可在测试时对其进行手动控制。 这可使您更容易在应用中生成偶然或极端事件,而无需繁多的支持或仿真代码的写入。

  您还可以在已建应用程序中使用这些调试控件和显示件,前提是LabVIEW应用程序生成器包含了VI前面板。

  参阅LVMastery.com上的介绍,进一步了解Ben建议的调试子VI。

  执行跟踪

  如果其他方法都失败的情况下,有时您所能做的只有逐步跟踪代码。 遇到此类问题时,您可通过几种方法在LabVIEW内进行执行跟踪。

  最明显的方法是使用LabVIEW中内置的“高亮显示执行”功能,也称为“灯泡”。 如果说探针是LabVIEW调试的首要工具,灯泡则位列第二。 但是,如果碰到复杂或是时间相关的漏洞,您则可选择其他更有效的工具。

  跟踪磁盘或内存

  启动执行跟踪的一个简单方法是在其中一个子VI中记录一个连线值。 您可编写一个简单的VI,将该值记录到文件中,或甚至可创建一个自定义探针来显示连线的历史值。 通常通过这样一个简单的跟踪您就可收集足够的信息来帮助您找到漏洞的原因。

  NI LabVIEW桌面执行跟踪工具包

  如果要调试一个大型的高度并行应用程序,则包含NI开发者套件 2011的LabVIEW桌面执行跟踪工具包就是您进行LabVIEW代码分析的“利器”。 它可提供关于正在运行的应用程序的各种信息,包括详细的内存分配和再分配、事件生成、由代码定义的自定义信息。 AusTIn LabVIEW程序架构师论坛的创建人之一Fabiola De la Cueva指出该工具包可用于调试已崩溃的应用程序,因为它是独立于LabVIEW之外运行的。

  专业的LabVIEW开发人员很庆幸,因为LabVIEW桌面执行跟踪工具包已包含在NI开发者套件2011之中,不会产生额外的费用。

  单元测试

  测试驱动开发(TDD) 是一种软件工程技术,可帮助您从头创建更好的代码,同时它也是帮助您调试现有代码的一个有效工具。

  在TDD中,当您发现应用程序存在漏洞时,调试流程的第一个步骤就是创建一个可重现漏洞并导致测试失败的单元测试。只有到那时候,您才确实可以开始尝试修复问题。 如果单元测试通过,则表明您已清除了该漏洞。

  这种漏洞修复方法需要费点时间,但是相比其他较不精确的方法,它具有以下几个优点:

  1. 单元测试具有可追溯性,可完整显示漏洞的发生过程以及您如何将漏洞隔离

  2. 您或其他开发者可随时轻松验证或重新验证您的修复,而无需记住激活漏洞的详细信息。

  3. 单元测试可在您的项目中与其他测试一起自动执行,因此漏洞如果再次出现,您可以立即知晓。

  针对单元测试有两个主要的LabVIEW附加工具,TDD方法可以与另一个一同使用。 查看JKI的免费VI测试仪LabVIEW附加工具或参阅Eli Kerry的LabVIEW软件工程指南,进一步解LabVIEW单元测试框架工具包,它已包含在NI开发者套件之内。

推荐阅读

史海拾趣

Diamond SA公司的发展小趣事

随着全球对环保和可持续发展的关注度不断提高,Diamond SA公司也积极响应这一趋势。他们致力于开发环保型电子产品和技术解决方案,减少对环境的影响。同时,公司还积极参与各种环保活动和公益事业,推动整个电子行业的绿色发展。这些努力不仅提升了公司的社会形象和声誉,也为公司的长期发展奠定了坚实的基础。

Bytes公司的发展小趣事

在技术创新的基础上,Bytes公司积极拓展市场。公司通过精准的市场定位和营销策略,成功打开了多个国家和地区的市场。同时,Bytes公司注重品牌建设,通过优质的产品和服务赢得了消费者的信任和好评。公司还积极参与国际展览和交流活动,提升品牌知名度和影响力。

恒连电子(EVERCOM)公司的发展小趣事

在恒连电子的发展历程中,技术突破和产品创新始终是公司发展的核心动力。公司投入大量资金和资源进行技术研发,不断推出具有竞争力的新产品。其中,一款具有自主知识产权的智能芯片成为了公司的明星产品,不仅提升了产品的整体性能,还为公司带来了可观的利润。此外,恒连电子还注重产品的多元化发展,不断拓展产品线,满足市场的多样化需求。

ACE [ACE Technology Co., Ltd.]公司的发展小趣事

在恒连电子的发展历程中,技术突破和产品创新始终是公司发展的核心动力。公司投入大量资金和资源进行技术研发,不断推出具有竞争力的新产品。其中,一款具有自主知识产权的智能芯片成为了公司的明星产品,不仅提升了产品的整体性能,还为公司带来了可观的利润。此外,恒连电子还注重产品的多元化发展,不断拓展产品线,满足市场的多样化需求。

Doodle Labs公司的发展小趣事

随着技术的不断进步和市场的不断变化,Doodle Labs意识到单一产品无法满足多样化的客户需求。因此,公司开始加大研发投入,不断推出新的产品线。其中,最为引人注目的是一款名为Helix的六波段智能无线电产品,它能够在1625-2500MHz的频率范围内工作,为无人机提供全方位的通信支持。这款产品一经推出就受到了市场的热烈欢迎,Doodle Labs也因此获得了更多的关注和认可。

赛微(Cellwise)公司的发展小趣事

作为一家有着高度社会责任感的企业,赛微始终关注社会发展和环境保护。公司积极参与公益事业和慈善活动,为社会做出积极贡献。同时,公司还注重环境保护和资源节约,通过引进先进的生产设备和工艺技术,降低生产过程中的能耗和排放,实现绿色生产和可持续发展。

请注意,以上故事框架仅为概述,具体细节和数据可能需要根据实际情况进行调整和完善。

问答坊 | AI 解惑

单片机芯片解密与加密方法

芯片加密方法是芯片设计公司为了提高单片机的保密性而设计的,而解密是属于逆向分析设计的,设计公司和解密公司的竞争一直没有停止过,设计公司在不断的提高保密手段,而解密公司也在不断的产生新的解密手段。但是从条件来讲,设计公司的设备和投入 ...…

查看全部问答>

??请教2440下wince摄像头编程

本人是wince初学者,想实现wince5.0在2440开发板上利用摄像头拍照,储存,触屏上显示图片等功能。我用VS2005开发,把camera.cpp,camera.h等驱动文件添加到项目里,现在CIS_Close CIS_Deinit CIS_Init CIS_IOControl CIS_Open CIS_PowerDown CIS_Pow ...…

查看全部问答>

高手援助!U盘大小修改问题

我的U盘是PNY的,u盆分区工具把它从8G改成2G。现在想将它还原成8G应该怎么做啊? 直接用右键格式化做不到。请高手援助,谢谢!…

查看全部问答>

FAT表的应用

我的U盘使用的是FAT表文件系统,请问用FLASH的物理地址上我要怎么去找到logic 0地址,有什么标志或者什么提示吗?…

查看全部问答>

不同应用的LED封装支架的选材要求

replyreload += \',\' + 770964;Timson,如果您要查看本帖隐藏内容请回复…

查看全部问答>

白光LED线路版焊接技术要求及注意事项

 蓝光、绿光LED焊接要求与白光LED相同,以一般白光LED焊接的水准来看,而有这样的基本要求,操作需要注意。蓝光、绿光LED焊接要求与白光LED相同,以一般白光LED焊接的水准来看,而有这样的基本要求,操作需要注意如下:   1、生产时一定要戴防 ...…

查看全部问答>

求助:如何解决频繁上下电引起的单片机死机的问题

如何解决频繁上下电引起的单片机死机的问题…

查看全部问答>

不懂UART怎么通信啊,懂的帮忙

学430 lanchpad板上的TimerA模拟uart通信,总是不成功,下面是TI的演示程序,只做了简单修改,可用串口调试软件观察还是没数据,不知道那个地方有问题 #include  <msp430g2231.h> #define RXD       BIT2 ...…

查看全部问答>

急用钱 出TI原厂EK-LM3S811开发板一块

小弟急用钱购置新的开发板套件所以出一直闲置的TI原厂EK-LM3S811开发板一块有资料,数据线        120元包快递  有需要的联系我QQ452251911   请注明ARM板  ^_^板子九成新,说实话,买来以后只用过不到3次。。 ...…

查看全部问答>