<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://labviewwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hooovahh</id>
	<title>LabVIEW Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://labviewwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hooovahh"/>
	<link rel="alternate" type="text/html" href="https://labviewwiki.org/wiki/Special:Contributions/Hooovahh"/>
	<updated>2026-04-22T10:18:47Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Symbolic_path&amp;diff=31611</id>
		<title>Symbolic path</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Symbolic_path&amp;diff=31611"/>
		<updated>2022-04-18T17:40:56Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When files are located beneath certain special folders, callers that link to these files will link to them using a &#039;&#039;symbolic path&#039;&#039;, rather than an absolute or relative path.  The &#039;&#039;symbolic path&#039;&#039; will be relative to the special folder.  The following table lists these special folders and their &#039;&#039;symbolic path&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! symbolic path&lt;br /&gt;
! description&lt;br /&gt;
! actual path&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;userlib&amp;gt;&lt;br /&gt;
| User Libraries&lt;br /&gt;
| &amp;lt;LabVIEW&amp;gt;\user.lib&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;vilib&amp;gt;&lt;br /&gt;
| NI Libraries and Addons&lt;br /&gt;
| &amp;lt;LabVIEW&amp;gt;\vi.lib&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;instrlib&amp;gt;&lt;br /&gt;
| Instrument Drivers&lt;br /&gt;
| &amp;lt;LabVIEW&amp;gt;\instr.lib&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;helpdir&amp;gt;&lt;br /&gt;
| Help Files&lt;br /&gt;
| &amp;lt;LabVIEW&amp;gt;\help&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;osdatadir&amp;gt;&lt;br /&gt;
| Default file directory of the operating system&lt;br /&gt;
| (OS Dependent)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;menu&amp;gt;&lt;br /&gt;
| Palette Menus&lt;br /&gt;
| &amp;lt;LabVIEW&amp;gt;\menus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;resource&amp;gt;&lt;br /&gt;
| Various VIs and resources used by LabVIEW and plugins, and generally not intended to be called by end-user applications.&lt;br /&gt;
&#039;&#039;Note this first appeared in LabVIEW 2012 (based on [https://forums.ni.com/t5/Developer-Center-Discussions/Make-the-LabVIEW-quot-resource-quot-folder-a-symbolic-path/td-p/3438293?profile.language=en this idea exchange post]) and prior to that it was not a symbolic path.&#039;&#039;&lt;br /&gt;
| &amp;lt;LabVIEW&amp;gt;\resource&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that some of these can have the actual path changed by changing the settings in &#039;&#039;&#039;Tools&amp;gt;&amp;gt;Options&#039;&#039;&#039;. The whole point of the symbolic path is to indicate &amp;quot;load from whatever location this path is currently defined to be.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For example, if you have a VI located in the following location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;LabVIEW&amp;gt;\user.lib\_OpenG.lib\array\array.llb\Conditional Auto-Indexing Tunnel__ogtk.vi&lt;br /&gt;
&lt;br /&gt;
Callers will link to this VI using the following &#039;&#039;symbolic path&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;userlib&amp;gt;\_OpenG.lib\array\array.llb\Conditional Auto-Indexing Tunnel__ogtk.vi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;symbolic path&#039;&#039; are not generally encountered.  They are used mostly under the hood of LabVIEW, for example, when using the Application &#039;&#039;&#039;Linker:Read Info From File&#039;&#039;&#039; and &#039;&#039;&#039;Linker:Write Info To File&#039;&#039;&#039; methods.&lt;br /&gt;
&lt;br /&gt;
== Resolving Symbolic Paths Programmatically==&lt;br /&gt;
&lt;br /&gt;
You can call the private &#039;&#039;&#039;Resolve Symbolic Path&#039;&#039;&#039; method to convert a Symbolic Path to an absolute path, as shown in the screenshot, below.&lt;br /&gt;
&lt;br /&gt;
[[Image:ResolveSymbolicPath.png]]&lt;br /&gt;
&lt;br /&gt;
== Auto update of symbolic paths ==&lt;br /&gt;
If you have a VI linked to another VI inside a symbolic path LabVIEW will automatically store the path symbolically. Here&#039;s the following use case:&lt;br /&gt;
&lt;br /&gt;
Suppose you want to build a LabVIEW tool that resides under the Tools menu but is also accessible via the user.lib palette. What you can do is create a set-up upon built like this:&lt;br /&gt;
&lt;br /&gt;
*[Built]&lt;br /&gt;
**[Tools]&lt;br /&gt;
***Menu VI&lt;br /&gt;
**[user.lib]&lt;br /&gt;
***Actual VI&lt;br /&gt;
&lt;br /&gt;
When you copy the contents of &#039;&#039;Built&#039;&#039; to the LabVIEW folder the &#039;&#039;Menu VI&#039;&#039; will have a relative path like &#039;&#039;..\user.lib\Actual VI&#039;&#039; when you do a resave of the &#039;&#039;Menu VI&#039;&#039; the path will be changed to an absolute path &#039;&#039;&amp;lt;userlib&amp;gt;\Actual VI&#039;&#039;. Now you can move the &#039;&#039;Menu VI&#039;&#039; around without breaking it.&lt;br /&gt;
&lt;br /&gt;
== When Using Modules (FPGA, RT, etc) ==&lt;br /&gt;
A symbolic path may resolve to different actual files on disk depending upon which target the VI is loaded into. So a VI that is written to use &amp;lt;vilib&amp;gt;\a.vi may use &amp;lt;labview&amp;gt;\vi.lib\a.vi when loaded for the desktop target, but may use &amp;lt;labview&amp;gt;\vi.lib\fpga\a.vi when loaded for the FPGA target.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://zone.ni.com/reference/en-XX/help/371361B-01/lvhowto/using_symbolic_paths/ LabVIEW Help: Using Symbolic Paths]&lt;br /&gt;
&lt;br /&gt;
[[Category:File IO]]&lt;br /&gt;
[[Category:Development Environment]]&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Package_Manager_Comparison&amp;diff=8175</id>
		<title>Package Manager Comparison</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Package_Manager_Comparison&amp;diff=8175"/>
		<updated>2019-06-28T17:15:21Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the comparison of package management solutions in the LabVIEW community.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Characteristic !! [https://vipm.jki.net/ VI Package Manager (Free)] !! [https://vipm.jki.net/ VI Package Manager (Pro $599/user/year)] !! [https://www.ni.com/en-us/support/downloads/ni-package-manager.html NI Package Manager] !! [https://gpackage.io/ G Package Manager (GPM)]&lt;br /&gt;
|-&lt;br /&gt;
| Installs With LabVIEW || Yes || No || Yes || No&lt;br /&gt;
|-&lt;br /&gt;
| Created By|| JKI || JKI || National Instruments || MGI (Moore Good Ideas)&lt;br /&gt;
|-&lt;br /&gt;
| Open Source || No || No || No || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Language Written In || G  || G || C# || G&lt;br /&gt;
|-&lt;br /&gt;
| Free To Install || Yes || Yes Trial || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| API || No || Yes || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Local repository management&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; || No || Yes || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Supports multiple LabVIEW versions from a single package || Yes || Yes || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Scope of package installation&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; || LabVIEW IDE || LabVIEW IDE || LabVIEW IDE || Per Project&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Supports LabVIEW NXG || No || No || Yes || No&lt;br /&gt;
|-&lt;br /&gt;
| Create pallets as a part of the package creation || Yes || Yes || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Supports Installation to symbolic paths (user.lib) || Yes || Yes || No || N/A&amp;lt;sup&amp;gt;6&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Supports Local and Global repositories&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; || Yes || Yes || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Support Structure || [https://forums.jki.net/forum/5-vi-package-manager-vipm/ JKI online support] || [https://forums.jki.net/forum/5-vi-package-manager-vipm/ JKI online support] || [https://forums.ni.com/t5/NI-Package-Manager-NIPM/bd-p/1023 NI Forums] || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Pre Build Step || No || Yes, G Code || Yes - via Source Distribtuion, G Code || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Post Build Step || No || Yes, G Code || Yes - via Source Distribtuion, G Code || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Pre Install Step || Yes, G Code || Yes, G Code || No || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Post Install Step || Yes, G Code || Yes, G Code || Yes - via exe or bat || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Pre Uninstall Step || Yes, G Code || Yes, G Code || Yes - via exe or bat || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Post Uninstall Step || Yes, G Code || Yes, G Code || No || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports N post install/pre uninstall steps || No || No || Yes || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports N Post Install All steps|| No || No || Yes || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Automatic Dependency Scanning&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; || No || Yes || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Has a dedicated package manager application || Yes || Yes || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Packages Searchable via Web Page || Yes || Yes || No || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Has a community repository of packages || No || No || No || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Can list packages created by other package managers as dependencies&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; || No || No || No || No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Detail Number !! Additional Information&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Repository types: A global repository is accessible to anyone. A local repository is created by an individual (company, etc.) and hosted on a local server.&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Scope of Package Installation: determines if multiple versions of a package are allowed or if you may have only one version of a package. &lt;br /&gt;
|-&lt;br /&gt;
| 3 || Example&lt;br /&gt;
|-&lt;br /&gt;
| 4 || Example&lt;br /&gt;
|-&lt;br /&gt;
| 5 || LabVIEW IDE Coming Soon&lt;br /&gt;
|-&lt;br /&gt;
| 6 || Coming Soon&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Only packages of the same type can be listed as dependencies. For example, a VI Package can only depend on other VI Packages. A VI Package cannot depend on a NI Package. &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Package_Manager_Comparison&amp;diff=8166</id>
		<title>Package Manager Comparison</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Package_Manager_Comparison&amp;diff=8166"/>
		<updated>2019-06-28T13:33:42Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the comparison of package management solutions in the LabVIEW community.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Characteristic !! [https://vipm.jki.net/ VI Package Manager (Free)] !! [https://vipm.jki.net/ VI Package Manager (Pro $599/user/year)] !! [https://www.ni.com/en-us/support/downloads/ni-package-manager.html NI Package Manager] !! [https://gpackage.io/ G Package Manager (GPM)]&lt;br /&gt;
|-&lt;br /&gt;
| Installs With LabVIEW || Yes || No || Yes || No&lt;br /&gt;
|-&lt;br /&gt;
| Open Source || No || No || No || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Language Written In || G  || G || C# || G&lt;br /&gt;
|-&lt;br /&gt;
| Free To Install || Yes || Yes Trial || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| API || No || Yes || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Local repository management || No || Yes || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Supports multiple LabVIEW versions from a single package || Yes || Yes || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Scope of package installation || LabVIEW IDE || LabVIEW IDE || LabVIEW IDE || Per Project (LabVIEW IDE coming soon)&lt;br /&gt;
|-&lt;br /&gt;
| Supports LabVIEW NXG || No || No || Yes || No&lt;br /&gt;
|-&lt;br /&gt;
| Create pallets as a part of the package creation || Yes || Yes || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Supports Installation to symbolic paths (user.lib) || Yes || Yes || No || N/A (coming soon)&lt;br /&gt;
|-&lt;br /&gt;
| Supports Local and Global repositories || Yes || Yes || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Support Structure || [https://forums.jki.net/forum/5-vi-package-manager-vipm/ JKI online support] || [https://forums.jki.net/forum/5-vi-package-manager-vipm/ JKI online support] || [https://forums.ni.com/t5/NI-Package-Manager-NIPM/bd-p/1023 NI Forums] || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Pre Build Step || No || Yes, G Code || Yes - via Source Distribtuion, G Code || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Post Build Step || No || Yes, G Code || Yes - via Source Distribtuion, G Code || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Pre Install Step || Yes, G Code || Yes, G Code || Yes - via exe or bat || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Post Install Step || Yes, G Code || Yes, G Code || Yes - via exe or bat || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Pre Uninstall Step || Yes, G Code || Yes, G Code || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Post Uninstall Step || Yes, G Code || Yes, G Code || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports N pre install/post install steps || No || No || Yes || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Automatic Dependency Scanning || No || Yes || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Package_Manager_Comparison&amp;diff=8165</id>
		<title>Package Manager Comparison</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Package_Manager_Comparison&amp;diff=8165"/>
		<updated>2019-06-28T13:30:59Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the comparison of package management solutions in the LabVIEW community.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Characteristic !! [https://vipm.jki.net/ VI Package Manager (Free)] !! [https://vipm.jki.net/ VI Package Manager (Pro $599/user/year)] !! [https://www.ni.com/en-us/support/downloads/ni-package-manager.html NI Package Manager] !! [https://gpackage.io/ G Package Manager (GPM)]&lt;br /&gt;
|-&lt;br /&gt;
| Installs With LabVIEW || Yes || No || Yes || No&lt;br /&gt;
|-&lt;br /&gt;
| Open Source || No || No || No || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Language Written In || G  || G || C# || G&lt;br /&gt;
|-&lt;br /&gt;
| Free To Install || Yes || Yes Trial || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| API || No || Yes || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Local repository management || No || Yes || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Supports multiple LabVIEW versions from a single package || Yes || Yes || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Scope of package installation || LabVIEW IDE || LabVIEW IDE || LabVIEW IDE || Per Project (LabVIEW IDE coming soon)&lt;br /&gt;
|-&lt;br /&gt;
| Supports LabVIEW NXG || No || No || Yes || No&lt;br /&gt;
|-&lt;br /&gt;
| Create pallets as a part of the package creation || Yes || Yes || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Supports Installation to symbolic paths (user.lib) || Yes || Yes || No || N/A (coming soon)&lt;br /&gt;
|-&lt;br /&gt;
| Supports Local and Global repositories || Yes || Yes || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Support Structure || JKI online support || JKI online support || NI || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Pre Build Step || No || Yes, G Code || Yes - via Source Distribtuion, G Code || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Post Build Step || No || Yes, G Code || Yes - via Source Distribtuion, G Code || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Pre Install Step || Yes, G Code || Yes, G Code || Yes - via exe or bat || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Post Install Step || Yes, G Code || Yes, G Code || Yes - via exe or bat || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Pre Uninstall Step || Yes, G Code || Yes, G Code || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Post Uninstall Step || Yes, G Code || Yes, G Code || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports N pre install/post install steps || No || No || Yes || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Automatic Dependency Scanning || No || Yes || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Package_Manager_Comparison&amp;diff=8164</id>
		<title>Package Manager Comparison</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Package_Manager_Comparison&amp;diff=8164"/>
		<updated>2019-06-28T13:30:38Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the comparison of package management solutions in the LabVIEW community.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Characteristic !! [https://vipm.jki.net/ VI Package Manager (Free)] !! [https://vipm.jki.net/ VI Package Manager (Pro $599/user/year)] !! [https://www.ni.com/en-us/support/downloads/ni-package-manager.html NI Package Manager] !! [https://gpackage.io/ G Package Manager (GPM)]&lt;br /&gt;
|-&lt;br /&gt;
| Installs With LabVIEW || Yes || No || Yes || No&lt;br /&gt;
|-&lt;br /&gt;
| Open Source || No || No || No || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Language Written In || G  || G || C# || G&lt;br /&gt;
|-&lt;br /&gt;
| Free To Install || Yes || Yes Trial || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| API || No || Yes || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Local repository management || No || Yes || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Supports multiple LabVIEW versions from a single package || Yes || Yes || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Scope of package installation || LabVIEW IDE || LabVIEW IDE || LabVIEW IDE || Per Project (LabVIEW IDE coming soon)&lt;br /&gt;
|-&lt;br /&gt;
| Supports LabVIEW NXG || No || No || Yes || No&lt;br /&gt;
|-&lt;br /&gt;
| Create pallets as a part of the package creation || Yes || Yes || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Supports Installation to symbolic paths (user.lib) || Yes || Yes || No || N/A (coming soon)&lt;br /&gt;
|-&lt;br /&gt;
| Supports Local and Global repositories || Yes || Yes || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Support Structure || JKI online support || JKI online support || NI || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Pre Build Step || No || Yes, G Code || Yes - via Source Distribtuion, G Code || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Post Build Step || No || Yes, G Code || Yes - via Source Distribtuion, G Code || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Pre Install Step || Yes, G Code || Yes, G Code || Yes - via exe or bat || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Post Install Step || Yes, G Code || Yes, G Code || Yes - via exe or bat || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Pre Uninstall Step || Yes, G Code || Yes, G Code || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Post Uninstall Step || Yes, G Code || Yes, G Code || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports N pre install/post install steps || No || No || Yes || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Automatic Dependency Scanning || No || Yes || Yes || No&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example || Example&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Package_Manager_Comparison&amp;diff=8163</id>
		<title>Package Manager Comparison</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Package_Manager_Comparison&amp;diff=8163"/>
		<updated>2019-06-28T13:29:49Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the comparison of package management solutions in the LabVIEW community.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Characteristic !! [https://vipm.jki.net/ VI Package Manager (Free)] !! [https://vipm.jki.net/ VI Package Manager (Pro $599/user/year)] !! [https://www.ni.com/en-us/support/downloads/ni-package-manager.html NI Package Manager] !! [https://gpackage.io/ G Package Manager (GPM)]&lt;br /&gt;
|-&lt;br /&gt;
| Installs With LabVIEW || Yes || No || Yes || No&lt;br /&gt;
|-&lt;br /&gt;
| Open Source || No || No || No || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Language Written In || G  || G || C# || G&lt;br /&gt;
|-&lt;br /&gt;
| Free To Install || Yes || Yes Trial || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| API || No || Yes || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Local repository management || No || Yes || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Supports multiple LabVIEW versions from a single package || Yes || Yes || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Scope of package installation || LabVIEW IDE || LabVIEW IDE || LabVIEW IDE || Per Project (LabVIEW IDE coming soon)&lt;br /&gt;
|-&lt;br /&gt;
| Supports LabVIEW NXG || No || No || Yes || No&lt;br /&gt;
|-&lt;br /&gt;
| Create pallets as a part of the package creation || Yes || Yes || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Supports Installation to symbolic paths (user.lib) || Yes || Yes || No || N/A (coming soon)&lt;br /&gt;
|-&lt;br /&gt;
| Supports Local and Global repositories || Yes || Yes || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Support Structure || JKI online support || JKI online support || NI || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Pre Build Step || No || Yes, G Code || Yes - via Source Distribtuion, G Code || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Post Build Step || No || Yes, G Code || Yes - via Source Distribtuion, G Code || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Pre Install Step || Yes, G Code || Yes, G Code || Yes - via exe or bat || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Post Install Step || Yes, G Code || Yes, G Code || Yes - via exe or bat || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Pre Uninstall Step || Yes, G Code || Yes, G Code || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Post Uninstall Step || Yes, G Code || Yes, G Code || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports N pre install/post install steps || No || No || Yes || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Automatic Dependency Scanning || No || Yes || Yes || No&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Package_Manager_Comparison&amp;diff=8162</id>
		<title>Package Manager Comparison</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Package_Manager_Comparison&amp;diff=8162"/>
		<updated>2019-06-28T13:29:15Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the comparison of package management solutions in the LabVIEW community.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Characteristic !! [https://vipm.jki.net/ VI Package Manager (Free)] !! [https://vipm.jki.net/ VI Package Manager (Pro $599/user/year)] !! [https://www.ni.com/en-us/support/downloads/ni-package-manager.html NI Package Manager] !! [https://gpackage.io/ G Package Manager (GPM)]&lt;br /&gt;
|-&lt;br /&gt;
| Installs With LabVIEW || Yes || No || Yes || No&lt;br /&gt;
|-&lt;br /&gt;
| Open Source || No || No || No || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Language Written In || G  || G || C# || G&lt;br /&gt;
|-&lt;br /&gt;
| Free To Install || Yes || No || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| API || No || Yes || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Local repository management || No || Yes || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Supports multiple LabVIEW versions from a single package || Yes || Yes || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Scope of package installation || LabVIEW IDE || LabVIEW IDE || LabVIEW IDE || Per Project (LabVIEW IDE coming soon)&lt;br /&gt;
|-&lt;br /&gt;
| Supports LabVIEW NXG || No || No || Yes || No&lt;br /&gt;
|-&lt;br /&gt;
| Create pallets as a part of the package creation || Yes || Yes || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Supports Installation to symbolic paths (user.lib) || Yes || Yes || No || N/A (coming soon)&lt;br /&gt;
|-&lt;br /&gt;
| Supports Local and Global repositories || Yes || Yes || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Support Structure || JKI online support || JKI online support || NI || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Pre Build Step || No || Yes, G Code || Yes - via Source Distribtuion, G Code || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Post Build Step || No || Yes, G Code || Yes - via Source Distribtuion, G Code || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Pre Install Step || Yes, G Code || Yes, G Code || Yes - via exe or bat || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Post Install Step || Yes, G Code || Yes, G Code || Yes - via exe or bat || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Pre Uninstall Step || Yes, G Code || Yes, G Code || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Post Uninstall Step || Yes, G Code || Yes, G Code || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports N pre install/post install steps || No || No || Yes || ?&lt;br /&gt;
|-&lt;br /&gt;
| Supports Automatic Dependency Scanning || No || Yes || Yes || No&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example&lt;br /&gt;
|-&lt;br /&gt;
| Example || Example || Example || Example&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=LabVIEW_Wiki:Questions&amp;diff=6007</id>
		<title>LabVIEW Wiki:Questions</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=LabVIEW_Wiki:Questions&amp;diff=6007"/>
		<updated>2019-02-13T14:58:46Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: updated wiki support link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ __NOEDITSECTION__ &amp;lt;!--&lt;br /&gt;
***************************************************************************&lt;br /&gt;
&lt;br /&gt;
   Do not ask your question on this page! Rather, go to one of the&lt;br /&gt;
   listed pages instead.&lt;br /&gt;
&lt;br /&gt;
   This page is among the most visible to viewers and the rest of the web.&lt;br /&gt;
&lt;br /&gt;
   Please keep it very simple. Do not make major changes without first&lt;br /&gt;
   achieving a consensus on the discussion thread.&lt;br /&gt;
&lt;br /&gt;
***************************************************************************&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; style=&amp;quot;border: solid 2px #A3B1BF; background: #F5FAFF; padding: 15px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;h2 style=&amp;quot;background-color:#cedff2; border-bottom:0px; border: 1px solid #a3b0bf; text-align:center; padding-top:4px;&amp;quot;&amp;gt;Where to ask questions or make comments&lt;br /&gt;
&amp;lt;/h2&amp;gt; &amp;lt;!-- 3 line spacing of h2 is important for subsection edit links to work correctly, PLEASE DO NOT FIX --&amp;gt; &amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can find the answers to many of your questions at the following places:&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
|- valign=top&lt;br /&gt;
| style=&amp;quot;width:50%; background:#F5FAFF;&amp;quot;|&lt;br /&gt;
=== Finding LabVIEW information ===&lt;br /&gt;
* &#039;&#039;&#039;[http://www.google.com/coop/cse?cx=002298365452121072909%3Am5q5tjdmdso Search]&#039;&#039;&#039; — for many questions it&#039;s fastest and easiest to use the [http://www.google.com/coop/cse?cx=002298365452121072909%3Am5q5tjdmdso search box].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:90%;margin-left:2em;&amp;quot;&amp;gt;e.g. To find information on case structures, type &#039;&#039;case structure&#039;&#039; in the box on the left and click &#039;&#039;Search&#039;&#039;.&amp;lt;/span&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[http://forums.lavag.org LAVA Forums]&#039;&#039;&#039; — for general LabVIEW questions (about anything other than how to use LabVIEW Wiki) you can ask LAVA community members.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:90%;margin-left:2em;&amp;quot;&amp;gt; e.g. &#039;&#039;&amp;quot;How should I design this user interface?&amp;quot;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[http://labviewsearch.com LabVIEWSearch.com]&#039;&#039;&#039; — A powerful search engine that is scoped to a small set of LabVIEW related websites.&lt;br /&gt;
| style=&amp;quot;width:50%; background:#F5FAFF;&amp;quot;|&lt;br /&gt;
=== How to use LabVIEW Wiki ===&lt;br /&gt;
* &#039;&#039;&#039;[[LabVIEW Wiki:FAQ|FAQ]]&#039;&#039;&#039; — Frequently Asked Questions about LabVIEW Wiki&lt;br /&gt;
* &#039;&#039;&#039;[[Help:Contents]]&#039;&#039;&#039; — information about using LabVIEW Wiki.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:90%;margin-left:2em;&amp;quot;&amp;gt; e.g. &#039;&#039;&amp;quot;How do I add an image to an article?&amp;quot;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Asking questions or making comments ===&lt;br /&gt;
* Each article has a &#039;&#039;&#039;Discussion thread&#039;&#039;&#039; — click on the &#039;&#039;&#039;article&#039;s&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;discussion&#039;&#039;&#039;&#039;&#039; link at the top of the page &amp;amp;mdash; for questions, reporting vandalism or discussions about the article.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[https://lavag.org/forum/54-wiki-help/ LabVIEW Wiki Support]&#039;&#039;&#039; is &#039;&#039;&#039;the&#039;&#039;&#039; discussion forum for many &#039;&#039;&#039;technical and policy issues&#039;&#039;&#039;.&lt;br /&gt;
| style=&amp;quot;width:50%; background:#F5FAFF;&amp;quot;|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important notes:&#039;&#039;&#039;&lt;br /&gt;
* LabVIEW Wiki is a volunteer-operated site.&lt;br /&gt;
* There is no &amp;quot;documentation service&amp;quot; nor are there any paid staff to process inquiries about the content of articles (sources, accuracy, etc.).&lt;br /&gt;
* Please write all inquiries to the relevant article discussion threads or post to the support forum indicated above.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Please do not post your question on this page.&#039;&#039;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=NIWeek&amp;diff=5918</id>
		<title>NIWeek</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=NIWeek&amp;diff=5918"/>
		<updated>2018-12-17T16:30:13Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: Added videos section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;NIWeek&#039;&#039;&#039; is an annual technical conference hosted by [[National Instruments|National Instruments (NI)]] in Austin Texas.  The conference focuses on showcasing NI&#039;s roadmap for software and hardware.  The at NIWeek the new version of [[LabVIEW]] is showcased and its new features introduced.  The convention also includes:&lt;br /&gt;
&lt;br /&gt;
*Keynotes from NI executive and other business leaders&lt;br /&gt;
*Over 200 Technical Sessions, Case Study Presentations, and Panel Discussions led by industry innovators&lt;br /&gt;
*Over 40 Interactive, Hands-on Sessions that allow you to try out the products&lt;br /&gt;
*Over 50 Training and Certification Courses&lt;br /&gt;
*Networking with over 3,200 industry peers&lt;br /&gt;
*Over 100 Exhibits from leading Tech Companies&lt;br /&gt;
&lt;br /&gt;
==This Year&#039;s NIWeek==&lt;br /&gt;
[[File:NIWeek 2019 Logo.PNG|700px|frameless|link=http://niweek.ni.com]]&lt;br /&gt;
&lt;br /&gt;
NIWeek this year marks the 25&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; NIWeek.  It will be held in Austin, Texas, on May 20&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt;-23&amp;lt;sup&amp;gt;rd&amp;lt;/sup&amp;gt;, 2019.  The conference officially starts on a Monday with Alliance Day focusing on NI&#039;s [[Alliance_program|Alliance Partners]].  There are activities for non Alliance Partners on Monday but the majority of closed door presentations are off limits.  Tuesday through Thursday technical sessions, training, keynotes, and other social activities take place with a schedule that changes each year.  If you are interested in attending NI Week check [http://niweek.ni.com NI&#039;s official page] for their schedule.&lt;br /&gt;
&lt;br /&gt;
==Previous Years==&lt;br /&gt;
The majority of the content at NI Week is the technical sessions.  These can be presented by NI employees, or any member of the public after being approved by NI.  Over the years several NI sessions have been recorded and are available for viewing online.  Links are provided below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Year&lt;br /&gt;
!Logo&lt;br /&gt;
!Dates&lt;br /&gt;
!Tag&lt;br /&gt;
!Links&lt;br /&gt;
|-&lt;br /&gt;
|2018&lt;br /&gt;
|[[File:NIWeek 2018 Logo.png|200px|thumb|center]]&lt;br /&gt;
|May 21-24, 2018&lt;br /&gt;
|Future Faster&lt;br /&gt;
|&lt;br /&gt;
*[[NIWeek 2018]] (LabVIEW Wiki Page)&lt;br /&gt;
*Technical Session Videos: [https://labviewvideo.tecnova.com/ Tecnova&#039;s LabVIEW Video] site, with the credentials Username: &#039;&#039;&#039;LabVIEW_Videos&#039;&#039;&#039;, Password: &#039;&#039;&#039;LabVIEW&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|2017&lt;br /&gt;
|[[File:NIWeek 2017 Logo.png|200px|thumb|center]]&lt;br /&gt;
|May 22-15, 2017&lt;br /&gt;
|Engineer Next&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2016&lt;br /&gt;
|[[File:NIWeek 2016 Logo.png|200px|thumb|center]]&lt;br /&gt;
|August 1-4, 2016&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2015&lt;br /&gt;
|[[File:NIWeek 2015 Logo.png|200px|thumb|center]]&lt;br /&gt;
|August 3-6, 2015&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2014&lt;br /&gt;
|[[File:NIWeek 2014 Logo.png|200px|thumb|center]]&lt;br /&gt;
|August 4-7, 2014&lt;br /&gt;
|You and NI will.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2013&lt;br /&gt;
|[[File:NIWeek 2013 Logo.png|200px|thumb|center]]&lt;br /&gt;
|August 5-8, 2013&lt;br /&gt;
|All Systems. Go.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2012&lt;br /&gt;
|[[File:NIWeek 2012 Logo.png|200px|thumb|center]]&lt;br /&gt;
|August 6-9, 2012&lt;br /&gt;
|Worldwide Graphical System Design Conference&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2011&lt;br /&gt;
|[[File:NIWeek 2011 Logo.png|200px|thumb|center]]&lt;br /&gt;
|August 2-4, 2011&lt;br /&gt;
|Worldwide Graphical System Design Conference&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2010&lt;br /&gt;
|&lt;br /&gt;
|August 3-5, 2010&lt;br /&gt;
|Worldwide Graphical System Design Conference&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2009&lt;br /&gt;
|&lt;br /&gt;
|August 4-6, 2009&lt;br /&gt;
|Worldwide Graphical System Design Conference&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2008&lt;br /&gt;
|[[File:NIWeek 2008 Logo.png|200px|thumb|center]]&lt;br /&gt;
|August 5-7, 2008&lt;br /&gt;
|Worldwide Graphical System Design Conference&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2007&lt;br /&gt;
|[[File:NIWeek 2007 Logo.png|200px|thumb|center]]&lt;br /&gt;
|August 7-9, 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2006&lt;br /&gt;
|[[File:NIWeek 2006 Logo.png|200px|thumb|center]]&lt;br /&gt;
|August 8-10, 2006&lt;br /&gt;
|Worldwide Virtual Instrumentation Conference&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2005&lt;br /&gt;
|[[File:NIWeek 2005 Logo.png|200px|thumb|center]]&lt;br /&gt;
|August 16-18, 2005&lt;br /&gt;
|Worldwide Virtual Instrumentation Conference&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2004&lt;br /&gt;
|[[File:NIWeek 2004 Logo.png|200px|thumb|center]]&lt;br /&gt;
|August 17-19, 2004&lt;br /&gt;
|Worldwide Virtual Instrumentation Conference&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2003&lt;br /&gt;
|[[File:NIWeek 2003 Logo.png|200px|thumb|center]]&lt;br /&gt;
|August 13-15, 2003&lt;br /&gt;
|Worldwide Virtual Instrumentation Conference&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2002&lt;br /&gt;
|&lt;br /&gt;
|August 14-16, 2002&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2001&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2000&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1999&lt;br /&gt;
|&lt;br /&gt;
|August 18-20, 1999&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1998&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1997&lt;br /&gt;
|&lt;br /&gt;
|August 19-21, 1997&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1996&lt;br /&gt;
|&lt;br /&gt;
|August 6-8, 1996&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|1995&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Videos==&lt;br /&gt;
&lt;br /&gt;
The majority of the content at NI Week is the technical sessions.  These can be presented by NI employees, or any member of the public after being approved by NI.  Over the years several NI sessions have been recorded and are available for viewing online.  These videos are available at [https://labviewvideo.tecnova.com/ Tecnova&#039;s LabVIEW Video] site, with the credentials Username: &#039;&#039;&#039;LabVIEW_Videos&#039;&#039;&#039;, Password: &#039;&#039;&#039;LabVIEW&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:NIWeek]]&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Actor_Framework&amp;diff=5739</id>
		<title>Actor Framework</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Actor_Framework&amp;diff=5739"/>
		<updated>2018-11-30T15:45:16Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Articles ==&lt;br /&gt;
* [http://www.mooregoodideas.com/actor-framework/basics/AF-basics-part-1/ Actor Framework Basics: Part 1 - the Basics]&lt;br /&gt;
* [http://www.mooregoodideas.com/actor-framework/basics/AF-basics-part-2/ Actor Framework Basics: Part 2 - the Actor]&lt;br /&gt;
* [http://www.mooregoodideas.com/actor-framework/basics/AF-basics-part-3/ Actor Framework Basics: Part 3 - Launching and Communicating]&lt;br /&gt;
* [http://www.mooregoodideas.com/actor-framework/basics/AF-basics-part-4/ Actor Framework Basics: Part 4 - Being Productive With Actors]&lt;br /&gt;
* [http://www.mooregoodideas.com/actor-framework/basics/AF-basics-walkthrough/ Actor Framework Basics: Walkthrough - Creating a Logger Actor]&lt;br /&gt;
-- by [https://www.linkedin.com/in/derek-trepanier/ Derek E. Trepanier], Moore Good Ideas&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Actors are a powerful tool when creating large, highly parallelized, scalable systems in LabVIEW, but the framework takes some effort to conceptualize and therefore takes some time to learn. This series of articles will walk you through all of the major concepts in the Actor Framework world and get you to a point where you can start building and using Actor Framework applications.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://www.labviewcraftsmen.com/blog/fun-with-the-actor-framework-pubsub Fun with the Actor Framework: PUB/SUB] - by [https://www.linkedin.com/in/jon-mcbee/ Jon McBee], LabVIEW Craftsmen Blog﻿&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Communication between Actors is meant to be done by traversing the Actor tree.  Assuming we decide not to pass message enqueuers around to all Actors in the tree, we will end up with a lot of message classes and a lot of message routing.  The extra messages and routing, however, buys us robustness as Actor E has no way of knowing if Actor C currently exists.  But what if we could bypass the tree for certain types of messages in a way that allowed us to decouple our actors from each other...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;[[Convert Queued Message Handler (QMH) to Actor Framework (AF)|Actor Framework is not as hard as you think and here is why…]]&amp;quot; - by Quentin &amp;quot;Q&amp;quot; Alldredge, Q Software Innovations, LLC&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;If you are familiar with the Queued Message Handler (QMH) Design Pattern and Object-Oriented Programming (OOP) then you already know everything you need to start with Actor Framework.  The purpose of this article is to show the parts of the Actor Framework that are comparable to the QMH Design Pattern and provide a step-by-step procedure for converting a QMH project to an Actor Framework project.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== External Links  ==&lt;br /&gt;
*[https://forums.ni.com/t5/Actor-Framework/ct-p/7001 NI Community].&lt;br /&gt;
*[https://forums.ni.com/t5/Actor-Framework-Documents/READ-THIS-FIRST-to-get-started-with-Actor-Framework/ta-p/3493762 NI Introduction].&lt;br /&gt;
*[http://forums.ni.com/t5/Labvolution/LabVIEW-Actor-Framework-Basics/ba-p/3476654 Actor Framework Basics by Labvolution].&lt;br /&gt;
&lt;br /&gt;
[[Category:Actor Framework]]&lt;br /&gt;
[[Category:Frameworks]]&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Object-oriented_programming&amp;diff=5738</id>
		<title>Object-oriented programming</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Object-oriented_programming&amp;diff=5738"/>
		<updated>2018-11-30T15:35:34Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Object oriented software designs in LabVIEW follow many of the same programming principals as object oriented software in [https://en.wikipedia.org/wiki/Object-oriented_programming other programming languages].  In general object oriented software is done in LabVIEW by first creating a class.  This class is an object that has has the ability to add functionality to data.  This allows for abstraction of the underlining data and allows operations to happen on a more segmented part of the application.  This often leads to better reusability and scalability.&lt;br /&gt;
&lt;br /&gt;
== Access Scope ==&lt;br /&gt;
&lt;br /&gt;
Object oriented software allows for specific data, or functions to have scope set to them which restricts access from other parts of the application.  A common use for this is with internal references, or sessions, which if given to the rest of the application could be inadvertently closed.  By keeping the internal references from being accessed externally, an object can have more control over who has access, and how its internals are accessed.&lt;br /&gt;
&lt;br /&gt;
== Inheritance ==&lt;br /&gt;
&lt;br /&gt;
Using object oriented software in LabVIEW allows for a class to inherit from another class.  This child class has the ability to call all the parents functions, but then also can optionally override a parents call if the VI is setup to be dynamic dispatch.&lt;br /&gt;
&lt;br /&gt;
== Dynamic Dispatch ==&lt;br /&gt;
&lt;br /&gt;
Calling a parents initialize function might not be sufficient for all children, and so a dynamic dispatch call can override the parents call with the child&#039;s specific implementation.  This child implementation can also call the parent&#039;s depending on how the VI is written.&lt;br /&gt;
&lt;br /&gt;
== External Links  ==&lt;br /&gt;
*[http://www.ni.com/white-paper/3573/en/ NI FAQ on Object Oriented Programming].&lt;br /&gt;
*[https://forums.ni.com/t5/LabVIEW-Development-Best/Introduction-to-Object-Oriented-Programming-and-Hardware/ta-p/3519580 Introduction to Object Oriented Programming] by Elijah Kerry&lt;br /&gt;
*[http://zone.ni.com/reference/en-XX/help/371361P-01/lvconcepts/creating_classes/ Creating Classes].&lt;br /&gt;
*[https://forums.ni.com/t5/LabVIEW-Development-Best/When-Should-You-Use-LabVIEW-Classes/ba-p/3478257 When should you use classes].&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Abstraction&amp;diff=5737</id>
		<title>Abstraction</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Abstraction&amp;diff=5737"/>
		<updated>2018-11-30T15:33:21Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Abstraction is a concept of software design which places the complexity of various parts of the application into its own self contained [[Object_oriented_software|objects]].  This is mostly commonly used on Hardware Abstraction Layers, which can allow for communicating with various hardware devices which all have common interfaces but have specific implementations.&lt;br /&gt;
&lt;br /&gt;
== External Links  ==&lt;br /&gt;
*[https://forums.ni.com/t5/Abstraction-Distraction/gp-p/grp-3010 Abstraction Distraction].&lt;br /&gt;
*[http://www.ni.com/webcast/3431/en/ Hardware Abstraction Layer (HAL)] by Elijah Kerry - [https://forums.ni.com/t5/LabVIEW-Development-Best/Measurement-Abstraction-Plugin-Framework-with-Optional-TestStand/ta-p/3531389 Plugin Framework]&lt;br /&gt;
*[https://www.youtube.com/watch?v=qrzBYIrA-cs JKI Hardware Abstraction Video].&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Abstraction&amp;diff=5736</id>
		<title>Abstraction</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Abstraction&amp;diff=5736"/>
		<updated>2018-11-30T15:33:10Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Abstraction is a concept of software design which places the complexity of various parts of the application into its own self contained [[Object_oriented_software|objects].  This is mostly commonly used on Hardware Abstraction Layers, which can allow for communicating with various hardware devices which all have common interfaces but have specific implementations.&lt;br /&gt;
&lt;br /&gt;
== External Links  ==&lt;br /&gt;
*[https://forums.ni.com/t5/Abstraction-Distraction/gp-p/grp-3010 Abstraction Distraction].&lt;br /&gt;
*[http://www.ni.com/webcast/3431/en/ Hardware Abstraction Layer (HAL)] by Elijah Kerry - [https://forums.ni.com/t5/LabVIEW-Development-Best/Measurement-Abstraction-Plugin-Framework-with-Optional-TestStand/ta-p/3531389 Plugin Framework]&lt;br /&gt;
*[https://www.youtube.com/watch?v=qrzBYIrA-cs JKI Hardware Abstraction Video].&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Abstraction&amp;diff=5735</id>
		<title>Abstraction</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Abstraction&amp;diff=5735"/>
		<updated>2018-11-30T15:32:16Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: Created page with &amp;quot;Abstraction is a concept of software design which places the complexity of various parts of the application into its own self contained objects.  This is mostly commonly used...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Abstraction is a concept of software design which places the complexity of various parts of the application into its own self contained objects.  This is mostly commonly used on Hardware Abstraction Layers, which can allow for communicating with various hardware devices which all have common interfaces but have specific implementations.&lt;br /&gt;
&lt;br /&gt;
== External Links  ==&lt;br /&gt;
*[https://forums.ni.com/t5/Abstraction-Distraction/gp-p/grp-3010 Abstraction Distraction].&lt;br /&gt;
*[http://www.ni.com/webcast/3431/en/ Hardware Abstraction Layer (HAL)] by Elijah Kerry - [https://forums.ni.com/t5/LabVIEW-Development-Best/Measurement-Abstraction-Plugin-Framework-with-Optional-TestStand/ta-p/3531389 Plugin Framework]&lt;br /&gt;
*[https://www.youtube.com/watch?v=qrzBYIrA-cs JKI Hardware Abstraction Video].&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Object-oriented_programming&amp;diff=5734</id>
		<title>Object-oriented programming</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Object-oriented_programming&amp;diff=5734"/>
		<updated>2018-11-30T15:26:22Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: Created page with &amp;quot;Object oriented software designs in LabVIEW follow many of the same programming principals as object oriented software in [https://en.wikipedia.org/wiki/Object-oriented_progra...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Object oriented software designs in LabVIEW follow many of the same programming principals as object oriented software in [https://en.wikipedia.org/wiki/Object-oriented_programming other programming languages].  In general object oriented software is done in LabVIEW by first creating a class.  This class is an object that has has the ability to add functionality to data.  This allows for abstraction of the underlining data and allows operations to happen on a more segmented part of the application.  This often leads to better reusability and scalability.&lt;br /&gt;
&lt;br /&gt;
== Access Scope ==&lt;br /&gt;
&lt;br /&gt;
Object oriented software allows for specific data, or functions to have scope set to them which restricts access from other parts of the application.  A common use for this is with internal references, or sessions, which if given to the rest of the application could be inadvertently closed.  By keeping the internal references from being accessed externally, an object can have more control over who has access, and how its internals are accessed.&lt;br /&gt;
&lt;br /&gt;
== Inheritance ==&lt;br /&gt;
&lt;br /&gt;
Using object oriented software in LabVIEW allows for a class to inherit from another class.  This child class has the ability to call all the parents functions, but then also can optionally override a parents call if the VI is setup to be dynamic dispatch.&lt;br /&gt;
&lt;br /&gt;
== Dynamic Dispatch ==&lt;br /&gt;
&lt;br /&gt;
Calling a parents initialize function might not be sufficient for all children, and so a dynamic dispatch call can override the parents call with the child&#039;s specific implementation.  This child implementation can also call the parent&#039;s depending on how the VI is written.&lt;br /&gt;
&lt;br /&gt;
== External Links  ==&lt;br /&gt;
*[http://www.ni.com/white-paper/3573/en/ NI FAQ on Object Oriented Programming].&lt;br /&gt;
*[http://zone.ni.com/reference/en-XX/help/371361P-01/lvconcepts/creating_classes/ Creating Classes].&lt;br /&gt;
*[https://forums.ni.com/t5/LabVIEW-Development-Best/When-Should-You-Use-LabVIEW-Classes/ba-p/3478257 When should you use classes].&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Rusty_nails&amp;diff=5699</id>
		<title>Rusty nails</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Rusty_nails&amp;diff=5699"/>
		<updated>2018-11-29T13:54:14Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: Created page with &amp;quot;&amp;quot;Rusty Nails&amp;quot; in the LabVIEW community is a reference to a LabVIEW feature that is undocumented, incomplete, and generally features of LabVIEW that NI doesn&amp;#039;t intend for the g...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;Rusty Nails&amp;quot; in the LabVIEW community is a reference to a LabVIEW feature that is undocumented, incomplete, and generally features of LabVIEW that NI doesn&#039;t intend for the general audience to have access to.  This expression originated from Greg McKaskle, and NI employee around the 1999 timeframe.  When asked about undocumented INI settings in LabVIEW Greg had this to say:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
As mentioned, most of these configuration options are available from within the Preference dialog. There are also configuration options that aren&#039;t in that list because they are needed so early in LV&#039;s launch that the resources aren&#039;t open yet; so this isn&#039;t the complete list. The options that aren&#039;t in the preferences dialog are generally considered to be not useful or even harmful. They are sometimes there to allow us a backdoor or a workaround for when we change a behavior. They are also used to turn on obscure development features that we, the LV developers, use to make or debug LV. These obscure features are typically kind of like the attic or basement of a house, not finished out, not very interesting, and potentially harmful.&lt;br /&gt;
&lt;br /&gt;
We have never tried to hide any of these strings, and I don&#039;t believe you will gain any benefit from trying out various combinations of the settings. If you ask technical support what a setting is, they will likely tell you that they have no idea. They are telling you the truth. I don&#039;t even know what some of them do without checking the code. Others, such as exoticcontrols, no longer do anything. It was once used to show a control palette submenu that contained controls that were still in work and not ready for prime-time. They were experiments, unsupported features, and guaranteed to crash if you did much with them. Just the sort of thing that we need for development, but not useful to even advanced LV users unless they have a death-wish.&lt;br /&gt;
&lt;br /&gt;
If you experiment with the .ini file and you crash mysteriously losing hours of work, I&#039;d suggest putting the file back to the way LV left it. Don&#039;t ask tech support to fix it or complain that the LV attic ha﻿s rusty nails and splinters.&lt;br /&gt;
&lt;br /&gt;
As for whether or not Resedit is wonderful, I personally prefer Resorcerer, but that is a different story. It is a low level tool that in the right hands is useful, in the wrong hands, well, its in the wrong hands. For the person that likes taking a multimeter and a soldering iron to computers and household appliances, its exactly what you always wanted. If you start monkeying with things in the resources or the .ini file, use common sense and do it on a copy or you will just end up reinstalling LV.&lt;br /&gt;
&lt;br /&gt;
Once the fun and experimentation is over with, I think you will agree that the useful options, with very few exceptions are in the Preference dialog.&amp;lt;ref&amp;gt;[http://info-labview.org/ILVMessages/1999/05/27/Info-LabVIEW_Digest_1999-05-27_025.html Info-LabVIEW] archive, Subject: Complete list of Labview Options - May 27th 1999&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Back in the LabVIEW 5.x and 6.x era there was a new emerging technology that was [[VI_Scripting|LabVIEW Scripting]].  NI had created scripting for their own purposes but the community saw it and wanted to be able to automate editing, or creating LabVIEW code.  With the help from Jim Kring and others, the basic tools for enabling scripting in LabVIEW were available.  Discussing scripting often leads into discussing other [[INI|INI keys]] which enable private functions like the well known SuperSecretPrivateSpecialStuff.  It is possible this is one of the keys Greg was referring to.&lt;br /&gt;
&lt;br /&gt;
After [[LAVA|LAVA&#039;s]] creation a subforum section was labeled Rusty Nails, and intended to be a place to discuss Scripting, ExternalNodes, XNodes, Private methods, and general LabVIEW hackery.  Over the years several private functions have been made public, and scripting has become an official feature shipping with LabVIEW.  Because of this the Rusty Nails and XNodes subforums were combined into what is now the VI Scripting section.  Even over on the official NI forums, discussions about private functionality and XNodes has been relaxed since those early days.  Asking for private methods and getting unofficial help is something users, and sometimes NI employees will participate in, without the heavy censorship seen earlier.  Topics of s﻿cripting are encouraged now that the feature has been official supported.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=VI_Scripting&amp;diff=5686</id>
		<title>VI Scripting</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=VI_Scripting&amp;diff=5686"/>
		<updated>2018-11-26T19:14:54Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Lv scripting.jpg|thumb|VI Scripting Nodes appear as Light Cyan]]&lt;br /&gt;
&#039;&#039;&#039;VI Scripting&#039;&#039;&#039;, also known as Scripting, deals with the ability of LabVIEW to use G to write G. VI Scripting contains several new [[VI Server]] classes, properties, methods, and events so you can create, move, and wire objects; edit the connector pane; create new VIs; and more. Scripting is useful for generating or editing VIs automatically based on simpler configurations. Examples of scripting include the code generated by Express VIs, the code generated for LVOOP Accessor VIs and the code generated by the NI Vision Builder. Because scripting requires recompiling the VI and may break it, you can not run scripting code on a VI which is reserved for running.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
VI Scripting began shipping with LabVIEW beginning with [[LabVIEW 2010]].  However, it is available for download from the [http://sine.ni.com/nips/cds/view/p/lang/en/nid/209110 LabVIEW Tools Network] for [[LabVIEW 8.6]] and [[LabVIEW 2009|2009]]. Before [[LabVIEW 8.6]] scripting was an undocumented feature and was available to those that knew how to enable it as early as [[LabVIEW 7 Express|version 7]].  However, as it was not documented or supported to the greater community, it had the potential to be dangerous.  Before scripting was official an NI employee famously refferred to it as something akin to [[Rusty_nails|Rusty Nails]].&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
VI Scripting generally falls into three categories:&lt;br /&gt;
# Using G to automate the generation of more G&lt;br /&gt;
# Using G to create add-on tools (i.e. [[Quick Drop]], [[Shortcut Menu Plugins]], etc.)&lt;br /&gt;
# Using G to inspect G (i.e. [[VI Analyzer]])&lt;br /&gt;
VI Scripting uses properties and methods to create, locate, and operate on Block Diagram objects (i.e. primatives, structures, wires, and terminals), Front Panel objects (i.e. controls, indicators, decorations, splitters, panes, and panels), edit the Connector Pane and the VI.&lt;br /&gt;
&lt;br /&gt;
=== Code Generation ===&lt;br /&gt;
Many of the main application frameworks use VI Scripting to automate the generation of code, modules, messages, etc. Some examples of this include:&lt;br /&gt;
* How [[Delacor Queued Message Handler (DQMH)|DQMH]] starts new projects and adds new modules&lt;br /&gt;
* How [[Actor Framework]] creates new messages (see also [http://www.mooregoodideas.com/actor-framework/AF-Message-maker/ MGI&#039;s AF Message Maker])&lt;br /&gt;
&lt;br /&gt;
==== General Guideline for Code Generation ====&lt;br /&gt;
&lt;br /&gt;
VI Scripting code can get large and complex very quickly. A guideline to VI Scripting is to start with a template, make a copy, and then edit the copy.&lt;br /&gt;
&lt;br /&gt;
Another common use case of VI Scripting is to automate repetitive tasks. For example, if the code required the generation of many similar VIs. It might be more efficient to create a template and then write the scripting code to copy, modify, and save the VI.&lt;br /&gt;
&lt;br /&gt;
=== Creation of Add-on Tools ===&lt;br /&gt;
The creation of add-on tools can improve efficiency by automating repetitive tasks or making tasks easier to accomplish. There are many hooks into the LabVIEW IDE to let you create add-on tools.&lt;br /&gt;
&lt;br /&gt;
Presentation to help create new tools:&lt;br /&gt;
* [https://learn.ni.com/center-of-excellence/resources/1141/don-t-wait-for-labview-r-d-implement-your-own-labview-features Don&#039;t Wait for LabVIEW R&amp;amp;D, Implement Your Own LabVIEW Features] - by Darren Nattinger, National Instruments&lt;br /&gt;
* [https://forums.ni.com/t5/Top-of-Utah-LabVIEW-User-Group/Seven-Things-Your-Doctor-Won-t-Tell-You-About-LabVIEW-Scripting/gpm-p/3685320 Seven Things Your Doctor Won&#039;t Tell You About LabVIEW Scripting] - by Quentin Alldredge, Q Software Innovations&lt;br /&gt;
Cool tools that currently exist:&lt;br /&gt;
* More to come&lt;br /&gt;
&lt;br /&gt;
=== Code Inspection ===&lt;br /&gt;
Another use of VI Scripting is to automate inspection of code to ensure adherence to style guidelines and effective programming practices, to catch common errors, and improve performance, functionality, and maintainability.&lt;br /&gt;
&lt;br /&gt;
Such tools include:&lt;br /&gt;
* [[VI Analyzer]] - The LabVIEW VI Analyzer Toolkit helps you improve the quality and readability of graphical code developed in LabVIEW software.&lt;br /&gt;
* [http://sine.ni.com/psp/app/doc/p/id/psp-844/lang/en LabVIEW Unit Test Framework] - The Unit Test Framework Toolkit provides interactive tools to create, configure, manage, and execute tests that check VIs for functional correctness.&lt;br /&gt;
* [https://github.com/JKISoftware/JKI-VI-Tester JKI VI Tester] - software test framework for LabVIEW that allows software developers to test their LabVIEW code; VI Tester is based on the industry standard xUnit software test architecture that is used in many other programming languages&lt;br /&gt;
* [https://github.com/JKISoftware/Caraya JKI Caraya Unit Tester] - open source assertion and unit testing framework for LabVIEW; convert your manual test VIs you use for debugging into unit test cases with nearly no effort&lt;br /&gt;
&lt;br /&gt;
== Enabling VI Scripting ==&lt;br /&gt;
[http://zone.ni.com/reference/en-XX/help/371361P-01/lvhowto/enabling_vi_scripting/ Instructions for enabling VI Scripting]&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
* [http://zone.ni.com/reference/en-XX/help/371361P-01/lvhowto/scripting_quick_reference/ Common VI Scripting Tasks]&lt;br /&gt;
&lt;br /&gt;
* [http://zone.ni.com/reference/en-XX/help/371361P-01/lvhowto/scripting_tutorial_intro/ VI Scripting Tutorial]&lt;br /&gt;
&lt;br /&gt;
== Tips and Tricks ==&lt;br /&gt;
[https://forums.ni.com/t5/LabVIEW-APIs-Discussions/Exploring-the-Depths-of-the-VI-Server/td-p/3844848 Exploring the Depths of the VI Server] - by Quentin Alldredge, Q Software Innovations&lt;br /&gt;
&lt;br /&gt;
This presentation goes into the depths of the [[VI Server]] including Basic LabVIEW, VI Scripting, and even the Private stuff, showing many of the Properties, Methods, and Events I have found useful in the creation of LabVIEW IDE add-ons.&lt;br /&gt;
&lt;br /&gt;
[https://delacor.com/5-steps-to-become-a-vi-scripting-ninja/ 5 Steps to Become a VI Scripting Ninja] - Fabiola De la Cueva, Delacor&lt;br /&gt;
&lt;br /&gt;
Why would you want to use LabVIEW Scripting? LabVIEW VI scripting allows LabVIEW Developers to programmatically generate, edit, and inspect LabVIEW code. You would want to use LabVIEW VI Scripting to create tools that would make you and your team more efficient, to enforce coding guidelines or to automate repetitive tasks.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development Environment]]&lt;br /&gt;
[[Category:VI Scripting]]&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Aspects_of_error_handling&amp;diff=5525</id>
		<title>Aspects of error handling</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Aspects_of_error_handling&amp;diff=5525"/>
		<updated>2018-11-15T18:11:18Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:ActiveDiscuss}}&lt;br /&gt;
Writing VIs and SubVIs that incorporate error handling is considered good form, not only to allow the user indication of abnormal software execution, but also to allow the software to make decisions based on the status of previous operations. Including error clusters in your code assists in troubleshooting, modularity, and user friendliness.&lt;br /&gt;
&lt;br /&gt;
== The Error Cluster ==&lt;br /&gt;
The error cluster is a predefined LabVIEW cluster that is used to contain error status information. The cluster contains the following three components:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name&lt;br /&gt;
! Data Type&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| Status&lt;br /&gt;
| Boolean&lt;br /&gt;
| Indicates if an error has occurred (TRUE = error, FALSE = no error).&lt;br /&gt;
|-&lt;br /&gt;
| Code&lt;br /&gt;
| 32-Bit signed integer&lt;br /&gt;
| A standardized error code specific to the particular error. LabVIEW has a table of default error codes, although the user is able to define custom error codes. See below for more information.&lt;br /&gt;
|-&lt;br /&gt;
| Source&lt;br /&gt;
| String&lt;br /&gt;
| Textual information often describing the error and the VI it occurred within.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Although one of the most obvious methods of conditional code execution might be to unbundle the Status Boolean of the error cluster, and feed it to the conditional terminal of a case structure (figure coming soon...), the complete cluster can be wired to it instead (figure coming soon...).  The functionality of the code in (figure coming soon...) and (figure coming soon...) is identical, although its readability is vastly improved as the second example colors the case structure green for the No Error case, and red for the Error case. Wrapping the entire code of a SubVI within a conditional case structure based on the error input allows VIs at higher levels to continue functioning, without executing code that could be useless or even dangerous when an error has occurred. Consider the simple report generation example shown in (figure coming soon...).&lt;br /&gt;
&lt;br /&gt;
A report is initially created, a file is then attached, the report is printed, and finally destroyed. The dataflow link between these SubVIs is the report’s reference number (refnum), which ensures each execute in a predefined order. If each of the SubVIs execute without error, then the process completes successfully.  Conversely, if one of the SubVIs encounters an error, subsequent SubVIs are unaware of the problem and attempt to execute regardless. In the example above, an error in the Attach a File to the Report SubVI will not cause the Print the Report SubVI to fail, resulting in a blank report print. If effective error handling is introduced (figure coming soon...), the Print the Report SubVI will know if an error has occurred before its execution is requested. If the functional code inside the Print the Report SubVI is enclosed within a conditional case structure based on the error input, the printing code is bypassed, and the error cluster is passed on to the next SubVI.&lt;br /&gt;
&lt;br /&gt;
To attain a higher level of user interaction, standard SubVIs exist to alert the user to an error on the error cluster, and prompt for conditional actions. The Simple Error Handler.vi (figure coming soon...) allows for a basic level of error cluster status reporting, displaying detected errors in a dialog box, and prompting the user for an action based on the type of dialog input (for example, OK, Cancel, Stop, etc.).&lt;br /&gt;
&lt;br /&gt;
The Simple Error Handler.vi is a wrapper for the lower level General Error Handler.vi. The latter (figure coming soon...) is more configurable, and permits the dynamic definition of custom error codes, and error exception handling. LabVIEW 7.0 brings with it an addition to the error handling function palette, Clear Errors.vi (figure coming soon...). This VI is simply an error in control and an&lt;br /&gt;
error out indicator, which are not linked on the wiring diagram, causing any errors on the wired error link to be cancelled. This VI can be useful when constructing custom error-handling VIs, including dialog boxes allowing user interaction that is not covered by the simple and general error-handling VIs, but should not be used alone. Although dumping the errors from the error cluster may be tempting, one must incorporate appropriate code to handle them.&lt;br /&gt;
&lt;br /&gt;
== Wiring Errors into a SubVI Connector Pane ==&lt;br /&gt;
As described above, SubVIs have an associated connector pane, and the placement of error cluster inputs and output is generally in the lower quadrants (error in on the left, and error out on the right), with corresponding exclamation marks over the connectors on the SubVI’s icon (figure coming soon...).&lt;br /&gt;
&lt;br /&gt;
== Default Error Codes ==&lt;br /&gt;
The LabVIEW execution system contains a large list of standard and specific errors, encouraging the reuse of generic codes across applications. A list of generic errors codes can be found under the LabVIEW Help menu (figure coming soon...).  Another method of parsing a small number of errors is to select the Help Explain Error menu item.  This will launch an interface that allows the user to enter an error code, and a brief explanation is displayed (figure coming soon...). This interface is also accessible by right-clicking on a front panel error cluster, and selecting Explain Error.&lt;br /&gt;
&lt;br /&gt;
== Custom Error Codes ==&lt;br /&gt;
National Instruments has set several error codes aside for custom use. If an existing error code does not adequately describe the error condition, the user can define custom codes that are specific to the application.  Codes between 5000 through to 9999 are available for use, and do not need to conform to any other application. Although General Error Handler.vi can be used to define custom error codes, one can also create an XML file in the labview\user.lib\errors directory that contains custom error codes and their descriptions. This method is particularly useful if the user requires custom error codes to apply to several applications, or if the codes are used by several software engineers in a team or are to be distributed with an application.&lt;br /&gt;
&lt;br /&gt;
For example, the XML filename must be in the format &#039;&#039;&#039;*-errors.txt&#039;&#039;&#039; (where &#039;&#039;&#039;*&#039;&#039;&#039; is user definable), and the internal file structure must adhere to the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;?XML Version=&amp;quot;1.0&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nidocument&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nicomment&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
This is a custom error code definition file for my application.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/nicomment&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nierror code=&amp;quot;5000&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
User Access Denied!&amp;lt;br /&amp;gt;&lt;br /&gt;
Contact the Security Department to gain clearance to perform this function.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/nierror&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nierror code=&amp;quot;5001&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
User Unknown.&amp;lt;br /&amp;gt;&lt;br /&gt;
Contact the People Development Department.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/nierror&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nierror code=&amp;quot;5100&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Driver Unable to Contact Instrument Database.&amp;lt;br /&amp;gt;&lt;br /&gt;
Contact the Software Engineering Department Helpdesk.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/nierror&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;nierror code=&amp;quot;5200&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Plug-In Module in R&amp;amp;D mode – not to be used in Production Environment.&amp;lt;br /&amp;gt;&lt;br /&gt;
Contact the New Product Development Group.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/nierror&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/nidocument&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As can be seen, a file comment can be created within the &amp;lt;nicomment&amp;gt; tag space. Each custom error is defined as an &amp;lt;nierror&amp;gt; with it’s associated error code, and its error message is then placed inside the &amp;lt;nierror&amp;gt; tag space. Although hand coding a custom error code XML file is possible, the Error Code File Editor (Tools-&amp;gt;Advanced-&amp;gt;Edit Error Codes) provides a simple GUI for file creation and editing (figure coming soon...). Once custom error code files have been created and/or altered, LabVIEW must be&lt;br /&gt;
restarted for the changes to take effect.  It is often useful to define code bands during the project planning stage, setting aside bands for specific related error groups.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;:&lt;br /&gt;
This entire section of WIKI about &amp;quot;Error Handling&amp;quot; could benefit from a deep reading of the online help for the General Error Handler.vi. That VI has more facilities than folks typically know. FOR EXAMPLE: &lt;br /&gt;
&lt;br /&gt;
The General Error Handler.vi includes an input parameter for the type of dialog, one option is &amp;quot;no dialog.&amp;quot; I would STRONGLY recommended instead of calling &amp;quot;Error Code Database.vi&amp;quot;. The primary reason for the recommendation is that the translation of error code cluster into human readable strings involves much more than just looking up text in the database. The &#039;&#039;&#039;source&#039;&#039;&#039; string itself may include information to override or extend the database, and the text in either the &#039;&#039;&#039;source&#039;&#039;&#039; string or the database may include formatting commands, such as HTML tags for bold face. Encoding information in the &#039;&#039;&#039;source&#039;&#039;&#039; string is a technique that will become more common in the future. &lt;br /&gt;
&lt;br /&gt;
You may desire to display the text, fully formatted, in a string indicator of your own instead of in any dialog. Use the function of General Error Handler CORE.vi (found on the block diagram of General Error Handler.vi) to do this.&lt;br /&gt;
&lt;br /&gt;
== External Links  ==&lt;br /&gt;
&lt;br /&gt;
*[http://www.ni.com/getting-started/labview-basics/handling-errors Error Handling Basics by NI].&lt;br /&gt;
*[http://controlsoftwaresolutions.com/error-handling-strategies-labview/ David Maidman’s Blog Post].&lt;br /&gt;
*[https://forums.ni.com/t5/LabVIEW-Development-Best/quot-SOLID-Error-Handling-quot-presentation-at-NIWeek-2017/td-p/3629639 SOLID Error Handling by Dmitry].&lt;br /&gt;
*[http://www.ni.com/example/31253/en/ Structured Error Handler Express VI by NI]&lt;br /&gt;
&lt;br /&gt;
[[Category:LabVIEW fundamentals]]&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Online_videos&amp;diff=5524</id>
		<title>Online videos</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Online_videos&amp;diff=5524"/>
		<updated>2018-11-15T18:07:13Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span&amp;gt;Below is a list of online videos related to LabVIEW topics.  Most cover basic training but some cover specific LabVIEW topics.&amp;lt;/span&amp;gt;&amp;lt;p class=&amp;quot;mw_paragraph&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[https://www.youtube.com/channel/UCJnMVoaGnTr0HNQwTP_GTww NI&#039;s LabVIEW Channel]&lt;br /&gt;
*[https://youtu.be/90yKPBLmDJ4 LabVIEW Training Course by Hardware Thrift]&lt;br /&gt;
*[[NI_week#Videos|NI Week and CLA Conference Videos]]&lt;br /&gt;
*[https://www.youtube.com/channel/UCJ0jhJNGk9kjc12npjy6b4g/ GDevCon Conference Videos]&lt;br /&gt;
*[https://www.youtube.com/channel/UCvC4jW38T9_UoV_3-bdlXvA LabVIEW ADVANTAGE]&lt;br /&gt;
*[https://www.youtube.com/channel/UC2JvDufj1vB6GewXYMfpe-Q LabVIEW MakerHub]&lt;br /&gt;
*[https://www.youtube.com/channel/UClKq6SMtR9qtOIutMcWSWDw LabVIEW Architects Forum]&lt;br /&gt;
*[https://www.youtube.com/channel/UCD1Fm1HYETmjbBPyucbLRrw Delacor&#039;s Youtube Channel]&lt;br /&gt;
*[https://www.youtube.com/channel/UCwgd_sopH-ll3odVtTXY4oA System Automation Solutions LLC]&lt;br /&gt;
*[https://www.youtube.com/channel/UCVfW08kA4N3jytIitOnH9NQ Dr. James D Powell]&lt;br /&gt;
*[https://www.youtube.com/watch?v=RuIN31rSO2k NI Video on Event Driven Design].&lt;br /&gt;
*[https://www.youtube.com/watch?v=aT0obtY3PRk Sixclear Video on State Machines].&lt;br /&gt;
&lt;br /&gt;
[[Category:Lists]]&lt;br /&gt;
[[Category:LabVIEW ecosystem]]&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=State_Machine&amp;diff=5523</id>
		<title>State Machine</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=State_Machine&amp;diff=5523"/>
		<updated>2018-11-15T18:06:05Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: Updated external links and categories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;State Machine&#039;&#039;&#039; is a convenient LabVIEW construct where a case structure is contained with a while loop. Execution of particular cases in the structure is determined by the output from the previous case (or in the instance of the first execution) by the control selector input. The control of the order of case execution is controlled through the use of a shift register. By wiring the output from one case as the determinate to the subsequent case (wiring to the shift register on the right hand side) and wiring the input to the case selector from the left hand side shift register, operations can be ordered according to which state is executed.&amp;lt;br /&amp;gt;[[Image:Simple_State_Machine.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The state machine has the advantage of allowing several steps to be linked in series so that each individual step can be executed (or debugged) easily. The trap for the inexperienced programmer is the use of the state machine to step in a haphazard fashion through the cases in the loop. This can lead to complicated pathways through the state machine reminiscent of convoluted goto statements in conventional text based languages. However state machines are a valuable tool and can be used very effectively with this in mind.&lt;br /&gt;
&lt;br /&gt;
State machines can be based around integers, strings or enumerated types. The relative merits of each have been discussed in detail elsewhere. In summary an enumerated type state machine has the advantage of being automatically updated when the enum is changed (if the enum is a [[Type Definition]]) but has the disadvantage of requiring careful checking of all the code if new states (enums) are added or redundant states deleted. A string state machine has the advantage of easily added or removed states, but has the disadvantage of spelling mistakes causing programming errors (Note: this can be reduced by including the &amp;quot;Default&amp;quot; state showing the misspelled case in a pop up dialog box, as seen below).&amp;lt;br /&amp;gt;[[Image:String_Based_State_Machine_Default_Case.png]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Controlling Order of State Execution ==&lt;br /&gt;
There are three possible ways to order a LabVIEW state machine. The first and easiest method (although NOT recommended) is to use an integer. The integer output from one case is wired as the selector for the subsequent case. The disadvantage of this method is that the numbers themselves are not very helpful in tracking through the code and the case selector becomes somewhat meaningless. Either of the following methods are preferred and there are pros and cons for each of them. Debate (strong at times) arises on the list quite frequently as to the best of these methods, but in practice either will work very nicely.&lt;br /&gt;
&lt;br /&gt;
The second method is to use a string as the case selector. With the correct choice of string states, this has the advantage of labeling each case so that your state machine becomes self documenting. A further advantage of this method is that all cases need not be written in the first instance and it is somewhat easier to include new states should the need arise (especially in earlier versions of LabVIEW (&amp;lt; 6.0)). The disadvantage is that it is easy to misspell a state and have the state machine buggy because of his. An easy way to overcome this disadvantage is to include a default case that pops up a warning including the spelling of the failed case.&lt;br /&gt;
&lt;br /&gt;
The third method is to use an enumerated type as the case selector. In preference this enum should be a [[Type Definition]] so that changes to the states are reflected easily and transparently when new states are added to the enum (via the LabVIEW auto update from [[Type Definition]] setting). Note that there are reports where this method causes problems in version of LabVIEW prior to 6.0, because the enum auto updating did not correctly handle newly inserted cases. This method has the advantage of the string method in code documentation, but requires the use of a default case if not all the cases are required to be written when the code is first created.&lt;br /&gt;
&lt;br /&gt;
== Passing Data Between States ==&lt;br /&gt;
Data is commonly passed between the states of a state machine using a [[Shift Register]], similar to how the state variable is passed between states.  It is a common practice to use a single [[Cluster]] (preferably a [[Type Definition]]) to hold all the data in a single [[Shift Register]], rather than multiple shift registers for multiple data elements.&lt;br /&gt;
&lt;br /&gt;
== Variations ==&lt;br /&gt;
&lt;br /&gt;
=== Sequencer Pattern ===&lt;br /&gt;
&lt;br /&gt;
The Sequencer Pattern is a variation of the State Machine. Instead of a state leading to one or multiple states, the sequencer states are hard-coded in an array which dictates the order of execution. Only a state producing an error changes the sequence of operation by stopping the state machine. A state can be executed more than once by including it in multiple places in the hard-coded state array.  See more on the [https://forums.ni.com/t5/Example-Program-Drafts/Sequencer-Template/ta-p/3842265 Sequencer Pattern].&lt;br /&gt;
&lt;br /&gt;
=== VI Scripting Pattern ===&lt;br /&gt;
&lt;br /&gt;
The VI Scripting Pattern is a variation of the State Machine design specifically for writing [[VI Scripting]] code.  It uses an enum as the definition of the sequence of events in which to traverse incrementing through the enum for each state.  Therefore the sequence of state execution is hard-coded.  The VI Scripting Pattern will not repeat a state due to an enum not being able to have two entries of the same name unless two enum values are used for the same state. An error occurring in any state will cause the state machine to end. See more on the [https://www.mooregoodideas.com/technical-discussion/vi-scripting-pattern/ VI Scripting Pattern].&lt;br /&gt;
&lt;br /&gt;
== See Also  ==&lt;br /&gt;
&lt;br /&gt;
*[[Queued State Machine]]&lt;br /&gt;
&lt;br /&gt;
== External Links  ==&lt;br /&gt;
&lt;br /&gt;
*[http://www.ni.com/tutorial/7595/en/ NI Tutorial on State Machine Basics].&lt;br /&gt;
*[https://www.youtube.com/watch?v=RuIN31rSO2k NI Video Event Driven Design].&lt;br /&gt;
*[https://www.youtube.com/watch?v=aT0obtY3PRk Sixclear Video].&lt;br /&gt;
*[http://jkisoft.com/state-machine JKI State Machine] - An easy-to-use yet powerful state machine template from [http://jkisoft.com JKI Software].&lt;br /&gt;
*[https://en.wikipedia.org/wiki/State_machine_(LabVIEW_programming) Wikipedia Article].&lt;br /&gt;
&lt;br /&gt;
[[Category:Design patterns]]&lt;br /&gt;
[[Category:LabVIEW fundamentals]]&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Getting_Started&amp;diff=5522</id>
		<title>Getting Started</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Getting_Started&amp;diff=5522"/>
		<updated>2018-11-15T17:55:12Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span&amp;gt;This page is intended to be a starting point and resource to help navigate all LabVIEW content on this Wiki and elsewhere.&amp;lt;/span&amp;gt;&amp;lt;p class=&amp;quot;mw_paragraph&amp;quot;&amp;gt;[[LabVIEW|General information about LabVIEW]]&lt;br /&gt;
&lt;br /&gt;
*Basic Topics&lt;br /&gt;
**[[Training|Online Training]]&lt;br /&gt;
**[[LabVIEW_style_guide|LabVIEW Style Guide]]&lt;br /&gt;
**[[Community|Online Community]]&lt;br /&gt;
**[[Contributing_online|Contributing Online]]&lt;br /&gt;
**[[Finding_professional_help|Finding Professional Help]]&lt;br /&gt;
**[[Tips_and_tricks|Useful Tips and Tricks]]&lt;br /&gt;
**[[State_machine|State Machine Design Pattern]]&lt;br /&gt;
*Advanced Topics&lt;br /&gt;
**[[Object_oriented_software|Object Oriented Software]]&lt;br /&gt;
**[[Abstraction|Abstraction]]&lt;br /&gt;
**[[Actor_framework|Actor Framework]]&lt;br /&gt;
**[[Error_handling|Error Handling]]&lt;br /&gt;
**[[Source_code_control|Source Code Control]]&lt;br /&gt;
**[[SOLID_principals|SOLID Principals]]&lt;br /&gt;
**[[Unit_testing|Unit Testing]]&lt;br /&gt;
**[[VI_analyzer|VI Analyzer]]&lt;br /&gt;
**[[Virtual_machines|Virtual Machines]]&lt;br /&gt;
*Connecting With Other Developers&lt;br /&gt;
**[[User_groups|User Groups]]&lt;br /&gt;
**[[NI_week|NI Week]]&lt;br /&gt;
**[[Summits|Summits]]&lt;br /&gt;
*[[LabVIEW_blogs|LabVIEW Blogs]]&lt;br /&gt;
*[[Online_videos|Online Videos]]&lt;br /&gt;
*[[Certifications|Certifications]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;[[data flow|Data Flow]]&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;[[LabVIEW tutorial|LabVIEW Tutorial]]&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Hardware Basics&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Lists]]&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Online_videos&amp;diff=5521</id>
		<title>Online videos</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Online_videos&amp;diff=5521"/>
		<updated>2018-11-15T17:53:30Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: Updated categories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span&amp;gt;Below is a list of online videos related to LabVIEW topics.  Most cover basic training but some cover specific LabVIEW topics.&amp;lt;/span&amp;gt;&amp;lt;p class=&amp;quot;mw_paragraph&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[https://www.youtube.com/channel/UCJnMVoaGnTr0HNQwTP_GTww NI&#039;s LabVIEW Channel]&lt;br /&gt;
*[https://youtu.be/90yKPBLmDJ4 LabVIEW Training Course by Hardware Thrift]&lt;br /&gt;
*[[NI_week#Videos|NI Week and CLA Conference Videos]]&lt;br /&gt;
*[https://www.youtube.com/channel/UCJ0jhJNGk9kjc12npjy6b4g/ GDevCon Conference Videos]&lt;br /&gt;
*[https://www.youtube.com/channel/UCvC4jW38T9_UoV_3-bdlXvA LabVIEW ADVANTAGE]&lt;br /&gt;
*[https://www.youtube.com/channel/UC2JvDufj1vB6GewXYMfpe-Q LabVIEW MakerHub]&lt;br /&gt;
*[https://www.youtube.com/channel/UClKq6SMtR9qtOIutMcWSWDw LabVIEW Architects Forum]&lt;br /&gt;
*[https://www.youtube.com/channel/UCD1Fm1HYETmjbBPyucbLRrw Delacor&#039;s Youtube Channel]&lt;br /&gt;
*[https://www.youtube.com/channel/UCwgd_sopH-ll3odVtTXY4oA System Automation Solutions LLC]&lt;br /&gt;
*[https://www.youtube.com/channel/UCVfW08kA4N3jytIitOnH9NQ Dr. James D Powell]&lt;br /&gt;
&lt;br /&gt;
[[Category:Lists]]&lt;br /&gt;
[[Category:LabVIEW ecosystem]]&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=List_of_LabVIEW_blogs&amp;diff=5520</id>
		<title>List of LabVIEW blogs</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=List_of_LabVIEW_blogs&amp;diff=5520"/>
		<updated>2018-11-15T17:52:00Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: Updated and merged blog links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[https://forums.ni.com/t5/NI-Blog/bg-p/4001 NI&#039;s Blog]&lt;br /&gt;
**NI&#039;s official blog, updated very frequently with news from NI&lt;br /&gt;
*[https://automatedenver.com/blog/ System Automation Solutions] - 11/1/2018&lt;br /&gt;
**Sam Taggart&#039;s Blog&lt;br /&gt;
*[https://www.dmcinfo.com/latest-thinking/blog/articletype/categoryview/categoryid/6/labview DMC Blog] - 10/23/2018&lt;br /&gt;
**LabVIEW category of DMC&#039;s official blog&lt;br /&gt;
*[https://forums.ni.com/t5/Random-Ramblings-on-LabVIEW/bg-p/4012 Steve Watts Random Ramblings on LabVIEW Design] - 10/23/2018&lt;br /&gt;
**R﻿andom Ramblings says it all but often good insight into designs and discussions we don&#039;t think about but should question why we use them and ho﻿﻿w&lt;br /&gt;
*[https://thelvlab.wixsite.com/thelabviewlab The LabVIEW Lab] - 10/22/2018&lt;br /&gt;
**Eric Maussion﻿&#039;s blog﻿&lt;br /&gt;
*[https://www.digiajay.com/category/blog/labview/ Ajay Blog] - 10/10/2018&lt;br /&gt;
**Ajayvignesh&#039;s LabVI﻿EW blog﻿&lt;br /&gt;
*[https://www.winemantech.com/blog/topic/labview Wineman Technology Blog] - 10/10/2018&lt;br /&gt;
**LabVIEW category of Wineman&#039;s official blog&lt;br /&gt;
*[https://blog.jki.net/ JKI Blog] - 9/13/2018&lt;br /&gt;
**Blog often highlighting JKI&#039;s activity including VIPM and other LabVIEW tips&lt;br /&gt;
*[http://devs.wiresmithtech.com/ Wiresmith] - 9/25/2018&lt;br /&gt;
**James McNally&#039;s Blog&lt;br /&gt;
*[https://delacor.com/blog/ Delacor Blog] - 9/4/2018&lt;br /&gt;
*[http://hooovahh.blogspot.com/search/label/LabVIEW Hooovahh&#039;s Blog] - 8/24/2018&lt;br /&gt;
**Brian Hoover&#039;s blog focusing on LabVIEW and CAN&lt;br /&gt;
*[http://www.bloomy.com/support/blog/blog-category/labview Bloomy&#039;s Blog] - 8/13/2018&lt;br /&gt;
**LabVIEW category of Bloomy&#039;s official blog&lt;br /&gt;
*[http://www.labviewcraftsmen.com/ LabVIEW Craftsmen] - 7/3/2018&lt;br /&gt;
*[https://mgi.gitlab.io/articles/ MGI Blog] - 6/5/2018&lt;br /&gt;
**Moore Good Ideas b﻿log&lt;br /&gt;
*[http://blog.eyesonvis.com/ Eyes on VIs] - 5/25/2018&lt;br /&gt;
**Christina Rogers blog often focusing on LabVIEW&#039;s visual design UI&#039;s and UX&#039;s&lt;br /&gt;
*[http://qcontrolsqsi.blogspot.com/ QControls] - 5/16/2018&lt;br /&gt;
**Blog series on QContro﻿ls, and open alternative to XC﻿ontrol﻿s﻿&lt;br /&gt;
*[http://www.walkingthewires.com/ Walking The Wires] - 5/11/2018&lt;br /&gt;
**Chris Roebuck&#039;s Blog&lt;br /&gt;
*[http://www.notatamelion.com/blog/ Not a Tame Lion] - 5/5/2016&lt;br /&gt;
*[http://blog.sixclear.com VI High] - 11/3/2015&lt;br /&gt;
**VI High is the LabVIEW Programming Video Blog presented by Sixclear. Most episodes are composed of common LabVIEW questions and techniques geared to beginner and intermediate developers.&lt;br /&gt;
*[http://savvytestengineer.blogspot.com/ The Savvy Test Engineer] - 5/24/2015&lt;br /&gt;
**Greg Dudgeon - This blog covers test engineering topics that interest me.  About 25% of the time I discuss LabVIEW in one form or another.&lt;br /&gt;
*[http://labviewartisan.blogspot.com/ LabVIEW Artisan] - 2/5/2015&lt;br /&gt;
**Darren Nattinger&#039;s LabVIEW blog often highlighting lesser known features of LabVIEW&lt;br /&gt;
*[http://culverson.com/category/lab-view/ Culverson Software&#039;s Blog] - 9/20/2014&lt;br /&gt;
**LabV﻿IEW category of Steve Bird&#039;s Blog&lt;br /&gt;
*[http://themacview.blogspot.com The Mac View] - 8/4/2014&lt;br /&gt;
**Marc - Virtual Instrumentation from a Mac perspective&lt;br /&gt;
*[http://vishots.com VI Shots] - 7/31/2014&lt;br /&gt;
**Michael Aivaliotis continues to build automated test systems for various industries since 1993. VI Shots brings you the latest news from the world of test, measurement and automation. You will find reviews, videos and insights not found anywhere else.&lt;br /&gt;
*[http://mylabviewtshare.wordpress.com/ VIve LabVIEW] - 11/8/2013&lt;br /&gt;
**Ezequiel Gonzalez - Newbie LabVIEW notes in Spanish.&lt;br /&gt;
*[http://lvtechspeak.blogspot.com Technically Speaking] - 1/18/2013&lt;br /&gt;
**This blog is shared among several technical writers/managers in the LabVIEW group. We post our views and insight on processes, new technologies that we think are cool, and other things we decide to write about.&lt;br /&gt;
*[http://openmeas.blogspot.com/ Open Measurements] - 9/13/2010&lt;br /&gt;
**Brian Powell - I&#039;m a software architect on the LabVIEW R&amp;amp;amp;D team at National Instruments.&lt;br /&gt;
*[http://emertech.blogspot.com Emerging Technologies for Virtual Instrumentation] - 7/11/2010&lt;br /&gt;
**Hall T. Martin - I investigate emerging technologies and apply them to the world of virtual instrumentation.&lt;br /&gt;
*[http://ideasinwiring.blogspot.com Ideas in Wiring] - 7/18/2008&lt;br /&gt;
**Joel Sumner - This is my storehouse of information that might be useful to the LabVIEW community. It&#039;s the stuff that falls somewhere between &amp;quot;documentation&amp;quot; and &amp;quot;hallway conversation&amp;quot; that you might find useful, entertaining, or just a way to kill some time. As with any personal Blog, I don&#039;t speak for NI, that would be way more pressure than I want to deal with. I like hearing from you.&lt;br /&gt;
*[http://synergyenergy.blogspot.com/ Synergy Energy] - 4/18/2007&lt;br /&gt;
**Pavan Bathla - For integrated design, simulation, test &amp;amp;amp; measurement. Experiences of an Aerospace and Defense industry engineer. My main focus is test automation &amp;amp;amp; simulation, using technologies such as LabVIEW, RTOS, FPGA, ADCs... Multi-disciplinary engineering topics, philosophy &amp;amp;amp; economics always catch my attention.&lt;br /&gt;
*[http://detritus.blogs.com/lycangeek/ Lycangeek] - 2/6/2007&lt;br /&gt;
&lt;br /&gt;
[[Category:Lists]]&lt;br /&gt;
[[Category:Blogs]]&lt;br /&gt;
[[Category:LabVIEW ecosystem]]&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=LabVIEW_style_guide&amp;diff=5519</id>
		<title>LabVIEW style guide</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=LabVIEW_style_guide&amp;diff=5519"/>
		<updated>2018-11-15T15:45:54Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;LabVIEW is a graphical programming language, and as a result emphasis is often put on how the code looks, as well as how it performs.  Developers may have preferences on one style or another, but one good starting point is the following NI White Papers on Rules to Wire by:&lt;br /&gt;
&lt;br /&gt;
*[http://www.ni.com/white-paper/5560/en/ Rules to Wire By Part 1]&lt;br /&gt;
*[http://www.ni.com/white-paper/4822/en/ Rules to Wire By Part 2]&lt;br /&gt;
&lt;br /&gt;
These guidelines in programming style are important and can be check through automated inspection using the [[VI_analyzer|VI Analyzer]] toolkit.&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=LabVIEW_style_guide&amp;diff=5518</id>
		<title>LabVIEW style guide</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=LabVIEW_style_guide&amp;diff=5518"/>
		<updated>2018-11-15T15:45:16Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: Created page with links to Rules to Wire by and VI Analyzer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;LabVIEW is a graphical programming language, and as a result emphasis is often put on how the code looks, as well as how it performs.  Developers may have preferences on one style or another, but one good starting point is the following NI White Papers on Rules to Wire by:&lt;br /&gt;
&lt;br /&gt;
*[http://www.ni.com/white-paper/5560/en/ Rules to Wire By Part 1]&lt;br /&gt;
*[http://www.ni.com/white-paper/4822/en/ Rules to Wire By Part 2]&lt;br /&gt;
&lt;br /&gt;
These guidelines in programming style are important and can be check through automated inspection using the [[VI_analyzer VI Analyzer]] toolkit.&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=NI_week&amp;diff=5516</id>
		<title>NI week</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=NI_week&amp;diff=5516"/>
		<updated>2018-11-12T15:49:55Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NI Week is a yearly technical conference hosted by NI in Austin Texas, where NI is headquartered.  The conference focuses on showcasing NI&#039;s roadmap for software and hardware.&lt;br /&gt;
&lt;br /&gt;
= Schedule =&lt;br /&gt;
The conference officially starts on a Monday with Alliance Day focusing on NI&#039;s [[Alliance_program|Alliance Partners]].  There are activities for non Alliance Partners on Monday but the majority of closed door presentations are off limits.  Tuesday through Thursday technical sessions, training, keynotes, and other social activities take place with a schedule that changes each year.  If you are interested in attending NI Week check [http://www.ni.com/niweek|NI&#039;s official page] for their schedule.&lt;br /&gt;
&lt;br /&gt;
= Videos =&lt;br /&gt;
The majority of the content at NI Week is the technical sessions.  These can be presented by NI employees, or any member of the public after being approved by NI.  Over the years several NI sessions have been recorded and are available for viewing online.  These videos are available at [https://labviewvideo.tecnova.com/ Tecnova&#039;s LabVIEW Video] site, with the credentials Username: &#039;&#039;&#039;LabVIEW_Videos&#039;&#039;&#039;, Password: &#039;&#039;&#039;LabVIEW&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=NI_week&amp;diff=5515</id>
		<title>NI week</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=NI_week&amp;diff=5515"/>
		<updated>2018-11-12T15:49:21Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: Created NI Week page with link to videos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NI Week is a yearly technical conference hosted by NI in Austin Texas, where NI is headquartered.  The conference focuses on showcasing NI&#039;s roadmap for software and hardware.&lt;br /&gt;
&lt;br /&gt;
= Schedule =&lt;br /&gt;
The conference officially starts on a Monday with Alliance Day focusing on NI&#039;s [[Alliance_program|Alliance Partners]].  There are activities for non Alliance Partners on Monday but the majority of closed door presentations are off limits.  Tuesday through Thursday technical sessions, training, keynotes, and other social activities take place with a schedule that changes each year.  If you are interested in attending NI Week check [http://www.ni.com/niweek|NI&#039;s official page] for their schedule.&lt;br /&gt;
&lt;br /&gt;
= Videos =&lt;br /&gt;
The majority of the content at NI Week is the technical sessions.  These can be presented by NI employees, or any member of the public after being approved by NI.  Over the years several NI sessions have been recorded and are available for viewing online.  These videos are available at [[https://labviewvideo.tecnova.com/ Tecnova&#039;s LabVIEW Video] site, with the credentials Username: &#039;&#039;&#039;LabVIEW_Videos&#039;&#039;&#039;, Password: &#039;&#039;&#039;LabVIEW&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Online_videos&amp;diff=5514</id>
		<title>Online videos</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Online_videos&amp;diff=5514"/>
		<updated>2018-11-12T15:35:08Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: Created Online_videos page with mostly links to various youtube channels&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span&amp;gt;Below is a list of online videos related to LabVIEW topics.  Most cover basic training but some cover specific LabVIEW topics.&amp;lt;/span&amp;gt;&amp;lt;p class=&amp;quot;mw_paragraph&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[https://www.youtube.com/channel/UCJnMVoaGnTr0HNQwTP_GTww NI&#039;s LabVIEW Channel]&lt;br /&gt;
*[https://youtu.be/90yKPBLmDJ4 LabVIEW Training Course by Hardware Thrift]&lt;br /&gt;
*[[NI_week#Videos|NI Week and CLA Conference Videos]]&lt;br /&gt;
*[https://www.youtube.com/channel/UCJ0jhJNGk9kjc12npjy6b4g/ GDevCon Conference Videos]&lt;br /&gt;
*[https://www.youtube.com/channel/UCvC4jW38T9_UoV_3-bdlXvA LabVIEW ADVANTAGE]&lt;br /&gt;
*[https://www.youtube.com/channel/UC2JvDufj1vB6GewXYMfpe-Q LabVIEW MakerHub]&lt;br /&gt;
*[https://www.youtube.com/channel/UClKq6SMtR9qtOIutMcWSWDw LabVIEW Architects Forum]&lt;br /&gt;
*[https://www.youtube.com/channel/UCD1Fm1HYETmjbBPyucbLRrw Delacor&#039;s Youtube Channel]&lt;br /&gt;
*[https://www.youtube.com/channel/UCwgd_sopH-ll3odVtTXY4oA System Automation Solutions LLC]&lt;br /&gt;
*[https://www.youtube.com/channel/UCVfW08kA4N3jytIitOnH9NQ Dr. James D Powell]&lt;br /&gt;
&lt;br /&gt;
[[Category:Lists]]&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Training&amp;diff=5513</id>
		<title>Training</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Training&amp;diff=5513"/>
		<updated>2018-11-12T15:12:44Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: Created Training page with mostly external links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{see also|category:LabVIEW fundamentals}}&lt;br /&gt;
&amp;lt;span&amp;gt;Below is a list of LabVIEW topics, and online resources for training.  Most of these are in the form of free online training and tutorials covering features of LabVIEW.  Professional training from NI or some of their partners is also available.&amp;lt;/span&amp;gt;&amp;lt;p class=&amp;quot;mw_paragraph&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*[http://www.learnni.com/ NI Learning Center]&lt;br /&gt;
*[http://www.ni.com/getting-started/ NI Getting Started]&lt;br /&gt;
**[http://www.ni.com/getting-started/set-up-hardware/ Hardware Basics]&lt;br /&gt;
**[http://www.ni.com/tutorial/14621/en/ MyRIO Project Essentals Guide]&lt;br /&gt;
**[http://www.ni.com/gettingstarted/labviewbasics/ LabVIEW Basics By NI]&lt;br /&gt;
**[http://www.ni.com/getting-started/begin-application DAQ Application Tutorials]&lt;br /&gt;
**[http://www.ni.com/compactriodevguide/ cRIO Developer&#039;s Guide]&lt;br /&gt;
&lt;br /&gt;
*[http://www.ni.com/tutorial/5247/en/ 3 Hour LabVIEW Introduction] (Alternate [https://drive.google.com/open?id=1a7siWTi_L0wuUG8krVsrt7ywpS8m0yvG Google Drive])&lt;br /&gt;
*[https://drive.google.com/open?id=1CUsbKejyjvLQN7VyZ0dUg-32TVuZ7d4q 6 Hour LabVIEW Introduction] (Google Drive)&lt;br /&gt;
*[http://www.ni.com/academic/students/learn/ Self Paced training for students by NI]&lt;br /&gt;
*[http://sine.ni.com/myni/self-paced-training/app/main.xhtml Self Paced Training] Begginner to Advanced, requires SSP&lt;br /&gt;
*[[Online_videos|Online Videos]]&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Getting_Started&amp;diff=5512</id>
		<title>Getting Started</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Getting_Started&amp;diff=5512"/>
		<updated>2018-11-12T14:53:11Z</updated>

		<summary type="html">&lt;p&gt;Hooovahh: Made basic and advanced heading topics, most pages don&amp;#039;t go anywhere yet, I left Data Flow, Tutorials below which I think should be referenced in Online Training&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span&amp;gt;This page is intended to be a starting point and resource to help navigate all LabVIEW content on this Wiki and elsewhere.&amp;lt;/span&amp;gt;&amp;lt;p class=&amp;quot;mw_paragraph&amp;quot;&amp;gt;[[LabVIEW|General information about LabVIEW]]&lt;br /&gt;
&lt;br /&gt;
*Basic Topics&lt;br /&gt;
**[[Training|Online Training]]&lt;br /&gt;
**[[LabVIEW_style_guide|LabVIEW Style Guide]]&lt;br /&gt;
**[[Community|Online Community]]&lt;br /&gt;
**[[Contributing_online|Contributing Online]]&lt;br /&gt;
**[[Finding_professional_help|Finding Professional Help]]&lt;br /&gt;
**[[Tips_and_tricks|Useful Tips and Tricks]]&lt;br /&gt;
*Advanced Topics&lt;br /&gt;
**[[Object_oriented_software|Object Oriented Software]]&lt;br /&gt;
**[[Abstraction|Abstraction]]&lt;br /&gt;
**[[Actor_framework|Actor Framework]]&lt;br /&gt;
**[[Error_handling|Error Handling]]&lt;br /&gt;
**[[Source_code_control|Source Code Control]]&lt;br /&gt;
**[[SOLID_principals|SOLID Principals]]&lt;br /&gt;
**[[Unit_testing|Unit Testing]]&lt;br /&gt;
**[[VI_analyzer|VI Analyzer]]&lt;br /&gt;
**[[Virtual_machines|Virtual Machines]]&lt;br /&gt;
*Connecting With Other Developers&lt;br /&gt;
**[[User_groups|User Groups]]&lt;br /&gt;
**[[NI_week|NI Week]]&lt;br /&gt;
**[[Summits|Summits]]&lt;br /&gt;
*[[LabVIEW_blogs|LabVIEW Blogs]]&lt;br /&gt;
*[[Online_videos|Online Videos]]&lt;br /&gt;
*[[Certifications|Certifications]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;[[data flow|Data Flow]]&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;[[LabVIEW tutorial|LabVIEW Tutorial]]&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Hardware Basics&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hooovahh</name></author>
	</entry>
</feed>