LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

[Long] LV vs VEE.


Hello all.
I am a senior VB programmer.
In my company I deal with production RF tests, executed by means of
classic GPIB instruments, generally from different manufacturers
such as Network Analyzers, Spectrum Analyzers, Signal Generators.
To make the automated measurement task easier and more flexible,
I have created a script interpreter wich is able to send basic,
low level GPIB commands to the instruments and perform other
simple tasks such as calculations, RF switch activations,
prompt the user for actions, pass/fail notifications,
data storage on csv files and so on.

Main drawback: my scripts are instrument related.
If I change any of the instrument models on my test desk,
I often have to rewrite part of my scripts as SCPI language
(when available) is hardly exactly the same
on different manufacturers' instruments.

My scripting tool is normally used in production tests with success.
But R&D people have different needs than production's.
They would like to be able to independently and fastly develop their
own automated test procedures that will change from time to time
(not like in production where the same test procedure is repeated
on the same class of products), possibly with easy to reuse and
maintain project templates.

I have tried introducing them to my scripting tool but being
it not so user friendly I was wondering if any better
solution could exist on the market for people who, generally,
is not very skilled at coding and programming.

So far I have focused my attention on two industry products:

Agilent VEE and LV.
I must say that I'm an absolute beginner for both.

My question, to those of you who have used or know both the products:
do you think that any of these products (or any other you may know)
could represent *The Solution* to my R&D problem?
As far as I understand, VEE is more instrument oriented,
while LV is a much larger and comprehensive standard.

Coming back to the drawback of my scripting tool,
I see that both VEE and LV support instrument drivers.
Does it mean that if I change an instrument (say, an HP generator
replacing it with an Aeroflex one, provided that
I have the drivers for both),
this will have no major impact on my written applications,
just requiring a simple driver replacement?
And if this is true, how can this be accomplished in LV?

I have made a simple test with VEE: I created a very simple project
with just one instrument (a generator) and the matching
VXIp&p driver installed and ready for that instrument.
I instanced a driver connected to the instrument in my application
to perform a single, simple operation such as "switch RF OFF".
When I run the project everything works fine.
But if I save the project and then reload it and change
the Generator model,
I'm not able to reuse that simple project adapting it to the new
scenario, without deleting the object and recreating a new one
with the new driver having to specify again the tasks to perform.

This sounds to me as a big limit, provided I understood well how
VEE works, which I'm not 100% sure :-).

There must be skilled LV programmers here on this NG
so I ask you: when you happened to change instruments, what kind of
impact did you have to face, about your LV existing projects?

Also, I see that VEE can compile into redistributable applications
but it seems not to be able to generate standard .exe
executable files.
I guess that LV projects can be compiled into classic .exe
files, instead.
Finally: can Visual Basic pieces of code be used/imported into LV?

Any of your precious suggestions or advice is welcome.

Best Regards

ATEmon



-----
This article posted from the web-interface to the Internet Partners news
server (news.ipinc.net), Portland's full-service business Internet
provider. Check out http://news.ipinc.net/ for free web access to Usenet
news.
0 Kudos
Message 1 of 6
(4,310 Views)

It has been a long time since I looked at what VEE could do but your conclusion that it is pretty limited to instrument control is on the mark. I think LabVIEW can do this at least as well and it does so many other things that VEE programmers can only dream about. LabVIEW does DAQ, vision, motion, fpga, embedded, and a whole lot more.

Your interchangeable instruments is covered by something called IVI and LabVIEW and VEE both support this. Put simply, the IVI foundation has defined certain classes of instruments (scope, power supply, dmm, function gen, switch, arb, spec an) and your write code that calls class drivers. In order to replace an instrument, you install the instrument specific driver and re-configure a utility that tells the generic class driver which instrument driver to use. As long as you stick with functions that are in the class driver, your programs never need to be modified. The problem is that not all instruments are covered by a generic instrument class and if you have to use an instrument specific function, the interchangability goes away. There are two types of IVI drivers. The type supported by LabVIEW is called IVI-C and these drivers are written with LabWindows/CVI. The other type(which LabVIEW can also call) is IVI-COM and these are based on ActiveX. I have no idea what type VEE supports best. You can find out more at http://www.ni.com/ivi/ which also has a link to the IVI Foundations web site.

LabVIEW can use VB code that is made into an ActiveX control or DLL.

