首页 > 产品 > 汽车测试 > 上海恩艾仪器有限公司 > 选择正确的软件应用开发环境(ADE)

选择正确的软件应用开发环境(ADE)

发布日期:2017-11-29 17:18  来源:上海恩艾仪器有限公司
应用开发环境(ADE)在一个测试软件框架中发挥着关键而又显著的作用。借助这些工具,系统开发人员设计并集成测试系统,使其能完成测量,向终端用户显示信息,连接其它应用等。由于软件在测试系统实现中持续增长的重要性,系统开发人员将大部分开发时间花费在ADE上。选择一个易用又可支持多个平台,并方便与测量和控制服务(如驱动程序)相集成的ADE非常关键。在选择用于开发您的测试系统的ADE时,还应当考虑其它一些因素,包括ADE的显示与报告特性、如何保护您以免遭产品退化导致的损失、以及全球范围内能够提供怎样的培训与支持。本文将对NI LabVIEW、NI LabWindows/CVI和Microsoft Visual Studio .Net三个不同的ADE就这些特性进行比较。
 
目录
 
选择一个ADE时需要考虑的因素
LabWindows/CVI
相关产品
 
1. 选择一个ADE时需要考虑的因素
 
易用性
 
由于ADE是自动化系统核心部分的开发环境,所以这些工具的易用性对于软件工程师的生产力非常关键。易用性所包括的内容远不止用户如何快速熟悉并使用。通过易用的ADE,开发人员可以方便地集成多个测量设备的处理任务,创建复杂的用户界面,配置并维护应用,并随着产品设计的优化和系统需求的扩展而调整现有应用。ADE的易用性还包括广泛的文档描述与范例代码。
 
测量与分析能力
 
用于开发测试系统的ADE能够无缝地管理和处理测量任务,这一点非常关键。为了有效完成这些,ADE应当将测量数据类型直接纳入开发环境,以便这些数据能在其它任务处理中方便使用。为了达到最大的开发生产力,ADE应当包含广泛的统计和数值分析函数,以及测量应用中常见的高性能的信号处理和控制算法。
 
与测量和控制驱动程序的集成 太多情况下,测试系统的开发人员假定一个设备驱动程序便足以有效集成其测量设备。然而,仅有一个驱动程序是不够的,测量和控制驱动程序应当尽可能地与ADE无缝集成。在理想状况下,控制测量设备的软件应当是透明的,只表现为ADE的一部分。这种理想的实现保证了开发中的最大灵活性和一个可扩展的能够配置AED所支持平台的架构。
 
培训与支持 ADE的易用性也仅限于新用户学习该工具时变得简单。因此,ADE厂商应当提供使用手册和在线培训,以便工程师们可以快速学习如何使用其产品。高级用户或许更需要课堂培训,以扩展其知识并深入了解系统层次设计的概念。这样的课堂培训应当通过不同级别的认证过程,为开发人员提供证明其知识技能的机会。选择ADE时的另一个考虑因素就是,在开发您的应用时可以得到的如电话或邮件支持的厂商支持。而且,如果您希望在全球范围内使用统一的ADE,那么您将考虑您是否可以得到在世界各地的工程师使用母语的技术支持。
 
平台独立性
 
现今的测试软件应用以多种不同的架构为目标。重要的是,不论您选择了怎样的ADE,它都应足够灵活以尽可能无缝支持所有这些不同架构。不同的OS,如Windows、Linux®和Mac OS X,因应用而异,具有不同益处。工程师们应当能将其代码从一个平台移植至另一个平台。如果您的ADE不能兼容其它这些平台,那么您将需要为不同的项目使用不同的ADE,并需要花费宝贵的时间来实现您的现有知识产权从一个平台移植至另一个平台。
 
显示与报告特性
 
