<?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>PC Based Automation</title>
	<atom:link href="http://www.dajac.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dajac.com/blog</link>
	<description>Exploring all aspects of PC based automation.</description>
	<lastBuildDate>Fri, 09 Jul 2010 21:19:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Dajac and Linxter Help You Dodge Bullets</title>
		<link>http://www.dajac.com/blog/2010/03/01/dajac-linxter-help-you-dodge-bullets/</link>
		<comments>http://www.dajac.com/blog/2010/03/01/dajac-linxter-help-you-dodge-bullets/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 13:50:14 +0000</pubDate>
		<dc:creator>David Novak</dc:creator>
				<category><![CDATA[I/O Modules]]></category>
		<category><![CDATA[Expert I/O]]></category>
		<category><![CDATA[linxter]]></category>
		<category><![CDATA[pc based automation]]></category>
		<category><![CDATA[smart grid]]></category>

		<guid isPermaLink="false">http://www.dajac.com/blog/?p=406</guid>
		<description><![CDATA[When I think of smart grids, one of the first things to pop into my mind is Keanu Reeves dodging bullets in The Matrix. That was the ultimate smart grid! We&#8217;re not even close to that, but with the internet, we are becoming more and more connected. Everyday, there are new initiatives to connect us [...]]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_419" class="wp-caption alignright" style="width: 94px"><img src="http://www.dajac.com/blog/wp-content/uploads/2010/02/matrix.jpg" alt="The Ultimate Smart Grid" title="The Matrix" width="84" height="116" class="size-full wp-image-419" /><p class="wp-caption-text">The Ultimate Smart Grid</p></div></p>
<p>When I think of smart grids, one of the first things to pop into my mind is Keanu Reeves dodging bullets in <a href="http://en.wikipedia.org/wiki/The_Matrix">The Matrix</a>. That was the ultimate smart grid! We&#8217;re not even close to that, but with the internet, we are becoming more and more connected. Everyday, there are new initiatives to connect us to others and to connect machines to other machines.</p>
<p><span id="more-406"></span></p>
<p>Recently, there has been a great deal of talk about creating a smart power delivery system. This &#8220;smart grid&#8221; will have the ability to use electricity more efficiently by bridging the gap between the devices that use electricity and the suppliers of electricity. For example, a manufacturing plant may have a process that must run once a day with no strict time of day requirements. The smart grid will allow the plant to monitor electricity prices and only activate the process when the price of electricity falls below a specified threshold.</p>
<p>An example more pertinent to typical consumers is to control residential appliances based on electricity demand. With a smart grid, you will be able to load the washing machine and let the grid turn it on during non-peak (lower cost) times.</p>
<p>In addition to providing energy savings for the end user, the power companies will benefit from devices that report energy consumption. Using this consumption information, power companies will be able to operate more efficiently by leveling grid capacity to ensure energy is available when and where it is needed.</p>
<p>But how do you implement a smart grid? You need two pieces, a way to communicate with locally installed equipment and a way to control that equipment. Dajac and <a href="http://linxter.com/">Linxter</a> together provide the solution.</p>
<p>Dajac&#8217;s <a href="http://www.dajac.com/expert_io.php?aw=io">Expert I/O modules</a> are the &#8220;last mile&#8221; technology. They allow a computer to easily control electronic devices.</p>
<p>The remaining piece, the communications, is made effortless with Linxter&#8217;s software library. This library exposes a simple interface and takes care of the grunt work to give you a reliable and secure Ethernet communications channel across even the most unreliable links.</p>
<p>Over the next few weeks, Dajac and Linxter will unveil a smart grid proof of concept that will allow you to see these technologies in action and control them from anywhere in the world. Read the <a href="http://linxter.com/blog/tying-the-cloud-the-smart-grid-and-robots">Linxter blog</a> for more information about this event and keep an eye on the Dajac and Linxter web sites for the unveiling!</p>
<p>&nbsp;</p>
<hr />
<p><div id="attachment_375" class="wp-caption alignleft" style="width: 135px"><a href="http://www.dajac.com/usb-extension"><img src="http://www.dajac.com/blog/wp-content/uploads/2009/08/tied_in_knots.jpg" alt="Tied In Knots USB Extension Guide" title="Tied In Knots USB Extension Guide" width="125" height="152" class="size-full wp-image-375" /></a><p class="wp-caption-text">Tied In Knots USB Extension Guide</p></div></p>
<p style="font-weight:bold;">TIED IN KNOTS &#8212; A Must-Have Guide to Untangling USB Extension Options for PC Based Automation</p>
<p>Stop your USB devices from being shackled to a PC like the pretty boy on a chain gang (he can&#8217;t wait to get free!). <a href="http://www.dajac.com/usb-extension">By downloading this guide</a> you&#8217;ll instantly grow your USB toolbox to include multiple methods of extending USB connections and put yourself head and shoulders above the competition.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dajac.com/blog/2010/03/01/dajac-linxter-help-you-dodge-bullets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PC Based Automation Continues to Grow</title>
		<link>http://www.dajac.com/blog/2010/01/02/pc-based-automation-continues-to-grow/</link>
		<comments>http://www.dajac.com/blog/2010/01/02/pc-based-automation-continues-to-grow/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 05:01:55 +0000</pubDate>
		<dc:creator>David Novak</dc:creator>
				<category><![CDATA[I/O Modules]]></category>
		<category><![CDATA[Expert I/O]]></category>
		<category><![CDATA[pc based automation]]></category>
		<category><![CDATA[process control]]></category>
		<category><![CDATA[USB]]></category>

		<guid isPermaLink="false">http://www.dajac.com/blog/?p=377</guid>
		<description><![CDATA[I was cleaning up over the holidays and came across a couple articles that I had saved from earlier in 2009. I&#8217;m sure you&#8217;ll find them interesting. Both articles describe how people are taking PC based automation to the next level to reduce cost and integration time.

The first article, PC–Based Controls Help Freeze Escalating Energy [...]]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_387" class="wp-caption alignright" style="width: 130px"><img src="http://www.dajac.com/blog/wp-content/uploads/2009/12/process_machine.jpg" alt="PC Based Process Control" title="PC Based Process Control" width="120" height="90" class="size-full wp-image-387" /><p class="wp-caption-text">PC Based Process Control</p></div></p>
<p>I was cleaning up over the holidays and came across a couple articles that I had saved from earlier in 2009. I&#8217;m sure you&#8217;ll find them interesting. Both articles describe how people are taking PC based automation to the next level to reduce cost and integration time.</p>
<p><span id="more-377"></span></p>
<p>The first article, <a href="http://www.controlglobal.com/articles/2009/PCBasedControlsEnergyCosts0905.html">PC–Based Controls Help Freeze Escalating Energy Costs</a>, from ControlGlobal.com (May 13, 2009) explains how a company used PC&#8217;s to standardize control in multiple plants. Not only were they able to standardize, but the power of the PC allowed them to drive cost out of the process by using highly advanced control algorithms. Implementing the algorithms with PLC&#8217;s might have been possible, but the solution &#8220;would have been unwieldy and impractical&#8221;. Using the PC allowed them to model the process in real time to design the most efficient algorithm. In addition to better algorithms, PC control made is very simple to communicate with the rest of the plant and even between plants.</p>
<p>The second article, <a href="http://electronicdesign.com/article/boards-modules-systems/usb-flexes-its-industrial-strength21019.aspx">USB Flexes Its Industrial Strength</a> from Electronic Design (May 23, 2009), describes the multiple advantages of USB in PC based automation. It explains that although the overall speed of USB 2.0 is slower than that of Gigabit Ethernet, USB continues to be a great choice because of it modularity and the lack of need for Gigabit speeds. An important point that the article misses is that USB can be implemented in such a way as to have a guaranteed maximum latency (as is done in the Expert I/O 1000), whereas Ethernet depends on the number of devices attached to the node. The article goes on to explain that USB speed is soon to surpass Gigabit Ethernet. The new USB 3.0 specification increases the bandwidth to 5 Gigabits/second. </p>
<p>Make no mistake, PC based automation is alive and well and continues make gains into process and control applications where PLC&#8217;s once easily dominated.</p>
<p>&nbsp;</p>
<hr />
<p><div id="attachment_375" class="wp-caption alignleft" style="width: 135px"><a href="http://www.dajac.com/usb-extension"><img src="http://www.dajac.com/blog/wp-content/uploads/2009/08/tied_in_knots.jpg" alt="Tied In Knots USB Extension Guide" title="Tied In Knots USB Extension Guide" width="125" height="152" class="size-full wp-image-375" /></a><p class="wp-caption-text">Tied In Knots USB Extension Guide</p></div></p>
<p style="font-weight:bold;">TIED IN KNOTS &#8212; A Must-Have Guide to Untangling USB Extension Options for PC Based Automation</p>
<p>Stop your USB devices from being shackled to a PC like the pretty boy on a chain gang (he can&#8217;t wait to get free!). <a href="http://www.dajac.com/usb-extension">By downloading this guide</a> you&#8217;ll instantly grow your USB toolbox to include multiple methods of extending USB connections and put yourself head and shoulders above the competition.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dajac.com/blog/2010/01/02/pc-based-automation-continues-to-grow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PC Automated Pressure Measurements</title>
		<link>http://www.dajac.com/blog/2009/10/23/pc-automated-pressure-measurements/</link>
		<comments>http://www.dajac.com/blog/2009/10/23/pc-automated-pressure-measurements/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 18:18:01 +0000</pubDate>
		<dc:creator>David Novak</dc:creator>
				<category><![CDATA[I/O Modules]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[connection]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[Expert I/O]]></category>
		<category><![CDATA[measure]]></category>
		<category><![CDATA[pressure]]></category>
		<category><![CDATA[process control]]></category>
		<category><![CDATA[sample]]></category>
		<category><![CDATA[sensor]]></category>

		<guid isPermaLink="false">http://www.dajac.com/blog/?p=342</guid>
		<description><![CDATA[One of the vivid memories from my childhood is working in the garden picking vegetables. We lived on a farm and it was common to have a big garden. My mother would can all types of food, such as tomatoes, pickles and green beans. Part of this canning process involved boiling the jars of food [...]]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_354" class="wp-caption alignright" style="width: 105px"><img src="http://www.dajac.com/blog/wp-content/uploads/2009/10/pressure_cooker.png" alt="Pressure Cooker" title="Pressure Cooker" width="95" height="95" class="size-full wp-image-354" /><p class="wp-caption-text">Pressure Cooker</p></div></p>
<p>One of the vivid memories from my childhood is working in the garden picking vegetables. We lived on a farm and it was common to have a big garden. My mother would can all types of food, such as tomatoes, pickles and green beans. Part of this canning process involved boiling the jars of food in a pressure cooker. The release valve, with its hot hissing steam escaping, always intrigued me.</p>
<p>Canning food in the kitchen is a relatively simple process and easily controlled by the cook, but there are many other applications where it makes sense to automate the process.<span id="more-342"></span> For instance, you may have a process where it is important to know the exact pressure at a specific point in a process and, based on that pressure, control other parameters of the system.</p>
<p>Another example where automation would be ideal is monitoring pressure over time. You could manually take measurements at a given period over some number of hours, but it makes much more sense to automate and let the monitoring equipment record the measurements while you do other things. Because it is automated, this method is more precise and allows you to immediately analyze the data.</p>
<p>The first thing needed for measuring pressure is a pressure sensor. There are many sensors available with analog voltage outputs. These can be used with the Expert I/O 1000 by connecting the sensor&#8217;s analog output to an analog input on the Expert I/O 1000. The Expert I/O 1000 has six 0-5V analog inputs and it isn&#8217;t difficult to find pressure sensors with 0-5V outputs.</p>
<p>To properly specify the pressure sensor, the following parameters must be defined.</p>
<ul>
<li>Pressure range being measured.</li>
<li>Accuracy required.</li>
<li>Pressure fitting. How it attaches to the object being measured (1/4&#8243; pipe thread is the most common).</li>
<li>Electrical termination (connector or direct to cable).</li>
</ul>
<p>With these specifications in hand, you are now ready to shop for a sensor. Here are links to a few vendors that carry pressure sensors.</p>
<ul>
<li><a href="http://www.pewastore.com/index.asp?PageAction=VIEWCATS&#038;Category=11">PewaStore.com</a> </li>
<li><a href="http://www.omega.com/guides/pressXducers.html">Omega</a> (Choose output = Volt)</li>
<li><a href="http://stellartech.com/techsheets-press/pressuremodels.html">Stellar Technology</a></li>
<li><a href="http://www.emssensors.com/press/press.htm">Engineering and Manufacturing Services</a></li>
<li><a href="http://www.astsensors.com/pressure-sensor-products.php">American Sensor Technologies</a></li>
<li><a href="http://www.granzow.com/pressuretransmitters/">Granzow</a></li>
<li><a href="http://www.transducersdirect.com/HeleoCart/ProductCategory/Pressure+Transducer%2826%29.aspx">Transducers Direct</a></li>
<li><a href="http://devar.thomasnet.com/viewitems/level-and-pressure/level-and-pressure-transmitters?&#038;forward=1">DEVAR</a></li>
</ul>
<p>For easiest connection to the Expert I/O 1000, you&#8217;ll want to get a sensor with 0-5V analog output, but you probably noticed that another common output is 4-20mA. These can also be used with the Expert I/O 1000 by adding a 250 Ohm resistor from the output signal to ground. Adding the resistor converts the 4-20mA signal to a 1-5V signal. It&#8217;s not hard to deal with the 1V offset in software. The ground terminal next to each of the Expert I/O 1000 analog input terminals provide a convenient place to ground the 250 Ohm resistor.</p>
<p><div id="attachment_356" class="wp-caption aligncenter" style="width: 460px"><img src="http://www.dajac.com/blog/wp-content/uploads/2009/10/convert_4-20ma_to_1-5V.png" alt="Use a 250 Ohm resistor to ground to convert a 4-20mA output to 1-5V." title="Convert 4-20mA to 1-5V" width="450" height="310" class="size-full wp-image-356" /><p class="wp-caption-text">Use a 250 Ohm resistor to ground to convert a 4-20mA output to 1-5V.</p></div></p>
<p>Now that you have a sensor picked out, all that is left is to write a little software. Here is a snippet of code that initializes the Expert I/O 1000, samples an analog input and then exits.</p>
<div class="codecolorer-container c default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br /></div></td><td><div class="c codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">// Open the Expert I/O API.</span><br />
eioOpen<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Scan the USB and gather descriptors.</span><br />
eioGetDescriptors<span style="color: #009900;">&#40;</span> <span style="color: #339933;">&amp;</span>DescriptorGroup <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Claim the interface.</span><br />
eioClaimInterface<span style="color: #009900;">&#40;</span> DescriptorGroup.<span style="color: #202020;">Descriptors</span><span style="color: #009900;">&#91;</span>0<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>EioHandle <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Read analog input 1.</span><br />
eioAdcReadCount<span style="color: #009900;">&#40;</span> EioHandle<span style="color: #339933;">,</span> <span style="color: #0000dd;">3</span><span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>AdcCount <span style="color: #009900;">&#41;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Release the interface.</span><br />
eioReleaseInterface<span style="color: #009900;">&#40;</span> EioHandle <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Close the Expert I/O API.</span><br />
eioClose<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>If you read <a href="http://www.dajac.com/blog/2009/10/10/expert-io-api/">Between Mac and PC: The Expert I/O API</a>, much of the code will be familiar to you. I&#8217;ll go through it again for those that didn&#8217;t read the article.</p>
<p>Lines 1 through 8 are initialization and only need to be executed once. The initialization starts with calling <code class="codecolorer c default"><span class="c">eioOpen<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span></span></code>. This allows the API to configure its internal settings and ready itself for communicating on the USB.</p>
<p>The next step is to call <code class="codecolorer c default"><span class="c">eioGetDescriptors<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span></span></code> to scan each USB bus and locate all Expert I/O devices. It returns a <code class="codecolorer c default"><span class="c">DescriptorGroup</span></code> which contains an array of <code class="codecolorer c default"><span class="c">Descriptors<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span></span></code>. Each descriptor in <code class="codecolorer c default"><span class="c">Descriptors<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span></span></code> describes an Expert I/O found connected to the USB.
<p>Descriptors contain a model ID and a serial number. By inspecting the descriptors, you can locate the specific Expert I/O you wish to access. For the purpose of this example, we simply choose the first device found on the bus. On line 8, we use the first descriptor to obtain a handle to the device.</p>
<p>A device&#8217;s handle is exactly as it sounds. It is a &#8220;handle&#8221; to grab hold of the Expert I/O to control it. The handle is used every time you perform an operation on the device.</p>
<p>Line 8 serves another purpose, it claims the Expert I/O&#8217;s interface for exclusive use by our application. This is important, because the last thing you want is 2 applications trying to control the same Expert I/O simultaneously. Applications can share access to an Expert I/O, but no more than one application at a time can claim it&#8217;s interface.</p>
<p>Now we are ready to read the analog input. Line 11 reads analog input 3 by calling <code class="codecolorer c default"><span class="c">eioAdcReadCount</span></code> and places the result into AdcCount. AdcCount contains a value between 0 and 255, linearly related to the input voltage. If the input voltage is 0V, AdcCount will be 0. If the input voltage is 5V, AdcCount will be 255. AdcCount will vary linearly with the input voltage between 0 and 5V. Notice how we use the handle to identify the Expert I/O.</p>
<p>At this point, you can use AdcCount as needed. For instance, you could make a decision, based on the value of AdcCount, to activate an output or you could plot the time and value on a chart. The possibilities are endless.</p>
<p>When finished accessing the Expert I/O and ready to relinquish control of its interface, call <code class="codecolorer c default"><span class="c">eioReleaseInterface<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span></span></code> (line 14 in our example). With the interface released, it is now accessible to other applications that wish to claim it.</p>
<p>The last thing to do is to notify the API that we are finished using it. This is done on line 17 with a call to <code class="codecolorer c default"><span class="c">eioClose<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span></span></code>. Closing the API allows it to release any memory that it has allocated and to shut down in a structured manor.</p>
<p>That&#8217;s it. Now you know how to measure pressure using the Expert I/O 1000. It&#8217;s equally easy to monitor other characteristics. In a future article, I&#8217;ll go through the process of measuring temperature.</p>
<p>Please post questions and comments below.</p>
<hr />
<p><span style="font-weight:bold;">Think USB requires you to be shackled to a computer no more than 5 meters away?</span> Think again. This free guide and cheat sheet will show you the light: “TIED IN KNOTS – A Must-Have Guide to Untangling USB Extension Options for PC Based Automation”. <a href="http://www.dajac.com/usb-extension">Get it now!</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dajac.com/blog/2009/10/23/pc-automated-pressure-measurements/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Between Mac and PC: The Expert I/O API</title>
		<link>http://www.dajac.com/blog/2009/10/10/expert-io-api/</link>
		<comments>http://www.dajac.com/blog/2009/10/10/expert-io-api/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 02:50:22 +0000</pubDate>
		<dc:creator>David Novak</dc:creator>
				<category><![CDATA[I/O Modules]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[Expert I/O]]></category>

		<guid isPermaLink="false">http://www.dajac.com/blog/?p=148</guid>
		<description><![CDATA[PC based automation doesn&#8217;t need to be difficult. Some application user interfaces are terribly complicated and take forever to learn. Often, even the simple interfaces prove difficult because they make some features impossible to use so that other features are simple.
I see this all the time in products. The Mac vs PC battle (which is [...]]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_334" class="wp-caption alignright" style="width: 94px"><img src="http://www.dajac.com/blog/wp-content/uploads/2009/10/mac-pc-s.png" alt="Mac vs PC" title="Expert I/O API is Just Right" width="84" height="95" class="size-full wp-image-334" /><p class="wp-caption-text">Mac vs PC</p></div></p>
<p>PC based automation doesn&#8217;t need to be difficult. Some application user interfaces are terribly complicated and take forever to learn. Often, even the simple interfaces prove difficult because they make some features impossible to use so that other features are simple.</p>
<p>I see this all the time in products. The Mac vs PC battle (which is really Apple vs Microsoft) is a perfect example.<span id="more-148"></span> Both have essentially equivalent hardware power, but they take very different approaches to the user interface. Microsoft gives you access to every option under the sun, while Apple only gives you access to the options that 80% of people use regularly.</p>
<p>Microsoft products generally take longer to understand, but once you get it, you can do whatever you want. Apple gets you off the ground quickly, but if you are a power user, you will tend to be frustrated by a system that holds you back.</p>
<p>The Expert I/O application programmer&#8217;s interface (API) is a good mix between these two extremes. It is simple to learn and at the same time doesn&#8217;t hold you back.</p>
<p>Right from the start, your life is made easy by allowing you to use your favorite programming language. The only stipulation is that it must support the use of dynamic link libraries (DLL&#8217;s) and it&#8217;s hard to find a language that doesn&#8217;t. You can use Visual Basic, C, C++, Delphi, Pascal, etc. You can even use scripting languages such as PHP and Python. Wouldn&#8217;t that be cool, a remote accessible web application built with PHP to control a PC based automation system.</p>
<p>Here is a simple example of using C to set a digital output high.</p>
<div class="codecolorer-container c default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br /></div></td><td><div class="c codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">// Open the Expert I/O API.</span><br />
eioOpen<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Scan the USB and gather descriptors.</span><br />
eioGetDescriptors<span style="color: #009900;">&#40;</span> <span style="color: #339933;">&amp;</span>DescriptorGroup <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Claim the interface.</span><br />
eioClaimInterface<span style="color: #009900;">&#40;</span> DescriptorGroup.<span style="color: #202020;">Descriptors</span><span style="color: #009900;">&#91;</span>0<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>EioHandle <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Set digital output voltage high to 3.3V.</span><br />
eioDioSetPull<span style="color: #009900;">&#40;</span> EioHandle<span style="color: #339933;">,</span> 2<span style="color: #339933;">,</span> eioDIO_PULL_3_3 <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Set bit 0 of port 2 high.</span><br />
eioDioSet<span style="color: #009900;">&#40;</span> EioHandle<span style="color: #339933;">,</span> 2<span style="color: #339933;">,</span> 1 <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Release the interface.</span><br />
eioReleaseInterface<span style="color: #009900;">&#40;</span> EioHandle <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Close the Expert I/O API.</span><br />
eioClose<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>Lines 1 through 8 are initialization and only need to be executed once. The initialization starts with calling <code class="codecolorer c default"><span class="c">eioOpen<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span></span></code>. This allows the API to configure its internal settings and ready itself for communicating on the USB.</p>
<p>The next step is to call <code class="codecolorer c default"><span class="c">eioGetDescriptors<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span></span></code> to scan each USB bus and locate all Expert I/O devices. It returns a <code class="codecolorer c default"><span class="c">DescriptorGroup</span></code> which contains an array of <code class="codecolorer c default"><span class="c">Descriptors<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span></span></code>. Each descriptor in <code class="codecolorer c default"><span class="c">Descriptors<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span></span></code> describes an Expert I/O found connected to the USB.
<p>Descriptors contain a model ID and a serial number. By inspecting the descriptors, you can locate the specific Expert I/O you wish to access. For the purpose of this example, we simply choose the first device found on the bus. On line 8, we use the first descriptor to obtain a handle to the device.</p>
<p>A devices handle is exactly as it sounds. It is a &#8220;handle&#8221; to grab hold of the Expert I/O to control it. The handle is used every time you perform an operation on the device.</p>
<p>Line 8 serves another purpose, it claims the Expert I/O&#8217;s interface for exclusive use by our application. This is important, because the last thing you want is 2 applications trying to control the same Expert I/O simultaneously. Applications can share access to an Expert I/O, but no more than one application at a time can claim it&#8217;s interface.</p>
<p>Now we are ready to start controlling the Expert I/O. Line 11 configures a digital output (port 2) to 3.3V logic high (<code class="codecolorer c default"><span class="c">eioDIO_PULL_3_3</span></code>). Notice how we use the handle to identify the Expert I/O.</p>
<p>Line 14 is the line that causes the digital output to change states. It sets bit 0 of port 2 high. Each port consists of 8 pins and each pin is associated with a bit in an 8-bit value. The 1 in this function call puts a 1 in the bit 0 position of the port (binary 1 is 00000001) and thereby forces its associated pin to logic high.</p>
<p>At this point, you can include code to control any other ports on the Expert I/O as you see fit.</p>
<p>When finished accessing the Expert I/O and ready to relinquish control of its interface, call <code class="codecolorer c default"><span class="c">eioReleaseInterface<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span></span></code> (line 17 in our example). With the interface released, it is now accessible to other applications that wish to claim it.</p>
<p>The last thing to do is to notify the API that we are finished using it. This is done on line 20 with a call to <code class="codecolorer c default"><span class="c">eioClose<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span></span></code>. Closing the API allows it to release any memory that it has allocated and to shut down in a structured manor.</p>
<p>This is only a small example, but once it is in place and working, expanding it to control other I/O ports is very easy. There is a set of simple interface functions for each I/O type (motor, analog in, analog out, etc.). These are explained in complete detail in the <a href="http://www.dajac.com/files/eio_software_manual.pdf">software user manual</a>.</p>
<p>If you have questions or comments, please post them below.</p>
<p>&nbsp;</p>
<hr />
<p>Struggling with extending the USB connection? Be sure to check out <a href="http://www.dajac.com/usb-extension">TIED IN KNOTS – A Must-Have Guide to Untangling USB Extension Options for PC Based Automation</a>.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dajac.com/blog/2009/10/10/expert-io-api/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>GPS, Trade Shows and PC Based Automation</title>
		<link>http://www.dajac.com/blog/2009/09/25/gps-trade-shows-pc-based-automation/</link>
		<comments>http://www.dajac.com/blog/2009/09/25/gps-trade-shows-pc-based-automation/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 14:21:21 +0000</pubDate>
		<dc:creator>David Novak</dc:creator>
				<category><![CDATA[General Automation]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[pc]]></category>
		<category><![CDATA[trade show]]></category>
		<category><![CDATA[USB]]></category>

		<guid isPermaLink="false">http://www.dajac.com/blog/?p=286</guid>
		<description><![CDATA[
We made the trip to Chicago (Rosemont) last week to visit the Design &#038; Manufacturing Midwest show. I did my due diligence the night before and printed directions and maps which looked fairly straight forward. Up I-65 to I-94 to I-294 and exit on River Rd. right at the convention center.
Unfortunately, I was distracted with [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.dajac.com/blog/wp-content/uploads/2009/09/dmm.jpg" alt="Rosemont, IL" title="Rosemont, IL" width="221" height="90" class="alignright size-full wp-image-293" /></p>
<p>We made the trip to Chicago (Rosemont) last week to visit the Design &#038; Manufacturing Midwest show. I did my due diligence the night before and printed directions and maps which looked fairly straight forward. Up I-65 to I-94 to I-294 and exit on River Rd. right at the convention center.</p>
<p>Unfortunately, I was distracted with the frequent toll stops and road construction. When I started seeing signs for Milwaukee, I began to worry. <span id="more-286"></span> Luckily, we only overshot River Rd. by about 7 miles, but we paid for that little mistake. It took 15 minutes studying Google Maps on my smartphone to figure out how to get onto River Rd. when traveling South on the I-294. That I-294/I-90/I-190 intersection is a real mess (think spaghetti). We had to go past the River Rd. exit that we should have taken when heading North and take the following exit. From there, we used side streets to get back to River Rd.</p>
<p>I do have a GPS and it was even in the car, however I tend to not use it much. I find that it usually gets me there, but when I arrive, I&#8217;ve lost all sense of direction and location. Therefore, I almost always stick to good old fashioned maps. In this case, that cost me.</p>
<p>The show was good, with lots of interesting things to see. It was collocated with Assembly Technology Expo, Electronics Midwest, Quality Expo, Green Manufacturing Expo and MD&#038;M Midwest. There were no less than 3 conference halls filled end to end with exhibitors.
<p>I came away with 2 significant observations.</p>
<ul>
<li>PC&#8217;s continue to drive deeper into manufacturing processes.</li>
<li>When a PC is present, USB can make acquisition and control simple.</li>
</ul>
<p>At last year&#8217;s show, I talked to multiple people that used these technologies, but didn&#8217;t see any of them in action. This year, I saw 3 exhibits where a PC and/or USB was in use. I also talked to the representatives from Axiomtek who were selling industrial computers for use in automation.</p>
<p>The battle between PLC&#8217;s and PC&#8217;s is far from over, but there is no doubt that there is a place in automation for PC&#8217;s. Operators are familiar with PC&#8217;s, engineers are familiar with PC&#8217;s and PC&#8217;s have essentially unlimited processing power. All these factors will continue to drive the adoption of PC based automation.</p>
<p>It&#8217;s a Microsoft world, from barcode scanners to PC&#8217;s to ERP systems. There is no way to escape the influence of PC&#8217;s.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dajac.com/blog/2009/09/25/gps-trade-shows-pc-based-automation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Expert I/O 1000 is a Golden Mousetrap Finalist</title>
		<link>http://www.dajac.com/blog/2009/09/14/expert-io-1000-is-a-golden-mousetrap-finalist/</link>
		<comments>http://www.dajac.com/blog/2009/09/14/expert-io-1000-is-a-golden-mousetrap-finalist/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 20:58:20 +0000</pubDate>
		<dc:creator>David Novak</dc:creator>
				<category><![CDATA[I/O Modules]]></category>
		<category><![CDATA[Design News]]></category>
		<category><![CDATA[Expert I/O]]></category>
		<category><![CDATA[Golden Mousetrap]]></category>
		<category><![CDATA[press]]></category>

		<guid isPermaLink="false">http://www.dajac.com/blog/?p=266</guid>
		<description><![CDATA[
Earlier this year, we entered the Expert I/O 1000 in the 2009 Design News Golden Mousetrap contest. Today, we are proud to announce that it was selected as a finalist in the Test &#038; Measurement category. It&#8217;s a great honor to be standing shoulder to shoulder with the likes of Agilent, National Instruments and ABB [...]]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_268" class="wp-caption alignright" style="width: 105px"><img src="http://www.dajac.com/blog/wp-content/uploads/2009/09/golden_mousetrap.jpg" alt="2009 Golden Mousetrap Finalist" title="Golden Mousetrap" width="95" height="95" class="size-full wp-image-268" /><p class="wp-caption-text">2009 Golden Mousetrap Finalist</p></div></p>
<p>
Earlier this year, we entered the Expert I/O 1000 in the 2009 Design News Golden Mousetrap contest. Today, we are proud to announce that it was selected as a finalist in the Test &#038; Measurement category. It&#8217;s a great honor to be standing shoulder to shoulder with the likes of Agilent, National Instruments and ABB who also attained top positions in the same category.
</p>
<p>
For more than two decades, the Design News Awards Program has recognized engineering innovation and creativity in product design. This year, Golden Mousetrap awards were given in four major categories: Electronics, Motion Control/Automation, Hardware/Software, Materials/Fastening/Joining/Assembly, and 20 subcategories. Design News gathered a record number of entries, distributing them to their beat editors for judging. Based on the editors&#8217; expertise in each technology area, 71 finalists and 23 winners were selected.<span id="more-266"></span>
</p>
<p><div id="attachment_275" class="wp-caption aligncenter" style="width: 460px"><img src="http://www.dajac.com/blog/wp-content/uploads/2009/09/golden_mousetrap_finalist_2009.jpg" alt="Expert I/O 1000 is a 2009 Golden Mousetrap Finalist." title="2009 Golden Mousetrap Finalist" width="450" height="348" class="size-full wp-image-275" /><p class="wp-caption-text">Expert I/O 1000 is a 2009 Golden Mousetrap Finalist.</p></div></p>
<p>
&#8220;Design News congratulates the winners and finalists of the 2009 Golden Mousetrap Awards for the great work they&#8217;ve done to develop new and innovative products for design engineers,&#8221; said Design News Editor-in-Chief Karen Field. &#8220;These products showcase the highly imaginative ways that today&#8217;s engineers are ‘building a better mousetrap,’ and we thank them for their contributions.&#8221;
</p>
<p>
Read more:</p>
<blockquote><p>
<a target="_blank" href="http://www.designnews.com/article/346227-Come_Join_the_Golden_Mousetrap_Party.php">Design News web Announcement</a><br />
<a target="_blank" href="http://www.designnews.com/channel/Golden_Mousetrap_Finalists.php">Complete List of Finalists</a><br />
<a target="_blank" href="http://www.designnews.com/channel/Golden_Mousetrap_Winners.php">Complete List of Winners</a><br />
Pages 52-55 of the September 2009 Design News Print Magazine
</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.dajac.com/blog/2009/09/14/expert-io-1000-is-a-golden-mousetrap-finalist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Expert I/O 1000 Gets Press</title>
		<link>http://www.dajac.com/blog/2009/08/28/expert-io-1000-gets-press/</link>
		<comments>http://www.dajac.com/blog/2009/08/28/expert-io-1000-gets-press/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 16:13:57 +0000</pubDate>
		<dc:creator>David Novak</dc:creator>
				<category><![CDATA[I/O Modules]]></category>
		<category><![CDATA[Design World]]></category>
		<category><![CDATA[Expert I/O]]></category>
		<category><![CDATA[press]]></category>

		<guid isPermaLink="false">http://www.dajac.com/blog/?p=241</guid>
		<description><![CDATA[Dajac recently published a press release describing the Expert I/O 1000. As has been the case time and again, we received a very positive response. It was published on no less than 13 technical magazine web sites (listed below) and this month, it was included in print for the first time. The August 2009 edition [...]]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_244" class="wp-caption alignright" style="width: 90px"><img src="http://www.dajac.com/blog/wp-content/uploads/2009/08/design_world_aug_09.jpg" alt="Design World August 2009" title="Includes Expert I/O 1000 Showcase" width="80" height="95" class="size-full wp-image-244" /><p class="wp-caption-text">Design World August 2009</p></div></p>
<p>Dajac recently published a press release describing the Expert I/O 1000. As has been the case time and again, we received a very positive response. It was published on no less than 13 technical magazine web sites (listed below) and this month, it was included in print for the first time. The August 2009 edition of Design World magazine gave it more than a fourth of a page!</p>
<p>To celebrate this milestone, we are offering special pricing for a limited time. <span style="font-weight:bold; color:rgb(0, 128, 0);">Mention Design World magazine</span> during your Expert I/O 1000 purchase and <span style="font-weight:bold; color:rgb(0, 128, 0);">receive a 25% discount</span>. You&#8217;ll have to <a href="https://www.dajac.com/order1.php">act quick</a>. This offer only lasts through September 8th, 2009.<span id="more-241"></span></p>
<p><div id="attachment_245" class="wp-caption alignright" style="width: 460px"><img src="http://www.dajac.com/blog/wp-content/uploads/2009/08/npi_pr_design_world.jpg" alt="The Expert I/O 1000 received showcase coverage in the August 2009 issue of Design World magazine." title="Expert I/O 1000 Showcase" width="450" height="318" class="size-full wp-image-245" /><p class="wp-caption-text">The Expert I/O 1000 received showcase coverage in the August 2009 issue of Design World magazine.</p></div></p>
<p>We don&#8217;t pay for these articles, magazines pick up the press release and make a decision to publish it based on their readers&#8217; interests. That being the case, there are no guarantees that we will be notified when showcase articles are published. Therefore, if you see the Expert I/O 1000 press release in additional magazines, either online or in print, please post a comment to this article. We&#8217;d love to hear about it.</p>
<p>The following is a list of all the online magazines that have showcased the Expert I/O 1000.</p>
<p><a href="http://www.automation.com/content/dajac-announces-new-usb-controlled-io-module-for-pc-based-automation">Automation</a><br />
<a href="http://www.automationworld.com/products-5686">Automation World</a><br />
<a href="http://www.chemicalprocessing.com/vendors/products/2009/314.html">Chemical Processing</a><br />
<a href="http://www.designworldonline.com/articles/4206/USB-Controlled-IO-Module-for-PC-Based-Automation.aspx">Design World</a><br />
<a href="http://www.ecnmag.com/product-control-module-072109.aspx">ECN</a><br />
<a href="http://www.eepn.com/Locator/Products/Index.cfm?ArticleID=38190">Electronic Design</a><br />
<a href="http://www2.electronicproducts.com/USB_I_O_module_handles_digital_analog_motor-article-bpjh04_oct2009-html.aspx">Electronic Products</a><br />
<a href="http://www.embedded.com/products/oem/218101632?_requestid=294214">Embedded</a><br />
<a href="http://www.industrialcontroldesignline.com/showArticle.jhtml;jsessionid=KO4XKS0A4HQRIQSNDLOSKHSCJUNN2JVN?articleID=218101608&#038;queryText=dajac">Industrial Control Designline</a><br />
<a href="http://www.motioncontrol.com/companies/index.cfm/Dajac-Corporation">Motion Control</a><br />
<a href="http://www.motioncontroltips.com/2009/06/23/usb-controlled-io-module-for-pc-based-automation/">Motion Control Tips</a><br />
<a href="http://www.pddnet.com/product-automation-module-070109/?terms=dajac">Product Design and Development</a><br />
<a href="http://www.rdmag.com/Tools-And-Technology/2009/06/USB-I-O-module-for-PC-based-automation/">R &#038; D</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dajac.com/blog/2009/08/28/expert-io-1000-gets-press/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>TIED IN KNOTS &#8211; A Must-Have Guide to Untangling USB Extension Options for PC Based Automation</title>
		<link>http://www.dajac.com/blog/2009/08/19/tied-in-knots-a-must-have-guide-to-untangling-usb-extension-options-for-pc-based-automation/</link>
		<comments>http://www.dajac.com/blog/2009/08/19/tied-in-knots-a-must-have-guide-to-untangling-usb-extension-options-for-pc-based-automation/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 18:37:08 +0000</pubDate>
		<dc:creator>David Novak</dc:creator>
				<category><![CDATA[I/O Modules]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[USB]]></category>

		<guid isPermaLink="false">http://www.dajac.com/blog/?p=58</guid>
		<description><![CDATA[

//

Stop Your USB Devices From Being Shackled to a PC Like the Pretty Boy on a Chain Gang (He Can't Wait to Get Free!)
Most people believe USB connections are constrained to 5 meters from the PC. In PC based automation projects they toil with PC and device placement.
It's never been easier to free yourself from [...]]]></description>
			<content:encoded><![CDATA[<p><script language="javascript" type="text/javascript">

//<!-- hide script from older browsers
  
  function ValidateRequired( Field, AlertText )
  {
    if ( Field.value == null || Field.value == "" )
    {
      alert( AlertText );
      Field.focus();
      
      return false;
    }
        
    return true;
  }  
  
  function ValidateEmail( Field, AlertText )
  {
    if (
      (Field.value == "") ||
      (Field.value.indexOf( "@", 0) == -1) || 
      (Field.value.indexOf( ".", 0) == -1) || 
      (Field.value.indexOf( ".@", 0) != -1)  || 
      (Field.value.indexOf( "@.", 0) != -1)     )
    {
      alert( AlertText );
      Field.focus();

      return false;
    }
    
    return true;
  }

  function ValidateForm(AForm)
  {    
    if ( !ValidateRequired(AForm.FirstName, "Please enter your first name.") )
      return false;
      
    if ( !ValidateRequired(AForm.LastName, "Please enter your last name.") )
      return false;

    if ( !ValidateEmail(AForm.EmailAddress, "Please enter a valid email address.") )
      return false;
      
    return true;
  }

//-->
</script></p>
<p><div id="attachment_109" class="wp-caption alignright" style="width: 102px"><img class="size-full wp-image-109" title="Tangled USB Cable" src="http://www.dajac.com/blog/wp-content/uploads/2009/08/tangled_usb_cable.jpg" alt="Understand Your Options" width="92" height="80" /><p class="wp-caption-text">Understand Your Options</p></div></p>
<h2 style="color:#4778CB; text-align:center;">Stop Your USB Devices From Being Shackled to a PC Like the Pretty Boy on a Chain Gang (He Can't Wait to Get Free!)</h2>
<p>Most people believe USB connections are constrained to 5 meters from the PC. In PC based automation projects they toil with PC and device placement.</p>
<p>It's never been easier to free yourself from this restriction.<span id="more-58"></span></p>
<h2 style="color:#4778CB; text-align:center;">Instantly Free Yourself from USB Connection Hell!</h2>
<p><div id="attachment_375" class="wp-caption alignleft" style="width: 135px"><img src="http://www.dajac.com/blog/wp-content/uploads/2009/08/tied_in_knots.jpg" alt="Tied In Knots USB Extension Guide" title="Tied In Knots USB Extension Guide" width="125" height="152" class="size-full wp-image-375" /><p class="wp-caption-text">Tied In Knots USB Extension Guide</p></div></p>
<p>By downloading this <span style="color:red;">free guide</span> you'll instantly grow your USB toolbox to include multiple methods of extending USB connections and <span style="color:red;">put yourself head and shoulders above the competition</span>.</p>
<p>It took over two weeks to research and compile this guide. The methods described include wired and wireless solutions: wired hubs, active cables, CAT5, Ethernet, WiFi (802.11g), wireless USB (WUSB), fiber optics and more. In addition to stretching USB connections, many of these solutions also provide <span style="color:red;">electrical isolation</span>. Every method is picked apart, analyzed and compared. You'll learn the pros and cons of each.</p>
<h2 style="color:#4778CB; text-align:center;">You Won't Find a More Power Packed Comparison of USB Extension Options</h2>
<p>In addition to the guide, you also get a cheat sheet that compresses the 5 page guide into a single, easy to use, reference. Quickly see and easily choose the solution that fits your needs the best.</p>
<p><div id="attachment_374" class="wp-caption aligncenter" style="width: 460px"><img src="http://www.dajac.com/blog/wp-content/uploads/2009/08/cheat_sheet.jpg" alt="USB Extension Cheat Sheet" title="USB Extension Cheat Sheet" width="450" height="157" class="size-full wp-image-374" /><p class="wp-caption-text">USB Extension Cheat Sheet</p></div></p>
<p>Not only do you get the guide and cheat sheet, but you'll also learn where to find a web page with links to every option mentioned in the Guide. This will no doubt <span style="color:red;">save you time when trying to locate these extension devices</span>.</p>
<h2 style="color:#4778CB; text-align:center;">How do I Get It?</h2>
<p>Getting your hands on this information is simple, fast and free. All you have to do is complete the form below and you will instantly receive the guide and cheat sheet via email. </p>
<p style="font-size:1.3em; text-align:center; font-weight:bold;">I guarantee you will be surprised by the number of options.</p>
<p style="font-style: italic; text-align: center; color: red;">Don't wait, get started untangling your USB connections now!</p>
<form name="GetGuide" method="post" action="/usb_connection_guide_confirmation.php" onSubmit="return ValidateForm(GetGuide)";>
<blockquote>
<table border="0" cellspacing="0" cellpadding="8" width="100%">
<tbody>
<tr>
<td colspan="2" valign="top" bgcolor="#e9e9e9">
<p style="text-align: center;">Get</p>
<p style="text-align: center; font-weight: bold;">"TIED IN KNOTS - A Must-Have Guide to Untangling USB Extension Options for PC Based Automation"</p>
<p style="text-align: center;">via Email:</p>
</td>
</tr>
<tr>
<td width="20%" valign="top" bgcolor="#e9e9e9">First Name<span style="color:red;">*</span></td>
<td bgcolor="#e9e9e9">
<input name="FirstName" size="35" type="text" /></td>
</tr>
<tr>
<td valign="top" bgcolor="#e9e9e9">Last Name<span style="color:red;">*</span></td>
<td bgcolor="#e9e9e9">
<input name="LastName" size="35" type="text" /></td>
</tr>
<tr>
<td valign="top" bgcolor="#e9e9e9">Email<span style="color:red;">*</span></td>
<td bgcolor="#e9e9e9">
<input name="EmailAddress" size="35" type="text" /></td>
</tr>
<tr>
<td valign="top" bgcolor="#e9e9e9">Company</td>
<td bgcolor="#e9e9e9">
<input name="Company" size="35" type="text" /></td>
</tr>
<tr>
<td valign="top" bgcolor="#e9e9e9">What is your top priority problem this week?</td>
<td bgcolor="#e9e9e9"><textarea cols="30" rows="5" name="TopProblem"></textarea></td>
</tr>
<tr>
<td valign="top" bgcolor="#e9e9e9">How hard are you finding it to solve?</td>
<td bgcolor="#e9e9e9">
<input name="Difficulty" type="radio" value="Very Hard" /> Very Hard</p>
<input name="Difficulty" type="radio" value="Hard" /> Hard</p>
<input name="Difficulty" type="radio" value="Easy" /> Easy</td>
</tr>
<tr>
<td colspan="2" bgcolor="#e9e9e9">
<p align="center">
<input name="Submit" type="submit" value="Get it Now" /></p>
<p style="text-align:center;"><span style="color:red;">*</span> Denotes required fields.</p>
</td>
</tr>
</tbody>
</table>
</blockquote>
</form>
<p>We will <span style="font-weight:bold">NEVER</span> spam you or sell your email address to anyone.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dajac.com/blog/2009/08/19/tied-in-knots-a-must-have-guide-to-untangling-usb-extension-options-for-pc-based-automation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Links to USB Extension Products</title>
		<link>http://www.dajac.com/blog/2009/08/19/links-to-usb-extension-products/</link>
		<comments>http://www.dajac.com/blog/2009/08/19/links-to-usb-extension-products/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 18:36:33 +0000</pubDate>
		<dc:creator>David Novak</dc:creator>
				<category><![CDATA[I/O Modules]]></category>
		<category><![CDATA[connection]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[links]]></category>

		<guid isPermaLink="false">http://www.dajac.com/blog/?p=184</guid>
		<description><![CDATA[In TIED IN KNOTS &#8211; A Must-Have Guide to Untangling USB Extension Options for PC Based Automation, I discussed several methods for extending the USB connection between the computer and the device. While these solutions exist, not all of them are easy to find. Here are a few product links for each solution.
WiredHubs

Tripp Lite U026-016 [...]]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://www.dajac.com/blog/2009/08/19/tied-in-knots-a-must-have-guide-to-untangling-usb-extension-options-for-pc-based-automation/" >TIED IN KNOTS &#8211; A Must-Have Guide to Untangling USB Extension Options for PC Based Automation</a>, I discussed several methods for extending the USB connection between the computer and the device. While these solutions exist, not all of them are easy to find. Here are a few product links for each solution.<span id="more-184"></span></p>
<p><span style="font-weight:bold">WiredHubs</span></p>
<div style="margin-left:10px">
<a target="_blank" href="http://www.amazon.com/gp/product/B0002D6QJO?ie=UTF8&#038;tag=dajinc-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B0002D6QJO">Tripp Lite U026-016 USB2.0 16-Feet</a><img src="http://www.assoc-amazon.com/e/ir?t=dajinc-20&#038;l=as2&#038;o=1&#038;a=B0002D6QJO" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></p>
<p><a target="_blank" href="http://www.amazon.com/gp/product/B0001STJ6M?ie=UTF8&#038;tag=dajinc-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B0001STJ6M">Belkin F3U130-16 16-Foot</a><img src="http://www.assoc-amazon.com/e/ir?t=dajinc-20&#038;l=as2&#038;o=1&#038;a=B0001STJ6M" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></p>
<p><a target="_blank" href="http://www.amazon.com/gp/product/B0000B16FY?ie=UTF8&#038;tag=dajinc-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B0000B16FY">Cables To Go &#8211; 29560 &#8211; USB 2.0 Hub 7-Port</a><img src="http://www.assoc-amazon.com/e/ir?t=dajinc-20&#038;l=as2&#038;o=1&#038;a=B0000B16FY" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</div>
<p><span style="font-weight:bold">Ethernet (Hardware Assisted)</span></p>
<div style="margin-left:10px">
<a target="_blank" href="http://www.amazon.com/gp/product/B00006HWX6?ie=UTF8&#038;tag=dajinc-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B00006HWX6">Digi Intl. ANYWHERE USB/5</a><img src="http://www.assoc-amazon.com/e/ir?t=dajinc-20&#038;l=as2&#038;o=1&#038;a=B00006HWX6" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></p>
<p><a target="_blank" href="http://www.amazon.com/gp/product/B000A6OK5K?ie=UTF8&#038;tag=dajinc-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B000A6OK5K">Silex SX-2000U2 Device Server</a><img src="http://www.assoc-amazon.com/e/ir?t=dajinc-20&#038;l=as2&#038;o=1&#038;a=B000A6OK5K" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</div>
<p><span style="font-weight:bold">Passive Cable</span></p>
<div style="margin-left:10px">
<a target="_blank" href="http://www.amazon.com/gp/product/B000NOAHS8?ie=UTF8&#038;tag=dajinc-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B000NOAHS8">Cables Unlimited USB Over Cat5e</a><img src="http://www.assoc-amazon.com/e/ir?t=dajinc-20&#038;l=as2&#038;o=1&#038;a=B000NOAHS8" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></p>
<p><a target="_blank" href="http://www.amazon.com/gp/product/B000UOE2LO?ie=UTF8&#038;tag=dajinc-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B000UOE2LO">Sabrent USB-RJXT USB Over Cat5e</a><img src="http://www.assoc-amazon.com/e/ir?t=dajinc-20&#038;l=as2&#038;o=1&#038;a=B000UOE2LO" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</div>
<p><span style="font-weight:bold">Active Cable &#8211; Signal Conditioning</span></p>
<div style="margin-left:10px">
<a target="_blank" href="http://www.usbfirewire.com/Parts/rr-usb2-ext-40ft-wht.html">USBFireWire RR-USB2-EXT-40FT</a></p>
<p><a target="_blank" href="http://www.usbfirewire.com/Parts/rr-usb2-ext-40ft-wht-hub4.html">USBFireWire RR-USB2-EXT-40FT-WHT-HUB4</a></p>
<p><a target="_blank" href="http://www.usbfirewire.com/Parts/rr-usb2-ext-65ft.html">USBFireWire RR-USB2-EXT-65FT</a>
</div>
<p><span style="font-weight:bold">Active Cable &#8211; Alternate Time Domain</span></p>
<div style="margin-left:10px">
<a target="_blank" href="http://www.amazon.com/gp/product/B001AS6HYO?ie=UTF8&#038;tag=dajinc-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B001AS6HYO">Icron USB 2.0 Ranger 2101</a><img src="http://www.assoc-amazon.com/e/ir?t=dajinc-20&#038;l=as2&#038;o=1&#038;a=B001AS6HYO" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></p>
<p><a target="_blank" href="http://www.amazon.com/gp/product/B001AS574A?ie=UTF8&#038;tag=dajinc-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B001AS574A">Icron USB 2.0 Ranger 2104</a><img src="http://www.assoc-amazon.com/e/ir?t=dajinc-20&#038;l=as2&#038;o=1&#038;a=B001AS574A" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</div>
<p><span style="font-weight:bold">WUSB</span></p>
<div style="margin-left:10px">
<a target="_blank" href="http://www.amazon.com/gp/product/B001GV00ZM?ie=UTF8&#038;tag=dajinc-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B001GV00ZM">Cables Unlimited USB-WIRELESS</a><img src="http://www.assoc-amazon.com/e/ir?t=dajinc-20&#038;l=as2&#038;o=1&#038;a=B001GV00ZM" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></p>
<p><a target="_blank" href="http://www.amazon.com/gp/product/B000UYWTWS?ie=UTF8&#038;tag=dajinc-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B000UYWTWS">Belkin 4-Port Hub (F5U302)</a><img src="http://www.assoc-amazon.com/e/ir?t=dajinc-20&#038;l=as2&#038;o=1&#038;a=B000UYWTWS" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></p>
<p><a target="_blank" href="http://www.amazon.com/gp/product/B0026M9Y2K?ie=UTF8&#038;tag=dajinc-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B0026M9Y2K">IOGear GUWH204KIT 4 Port Hub and Adapter</a><img src="http://www.assoc-amazon.com/e/ir?t=dajinc-20&#038;l=as2&#038;o=1&#038;a=B0026M9Y2K" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></p>
<p><a target="_blank" href="http://www.amazon.com/gp/product/B000VINUOE?ie=UTF8&#038;tag=dajinc-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B000VINUOE">D-Link 4 Port Hub Kit</a><img src="http://www.assoc-amazon.com/e/ir?t=dajinc-20&#038;l=as2&#038;o=1&#038;a=B000VINUOE" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</div>
<p><span style="font-weight:bold">802.11g</span></p>
<div style="margin-left:10px">
<a target="_blank" href="http://www.l-com.com/item.aspx?id=9574">Icron WiRanger</a></p>
<p><a target="blank" href="http://www.amazon.com/gp/product/B0016HLFNC?ie=UTF8&#038;tag=dajinc-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B0016HLFNC">Silex Device Server (SX-2000WG)</a><img src="http://www.assoc-amazon.com/e/ir?t=dajinc-20&#038;l=as2&#038;o=1&#038;a=B0016HLFNC" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</div>
<p><span style="font-weight:bold">Fiber Optics</span></p>
<div style="margin-left:10px">
<a target="_blank" href="http://www.pacificcable.com/Picture_Page.asp?DataName=OU-010">Pacific Custom Cable 10 Meter USB 1.1 Extension (OU-010)</a></p>
<p><a target="_blank" href="http://www.l-com.com/productfamily.aspx?id=2680">Icron USB 2.0 Over Fiber Optic (Ranger 442/444)</a></p>
<p><a target="_blank" href="http://www.amazon.com/gp/product/B000YV43AS?ie=UTF8&#038;tag=dajinc-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B000YV43AS">Gefen USB 2.0 Over Fiber</a><img src="http://www.assoc-amazon.com/e/ir?t=dajinc-20&#038;l=as2&#038;o=1&#038;a=B000YV43AS" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</div>
<p><span style="font-weight:bold">Software</span></p>
<div style="margin-left:10px">
<a target="_blank" href="http://www.usb-over-ethernet.com">KernelPro USB Over Ethernet</a></p>
<p><a target="_blank" href="http://www.virtualserialport.com/products/usb-over-network">Eltima USB to Ethernet Connector</a></p>
<p><a target="_blank" href="http://www.elusiva.com/products/RemoteUSB.aspx">Elusiva Remote USB</a></p>
<p><a target="_blank" href="http://incentivespro.com/usb-redirector.html">IncentivesPro USB Redirector</a></p>
<p><a target="_blank" href="http://www.usb-server.com/usb-server.html">IncentivesPro USB Client/Server for Linux</a>
</div>
<p> &nbsp;<br />
If you know of additional or better products, please add a comment below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dajac.com/blog/2009/08/19/links-to-usb-extension-products/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Understanding Expert I/O 1000 Access Times</title>
		<link>http://www.dajac.com/blog/2009/08/14/understanding-expert-io-1000-access-times/</link>
		<comments>http://www.dajac.com/blog/2009/08/14/understanding-expert-io-1000-access-times/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 19:06:38 +0000</pubDate>
		<dc:creator>David Novak</dc:creator>
				<category><![CDATA[I/O Modules]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[Expert I/O]]></category>
		<category><![CDATA[rate]]></category>
		<category><![CDATA[sample]]></category>
		<category><![CDATA[timing]]></category>

		<guid isPermaLink="false">http://www.dajac.com/blog/?p=56</guid>
		<description><![CDATA[I often get questions about the Expert I/O 1000&#8217;s access time characteristics. The short answer is that you can change outputs at a rate of 100Hz and you can read inputs at 50Hz. However, the complete answer is more complicated.
When dealing with MS Windows on a PC, it&#8217;s not possible to get absolute realtime results. [...]]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_168" class="wp-caption alignright" style="width: 79px"><img src="http://www.dajac.com/blog/wp-content/uploads/2009/08/timing.jpg" alt="Expert I/O Timing" title="Timing Diagram" width="69" height="57" class="size-full wp-image-168" /><p class="wp-caption-text">Expert I/O Timing</p></div></p>
<p>I often get questions about the Expert I/O 1000&#8217;s access time characteristics. The short answer is that you can change outputs at a rate of 100Hz and you can read inputs at 50Hz. However, the complete answer is more complicated.</p>
<p>When dealing with MS Windows on a PC, it&#8217;s not possible to get absolute realtime results. You will always have some variability in timing. However, Dajac&#8217;s USB implementation directly associates the timing to guaranteed values in the USB specification. Therefore, we know the guaranteed worst case access times at the USB level. <span id="more-56"></span></p>
<p>Nothing prevents Windows from providing faster access, but it&#8217;s not guaranteed and will depend on such things as processor load and software implementation techniques.</p>
<p>Obviously, the Expert I/O 1000 is not the fastest device you&#8217;ll find, but we knew that would be the case when we designed it. A very large number of applications exist where the Expert I/O 1000 is plenty fast enough and in our experience, guaranteed latency has always been more important than raw speed. You&#8217;ll also pay a great deal more for faster solutions.</p>
<p>Here are access time test results. I included ADC inputs and digital I/O, but these numbers will hold for all inputs and outputs. </p>
<p><strong>Sample an Analog Input</strong><br />
Number of Accesses:  1000<br />
Minimum Access Time: 9475.5 us (105.54 Hz)<br />
Maximum Access Time: 23847 us (41.935 Hz)<br />
Average Access Time: 21519 us (46.47 Hz)</p>
<p><strong>Set a Digital Output Port</strong><br />
Number of Accesses:  1000<br />
Minimum Access Time: 3430.1 us (291.54 Hz)<br />
Maximum Access Time: 15876 us (62.987 Hz)<br />
Average Access Time: 10673 us (93.697 Hz)</p>
<p><strong>Sample a Digital Input Port</strong><br />
Number of Accesses:  1000<br />
Minimum Access Time: 15210 us (65.745 Hz)<br />
Maximum Access Time: 23915 us (41.815 Hz)<br />
Average Access Time: 21527 us (46.452 Hz)</p>
<p>If you have concerns about timing, keep in mind that if the Expert I/O 1000 doesn&#8217;t work for you, return it within 30 days and we&#8217;ll give you a full refund.</p>
<p>What other aspects of the Expert I/O 1000 would you like more detail about? Put your suggestions in the comments below and I&#8217;ll address them in future articles.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dajac.com/blog/2009/08/14/understanding-expert-io-1000-access-times/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
