为什么我的老式串口仪器在LabVIEW中采用LabVIEW串口通信的VI而不是NI-VISA?



主要软件:
主要软件版本: 3.2
主要软件修正版本: N/A
次要软件: N/A

问题: 我有一个老式的串口仪器,在每个用户手册指令中并未采用握手或者流程控制。仪器在设备商提供的软件和老版本LabVIEW的串口VI下工作正常,但是它不能使用NI-VISA来调用。这是为什么?

解答:

这个问题可能是因为仪器要求握手线具有特定的状态(比如DTR,CTS),尽管制造商所声称的恰恰相反。Portmon并不能监视实际的设置和清除这些线的状态。具有这种特性的一个Windows的应用程序接口监视组件叫做Eltima Serial Port Monitor(在下面链接给出),可以用它来观察设备商软件所提供的正在工作的握手线状态以找到正确的设置。

这是因为当流程控制被禁用后,NI-VISA并不会设置这些线的状态。这是可以预期的行为,但是一些旧的驱动(包括NI Serial)和设备会假定这些线有一个默认的状态,并且按照这个状态去执行程序。NI-VISA已经改正了这种情况。

握手线的状态可以在LabVIEW中通过VISA属性节点被手动设置,如下所示。这种行为可以通过串口通信连接能力,在一个旧一点的由Radio Shack控制的数字万用表中观测到。



相关链接: www.eltima.com, makers of Eltima Serial Port Monitor

附件:


Handshaking_Lines_Property_Node.bmp - Handshaking_Lines_Property_Node.bmp


报告日期: 05/27/2005
最近更新: 01/31/2011
文档编号: 3LQ8PRRM