测试应用,由于强调其对数据图形化表示的重要性,给显示和报告领域带来了众多挑战。ADE应当拥有多个用于数据可视化的视觉组件,如图表、图形、旋钮和仪表等。报告也应当足够方便,以便促进系统所采集信息的通信。一些应用最为广泛的报告,如MS Word和MS Excel,应当可以方便地生成。这些结果的通信也应当能方便地实现,通过在网页上发布应用程序或者将信息录入到数据库。

针对产品退化的保护 统一用于开发您的测试系统的ADE是一件重大事项。重要的是,您的投资得到保护,免遭产品退化导致的损失。您应当考虑的特性之一是,产品与最新软件技术相集成的既往记录和保护您免遭测试软件开发中的非连续变迁带来损失的承诺。此外,产品应当提供例行的升级以增加新的功能。
 
LabVIEW LabVIEW是一种图形化开发语言,用于帮助工程师和科学家们以最小的成本快速创建灵活的可扩展测试应用。LabVIEW使用一个图形化的开发模式,而不是依靠其它如Visual Basic、C++和C#等编程语言的基于文本编程。LabVIEW的图形化数据流语言和程序框图的方式自然地描述了您的数据流,直观地实现了用户界面控件到您的数据的映射,从而您可以方便地查看和修改您的数据或控制输入。
 
LabVIEW也包含可以方便对该产品所涉及文档进行访问的特性。通过上下文帮助(Context Help)特性,您可以利用LabVIEW的图形化特点访问subVI文档,您所要做的只是将光标
 
停留在对应subVI的上方。此外,LabVIEW十分重视在线产品案例的提供,并以此作为展示和讲授LabVIEW不同特性的一种途径。
尽管基础算法非常复杂,LabVIEW分析工具还是易于使用。超过15个用于数据分析的如频谱测量的快速VI,,通过交互式配置对话框(在此对话框中您可以即刻预览分析结果),降低您在应用中实现分析功能的复杂度。
 
这些及其它测量分析工具可以直接接受来自数据采集硬件的现实时域信号输入,并提供适合绘图、制表或进一步处理的分析结果。使用这些功能,您可以方便地确定信号特征,如DC/rms水平、总谐波失真(THD/SINAD)、冲激响应、频率响应和互功率谱等。
 
LabVIEW的最大优势在于它与测量和控制驱动程序的紧密集成。LabVIEW简化了与来自数百个厂商的数千种仪器的连接和通信。使用LabVIEW,您可以通过仪器驱动程序、交互式助手和内置仪器I/O库,快速采集来自GPIB、串口、以太网、PXI、USB和VXI仪器的数据。此外,LabVIEW还包含了易用的函数库和与NI模块化仪器和数据采集产品通信的交互式助手。
 
NI为任何层次的使用者提供LabVIEW培训。基础课程定位于希望了解该产品的非编程人员和现有开发人员,而中高级用户也可以找到对其技能层次有益的相关课程。用户现场课程帮助快速培训大量的开发人员,使他们不必离开其办公场所。在线和自学课程定位于那些希望在自我支配时间、以个人的进度增加自己知识的开发人员。与LabVIEW的大量培训机会相补充的是用户可以得到全球范围的支持。NI应用工程师在世界各地的分支机构为LabVIEW提供支持。这就意味着,不论工程师身处何地,您都能得到使用母语的电话、邮件或论坛的LabVIEW支持。
 
虽然LabVIEW通常被看作一个MS Windows应用,但最初的产品是运行于Macintosh之上的。在Windows开始统治台式机领域时,NI将LabVIEW移植至Windows平台。今天LabVIEW仍然坚守支持新平台的承诺。LabVIEW继续同时运行于Windows和Mac OS X,但鉴于Linux在客户群中的日益普及,LabVIEW也开始运行于Linux。支持在不同的OS上运行LabVIEW VI,这意味着无论您需要使用哪一种运算平台,您都能够使用您的NI LabVIEW技术。LabVIEW甚至可以运行于其它目标平台,如实时系统、FPGA和DSP。
 
