在开发仪器控制系统时,驱动软件常常被忽视。驱动软件是处理仪器和应用软件之间的通信层。尽管硬件的性能指标很重要,但若使用了较差的驱动软件会对整个系统的开发时间和性能产生很大的影响。可以使用两种不同的方式控制仪器:通过直接I/O命令,或者使用仪器驱动。在选择一个用于与仪器通信的驱动软件时,需要注意如下5个方面:
您可以使用两种不同的方式控制仪器:通过直接I/O命令,或者使用仪器驱动。通常,大家会选择仪器驱动的方式,因为这样效率更高,节省时间。
直接I/O命令
如果您无法找到某个特定仪器的驱动,或者不需要使用仪器驱动,那么您可以使用交互式工具进行直接I/O控制和通讯。如下所示为不选择使用仪器驱动的理由:
仪器驱动
仪器驱动是一个函数库,包含用于控制特定仪器或者仪器家族的高层函数。它们对于快速开发测试和测量应用至关重要。通过提供高层的模块化函数库,可以很容易地进行编程,无需学习复杂的底层编程协议(底层协议可能只适用于某个特定仪器)。仪器驱动是一组软件程序的集合,通常用于编程控制时所需的针对仪器进行配置、读取、写入,以及触发等操作。此外,对应于同一类设备的仪器驱动通常具有一个通用的架构和API。因此,当您使用过一个仪器的驱动之后,也可以很容易地将其用于另一个仪器。通常,针对各种仪器控制和测试应用的仪器驱动分为两种类型:
操作系统的种类繁多,包括Windows、Mac 操作系统,以及Linux等;这些操作系统各有所长,适用于不同类型的任务和操作。每种操作系统也会包含不同的版本、发布方式以及针对特定处理器的特殊设计。例如,Windows操作系统家族包括Windows XP、Windows Vista以及Windows 7等,且针对32位和64位处理器都有不同的适用版本。由于Linux系统是开源的,因此其变种多达数百个。每个类型、发布或版本的操作系统的功能都会有所差异,且操作系统之间可能相互兼容,也可能不兼容。
仪器驱动与应用软件的兼容程度不尽相同。每个仪器驱动的核心都是一个函数库(DLL),用于管理与仪器的通信。正常情况下,厂商会提供针对此函数库的说明文档;而在某些情况下,厂商会提供此函数库针对各种编程语言环境的封装。这些封装是一些简短的代码,将函数库内的函数翻译成兼容于特定编程语言的接口。有时,可能没有针对您期望的某个编程语言的封装,或者根本就没有任何封装;此时,你可以使用直接I/O命令与应用软件进行交互。
如果该仪器驱动与你的应用软件本身就是集成在一起的,那就再好不过了。在这种无缝的集成关系下,驱动中的函数和文档都内置于应用软件中,总体性能更好。
仪器驱动通常会包含各种形式的文档,包括用户手册、函数参考、版本发布注意事项、已发现的问题以及范例代码等等。如果你所参考的文档杂乱、不完整,那么就会非常浪费时间。如果一个驱动的编程接口相关的文档不够详尽,那么你就需要通过反复试错的方式确定其功能,这样会非常耗时、且令人沮丧。虽然反复试错是一种学习驱动的功能和句法的有效方式,但是你仍需在必要时找到手册以便查询。因此,如果驱动的文档能够编排合理、内容详尽,可以给你带来极大帮助。
良好的驱动软件相关文档应该内容完整、便于浏览、易于遵循。比较理想的情况下,还应该对你所熟悉的编程语言提供范例代码,并提供详细的、包含有用信息的错误消息。你应该事先了解驱动软件的文档情况,避免在后续使用中遇到麻烦。
除了相关文档以外,驱动的启动和诊断工具可以帮助你快速地安装和运行驱动,而且可以对错误进行诊断。你应该充分利用大多应用开发环境所提供的交互式直接I/O功能。
想了解LabVIEW如何使得仪器控制更加的快捷简单,请访问下列页面观看视频演示:http://zone.ni.com/wv/app/doc/p/id/wv-1508
凡《网络安全与数据治理》(原《信息技术与网络安全》)录用的文章,如作者没有关于汇编权、翻译权、印刷权及电子版的复制权、信息网络传播权与发行权等版权的特殊声明,即视作该文章署名作者同意将该文章的汇编权、翻译权、印刷权及电子版的复制权、信息网络传播权与发行权授予本刊,本刊有权授权本刊合作数据库、合作媒体等合作伙伴使用。同时,本刊支付的稿酬已包含上述使用的费用,特此声明。