1. 我该使用直接I/O命令还是仪器驱动来控制仪器?
您可以使用两种不同的方式控制仪器:通过直接I/O命令,或者使用仪器驱动。通常,大家会选择仪器驱动的方式,因为这样效率更高,节省时间。
直接I/O命令
如果您无法找到某个特定仪器的驱动,或者不需要使用仪器驱动,那么您可以使用交互式工具进行直接I/O控制和通讯。如下所示为不选择使用仪器驱动的理由:
·您只需向仪器发送少量的命令;
·该仪器不存在驱动;
·您不需要将仪器命令发布给其他开发者;
仪器驱动
仪器驱动是一个函数库,包含用于控制特定仪器或者仪器家族的高层函数。它们对于快速 开发测试和测量应用至关重要。通过提供高层的模块化函数库,可以很容易地进行编程,无需学习复杂的底层编程协议(底层协议可能只适用于某个特定仪器)。仪 器驱动是一组软件程序的集合,通常用于编程控制时所需的针对仪器进行配置、读取、写入,以及触发等操作。此外,对应于同一类设备的仪器驱动通常具有一个通 用的架构和API。因此,当您使用过一个仪器的驱动之后,也可以很容易地将其用于另一个仪器。通常,针对各种仪器控制和测试应用的仪器驱动分为两种类型:
o即插即用的仪器驱动,采用适合于所有驱动的标准编程模式,因此易于使用,大大简化了仪器的控制和通信操作。即插即用的仪器驱动提供了内置的源代码,能够与软件编程环境轻易集成,而且它与硬件的交互方式比其它的仪器驱动技术更加简单。
oIVI仪器驱动 的性能更高、更加灵活,适用于需要可互换性、状态缓冲,以及仪器仿真的复杂测试应用。
2. 该仪器驱动是否与我的操作系统兼容?
操作系统的种类繁多,包括Windows、Mac 操作系统,以及Linux等;这些操作系统各有所长,适用于不同类型的任务和操作。每种操作系统也会包含不同的版本、发布方式以及针对特定处理器的特殊设计。例如,Windows操作系统家族包括Windows XP、Windows Vista以及Windows 7等,且针对32位和64位处理器都有不同的适用版本。由于Linux系统是开源的,因此其变种多达数百个。每个类型、发布或版本的操作系统的功能都会有所差异,且操作系统之间可能相互兼容,也可能不兼容。
·对于即插即用的仪器驱动, 是专门针对一个特定的应用开发环境(ADE)而设计,可用于此ADE所支持的所有操作系统。
·IVI仪器驱动 仅支持Windows操作系统。
3. 该驱动与我们的应用软件能否很好地兼容?
仪器驱动与应用软件的兼容程度不尽相同。每个仪器驱动的核心都是一个函数库(DLL),用于管理与仪器的通信。正常情况下,厂商会提供针对此函数库的说明文档;而在某 些情况下,厂商会提供此函数库针对各种编程语言环境的封装。这些封装是一些简短的代码,将函数库内的函数翻译成兼容于特定编程语言的接口。有时,可能没有 针对您期望的某个编程语言的封装,或者根本就没有任何封装;此时,你可以使用直接I/O命令与应用软件进行交互。
如果该仪器驱动与你的应用软件本身就是集成在一起的,那就再好不过了。在这种无缝的集成关系下,驱动中的函数和文档都内置于应用软件中,总体性能更好。
·即插即用的仪器驱动 提供源自某个应用开发环境(ADE)的源代码。有了源代码,你就可以对仪器驱动进行修改、自定义、优化、调试和增加功能。源代码还可以让即插即用的驱动得以跨平台兼容,因此你可以在该ADE所支持的任意一个操作系统内使用该驱动。
·IVI仪器驱动是基于两种不同的架构开发出来的驱动,包括:基于ANSI C的IVI-C驱动和基于Microsoft 组件对象模型(COM)技术的IVI-COM驱动。两种架构的设计初衷就是并存发展,不相互排斥。
4. 该驱动是否有详尽的文档?
仪器驱动通常会包含各种形式的文档,包括用户手册、函数参考、版本发布注意事项、已 发现的问题以及范例代码等等。如果你所参考的文档杂乱、不完整,那么就会非常浪费时间。如果一个驱动的编程接口相关的文档不够详尽,那么你就需要通过反复 试错的方式确定其功能,这样会非常耗时、且令人沮丧。虽然反复试错是一种学习驱动的功能和句法的有效方式,但是你仍需在必要时找到手册以便查询。因此,如 果驱动的文档能够编排合理、内容详尽,可以给你带来极大帮助。
良好的驱动软件相关文档应该内容完整、便于浏览、易于遵循。比较理想的情况下,还应该对你所熟悉的编程语言提供范例代码,并提供详细的、包含有用信息的错误消息。你应该事先了解驱动软件的文档情况,避免在后续使用中遇到麻烦。