03-07-2007 01:18 PM
I've used projects in other languages, and understand them fine.
But I'm having real trouble making LV projects work FOR me.
The ONE good thing I found is that I can place a VI into the HOST target or the PXI target, and LV knows to run it on the host, or run it on the PXI,
Great.
Beyond that, what do they do FOR you?
If the PROJECT that contains this VI is open, though, after the LOADING is done, I get 10-12 seconds of an empty window frame (the size and title of my main VI), before it draws the front panel and is ready.
If that's a benefit, then somebody explain it to me, because I just don't get it.
Blog for (mostly LabVIEW) programmers: Tips And Tricks
03-07-2007 02:03 PM
Hi Coastal,
I use project for what I HAVE to use them for.
Source Code Distribution is the big benefit. I used to use a "tree.VI" to hold all the VI's in an application. The Project does that for me (hidden in dependacies are all of the VI that are included elsewhere in the proj)
Support Files can now be tracked by the project where I used to have to do this manually.
With DSC, RT and cRIO apps the project makes things pretty easy. Without the project.....
Other benefits are public and private libraries.
Now the dirty little secret.
Under normal circumstances, I don't work form the project. It prevents the State Diagram Toolkit (did I mention I love the SDE?) from working properly in execution highlighting mode. And one more thing. I can not remeber experiencing the "slow to edit" problems I have heard so many people mention.
Trying to help,
Ben
03-07-2007 02:45 PM
Source Code Distribution is the big benefit. I used to use a "tree.VI" to hold all the VI's in an application. The Project does that for me (hidden in dependacies are all of the VI that are included elsewhere in the proj)
I just did a REFRESH on the DEPENDENCIES item for my main program. 60+ seconds later, I have a list of 1200+ VIs (including all 47 variations of DAQmx CREATE CHANNEL.vi, of which I use only two or three).
I don't see that as any more useful than the old HIERARCHY window (which in 8.2 comes up blank for my biggie, rather than the 800 lines per inch of the old version).
Anyway, I have everything within one folder, so I "zip it and ship it" for my clients. Is there an improvement on that?
Support Files can now be tracked by the project where I used to have to do this manually.
Not sure what you mean by "tracking" them. Anyway, they're in the "zipped" folder, and all my paths are relative to the main, so I don't see a benefit.
With DSC, RT and cRIO apps the project makes things pretty easy. Without the project.....
Yeah, it IS easier than the old "switch execution target" model. That's the one thing I discovered.
Other benefits are public and private libraries.
Don't know about that; will investigate.
Thanks.
Blog for (mostly LabVIEW) programmers: Tips And Tricks
03-07-2007 02:58 PM
03-07-2007 03:20 PM
03-07-2007 03:34 PM
I'll just throw something out here. The one thing I wish projects had was the ability to create a folder in the project that linked to an actual folder on the drive. My projects are basically a mirror of the directory in which they reside. If I create a new VI and save it to a folder somewhere in the project directory (on the drive), I also have to move the file that was created in the project to its corresponding directory (in the project window). I wish this was automatic.
I found a way around this by right clicking the folder in the project and selecting new->VI, but i don't usually use this. I'd rather just hit ctrl+n to get a new VI.
It's a minor inconvenience, but it could be fixed by adding an option to create a linked directory. This also goes along with what was originally posted - adding a VI to an LLB that was added to a project does not add the new VI to the project.
I hope that made sense.
03-07-2007 03:43 PM
OK, I can see that. I have a LINT FILTER program which finds all the cruft and lets you delete it, but your way is just as good, I guess.
The project is not a replacement for the hiearch screen.
The project also permits multiple LV contexts to be used. With the project there is a memory space for each proj open
THAT could be useful in special situations. If PROJECT1 uses X.vi, and PROJECT 2 uses X.vi, you could run both projects and you have TWO copies of X, with separate data spaces.
Blog for (mostly LabVIEW) programmers: Tips And Tricks
03-07-2007 04:39 PM
TonP, can you comment on my original questions 3 & 4?
Why should I stick SubVIs A,B and C into my project?
Why should I leave them out?
Blog for (mostly LabVIEW) programmers: Tips And Tricks
03-23-2007 07:55 AM
OK, so how do you deal with the godawful slowness of it?
I just clocked it at 35 seconds between the time I hit the RUN button, until the time it started (STARTED) deploying.
During that time, the DEPENDENCIES list got updated, and as far as I can tell, that's completely useless. It already knew all the dependencies (it loaded the main, which calls subVIs, which call sub-subVIs), so why is it doing it again?
And there are 40+ instances of DAQmx WRITE in the dependencies list, of which I use 2 or 3. So why did it waste my time chasing all those? My program is NOT, in fact, dependent on them.
Yet, as far as I can tell, I can't run a PXI program without a project.
Blog for (mostly LabVIEW) programmers: Tips And Tricks
03-23-2007 08:20 AM
BEFORE: 9.3 sec to OPEN the main VI (and all its descendents).
36.3 sec to dependency-check it.
4.0 sec to dependency-chack it the 2nd time (RUN again).
AFTER: 8.9 sec to OPEN the main.
29.5 sec to dependency-check it.
4.0 sec to dependency-chack it the 2nd time.
So there's SOME savings there, but not much. So what is the value?
Blog for (mostly LabVIEW) programmers: Tips And Tricks