03-23-2010 12:23 PM
Hello,
I have a fairly large project for an AOI which was initially developed in LV8.2 and later ported up to v8.5.
The project has a Windows and an FPGA target and relies heavily on NI Vision and IMAQ for the inspection parts of the application.
I recently decided to jump to LV 2009f3 for the new generation of the machines. I added a lot of functionality and minor bug fixes and prepared the code to work on various generations of the machine by using Conditional Diagram Disable structures and Conditional Disable Symbols.
The problem is that I need to go back to v8.5 to compile the executable and make sure that it will work on the older systems with LV and Vision 8.5 runtimes.
First I tried to save the entire project to version 8.5 but failed after multiple attempts: I always get a 'Memory Full' error with the same VI, which is the first in the project that accesses Vision functions. When I save the projecto to version 8.6 this error doesn't occur.
I concluded that this first situation is related to saving from 2009 to 8.5 when you use Vision functions.
I was able to get to version 8.5 by saving the project from version 8.6 to 8.5. The fact that you need an intermediate step is apparently well known in the forums as a bug in LV2009.
But my real problems are starting now. I currently have all the files saved as version 8.5. NOTE: the project could not be saved, but I managed to recover a version 8.5 project from my old code and used that, because the file structures were kept intact.
My current issues are with the VI's that call Vision and FPGA functions/nodes. They will ALWAYS crash: the vision related VI's crash during loading with the infamous 'Memory Full' error, while the FPGA related VI's crash during loading with the 'FPSANE.CPP' error. The 'Memory Full' error is related to nivision.dll.
I'm unable to open the VI's so I'm not sure what to do now.
Is there any way to "properly" save such a large project from 2009 to LV8.5? What toolkits and/or picture versions should I choose when LV asks me during the 'save for previous' operation? Has anyone experienced the same issues? How did you solve them?
Please help me. I don't know what to do.
On a side note, the VI's for the FPGA target opened without any trouble and I was able to compile the VI's into a bitfile without any hassle. Why so many problems with the Host target VI's?
Regards,
Habil Silva
TESTWISE
Portugal
03-23-2010 12:57 PM
I don't know what to suggest.
I know If I want to get back from 8.6 to 8.2 I have to save in 8.5 and edit it from there. - so it's not a new issue.
Getting projects back to LV 7.0 from 8.6 requires days of work for us.
It's little help now, but I would recommend if you need to work on that project in LV 8.5, you never take it past 8.6.
It might be worth finding a clean machine with no NI Software on it, installing 8.5 and trying to open it there - it may be in issue with trying to call parts of 8.6 or 2009 from 8.5 which is causing the corruption.
If you have the resources (I don't) a seperate machine for each version of LV is probably recommended to prevent driver conflicts and things like that when proting between versions.
03-23-2010 01:31 PM
Hi James,
Thank you for your reply.
Regarding your suggestion, I've been trying just that. I have a dual boot on my machine with Win7 + LV 2009f3 and WinXP + LV 8.5.1
Inside Win7 I have a WinXP virtual machine that runs LV 8.6. So in fact it's just like I used 3 different machines to do the porting, so that should not be the issue.
I have also created a virtual machine from the original WinXP + LV 2009 installation on the AOI machine to be able to continue developing on my laptop without having the typical file paths and add-on/driver version issues that one usually has in these situations. So I'm all set regarding this.
I'm only having these issues because I want to go back to LV 8.5.1 to do maintenance on an older machine.
Another valuable piece of information is that the VI are not really corrupted. They will open fine in LV 8.6 or 2009. Only not in 8.5.1...
What I'm going to try now is to open the project in a clean install of LV 8.5.1 but without the Vision and FPGA modules installed.
Maybe this way instead of the before mentioned errors and crashes, LV will only complain about missing VI and CTLs.
This will take some time so in the meantime I really appreciate more help.
Best regards,
Habil
TESTWISE
03-24-2010 08:58 AM
Hello Silbah,
It sounds like you are running into CAR 183005 that is listed in our LabVIEW Known Issues. Basically trying to save an event structure from LabVIEW 2009 to LabVIEW 8.5 will cause LabVIEW to crash and I believe you receive an out of memory error. This bug was fixed in LabVIEW 2009 SP1. Is this available to you? If not it looks like you have found the workaround of saving to 8.6 first. One thing you could try is to remove the VI with the event structure from your project, save the entire project to 8.5, and then save the individual VI to 8.5 in steps.
03-24-2010 10:02 AM
Hi Jon,
I have installed the patch for LV2009 so that now the version shown is 2009f3. Is this the same as SP1? If not, how do I get it?
Nevertheless I'm not sure if this is the case because I also have issues with VI's that contain FPGA references: LV crashes with an fpsane.cpp error.
And these files, contrary to what I wrote in my previous post can not even be reopened in LV2009 or 8.6. So yes, they are indeed corrupted.
I tried opening them in LV8.5.1 without Vision and FPGA installed and LV would crash immediately even before detecting that the FPGA and/or Vision VI's and CTL's cannot be found.
I'm currently upgrading the machines at the client's site with LV2009. Rewriting the affected VI's for LV8.5.1 is out of the question for me...
At this point I just want to know if anyone else has seen this issue, or am I the only one?
03-24-2010 10:28 AM
Hello Silbah,
LabVIEW 2009 f3 is not the same as LabVIEW 2009 SP1. f3 is a patch whereas SP1 is a maintenance release. If you have a valid support contract you can download LabVIEW 2009 SP1 from www.ni.com/src. If you purchased LabVIEW 2009 outright (not an upgrade) you receive free support for a year which would include getting the SP1 maintenance release for free.
As for the FPGA question I'm afraid I am not going to be much help. I haven't worked with LabVIEW FPGA. If you do have a support I would consider opening a service request and working with one of our Applications Engineers on your particular issue.
03-24-2010 10:40 AM
03-24-2010 01:22 PM
Hello James,
Insane Object Error such as fpsane are described pretty well in this KnowledgeBase. One main thing to take away from this is to actually open the error log file that LabVIEW created and see if you can find out what object has the corruption. Many times you can simply replace the insane object and your VI will be good as new.