Version 13 of LabVIEW

Updated 2008-09-03 06:53:45 by marcopolo

Product by COMPANY: National Instruments. Allows programming in a language called G, G is Flow Based Programming, actually they call it dataflow. Has well documented libraries that come in handy when you are solving all kinds of 'automation' problems.

  • Signal Processing
  • Image recognition
  • Maths
  • ...

Connects to many instruments/devices by the use of VISA, IVI, GPIB, TCP/IP or UDP, ActiveX... name it LabVIEW plays it.

Programming in LV is (even more) fun (than programming Tcl ;-)) because you do not need to type your program (G), you just draw it. Even kids can do it [L1 ]! (What would be a starters age for Tcl?)

(The result is something that is sometimes called spagetti-code, in the real meaning of spagetti. Check out [L2 ] for an impression of what it looks like.)


The most fun part is that it can be glued together with Tcl by the use of tcom as mentioned in [L3 ] .


RWT: You can run Tcl scripts from within LabVIEW by calling the tcl84.dll functions using the "Call Library Function" block. Just instantiate blocks equivalent to this code:

  interp = Tcl_CreateInterp();
  Tcl_FindExecutable(interp, "labVIEW.exe");
  Tcl_Init(interp);
  Tcl_Eval(interp, script);
  Tcl_GetStringResult(interp);

Point the library path to tcl84.dll, run in UI thread, and use "C" calling convention. You can't define types (in LabVIEW 6.1), but defining interp as "32 bit unsigned int" seems to work. And you can make the calls sequential by chaining the output value of interp to the next function in the sequence. Attach input and output controls to the string script and result return value, and you can type in scripts and display the result on your LabVIEW control panel.


Setok: For me the most interesting thing about LabVIEW is that it's really the only programming language I can think of where handling concurrency is just as easy as coding sequentially. Indeed, concurrency is the natural way to do things in LabVIEW (whether it actually runs the threads concurrently is another matter, but there is potential in that type of coding).


See also puredata, which is open source and uses Tcl/Tk for its GUI.


marcopolo: I've strated to implement the LabView blocks following the instructions of RTW (executing "set var 5") but it didn't work. Is there someone who built the same blocks for LabView 7.1 and could give me the *.vi?