<?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>SDS6000A Series Archives - Siglent</title>
	<atom:link href="https://siglentna.com/application-notes/digital-oscilloscopes/sds6000a-series/feed/" rel="self" type="application/rss+xml" />
	<link>https://siglentna.com/application-notes/digital-oscilloscopes/sds6000a-series/</link>
	<description>Siglent Technologies America, Inc</description>
	<lastBuildDate>Wed, 12 Jun 2024 06:41:47 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://siglentna.com/wp-content/uploads/2025/04/cropped-512X512.1-32x32.png</url>
	<title>SDS6000A Series Archives - Siglent</title>
	<link>https://siglentna.com/application-notes/digital-oscilloscopes/sds6000a-series/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How to Extract Data from the Binary File of Siglent Oscilloscope</title>
		<link>https://siglentna.com/application-note/extract-data/</link>
		
		<dc:creator><![CDATA[daisy]]></dc:creator>
		<pubDate>Wed, 12 Jun 2024 05:48:41 +0000</pubDate>
				<guid isPermaLink="false">https://siglentna.com/?post_type=application-notes&#038;p=38994</guid>

					<description><![CDATA[<p>Data can be formatted in many different ways. Binary data formatting often provides the smallest payload size and therefore transfers via USB/LAN more quickly. Unfortunately, binary is very difficult to interpret by humans. So, binary data is often reformatted to other types (ASCII, etc..)/ Here is a link to the binary data format for many &#8230; <a href="https://siglentna.com/application-note/extract-data/">Continued</a></p>
<p>The post <a href="https://siglentna.com/application-note/extract-data/">How to Extract Data from the Binary File of Siglent Oscilloscope</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Data can be formatted in many different ways.</p>
<p>Binary data formatting often provides the smallest payload size and therefore transfers via USB/LAN more quickly. Unfortunately, binary is very difficult to interpret by humans. So, binary data is often reformatted to other types (ASCII, etc..)/</p>
<p>Here is a link to the binary data format for many popular SIGLENT oscilloscopes:</p>
<p><a href="https://siglentna.com/download/43529/?tmstv=1718174320" target="_blank" rel="noopener">Extract Binary Data from an SDS oscilloscope</a></p>
<p>The post <a href="https://siglentna.com/application-note/extract-data/">How to Extract Data from the Binary File of Siglent Oscilloscope</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Network file Sharing on SIGLENT Performance Oscilloscopes</title>
		<link>https://siglentna.com/application-note/network-file-sharing-on-siglent-performance-oscilloscopes/</link>
		
		<dc:creator><![CDATA[daisy]]></dc:creator>
		<pubDate>Mon, 08 Apr 2024 08:41:54 +0000</pubDate>
				<guid isPermaLink="false">https://siglentna.com/?post_type=application-notes&#038;p=43032</guid>

					<description><![CDATA[<p>INTRODUCTION There are a number of applications for sharing data and files between instruments and computers for data archival and analysis. SIGLENT’s performance oscilloscopes provide a set of tools for connecting data locations over the network. These instruments provide the ability to either share their local files (SERVER) or to access remote drives (CLIENT) via &#8230; <a href="https://siglentna.com/application-note/network-file-sharing-on-siglent-performance-oscilloscopes/">Continued</a></p>
<p>The post <a href="https://siglentna.com/application-note/network-file-sharing-on-siglent-performance-oscilloscopes/">Network file Sharing on SIGLENT Performance Oscilloscopes</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h5>INTRODUCTION</h5>
<p>There are a number of applications for sharing data and files between instruments and computers for data archival and analysis. SIGLENT’s performance oscilloscopes provide a set of tools for connecting data locations over the network.</p>
<p>These instruments provide the ability to either share their local files (SERVER) or to access remote drives (CLIENT) via the LAN network. Here are the available modes:</p>
<table>
<tbody>
<tr>
<td width="184"><strong>Instrument Series</strong></td>
<td width="184"><strong>Server Mode</strong></td>
<td width="184"><strong>Client Mode</strong></td>
</tr>
<tr>
<td width="184"><strong>SDS800X HD</strong></td>
<td width="184">YES</td>
<td width="184">YES</td>
</tr>
<tr>
<td width="184"><strong>SDS1000X HD</strong></td>
<td width="184">YES</td>
<td width="184">YES</td>
</tr>
<tr>
<td width="184"><strong>SDS2000X HD</strong></td>
<td width="184"></td>
<td width="184">YES</td>
</tr>
<tr>
<td width="184"><strong>SDS3000X HD</strong></td>
<td width="184">YES</td>
<td width="184">YES</td>
</tr>
<tr>
<td width="184"><strong>SDS6000A</strong></td>
<td width="184">YES</td>
<td width="184">YES</td>
</tr>
<tr>
<td width="184"><strong>SDS7000A</strong></td>
<td width="184">YES</td>
<td width="184">YES</td>
</tr>
</tbody>
</table>
<hr />
<p>Here are the instructions for setting up the modes within each instrument.</p>
<p>For SERVER, Set the IO window as follows:</p>
<p>In the SDS6000A:</p>
<p>This is the Utility/Service/Share File menu</p>
<p><img fetchpriority="high" decoding="async" class="size-full wp-image-43033 alignnone" src="https://siglentna.com/wp-content/uploads/2024/04/01.png" alt="" width="644" height="460" srcset="https://siglentna.com/wp-content/uploads/2024/04/01.png 644w, https://siglentna.com/wp-content/uploads/2024/04/01-300x214.png 300w, https://siglentna.com/wp-content/uploads/2024/04/01-600x429.png 600w" sizes="(max-width: 644px) 100vw, 644px" /></p>
<p>&nbsp;</p>
<p>On the SDS7000A, it is in: UTILITY / SERVICE / SMB FILE SHARE / SERVER</p>
<p><img decoding="async" class="size-full wp-image-43034 alignnone" src="https://siglentna.com/wp-content/uploads/2024/04/02.png" alt="" width="540" height="309" srcset="https://siglentna.com/wp-content/uploads/2024/04/02.png 540w, https://siglentna.com/wp-content/uploads/2024/04/02-300x172.png 300w" sizes="(max-width: 540px) 100vw, 540px" /></p>
<p>Leave the default user and no password for easy access.</p>
<p>&nbsp;</p>
<p><strong>When activated with the blue checks you can then access the folder in explorer or thru a file sharing tool like this:</strong></p>
<p>Drive is: \\&lt;IP_ADDRESS&gt;\share</p>
<p>Like this: \\192.168.1.3\share\</p>
<p><img decoding="async" class="size-large wp-image-43035 alignnone" src="https://siglentna.com/wp-content/uploads/2024/04/03-1024x675.png" alt="" width="1024" height="675" srcset="https://siglentna.com/wp-content/uploads/2024/04/03-1024x675.png 1024w, https://siglentna.com/wp-content/uploads/2024/04/03-300x198.png 300w, https://siglentna.com/wp-content/uploads/2024/04/03-768x506.png 768w, https://siglentna.com/wp-content/uploads/2024/04/03-600x395.png 600w, https://siglentna.com/wp-content/uploads/2024/04/03.png 1108w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>Or directly in Explorer:</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-43036 alignnone" src="https://siglentna.com/wp-content/uploads/2024/04/04.png" alt="" width="628" height="730" srcset="https://siglentna.com/wp-content/uploads/2024/04/04.png 628w, https://siglentna.com/wp-content/uploads/2024/04/04-258x300.png 258w, https://siglentna.com/wp-content/uploads/2024/04/04-600x697.png 600w" sizes="auto, (max-width: 628px) 100vw, 628px" /></p>
<p>&nbsp;</p>
<p>On the SDS2000X HD, SDS6000A, or SDS7000A you may also mount a drive from your PC.  This is called SMB File Share CLIENT mode.</p>
<p>The UI looks like this on the SDS2000X HD. It is under SMB FILE SHARE/ CLIENT:</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-43037 alignnone" src="https://siglentna.com/wp-content/uploads/2024/04/05.png" alt="" width="824" height="525" srcset="https://siglentna.com/wp-content/uploads/2024/04/05.png 824w, https://siglentna.com/wp-content/uploads/2024/04/05-300x191.png 300w, https://siglentna.com/wp-content/uploads/2024/04/05-768x489.png 768w, https://siglentna.com/wp-content/uploads/2024/04/05-600x382.png 600w" sizes="auto, (max-width: 824px) 100vw, 824px" /></p>
<p>&nbsp;</p>
<p>On the SDS6000A it looks like this and is found in SERVICE / NETWORK MAPPING:</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-43038 alignnone" src="https://siglentna.com/wp-content/uploads/2024/04/06.png" alt="" width="644" height="446" srcset="https://siglentna.com/wp-content/uploads/2024/04/06.png 644w, https://siglentna.com/wp-content/uploads/2024/04/06-300x208.png 300w, https://siglentna.com/wp-content/uploads/2024/04/06-600x416.png 600w" sizes="auto, (max-width: 644px) 100vw, 644px" /></p>
<p>&nbsp;</p>
<p>On the SDS7000A it is under SMB FILE SHARE/ CLIENT:</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-43039 alignnone" src="https://siglentna.com/wp-content/uploads/2024/04/07.png" alt="" width="440" height="306" srcset="https://siglentna.com/wp-content/uploads/2024/04/07.png 440w, https://siglentna.com/wp-content/uploads/2024/04/07-300x209.png 300w" sizes="auto, (max-width: 440px) 100vw, 440px" /></p>
<p>&nbsp;</p>
<p>To share with a folder on Windows, you would likely need to turn off firewall protection, share the folder with read/write permission for EVERYONE, and turn off the Password protection sharing like this:</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-43040 alignnone" src="https://siglentna.com/wp-content/uploads/2024/04/08.png" alt="" width="520" height="438" srcset="https://siglentna.com/wp-content/uploads/2024/04/08.png 520w, https://siglentna.com/wp-content/uploads/2024/04/08-300x253.png 300w" sizes="auto, (max-width: 520px) 100vw, 520px" /></p>
<p>Once that connects, you can access files on the PC from your Oscilloscope.</p>
<p>You can always find the File Manager on your oscilloscope by going to: UTILITY/ SAVE/RECALL / File Manager:</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-43041 alignnone" src="https://siglentna.com/wp-content/uploads/2024/04/09.png" alt="" width="152" height="268" /></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>The post <a href="https://siglentna.com/application-note/network-file-sharing-on-siglent-performance-oscilloscopes/">Network file Sharing on SIGLENT Performance Oscilloscopes</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Baltic Labs: Generate a stereo-FM multiplex waveform with Python and AWG</title>
		<link>https://siglentna.com/application-note/baltic-labs-generate-a-stereo-fm-multiplex-waveform-with-python-and-awg/</link>
		
		<dc:creator><![CDATA[daisy]]></dc:creator>
		<pubDate>Thu, 20 Oct 2022 14:07:00 +0000</pubDate>
				<guid isPermaLink="false">https://siglentna.com/?post_type=application-notes&#038;p=32661</guid>

					<description><![CDATA[<p>Sebastian @ Baltic Labs had a recent project that required a stereo-FM multiplex (MPX) signal containing two different tones in the left and right stereo audio channels. This article shows how to generate such an MPX signal for Siglent SDG-series arbitrary waveform generators with Python and PyVISA. Generate a stereo-FM multiplex waveform with Python and &#8230; <a href="https://siglentna.com/application-note/baltic-labs-generate-a-stereo-fm-multiplex-waveform-with-python-and-awg/">Continued</a></p>
<p>The post <a href="https://siglentna.com/application-note/baltic-labs-generate-a-stereo-fm-multiplex-waveform-with-python-and-awg/">Baltic Labs: Generate a stereo-FM multiplex waveform with Python and AWG</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Sebastian @ Baltic Labs had a recent project that required a stereo-FM multiplex (MPX) signal containing two different tones in the left and right stereo audio channels. This article shows how to generate such an MPX signal for Siglent SDG-series arbitrary waveform generators with Python and PyVISA.</p>
<blockquote class="wp-embedded-content" data-secret="M2nukOv1Ve"><p><a href="https://baltic-lab.com/2022/10/generate-a-stereo-fm-multiplex-waveform-with-python-and-awg/">Generate a stereo-FM multiplex waveform with Python and AWG</a></p></blockquote>
<p><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8220;Generate a stereo-FM multiplex waveform with Python and AWG&#8221; &#8212; Baltic Lab" src="https://baltic-lab.com/2022/10/generate-a-stereo-fm-multiplex-waveform-with-python-and-awg/embed/#?secret=fWeIne8xP8#?secret=M2nukOv1Ve" data-secret="M2nukOv1Ve" width="500" height="282" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p>The post <a href="https://siglentna.com/application-note/baltic-labs-generate-a-stereo-fm-multiplex-waveform-with-python-and-awg/">Baltic Labs: Generate a stereo-FM multiplex waveform with Python and AWG</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jitter spectrum measurements with a digital oscilloscope</title>
		<link>https://siglentna.com/application-note/jitter-spectrum-measurements-with-a-digital-oscilloscope/</link>
		
		<dc:creator><![CDATA[daisy]]></dc:creator>
		<pubDate>Mon, 21 Feb 2022 19:21:08 +0000</pubDate>
				<guid isPermaLink="false">https://siglentna.com/?post_type=application-notes&#038;p=25568</guid>

					<description><![CDATA[<p>Clockworks Signal Processing released an application note that measures jitter using a SIGLENT XE series of oscilloscopes. The basic idea is simple enough – measure the clock edges and see if they are all exactly evenly spaced or if they change (jitter) over time. A non-uniform clock fed to an ADC or DAC will produce &#8230; <a href="https://siglentna.com/application-note/jitter-spectrum-measurements-with-a-digital-oscilloscope/">Continued</a></p>
<p>The post <a href="https://siglentna.com/application-note/jitter-spectrum-measurements-with-a-digital-oscilloscope/">Jitter spectrum measurements with a digital oscilloscope</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Clockworks Signal Processing released an application note that measures jitter using a SIGLENT XE series of oscilloscopes.</p>
<p>The basic idea is simple enough – measure the clock edges and see if they are all exactly evenly spaced or if they change (jitter) over time. A non-uniform clock fed to an ADC or DAC will produce FM and/or AM effects, as well as raise the noise floor. The effects of the clock jitter depend on the nature of the jitter. Random jitter can have less objectionable audible effects than jitter dominated by a specific frequency. There are many ways for interfering signals to couple into clock lines to cause problems.</p>
<p>The link below takes you to the note that looks at using a garden variety DSO (200 MHz BW, 1 Gsample/sec) to see if it can take the place of a $50,000 setup that would normally be wheeled out to investigate a jitter problem.</p>
<p>https://clk.works/2020/05/jitter-spectrum-measurement-with-a-dso/</p>
<p>The post <a href="https://siglentna.com/application-note/jitter-spectrum-measurements-with-a-digital-oscilloscope/">Jitter spectrum measurements with a digital oscilloscope</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Oscilloscope Feature and Options Table</title>
		<link>https://siglentna.com/application-note/oscilloscope-feature-and-options-table/</link>
		
		<dc:creator><![CDATA[daisy]]></dc:creator>
		<pubDate>Tue, 11 Jan 2022 19:47:22 +0000</pubDate>
				<guid isPermaLink="false">https://siglentna.com/?post_type=application-notes&#038;p=24456</guid>

					<description><![CDATA[<p>SIGLENT has a number of oscilloscopes to help fit your application needs and budget. Here is a table of features and options of our most powerful oscilloscopes to help decide what is best for you. S &#8211; Standard, included O &#8211; Optional  (1) &#8211; Bode requires a SIGLENT SAG, SDG, or internal function generator to &#8230; <a href="https://siglentna.com/application-note/oscilloscope-feature-and-options-table/">Continued</a></p>
<p>The post <a href="https://siglentna.com/application-note/oscilloscope-feature-and-options-table/">Oscilloscope Feature and Options Table</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>SIGLENT has a number of oscilloscopes to help fit your application needs and budget.</p>
<p>Here is a table of features and options of our most powerful oscilloscopes to help decide what is best for you.</p>
<hr />
<p>S &#8211; Standard, included</p>
<p>O &#8211; Optional</p>
<div class="table-scroll">
<table id="tablepress-7" class="tablepress tablepress-id-7">
<thead>
<tr class="row-1">
	<th class="column-1">Feature</th><th class="column-2">SDS2000X-E </th><th class="column-3">SDS2000X Plus</th><th class="column-4">SDS2000X HD</th><th class="column-5">SDS5000X</th><th class="column-6">SDS6000A</th>
</tr>
</thead>
<tbody class="row-striping row-hover">
<tr class="row-2">
	<td class="column-1">ADC per analog input <br />
</td><td class="column-2"></td><td class="column-3"></td><td class="column-4"></td><td class="column-5"></td><td class="column-6">S</td>
</tr>
<tr class="row-3">
	<td class="column-1">Bode Plot/Frequency Analysis (1)</td><td class="column-2">S</td><td class="column-3">S</td><td class="column-4">S</td><td class="column-5">S</td><td class="column-6">S</td>
</tr>
<tr class="row-4">
	<td class="column-1">Measurement Histogram/Trending</td><td class="column-2"></td><td class="column-3">S</td><td class="column-4">S</td><td class="column-5">S</td><td class="column-6">S</td>
</tr>
<tr class="row-5">
	<td class="column-1">Probe adapters (TPA10/Tek)</td><td class="column-2"></td><td class="column-3"></td><td class="column-4"></td><td class="column-5">O</td><td class="column-6">O<br />
</td>
</tr>
<tr class="row-6">
	<td class="column-1">Serial Decoding (RS232/UART, CAN/LIN, SPI, I2C)</td><td class="column-2">S</td><td class="column-3">S</td><td class="column-4">S</td><td class="column-5">S</td><td class="column-6">S<br />
</td>
</tr>
<tr class="row-7">
	<td class="column-1">10-bit resolution mode</td><td class="column-2"></td><td class="column-3">S<br />
</td><td class="column-4"></td><td class="column-5"></td><td class="column-6"></td>
</tr>
<tr class="row-8">
	<td class="column-1">12-bit ADC resolution</td><td class="column-2"></td><td class="column-3"></td><td class="column-4">S</td><td class="column-5"></td><td class="column-6"></td>
</tr>
<tr class="row-9">
	<td class="column-1">10 MHz in/out</td><td class="column-2"></td><td class="column-3"></td><td class="column-4"></td><td class="column-5">S</td><td class="column-6"></td>
</tr>
<tr class="row-10">
	<td class="column-1">Web browser remote control</td><td class="column-2">S</td><td class="column-3">S</td><td class="column-4">S</td><td class="column-5">S</td><td class="column-6">S</td>
</tr>
<tr class="row-11">
	<td class="column-1">Zone triggers</td><td class="column-2"></td><td class="column-3">S</td><td class="column-4">S</td><td class="column-5">S</td><td class="column-6">S</td>
</tr>
<tr class="row-12">
	<td class="column-1">AWG/Function Generator (2)</td><td class="column-2">O</td><td class="column-3">O</td><td class="column-4">O</td><td class="column-5">O</td><td class="column-6">O</td>
</tr>
<tr class="row-13">
	<td class="column-1">Bandwidth Upgrades</td><td class="column-2"></td><td class="column-3">O</td><td class="column-4">O</td><td class="column-5">O</td><td class="column-6">O</td>
</tr>
<tr class="row-14">
	<td class="column-1">Eye Diagram/Jitter Analysis</td><td class="column-2"></td><td class="column-3"></td><td class="column-4"></td><td class="column-5"></td><td class="column-6">O</td>
</tr>
<tr class="row-15">
	<td class="column-1">Mixed Signal/MSO/Digital Logic</td><td class="column-2">O</td><td class="column-3">O</td><td class="column-4">O</td><td class="column-5">O</td><td class="column-6">O</td>
</tr>
<tr class="row-16">
	<td class="column-1">Power Analysis</td><td class="column-2"></td><td class="column-3">O</td><td class="column-4">O</td><td class="column-5">O</td><td class="column-6">O</td>
</tr>
<tr class="row-17">
	<td class="column-1">Optional Serial Decoding<br />
(CAN-FD, MIL-1553B, I2S, Flexray, SENT, Manchester)</td><td class="column-2"></td><td class="column-3">O</td><td class="column-4">O</td><td class="column-5">O</td><td class="column-6">O</td>
</tr>
<tr class="row-18">
	<td class="column-1">Touchscreen Display</td><td class="column-2"></td><td class="column-3">S</td><td class="column-4">S</td><td class="column-5">S</td><td class="column-6">S</td>
</tr>
</tbody>
</table>
<!-- #tablepress-7 from cache --></div>
<p><span style="font-size: inherit;"> (1) &#8211; Bode requires a SIGLENT SAG, SDG, or internal function generator to operate</span></p>
<p>(2) &#8211; Requires SIGLENT SAG hardware and activation license. The SDS2X Plus series has an internal function generator but still requires activation.</p>
<hr />
<p>For convenience, click a link below to jump to the product of interest:</p>
<p><a href="https://siglentna.com/digital-oscilloscopes/sds6000a-digital-storage-oscilloscope/" target="_blank" rel="noopener">SDS6000A</a></p>
<p><a href="https://siglentna.com/digital-oscilloscopes/sds5000x/#" target="_blank" rel="noopener">SDS5000X</a></p>
<p><a href="https://siglentna.com/digital-oscilloscopes/sds2000x-hd-digital-storage-oscilloscope/" target="_blank" rel="noopener">SDS2000X HD</a></p>
<p><a href="https://siglentna.com/digital-oscilloscopes/sds2000xp/#" target="_blank" rel="noopener">SDS2000X Plus</a></p>
<p><a href="https://siglentna.com/digital-oscilloscopes/sds2000x-e/" target="_blank" rel="noopener">SDS2000X-E</a></p>
<p>&nbsp;</p>
<p>The post <a href="https://siglentna.com/application-note/oscilloscope-feature-and-options-table/">Oscilloscope Feature and Options Table</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Oscilloscope Remote control TEK emulation mode</title>
		<link>https://siglentna.com/application-note/remote-control-tek-emulation-mode/</link>
		
		<dc:creator><![CDATA[daisy]]></dc:creator>
		<pubDate>Tue, 27 Jul 2021 19:33:50 +0000</pubDate>
				<guid isPermaLink="false">https://siglentna.com/?post_type=application-notes&#038;p=21751</guid>

					<description><![CDATA[<p>Overview This application note describes the features and usage of the Tektronix compatibility mode for remote control of the SIGLENT SDS5000X and SDS6000A oscilloscope series. In many cases, a SIGLENT SDS5000X/6000A scope can replace a similar Tektronix product without many changes to the existing code. Furthermore, it describes in detail the limitations of the individual &#8230; <a href="https://siglentna.com/application-note/remote-control-tek-emulation-mode/">Continued</a></p>
<p>The post <a href="https://siglentna.com/application-note/remote-control-tek-emulation-mode/">Oscilloscope Remote control TEK emulation mode</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Overview</h1>
<p>This application note describes the features and usage of the Tektronix compatibility mode for remote control of the SIGLENT SDS5000X and SDS6000A oscilloscope series. In many cases, a SIGLENT SDS5000X/6000A scope can replace a similar Tektronix product without many changes to the existing code. Furthermore, it describes in detail the limitations of the individual emulations and the remaining differences between the emulated and the original commands.</p>
<p>&nbsp;</p>
<h1>Instrument Compatibility</h1>
<p>An emulated instrument having fewer features than, or the same features as the SDS5000X/6000A can be replaced without special care.</p>
<p>However, replacing an emulated instrument having more features than the SDS5000X/6000A or features that differ from those of the SDS5000X/6000A requires additional care.</p>
<p>The user must:</p>
<ul>
<li>Ensure that the SDS5000X/SDS6000A complies with the functional requirements of the test</li>
<li>Verify the application code does not use features in the emulated instrument which are not available with the SIGLENT SDS5000X/SDS6000A.</li>
</ul>
<p>&nbsp;</p>
<table style="height: 231px;" width="821">
<tbody>
<tr>
<td colspan="2" width="554">Currently supported Remote Emulation for the SDS5000X/SDS6000A</td>
</tr>
<tr>
<td width="277">Manufacturer</td>
<td width="278">Instrument</td>
</tr>
<tr>
<td width="277">Tektronix</td>
<td width="278">3 Series MDO Oscilloscopes</td>
</tr>
<tr>
<td width="277"></td>
<td width="278">MDO3000 series</td>
</tr>
<tr>
<td width="277"></td>
<td width="278">MDO4000 series</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Command Compatibility</p>
<p>Most of the remote emulations in the SDS5000X/SDS6000A implement the basic commands of the original instrument. Due to functional differences in hardware and software, in certain remote emulations, the SDS5000X/SDS6000A can only be compatible with some parts.</p>
<p>The command table below shows the compatibility information for a command and the difference between Siglent and Tektronix:</p>
<p>NOTE: Parameters in red are not supported:</p>
<table style="height: 4075px;" width="1773">
<tbody>
<tr>
<td colspan="3" width="586"><strong>Command Compatibility</strong></td>
</tr>
<tr>
<td width="113"><strong>Command Group</strong></td>
<td width="189"><strong>Command</strong></td>
<td width="284"><strong>Compatibility Description</strong></td>
</tr>
<tr>
<td width="113">Acquisition</td>
<td width="189">ACQuire:MODe</td>
<td width="284">{SAMple|PEAKdetect|HIRes|AVErage|<span style="color: #ff0000;">ENVelope</span>}</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">ACQuire:STATE</td>
<td width="284">Parameter support:{RUN|STOP}</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">ACQuire:STOPAfter</td>
<td width="284">Compatible</td>
</tr>
<tr>
<td width="113">Horizontal</td>
<td width="189">HORizontal:RECOrdlength</td>
<td width="284">Value in [,250e3] will set to 250e3</p>
<p>Value in [250e3,1.25e6] will set to 1.25e6</p>
<p>Value in [1.25e6,12.5e6] will set to 12.5e6</td>
</tr>
<tr>
<td width="113"></td>
<td width="189">HORizontal:SCAle</td>
<td width="284">Timebase value is in 1-2-5 steps, not like Tektronix instruments from 400 ps to 1000 s</td>
</tr>
<tr>
<td width="113"></td>
<td width="189">HORizontal:DELay:MODe</td>
<td width="284">Compatible</td>
</tr>
<tr>
<td width="113"></td>
<td width="189">HORizontal:DELay:TIMe</td>
<td width="284">The display value of UI is the opposite of the set value, which actually takes effect</td>
</tr>
<tr>
<td width="113"></td>
<td width="189">HORizontal:POSition</td>
<td width="284">Compatible. This setting can be viewed under the menu: <em>Utility</em>&gt;<em>Reference Pos</em></td>
</tr>
<tr>
<td width="113">Vertical</td>
<td width="189">SELect:CH&lt;x&gt;</td>
<td width="284">Compatible</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">CH&lt;x&gt;:POSition</td>
<td width="284">Compatible</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">CH&lt;x&gt;:SCAle</td>
<td width="284">Compatible</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">CH&lt;x&gt;:OFFset</td>
<td width="284">Compatible</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">CH&lt;x&gt;:PRObe:GAIN</td>
<td width="284">Compatible</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">CH&lt;x&gt;:BANdwidth</td>
<td width="284">Parameter supported:{FULl|TWENTY}</p>
<p>Not supported:{&lt;NR3&gt;}</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">CH&lt;x&gt;:COUPling</td>
<td width="284">Parameter support:{AC|DC}</p>
<p>Not supporedt:{DCREJect}</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">CH&lt;x&gt;:INVert</td>
<td width="284">Compatible</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">CH&lt;x&gt;:TERmination</td>
<td width="284">Parameter supported :{FIFty|MEG}</p>
<p>Not supported: {&lt;NR3&gt;}</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">CH&lt;x&gt;:LABel</td>
<td width="284">All label characters are automatically capitalized</td>
</tr>
<tr>
<td width="113">Trigger</td>
<td width="189">TRIGger:A:TYPe</td>
<td width="284">Parameter supported:</p>
<p>{EDGe|LOGIc|PULSe|BUS|VIDeo}</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">TRIGger:A:MODe</td>
<td width="284">Compatible</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">TRIGger:A:LEVel</td>
<td width="284">Compatible</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">TRIGger:A:EDGE:SOUrce</td>
<td width="284">Parameters in red are not supported: {CH1|CH2|CH3|CH4|D0|D1|D2|D3|D4|D5|D6|D7|D8|D9|D10|D11|D12|D13|D14|D15|LINE|<span style="color: #ff0000;">AUX</span>|<span style="color: #ff0000;">RF</span>}</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">TRIGger:A:EDGE:COUPling</td>
<td width="284">Parameter supported:</p>
<p>{AC|DC|HFRej|LFRej|NOISErej}.</p>
<p>Noise Reject is a single setting item in SDS5000X. When setting the coupling to NOISErej, it will set to DC and turn on the noise reject. When set to others, it will turn off the noise reject.</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">TRIGger:A:EDGE:SLOpe</td>
<td width="284">Compatible</td>
</tr>
<tr>
<td width="113">Cursor</td>
<td width="189">CURSor:FUNCTION</td>
<td width="284">{SCREEN|WAVEform|OFF}</td>
</tr>
<tr>
<td width="113"></td>
<td width="189">CURSor:SOUrce</td>
<td width="284">Parameters in red are not supported:</p>
<p>{CH1|CH2|CH3|CH4|REF1|REF2|REF3|REF4|MATH|<span style="color: #ff0000;">BUS1</span>|<span style="color: #ff6600;"><span style="color: #ff0000;">BUS2</span></span>|<span style="color: #ff0000;">BUS3</span>|<span style="color: #ff0000;">BUS4</span>|<span style="color: #ff0000;">D0</span>|<span style="color: #ff0000;">D1</span>|<span style="color: #ff0000;">D2</span>|<span style="color: #ff0000;">D3</span>|<span style="color: #ff0000;">D4</span>|<span style="color: #ff0000;">D5</span>|<span style="color: #ff0000;">D6</span>|<span style="color: #ff0000;">D7</span>|<span style="color: #ff0000;">D8</span>|<span style="color: #ff0000;">D9</span>|<span style="color: #ff0000;">D10</span>|<span style="color: #ff0000;">D11</span>|<span style="color: #ff0000;">D12</span>|<span style="color: #ff0000;">D13</span>|<span style="color: #ff0000;">D14</span>|<span style="color: #ff0000;">D15</span>|<span style="color: #ff0000;">AUTO</span>}</td>
</tr>
<tr>
<td width="113"></td>
<td width="189">CURSor:VBArs:POSITION&lt;x&gt;</td>
<td width="284">Compatible</td>
</tr>
<tr>
<td width="113"></td>
<td width="189">CURSor:VBArs:HPOS&lt;x&gt;?</td>
<td width="284">Compatible</td>
</tr>
<tr>
<td width="113">Measurement</td>
<td width="189">MEASUrement:IMMed:SOUrce&lt;x&gt;</td>
<td width="284">Parameters in red are not supported:</p>
<p>{CH1|CH2|CH3|CH4|<span style="color: #ff0000;">MATH<span style="color: #000000;">|</span>D0<span style="color: #000000;">|</span>D1<span style="color: #000000;">|</span>D2<span style="color: #000000;">|</span>D3<span style="color: #000000;">|</span>D4<span style="color: #000000;">|</span>D5<span style="color: #000000;">|</span>D6<span style="color: #000000;">|</span>D7<span style="color: #000000;">|</span>D8<span style="color: #000000;">|</span>D9<span style="color: #000000;">|</span>D10<span style="color: #000000;">|</span>D11<span style="color: #000000;">|</span>D12<span style="color: #000000;">|</span>D13<span style="color: #000000;">|</span>D14<span style="color: #000000;">|</span>D15<span style="color: #000000;">|</span>HIStogram<span style="color: #000000;">|</span>RF_AMPlitude<span style="color: #000000;">|</span>RF_FREQuency<span style="color: #000000;">|</span>RF_PHASe</span>}</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">MEASUrement:IMMed:TYPe</td>
<td width="284">Parameters in red are not supported:</p>
<p>{AMPlitude|AREa|<span style="color: #ff0000;">BURst</span>|<span style="color: #ff0000;">CARea</span>|CMEan|CRMs|DELay|FALL|FREQuency|HIGH|<span style="color: #ff0000;">HITS</span>|LOW|MAXimum|MEAN|MEDian|MINImum|NDUty|NEDGECount|NOVershoot|</p>
<p>NPULSECount|NWIdth|<span style="color: #ff0000;">PEAKHits</span>|PEDGECount|PDUty|PERIod|<span style="color: #ff0000;">PHAse</span>|PK2Pk|POVershoot|PPULSECount|PWIdth|RISe|RMS|SIGMA1|SIGMA2|SIGMA3|STDdev|TOVershoot|<span style="color: #ff0000;">WAVEFORMS</span>}</p>
<p>When the type is set to DELay, it divides into the following 8 types according to the edges and direction: FRFR, FRFF, FFFR, FFFF, FRLR, FRLF, FFLR, FFLF</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">MEASUrement:IMMed:VALue</td>
<td width="284">Compatible</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">MEASUrement:IMMed:UNIts</td>
<td width="284">Compatible</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">MEASUrement:IMMed:DELay:DIRection</td>
<td width="284">Compatible.</p>
<p>It divides into the following 8 types according to the edges and direction: FRFR, FRFF, FFFR, FFFF, FRLR, FRLF, FFLR, FFLF</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">MEASUrement:IMMed:DELay:EDGE&lt;x&gt;</td>
<td width="284">Compatible.</p>
<p>It divides into the following 8 types according to the edges and direction: FRFR, FRFF, FFFR, FFFF, FRLR, FRLF, FFLR, FFLF</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">MEASUrement:MEAS&lt;x&gt;:SOUrce&lt;x&gt;</td>
<td width="284">Compatible</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">MEASUrement:MEAS&lt;x&gt;:TYPe</td>
<td width="284">Parameters in red are not supported:</p>
<p>{AMPlitude|AREa|<span style="color: #ff0000;">BURst</span>|<span style="color: #ff0000;">CARea</span>|CMEan|CRMs|DELay|FALL|FREQuency|HIGH|<span style="color: #ff0000;">HITS</span>|LOW|MAXimum|MEAN|MEDian|MINImum|NDUty|NEDGECount|</p>
<p>NOVershoot|NPULSECount|NWIdth|<span style="color: #ff0000;">PEAKHits</span>|PEDGECount|PDUty|PERIod|<span style="color: #ff0000;">PHAse</span>|PK2Pk|POVershoot|PPULSECount|PWIdth|RISe|RMS|<span style="color: #ff0000;">SIGMA1</span>|<span style="color: #ff0000;">SIGMA2</span>|</p>
<p><span style="color: #ff0000;">SIGMA3</span>|STDdev|TOVershoot|<span style="color: #ff0000;">WAVEFORMS</span>}</p>
<p>When the type is set to DELay, it divides into the following 8 types according to the edges and direction: FRFR, FRFF, FFFR, FFFF, FRLR, FRLF, FFLR, FFLF</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">MEASUrement:MEAS&lt;x&gt;:STATE</td>
<td width="284">Compatible</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">MEASUrement:MEAS&lt;x&gt;:Value?</td>
<td width="284">Compatible</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">MEASUrement:MEAS&lt;x&gt;:MEAN?</td>
<td width="284">Compatible.</p>
<p>Valid only when statistics are turned on. Turn on the statistics by using the Siglent command or customize the default settings</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">MEASUrement:MEAS&lt;x&gt;:DELay:DIRection</td>
<td width="284">Compatible.</p>
<p>It divides into the following 8 types according to the edges and direction: FRFR, FRFF, FFFR, FFFF, FRLR, FRLF, FFLR, FFLF</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">MEASUrement:MEAS&lt;x&gt;:DELay:EDGE&lt;x&gt;</td>
<td width="284">Compatible.</p>
<p>It divides into the following 8 types according to the edges and direction: FRFR, FRFF, FFFR, FFFF, FRLR, FRLF, FFLR, FFLF</td>
</tr>
<tr>
<td width="113">Miscellaneous</td>
<td width="189">AUTOSet</td>
<td width="284">Compatible</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">*RST</td>
<td width="284">Compatible.</p>
<p>Siglent&#8217;s preset is quite different from Tektronix’s. If need, please customize the preset and save it by the steps: <em>Save</em>＞<em>To Default Key</em>＞<em>Current</em>＞<em>Save</em>.</td>
</tr>
<tr>
<td width="113">System</td>
<td width="189">LANGuage</td>
<td width="284">Parameter in red is not supported:</p>
<p>{ENGLish|FRENch|GERMan|ITALian|SPANish|PORTUguese|JAPAnese|SIMPlifiedchinese|TRADitionalchinese|<span style="color: #ff0000;">KOREan</span>}</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">TIME</td>
<td width="284">Compatible</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">DATE</td>
<td width="284">Compatible</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">LOCK</td>
<td width="284">Compatible</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">UNLock</td>
<td width="284">Compatible</td>
</tr>
<tr>
<td width="113"><strong> </strong></td>
<td width="189">FPANEL:PRESS</td>
<td width="284">Parameter supported:</p>
<p>{ Runstop|SINGleseq}</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h2>Activating Remote Emulation</h2>
<p>In order to use a specific remote emulation, it must first be activated by the user. Activation is done either</p>
<ul>
<li>Manually using the SDS5000X/SDS6000A front panel</li>
<li>Remotely using SCPI commands</li>
</ul>
<p>&nbsp;</p>
<h2>Manual Operation</h2>
<p>Follow the steps below:</p>
<p><em>Utility</em>＞<em>Tek Mode</em>, and set the mode to ON</p>
<p>&nbsp;</p>
<h2>Remote Operation</h2>
<p>Send the following command to turn on Tek Compatibility mode:</p>
<p><em>:SYSTem:REMote:STYLe TEKtronix</em></p>
<p>Send the command back to Siglent mode:</p>
<p><em>:SYSTem:REMote:STYLe SIGLent</em></p>
<p>&nbsp;</p>
<h1>Example</h1>
<p>The following program code realizes the following functions: Setting channel, triggering, and measure delay between waveforms.</p>
<p><strong> </strong><strong>Environment: </strong>Windows 7 32-bit, Python v3.6.5, pyvisa-1.9</p>
<p><strong>Python Code:</strong></p>
<pre class="brush: python; collapse: false; title: ; wrap-lines: false; notranslate">

import visa

def main():
    _rm = visa.ResourceManager()&lt;/p&gt;
    sds = _rm.open_resource(&quot;TCPIP0::10.12.255.21::inst0::INSTR&quot;)&lt;/p&gt;
#Set channel parameters
    sds.write(&quot;SELect:CH1 ON&quot;)
    sds.write(&quot;SELect:CH2 ON&quot;)
    sds.write(&quot;CH1:SCAle 1&quot;)
    sds.write(&quot;CH2:SCAle 1&quot;)
    sds.write(&quot;CH1:POSition 0&quot;)
    sds.write(&quot;CH2:POSition 0&quot;)
#Set the timebase
    sds.write(&quot;HORizontal:SCAle 2e-6&quot;)
#Trigger the signal stably
    sds.write(&quot;TRIGger:A:TYPe EDGE&quot;)
    sds.write(&quot;TRIGger:A:EDGE:SOUrce CH1&quot;)
    sds.write(&quot;TRIGger:A:EDGE:COUPling DC&quot;)
    sds.write(&quot;TRIGger:A:LEVel 0&quot;)
#Measure the delay between C1 and C2
    sds.write(&quot;MEASUrement:MEAS3:STATE ON&quot;)
    sds.write(&quot;MEASUrement:MEAS3:SOUrce1 CH1&quot;)
    sds.write(&quot;MEASUrement:MEAS3:SOUrce2 CH2&quot;)
    sds.write(&quot;MEASUrement:MEAS3:TYPe DELay&quot;)
    sds.write(&quot;MEASUrement:MEAS3:DELay:DIRection FORWards&quot;)
    sds.write(&quot;MEASUrement:MEAS3:DELay:EDGE1 RISing&quot;)
    sds.write(&quot;MEASUrement:MEAS3:DELay:EDGE2 RISing&quot;)
    sds.query(&quot;MEASUrement:MEAS3:VALue?&quot;)
if __name__ == &quot;__main__&quot;:
    main()
</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>The post <a href="https://siglentna.com/application-note/remote-control-tek-emulation-mode/">Oscilloscope Remote control TEK emulation mode</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Programming Example: SDS Oscilloscope save a copy of a screen image via Python/PyVISA</title>
		<link>https://siglentna.com/application-note/programming-example-sds-oscilloscope-save-a-copy-of-a-screen-image-via-python-pyvisa/</link>
		
		<dc:creator><![CDATA[daisy]]></dc:creator>
		<pubDate>Wed, 26 Feb 2020 15:41:32 +0000</pubDate>
				<guid isPermaLink="false">https://siglentna.com/?post_type=application-notes&#038;p=16904</guid>

					<description><![CDATA[<p>Here is a brief code example written in Python 3.4 that uses PyVISA to pull a display image (screenshot) from a SIGLENT SDS oscilloscope via USB and save it to a drive on the controlling computer. NOTE: This program saves the picture/display image file to the E: drive, which may or may not exist on &#8230; <a href="https://siglentna.com/application-note/programming-example-sds-oscilloscope-save-a-copy-of-a-screen-image-via-python-pyvisa/">Continued</a></p>
<p>The post <a href="https://siglentna.com/application-note/programming-example-sds-oscilloscope-save-a-copy-of-a-screen-image-via-python-pyvisa/">Programming Example: SDS Oscilloscope save a copy of a screen image via Python/PyVISA</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Here is a brief code example written in Python 3.4 that uses PyVISA to pull a display image (screenshot) from a SIGLENT SDS oscilloscope via USB<br />
and save it to a drive on the controlling computer.</p>
<p><strong>NOTE:</strong> This program saves the picture/display image file to the E: drive, which may or may not exist on the specific computer being used to run the application.</p>
<p>Download Python 3.4, connect a SIGLENT SDS Oscilloscope using a USB cable, get the scope USB VISA address, and run the attached .PY program to save an image of the oscilloscope display. The type of file saved is determined by the instruments setting when the program is run.</p>
<p>You can download the .PY file here:<a  data-e-Disable-Page-Transition="true" class="download-link" title="" href="https://siglentna.com/download/16910/?tmstv=1776441327" rel="nofollow" id="download-link-16910" data-redirect="false" >
	PyVISA SDS Screen Capture</a>
</p>
<h2>Tested with:</h2>
<p>Python 3.4</p>
<p>SDS1102CML+</p>
<pre class="brush: python; collapse: false; title: ; wrap-lines: false; notranslate">
#Example that returns a copy of the displayed image on SIGLENT SDS
#Oscilloscopes via USB and saves to a drive location
#
#Dependencies:
#Python 3.4 32 bit
#PyVisa 1.7
#
#Rev 1: 02262020 JC

import visa
import time # for sleep

def main():
 _rm = visa.ResourceManager()
 sds = _rm.open_resource(&quot;USB0::0xF4EC::0xEE3A::SDS1MFCQ3R5086::INSTR&quot;) #Replace with specific USB information from scope
 file_name = &quot;E:\\SCDP.bmp&quot; #Make suere that the drive specified is available on your computer
 sds.write(&quot;SCDP&quot;)
 result_str = sds.read_raw()
 f = open(file_name,'wb')
 f.write(result_str)
 f.flush()
 f.close()
if __name__=='__main__':
 main()

</pre>
<p>The post <a href="https://siglentna.com/application-note/programming-example-sds-oscilloscope-save-a-copy-of-a-screen-image-via-python-pyvisa/">Programming Example: SDS Oscilloscope save a copy of a screen image via Python/PyVISA</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Programming Example: Identification String (*IDN?) return with LabVIEW 2018</title>
		<link>https://siglentna.com/application-note/programming-example-identification-string-idn-return-with-labview-2018/</link>
		
		<dc:creator><![CDATA[visia_admin]]></dc:creator>
		<pubDate>Mon, 16 Dec 2019 20:32:45 +0000</pubDate>
				<guid isPermaLink="false">https://siglentna.com/?post_type=application-notes&#038;p=14784</guid>

					<description><![CDATA[<p>This LabVIEW VI (version 2018) provides a simple platform to begin creating LabVIEW programs. You can download the VI here: VISA_IDN.ZIP In this example, the user can: Select the connected instruments from the VISA Resource List drop down menu: NOTE: USB devices will automatically appear. For LAN connections, you will need to add the device. &#8230; <a href="https://siglentna.com/application-note/programming-example-identification-string-idn-return-with-labview-2018/">Continued</a></p>
<p>The post <a href="https://siglentna.com/application-note/programming-example-identification-string-idn-return-with-labview-2018/">Programming Example: Identification String (*IDN?) return with LabVIEW 2018</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>This LabVIEW VI (version 2018) provides a simple platform to begin creating LabVIEW programs.</p>
<p>You can download the VI here: <a href="https://siglentna.com/wp-content/uploads/2020/12/VISA_IDN.zip" target="_blank" rel="noopener noreferrer">VISA_IDN.ZIP</a></p>
<p>In this example, the user can:</p>
<ul>
<li>Select the connected instruments from the VISA Resource List drop down menu:</li>
</ul>
<p style="padding-left: 30px;">NOTE: USB devices will automatically appear. For LAN connections, you will need to add the device. This is commonly done using NI Measurement and Automation Explorer (NI-MAX)</p>
<ul>
<li>Request the identification string once-per-press of the RUN button.</li>
</ul>
<p style="padding-left: 30px;">This sends the &#8220;*IDN?&#8221; identification query string to the instrument. The instrument then responds to the query with its identification string information. The identification string data will appear in the text box.</p>
<p style="padding-left: 30px;">This code also uses the event structure connected to the value change of the RUN button to run once-and-only-once per keypress. This is a useful method of controlling code execution.</p>
<ul>
<li>Stop and exit upon pressing the STOP button</li>
</ul>
<p>To run:</p>
<ol>
<li>Connect instruments using a USB or LAN connection (see users manual for specific instrument details)</li>
<li>Power on instrument</li>
<li>Open LabVIEW and select the IDN.VI. This will open the VI front panel:</li>
</ol>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-9149" src="https://siglentna.com/wp-content/uploads/2019/06/VISA_IDN.jpg" alt="" width="749" height="493" /></p>
<p>4. Select the instrument of interest from the VISA Resource drop down menu:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-9150" src="https://siglentna.com/wp-content/uploads/2019/06/VISA_IDN_RefreshInstList.jpg" alt="" width="588" height="458" /></p>
<p>5. Press RUN on the LabVIEW VI menu strip to run the program:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-9147" src="https://siglentna.com/wp-content/uploads/2019/06/VISA_IDN_Run_Main.jpg" alt="" width="749" height="493" /></p>
<p>6. Now, the &#8220;graph paper&#8221; background goes clear, indicating that the code is running. Now, you can press RUN in the VI Front Panel to execute the code:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-9148" src="https://siglentna.com/wp-content/uploads/2019/06/VISA_IDN_Run_VI.jpg" alt="" width="616" height="487" /></p>
<p style="padding-left: 30px;">The identification string should appear in the textbox:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-9146" src="https://siglentna.com/wp-content/uploads/2019/06/VISA_IDN_ReturnString.jpg" alt="" width="613" height="472" /></p>
<p style="padding-left: 30px;">7. Press STOP on the VI Front Panel to exit the code</p>
<p>The post <a href="https://siglentna.com/application-note/programming-example-identification-string-idn-return-with-labview-2018/">Programming Example: Identification String (*IDN?) return with LabVIEW 2018</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Measuring Power Supply Control Loop Response with Bode Plot II</title>
		<link>https://siglentna.com/application-note/power-supply-loop-response-bodeii/</link>
		
		<dc:creator><![CDATA[daisy]]></dc:creator>
		<pubDate>Fri, 24 May 2019 17:03:02 +0000</pubDate>
				<guid isPermaLink="false">http://siglentna.com/?post_type=application-notes&#038;p=8933</guid>

					<description><![CDATA[<p>Introduction Stability is one of the most important characteristics in power supply design. Traditionally, stability measurements require expensive frequency response analyzers (FRA) which are not always available in a laboratory. SIGLENT has released Bode Plot Ⅱ features to the SIGLENT SDS1104X-E, SDS1204X-E, SDS2000X-E, SDS2000X Plus, SDS5000X, and SDS6000A series of oscilloscopes. When combined with a &#8230; <a href="https://siglentna.com/application-note/power-supply-loop-response-bodeii/">Continued</a></p>
<p>The post <a href="https://siglentna.com/application-note/power-supply-loop-response-bodeii/">Measuring Power Supply Control Loop Response with Bode Plot II</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p>Stability is one of the most important characteristics in power supply design. Traditionally, stability measurements require expensive frequency response analyzers (FRA) which are not always available in a laboratory. SIGLENT has released Bode Plot Ⅱ features to the SIGLENT SDS1104X-E, SDS1204X-E, SDS2000X-E, SDS2000X Plus, SDS5000X, and SDS6000A series of oscilloscopes. When combined with a Siglent arbitrary waveform generator (SDG or SAG) and an injection transformer, quick frequency response curves can be created.</p>
<p>In this application note, we will show you the basic principles for making this stability measurement and how to use these instruments to make the measurement.</p>
<p style="text-align: center;"><img loading="lazy" decoding="async" class="aligncenter wp-image-8936" src="http://siglentna.com/wp-content/uploads/2019/05/BodeIISetup.png" alt="SIGLENT Bode physical setup" width="470" height="355" srcset="https://siglentna.com/wp-content/uploads/2019/05/BodeIISetup.png 416w, https://siglentna.com/wp-content/uploads/2019/05/BodeIISetup-350x264.png 350w, https://siglentna.com/wp-content/uploads/2019/05/BodeIISetup-300x226.png 300w" sizes="auto, (max-width: 470px) 100vw, 470px" />Figure 1: Bode II setup</p>
<p>&nbsp;</p>
<h2>1. Basic Principle of Stability Measurement</h2>
<p>&nbsp;</p>
<h2>1.1 Stability of The Feedback System</h2>
<p>A regulated power supply is actually a feedback amplifier with a large amount of current sourcing capability. Any theory that applies to a basic feedback amplifier also applies to a regulated power supply.</p>
<p>In feedback theory, the stability of a feedback system can be determined by evaluating the loop transfer function. A more practical way is to measure the bode plot of the loop gain. Figure 2 shows a typical feedback system.</p>
<p>The closed loop transfer A is the mathematical relationship between input x and output y. The loop gain T, by its name, is defined as the gain of a signal traveling around the loop.</p>
<p style="text-align: center;"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8938" src="http://siglentna.com/wp-content/uploads/2019/05/TypicalFeedbackLoop.jpg" alt="" width="704" height="274" srcset="https://siglentna.com/wp-content/uploads/2019/05/TypicalFeedbackLoop.jpg 704w, https://siglentna.com/wp-content/uploads/2019/05/TypicalFeedbackLoop-600x234.jpg 600w, https://siglentna.com/wp-content/uploads/2019/05/TypicalFeedbackLoop-300x117.jpg 300w" sizes="auto, (max-width: 704px) 100vw, 704px" />Figure 2: Typical Feedback Loop</p>
<p>Since α and β are complex variables, they have not only magnitude but also phase angle, as also does the loop gain T. If the phase angle of T reaches -180° while the magnitude is 1, the closed-loop transfer function A becomes infinity. In this situation, the system will maintain an output signal while there is no input. Thus, the system acts as an oscillator rather than as an amplifier, which means that the system is not stable.</p>
<p>If we plot the loop gain in a bode plot, we can evaluate the stability by finding the phase margin and gain margin. A phase margin is defined as how many degrees the phase can be decreased before reaching -180°while the magnitude is 1 (or 0 dB). The gain margin is defined as how many dB in magnitude can be added before reaching 1 (or 0 dB) while the phase is -180°.</p>
<p style="text-align: center;"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8941" src="http://siglentna.com/wp-content/uploads/2019/05/BodePhaseGainMargin.jpg" alt="" width="534" height="327" srcset="https://siglentna.com/wp-content/uploads/2019/05/BodePhaseGainMargin.jpg 534w, https://siglentna.com/wp-content/uploads/2019/05/BodePhaseGainMargin-350x214.jpg 350w, https://siglentna.com/wp-content/uploads/2019/05/BodePhaseGainMargin-300x184.jpg 300w" sizes="auto, (max-width: 534px) 100vw, 534px" />Figure 3: Bode Plot, phase, and gain margin</p>
<p>&nbsp;</p>
<h2>1.2 Break the Loop</h2>
<p>To get the desired loop gain, we simply break the loop. Figure 4 shows how to break the loop in a typical feedback system. Technically you can break the loop any place you like. We commonly choose to break the loop at the point between the amplifier output and the feedback network. Then we insert a test signal <em>i </em>to travel around the loop. The loop gain is the mathematical relationship between the output y and the test signal <em>i</em>.</p>
<p style="text-align: center;"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8942" src="http://siglentna.com/wp-content/uploads/2019/05/BodeBrokenFeedbackLoop.jpg" alt="" width="897" height="373" srcset="https://siglentna.com/wp-content/uploads/2019/05/BodeBrokenFeedbackLoop.jpg 897w, https://siglentna.com/wp-content/uploads/2019/05/BodeBrokenFeedbackLoop-600x249.jpg 600w, https://siglentna.com/wp-content/uploads/2019/05/BodeBrokenFeedbackLoop-300x125.jpg 300w, https://siglentna.com/wp-content/uploads/2019/05/BodeBrokenFeedbackLoop-768x319.jpg 768w" sizes="auto, (max-width: 897px) 100vw, 897px" />Figure 4: Breaking the loop in a typical feedback system</p>
<h2>1.3 Loop Injection</h2>
<p><strong> </strong>In reality, we can never <em>really </em>break the loop because the feedback loop serves to maintain the DC quiescent operation point of the circuits. Without the feedback loop, the device under test will become saturated because of the small input offset voltage, and then no useful result can be measured.</p>
<p>To overcome this, we should measure the open-loop response inside a closed loop. Therefore, we just inject a signal into the loop rather than breaking the loop. Figure 5 shows a typical method of loop injection. The injection point is chosen so that the impedance looking in the direction of the loop is much higher than that looking backward. One possible point is between the output and the resistor divider feedback network. Other points that meet this requirement may be chosen.</p>
<p style="text-align: center;"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8946" src="http://siglentna.com/wp-content/uploads/2019/05/BodeLoopInjection.jpg" alt="" width="916" height="336" srcset="https://siglentna.com/wp-content/uploads/2019/05/BodeLoopInjection.jpg 916w, https://siglentna.com/wp-content/uploads/2019/05/BodeLoopInjection-600x220.jpg 600w, https://siglentna.com/wp-content/uploads/2019/05/BodeLoopInjection-300x110.jpg 300w, https://siglentna.com/wp-content/uploads/2019/05/BodeLoopInjection-768x282.jpg 768w" sizes="auto, (max-width: 916px) 100vw, 916px" /><span style="font-size: inherit;">Figure 5: Loop injection</span></p>
<p>To maintain the closed loop, a small injection resistor Ri is inserted at the injection point. The resistor should be small enough so that it will have little effect on the circuit and also the lower the resistor value the lower the frequency the transformer will operate. Picotest recommends a resistor value of 4.99 Ω for the J2100A, and a larger value may be chosen depending on the circuits. The injection signal is then applied across the injection resistor.</p>
<p>The signal injected should have no effect on the DC operating point of the circuit. A method to solve the common ground connection problem is to use an injection transformer as shown in Figure 6.</p>
<p style="text-align: center;"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8948" src="http://siglentna.com/wp-content/uploads/2019/05/BodeInjectionTransformer.jpg" alt="" width="623" height="401" srcset="https://siglentna.com/wp-content/uploads/2019/05/BodeInjectionTransformer.jpg 623w, https://siglentna.com/wp-content/uploads/2019/05/BodeInjectionTransformer-600x386.jpg 600w, https://siglentna.com/wp-content/uploads/2019/05/BodeInjectionTransformer-300x193.jpg 300w" sizes="auto, (max-width: 623px) 100vw, 623px" />Figure 6: Injection Transformer</p>
<p>The injection signal starts at one end of the injection resistor, travels through the resistor divider feedback network, the error amplifier and the pass element transistor, and finally to the output, which is the other end of the injection resistor. The relationship between the injection signal i  and the output signal y is the loop gain that we wish to measure.</p>
<p>Be aware that we are measuring an open-loop parameter inside a closed loop, the phase starts at 180°and decreases to 0°, rather than starting at 0°and decreasing to -180°. So the phase margin should be measured relative to 0°.</p>
<p>&nbsp;</p>
<h2>2. Measurement Setup and Result</h2>
<p>&nbsp;</p>
<h2>2.1 Equipment</h2>
<p><strong>Oscilloscope:</strong> Siglent SDS1204X-E with firmware version higher than 6.1.27R1 (Bode Plot Ⅱ release)</p>
<p><strong>Signal Source:</strong> Siglent SDG2042X</p>
<p><strong>Power Supply:</strong> Siglent SPD3303X</p>
<p><strong>Probe:</strong> Siglent PP215 passive probe switched to 1X</p>
<p><strong>Injection Transformer:</strong> Picotest J2100A</p>
<p><strong>Device-Under-Test:</strong> Picotest VRTS v1.51</p>
<p>&nbsp;</p>
<h2>2.2 Circuit Connection</h2>
<p><strong> </strong>The Picotest VRTS v1.51 is a demonstration board for voltage regulator testing. Technically it is a linear regulator built from the famous TL431 and a discrete transistor. The schematic is shown in Figure 7. Different output capacitors can be selected to see the impact on the control loop stability.</p>
<p style="text-align: center;"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8949" src="http://siglentna.com/wp-content/uploads/2019/05/VRTS-v1_51-Schematic.jpg" alt="" width="894" height="369" srcset="https://siglentna.com/wp-content/uploads/2019/05/VRTS-v1_51-Schematic.jpg 894w, https://siglentna.com/wp-content/uploads/2019/05/VRTS-v1_51-Schematic-600x248.jpg 600w, https://siglentna.com/wp-content/uploads/2019/05/VRTS-v1_51-Schematic-300x124.jpg 300w, https://siglentna.com/wp-content/uploads/2019/05/VRTS-v1_51-Schematic-768x317.jpg 768w" sizes="auto, (max-width: 894px) 100vw, 894px" />Figure 7: VRTS v1.51 schematic</p>
<p>For the propose of our power supply control loop response measurement, the injection point is TP3 and TP4. The circuit connection is shown in Figure 8.</p>
<p>The generator is connected to the oscilloscope through USB (connection through Ethernet is also supported).</p>
<p>The injection transformer is connected in parallel with the injection resistor so that the signal is injected to the loop while preventing the circuit DC operation point from being affected by the generator.</p>
<p>The TP3 and TP4 points are also connected to the oscilloscope, and the TP4 is defined as the DUT Input while the TP3 is the DUT Output in the Bode Plot Ⅱ.</p>
<p style="text-align: center;"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8950" src="http://siglentna.com/wp-content/uploads/2019/05/BodeCircuitConnection.jpg" alt="" width="733" height="511" srcset="https://siglentna.com/wp-content/uploads/2019/05/BodeCircuitConnection.jpg 733w, https://siglentna.com/wp-content/uploads/2019/05/BodeCircuitConnection-600x418.jpg 600w, https://siglentna.com/wp-content/uploads/2019/05/BodeCircuitConnection-300x209.jpg 300w" sizes="auto, (max-width: 733px) 100vw, 733px" />Figure 8: Circuit connection</p>
<p>&nbsp;</p>
<p style="text-align: center;"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8951" src="http://siglentna.com/wp-content/uploads/2019/05/BodeProbeConnectionToDUT.jpg" alt="" width="559" height="270" srcset="https://siglentna.com/wp-content/uploads/2019/05/BodeProbeConnectionToDUT.jpg 559w, https://siglentna.com/wp-content/uploads/2019/05/BodeProbeConnectionToDUT-350x169.jpg 350w, https://siglentna.com/wp-content/uploads/2019/05/BodeProbeConnectionToDUT-300x145.jpg 300w" sizes="auto, (max-width: 559px) 100vw, 559px" />Figure 9: Probe and Transformer connections to the DUT</p>
<p>&nbsp;</p>
<h2>2.3 Instrument Configuration</h2>
<p>In this section, we will show how the key configuration should be made in order to make the measurement correctly. For complete instructions to the Bode Plot Ⅱ, please refer to the user manual and the quick start guide.</p>
<p>Before entering the Bode Plot Ⅱ, it is recommended that you enable the oscilloscope’s 20 MHz bandwidth limit setting.</p>
<p>At this time, we want to measure the bode plot from 10 Hz all the way to 100 kHz. This frequency range should be enough for a circuit with an expected crossover frequency at about 10 kHz.</p>
<p>Enter the Config menu and set the Sweep Type to Simple, then enter Set Sweep to set the sweeping frequency. Set the Mode to Decade and Start to 10 Hz, Stop to 100 kHz. Set Points/dec to 20, enough for a typical sweep. Enter the Set Stimulus menu to set Amplitude to 50 mV. Enter the Set Channel menu to set DUT Input to CH1 and DUT Output to CH2.</p>
<p style="text-align: center;"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8953" src="http://siglentna.com/wp-content/uploads/2019/05/BodeScopeConfiguration.jpg" alt="" width="552" height="168" srcset="https://siglentna.com/wp-content/uploads/2019/05/BodeScopeConfiguration.jpg 552w, https://siglentna.com/wp-content/uploads/2019/05/BodeScopeConfiguration-350x107.jpg 350w, https://siglentna.com/wp-content/uploads/2019/05/BodeScopeConfiguration-300x91.jpg 300w" sizes="auto, (max-width: 552px) 100vw, 552px" />Figure 10: Bode II scope configuration</p>
<h2>2.4 Results and Data analysis</h2>
<p>After the configuration is done, return to the main menu and press Run to start the sweep.</p>
<p>Wait to see the results as shown in Figure 11.</p>
<p>The result is somewhat confusing and suspect because of the trace at low frequency, especially the phase trace, alternating up and down. We will introduce a method called Vari-level to resolve this problem in the next section.</p>
<p style="text-align: center;"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8954" src="http://siglentna.com/wp-content/uploads/2019/05/BodeIIMeasurementResults.jpg" alt="" width="554" height="333" srcset="https://siglentna.com/wp-content/uploads/2019/05/BodeIIMeasurementResults.jpg 554w, https://siglentna.com/wp-content/uploads/2019/05/BodeIIMeasurementResults-350x210.jpg 350w, https://siglentna.com/wp-content/uploads/2019/05/BodeIIMeasurementResults-300x180.jpg 300w" sizes="auto, (max-width: 554px) 100vw, 554px" />Figure 11: Measurement results</p>
<p>After the sweep has completed, press Run again to stop the sweep. Enter the Display menu and then enter the Cursors menu to turn on the cursors. Use the Adjust knob to move the cursors and set the phase margin as shown in Figure 12.</p>
<p style="text-align: center;"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8955" src="http://siglentna.com/wp-content/uploads/2019/05/BodeCursorMeasure.png" alt="" width="800" height="480" srcset="https://siglentna.com/wp-content/uploads/2019/05/BodeCursorMeasure.png 800w, https://siglentna.com/wp-content/uploads/2019/05/BodeCursorMeasure-600x360.png 600w, https://siglentna.com/wp-content/uploads/2019/05/BodeCursorMeasure-300x180.png 300w, https://siglentna.com/wp-content/uploads/2019/05/BodeCursorMeasure-768x461.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" />Figure 12: Cursor measurement on the Bode plot</p>
<p>You can also turn on the List feature in the Data menu to examine the measured data, or you can export the data to an external USB FLASH driver for further analysis on a computer.</p>
<p style="text-align: center;"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8956" src="http://siglentna.com/wp-content/uploads/2019/05/BodeExportData.png" alt="" width="800" height="480" srcset="https://siglentna.com/wp-content/uploads/2019/05/BodeExportData.png 800w, https://siglentna.com/wp-content/uploads/2019/05/BodeExportData-600x360.png 600w, https://siglentna.com/wp-content/uploads/2019/05/BodeExportData-300x180.png 300w, https://siglentna.com/wp-content/uploads/2019/05/BodeExportData-768x461.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" />Figure 13: Exporting data</p>
<h2>2.5 Vari-level</h2>
<p>In the previous section, we can see that the results are not ideal, for the bouncing trace at low frequency. This is because at low frequency the amplitude difference between the input and output channel is relatively large, and since we are using a relatively small stimulus signal (this time 50 mVpp), the signal presented at the DUT Input channel is extremely small so that a commercial general propose oscilloscope cannot measure it accurately.</p>
<p>But we cannot simply increase the stimulus’s signal amplitude. The result will be similar to what is shown in Figure 14. The large signal near the crossover frequency region causes serious distortion to the loop. The distorted signal in the time domain is shown in Figure 15.</p>
<p>Remember that a bode plot only makes sense in a linear system, and has no meaning in a heavily non-linear system. The result is useless.</p>
<p style="text-align: center;"><img loading="lazy" decoding="async" class="aligncenter wp-image-8957" src="http://siglentna.com/wp-content/uploads/2019/05/BodeAmplitudeDistortion.png" alt="" width="652" height="391" srcset="https://siglentna.com/wp-content/uploads/2019/05/BodeAmplitudeDistortion.png 800w, https://siglentna.com/wp-content/uploads/2019/05/BodeAmplitudeDistortion-600x360.png 600w, https://siglentna.com/wp-content/uploads/2019/05/BodeAmplitudeDistortion-300x180.png 300w, https://siglentna.com/wp-content/uploads/2019/05/BodeAmplitudeDistortion-768x461.png 768w" sizes="auto, (max-width: 652px) 100vw, 652px" />Figure 14: Increased stimulus signal amplitude and distortion</p>
<p style="text-align: center;"><img loading="lazy" decoding="async" class="aligncenter wp-image-8958" src="http://siglentna.com/wp-content/uploads/2019/05/BodeTimeDomainDistortion.png" alt="" width="650" height="392" srcset="https://siglentna.com/wp-content/uploads/2019/05/BodeTimeDomainDistortion.png 1116w, https://siglentna.com/wp-content/uploads/2019/05/BodeTimeDomainDistortion-600x361.png 600w, https://siglentna.com/wp-content/uploads/2019/05/BodeTimeDomainDistortion-300x181.png 300w, https://siglentna.com/wp-content/uploads/2019/05/BodeTimeDomainDistortion-768x462.png 768w, https://siglentna.com/wp-content/uploads/2019/05/BodeTimeDomainDistortion-1024x617.png 1024w" sizes="auto, (max-width: 650px) 100vw, 650px" />Figure 15: Distortion in the time domain</p>
<p>One possible solution to the problem is Vari-level (other manufactures may call it “Shaped Level” or “Level Profile”). The Vari-level concept is simple: The stimulus signal amplitude is variable over the frequency. If we use a large signal at low frequencies and decrease the amplitude to a fairly small level near the crossover region so that it causes little distortion to the loop, in theory, we can get an ideal result.</p>
<p>Under the Configure menu, set Sweep Type from Simple to Vari-level, and push Set Vari-level to enter the Vari-level profile editor.</p>
<p style="text-align: center;"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8959" src="http://siglentna.com/wp-content/uploads/2019/05/BodeVariLevelMenu.png" alt="" width="800" height="62" srcset="https://siglentna.com/wp-content/uploads/2019/05/BodeVariLevelMenu.png 800w, https://siglentna.com/wp-content/uploads/2019/05/BodeVariLevelMenu-600x47.png 600w, https://siglentna.com/wp-content/uploads/2019/05/BodeVariLevelMenu-300x23.png 300w, https://siglentna.com/wp-content/uploads/2019/05/BodeVariLevelMenu-768x60.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" />Figure 16: Set Sweep Type to Vari-level</p>
<p>Figure 17 shows the Vari-level profile editor. The Profile option allows the user to select and save up to 4 profiles. The Nodes sets the number of nodes in the profile trace, the minimum allowed number of nodes is 2 because at least 2 points can determine a line, and always the first and the last node set the start and stop of the trace. Press Edit Table will enter the profile editor mode. The parameter under editing is highlighted by cursors, and next push Edit Table again to cycle the cursors between “Freq”, “Ampl” and the entire row, which allows the user to navigate through the entire table. Users can use the Adjust knob to set the highlighted parameter, and pushing the knob will call out a visual keypad that allows direct input to the parameter. The Set Sweep and Set Stimulus option is somewhat similar to that in the Simple type of sweep, but they are not correlated. This time we set the sweep Mode to Decade and a 40-point-per-decade is sufficient. The profile shown in Figure 17 is used in this measurement. It is not the optimum profile for this circuit but should be a good place to start.</p>
<p style="text-align: center;"><img loading="lazy" decoding="async" class="aligncenter wp-image-8960" src="http://siglentna.com/wp-content/uploads/2019/05/BodeVariLevelProfileEdit.png" alt="" width="653" height="393" srcset="https://siglentna.com/wp-content/uploads/2019/05/BodeVariLevelProfileEdit.png 1116w, https://siglentna.com/wp-content/uploads/2019/05/BodeVariLevelProfileEdit-600x361.png 600w, https://siglentna.com/wp-content/uploads/2019/05/BodeVariLevelProfileEdit-300x181.png 300w, https://siglentna.com/wp-content/uploads/2019/05/BodeVariLevelProfileEdit-768x462.png 768w, https://siglentna.com/wp-content/uploads/2019/05/BodeVariLevelProfileEdit-1024x617.png 1024w" sizes="auto, (max-width: 653px) 100vw, 653px" />Figure 17: Vari-level profile editor</p>
<p>In practice, one should always experiment with those parameters to find an optimum solution for a particular circuit.</p>
<p>One practical way to do this is to monitor the signal in the time domain, decrease the amplitude of the stimulus signal until no visible distortion can be observed, then decrease the amplitude by another 6 dB. Next, record the amplitude and frequency, jump to another frequency and repeat the process.</p>
<p>There is a better way to find the optimum profile if you already have a known good profile. Reduce the signal amplitude by 6 dB and run a sweep to see if the plot changes. If it does change, reduce the amplitude by another 6 dB and sweep again. Until the result doesn’t change, then you can increase the amplitude by 6 dB and that’s an optimum profile. This is time-consuming but necessary to get a meaningful result.</p>
<p>Once profile editing is completed, return to the main menu and push Run to start the sweep. Figure 18 shows the final result of the measurement with Vari-level. Changing the capacitor selection switch S1 on the VRTS v1.51 demo board will alter the loop response due to the impact of different capacitors.</p>
<p style="text-align: center;"><img loading="lazy" decoding="async" class="aligncenter wp-image-8961" src="http://siglentna.com/wp-content/uploads/2019/05/BodeResultsVariLevel.png" alt="" width="651" height="392" srcset="https://siglentna.com/wp-content/uploads/2019/05/BodeResultsVariLevel.png 1116w, https://siglentna.com/wp-content/uploads/2019/05/BodeResultsVariLevel-600x361.png 600w, https://siglentna.com/wp-content/uploads/2019/05/BodeResultsVariLevel-300x181.png 300w, https://siglentna.com/wp-content/uploads/2019/05/BodeResultsVariLevel-768x462.png 768w, https://siglentna.com/wp-content/uploads/2019/05/BodeResultsVariLevel-1024x617.png 1024w" sizes="auto, (max-width: 651px) 100vw, 651px" />Figure 18: Results with Vari-level</p>
<h2>3. Summary</h2>
<p><strong> </strong>The Siglent oscilloscope with newly released Bode Plot Ⅱ together with a Siglent signal generator and a Picotest injection transformer offer a very flexible and easy-to-use power supply control loop measurement system.</p>
<p>The post <a href="https://siglentna.com/application-note/power-supply-loop-response-bodeii/">Measuring Power Supply Control Loop Response with Bode Plot II</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Programming Example: Using VXI11 (LXI) and Python for LAN control without sockets</title>
		<link>https://siglentna.com/application-note/programming-example-vxi11-python-lan/</link>
		
		<dc:creator><![CDATA[daisy]]></dc:creator>
		<pubDate>Wed, 03 Oct 2018 20:16:44 +0000</pubDate>
				<guid isPermaLink="false">http://siglentna.com/?post_type=application-notes&#038;p=7265</guid>

					<description><![CDATA[<p>In an effort to meet the demands of remote monitoring and control, modern test instrumentation is leveraging more communications busses and than ever before. Each type of bus can also have numerous layers that can be utilized for specific advantages. The VXI bus and subsequent software drivers form a convenient software API that can make remote control &#8230; <a href="https://siglentna.com/application-note/programming-example-vxi11-python-lan/">Continued</a></p>
<p>The post <a href="https://siglentna.com/application-note/programming-example-vxi11-python-lan/">Programming Example: Using VXI11 (LXI) and Python for LAN control without sockets</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>In an effort to meet the demands of remote monitoring and control, modern test instrumentation is leveraging more communications busses and than ever before. Each type of bus can also have numerous layers that can be utilized for specific advantages.</p>
<p>The VXI bus and subsequent software drivers form a convenient software API that can make remote control of instrumentation over LAN quite simple. In fact, it forms the basis of the TCPIP communications used in LXI format that is being implemented across the industry.</p>
<p>For more info on VXI, you can check out the <a href="http://www.vxibus.org/overview.html">VXI Consortium</a></p>
<p>VXI has a small installation size and is quite flexible.. especially when compared to VISA based applications. VISA is convenient and does allow for easy bus changes (from GPIB to USB with just a few lines of code), but it is also a large installation that isn&#8217;t always easy to use on machines that are not running Windows.</p>
<p>VXI has many flavors.. and can be used with many OS&#8217; and can be used on many instruments that do not have &#8220;open sockets&#8221; on their LAN connection.</p>
<p>Here is a list of SIGLENT products that have LAN but <em><strong>do not</strong></em> have open sockets:</p>
<p>SDS2000</p>
<p>SDS2000X</p>
<p>SDS1000X/X+</p>
<p>SPD3000X/XE</p>
<p>In this note, we are going to show how to use VXI-11 with Python to control an instrument. This can be used with traditional OS&#8217; like Windows but offer even more when coupled with Linux variants like those running on Rasberry Pis and other single board computers (SBCs).</p>
<p>&nbsp;</p>
<h3>Configuration</h3>
<p>First, you will need to download a few programs..</p>
<ul>
<li>Python: https://www.python.org/downloads/release/python-2714/</li>
</ul>
<p>NOTE: This technique works with version 2.x and 3.x.. in this example, we will use Python 2.7.14 for Windows 64 bit OS&#8217;</p>
<ul>
<li>Python VXI-11: https://github.com/alexforencich/python-vxi11</li>
</ul>
<p>Once downloaded, you can add VXI-11 to your Python instance..</p>
<ol>
<li>Open the command line program in Windows. You can find it by searching for &#8220;CMD&#8221; or by going to the Start Menu &gt;  Windows System &gt; Command Prompt as shown here:</li>
</ol>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7271" src="http://siglentna.com/wp-content/uploads/2018/10/WindowsCMDLine.jpg" alt="" width="325" height="624" srcset="https://siglentna.com/wp-content/uploads/2018/10/WindowsCMDLine.jpg 325w, https://siglentna.com/wp-content/uploads/2018/10/WindowsCMDLine-156x300.jpg 156w" sizes="auto, (max-width: 325px) 100vw, 325px" /></p>
<p>2. In another window, find the location of the Python VXI-11 folder that was downloaded previously and find the path for setup.py. In this case, the path on my PC is shown as:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7268" src="http://siglentna.com/wp-content/uploads/2018/10/VXI11_Location_1.jpg" alt="" width="1178" height="540" srcset="https://siglentna.com/wp-content/uploads/2018/10/VXI11_Location_1.jpg 1178w, https://siglentna.com/wp-content/uploads/2018/10/VXI11_Location_1-600x275.jpg 600w, https://siglentna.com/wp-content/uploads/2018/10/VXI11_Location_1-300x138.jpg 300w, https://siglentna.com/wp-content/uploads/2018/10/VXI11_Location_1-768x352.jpg 768w, https://siglentna.com/wp-content/uploads/2018/10/VXI11_Location_1-1024x469.jpg 1024w" sizes="auto, (max-width: 1178px) 100vw, 1178px" /></p>
<p>Now, you can click on the &#8220;address&#8221; to open the exact path:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7269" src="http://siglentna.com/wp-content/uploads/2018/10/VXI11_Location_2.jpg" alt="" width="1235" height="586" srcset="https://siglentna.com/wp-content/uploads/2018/10/VXI11_Location_2.jpg 1235w, https://siglentna.com/wp-content/uploads/2018/10/VXI11_Location_2-600x285.jpg 600w, https://siglentna.com/wp-content/uploads/2018/10/VXI11_Location_2-300x142.jpg 300w, https://siglentna.com/wp-content/uploads/2018/10/VXI11_Location_2-768x364.jpg 768w, https://siglentna.com/wp-content/uploads/2018/10/VXI11_Location_2-1024x486.jpg 1024w" sizes="auto, (max-width: 1235px) 100vw, 1235px" /></p>
<p>Here, I suggest opening Notepad and &#8220;copy-paste&#8221; the path. It will make the transfer easier:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7270" src="http://siglentna.com/wp-content/uploads/2018/10/VXI11_Notepad_path.jpg" alt="" width="626" height="141" srcset="https://siglentna.com/wp-content/uploads/2018/10/VXI11_Notepad_path.jpg 626w, https://siglentna.com/wp-content/uploads/2018/10/VXI11_Notepad_path-600x135.jpg 600w, https://siglentna.com/wp-content/uploads/2018/10/VXI11_Notepad_path-300x68.jpg 300w" sizes="auto, (max-width: 626px) 100vw, 626px" /></p>
<p>3. Change the directory in the Command line program to match the path from step 2:</p>
<p>Type &#8220;cd &lt;PATH&gt;&#8221; as shown:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7273" src="http://siglentna.com/wp-content/uploads/2018/10/VXI11_cmd_load_1.jpg" alt="" width="1001" height="312" srcset="https://siglentna.com/wp-content/uploads/2018/10/VXI11_cmd_load_1.jpg 1001w, https://siglentna.com/wp-content/uploads/2018/10/VXI11_cmd_load_1-600x187.jpg 600w, https://siglentna.com/wp-content/uploads/2018/10/VXI11_cmd_load_1-300x94.jpg 300w, https://siglentna.com/wp-content/uploads/2018/10/VXI11_cmd_load_1-768x239.jpg 768w" sizes="auto, (max-width: 1001px) 100vw, 1001px" /></p>
<p>&nbsp;</p>
<p>4. Now, the directory has changed to match the path. You can run the setup.py file by typing &#8220;python setup.py install&#8221; as shown:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7267" src="http://siglentna.com/wp-content/uploads/2018/10/VXI11_cmd_load_2.jpg" alt="" width="982" height="172" srcset="https://siglentna.com/wp-content/uploads/2018/10/VXI11_cmd_load_2.jpg 982w, https://siglentna.com/wp-content/uploads/2018/10/VXI11_cmd_load_2-600x105.jpg 600w, https://siglentna.com/wp-content/uploads/2018/10/VXI11_cmd_load_2-300x53.jpg 300w, https://siglentna.com/wp-content/uploads/2018/10/VXI11_cmd_load_2-768x135.jpg 768w" sizes="auto, (max-width: 982px) 100vw, 982px" /></p>
<p>&nbsp;</p>
<p>5. Close the Command Prompt</p>
<h3></h3>
<h3>Test the installation</h3>
<p>Now that everything has been installed, let&#8217;s test the communications link.</p>
<ol>
<li>Connect the instrument to the LAN of the controlling computer and power it on</li>
</ol>
<p>2. Check the IP address for the product (see the User&#8217;s Guide of the specific product for more info), In this case, I am using an SDS2000X oscilloscope. Here is the IP address information:</p>
<p style="font-size: 16px;"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7277" src="http://siglentna.com/wp-content/uploads/2018/10/SDS2X_IP.jpg" alt="" width="748" height="522" srcset="https://siglentna.com/wp-content/uploads/2018/10/SDS2X_IP.jpg 748w, https://siglentna.com/wp-content/uploads/2018/10/SDS2X_IP-600x419.jpg 600w, https://siglentna.com/wp-content/uploads/2018/10/SDS2X_IP-300x209.jpg 300w" sizes="auto, (max-width: 748px) 100vw, 748px" /></p>
<p>&nbsp;</p>
<p>3. Now, start the Python shell. There are a few ways to start this application. In this case, you can find the Python folder in the Windows start folder.</p>
<p>Open IDLE (A Python GUI):</p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7274" src="http://siglentna.com/wp-content/uploads/2018/10/Python_Shell_1.jpg" alt="" width="324" height="473" srcset="https://siglentna.com/wp-content/uploads/2018/10/Python_Shell_1.jpg 324w, https://siglentna.com/wp-content/uploads/2018/10/Python_Shell_1-205x300.jpg 205w" sizes="auto, (max-width: 324px) 100vw, 324px" /></p>
<p>Now, click Run &gt; Python Shell to open the shell:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7276" src="http://siglentna.com/wp-content/uploads/2018/10/Python_Shell_2.jpg" alt="" width="446" height="216" srcset="https://siglentna.com/wp-content/uploads/2018/10/Python_Shell_2.jpg 446w, https://siglentna.com/wp-content/uploads/2018/10/Python_Shell_2-350x170.jpg 350w, https://siglentna.com/wp-content/uploads/2018/10/Python_Shell_2-300x145.jpg 300w" sizes="auto, (max-width: 446px) 100vw, 446px" /></p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7275" src="http://siglentna.com/wp-content/uploads/2018/10/Python_Shell_3.jpg" alt="" width="834" height="176" srcset="https://siglentna.com/wp-content/uploads/2018/10/Python_Shell_3.jpg 834w, https://siglentna.com/wp-content/uploads/2018/10/Python_Shell_3-600x127.jpg 600w, https://siglentna.com/wp-content/uploads/2018/10/Python_Shell_3-300x63.jpg 300w, https://siglentna.com/wp-content/uploads/2018/10/Python_Shell_3-768x162.jpg 768w" sizes="auto, (max-width: 834px) 100vw, 834px" /></p>
<p>&nbsp;</p>
<p>4. Now, import the VXI11 library by typing &#8220;import vxi11&#8221;</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7278" src="http://siglentna.com/wp-content/uploads/2018/10/vxi_import.jpg" alt="" width="831" height="172" srcset="https://siglentna.com/wp-content/uploads/2018/10/vxi_import.jpg 831w, https://siglentna.com/wp-content/uploads/2018/10/vxi_import-600x124.jpg 600w, https://siglentna.com/wp-content/uploads/2018/10/vxi_import-300x62.jpg 300w, https://siglentna.com/wp-content/uploads/2018/10/vxi_import-768x159.jpg 768w" sizes="auto, (max-width: 831px) 100vw, 831px" /></p>
<p>&nbsp;</p>
<p>5. Now, we can assign the variable &#8220;instr&#8221; to the instrument as shown:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7279" src="http://siglentna.com/wp-content/uploads/2018/10/vxi_addinstrument.jpg" alt="" width="833" height="168" srcset="https://siglentna.com/wp-content/uploads/2018/10/vxi_addinstrument.jpg 833w, https://siglentna.com/wp-content/uploads/2018/10/vxi_addinstrument-600x121.jpg 600w, https://siglentna.com/wp-content/uploads/2018/10/vxi_addinstrument-300x61.jpg 300w, https://siglentna.com/wp-content/uploads/2018/10/vxi_addinstrument-768x155.jpg 768w" sizes="auto, (max-width: 833px) 100vw, 833px" /></p>
<p>6. Now, we can use the VXI Ask command to send the identification string (*IDN?), request the response, and print it to the screen:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7280" src="http://siglentna.com/wp-content/uploads/2018/10/vxi_idn_query.jpg" alt="" width="834" height="220" srcset="https://siglentna.com/wp-content/uploads/2018/10/vxi_idn_query.jpg 834w, https://siglentna.com/wp-content/uploads/2018/10/vxi_idn_query-600x158.jpg 600w, https://siglentna.com/wp-content/uploads/2018/10/vxi_idn_query-300x79.jpg 300w, https://siglentna.com/wp-content/uploads/2018/10/vxi_idn_query-768x203.jpg 768w" sizes="auto, (max-width: 834px) 100vw, 834px" /></p>
<p>The VXI11 library features a number of functions to handle writing and reading strings and other formats. You can use this technique to establish communications and control the instrument efficiently.</p>
<p>&nbsp;</p>
<p>Click here to download a Python file of this example: <a href="http://siglentna.com/wp-content/uploads/2018/10/PythonVXI11_IDN.zip">PythonVXI11_IDN</a></p>
<p>The post <a href="https://siglentna.com/application-note/programming-example-vxi11-python-lan/">Programming Example: Using VXI11 (LXI) and Python for LAN control without sockets</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
