'''[http://www.ni.com/labview/%|%LabVIEW]''' is proprietary software for measurement and control systems, and is the hear of the [COMPANY: National Instruments%|%NI] design platform. ** See Also ** [dataflow programming]: [puredata]: open source and uses Tcl/Tk for its GUI. ** Documentation ** [http://zone.ni.com/devzone/cda/epd/p/id/2086%|%Running Tool Command Language (Tcl) Scripts from LabVIEW]: [http://www.ni.com/white-paper/8910/en/%|%Introduction to Scripting in Perl, Python and Tcl]: [http://www.ni.com/white-paper/8911/en/%|%Advanced Scripting in Perl, Python and Tcl]: ** Description ** LabVIEW allows programming in a language called [G], G is [dataflow programming]. Its well-documented libraries that come in handy for 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 [http://www.google.com/search?sourceid=navclient&q=LabVIEW+Lego%|%kids can do it]! (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 [http://images.google.com/images?q=LabVIEW&ie=ISO-8859-1&hl=en%|%google] 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 [https://groups.google.com/forum/?hl=en#!searchin/comp.lang.tcl/labview$20tcom/comp.lang.tcl/YVSr3dFXyf8/KocWO_xROzYJ%|%Tcl and Labview ,2002-02-04] ---- [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: ======none 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). ---- [marcopolo]: I've started to implement the LabView blocks following the instructions of [RWT] (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? ---- [marciorc] 2012-05-08 13:57:51: What is the difference of: * calling the wish interpreter using the "System Exec VI" and pass command-line arguments (http://zone.ni.com/devzone/cda/epd/p/id/2086). * calling the tcl84.dll functions using the "Call Library Function" block. (http://wiki.tcl.tk/8496) Regards Marcio <> Foreign Interfaces | Device Control