LabVIEW的显示和报告特性,是ADE如此适合于测试软件开发的重要原因之一。LabVIEW包含多个图形、图表、仪表、旋钮和开关(同时包括二维和三维的展示),以便测量数据的图形化表示。ADE也包含LabVIEW报告生成工具包,该工具包使得创建MS Word和Excel格式的报告更为方便。如需要通过网页实现应用程序输出结果的通信,可使用LabVIEW远程面板,使在网络另一端任何一台浏览器上显示前面板。另一方面,如果您的测量结果需要录入到数据库,LabVIEW数据库连接工具包则提供了一组易用的工具,通过这些工具您可以快速连接到本地与远程数据库,并完成多种常用数据库操作。
 
最后,NI始终强调并承诺帮助其LabVIEW用户克服产品退化的问题。虽然大量的开发努力已经被集中在增加新特性和新技术集成中,但是在最新产品中运行旧版本的代码总是更为优先的,因为这意味着投入于开发先前应用的宝贵资源,不仅不会被浪费,而且可以实现与未来开发的衔接。
 
2. LabWindows/CVI
 
LabWindows/CVI是一个在业界得到验证的测试与测量ANSI C开发环境,它显著地提高了工程师与科学家们的生产力。图4展示了LabWindows/CVI的开发环境。
 
在制造测试、军事航空、电信、设计验证和汽车工业等领域,工程师和科学家们使用LabWindows/CVI,以开发高性能稳定的应用。LabWindows/CVI使用硬件配置助手、广泛调试工具和交互式执行能力(这种交互执行能力使得开发人员在设计期间便可以运行函数),使这些领域的开发流线化。
 
如高级分析库的工具包与LabWindows/CVI所包含的分析库形成互补,以帮助工程师们分析其测量数据。LabWindows/CVI高级分析库提供了广泛的、可用于分析您数据的函数库。通过这些强大的分析例程,您可以方便地将原始数据转换为有用信息,并构建测试应用程序。高级分析库所包含的函数有:信号发生、一维与二维数组操作、复杂操作、信号处理、统计学和曲线拟合等。
 
通过来自200多个厂商的超过4000个仪器驱动程序构成的仪器驱动程序网络,LabWindows/CVI成为仪器控制和连接业界的领军者。您可以使用这些驱动程序,方便地编写仪器控制应用程序。通过仪器I/O助手,您可以生成与设备(如串口、以太网和GPIB仪器)通信的代码,而不必使用仪器驱动程序。仪器I/O助手提供了一个简单的界面,您可以快速构建应用的原型并自动解析仪器数据,而无需任何编程。您可以将所生成的代码方便地输入到任何现有应用中,从而免除了编写仪器连接、基本通信和字符串解析代码带来的乏味工作。除集成的NI-DAQmx库外,LabWindows/CVI还提供了DAQ助手——一个与数据采集驱动程序框架交互的界面。
 
LabVIEW的培训和支持框架也同样适用于LabWindows/CVI。目前,LabWindows/CVI的培训课程,根据培训对象使用LabWindows/CVI的不同技能水平,有不同的定位。对于那些需要快速培训大量开发人员的活动,我们也可以为其提供用户现场培训课程,使其不必离开自己的办公场所。对于那些希望在自己支配的时间、按个人的进度增加知识的工程师,我们通过在线和自学课程为其提供了多重选择。与LabWindows/CVI的培训机会形成互补的是,在世界各地的分支机构的NI应用工程师会提供全球范围的支持。
 
通过保持LabWindows/CVI的向后兼容性,NI帮助您免遭产品退化带来的损失。您不仅可以运行多年以前所开发的C代码或者更早版本中创建的LabWindows/CVI代码,您还可以通过新的优化编译器集成更快速地运行应用程序。LabWindows/CVI对向后兼容性的承诺对于重视产品生命周期和延续性的领域(如军事与航空)非常关键。
 
