使用抽象层构建可复用且易于维护的测试软件,以满足国防和航空航天应用的需求

实现高达 60%的代码复用,而且整体测试开发时间减少了多达 9 倍。NI 的认证计划加上内部培训,使我们能够掌握必要的技能,编写功能强大而灵活的代码,并在 200 多个测试台上维护这些代码。”


L3 Technologies

采用抽象

硬件和测量抽象打破了测试执行程序和与仪器交互的代码模块之间的耦合。 测试执行程序没有调用直接与特定仪器交互的代码模块,而是与MAL进行交互。 这定义了基于通用仪器类型执行常见任务的操作或步骤类型。这些操作是仪器通用的,通常具有高级别名称,如“信号输入”、 “信号输出”、“连接”、“电源” 和 “负载”。它们还会接收针对特定测试的参数(而不是针对特定仪器的参数),如信号名称、连接名称、电源别名、电压/电流和负载方法(CV、CC、CP)。

映射框架使用配置文件将通用操作的特定 测试参数转换为特定仪器参数,如仪器参考、通道编号、矩阵行和列、GPIB地址和仪器配置约束。 框架与HAL连接,与配置文件定义的特定仪器进行通信。 它基于MAL操作类型调用每个特定仪器对应的方法,从配置文件中提取针对特定仪器的参数。

姓名
公司
电话
邮箱
地址
部门
职位

通过仪器系列驱动程序实现硬件抽象

仪器系列驱动程序是针对特定供应商的驱动程序,可与仪器常用的产品系列进行通信。 与IVI驱动程序类似,仪器系列驱动程序使用通用驱动程序实现与多个不同仪器的通信。

常见的示例包括NI模块化仪器(NI-DMM、NI-Switch、NI-DCPower和NI-Scope)和Pickering PILPXI。仪器系列驱动程序实现了相关产品系列之间的互换性。 虽然它们不支持跨供应商或跨产品系列复用,但这些驱动程序通常直观,易于实现,并且包含每个仪器的大多数功能(就算不是全部功能)。

如何降低成本?

当涉及到软件开发时,成本与复杂性密切相关。 复杂性有好也有坏,取决于其性质。 目标是增加良好的复杂性,同时避免不良的复杂性。 可以增加功能的复杂性是好的。 每个特性通常会增加功能。 使用可扩展、灵活的模块化代码来实现这些目标可能较为复杂。 但是当以简练的方式实现时,这种复杂性是有益的。 由于规划不当、冗余功能和繁琐的意大利面条式代码而产生的复杂性是不好的,因为它增加了开发成本,但没有增加功能。

此时,最初开发框架的500小时投入已经开始得到回报,比标准开发方法少了100小时。 随着新测试的开发、 产品的改变以及产品的生命周期持续,初始投资将持续得到回报。

阅读ni.com更多相关内容
Copyright ?1997-2019 www.iianews.com & SooQ. All rights reserved.