Message 2 of 6
(4,289 Views)
I learned VEE before Labview, and I can truly say that Labview was a huge step forward.  It does a lot more than VEE.  For RF test, both are fine, but I find that Labview has a lot more built in functions than VEE, and the diagrams are much easier to read.  VEE has blocks with text headings and Labview has actual icons that look way cool.  For example, VEE addition function is a rectangle block with a header something like A+B, while Labview icon looks like a triangle with a + sign in it, signifying two inputs and one output.  I presently do a lot of RF testing, and Labview is definitely the way to go.  Of course VEE proponents would argue that point.  But take it from someone who has used both, Labview offers a lot more.  Also the Labview community is vastly greater than the VEE community, meaning lots more help for your problems.
 
- tbob

Inventor of the WORM Global
Message 3 of 6
(4,274 Views)

And as for executables, you can compile LV code into EXEs, but you will need the application builder. That comes built-in with some distributions of LV, but for some of the cheaper ones (with "cheap" being a very relative word), you will have to buy it seperately. Also, you will need to install the LV run-time engine, in the same way that you would need the C or VB RT libraries to run executables compiled in those languages (for those, the RTs are usually bundled with your operating system). When you build your executable, you can create an installer to install the RTE for you. You might need to install some other drivers depending on the functionality you'll need.

Another point about LV code is that it's portable to other platforms like Linux and Mac. Not all Windows functionality would be supported on those systems (like ActiveX, mentioned by Dennis), so you would need to check what is before doing something like that (if you even wanted too).


___________________
Try to take over the world!
0 Kudos
Message 4 of 6
(4,239 Views)

>And as for executables, you can compile LV code into
>EXEs, but you will need the application builder. That >
>comes built-in with some distributions of LV,
>but for some of the cheaper ones (with "cheap" being a very relative word),
>you will have to buy it seperately.
>Also, you will need to install the LV run-time engine,
>in the same way that you would need the C or VB RT
>libraries to run executables compiled in those languages
>(for those, the RTs are usually bundled with your operating system).
>When you build your executable, you can create an installer to install the
>RTE for you. You might need to install some other drivers
>depending on the functionality you'll need.
>Another point about LV code is that it's portable
>to other platforms like Linux and Mac.
>Not all Windows functionality would be supported on those systems
>(like ActiveX, mentioned by Dennis), so you would need
>to check what is before doing something like that (if you even wanted too).

Hi Folks,
I was reading this 3ad with interest as I'm about to decide if
purchasing LV or not.

The capability of building exe files is interesting: if I got it well,
LV will make a distributable package including required runtimes.
My question is: if I develop a one line application (say the
classic hello world) how large the required package, to work
on any windows machine?

In a few words: is the building process dinamically "intelligent"
including only what really needed, or will a "Hello world" require
several megs to run (and if so, how many megs, more or less)?
Does this building process take into account, for example, of
needed drivers such as instrument drivers and 488 drivers?

Thanks for your kind answers.

John


0 Kudos
Message 5 of 6
(4,218 Views)

@JohnW wrote:

LV will make a distributable package including required runtimes.
My question is: if I develop a one line application (say the classic hello world) how large the required package, to work
on any windows machine?

In a few words: is the building process dinamically "intelligent" including only what really needed, or will a "Hello world" require
several megs to run (and if so, how many megs, more or less)?
Does this building process take into account, for example, of needed drivers such as instrument drivers and 488 drivers?

The size of the RTE varies between different versions of LV. For LV 8.x, I believe the practical minimum size is around 80 MB. There is a smaller version (around 30 MB), but I think that would only work for a feature known as Remote Front Panels, which allows you to control your program through a web browser. This size is because the RTE includes a lot of the base functionality needed to run programs. After you install it once, you should be able to run any LV-built EXE on that machine. Of course, with CDs and DVDs this should not be a problem and you can download the RTE seperately, if you don't want to send a big installer through email.

The exceptions to that would be executables which require additional NI drivers for talking to hardware. The way I understand it, the LV 8.x application builder gives you a lot of options for which drivers you want to add into your installation. Depending on what functionality you need, this could easily come out as several hundred MB and quite a long time for installing.

BTW, you could (at least in the past) run some programs (usually ones which didn't require hardware) without installing the RTE by simply having the proper DLLs in the same folder as your executable. I don't know if that still works, though.


___________________
Try to take over the world!
0 Kudos
Message 6 of 6
(4,216 Views)