Figure 5. Software layers are often used in a modular instrumentation system.
位于最底层的测量与控制服务,是最常被忽略的,但却是一个模块化仪器系统最关键的要素之一。该层代表I/O驱动软件和硬件配置工具。这个驱动软件非常关键,因为它为测试开发软件和用于测量与控制的硬件之间提供连接。
仪器驱动程序提供一个高层、直接可读的、与仪器交互的函数的集合。每个仪器驱动程序都是为特定的仪器模块量身定做,以提供一个调用其独特功能的接口。对于一个仪器驱动程序,特别重要的是其与开发环境的集成,以便仪器命令成为应用开发的无缝集成的一部分。系统开发人员需要根据所选的开发环境(如NI LabVIEW、C、C++或Microsoft .NET)对仪器驱动进行优化。
同样包含在测量与控制服务中的是配置工具。这些配置工具包括用于配置和测试I/O的资源,存储扩展、校准和通道混叠信息。这些工具对于一个仪器系统的快速构建、故障排除和维护非常重要。
位于应用开发环境层的软件能提供用于开发应用所需的代码或程序的工具。虽然图形化编程不是每一个模块化仪器系统所必需的,但出于易用性和快速开发的考虑,这些系统经常使用图形化工具。图形化编程使用“图标”或符号函数,以绘图方式表示所要执行的操作,如图7所示。这些符号通过传递数据并确定执行顺序的“线”相连。LabVIEW提供了业界最常用的、也是最完整的图形化开发环境。
Figure 5. Code for a typical stimulus/response application using modular instrumentation, written in LabVIEW, 1) generates a signal from an arbitrary waveform generator; 2) acquires the signal with a digitizer/oscilloscope; 3) performs a fast Fourier transform; and 4) graphs the result of the FFT on the user interface (front panel)。