|
在使用实时控制器运行LabVIEW RT 6.1 或更早的版本时出现这种错误的最常见的原因是这些实时控制器使用DOS 8.3文件命名规范 (文件名不能超过8个字符,并且后缀使用3个字符)。 当您以一个实时控制器作为目标机运行一个VI的时候,VI被加载到控制器的内存中,而不是下载到硬盘中。因此,您下载的VI可以有很长的文件名,包括空格,就像在Windows系统中的情况一样。 然而,如果您在您的VI中调用DLL,所有的DLL被下载到控制器的文件系统中,而文件系统只支持DOS 8.3的文件命名。因此,DLL的文件名称如果不符合DOS 8.3文件命名规范就可能会导致下载失败。
举个例子,"my_rt_routine.dll" 就不符合要求。 如果您重命名DLL为 "myrtapp.dll" 并且在调用的VI中以这个名字重新链接, 您将不会再收到这样的错误。 您在主机上为DLL重命名的时候必须小心谨慎,因为这些DLL可能也同时被Windows使用。 重命名会导致Windows找不到这些DLL。 所以首先为DLL创建副本,然后为LabVIEW实时系统使用重命名副本。
注意: 对于 LabVIEW RT 7.0 以上 , 文件名称不再受8.3命名规范约束。
|