在降低版本后,启动Real-Time控制器时为什么出现Failed to Load DLL Errors?



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

问题: 我刚刚购买了一个RT控制器,里面已经安装了LabVIEW RT7.0和相关驱动程序。我的Host电脑中仍是6.1版本,还没有升级到7.0版本。为了使用RT控制器,我需要把它降级到LabVIEW RT 6.1版本,包括相关驱动程序。

在通过Measurement and Automation Explorer (MAX)或者Fieldpoint浏览器,一切看起来很正确,但是当我重启后第一次把RT 控制器设为执行目标设备后,出现一个错误信息讲某些DLL 文件没有成功下载。其中一个错误如下:

Failed to load shared library c:\ni-rt\system\vxipnp\winnt\NIvisa\NiViSrvr.dll on RT target device.
Failed to load shared library c:\ni-rt\system\nipxirmp.dll on RT target device.

这些错误由什么导致?如何解决?

解答:
上面提到的这些DLL文件并不存在较早的embedded software版本中。当降低版本使用,装载工具把一些组件并入到NI-RT.INI文件中,但是并没有删除那些原来的组件。NI-RT.INI文件包括称为"StartupDLLs="的一行,该行后面有分号分隔开的DLL文件名单。在之前安装的新版本软件中的那些DLL文件已经不在这里了,但是因为这行记录,启动时操作系统仍然会尝试运行这些文件。

有些办法来修正这个问题。

  • 通过RT控制器的FTP server连接到控制器,删除这些文件c:\ni-rt.ini, c:\ph_exec.exe, 和目录 c:\ni-rt 包括所有的子目录和文件。 至少,删除c:\ni-rt.ini 文件.完成后,重启RT 控制器。 它变成一个没有配置过的控制器。通过MAX或者FieldPoint浏览器给它分配IP地址。它会提示你重启。然后像你降低版本时那样,安装软件。之后,不会再出现这个错误。这个办法比较推荐,并且如果这些文件最初都删掉了,控制器将会像是刚出厂并安装了6.1版本的一样。

  • 通过RT控制器的FTP Server连接到它。从上面下载文件c:\ni-rt.ini。当在你的主机上,在notepad中打开该文件。找出起始为"StartupDLLs="的那句,删掉那些会冲突的DLl。保存文件,把它上传到RT控制器然后重启控制器。这个办法会永久解决这个问题,并且对其他配置的改动最小。

  • 在重启控制器之后,第一次启动时选择执行目标设备为RT控制器,在弹出的error框中点击OK。在下次重启前不会出现这个问题,一起都会正常工作。如果控制器不会频繁重启,这倒是个有用的办法。


相关链接: KnowledgeBase 2PM9CMEW: How Do I Transfer Files With FTP?

Hardware Configuration: RT Configuration Wizard: RT Series PXI Embedded Controllers

附件:





报告日期: 07/07/2003
最近更新: 09/04/2007
文档编号: 2Z6DLUEW