1. 导言
当今,测验工程师需求花费许多的开发时刻在ADE上。 因而,咱们挑选的ADE不只要必要直观易懂,并且能够支撑多个渠道,并可轻松地与驱动程序等丈量操控服务集成。 在挑选开发测验体系的ADE时,还应当考虑其它一些要素,包括显现和陈述功用、怎么防止产品过期被筛选以及全球培训和支撑。 本文评论了三种不同的ADE:NI LabVIEW、NI LabWindows/CVI和Microsoft® Visual Studio .NET,并对它们的特性进行了比较。
2. 挑选ADE时需求考虑的要素
挑选ADE时需求考虑的要素
是否便于新软件工程师运用
因为ADE是主动化体系开发的中心,因而东西的易用性关于新软件工程师的作业效率至关重要。 易用性的重要性乃至超越了快速发动和运转。 例如,开发人员应该能够轻松地将处理程序与多种丈量设备集成、创立杂乱的用户接口、布置和维护运用程序,并依据产品规划的改变和体系需求的扩展而修正运用程序。 ADE应包括的其他特性还包括丰厚的文档和代码典范。
集成丈量和操控驱动
多核技能已经成为主动化测验系统的规范功用,也成为当今电子设备处理海量数据的必需技能。 多核处理器也带来了新的软件应战,咱们有必要战胜这些应战才干充分运用多线程运用程序的处理才能。 ADE有必要为开发人员供给所需的编程技能来创立并行履行进程。
培训和支撑
ADE的易用性是指新用户能够轻松地学习该环境。 因而,ADE厂商应为工程师供给运用手册和在线培训来协助他们快速学习怎么运用其产品。 高档用户或许需求讲堂培训来进一步增加他们的常识和了解更多体系级规划理念。 讲堂培训应为开发人员供给机会来经过认证流程证明他们的常识。 挑选ADE时还应当考虑的另一个要素是在布置运用时供货商供给的支撑类型,比方电话和电子邮件支撑。 此外,假如您要完成该ADE的全球规范化,您还需求考虑世界各地的工程师是否能够获得当地言语支撑。
许多时分,测验体系的开发人员以为只需一个设备驱动程序就足以有用集成其丈量设备。 可是只是只要驱动程序是不行的;丈量和操控驱动程序应尽或许无缝地与ADE集成。 在抱负情况下,操控丈量设备的软件是通明的,仅为ADE的一部分。 这种抱负的完成确保了开发的最大灵敏性和可扩展的架构,以便企业能够将其布置到一切ADE渠道上。
渠道独立性
当今的测验软件运用针对的是多种不同的架构。 重要的是,不管您挑选哪种ADE,都有必要具有满足的灵敏性来尽或许无缝地支撑一切这些不同的架构。 Windows、Linux和Macintosh等不同的操作体系可为不同的运用供给不同的优点。 工程师应能够将他们的代码从一个渠道移植到另一个渠道。 假如ADE不支撑多种渠道,您需求针对不同的项目运用不同的ADE,并花费不必要的时刻将现有代码从一个渠道移植到另一个。
显现和陈述功用
测验运用因为需求图形化显现数据而在显现和陈述范畴存在许多应战。 ADE应供给多个可视化组件来完成数据可视化,如图表、图形、旋钮和外表。 别的,ADE还应简略生成陈述,以便促进体系所收集信息的通讯, 比方易于生成MS Word、MS Excel等部分最常用的陈述。 成果的通讯也应该易于完成,比方在网络上发布运用程序或许将信息录入到数据库。
维护体系不被筛选
为测验体系开发规范化ADE是一个不易完成的许诺。 重要的是您的出资不会因为产品过期而遭到影响。 其间您应该考虑的一个特性是产品与最新软件技能集成的才能以及产品是否能够维护您的测验软件开发不会遭到不接连搬迁的影响。 此外,产品应能够经过惯例晋级增加新功用。
图1. 在开发测验体系时不同的ADE供给了不同的好处和应战。
3. LabVIEW
LabVIEW是一种图形化开发言语,能够协助工程师和科学家以最低的本钱敏捷创立灵敏且可扩展的测验运用。 NI LabVIEW运用的是图形化开发形式,而不是依赖于依据文本的编程。 NI LabVIEW的图形化数据流言语和程序框图能自然地显现您的数据流,一起直观地将用户界面控件映射至数据,令您轻松地检查、修正数据或操控输入。 图1所示的是一个NI LabVIEW运用程序的框图及其对应的前面板。
图2. LabVIEW 8 ADE 可助您快速直观地开发测验运用程序。
LabVIEW还可让您方便地引证产品中丰厚的文档。 上下文协助功用能够让您充分运用LabVIEW图形化特性,只需将鼠标悬停即可拜访子VI的文档。 LabVIEW还在产品内以及在线供给了数百个可用程序典范来演示和解说不同的特性。
不管底层算法有多杂乱,LabVIEW剖析东西均简略易用。 Spectral Measurements Express VI等超越15个用于剖析的Express VI可下降在运用中完成丈量剖析的杂乱度,您可经过交互式装备对话框即时预览剖析成果。
图3. Signal analysis Express VI为运用程序的剖析供给了强壮、易用的编程东西。
这些和其它丈量剖析东西能够直接输入来自数据收集硬件的实在时域信号,并供给成果以便制作图表、图形或进一步处理。 凭借这些函数,您能够轻松地确认DC/RMS电平、总谐波失真(THD/SINAD)、脉冲响应、频率响应和穿插功率频谱等信号特征。
LabVIEW的一大优势是供给了与丈量和操控驱动程序的严密集成,简化了与来自数百家厂商的数千种仪器的衔接和通讯。运用LabVIEW,您能够运用仪器驱动程序、交互式帮手和内置仪器I/O库快速收集来自GPIB、串口、以太网、PXI、USB和VXI仪器的数据。 此外,LabVIEW还包括了易于运用的函数库和交互式帮手来与NI模块化仪器和数据收集产品进行通讯。
NI供给了各种专业技能等级的LabVIEW培训。 虽然根底课程针对需求了解产品的非编程人员和现有开发人员,关于中级和高档用户来说,这些课程也有助于进步他们的专业水平。 现场实地课程可协助企业快速培训许多开发人员而无需脱离公司。 在线和自学课程针对期望依据自己的时刻组织和进展进步其常识的开发人员。
虽然LabVIEW通常被看作是一个MS Windows运用程序,但该产品最开端在Macintosh操作体系上运转。 NI将LabVIEW移植到Windows上,因为该操作体系在台式PC职业的重要性日益增长。 LabVIEW支撑新渠道的许诺到一向持续到今日。 LabVIEW持续支撑MS Windows和Macintosh,但也因为Linux®的日益遍及而新增了对该操作体系的支撑。 LabVIEW VI能够在不同的操作体系上运转意味着不管您需求在何种核算渠道上进行开发,您都能够在运用您的LabVIEW技能。 LabVIEW乃至能够在其他终端上运转,如实时体系,乃至FPGA和DSP。
LabVIEW的数据显现和陈述功用也是该环境如此适用于测验软件开发的一个重要原因。 LabVIEW包括多个二维和三维图形、图表、外表、旋钮和开关,以便以图形化方法显现丈量数据。 ADE还包括LabVIEW陈述生成东西包,以便以MS Word和Excel格局生成陈述。 假如需求经过Web导出运用程序来进行成果通讯, LabVIEW长途面板能够让您经过浏览器显现前面板的数据。 另一方面,假如丈量成果需求记录到数据库,则LabVIEW数据库衔接东西包供给了一套易用东西来快速衔接到本地和长途数据库,并履行许多常见的数据库操作。
最终,NI一直致力于协助LabVIEW用户战胜体系过期问题。 虽然许多的开发精力都会集在增加新功用和集成新技能,可是新版别支撑旧版别代码一向是一个首要使命。 在新版产品中运转旧代码意味着专为之前运用投入的名贵资源不会被糟蹋,并且能够在新的开发中加以运用。.
4. LabWindows/CVI
LabWindows/CVI是一个老练的测验与丈量ANSI C开发环境,可极大进步工程师和科学家们的生产力。 图4显现的是LabWindows/CVI开发环境。
图4. LabWindows/CVI包括了一个完好的作业区,可用于快速开发、调试和办理大型运用程序。
工程师和科学家们运用LabWindows/CVI来开发制作测验、军事和航空航天、通讯、规划验证和轿车职业所需的高性能安稳运用。 LabWindows/CVI经过硬件装备帮手、全面的调试东西和开发人员在规划时可用于运转函数的交互式履行才能简化了这些范畴的开发。
高档剖析库等东西包弥补了LabWindows/CVI包括的剖析库,用于协助工程师们剖析其丈量数据。 LabWindows/CVI高档剖析库供给了一套全面的数据剖析函数。 凭借这些强壮的剖析程序,您能够轻松地将原始数据转换成有用的信息以及构建测验运用程序。 高档剖析库包括用于信号生成、一维(1D)和二维(2D)数组操作、杂乱的运算、信号处理、计算和曲线拟合等函数。
LabWindows/CVI经过仪器驱动程序网络上来自200多家厂商的8000多个仪器驱动程序供给了业界抢先的仪器操控和衔接。 您能够运用这些驱动程序轻松地编程仪器操控运用。 凭借仪器I/O帮手,您能够生成代码来与串口、以太网和GPIB仪器等设备进行通讯,而不需求运用仪器驱动程序。 仪器I/O帮手供给了一个简略的界面来快速验证运用原型和主动剖析仪器数据,而无需任何编程。 您能够轻松地将生成的代码导入到任何现有运用程序,然后防止了编写仪器衔接、根本通讯和字符串解析代码等繁琐使命。 除了集成NI-DAQmx库外,LabWindows/CVI还供给了DAQ帮手,DAQ帮手是一个与数据收集驱动程序结构衔接的交互式界面。
针对LabVIEW的培训和支撑也适用于LabWindows/CVI。 LabWindows/CVI为不同专业技能水平的开发人员供给了不同的培训课程。 现场实地课程可协助公司快速培训许多开发人员,而无需让职工脱离公司。 关于期望依据自己的时刻和进展学习常识的工程师,NI也供给了在线和自学培训课程。 除了LabWindows/CVI培训选项,全球各地分公司的NI运用工程师也为客户供给了全球支撑。
经过维护LabWindows/CVI的向后兼容性,NI可协助您维护出资不因过期而被筛选。 您不只能够运转数年前编写的C代码或运用LabWindows/CVI前期版别编写的代码,也能够运用新的优化编译器集成更快速运转运用程序。 LabWindows/CVI的向后兼容性关于军工和航空等注重产品生命周期和接连性等职业至关重要。.
5. Microsoft Visual Studio .Net (C++, Visual Basic .Net, C# and ASP.NET)
Visual Studio .NET支撑多种编程言语,如C++、Visual Basic .NET、C#和ASP.NET,供给了一个十分强壮的ADE。经过供给各种编程言语选项,您能够运用相同的东西和运用不同开发人员的专业常识,即便他们把握的是不同的编程言语。 Visual Studio .NET开发的运用程序能够在个人核算机上运转,也可运用ASP.NET言语经过网络运转。
Visual Studio .NET供给了所需的功用来协助工程师运用C++、Visual Basic .NET和C#等不同编程言语进行开发。 经过将这些编程言语编译成通用言语运转时,您能够增加不同言语开发的程序库。 另一方面,因为.Net渠道仅支撑Microsoft Windows操作体系,这意味着支撑该运用程序的操作体系数量十分有限。 此外,未来将运用程序移植到另一个操作体系或许需求运用不同的言语从头编写运用程序。
默许情况下,Visual Studio .NET不包括任何功用来集成丈量和操控驱动器或履行任何剖析操作。 NI Measurement Studio供给的组件,如图4所示,能够拜访丈量和仪器驱动和剖析功用。 这些组件供给了交互式帮手来主动生成代码,以增强ADE与仪器和丈量驱动程序的集成。 与此相反,.NET结构包括的某个功用使其很难与某些仪器进行通讯。 .NET架构在通用言语运转时上履行代码,使您无法拜访硬件。 因为不能拜访硬件,直接写入到仪器的寄存器就会十分困难。 假如要完成这一点,咱们有必要创立一个DLL,然后从.NET运用程序调用DLL。
Visual Studio .NET默许供给了少数显现和陈述功用。 该ADE供给了创立根本运用程序所需的文本框、组合框、列表框、按钮和其他组件,然后供给了满足的功用来生成一个规范的Windows运用程序。 假如要运用图形和图表等更强壮的组件来显现数据,您将需求为这一运用程序购买一套组件。 这个问题也反映在Visual Studio .NET编程言语缺少陈述东西上。 另一方面,.NET结构可将信息存储到数据库,然后供给了强壮的数据陈述功用。 ADO .NET是一个丰厚的数据功用库,可用于与许多数据库进行通讯并履行操作。
.NET更侧重于商业、IT和依据Web的运用程序,而不是主动测验。 因而,确保编程言语的长期运用性以及防止不接连搬迁并没有那么重要。 针对IT的运用只要数个月的生命周期,而针对主动化测验的运用的生命周期则长达数年。 例如,虽然DLL可集成到.NET,但这需求开发人员手动调用函数,并确保DLL数据类型匹配.NET的数据类型。 这乍看之下好像并不是很难,但假如您需求与仪器驱动程序的数百个函数进行通讯,这个进程或许十分耗时。 另一方面,将现有ActiveX组件集成到.NET主动化测验运用要比集成DLL简略得多。 Visual Studio .NET能够生成ActiveX组件包装,将其包装为.NET目标。