在防火墙下使用Lookout,LabVIEW DSC和网络发布的共享变量



硬件: PXI/CompactPCI>>Controllers

问题:

我在计算机中启用了Windows防火墙或者其他的防火墙软硬件,如何成功地使用LabVIEW的数据记录和监视控制模块,Lookout以及共享变量?



解答:

NI网络通信的底层基础被称为Logos,共享变量用到了基于Logos的NI PSP协议(即发布订阅协议)。类似的,在Lookout 6.0.x与LabVIEW DSC 7.x及以上版本中,远程机和软件以及数据库之间的通信也基于Logos。为了让这些技术可以在防火墙下正常工作,需要对默认设置做一些修改。


要确定端口设置,我们必须知道自己计算机上安装的Logos版本。确定Logos版本的最佳方法是检查WINDOWS\system32目录下面Logos dll或者exe文件的值。找到其中的最高版本并按照下图对该版本的设置方法进行操作。比如,你可以右击lksock.dll文件,选择属性,然后选择版本选板查看。


Logos 4.5及先前的版本:

通信所用的UDP端口号在1024到65535之间随机分配,这些端口不能被阻挡。目录服务可以让NI软件为数据找到合适的端口,其默认的端口号为2343。NI的软件会先连接到2343端口,判断哪个端口请求的服务,然后在1024-65535之间找到这个端口。

Logos 4.6及后续版本:

目录服务所用的UDP端口号仍然是2343,这个端口依然需要开启。新版本的Logos当中,端口号不再随机分配,而是递增式分配。

客户将首先尝试用5000作为端口号连接到一个给定主机端,然后一直递增端口号直到发现合适的端口为止。

每一项运行在您电脑上的服务(包括NI-PSP,LabVIEW DSC和Lookout)都将会使用服务器端口。服务器端口从6000开始,一直递增直到发现合适的端口为止。

至少要开启20个服务器和20个客户端作为起始点,如果通信问题仍然存在,开启更多的端口直到问题被解决。

LabVIEW 8.5 和基于TCP的NI-PSP:

因为较新版本的NI-PSP协议是基于TCP完成的,因此除了为Logos协议开启的UDP端口之外,还需要开启一定数量的TCP端口。

下面的内容仅适用于安装了Microsoft Windows操作系统的上位机以及安装了LabVIEW Real-Time系统的下位机。新协议暂时不支持其他平台。

NI-PSP协议默认TCP端口从59110开始,端口号向上递增直到发现合适的端口为止。开启这个范围内的端口,方法同上文所提到的Logos协议开启端口的方法相同。每个运行中的应用程序只需要一个TCP端口,所以在这个范围内开设5-10端口对于大多数用户已经足够。
如果有需要,用户可以通过修改协议配置文件中对应行来配置NI-PSP协议使用的TCP端口号范围,如下所示:

[logosXT]

LogosXT_PortBase = 59110

LogosXT_NumPortsToCheck = 100

LogosXT_PortBase 设定端口号范围的起始端口号,LogosXT_NumPortsToCheck 设定协议将尝试使用的最少端口数目。

在LabVIEW Real-Time系统下,协议配置文件的名称是ni-rt.ini,而在Windows系统下的名称为Logos XT.ini on Windows machines. Logos XT.ini位于\National Instruments\Logos XT\ 目录下。

为了让这些技术(无论何种Logos或者NI-PSP版本)能够在您的计算机功能正常,一些服务需要开启,而Windows防火墙可能会阻挡这些服务。为了开启这些服务,按照下面链接中提供的方法将这些服务列入信任名单:Configuring LabVIEW, LabVIEW DSC and Lookout to Work With the Windows Firewall。其中的指导也足以让LabVIEW用户可以很好地利用网络发布的共享变量的优势。



相关链接: KnowledgeBase 3HUD6PUW: Configuring LabVIEW, LabVIEW DSC and Lookout to Work With the Windows Firewall


附件:





报告日期: 01/10/2006
最近更新: 07/27/2011
文档编号: 3T9B75XL