<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ref="http://purl.org/rss/1.0/modules/reference/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://purl.org/rss/1.0/">
	<channel rdf:about="https://xyphro.de/blog/rss.rdf">
		<title>Xyphros electronic workshop</title>
		<link>https://xyphro.de/blog/index.php</link>
		<description><![CDATA[No Footer]]></description>
		<items>
			<rdf:Seq>
				<rdf:li resource="https://xyphro.de/blog/index.php?entry=entry130705-223439" />
			</rdf:Seq>
		</items>
	</channel>
	<item rdf:about="https://xyphro.de/blog/index.php?entry=entry130705-223439">
		<title>WinUsbTmc - A simple interface for USBTMC based measurement devices</title>
		<link>https://xyphro.de/blog/index.php?entry=entry130705-223439</link>
		<description><![CDATA[In the past every decent measurement device had one of these bulky GPIB connectors to be able to control them with a PC.<br />This was a very handy feature and powerful automated measurement setups could be easily built.<br /><br />Nowadays there are many devices on the market with a USB connector. When you intend to make use of this feature, you will notice that you have to download and install a several hundred MB sized library which includes a driver for such devices.<br />Integrating this library into your own applications can be rather complex depending on your development environment.<br /><br />Is this really neccesary just to send commands and get a response from your device?<br /><br />At least I was not happy with this situation. <br /><br />After doing some research I noticed that these devices implement a certain USB class called USBTMC for which a well described documentation is available.<br /><br />The communication protocol is very simple and I started to write a small software module with a simple interface to talk to such devices. For this I needed only 2 days of work.<br />I called it WinUsbTmc and published it as Open source project under GitHub:<br /><br /><a href="http://github.com/xyphro/WinUsbTmc" >http://github.com/xyphro/WinUsbTmc</a><br /><br />The current status of the project consists of the following elements:<br />- A UsbTmc driver which can be used with all USBTmc measurement devices<br />- A command line utility to talk to your device from command line or batch file<br />- A Dll. In case you want to integrate UsbTmc communication in your product this is an easy interface to it<br /><br />and finally a Matlab interface.<br /><br />WinUsbTmc follows the KISS principle and everybody should be able to start communicating to his device in the matter within a few minutes.<br /><br />WinUsbTmc was tested succesfully with 3 devices:<br />- Rigol 1052E (Scope)<br />- Rigol DS2072 (Scope)<br />- Siglent SDG1020 (Function generator)<br /><br />While developing, it was also interesting to see that some devices don&#039;t implement the UsbTmc standard completely. E.g. some class functions which are mandatory according to the UsbTmc specification don&#039;t work with some devices.<br />Nevertheless, I tried to work around it and could use WinUsbTmc already in a automated test setup.<br /><br />In case you would like to participate: You are welcome. <br /><br />Adding interfaces for other tools like Matlab would be a nice thing to have, e.g. Labview, Visual C, Borland Delphi, ...<br /><br />]]></description>
	</item>
</rdf:RDF>
