LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Replacing sub vi's

There are subtle details I am missing, but I am sure it can be done.

We have an old application I wrote, (LabView 5.0/1998) and it was sold to my client as a compiled application/no diagrams. They opted not to get a support contract and never called. Now they come to get it upgraded, so I pulled the backup tape from 1998, but it has file corruption. Some of the VIs are no more. But I upacked the LLB back into a tree structure, and the app works, some with source, some with out.

This application has over 200 VIs in it, for my sanity I would like to work from the simple to complicated.

There are 3 types of VIs

1) complicated formula - math beyond reason, not reverse engineerable.
2) trivial - array minus head and tail, strip new lines from string, etc...
3) communications - GPIB low level casting results, instrument command macros, etc..

I want to replace all of the type 2 &3 VIs with new VIs which call the old VI.

But I get linking errors when doing so. What are the requirements to replace a sub-vi such that the parent does not need to be recompiled (as it cannot be)?
0 Kudos
Message 1 of 6
(3,101 Views)
found this too, it also alludes to it being possible.

http://forums.ni.com/ni/board/message?board.id=170&message.id=72624&requireLogin=False
0 Kudos
Message 2 of 6
(3,090 Views)
jpyeron,

I'm not completely clear on what it is you want to do. You say that some VIs are no more, so do you want to recreate those VIs and then have your top-level application call the new version? One thing that confuses me is when you say you "want to replace all of the type 2 &3 VIs with new VIs which call the old VI." What do you mean when you say that the new VI will call the old VI?

I'm also not sure what you mean when you say that, after taking dismantling the LLB, the "application still works, some with source, some without." Could you explain that a little more?

Have a good one!

Tyler S
0 Kudos
Message 3 of 6
(3,062 Views)
I'm afraid that the link you gave is a different situation. What they are saying there is that a new (i.e. changed functionality) vi can be used in place of an older (same version of LabVIEW) without 'relinking', which is a different animal than recompiling, if the connector pane hasn't changed. If you are trying to link vi's of a new version of LabVIEW to those of an older version, it will try and recompile them. If the older ones don't have diagrams this will fail. When you refer to your #2 and #3 vi's and talk about replacing them with newer ones, the mere act of reading them into a newer version will automatically either replace (built in labview functions) or recompile the ones you created, but it will require them to have diagrams. Depending on the level of effort to try and recreate the old code, the money the client is willing to spend, etc., you might look into one of the data recovery houses, they have performed some near miracles in data recovery, but they tend to price these miracles pretty expensively.


P.M.
Putnam
Certified LabVIEW Developer

Senior Test Engineer North Shore Technology, Inc.
Currently using LV 2012-LabVIEW 2018, RT8.5


LabVIEW Champion



0 Kudos
Message 4 of 6
(3,054 Views)
We have REINSTALLED labview 5.0 to run the application.

Of the recovered sources, we have been able to plug it in some places throughout the source tree.

We now have many VIs with out source, we are going to rewrite them.

I would be quicker if we can do the rewrite from the bottom up (API calls) and not top down.

In LabView 5.0 the program still works as this "frankinstein" of VIs w/ and w/o block diagrams.
0 Kudos
Message 5 of 6
(3,045 Views)
> What they are saying there is that a new (i.e. changed functionality)
> vi can be used in place of an older (same version of LabVIEW) without 'relinking',
> which is a different animal than recompiling, if the connector pane hasn't changed.

This is my goal, use LabView 5.0, to make a New VI, to replace the OLD w/o relinking. As the parent VI does not have a block diagram.


> Depending on the level of effort to try and recreate the old code,
> the money the client is willing to spend, etc., you might look into one of the data
> recovery houses, they have performed some near miracles in data recovery,
> but they tend to price these miracles pretty expensively.

The media does not have any bit errors, so it was the source which was corrupt upon backup, does any one "recover" labview files?
0 Kudos
Message 6 of 6
(3,044 Views)