Microsoft Visual Studio .Net (C++、Visual Basic .Net、C#和ASP.NET) Visual Studio .NET,由于支持四种编程语言(C++、Visual Basic .Net、C#和ASP.NET),提供了一个非常强大的ADE。选择这几种编程语言中的任一种,意味着您使用这种工具的同时还可以利用开发人员的不同专业技能,即使他们的技术使用的是不同的编程语言。使用Visual Studio .NET所开发的应用程序可以运行于PC,也同样可以通过ASP.NET语言运行于网页。
 
Visual Studio .Net提供了使用不同编程语言(如C++、Visual Basic .Net和C#)进行开发的功能。通过支持将这些编程语言编译成通用语言运行时,您可以增加由不同语言开发的函数库。另一方面,.Net平台仅工作于Microsoft Windows的这一事实,意味着可以运行您的应用程序的OS的数目将是非常有限的。而且,将您的应用程序移植到未来其它OS,可能需要用不同语言重新编写该应用程序。
 
缺省情况下,Visual Studio .NET并不包含任何与测量和控制驱动程序相集成的功能,也不执行任何分析操作。有些组件,例如那些由NI测量工作室所提供的组件,可以提供对测量和仪器驱动程序的访问以及分析功能。这些组件通过提供自动生成代码的交互式助手,提高了ADE与仪器和测量驱动程序的集成度。相比之下,.NET框架的某些特性使它与某些仪器的通信固有地相当困难。.NET架构以通用语言运行时的方式执行代码,隔绝了您对硬件的访问。无法访问硬件,从而很难直接写入到仪器寄存器。为了完成这项任务,通常不得不创建一个DLL,然后从一个.NET应用程序中调用这个DLL。

缺省情况下,Visual Studio .NET几乎不能提供任何显示与报告能力。此外, ADE通过提供文本框、组合框、列表框、按钮和其它创建一个基本应用所需的组件,提供了足够的特性以生成一个标准的Windows应用程序。为了使用更多强大组件以展示数据,例如图形和图表,您将需要为此应用购买一套组件。对于Visual Studio .NET中的任一个编程语言,由于缺少报告工具,这个问题同样也会出现。另一方面,.NET架构通过将信息存储在数据库来提供强大的报告特性。ADO .NET,一个丰富的数据功能库,可与不同数据库通信并对其执行操作。
 
由于.NET关注的是商业、IT和基于网页的应用而不是自动化测试,保证编程语言的长生命周期和避免跳跃式的变迁不是优先关注的方面。聚焦于IT的应用生命周期可能为数月,而自动化测试应用的生命周期可能为数年。例如,即使将DLL集成到.NET中是可能的,但这要求开发人员以手动的方式调用函数,并保证DLL的数据类型与.NET中的数据类型相匹配。

初看之下,这些要求似乎不很难,但如果您需要和一个仪器驱动程序的数百个函数通信时,这个过程将变得非常费时。另一方面,将您已有的ActiveX组件合并到一个.NET自动化测试应用中,要比合并一个DLL容易得多。Visual Studio .NET可以为您的ActiveX组件生成封装,使之现示为.NET对象。
 
3. 相关产品

软件:
 
NI TestStand测试管理软件
LabVIEW 图形化编程语言
LabVIEW SignalExpress交互式测量软件

硬件:
 
模块化仪器(示波器、万用表、RF、开关和其它)
数据采集(DAQ)设备
PXI系统组件(机箱和控制器)
仪器控制(GPIB、USB和LAN)
技术白皮书
 
NI公司提供了《设计新一代测试系统开发者指南》。这篇指南是集合了各类白皮书,是用来帮助开发测试系统,降低成本、提高测试吞吐量,可扩展以适应未来的需求。需要下载完整的开发者指南(120页),请访问ni.com/automatedtest/zhs 
举报 0 收藏 0