<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SPEED VI</title>
	<atom:link href="http://www.speedvi.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.speedvi.com</link>
	<description>Everything about Virtual Instruments, Computer-based Measurement and Control, Automation...</description>
	<lastBuildDate>Thu, 28 Jan 2010 14:54:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Move Up and Down Tree Control Sub-items Programmatically in LabVIEW</title>
		<link>http://www.speedvi.com/everything-labview-related/move-up-and-down-tree-control-sub-items-programmatically-in-labview.html</link>
		<comments>http://www.speedvi.com/everything-labview-related/move-up-and-down-tree-control-sub-items-programmatically-in-labview.html#comments</comments>
		<pubDate>Fri, 10 Jul 2009 05:55:35 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[LabVIEW]]></category>
		<category><![CDATA[Items]]></category>
		<category><![CDATA[Movement]]></category>
		<category><![CDATA[Tree Control]]></category>

		<guid isPermaLink="false">http://www.speedvi.com/everything-labview-related/move-up-and-down-tree-control-sub-items-programmatically-in-labview.html</guid>
		<description><![CDATA[In my current project, I’m using a tree control to store the test items and the test operations are taken in sequence following the tree control’s top to down order. To make the test more flexible, the test sequence(here is the tree control’s items order in this program) should be able to modified by the [...]]]></description>
			<content:encoded><![CDATA[<p>In my current project, I’m using a tree control to store the test items and the test operations are taken in sequence following the tree control’s top to down order. To make the test more flexible, the test sequence(here is the tree control’s items order in this program) should be able to modified by the user. The user should be able to move test item up and down in this test sequence tree control. </p>
<p>LabVIEW provides the basic tree item move VIs, but in the actual test project, there is more to be considered and much more work to do. In my project, I use a two level tree to store the test sequence, the top level is the test item’s category and the sub-level is the test items as the following picture.</p>
<p> <span id="more-54"></span>
<p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://www.speedvi.com/wp-content/uploads/2009/07/image.png" width="196" height="186" /> </p>
<p>Move test items up or down in this tree control must always keep the test items under the right category. In my program, when move a test item up or down, first check if the item is the top(for up) or bottom(for down) item, if true, no operation will be taken; then check if the item is the top(for up) or bottom(for down)item in it’s category(for clearance name it A), if false, just move the item up or down in it’s category(A), if true, create a new category(B) with the same category text before or after current category(A) and move the item to this category(B), and if the category(C) before or next to it&#160; have more than one items, a new category(D) should be created after(for up) or before(for down) the category(B) the moved item under, and then move the last item(for up) or the first item(for down) to this category(D), and if the before or next category(C) has only one item, just move the newly created category(B) before or after the neighbor category. And if there is a category(E) before or after the neighbor category(C), check if the category(E) text is the same with the newly created category(B), if the same, the newly created category(B) should be merged into that category(E). It’s quite complex to explain it.</p>
<p>I just attached the VIs I created in this project, you can have much better understanding by it:<a href="http://www.speedvi.com/VISamples/MoveTreeItemUpDown.zip" target="_blank">Move Tree Item Up and Down VIs</a>.</p>
<h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li>April 20, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/transfer-more-than-text-message-in-queue-between-loops-in-labview.html" title="Transfer More Than Text Message in Queue Between Loops in LabVIEW">Transfer More Than Text Message in Queue Between Loops in LabVIEW</a> (2)</li><li>March 16, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/how-to-create-linked-list-in-labview.html" title="How to Create Linked List in LabVIEW">How to Create Linked List in LabVIEW</a> (0)</li><li>March 8, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/a-note-about-using-database-connectivity-toolset-in-labview.html" title="A Note about Using Database Connectivity Toolset in LabVIEW">A Note about Using Database Connectivity Toolset in LabVIEW</a> (0)</li><li>February 22, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/build-a-tri-state-led-indicator-in-labview.html" title="Build a Tri-State LED Indicator in LabVIEW">Build a Tri-State LED Indicator in LabVIEW</a> (0)</li><li>February 16, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/ni-announcing-the-labview-2009-platform-beta-program.html" title="NI Announcing the LabVIEW 2009 Platform Beta Program">NI Announcing the LabVIEW 2009 Platform Beta Program</a> (0)</li><li>February 2, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/problem-with-dll-in-labview.html" title="A Strange Problem When Calling External DLL with LabVIEW">A Strange Problem When Calling External DLL with LabVIEW</a> (0)</li><li>January 16, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/access-different-access-database-files-programmly-in-labview-with-database-connectivity-toolset.html" title="Access Different Access Database Files Programmatically in LabVIEW with Database Connectivity Toolset">Access Different Access Database Files Programmatically in LabVIEW with Database Connectivity Toolset</a> (2)</li><li>January 13, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/a-way-to-improve-user-experience-in-complicated-applications-in-labview.html" title="A Way to Improve User Experience in Complicated Applications in LabVIEW">A Way to Improve User Experience in Complicated Applications in LabVIEW</a> (5)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.speedvi.com/everything-labview-related/move-up-and-down-tree-control-sub-items-programmatically-in-labview.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Transfer More Than Text Message in Queue Between Loops in LabVIEW</title>
		<link>http://www.speedvi.com/everything-labview-related/transfer-more-than-text-message-in-queue-between-loops-in-labview.html</link>
		<comments>http://www.speedvi.com/everything-labview-related/transfer-more-than-text-message-in-queue-between-loops-in-labview.html#comments</comments>
		<pubDate>Mon, 20 Apr 2009 03:45:31 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[LabVIEW]]></category>
		<category><![CDATA[Case]]></category>
		<category><![CDATA[Loop]]></category>
		<category><![CDATA[Queue]]></category>
		<category><![CDATA[User Interface]]></category>

		<guid isPermaLink="false">http://www.speedvi.com/everything-labview-related/transfer-more-than-text-message-in-queue-between-loops-in-labview.html</guid>
		<description><![CDATA[As in one of my previous post: A Way to Improve User Experience in Complicated Applications in LabVIEW, I used two loops in my program. One loop works as user interface events interpreter and another loop processes test operations. I use a message queue to transfer user command from the user event loop to the [...]]]></description>
			<content:encoded><![CDATA[<p>As in one of my previous post: <a href="http://www.speedvi.com/everything-labview-related/a-way-to-improve-user-experience-in-complicated-applications-in-labview.html" target="_blank">A Way to Improve User Experience in Complicated Applications in LabVIEW</a>, I used two loops in my program. One loop works as user interface events interpreter and another loop processes test operations. I use a message queue to transfer user command from the user event loop to the test operation loop. Right now, a few test operations need to be performed with a set of voltage values to the same UUT, but the test routine is the same. I don’t want to create more cases to different voltages, I want to use only one case to process the same test routine.</p>
<p>Below is how I realize it. As in the following image shows:</p>
<p> <span id="more-52"></span>
<p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Message Queue" border="0" alt="Message Queue" src="http://www.speedvi.com/wp-content/uploads/2009/04/image.png" width="443" height="194" /> </p>
<p>I create a cluster which has a string data as the test command and a numeric array to store the test voltage value. I use this cluster as the element data type of the queue to transfer the test command and the test voltage from the user interface loop to the test operation loop. In the test case, test operation will be taken with specific voltage. It works quite well for me, and I needn’t create more cases in the test operation loop.</p>
<h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li>January 13, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/a-way-to-improve-user-experience-in-complicated-applications-in-labview.html" title="A Way to Improve User Experience in Complicated Applications in LabVIEW">A Way to Improve User Experience in Complicated Applications in LabVIEW</a> (5)</li><li>July 10, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/move-up-and-down-tree-control-sub-items-programmatically-in-labview.html" title="Move Up and Down Tree Control Sub-items Programmatically in LabVIEW">Move Up and Down Tree Control Sub-items Programmatically in LabVIEW</a> (0)</li><li>March 16, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/how-to-create-linked-list-in-labview.html" title="How to Create Linked List in LabVIEW">How to Create Linked List in LabVIEW</a> (0)</li><li>March 8, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/a-note-about-using-database-connectivity-toolset-in-labview.html" title="A Note about Using Database Connectivity Toolset in LabVIEW">A Note about Using Database Connectivity Toolset in LabVIEW</a> (0)</li><li>February 22, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/build-a-tri-state-led-indicator-in-labview.html" title="Build a Tri-State LED Indicator in LabVIEW">Build a Tri-State LED Indicator in LabVIEW</a> (0)</li><li>February 16, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/ni-announcing-the-labview-2009-platform-beta-program.html" title="NI Announcing the LabVIEW 2009 Platform Beta Program">NI Announcing the LabVIEW 2009 Platform Beta Program</a> (0)</li><li>February 2, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/problem-with-dll-in-labview.html" title="A Strange Problem When Calling External DLL with LabVIEW">A Strange Problem When Calling External DLL with LabVIEW</a> (0)</li><li>January 16, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/access-different-access-database-files-programmly-in-labview-with-database-connectivity-toolset.html" title="Access Different Access Database Files Programmatically in LabVIEW with Database Connectivity Toolset">Access Different Access Database Files Programmatically in LabVIEW with Database Connectivity Toolset</a> (2)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.speedvi.com/everything-labview-related/transfer-more-than-text-message-in-queue-between-loops-in-labview.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to Create Linked List in LabVIEW</title>
		<link>http://www.speedvi.com/everything-labview-related/how-to-create-linked-list-in-labview.html</link>
		<comments>http://www.speedvi.com/everything-labview-related/how-to-create-linked-list-in-labview.html#comments</comments>
		<pubDate>Mon, 16 Mar 2009 08:05:44 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[LabVIEW]]></category>
		<category><![CDATA[Array]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[Linked List]]></category>

		<guid isPermaLink="false">http://www.speedvi.com/everything-labview-related/how-to-create-linked-list-in-labview.html</guid>
		<description><![CDATA[Linked list is not a standard data type in LabVIEW, but we can create it in LabVIEW with cluster arrays.
First, what is linked list? It is defined as following in wikipedia:
In computer science, a linked list is one of the fundamental data structures, and can be used to implement other data structures. It consists of [...]]]></description>
			<content:encoded><![CDATA[<p>Linked list is not a standard data type in LabVIEW, but we can create it in LabVIEW with cluster arrays.</p>
<p>First, what is linked list? It is defined as following in <a href="http://en.wikipedia.org/wiki/Linked_list" target="_blank" title="Linked List Difination">wikipedia</a>:</p>
<blockquote><p>In computer science, a <strong>linked list</strong> is one of the fundamental data structures, and can be used to implement other data structures. It consists of a sequence of nodes, each containing arbitrary data fields and one or two references (&#8220;links&#8221;) pointing to the next and/or previous nodes. The principal benefit of a linked list over a conventional array is that the order of the linked items may be different from the order that the data items are stored in memory or on disk, allowing the list of items to be traversed in a different order. A linked list is a self-referential data-type because it contains a pointer or link to another datum of the same type. Linked lists permit insertion and removal of nodes at any point in the list in constant time, but do not allow random access. Several different types of linked list exist: singly-linked lists, doubly-linked lists, and circularly-linked lists.</p>
<p>Linked lists can be implemented in most languages. Languages such as Lisp and Scheme have the data structure built in, along with operations to access the linked list. Procedural or object-oriented languages such as C, C++, and Java typically rely on mutable references to create linked lists.</p>
</blockquote>
<p>Here is what we can do to create linked list in LabVIEW: Create a cluster, which has at least one element which is an integer numeric. We can use this element as the link to other list items in the list. Then, create a array which use this cluster as data type. The linked list is created. We can use it as we wish.</p>
<h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li>January 5, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/how-to-make-a-bar-graph-without-joining-lines-in-labview.html" title="How to Make a Bar Graph without Joining Lines in LabVIEW">How to Make a Bar Graph without Joining Lines in LabVIEW</a> (2)</li><li>July 10, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/move-up-and-down-tree-control-sub-items-programmatically-in-labview.html" title="Move Up and Down Tree Control Sub-items Programmatically in LabVIEW">Move Up and Down Tree Control Sub-items Programmatically in LabVIEW</a> (0)</li><li>April 20, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/transfer-more-than-text-message-in-queue-between-loops-in-labview.html" title="Transfer More Than Text Message in Queue Between Loops in LabVIEW">Transfer More Than Text Message in Queue Between Loops in LabVIEW</a> (2)</li><li>March 8, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/a-note-about-using-database-connectivity-toolset-in-labview.html" title="A Note about Using Database Connectivity Toolset in LabVIEW">A Note about Using Database Connectivity Toolset in LabVIEW</a> (0)</li><li>February 22, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/build-a-tri-state-led-indicator-in-labview.html" title="Build a Tri-State LED Indicator in LabVIEW">Build a Tri-State LED Indicator in LabVIEW</a> (0)</li><li>February 16, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/ni-announcing-the-labview-2009-platform-beta-program.html" title="NI Announcing the LabVIEW 2009 Platform Beta Program">NI Announcing the LabVIEW 2009 Platform Beta Program</a> (0)</li><li>February 2, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/problem-with-dll-in-labview.html" title="A Strange Problem When Calling External DLL with LabVIEW">A Strange Problem When Calling External DLL with LabVIEW</a> (0)</li><li>January 16, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/access-different-access-database-files-programmly-in-labview-with-database-connectivity-toolset.html" title="Access Different Access Database Files Programmatically in LabVIEW with Database Connectivity Toolset">Access Different Access Database Files Programmatically in LabVIEW with Database Connectivity Toolset</a> (2)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.speedvi.com/everything-labview-related/how-to-create-linked-list-in-labview.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Note about Using Database Connectivity Toolset in LabVIEW</title>
		<link>http://www.speedvi.com/everything-labview-related/a-note-about-using-database-connectivity-toolset-in-labview.html</link>
		<comments>http://www.speedvi.com/everything-labview-related/a-note-about-using-database-connectivity-toolset-in-labview.html#comments</comments>
		<pubDate>Sun, 08 Mar 2009 13:03:34 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[LabVIEW]]></category>
		<category><![CDATA[Database Connectivity Toolset]]></category>
		<category><![CDATA[Note]]></category>

		<guid isPermaLink="false">http://www.speedvi.com/everything-labview-related/a-note-about-using-database-connectivity-toolset-in-labview.html</guid>
		<description><![CDATA[The Database Connectivity Toolset is a great add-on toolkit for LabVIEW, it makes the database operation within LabVIEW so easy that you can operate database even without sound knowledge of database. 
I used this toolkit in one of my projects to record the test results of UUTs into MS Access database. I created a save [...]]]></description>
			<content:encoded><![CDATA[<p>The Database Connectivity Toolset is a great add-on toolkit for LabVIEW, it makes the database operation within LabVIEW so easy that you can operate database even without sound knowledge of database. </p>
<p>I used this toolkit in one of my projects to record the test results of UUTs into MS Access database. I created a save results to database subVI with this toolkit. The subVI looks like this:</p>
<p><img title="Origin LabVIEW subVI" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="266" alt="Origin LabVIEW subVI" src="http://www.speedvi.com/wp-content/uploads/2009/03/image.png" width="425" border="0" />&#160;</p>
<p> <span id="more-48"></span>
<p>It is simple. When the table does not exist, this subVI creates the table and inserts data, when the table exist, the subVI inserts data only. When I call this subVI for the first time, everything is fine. But when I call it again with the same table name and different data especially when the string data in the same column is much longer than the last time, there will be an error. After checked the Access database, I found out that the DB Tools Insert Data VI created the table and formatted every column’s size exactly the same as the initial data set. So, inserting data that longer than the initial will make an error. </p>
</p>
<p>The solution is first check if the table exists, then use the DB Tools Create Table VI to create table if table does not exist as in the following diagram:</p>
<p><img title="Solution To DB Save" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="263" alt="Solution To DB Save" src="http://www.speedvi.com/wp-content/uploads/2009/03/image1.png" width="550" border="0" /></p>
<h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li>January 16, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/access-different-access-database-files-programmly-in-labview-with-database-connectivity-toolset.html" title="Access Different Access Database Files Programmatically in LabVIEW with Database Connectivity Toolset">Access Different Access Database Files Programmatically in LabVIEW with Database Connectivity Toolset</a> (2)</li><li>July 10, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/move-up-and-down-tree-control-sub-items-programmatically-in-labview.html" title="Move Up and Down Tree Control Sub-items Programmatically in LabVIEW">Move Up and Down Tree Control Sub-items Programmatically in LabVIEW</a> (0)</li><li>April 20, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/transfer-more-than-text-message-in-queue-between-loops-in-labview.html" title="Transfer More Than Text Message in Queue Between Loops in LabVIEW">Transfer More Than Text Message in Queue Between Loops in LabVIEW</a> (2)</li><li>March 16, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/how-to-create-linked-list-in-labview.html" title="How to Create Linked List in LabVIEW">How to Create Linked List in LabVIEW</a> (0)</li><li>February 22, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/build-a-tri-state-led-indicator-in-labview.html" title="Build a Tri-State LED Indicator in LabVIEW">Build a Tri-State LED Indicator in LabVIEW</a> (0)</li><li>February 16, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/ni-announcing-the-labview-2009-platform-beta-program.html" title="NI Announcing the LabVIEW 2009 Platform Beta Program">NI Announcing the LabVIEW 2009 Platform Beta Program</a> (0)</li><li>February 2, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/problem-with-dll-in-labview.html" title="A Strange Problem When Calling External DLL with LabVIEW">A Strange Problem When Calling External DLL with LabVIEW</a> (0)</li><li>January 13, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/a-way-to-improve-user-experience-in-complicated-applications-in-labview.html" title="A Way to Improve User Experience in Complicated Applications in LabVIEW">A Way to Improve User Experience in Complicated Applications in LabVIEW</a> (5)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.speedvi.com/everything-labview-related/a-note-about-using-database-connectivity-toolset-in-labview.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Build a Tri-State LED Indicator in LabVIEW</title>
		<link>http://www.speedvi.com/everything-labview-related/build-a-tri-state-led-indicator-in-labview.html</link>
		<comments>http://www.speedvi.com/everything-labview-related/build-a-tri-state-led-indicator-in-labview.html#comments</comments>
		<pubDate>Sun, 22 Feb 2009 14:28:34 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[LabVIEW]]></category>
		<category><![CDATA[LED indicator]]></category>
		<category><![CDATA[Tri-State]]></category>
		<category><![CDATA[VI]]></category>

		<guid isPermaLink="false">http://www.speedvi.com/everything-labview-related/build-a-tri-state-led-indicator-in-labview.html</guid>
		<description><![CDATA[When using the default LED indicator in LabVIEW in my test projects, I found that the two statuses of it is not enough. For example, we can use a LED with red False status to indicate test failed and green True to indicate test passed, then what we can do with the LED before the [...]]]></description>
			<content:encoded><![CDATA[<p>When using the default LED indicator in LabVIEW in my test projects, I found that the two statuses of it is not enough. For example, we can use a LED with red False status to indicate test failed and green True to indicate test passed, then what we can do with the LED before the test finish? The test result is still unknown, red and green are not proper. In this situation, we need a yellow Unknown status with the LED indicator.</p>
<p>The following is how I build a tri-state LED indicator:</p>
<p>First create a new VI, place a enum control and a LED indicator on the front panel as below:</p>
<p><img title="VI&#39;s front panel" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="94" alt="VI&#39;s front panel" src="http://www.speedvi.com/wp-content/uploads/2009/02/image.png" width="204" border="0" /> </p>
<p>Then edit the enum’s properties as bellow:</p>
<p> <span id="more-45"></span>
<p><img title="Enum properties" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="214" alt="Enum properties" src="http://www.speedvi.com/wp-content/uploads/2009/02/image1.png" width="505" border="0" /> </p>
<p>And here is the diagram of this VI:</p>
<p><img title="VI&#39;s diagram" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="350" alt="VI&#39;s diagram" src="http://www.speedvi.com/wp-content/uploads/2009/02/image2.png" width="535" border="0" /> </p>
<p>This VI can be called by other VIs. We can use it to make LED indicator to display three colors for three different states.</p>
<p>This VI can be downloaded here: <a href="http://www.speedvi.com/wp-content/uploads/2009/02/tri-state-led.vi">Tri-State LED Indicator</a>.</p>
<h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li>July 10, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/move-up-and-down-tree-control-sub-items-programmatically-in-labview.html" title="Move Up and Down Tree Control Sub-items Programmatically in LabVIEW">Move Up and Down Tree Control Sub-items Programmatically in LabVIEW</a> (0)</li><li>April 20, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/transfer-more-than-text-message-in-queue-between-loops-in-labview.html" title="Transfer More Than Text Message in Queue Between Loops in LabVIEW">Transfer More Than Text Message in Queue Between Loops in LabVIEW</a> (2)</li><li>March 16, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/how-to-create-linked-list-in-labview.html" title="How to Create Linked List in LabVIEW">How to Create Linked List in LabVIEW</a> (0)</li><li>March 8, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/a-note-about-using-database-connectivity-toolset-in-labview.html" title="A Note about Using Database Connectivity Toolset in LabVIEW">A Note about Using Database Connectivity Toolset in LabVIEW</a> (0)</li><li>February 16, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/ni-announcing-the-labview-2009-platform-beta-program.html" title="NI Announcing the LabVIEW 2009 Platform Beta Program">NI Announcing the LabVIEW 2009 Platform Beta Program</a> (0)</li><li>February 2, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/problem-with-dll-in-labview.html" title="A Strange Problem When Calling External DLL with LabVIEW">A Strange Problem When Calling External DLL with LabVIEW</a> (0)</li><li>January 16, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/access-different-access-database-files-programmly-in-labview-with-database-connectivity-toolset.html" title="Access Different Access Database Files Programmatically in LabVIEW with Database Connectivity Toolset">Access Different Access Database Files Programmatically in LabVIEW with Database Connectivity Toolset</a> (2)</li><li>January 13, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/a-way-to-improve-user-experience-in-complicated-applications-in-labview.html" title="A Way to Improve User Experience in Complicated Applications in LabVIEW">A Way to Improve User Experience in Complicated Applications in LabVIEW</a> (5)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.speedvi.com/everything-labview-related/build-a-tri-state-led-indicator-in-labview.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NI Announcing the LabVIEW 2009 Platform Beta Program</title>
		<link>http://www.speedvi.com/everything-labview-related/ni-announcing-the-labview-2009-platform-beta-program.html</link>
		<comments>http://www.speedvi.com/everything-labview-related/ni-announcing-the-labview-2009-platform-beta-program.html#comments</comments>
		<pubDate>Mon, 16 Feb 2009 15:59:22 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[LabVIEW]]></category>
		<category><![CDATA[beta]]></category>

		<guid isPermaLink="false">http://www.speedvi.com/everything-labview-related/ni-announcing-the-labview-2009-platform-beta-program.html</guid>
		<description><![CDATA[Just noticed that NI LabVIEW’s new version number will be 2009 for this year, and it will not use 8.7 or 9.0 anymore. This naming method likes Microsoft Windows’ naming method. Following is from NI’s official forum:
You are invited to register for participation in the LabVIEW 2009 Platform beta program.&#160;&#160; 
You can register by visiting [...]]]></description>
			<content:encoded><![CDATA[<p>Just noticed that NI LabVIEW’s new version number will be 2009 for this year, and it will not use 8.7 or 9.0 anymore. This naming method likes Microsoft Windows’ naming method. Following is from NI’s official forum:</p>
<blockquote><p>You are invited to register for participation in the LabVIEW 2009 Platform beta program.&#160;&#160; </p>
<p>You can register by visiting http://www.ni.com/beta and selecting &quot;LabVIEW 2009 Platform&quot; from the list of beta programs.&#160; Please complete the profile questions that will help us understand your experience and use cases with LabVIEW.&#160; Make sure you agree to the T&amp;C of the beta program so that you can be approved.</p>
</blockquote>
<blockquote><p>What software is planned to be available?&#160; Note: not all software will be available during the first beta period.</p>
<ul>
<li>LabVIEW (32-bit)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Windows / Mac / Linux </li>
<li>LabVIEW (64-bit)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Windows Only </li>
<li>LabVIEW RT Module&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Windows Only </li>
<li>LabVIEW FPGA Module&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Windows Only </li>
<li>LabVIEW DSC Module&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Windows Only </li>
<li>LabVIEW Touch Panel Module&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Windows Only </li>
<li>LabVIEW Microprocessor SDK Module&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Windows Only </li>
<li>LabVIEW Control Design &amp; Simulation Module Windows / Mac / Linux </li>
<li>LabVIEW Statechart Module&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Windows Only </li>
<li>LabVIEW Mobile Module&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Windows Only </li>
<li>Vision Development Module&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Windows Only </li>
<li>Application Builder for Windows&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Windows Only&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </li>
<li>VI Analyzer Toolkit&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Windows Only </li>
<li>Report Generation Toolkit&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Windows Only </li>
<li>Database Connectivity Toolkit&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Windows Only </li>
<li>Internet Toolkit&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Windows Only </li>
<li>RT Execution Trace Toolkit&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Windows Only </li>
<li>Desktop Execution Trace Toolkit&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Windows Only </li>
<li>Digital Filter Design Toolkit&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Windows Only </li>
<li>Advanced Signal Processing Toolkit&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Windows Only </li>
<li>Motion Assistant&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Windows Only </li>
<li>PID Tookit&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Windows Only </li>
<li>Simulation Interface Toolkit&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Windows Only </li>
<li>System Identification Toolkit&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Windows Only </li>
<li>Adaptive Filter Tookit&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Windows Only </li>
<li>LabVIEW Signal Express&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Windows Only </li>
<li>Unit Test Framework&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Windows Only</li>
</ul>
</blockquote>
<p>There is always a major LabVIEW upgrade every year. It seems in this year LabVIEW will not only be a programming tool but also a platform that can accomplish more jobs at the same time. Hope it will make my daily programming work much easier!</p>
<h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li>July 10, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/move-up-and-down-tree-control-sub-items-programmatically-in-labview.html" title="Move Up and Down Tree Control Sub-items Programmatically in LabVIEW">Move Up and Down Tree Control Sub-items Programmatically in LabVIEW</a> (0)</li><li>April 20, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/transfer-more-than-text-message-in-queue-between-loops-in-labview.html" title="Transfer More Than Text Message in Queue Between Loops in LabVIEW">Transfer More Than Text Message in Queue Between Loops in LabVIEW</a> (2)</li><li>March 16, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/how-to-create-linked-list-in-labview.html" title="How to Create Linked List in LabVIEW">How to Create Linked List in LabVIEW</a> (0)</li><li>March 8, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/a-note-about-using-database-connectivity-toolset-in-labview.html" title="A Note about Using Database Connectivity Toolset in LabVIEW">A Note about Using Database Connectivity Toolset in LabVIEW</a> (0)</li><li>February 22, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/build-a-tri-state-led-indicator-in-labview.html" title="Build a Tri-State LED Indicator in LabVIEW">Build a Tri-State LED Indicator in LabVIEW</a> (0)</li><li>February 2, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/problem-with-dll-in-labview.html" title="A Strange Problem When Calling External DLL with LabVIEW">A Strange Problem When Calling External DLL with LabVIEW</a> (0)</li><li>January 16, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/access-different-access-database-files-programmly-in-labview-with-database-connectivity-toolset.html" title="Access Different Access Database Files Programmatically in LabVIEW with Database Connectivity Toolset">Access Different Access Database Files Programmatically in LabVIEW with Database Connectivity Toolset</a> (2)</li><li>January 13, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/a-way-to-improve-user-experience-in-complicated-applications-in-labview.html" title="A Way to Improve User Experience in Complicated Applications in LabVIEW">A Way to Improve User Experience in Complicated Applications in LabVIEW</a> (5)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.speedvi.com/everything-labview-related/ni-announcing-the-labview-2009-platform-beta-program.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some hidden features in LabWindows/CVI IDE</title>
		<link>http://www.speedvi.com/labwindowscvi/some-hidden-features-in-cvi-ide.html</link>
		<comments>http://www.speedvi.com/labwindowscvi/some-hidden-features-in-cvi-ide.html#comments</comments>
		<pubDate>Fri, 06 Feb 2009 06:47:53 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[LabWindows/CVI]]></category>
		<category><![CDATA[CVI]]></category>
		<category><![CDATA[features]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[LabWindows]]></category>

		<guid isPermaLink="false">http://www.speedvi.com/labwindowscvi/some-hidden-features-in-cvi-ide.html</guid>
		<description><![CDATA[First, to cycle between source code files in CVI IDE, just use Ctrl-Tab;
Second, if you forget what a function&#8217;s complete name, just write a few letters that you are sure of it, then press Ctrl-P. There will be a function name list dialog which includes the letters you typed, just choose the function you want [...]]]></description>
			<content:encoded><![CDATA[<p><span class="noindex">First, to cycle between source code files in CVI IDE, just use Ctrl-Tab;</span></p>
<p>Second, if you forget what a function&#8217;s complete name, just write a few letters that you are sure of it, then press Ctrl-P. There will be a function name list dialog which includes the letters you typed, just choose the function you want from the list;</p>
<p>Third, right-click anything in source code and choose &#8220;Go to Definition&#8221;, or use Ctrl-I, you can see where the variables are declared;</p>
<p>Fourth, you can make the project and library trees to auto hide by select menu: Options &gt; Environment &gt; Auto hide Project and Library Trees;</p>
<p>Fifth, there is a &#8220;Programmers ToolBox&#8221; shipped with LabWindows/CVI which can be used to manipulate sting and filename, you can find it in <em>&lt;cvidir&gt;</em>\toolslib\toolbox\toolbox.fp.</p>
<p>With them, you can make your CVI-based development much easier!</p>
<h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li>December 20, 2008 -- <a href="http://www.speedvi.com/labwindowscvi/the-new-features-of-labwindowscvi-version-90.html" title="The New Features of LabWindows/CVI Version 9.0">The New Features of LabWindows/CVI Version 9.0</a> (0)</li><li>December 31, 2008 -- <a href="http://www.speedvi.com/labwindowscvi/a-few-tips-on-improving-the-performance-of-table-controls-in-labwindowscvi.html" title="A few Tips on Improving the Performance of Table Controls in LabWindows/CVI">A few Tips on Improving the Performance of Table Controls in LabWindows/CVI</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.speedvi.com/labwindowscvi/some-hidden-features-in-cvi-ide.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Strange Problem When Calling External DLL with LabVIEW</title>
		<link>http://www.speedvi.com/everything-labview-related/problem-with-dll-in-labview.html</link>
		<comments>http://www.speedvi.com/everything-labview-related/problem-with-dll-in-labview.html#comments</comments>
		<pubDate>Mon, 02 Feb 2009 04:16:43 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[LabVIEW]]></category>
		<category><![CDATA[DLL]]></category>
		<category><![CDATA[Parameter]]></category>

		<guid isPermaLink="false">http://www.speedvi.com/everything-labview-related/problem-with-dll-in-labview.html</guid>
		<description><![CDATA[Currently I am using a third-part MIL-STD-1553 card in one of my projects. The vendor of this card provides only a DLL file as the driver for it which is build with Visual C++. To control this card in LabVIEW, I have to use the Import Shared Library wizard in LabVIEW to build all the [...]]]></description>
			<content:encoded><![CDATA[<p>Currently I am using a third-part MIL-STD-1553 card in one of my projects. The vendor of this card provides only a DLL file as the driver for it which is build with Visual C++. To control this card in LabVIEW, I have to use the Import Shared Library wizard in LabVIEW to build all the VIs that corresponding to every functions in this DLL. After that, I used these VIs in my program to control this 1553 card. Everything is fine with the card initialization and reset function, but when it comes to send data function, a strange problem happens.</p>
<p>The problem is as follows, when I use the send data function as in the manual provided by the vendor, set special values to parameter A and parameter B, and run this function after that, there is no responses. But with the demo program provided by the vendor which is in Visual C++, call this function as in the manual, everything is fine. At last, I try to set the special values to the parameters that follow A and B, for example, if A is the first parameter, then assign the value that should be assigned to A to the second parameter. After this operation, everything is fine now. I don&#8217;t know what is the reason to this strange problem. It seems that the parameters of this VI which is converted by LabVIEW are not correctly corresponding to the function parameters in the DLL.</p>
<p>I don&#8217;t know what caused this problem to happen, maybe someday I can find it out.</p>
<h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li>November 19, 2008 -- <a href="http://www.speedvi.com/everything-labview-related/problem-with-dll-import-in-labview.html" title="Problem with DLL import in LabVIEW">Problem with DLL import in LabVIEW</a> (0)</li><li>July 10, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/move-up-and-down-tree-control-sub-items-programmatically-in-labview.html" title="Move Up and Down Tree Control Sub-items Programmatically in LabVIEW">Move Up and Down Tree Control Sub-items Programmatically in LabVIEW</a> (0)</li><li>April 20, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/transfer-more-than-text-message-in-queue-between-loops-in-labview.html" title="Transfer More Than Text Message in Queue Between Loops in LabVIEW">Transfer More Than Text Message in Queue Between Loops in LabVIEW</a> (2)</li><li>March 16, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/how-to-create-linked-list-in-labview.html" title="How to Create Linked List in LabVIEW">How to Create Linked List in LabVIEW</a> (0)</li><li>March 8, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/a-note-about-using-database-connectivity-toolset-in-labview.html" title="A Note about Using Database Connectivity Toolset in LabVIEW">A Note about Using Database Connectivity Toolset in LabVIEW</a> (0)</li><li>February 22, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/build-a-tri-state-led-indicator-in-labview.html" title="Build a Tri-State LED Indicator in LabVIEW">Build a Tri-State LED Indicator in LabVIEW</a> (0)</li><li>February 16, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/ni-announcing-the-labview-2009-platform-beta-program.html" title="NI Announcing the LabVIEW 2009 Platform Beta Program">NI Announcing the LabVIEW 2009 Platform Beta Program</a> (0)</li><li>January 16, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/access-different-access-database-files-programmly-in-labview-with-database-connectivity-toolset.html" title="Access Different Access Database Files Programmatically in LabVIEW with Database Connectivity Toolset">Access Different Access Database Files Programmatically in LabVIEW with Database Connectivity Toolset</a> (2)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.speedvi.com/everything-labview-related/problem-with-dll-in-labview.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Access Different Access Database Files Programmatically in LabVIEW with Database Connectivity Toolset</title>
		<link>http://www.speedvi.com/everything-labview-related/access-different-access-database-files-programmly-in-labview-with-database-connectivity-toolset.html</link>
		<comments>http://www.speedvi.com/everything-labview-related/access-different-access-database-files-programmly-in-labview-with-database-connectivity-toolset.html#comments</comments>
		<pubDate>Fri, 16 Jan 2009 09:25:41 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[LabVIEW]]></category>
		<category><![CDATA[Access]]></category>
		<category><![CDATA[Database Connectivity Toolset]]></category>
		<category><![CDATA[UDL file]]></category>

		<guid isPermaLink="false">http://www.speedvi.com/?p=32</guid>
		<description><![CDATA[One of my project needs to save test results to different Access database files for different units to be tested. The database files&#8217; name is automatic generated based on UUT&#8217;s serial number. Currently, I&#8217;m using the LabVIEW Database Connectivity Toolset, and the default method to access a database file by it is UDL file. The [...]]]></description>
			<content:encoded><![CDATA[<p>One of my project needs to save test results to different Access database files for different units to be tested. The database files&#8217; name is automatic generated based on UUT&#8217;s serial number. Currently, I&#8217;m using the LabVIEW Database Connectivity Toolset, and the default method to access a database file by it is UDL file. The UDL file contains only one static database file and it is quite hard to change it programmly without manually select a database file and click the confirm button.  And it will be a nightmare to create each UDL file for each UUT before the test is taken.</p>
<p>To change the UDL file&#8217;s content in LabVIEW programmly is not easy too. Because UDL file  is unicode-formatted, and LabVIEW is quite limited in support to unicode. I had tried several ways to change the database file name in UDL file and save the UDL file to hard disk. And when I open the changed UDL again, I got &#8220;File corrupted&#8221; message. It seemed that it is not a good way.<span id="more-32"></span>At last, I had to read the help file of Database Connectivity Toolset word by word to find a way to work round. Wow, I found out that the VI DB Tools Open Connection is a Polymorphic VI that accepts string and file path data types. Just append the Access database file&#8217;s path after &#8220;Provider=Microsoft.Jet.OLEDB.4.0; Data Source=&#8221;, and wire it to connection information connector of DB Tools Open Connection VI, and everything will be OK.  Everything get solved.</p>
<p>It is really a good habit to read the help file carefully.</p>
<h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li>March 8, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/a-note-about-using-database-connectivity-toolset-in-labview.html" title="A Note about Using Database Connectivity Toolset in LabVIEW">A Note about Using Database Connectivity Toolset in LabVIEW</a> (0)</li><li>December 24, 2008 -- <a href="http://www.speedvi.com/everything-labview-related/howto-creating-a-microsoft-data-link-file-udl-for-connecting-to-microsoft-access-in-labview.html" title="Howto: Creating a Microsoft Data Link file (.UDL) for Connecting to Microsoft Access in LabVIEW">Howto: Creating a Microsoft Data Link file (.UDL) for Connecting to Microsoft Access in LabVIEW</a> (0)</li><li>December 18, 2008 -- <a href="http://www.speedvi.com/everything-labview-related/how-to-write-and-read-access-database-in-labview.html" title="How to write and read Access database in LabVIEW">How to write and read Access database in LabVIEW</a> (0)</li><li>July 10, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/move-up-and-down-tree-control-sub-items-programmatically-in-labview.html" title="Move Up and Down Tree Control Sub-items Programmatically in LabVIEW">Move Up and Down Tree Control Sub-items Programmatically in LabVIEW</a> (0)</li><li>April 20, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/transfer-more-than-text-message-in-queue-between-loops-in-labview.html" title="Transfer More Than Text Message in Queue Between Loops in LabVIEW">Transfer More Than Text Message in Queue Between Loops in LabVIEW</a> (2)</li><li>March 16, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/how-to-create-linked-list-in-labview.html" title="How to Create Linked List in LabVIEW">How to Create Linked List in LabVIEW</a> (0)</li><li>February 22, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/build-a-tri-state-led-indicator-in-labview.html" title="Build a Tri-State LED Indicator in LabVIEW">Build a Tri-State LED Indicator in LabVIEW</a> (0)</li><li>February 16, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/ni-announcing-the-labview-2009-platform-beta-program.html" title="NI Announcing the LabVIEW 2009 Platform Beta Program">NI Announcing the LabVIEW 2009 Platform Beta Program</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.speedvi.com/everything-labview-related/access-different-access-database-files-programmly-in-labview-with-database-connectivity-toolset.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Way to Improve User Experience in Complicated Applications in LabVIEW</title>
		<link>http://www.speedvi.com/everything-labview-related/a-way-to-improve-user-experience-in-complicated-applications-in-labview.html</link>
		<comments>http://www.speedvi.com/everything-labview-related/a-way-to-improve-user-experience-in-complicated-applications-in-labview.html#comments</comments>
		<pubDate>Mon, 12 Jan 2009 17:18:30 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[LabVIEW]]></category>
		<category><![CDATA[Program Structure]]></category>
		<category><![CDATA[Queue]]></category>
		<category><![CDATA[State Machine]]></category>
		<category><![CDATA[Template]]></category>
		<category><![CDATA[User Interface]]></category>

		<guid isPermaLink="false">http://www.speedvi.com/uncategorized/a-way-to-improve-user-experience-in-complicated-applications-in-labview.html</guid>
		<description><![CDATA[LabVIEW 8.x comes with the User Interface Event Handler template by default to process user interface events. But in some complicated applications, there will be so many jobs to do at the same time, and this default template is not enough. For example, in one of my projects, UUT’s power supply monitor and serial communication [...]]]></description>
			<content:encoded><![CDATA[<p>LabVIEW 8.x comes with the User Interface Event Handler template by default to process user interface events. But in some complicated applications, there will be so many jobs to do at the same time, and this default template is not enough. For example, in one of my projects, UUT’s power supply monitor and serial communication with UUT is running all the time while some tests are performed. If only with the default template in this case, the user interface will freeze when the application is performing some time-consuming jobs like serial communication or DAQ.</p>
<p><span id="more-28"></span></p>
<p>My way to improve user experience in such situation is a combination of state machine and the default user interface event handler. The user interface event handler only gets user events and sends them to the state machine by queue. The state machine does the real jobs which the user events suppose to do. And the state machine and the UI events handler run parallel. A simple demonstration is as following graphic:</p>
<p><a href="http://www.speedvi.com/wp-content/uploads/2009/01/image.png"><img style="border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px" title="image" src="http://www.speedvi.com/wp-content/uploads/2009/01/image-thumb.png" border="0" alt="image" width="466" height="444" /></a></p>
<p>There should be more to work if you want to use this structure in your real project development. As with this structure, the buttons and other controls will be working even some time-consuming works  are performing at the same time. Buttons are no longer freeze in such situation.</p>
<p>It is not the best solution to this problems, but so far in my projects, it works. And any improvement to this program structure is welcome. And, you can download a demo VI <a title="A simple demo vi" href="http://www.speedvi.com/wp-content/uploads/2009/01/simpledemo.vi" target="_blank">here</a>.</p>
<h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li>April 20, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/transfer-more-than-text-message-in-queue-between-loops-in-labview.html" title="Transfer More Than Text Message in Queue Between Loops in LabVIEW">Transfer More Than Text Message in Queue Between Loops in LabVIEW</a> (2)</li><li>July 10, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/move-up-and-down-tree-control-sub-items-programmatically-in-labview.html" title="Move Up and Down Tree Control Sub-items Programmatically in LabVIEW">Move Up and Down Tree Control Sub-items Programmatically in LabVIEW</a> (0)</li><li>March 16, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/how-to-create-linked-list-in-labview.html" title="How to Create Linked List in LabVIEW">How to Create Linked List in LabVIEW</a> (0)</li><li>March 8, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/a-note-about-using-database-connectivity-toolset-in-labview.html" title="A Note about Using Database Connectivity Toolset in LabVIEW">A Note about Using Database Connectivity Toolset in LabVIEW</a> (0)</li><li>February 22, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/build-a-tri-state-led-indicator-in-labview.html" title="Build a Tri-State LED Indicator in LabVIEW">Build a Tri-State LED Indicator in LabVIEW</a> (0)</li><li>February 16, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/ni-announcing-the-labview-2009-platform-beta-program.html" title="NI Announcing the LabVIEW 2009 Platform Beta Program">NI Announcing the LabVIEW 2009 Platform Beta Program</a> (0)</li><li>February 2, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/problem-with-dll-in-labview.html" title="A Strange Problem When Calling External DLL with LabVIEW">A Strange Problem When Calling External DLL with LabVIEW</a> (0)</li><li>January 16, 2009 -- <a href="http://www.speedvi.com/everything-labview-related/access-different-access-database-files-programmly-in-labview-with-database-connectivity-toolset.html" title="Access Different Access Database Files Programmatically in LabVIEW with Database Connectivity Toolset">Access Different Access Database Files Programmatically in LabVIEW with Database Connectivity Toolset</a> (2)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.speedvi.com/everything-labview-related/a-way-to-improve-user-experience-in-complicated-applications-in-labview.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
