LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Upgrading VIs from 5.0.1 to 7.1, lsb not found

Good time of day.

I am currently in the process of upgrading from LabView 5.0.1 to 7.1 on a Mac system. I tried to start with a simple example that we have been using, but it has trouble locating DIGPRTCF.lsb which as far as I understand is an external file. I tried looking for it on the harddrive and in the libraries (llb files under vi.lib) but had no luck. I've also seen in previous posts that this file might not even work under 7.1 since it was written for an older version.

I don't have an idea of what was in that file so rewriting it is not really an option. So my question is how could I locate this file to try to run it or should I just figure out what it should do and rewrite it.

Also where could I find a good guide on how to upgrade from version 5 to 7 so that all of the sub vis that I use are from the newer version.

Thanks in advance,

Igor
0 Kudos
Message 1 of 5
(2,768 Views)
Igor,

An .lsb is a code resource for a CIN (code interface node). The author of the CIN creates the .lsb using a third party compiler and some LabVIEW-supplied tools, and then imports the .lsb into the CIN from the LV block diagram. After that point, the .lsb itself isn't necessary. (There's actually a more obscure use of .lsbs called "external subroutines", but it's unlikely you're using those.)

The most common reason for the message you're seeing is that you're loading the VIs on a platform other than the one on which the .lsb was built. For example, if the .lsb was created on Windows, you'd see this message when loading the VIs on a Mac. The .lsb must be recreated on the new platform using the appropriate compiler.

It would be helpful to know which VI contains the CIN that's missing its .lsb.

Steven H.
0 Kudos
Message 2 of 5
(2,757 Views)
There's another thing to try if you're converting an old 5.0 llb. If the llb contains any native LabVIEW functions, you should delete those from the llb and let the conversion find the current functions. A lot of old LabVIEW functions used an lsb to interface to device drivers or to C code. NI replaced those a while ago with DLL or shared library calls.
0 Kudos
Message 3 of 5
(2,748 Views)
Steven,

I am trying to use DIO Port Config, Port Write and Port Read VIs from zadvd.lld. I am not sure whether the lsb was built on this platform, but I know for a fact that those VIs run under 5.0.1 but not under 7.1 (if my understanding is correct, that means that the lsb was built under this platform. I might be wrong). On the other hand 5.0.1 runs under Mac OS 9, while 7.1 runs under OS X.

Do you know if the files it is looking for (DIGPRTCF.lsb, DIGPRTRD.lsb and DIGPRTWT.lsb) are shipped with the standard VIs?

Thanks for the help,

Igor
0 Kudos
Message 4 of 5
(2,744 Views)
Close everything and restart LabVIEW. Create a new VI and on the diagram, check if DIO Port Config, DIO Port Write, etc. are on your palette (NI Measurments>Data Acquisition>Digital I/O>Advanced Digital I/O. If they are there, put the functions on your diagram. Now open the old VIs. Because you can only have on VI of the same name loaded into memory at the same time, this will force the VI to use the functions that ship with the current version of LabVIEW. If it opens without prompting for the .lsb, then my guess is correct about the llb you're trying to convert has the obsolete functions in it. The current functions (at least on windows) do not have a Code Interface Node with an lsb. When converting, it's always a good idea to delete NI's VIs from any llb you're converting.
0 Kudos
Message 5 of 5
(2,737 Views)