GetWiki
LabVIEW
ARTICLE SUBJECTS
being →
database →
ethics →
fiction →
history →
internet →
language →
linux →
logic →
method →
news →
policy →
purpose →
religion →
science →
software →
truth →
unix →
wiki →
ARTICLE TYPES
essay →
feed →
help →
system →
wiki →
ARTICLE ORIGINS
critical →
forked →
imported →
original →
LabVIEW
please note:
- the content below is remote from Wikipedia
- it has been imported raw for GetWiki
{{Short description|System-design platform and development environment}}{{third-party|date=May 2015}}- the content below is remote from Wikipedia
- it has been imported raw for GetWiki
factoids | |
---|---|
Dataflow programming
The programming paradigm used in LabVIEW, sometimes called G, is based on data availability. If there is enough data available to a subVI or function, that subVI or function will execute. The execution flow is determined by the structure of a graphical block diagram (the LabVIEW-source code) on which the programmer connects different function-nodes by drawing wires. These wires propagate variables, and any node can execute as soon as all its input data become available. Since this might be the case for multiple nodes simultaneously, LabVIEW can execute inherently in parallel.BOOK, Bress, Thomas J., Effective LabVIEW Programming, 2013, NTS Press, [S.l.], 978-1-934891-08-7, {{rp|1â2}} Multi-processing and multi-threading hardware is exploited automatically by the built-in scheduler, which multiplexes multiple OS threads over the nodes ready for execution.Graphical programming
(File:Labview code example.png|thumb|An example of Labview code)LabVIEW integrates the creation of user interfaces (termed front panels) into the development cycle. LabVIEW programs-subroutines are termed virtual instruments (VIs). Each VI has three components: a block diagram, a front panel, and a connector pane. The last is used to represent the VI in the block diagrams of others, calling VIs. The front panel is built using controls and indicators. Controls are inputs: they allow a user to supply information to the VI. Indicators are outputs: they indicate, or display, the results based on the inputs given to the VI. The back panel, which is a block diagram, contains the graphical source code. All of the objects placed on the front panel will appear on the back panel as terminals. The back panel also contains structures and functions which perform operations on controls and supply data to indicators. The structures and functions are found on the Functions palette and can be placed on the back panel. Collectively controls, indicators, structures, and functions are referred to as nodes. Nodes are connected using wires, e.g., two controls and an indicator can be wired to the addition function so that the indicator displays the sum of the two controls. Thus a virtual instrument can be run as either a program, with the front panel serving as a user interface, or, when dropped as a node onto the block diagram, the front panel defines the inputs and outputs for the node through the connector pane. This implies each VI can be easily tested before being embedded as a subroutine into a larger program.The graphical approach also allows nonprogrammers to build programs by dragging and dropping virtual representations of lab equipment with which they are already familiar. The LabVIEW programming environment, with the included examples and documentation, makes it simple to create small applications. This is a benefit on one side, but there is also a certain danger of underestimating the expertise needed for high-quality G programming. For complex algorithms or large-scale code, a programmer must possess extensive knowledge of the special LabVIEW syntax and the topology of its memory management. The most advanced LabVIEW development systems offer the ability to build stand-alone applications. Furthermore, it is possible to create distributed applications, which communicate by a clientâserver model, and are thus easier to implement due to the inherently parallel nature of G.Widely-accepted design patterns
Applications in LabVIEW are usually designed using well-known architectures,{{citation needed|date=November 2021}} known as design patterns. The most common design patterns for graphical LabVIEW applications are listed in the table below.{| class="wikitable"|+Common design patterns for LabVIEW applications!Design pattern!Purpose!Implementation details!Use cases!LimitationsBenefits
{{Advert section|date=July 2022}}Interfacing to devices
LabVIEW includes extensive support for interfacing to devices such as instruments, cameras, and other devices. Users interface to hardware by either writing direct bus commands (USB, GPIB, Serial) or using high-level, device-specific drivers that provide native LabVIEW function nodes for controlling the device.LabVIEW includes built-in support for NI hardware platforms such as CompactDAQ and CompactRIO, with a large number of device-specific blocks for such hardware, the Measurement and Automation eXplorer (MAX) and Virtual Instrument Software Architecture (VISA) toolsets.National Instruments makes thousands of device drivers available for download on the NI Instrument Driver Network (IDNet).WEB,weblink 3rd Party Instrument Drivers - National Instruments, www.ni.com, live,weblink" title="web.archive.org/web/20141128134304weblink">weblink 2014-11-28,Code compiling
LabVIEW includes a compiler that produces native code for the CPU platform. The graphical code is converted into Dataflow Intermediate Representation, and then translated into chunks of executable machine code by a compiler based on LLVM. Run-time engine calls these chunks, allowing better performance. The LabVIEW syntax is strictly enforced during the editing process and compiled into the executable machine code when requested to run or upon saving. In the latter case, the executable and the source code are merged into a single binary file. The execution is controlled by LabVIEW run-time engine, which contains some pre-compiled code to perform common tasks that are defined by the G language. The run-time engine governs execution flow, and provides a consistent interface to various operating systems, graphic systems and hardware components. The use of run-time environment makes the source code files portable across supported platforms. LabVIEW programs are slower than equivalent compiled C code, though like in other languages, program optimization often allows to mitigate issues with execution speed.WEB,weblink NI LabVIEW Compiler: Under the Hood, 4 February 2020, ni.com,Large libraries
Many libraries with a large number of functions for data acquisition, signal generation, mathematics, statistics, signal conditioning, analysis, etc., along with numerous for functions such as integration, filters, and other specialized abilities usually associated with data capture from hardware sensors is enormous. In addition, LabVIEW includes a text-based programming component named MathScript with added functions for signal processing, analysis, and mathematics. MathScript can be integrated with graphical programming using script nodes and uses a syntax that is compatible generally with MATLAB.WEB, LabVIEW MathScript RT Module,weblink www.ni.com, live,weblink" title="web.archive.org/web/20160805161725weblink">weblink 2016-08-05,Parallel programming
LabVIEW is an inherently concurrent language, so it is very easy to program multiple tasks that are performed in parallel via multithreading. For example, this is done easily by drawing two or more parallel while loops and connecting them to two separate nodes. This is a great benefit for test system automation, where it is common practice to run processes like test sequencing, data recording, and hardware interfacing in parallel.Ecosystem
Due to the longevity and popularity of the LabVIEW language, and the ability for users to extend its functions, a large ecosystem of third party add-ons has developed via contributions from the community. Most of these add-ons are available for direct download and installation into LabVIEW using VI Package Manager (VIPM),WEB,weblink VIPM Desktop, www.vipm.io, 2023-06-09, the official package manager for LabVIEW add-ons. National Instruments also hosts a marketplace for both free and paid LabVIEW add-ons called the NI Tools Network.User community
There is a low-cost LabVIEW Student Edition aimed at educational institutions for learning purposes. There is also an active community of LabVIEW users who communicate through several electronic mailing lists (email groups) and Internet forums.Home Bundle Edition
National Instruments provides a low cost LabVIEW Home Bundle Edition.WEB,weblink LabVIEW Home Bundle for Windows - National Instruments, sine.ni.com, live,weblink" title="web.archive.org/web/20160704163634weblink">weblink 2016-07-04,Community Edition
National Instruments provides a free-for-non-commercial use version called LabVIEW Community Edition.WEB,weblink LabVIEW Community Edition - National Instruments, www.ni.com, 2020-04-28, This version includes everything in the Professional Editions of LabVIEW, has no watermarks, and includes the LabVIEW NXG Web Module for non-commercial use. These editions may also be used by K-12 schools.WEB,weblink LabVIEW Community Edition Usage Details - National Instruments, www.ni.com, 2020-04-28,Criticism
LabVIEW is a proprietary product of National Instruments. Unlike common programming languages such as C or Fortran, LabVIEW is not managed or specified by any third-party standards committee such as American National Standards Institute (ANSI), Institute of Electrical and Electronics Engineers (IEEE), or International Organization for Standardization (ISO).Non-textual
Since G language is non-textual, software tools such as versioning, side-by-side (or diff) comparison, and version code change tracking cannot be applied in the same manner as for textual programming languages. There are some additional tools to make comparison and merging of code with source code control (versioning) tools such as subversion, CVS and Perforce.WEB,weblink Thinking in G » Top 5 bad excuses for not using source code control, 2016-10-28, live,weblink" title="web.archive.org/web/20161028215453weblink">weblink 2016-10-28, WEB,weblink Software Configuration Management and LabVIEW - National Instruments, www.ni.com, live,weblink" title="web.archive.org/web/20161029043345weblink">weblink 2016-10-29, WEB,weblink Configuring LabVIEW Source Code Control (SCC) for use with Team Foundation Server (TFS) - National Instruments, www.ni.com, live,weblink" title="web.archive.org/web/20161028215645weblink">weblink 2016-10-28,Release history
In 2005, starting with LabVIEW 8.0, major versions are released around the first week of August, to coincide with the annual National Instruments conference NI Week, and followed by a bug-fix release the following February.In 2009, National Instruments began naming releases after the year in which they are released. A bug-fix is termed a Service Pack, for example, the 2009 service pack 1 was released in February 2010.In 2017, National Instruments moved the annual conference to May and released LabVIEW 2017 alongside a completely redesigned LabVIEW NXG 1.0 built on Windows Presentation Foundation (WPF).{| class="wikitable" style="font-size: 90%; text-align: left; "Repositories and libraries
OpenG, as well as LAVA Code Repository (LAVAcr), serve as repositories for a wide range of Open Source LabVIEW applications and libraries. SourceForge has LabVIEW listed as one of the possible languages in which code can be written.VI Package Manager has become the standard package manager for LabVIEW libraries. It is very similar in purpose to Ruby's RubyGems and Perl's CPAN, although it provides a graphical user interface similar to the Synaptic Package Manager. VI Package Manager provides access to a repository of the OpenG (and other) libraries for LabVIEW.Tools exist to convert MathML into G code.WEB,weblink Math Node - A new way to do math in LabVIEW, 25 October 2010, ni.com, live,weblink" title="web.archive.org/web/20110225172619weblink">weblink 25 February 2011,Related software
National Instruments also offers a product named Measurement Studio, which offers many of the test, measurement, and control abilities of LabVIEW, as a set of classes for use with Microsoft Visual Studio. This allows developers to harness some of LabVIEW's strengths within the text-based .NET Framework. National Instruments also offers LabWindows/CVI as an alternative for ANSI C programmers.When applications need sequencing, users often use LabVIEW with the TestStand test management software, also from National Instruments.The Ch interpreter is a C/C++ interpreter that can be embedded in LabVIEW for scripting.WEB,weblink Embedding a C/C++ Interpreter Ch into LabVIEW for Scripting, iel.ucdavis.edu, live,weblink" title="web.archive.org/web/20110515065700weblink">weblink 2011-05-15, DSP Robotics' FlowStone DSP also uses a form of graphical programming similar to LabVIEW but is limited to the robotics industry.LabVIEW has a direct node with modeFRONTIER, a multidisciplinary and multi-objective optimization and design environment, written to allow coupling to almost any computer-aided engineering tool. Both can be part of the same process workflow description and can be virtually driven by the optimization technologies available in modeFRONTIER.See also
- Comparison of numerical-analysis software
- Dataflow programming
- Fourth-generation programming language
- Visual programming language
- Graphical system design
- Related software titles
- Lego Mindstorms NXT, whose programming environment NXT-G is based on LabVIEW and can be programmed within LabVIEW.
- 20-sim
- LabWindows/CVI
- MATLAB/Simulink
- Virtual instrumentation
- CompactDAQ
- CompactRIO
- TOMVIEW
- Free and open-source packages
References
{{Reflist}}Further reading
- BOOK, Bress, Thomas J., Effective LabVIEW Programming, 2013, NTS Press, [S.l.], 978-1-934891-08-7,
- BOOK, Blume, Peter A., The LabVIEW Style Book, 2007, Prentice Hall, Upper Saddle River, NJ, 978-0-13-145835-2,
- BOOK, Travis, Jeffrey, Kring, Jim, LabVIEW for Everyone : Graphical Programming Made Easy and Fun., 2006, Prentice Hall, Upper Saddle River, NJ, 0-13-185672-3, 3rd,
- BOOK, Conway, Jon, Watts, Steve, A Software Engineering Approach to LabVIEW, 2003, Prentice Hall PTR, Upper Saddle River, NJ, 0-13-009365-3,
- BOOK, Olansen, Jon B., Rosow, Eric, Virtual Bio-Instrumentation : Biomedical, Clinical, and Healthcare Applications in LabVIEW, 2002, Prentice Hall PTR, Upper Saddle River, NJ, 0-13-065216-4,
- BOOK, Beyon, Jeffrey Y., LabVIEW Programming, Data Acquisition and Analysis, 2001, Prentice Hall PTR, Upper Saddle River, NJ, 0-13-030367-4,
- BOOK, Travis, Jeffrey, Internet Applications In LabVIEW, 2000, Prentice Hall PTR, Upper Saddle River, NJ, 0-13-014144-5,
- BOOK, Essick, John, Advanced LabVIEW Labs, 1999, Prentice Hall, Upper Saddle River, NJ, 0-13-833949-X,
Articles on specific uses
- JOURNAL
, Desnica V, Schreiner M
, A LabVIEW-controlled portable x-ray fluorescence spectrometer for the analysis of art objects
, X-Ray Spectrometry
, 35
, 5
, 280â286
, October 2006
,weblink
,weblink" title="archive.today/20100818064910weblink">weblink
, dead
, 2010-08-18
, 10.1002/xrs.906
, Vladan
, Schreiner
, Manfred, 2006XRS....35..280D
,
, A LabVIEW-controlled portable x-ray fluorescence spectrometer for the analysis of art objects
, X-Ray Spectrometry
, 35
, 5
, 280â286
, October 2006
,weblink
,weblink" title="archive.today/20100818064910weblink">weblink
, dead
, 2010-08-18
, 10.1002/xrs.906
, Vladan
, Schreiner
, Manfred, 2006XRS....35..280D
,
- JOURNAL
, Keleshis C, Ionita C, Rudin S
, Labview [sic] graphical user interface for micro angio-fluoroscopic high resolution detector
, Medical Physics
, 33
, 6
, 2007
, June 2006
,weblink
, 10.1118/1.2240285
, C.
, Ionita
, C.
, Rudin
, S.,
, Labview [sic] graphical user interface for micro angio-fluoroscopic high resolution detector
, Medical Physics
, 33
, 6
, 2007
, June 2006
,weblink
, 10.1118/1.2240285
, C.
, Ionita
, C.
, Rudin
, S.,
- JOURNAL
, Fedak W., Bord D., Smith C., Gawrych D., Lindeman K.
, Automation of the Franck-Hertz experiment and the Tel-X-Ometer x-ray machine using LABVIEW
, American Journal of Physics
, 71
, 5
, 501â506
, AAPT
, May 2003
,weblink
, 10.1119/1.1527949
, W.
, Bord
, D.
, Smith
, C.
, Gawrych
, D.
, Lindeman
, K., 2003AmJPh..71..501F
,
, Automation of the Franck-Hertz experiment and the Tel-X-Ometer x-ray machine using LABVIEW
, American Journal of Physics
, 71
, 5
, 501â506
, AAPT
, May 2003
,weblink
, 10.1119/1.1527949
, W.
, Bord
, D.
, Smith
, C.
, Gawrych
, D.
, Lindeman
, K., 2003AmJPh..71..501F
,
Articles on education uses
- JOURNAL
, Belletti A., Borromei R., Ingletto G.
, Borromei
, R.
, Ingletto
, G., Teaching physical chemistry experiments with a computer simulation by LabVIEW
, Journal of Chemical Education
, 83
, 9
, 1353â1355
, ACS
, September 2006
, 10.1021/ed083p1353
, A., 2006JChEd..83.1353B
,
, Borromei
, R.
, Ingletto
, G., Teaching physical chemistry experiments with a computer simulation by LabVIEW
, Journal of Chemical Education
, 83
, 9
, 1353â1355
, ACS
, September 2006
, 10.1021/ed083p1353
, A., 2006JChEd..83.1353B
,
- JOURNAL
, Moriarty P.J., Gallagher B.L., Mellor C.J., Baines R.R.
, Graphical computing in the undergraduate laboratory: Teaching and interfacing with LabVIEW
, American Journal of Physics
, 71
, 10
, 1062â1074
, AAPT
, October 2003
,weblink
, 10.1119/1.1582189
, P. J.
, Gallagher
, B. L.
, Mellor
, C. J.
, Baines
, R. R., 2003AmJPh..71.1062M
,
, Graphical computing in the undergraduate laboratory: Teaching and interfacing with LabVIEW
, American Journal of Physics
, 71
, 10
, 1062â1074
, AAPT
, October 2003
,weblink
, 10.1119/1.1582189
, P. J.
, Gallagher
, B. L.
, Mellor
, C. J.
, Baines
, R. R., 2003AmJPh..71.1062M
,
- JOURNAL
, Lauterburg
, Urs
, LabVIEW in Physics Education
, A White Paper About Using LabVIEW in Physics Demonstration and Laboratory Experiments and Simulations.
, June 2001
,weblink
,
, Urs
, LabVIEW in Physics Education
, A White Paper About Using LabVIEW in Physics Demonstration and Laboratory Experiments and Simulations.
, June 2001
,weblink
,
- JOURNAL
, Drew SM
, Integration of National Instruments' LabVIEW software into the chemistry curriculum
, Journal of Chemical Education
, 73
, 12
, 1107â1111
, ACS
, December 1996
, 10.1021/ed073p1107
, Steven M., 1996JChEd..73.1107D
,
, Integration of National Instruments' LabVIEW software into the chemistry curriculum
, Journal of Chemical Education
, 73
, 12
, 1107â1111
, ACS
, December 1996
, 10.1021/ed073p1107
, Steven M., 1996JChEd..73.1107D
,
- JOURNAL
, Muyskens MA, Glass SV, Wietsma TW, Gray TM
, Glass
, Samuel V.
, Wietsma
, Thomas W.
, Gray
, Terry M., Data acquisition in the chemistry laboratory using LabVIEW software
, Journal of Chemical Education
, 73
, 12
, 1112â1114
, ACS
, December 1996
, 10.1021/ed073p1112
, Mark A., 1996JChEd..73.1112M
,
, Glass
, Samuel V.
, Wietsma
, Thomas W.
, Gray
, Terry M., Data acquisition in the chemistry laboratory using LabVIEW software
, Journal of Chemical Education
, 73
, 12
, 1112â1114
, ACS
, December 1996
, 10.1021/ed073p1112
, Mark A., 1996JChEd..73.1112M
,
- JOURNAL
, Ogren PJ, Jones TP
, Jones
, Thomas P., Laboratory interfacing using the LabVIEW software package
, Journal of Chemical Education
, 73
, 12
, 1115â1116
, ACS
, December 1996
, 10.1021/ed073p1115
, Paul J., 1996JChEd..73.1115O
,
, Jones
, Thomas P., Laboratory interfacing using the LabVIEW software package
, Journal of Chemical Education
, 73
, 12
, 1115â1116
, ACS
, December 1996
, 10.1021/ed073p1115
, Paul J., 1996JChEd..73.1115O
,
- JOURNAL
, Trevelyan
, J.P.
, 10 Years Experience with Remote Laboratories
, International Conference on Engineering Education Research
, ACS
, June 2004
,weblink
,
, J.P.
, 10 Years Experience with Remote Laboratories
, International Conference on Engineering Education Research
, ACS
, June 2004
,weblink
,
External links
- {{Official website|www.ni.com/labview}}{{Prone to spam|date=November 2018}}
- content above as imported from Wikipedia
- "LabVIEW" does not exist on GetWiki (yet)
- time: 4:01am EDT - Sat, May 18 2024
- "LabVIEW" does not exist on GetWiki (yet)
- time: 4:01am EDT - Sat, May 18 2024
[ this remote article is provided by Wikipedia ]
LATEST EDITS [ see all ]
GETWIKI 23 MAY 2022
The Illusion of Choice
Culture
Culture
GETWIKI 09 JUL 2019
Eastern Philosophy
History of Philosophy
History of Philosophy
GETWIKI 09 MAY 2016
GetMeta:About
GetWiki
GetWiki
GETWIKI 18 OCT 2015
M.R.M. Parrott
Biographies
Biographies
GETWIKI 20 AUG 2014
GetMeta:News
GetWiki
GetWiki
© 2024 M.R.M. PARROTT | ALL RIGHTS RESERVED