<?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>SPD1000X Series Archives - Siglent</title>
	<atom:link href="https://siglentna.com/application-notes/dc-power-supplies/spd1000x-series/feed/" rel="self" type="application/rss+xml" />
	<link>https://siglentna.com/application-notes/dc-power-supplies/spd1000x-series/</link>
	<description>Siglent Technologies America, Inc</description>
	<lastBuildDate>Thu, 09 Jun 2022 16:10:58 +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>SPD1000X Series Archives - Siglent</title>
	<link>https://siglentna.com/application-notes/dc-power-supplies/spd1000x-series/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Programming Example: Python Power Supply Efficiency Example</title>
		<link>https://siglentna.com/application-note/programming-example-python-power-supply-efficiency-example/</link>
		
		<dc:creator><![CDATA[daisy]]></dc:creator>
		<pubDate>Mon, 21 Jun 2021 19:15:16 +0000</pubDate>
				<guid isPermaLink="false">https://siglentna.com/?post_type=application-notes&#038;p=20008</guid>

					<description><![CDATA[<p>Power supply efficiency is an important aspect of any power supply design. Using a few standard pieces of test gear, one can quickly build a modular system with enough resolution to measure the most demanding applications. This note describes a Python example that we created as part of an application note which describes the basics &#8230; <a href="https://siglentna.com/application-note/programming-example-python-power-supply-efficiency-example/">Continued</a></p>
<p>The post <a href="https://siglentna.com/application-note/programming-example-python-power-supply-efficiency-example/">Programming Example: Python Power Supply Efficiency Example</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Power supply efficiency is an important aspect of any power supply design. Using a few standard pieces of test gear, one can quickly build a modular system with enough resolution to measure the most demanding applications.</p>
<p>This note describes a Python example that we created as part of an application note which describes the basics of power supply efficiency testing, which is available here: <a href="https://siglentna.com/application-note/easy-dc-power-supply-efficiency-measurements/" target="_blank" rel="noopener noreferrer">Power Supply Efficiency App Note</a></p>
<p>Typical power efficiency curves require 10 or more load current steps to get an accurate representation of efficiency. Manually performing this test can be a bit tedious and prone to error.</p>
<p>For the resolution question, consider that most commercial power supplies and DC loads have 3.5 digit measurement resolution and accuracy values that may not be high enough to characterize the DUT confidently.</p>
<p>To address these two considerations, we added four multimeters: one to measure Vin, Iin, Vout, and Iout and created a computer program to automate the instrument configurations, step load current values, and data collection.</p>
<p>Here is a wiring diagram of the setup:</p>
<p><img fetchpriority="high" decoding="async" class="aligncenter wp-image-19341" src="https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_DMM_Wiring.jpg" alt="siglent multiple dmm power supply efficiency block diagram" width="1013" height="523" srcset="https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_DMM_Wiring.jpg 2249w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_DMM_Wiring-300x155.jpg 300w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_DMM_Wiring-1024x529.jpg 1024w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_DMM_Wiring-768x396.jpg 768w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_DMM_Wiring-1536x793.jpg 1536w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_DMM_Wiring-2048x1057.jpg 2048w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_DMM_Wiring-600x310.jpg 600w" sizes="(max-width: 1013px) 100vw, 1013px" /></p>
<h2>Software</h2>
<p>Automating this type of test is a great way to minimize errors as well as speed up the test process.</p>
<p>We put together an example program using Python that performs the following:</p>
<ul>
<li style="list-style-type: none;">
<ul>
<li>Prompts the user for start, stop, and number of current load steps</li>
<li>Power Supply settings to deliver proper power to the DUT</li>
<li>Filename to save the CSV data file</li>
</ul>
</li>
</ul>
<p><strong>Requirements:</strong></p>
<ul>
<li style="list-style-type: none;">
<ul>
<li>Qty 1 SIGLENT SPD series power supply</li>
<li>Qty 1 SIGLENT SDL1000X series DC electronic load</li>
<li>Qty 4 SIGLENT SDM3000 series digital multimeter</li>
<li>Qty 1 6 port or more USB hub, USB cables</li>
<li>Cabling* to connect all instruments and DUT</li>
<li>Python 3.0 or greater</li>
<li>tkinter</li>
<li>PyVISA</li>
</ul>
</li>
</ul>
<p><strong>*</strong>Use the proper gauge wiring and connectors that are rated above the maximum current draw expected to minimize the risk of fire or overheating.</p>
<p><strong>To run the program:</strong></p>
<ul>
<li style="list-style-type: none;">
<ul>
<li>Download Python 3.6, PyVISA, and tkinter (a module that eases Graphical User Interface creation)</li>
<li>Download the program <a href="https://siglentna.com/wp-content/uploads/2020/11/SIGLENT-PS-Efficiency.zip" target="_blank" rel="noopener noreferrer">SIGLENT PS Efficiency.ZIP</a></li>
<li>Connect instruments and DUT. It may be helpful to put a small label on each DMM to make it easier to visually identify their roles.</li>
<li>Open the program using a Python editor like IDLE</li>
<li>Edit the USB addresses for each instrument.</li>
</ul>
</li>
</ul>
<p style="padding-left: 40px;">Here is a screenshot of the code showing the addresses:</p>
<p><img decoding="async" class="aligncenter wp-image-19347 size-full" src="https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_Addresses.jpg" alt="siglent multiple dmm power supply efficiency programming example code sample" width="833" height="575" srcset="https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_Addresses.jpg 833w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_Addresses-300x207.jpg 300w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_Addresses-768x530.jpg 768w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_Addresses-600x414.jpg 600w" sizes="(max-width: 833px) 100vw, 833px" /></p>
<p style="padding-left: 40px;">Where:</p>
<ul>
<li style="list-style-type: none;">
<ul>
<li style="list-style-type: none;">
<ul>
<li style="list-style-type: none;">
<ul>
<li>SPDadd is the power supply address</li>
<li>SDLadd is the electronic load address</li>
<li>SDMVinadd is the address of the DMM measuring the input voltage</li>
<li>SDMIinadd is the address of the DMM measuring the input current</li>
<li>SDMVoutadd is the address of the DMM measuring the output voltage</li>
<li>SDMIoutadd is the address of the DMM measuring the output current</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<p style="padding-left: 40px;">One easy way to establish the USB addresses is to use the National Instruments MAX application. With Max, you can connect the instruments via USB and check all of the addresses:</p>
<p><img decoding="async" class="aligncenter wp-image-19348 size-full" src="https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_VISA.jpg" alt="siglent multiple dmm power supply efficiency NI-MAX USB address discovery" width="454" height="290" srcset="https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_VISA.jpg 454w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_VISA-300x192.jpg 300w" sizes="(max-width: 454px) 100vw, 454px" /></p>
<p>&nbsp;</p>
<p><strong>NOTE:</strong> The USB resource ID contains the instrument serial number, which can be used to help identify which instrument you are communicating with. As noted above, it may be helpful to put a small label on each instrument including the serial number to make it easier to visually identify each instrument and ensure they are wired correctly for their role in the test.</p>
<ul>
<li style="list-style-type: none;">
<ul>
<li>After wiring everything up, you can run the module.</li>
<li>The first thing you should see is the User Interface (UI) as shown below:</li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-19545 size-full" src="https://siglentna.com/wp-content/uploads/2020/12/PSEfficiency_Parameters.jpg" alt="siglent multiple dmm power supply efficiency programming example GUI" width="323" height="344" srcset="https://siglentna.com/wp-content/uploads/2020/12/PSEfficiency_Parameters.jpg 323w, https://siglentna.com/wp-content/uploads/2020/12/PSEfficiency_Parameters-282x300.jpg 282w" sizes="auto, (max-width: 323px) 100vw, 323px" /></p>
<ul>
<li style="list-style-type: none;">
<ul>
<li>Enter the proper values for each entry and press Start</li>
<li>As the process begins, you should see the output indicator on the power supply turn on, the DC Load input light should turn on, and the displayed values for current and voltage should meet your programmed values</li>
<li>The program prints each step value measurement on the display as shown here:</li>
</ul>
</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-19350 size-full" src="https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_Python_Data_1.jpg" alt="siglent multiple dmm power supply efficiency programming example results 1" width="747" height="945" srcset="https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_Python_Data_1.jpg 747w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_Python_Data_1-237x300.jpg 237w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_Python_Data_1-600x759.jpg 600w" sizes="auto, (max-width: 747px) 100vw, 747px" /></p>
<p style="padding-left: 40px;">This program uses the auto-ranging measurement function of each instrument, which can add time to each measurement. For proper DC measurements, there needs to be some time delay at each step value to ensure a stable reading. We have programmed sufficient delays for most DUTs, but you may need to tweak delays to meet your specific test needs.</p>
<ul>
<li style="list-style-type: none;">
<ul>
<li>Upon completion, the program will indicate that it is complete and write a CSV file to the folder where the Python program is located.</li>
</ul>
</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-19351 size-full" src="https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_Python_Data_2.jpg" alt="siglent multiple dmm power supply efficiency programming results 2" width="683" height="945" srcset="https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_Python_Data_2.jpg 683w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_Python_Data_2-217x300.jpg 217w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_Python_Data_2-600x830.jpg 600w" sizes="auto, (max-width: 683px) 100vw, 683px" /></p>
<p>&nbsp;</p>
<ul>
<li>Find the CSV file, copy columns A &#8211; I:</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-19352 size-full" src="https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_CSVData.jpg" alt="siglent multiple dmm power supply efficiency programming CSV results" width="604" height="500" srcset="https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_CSVData.jpg 604w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_CSVData-300x248.jpg 300w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_CSVData-600x497.jpg 600w" sizes="auto, (max-width: 604px) 100vw, 604px" /></p>
<ul>
<li>Open a copy of the file Efficiency Template.xls included in the program folder, and paste the results to plot the curve:</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-19353 size-full" src="https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_Curve.jpg" alt="siglent multiple dmm power supply efficiency programming CSV results with plot" width="1814" height="922" srcset="https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_Curve.jpg 1814w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_Curve-300x152.jpg 300w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_Curve-1024x520.jpg 1024w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_Curve-768x390.jpg 768w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_Curve-1536x781.jpg 1536w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_Curve-600x305.jpg 600w" sizes="auto, (max-width: 1814px) 100vw, 1814px" /></p>
<p>&nbsp;</p>
<p>The post <a href="https://siglentna.com/application-note/programming-example-python-power-supply-efficiency-example/">Programming Example: Python Power Supply Efficiency Example</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Easy DC power supply efficiency measurements</title>
		<link>https://siglentna.com/application-note/easy-dc-power-supply-efficiency-measurements/</link>
		
		<dc:creator><![CDATA[daisy]]></dc:creator>
		<pubDate>Thu, 28 Jan 2021 20:44:57 +0000</pubDate>
				<guid isPermaLink="false">https://siglentna.com/?post_type=application-notes&#038;p=19279</guid>

					<description><![CDATA[<p>Introduction Many electronic designs require a power supply that delivers a known voltage over a specific range of current loads and conditions. In many instances, the efficiency of the supply is an essential characteristic of the design. More efficient designs covert the input power into a higher percentage of output power than less efficient designs. &#8230; <a href="https://siglentna.com/application-note/easy-dc-power-supply-efficiency-measurements/">Continued</a></p>
<p>The post <a href="https://siglentna.com/application-note/easy-dc-power-supply-efficiency-measurements/">Easy DC power supply efficiency measurements</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p>Many electronic designs require a power supply that delivers a known voltage over a specific range of current loads and conditions. In many instances, the efficiency of the supply is an essential characteristic of the design. More efficient designs covert the input power into a higher percentage of output power than less efficient designs. Since the majority of power supply losses are generated as heat within the supply, more efficient designs tend to run cooler, offer higher stability, and longer operating lifetime. More efficiency often just makes more sense. This is especially important for applications that require battery power like remote IOT sensing or communications modules that need to be operational for an extended length of time.</p>
<p>In order to make more efficient designs, we need to know how to measure power supply efficiency. In this note, we will introduce the basic theory for DC power supply efficiency calculations, present a physical setup for accurately measuring the important parameters, and provide an example program that coordinates measurements and automatically calculates power supply efficiency quickly.</p>
<h2>Background Theory</h2>
<p>The efficiency of a power supply is simply the ratio of the power out vs the power in.</p>
<p>From power electronics theory:</p>
<p style="text-align: center;">η = Pout / Pin</p>
<p>Where η = Power Efficency, Pout = Output power (Watts), and Pin = Input power (Watts)</p>
<p>&nbsp;</p>
<p>For DC power,</p>
<p style="text-align: center;">P = V * I</p>
<p style="text-align: left;">Where P = Power (Watts = Joules/s), V = Volts (Joules/Coulomb), and I = Current (Amps = Coulombs/s)</p>
<p>&nbsp;</p>
<p>So, if we measure the input voltage and current draw, we can calculate the input power.</p>
<p style="text-align: center;">Pin = Vin * Iin</p>
<p>&nbsp;</p>
<p>If we measure the output voltage and current draw, we can calculate the output power.</p>
<p style="text-align: center;">Pout = Vout * Iout</p>
<p>Now, some simple division provides Power Efficiency as a ratio which can be easily shown as a percentage at that specific load value. A curve of the efficiency vs. load values can be calculated by stepping the load value and calculating the efficiency at each load value and plotting it as shown below:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-19337 size-full" src="https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_DatasheetCurves_2.jpg" alt="power supply efficiency curve example" width="989" height="663" srcset="https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_DatasheetCurves_2.jpg 989w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_DatasheetCurves_2-300x201.jpg 300w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_DatasheetCurves_2-768x515.jpg 768w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_DatasheetCurves_2-600x402.jpg 600w" sizes="auto, (max-width: 989px) 100vw, 989px" /></p>
<p style="text-align: center;">Figure 1: Sample Power Supply Efficiency Curve, from Linear Technologies Datasheet for an LTM4646.</p>
<h2>Setup</h2>
<p>The most basic setup for this test uses:</p>
<p style="padding-left: 40px;">Qty 1 Power Supply</p>
<p style="padding-left: 40px;">Qty 1 DC electronic load</p>
<p>Typically wired as shown:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-19339" src="https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_Basic_Wiring.jpg" alt="basic power supply efficiency block diagram" width="880" height="266" srcset="https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_Basic_Wiring.jpg 1471w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_Basic_Wiring-300x91.jpg 300w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_Basic_Wiring-1024x310.jpg 1024w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_Basic_Wiring-768x232.jpg 768w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_Basic_Wiring-600x182.jpg 600w" sizes="auto, (max-width: 880px) 100vw, 880px" /></p>
<p>The process:</p>
<ul>
<li>Supply power to the DUT</li>
<li>Set the load for a given current draw</li>
<li>Measure the Vin, Iin, Vout, and Iout at the load current set point</li>
</ul>
<p>This is about as simple as it gets with an electronics test.. but there are two important considerations with this setup:</p>
<ol>
<li style="list-style-type: none;">
<ol>
<li>How many load steps are required to accurately build an efficiency curve for your DUT?</li>
<li>What level of resolution and accuracy do you need for the calculation?</li>
</ol>
</li>
</ol>
<p>Typical power efficiency curves require 10 or more load current steps to get an accurate representation of efficiency. Manually performing this test can be a bit tedious and prone to error. To save time, you may want to consider automating the setup with a computer. Here is an example we built using Python that may be helpful: <strong>LINK TO EXAMPLE</strong></p>
<p>For the resolution question, consider that most commercial power supplies and DC loads have 3.5 digit measurement resolution and accuracy values that may not be high enough to characterize the DUT confidently.</p>
<p>To address these two considerations, we added four multimeters: One to measure Vin, Iin, Vout, and Iout and created a computer program to automate the instrument configurations, step load current values, and data collection.</p>
<p>Here is a wiring diagram of the setup:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-19341" src="https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_DMM_Wiring.jpg" alt="siglent multiple dmm power supply efficiency block diagram" width="1013" height="523" srcset="https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_DMM_Wiring.jpg 2249w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_DMM_Wiring-300x155.jpg 300w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_DMM_Wiring-1024x529.jpg 1024w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_DMM_Wiring-768x396.jpg 768w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_DMM_Wiring-1536x793.jpg 1536w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_DMM_Wiring-2048x1057.jpg 2048w, https://siglentna.com/wp-content/uploads/2020/11/PSEfficiency_DMM_Wiring-600x310.jpg 600w" sizes="auto, (max-width: 1013px) 100vw, 1013px" /></p>
<p>Here is a picture of the experimental setup which uses a SIGLENT SPD1168X, SDM3055s for Iin and Iout, SDM3045Xs for Vin and Vout, and an SDL1020X-E DC load:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-19342" src="https://siglentna.com/wp-content/uploads/2020/11/Setup.jpg" alt="siglent multiple dmm power supply effiiciency setup photo" width="888" height="632" srcset="https://siglentna.com/wp-content/uploads/2020/11/Setup.jpg 1181w, https://siglentna.com/wp-content/uploads/2020/11/Setup-300x214.jpg 300w, https://siglentna.com/wp-content/uploads/2020/11/Setup-1024x729.jpg 1024w, https://siglentna.com/wp-content/uploads/2020/11/Setup-768x547.jpg 768w, https://siglentna.com/wp-content/uploads/2020/11/Setup-600x427.jpg 600w" sizes="auto, (max-width: 888px) 100vw, 888px" /></p>
<p>&nbsp;</p>
<p>Here the DUT is the Linear Technologies LTM4646 power module we used in this video on <a href="https://siglentna.com/video/power-supply-design-load-step-response-with-a-siglent-dc-electronic-load/" target="_blank" rel="noopener noreferrer">Load Step Testing</a></p>
<p>NOTE: K<span style="font-size: inherit;">eep the leads to the load as short as possible to minimize I*R voltage drop and select DMMs with a low voltage burden on the current measurement ranges you expect to use. Long leads and a high voltage burden can cause the DUT to reach its output voltage limit before reaching the maximum expected current draw. </span></p>
<p><strong>Summary</strong></p>
<p>Power supply efficiency is an important aspect of any power supply design. Using a few standard pieces of test gear, one can quickly build a modular system with enough resolution to measure the most demanding applications.</p>
<p>The post <a href="https://siglentna.com/application-note/easy-dc-power-supply-efficiency-measurements/">Easy DC power supply efficiency measurements</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Programming Example: Controlling an SPD power supply via Sockets over LAN</title>
		<link>https://siglentna.com/application-note/programming-example-controlling-an-spd-power-supply-via-sockets-ov/</link>
		
		<dc:creator><![CDATA[daisy]]></dc:creator>
		<pubDate>Mon, 04 Jan 2021 20:46:12 +0000</pubDate>
				<guid isPermaLink="false">https://siglentna.com/?post_type=application-notes&#038;p=19789</guid>

					<description><![CDATA[<p>Here is a Python 3.6 example of using sockets to control an SPD power supply connected to a computer using LAN. Here is a zip file of the working program: NOTE: The SPD uses VXI-11 protocol for LAN. On some systems, it is helpful to use the VXI-11 format for the IP address: “TCPIP::ip.add.re.ss::INSTR” Here &#8230; <a href="https://siglentna.com/application-note/programming-example-controlling-an-spd-power-supply-via-sockets-ov/">Continued</a></p>
<p>The post <a href="https://siglentna.com/application-note/programming-example-controlling-an-spd-power-supply-via-sockets-ov/">Programming Example: Controlling an SPD power supply via Sockets over LAN</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Here is a Python 3.6 example of using sockets to control an SPD power supply connected to a computer using LAN.</p>
<p>Here is a zip file of the working program: <a  data-e-Disable-Page-Transition="true" class="download-link" title="Version 1.0" href="https://siglentna.com/download/19794/?tmstv=1776441560" rel="nofollow" id="download-link-19794" data-redirect="false" >
	PythonSocket_SPD_10232019.zip</a>
</p>
<p>NOTE: The SPD uses VXI-11 protocol for LAN. On some systems, it is helpful to use the VXI-11 format for the IP address:</p>
<p>“TCPIP::ip.add.re.ss::INSTR”</p>
<p>Here is the program in full:</p>
<pre class="brush: python; collapse: false; title: ; wrap-lines: false; notranslate">

#!/usr/bin/env python
#-*- coding:utf-8 –*-
#-----------------------------------------------------------------------------
# The short script is a example that open a socket, sends a query,
# print the return message and closes the socket.
#
#No warranties expressed or implied
#
#SIGLENT/JAC 05.2018
#
#-----------------------------------------------------------------------------
import socket # for sockets
import sys # for exit
import time # for sleep
#-----------------------------------------------------------------------------

remote_ip = &quot;192.168.55.109&quot; # should match the instrument’s IP address
port = 5025 # the port number of the instrument service

#Port 5024 is valid for the following:
#SIGLENT SDS1202X-E, SDG1/2X Series, SDG6X Series
#SDM3055, SDM3045X, and SDM3065X
#
#Port 5025 is valid for the following:
#SIGLENT SVA1000X series, SSA3000X Series, and SPD3303X/XE

count = 0
def SocketConnect():
    try:
        #create an AF_INET, STREAM socket (TCP)
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    except socket.error:
        print ('Failed to create socket.')
        sys.exit();
    try:
        #Connect to remote server
        s.connect((remote_ip , port))
    except socket.error:
        print ('failed to connect to ip ' + remote_ip)
    return s
def SocketClose(Sock):
    #close the socket
    Sock.close()
    time.sleep(1)

def main():
    global remote_ip
    global port
    global count

    # Body: send the SCPI commands *IDN? 10 times and print the return message
    s = SocketConnect()
    for i in range(1):
        s.sendall(b'OUTPUT CH1,ON')
        #s.sendall(b'\n')
        time.sleep(5)
        s.sendall(b'OUTPUT CH1,OFF')
        #s.sendall(b'\n')
        time.sleep(5)
        print (str(count))
        count = count + 1
    SocketClose(s)
    print('Test complete. Exiting program')
    sys.exit

if __name__ == '__main__':
    proc = main()

</pre>
<p>&nbsp;</p>
<p>The post <a href="https://siglentna.com/application-note/programming-example-controlling-an-spd-power-supply-via-sockets-ov/">Programming Example: Controlling an SPD power supply via Sockets over LAN</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Power Supply Design: Load Step Response with a SIGLENT DC Electronic Load</title>
		<link>https://siglentna.com/application-note/power-supply-design-load-step/</link>
		
		<dc:creator><![CDATA[daisy]]></dc:creator>
		<pubDate>Fri, 03 Apr 2020 11:59:49 +0000</pubDate>
				<guid isPermaLink="false">https://siglentna.com/?post_type=application-notes&#038;p=17286</guid>

					<description><![CDATA[<p>Building a power supply that can handle various loads without oscillating can be a challenge. Computational models and computer simulations can help get your design headed in the right direction, but physical testing is essential to proving the performance of your design. One method of quickly determining stability is to use a load step response. &#8230; <a href="https://siglentna.com/application-note/power-supply-design-load-step/">Continued</a></p>
<p>The post <a href="https://siglentna.com/application-note/power-supply-design-load-step/">Power Supply Design: Load Step Response with a SIGLENT DC Electronic Load</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Building a power supply that can handle various loads without oscillating can be a challenge. Computational models and computer simulations can help get your design headed in the right direction, but physical testing is essential to proving the performance of your design.</p>
<p>One method of quickly determining stability is to use a load step response.</p>
<p>In this test, a DC electronic load is used to provide a current load that steps from a low current draw to a higher value in a short period of time. By directly measuring the voltage and current output of the supply with the stepped load, we can visually observe the recovery of the power supply feedback loop and make changes to the design to optimize the response.</p>
<p>For this note, we are going to perform identical tests on two supplies and compare the output voltage and current waveforms: One has been tuned so that the output quickly recovers with minimal overshoot and ringing. The other supply is not tuned and subsequently oscillates. We will also discuss some measurement techniques to help get the right data as quickly as possible.</p>
<p>We also have a video to accompany this note:</p>
<p>Power Supply Design: <a href="https://youtu.be/eh6tBFeZPDo" target="_blank" rel="noopener noreferrer">Load Step Response with a SIGLENT DC Electronic Load</a></p>
<h2></h2>
<h2>The Equipment:</h2>
<ul>
<li>A DC Electronic Load: The <a href="https://siglentna.com/dc-electronic-load/sdl1000x/" target="_blank" rel="noopener noreferrer">SIGLENT SDL1020X-E</a> is a 200 W load with dynamic testing capabilities to perform the load step. It also features remote sense capabilities to compensate for the voltage drop across the load leads. High currents can provide a substantial voltage drop across the leads and will add unwanted error.</li>
<li>An oscilloscope: The <a href="https://siglentna.com/digital-oscilloscopes/sds2000xp/" target="_blank" rel="noopener noreferrer">SIGLENT SDS2354X Plus scope</a> has a large display, easy-to-use interface, and features that make capturing these waveforms very easy.</li>
<li>A power supply: The <a href="https://siglentna.com/power-supplies/spd1000x-series-programmable-dc-power-supply/" target="_blank" rel="noopener noreferrer">SIGLENT SPD1168X</a> single output supply delivers power to our power supply board</li>
<li>A current probe: The <a href="https://siglentna.com/products/accessories/probes/current-probes/" target="_blank" rel="noopener noreferrer">SIGLENT CP4070</a> features a 150 kHz bandwidth that will minimize most switching noise from the measurement</li>
<li>Power supplies to test: The <a href="https://www.analog.com/media/en/technical-documentation/data-sheets/4646f.pdf" target="_blank" rel="noopener noreferrer">Analog Devices LTM4646</a> series of uModule Regulators. This module features two 10A DC-DC converters. One has been &#8220;detuned&#8221; to show some common problems associated with power supply design. The other supply has been left in it&#8217;s tuned state as a comparison to the detuned supply.</li>
</ul>
<h2></h2>
<h2>The Setup:</h2>
<ul>
<li>Connect the SPD bench power supply to the power supply to test and configure the output values to match your supply needs. Here, we set the SPD for 12 V @ 3 A.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-17294" src="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_SPD.jpg" alt="" width="504" height="378" srcset="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_SPD.jpg 504w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_SPD-300x225.jpg 300w" sizes="auto, (max-width: 504px) 100vw, 504px" /></p>
<ul>
<li>Connect the SDL electronic DC load to the output of the power supply to test. Configure the load for Constant Current (CC), set the voltage and current ranges to the lowest ranges that still accommodate the requirements of the test, set the current load to a value near the maximum for your design. You may also wish to wire up and enable the SDL remote sense which enables remote voltage measurement to minimize the voltage drop caused by the high current flow through the electronic load leads. Here, we set the current to 5 A.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-17295" src="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_DCLoadSetting.jpg" alt="" width="504" height="378" srcset="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_DCLoadSetting.jpg 504w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_DCLoadSetting-300x225.jpg 300w" sizes="auto, (max-width: 504px) 100vw, 504px" /></p>
<ul>
<li>Connect a passive probe to the oscilloscope CH1. This probe should be connected to the power supply feedback loop to monitor the voltage as the supply adjusts to the load.</li>
<li>On the oscilloscope, configure CH1 for AC coupling to provide the most resolution to view the feedback voltage which can have high DC offsets. Enabling the Bandwidth Limit (BW limit) can also decrease noise. Here, the SDS2X Plus also has on-screen labels for traces, which can be a convenient way of keeping information organized. Here, I labeled CH1 Vout.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-17296" src="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_CH1_Scope_Setup.png" alt="" width="1024" height="600" srcset="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_CH1_Scope_Setup.png 1024w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_CH1_Scope_Setup-300x176.png 300w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_CH1_Scope_Setup-768x450.png 768w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_CH1_Scope_Setup-600x352.png 600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<ul>
<li>Connect the current probe to the oscilloscope CH2.</li>
<li>On the oscilloscope, set the trigger for Rising Edge, CH2 and AUTO. This will allow you to adjust the current probe zero position without dealing with the trigger setting.</li>
<li>Configure CH2 as a current probe (Units = A), set the Probe attenuation to the proper value (50 mV/A in this case). DC coupling here because we want to see the total signal amplitude. I also applied a label to the output current (Iout).</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-17297" src="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_CH2_Scope_Setup.png" alt="" width="1024" height="600" srcset="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_CH2_Scope_Setup.png 1024w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_CH2_Scope_Setup-300x176.png 300w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_CH2_Scope_Setup-768x450.png 768w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_CH2_Scope_Setup-600x352.png 600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<ul>
<li>Zero the current probe. The CPs have a knob that you can use to move the DC offset. Set the scope to a low current range and adjust the probe to get 0 A on the display.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-17298" src="https://siglentna.com/wp-content/uploads/2020/04/LoadStepCurrentProbeZero.jpg" alt="" width="378" height="504" srcset="https://siglentna.com/wp-content/uploads/2020/04/LoadStepCurrentProbeZero.jpg 378w, https://siglentna.com/wp-content/uploads/2020/04/LoadStepCurrentProbeZero-225x300.jpg 225w" sizes="auto, (max-width: 378px) 100vw, 378px" /></p>
<ul>
<li>Clip the current probe around the positive current lead going from the power supply under test to the DC load. Make sure to have the clamp connected such that positive current flow (into the load) produces a positive signal on the scope.</li>
</ul>
<p>Now, everything is connected and ready to test:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-17299" src="https://siglentna.com/wp-content/uploads/2020/04/LoadStepSetup.jpg" alt="" width="2300" height="1725" srcset="https://siglentna.com/wp-content/uploads/2020/04/LoadStepSetup.jpg 2300w, https://siglentna.com/wp-content/uploads/2020/04/LoadStepSetup-300x225.jpg 300w, https://siglentna.com/wp-content/uploads/2020/04/LoadStepSetup-768x576.jpg 768w, https://siglentna.com/wp-content/uploads/2020/04/LoadStepSetup-1024x768.jpg 1024w, https://siglentna.com/wp-content/uploads/2020/04/LoadStepSetup-600x450.jpg 600w" sizes="auto, (max-width: 2300px) 100vw, 2300px" /></p>
<p>Be on the lookout for interlopers and/or pesky critters wondering where the magic smoke came from:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-17300" src="https://siglentna.com/wp-content/uploads/2020/04/UnwantedVisitor.jpg" alt="" width="374" height="281" srcset="https://siglentna.com/wp-content/uploads/2020/04/UnwantedVisitor.jpg 2300w, https://siglentna.com/wp-content/uploads/2020/04/UnwantedVisitor-300x225.jpg 300w, https://siglentna.com/wp-content/uploads/2020/04/UnwantedVisitor-768x576.jpg 768w, https://siglentna.com/wp-content/uploads/2020/04/UnwantedVisitor-1024x768.jpg 1024w, https://siglentna.com/wp-content/uploads/2020/04/UnwantedVisitor-600x450.jpg 600w" sizes="auto, (max-width: 374px) 100vw, 374px" /></p>
<h2></h2>
<h2>DC Load Verification</h2>
<p>Now, you can power on the SPD power supply and SDL load.</p>
<p>Make sure that the scope is set to AUTO trigger for now. You can also add an RMS measurement on CH2 so that you can verify the current draw matches the setting on the DC Load.</p>
<p>Here, we have a setting of 5 A on the DC load.. and we show 5 A RMS on the scope:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-17302" src="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_CC_5A.png" alt="" width="1024" height="600" srcset="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_CC_5A.png 1024w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_CC_5A-300x176.png 300w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_CC_5A-768x450.png 768w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_CC_5A-600x352.png 600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<p>Things are looking good. The current output matches our load setting.</p>
<p>&nbsp;</p>
<h2>DC Load Step Response</h2>
<p>Now, set the DC load to Dynamic Current mode by pressing Utility &gt; CC.. and configure the appropriate ranges, low and high current values and duration, and slew rate for your application.</p>
<p>Here are the settings used for this test:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-17303" src="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_SDL_Settings.jpg" alt="" width="1014" height="259" srcset="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_SDL_Settings.jpg 1014w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_SDL_Settings-300x77.jpg 300w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_SDL_Settings-768x196.jpg 768w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_SDL_Settings-600x153.jpg 600w" sizes="auto, (max-width: 1014px) 100vw, 1014px" /></p>
<p>This will continuously cycle from 1 A for 5 ms to 5 A for 5 ms with 500 mA/us slew rate.</p>
<p>Now, switch the scope trigger mode to Normal and adjust the vertical, horizontal scales and positions.. as well as the trigger level to get a stable trigger and a few periods of transition on the display:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-17304" src="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Tuned_LongTimebase.png" alt="" width="1024" height="600" srcset="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Tuned_LongTimebase.png 1024w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Tuned_LongTimebase-300x176.png 300w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Tuned_LongTimebase-768x450.png 768w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Tuned_LongTimebase-600x352.png 600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<p>Verify that the supply high and low current values match the setpoints. For this example, we have 1 A for 5 ms and 5 A for 5 ms.. which is what we observe.</p>
<p>&nbsp;</p>
<h2>Observe and Optimize</h2>
<p>Now, let&#8217;s compare a tuned setup to one that is not tuned for our load as well as some techniques to gather more information about the response.</p>
<p>First, you likely see quite a bit of noise on your signal. The majority of this is due to switching noise in the supply being tested. Here is a zoomed image of the feedback voltage where you can see the switching noise quite clearly.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-17306" src="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_SwitchingNoise_Zoom.png" alt="" width="1024" height="600" srcset="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_SwitchingNoise_Zoom.png 1024w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_SwitchingNoise_Zoom-300x176.png 300w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_SwitchingNoise_Zoom-768x450.png 768w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_SwitchingNoise_Zoom-600x352.png 600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<p>&nbsp;</p>
<p>Enabling waveform averaging can help:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-17305" src="https://siglentna.com/wp-content/uploads/2020/04/SDS2XPlus_Averaging.png" alt="" width="1024" height="600" srcset="https://siglentna.com/wp-content/uploads/2020/04/SDS2XPlus_Averaging.png 1024w, https://siglentna.com/wp-content/uploads/2020/04/SDS2XPlus_Averaging-300x176.png 300w, https://siglentna.com/wp-content/uploads/2020/04/SDS2XPlus_Averaging-768x450.png 768w, https://siglentna.com/wp-content/uploads/2020/04/SDS2XPlus_Averaging-600x352.png 600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<p>&nbsp;</p>
<p>Now, we see the output voltage from CH1 (yellow), output current from CH2 (pink/purple), and the average voltage math function (orange):</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-17307" src="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Tuned_Averaging.png" alt="" width="1024" height="600" srcset="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Tuned_Averaging.png 1024w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Tuned_Averaging-300x176.png 300w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Tuned_Averaging-768x450.png 768w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Tuned_Averaging-600x352.png 600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<p>This is the tuned setup.</p>
<p>&nbsp;</p>
<p>Now, let&#8217;s look at a detuned supply:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-17308" src="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Detuned_SinglePeriod.png" alt="" width="1024" height="600" srcset="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Detuned_SinglePeriod.png 1024w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Detuned_SinglePeriod-300x176.png 300w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Detuned_SinglePeriod-768x450.png 768w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Detuned_SinglePeriod-600x352.png 600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<p>The scaling on these two images is exactly the same. You can see a large amount of ringing associated with the detuned supply. This design is very close to becoming an oscillator with this load. If our step duration was any shorter, the supply voltage wouldn&#8217;t be settled and our output would be very poorly regulated.</p>
<p>Here are some closer images of the rising and falling edges on shorter time scales:</p>
<p>Tuned, Rising:</p>
<p style="padding-left: 40px;"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-17310" src="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Tuned_RisingEdge.png" alt="" width="1024" height="600" srcset="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Tuned_RisingEdge.png 1024w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Tuned_RisingEdge-300x176.png 300w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Tuned_RisingEdge-768x450.png 768w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Tuned_RisingEdge-600x352.png 600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<p>Tuned, Falling:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-17309" src="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Tuned_FallingEdge.png" alt="" width="1024" height="600" srcset="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Tuned_FallingEdge.png 1024w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Tuned_FallingEdge-300x176.png 300w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Tuned_FallingEdge-768x450.png 768w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Tuned_FallingEdge-600x352.png 600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<p>Detuned, Rising:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-17312" src="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Detuned_RisingEdge.png" alt="" width="1024" height="600" srcset="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Detuned_RisingEdge.png 1024w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Detuned_RisingEdge-300x176.png 300w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Detuned_RisingEdge-768x450.png 768w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Detuned_RisingEdge-600x352.png 600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<p>&nbsp;</p>
<p>Detuned, Falling:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-17311" src="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Detuned_FallingEdge.png" alt="" width="1024" height="600" srcset="https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Detuned_FallingEdge.png 1024w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Detuned_FallingEdge-300x176.png 300w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Detuned_FallingEdge-768x450.png 768w, https://siglentna.com/wp-content/uploads/2020/04/LoadStep_Detuned_FallingEdge-600x352.png 600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<p>&nbsp;</p>
<h2>Conclusions</h2>
<p>A DC load step test can quickly show you the performance and stability of a power supply design. Using a few common pieces of test gear, you can ensure that your design is ready to undertake the most challenging application requirements.</p>
<p>The post <a href="https://siglentna.com/application-note/power-supply-design-load-step/">Power Supply Design: Load Step Response with a SIGLENT DC Electronic Load</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>Secure products without K-lock slots</title>
		<link>https://siglentna.com/application-note/secure-products-without-k-lock-slots/</link>
		
		<dc:creator><![CDATA[daisy]]></dc:creator>
		<pubDate>Mon, 20 May 2019 18:57:16 +0000</pubDate>
				<guid isPermaLink="false">http://siglentna.com/?post_type=application-notes&#038;p=8877</guid>

					<description><![CDATA[<p>Many products have Kensington, or K-lock slots to help provide a location to secure a cable lock or other device to help prevent theft. Some products do not have locations for cable lock connections. In this case, we recommend using a special glue or physical attachment system to secure the cable to the case of &#8230; <a href="https://siglentna.com/application-note/secure-products-without-k-lock-slots/">Continued</a></p>
<p>The post <a href="https://siglentna.com/application-note/secure-products-without-k-lock-slots/">Secure products without K-lock slots</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Many products have Kensington, or K-lock slots to help provide a location to secure a cable lock or other device to help prevent theft.</p>
<p>Some products do not have locations for cable lock connections.</p>
<p>In this case, we recommend using a special glue or physical attachment system to secure the cable to the case of the instrument.</p>
<p>Here is an example:</p>
<p>https://www.kensington.com/p/products/security/lock-anchor-points-accessories/security-slot-adapter-kit-for-ultrabook/</p>
<p>The post <a href="https://siglentna.com/application-note/secure-products-without-k-lock-slots/">Secure products without K-lock slots</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>
		<item>
		<title>Programming Example: List connected VISA compatible resources using PyVISA</title>
		<link>https://siglentna.com/application-note/programming-example-list-connected-visa-compatible-resources-using-pyvisa/</link>
		
		<dc:creator><![CDATA[daisy]]></dc:creator>
		<pubDate>Thu, 30 Aug 2018 13:50:29 +0000</pubDate>
				<guid isPermaLink="false">http://siglentna.com/?post_type=application-notes&#038;p=7054</guid>

					<description><![CDATA[<p>PyVISA is a software library that enables Python applications to communicate with resources (typically instruments) connected to a controlling computer using different buses, including: GPIB, RS-232, LAN, and USB. This example scans and lists the available resources. It requires PyVISA to be installed (see the PyVISA documentation for more information) *** #Example that scans a &#8230; <a href="https://siglentna.com/application-note/programming-example-list-connected-visa-compatible-resources-using-pyvisa/">Continued</a></p>
<p>The post <a href="https://siglentna.com/application-note/programming-example-list-connected-visa-compatible-resources-using-pyvisa/">Programming Example: List connected VISA compatible resources using PyVISA</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>PyVISA is a software library that enables Python applications to communicate with resources (typically instruments) connected to a controlling computer using different buses, including: GPIB, RS-232, LAN, and USB.</p>
<p>This example scans and lists the available resources.</p>
<p>It requires PyVISA to be installed (see the PyVISA documentation for more information)</p>
<p>***</p>
<pre class="brush: python; collapse: false; title: ; wrap-lines: false; notranslate">

#Example that scans a computer for connected instruments that
#are compatible with the VISA communication protocol.
#
#The instrument VISA resource ID for each compatible instrument
#is then listed.
#
#
#Dependencies:
#Python 3.4 32 bit
#PyVisa 1.7
#
#Rev 1: 08302018 JC

import visa

def main():
    rm = visa.ResourceManager()
    print (rm.list_resources())

if __name__=='__main__':
    main()
</pre>
<p>*****</p>
<p>Here is the code:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-7056 size-full" src="http://siglentna.com/wp-content/uploads/2018/08/PyVISAResourceList1.jpg" alt="" width="668" height="463" srcset="https://siglentna.com/wp-content/uploads/2018/08/PyVISAResourceList1.jpg 668w, https://siglentna.com/wp-content/uploads/2018/08/PyVISAResourceList1-600x416.jpg 600w, https://siglentna.com/wp-content/uploads/2018/08/PyVISAResourceList1-300x208.jpg 300w" sizes="auto, (max-width: 668px) 100vw, 668px" /></p>
<p>And here is the result of a scan:</p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7057" src="http://siglentna.com/wp-content/uploads/2018/08/PyVISAResourceList2.jpg" alt="" width="831" height="258" srcset="https://siglentna.com/wp-content/uploads/2018/08/PyVISAResourceList2.jpg 831w, https://siglentna.com/wp-content/uploads/2018/08/PyVISAResourceList2-600x186.jpg 600w, https://siglentna.com/wp-content/uploads/2018/08/PyVISAResourceList2-300x93.jpg 300w, https://siglentna.com/wp-content/uploads/2018/08/PyVISAResourceList2-768x238.jpg 768w" sizes="auto, (max-width: 831px) 100vw, 831px" /></p>
<p>&nbsp;</p>
<p>Each connected instrument returns a specific formatted string of characters called the VISA Resource ID.</p>
<p>The resource ID format is as follows:</p>
<p>&#8216;Communication/Board Type (USB, GPIB, etc.)::Resource Information (Vendor ID, Product ID, Serial Number, IP address, etc..)::Resource Type&#8217;</p>
<p>In the response, each resource is separated by a comma. So, we have three resources listed in this example:</p>
<p>&#8216;USB0::0x0483::0x7540::SPD3XGB4150080::INSTR&#8217; &#8211; This is a power supply (SPD3X) connected via USB (USB0)</p>
<p>&#8216;USB0::0xF4EC::0x1301::SVA1XEAX2R0073::INSTR&#8217; &#8211; This is a vector network analyzer (SVA1X) connected via USB (USB0)</p>
<p>&#8216;TCPIP0::192.168.55.122::inst0::INSTR&#8217; &#8211; This is an instrument connected via LAN using a TCPIP connection at IP address 192.168.55.122</p>
<p>The post <a href="https://siglentna.com/application-note/programming-example-list-connected-visa-compatible-resources-using-pyvisa/">Programming Example: List connected VISA compatible resources using PyVISA</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Programming Example: Open Socket LAN connection using Python</title>
		<link>https://siglentna.com/application-note/open-socket-lan-python/</link>
		
		<dc:creator><![CDATA[visia_admin]]></dc:creator>
		<pubDate>Fri, 20 Oct 2017 21:03:41 +0000</pubDate>
				<guid isPermaLink="false">http://siglentna.com/?post_type=application-notes&#038;p=2481</guid>

					<description><![CDATA[<p>Automating a test can dramatically increase the productivity, throughput, and accuracy of a process. Automating a setup involves connecting a computer to the test instrumentation using a standard communications bus like USB or LAN and then utilizing code entered via a software layer (like LabVIEW, .NET, Python, etc..) to sequence the specific instrument commands and &#8230; <a href="https://siglentna.com/application-note/open-socket-lan-python/">Continued</a></p>
<p>The post <a href="https://siglentna.com/application-note/open-socket-lan-python/">Programming Example: Open Socket LAN connection using Python</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Automating a test can dramatically increase the productivity, throughput, and accuracy of a process. Automating a setup involves connecting a computer to the test instrumentation using a standard communications bus like USB or LAN and then utilizing code entered via a software layer (like LabVIEW, .NET, Python, etc..) to sequence the specific instrument commands and process data.</p>
<p>In this note, we are going to show how to use Python to create a communications link between an instrument and a remote computer using a LAN connection. Once the connection is verified, you can begin to work on the control software.</p>
<p><strong>NOTE:</strong> This example requires open sockets on the instrumentation. At this time, not all SIGLENT products feature open sockets. Check the product page FAQs or with your local SIGLENT support office for more information.</p>
<p>Python is an interpreted programming language that lets you work quickly and is very portable. Python has a low-level networking module that provides access to the socket interface. Python scripts can be written for sockets to do a variety of test and measurements tasks.</p>
<p>Here is a Python 2.7 script that opens a socket, sends a query and closes the socket. It performs this operation in a loop 10 times:</p>
<p><a href="http://siglentna.com/wp-content/uploads/2017/10/PythonSocket_052018.zip">PythonSocket_052018</a></p>
<p>You can follow the instructions below to build your own example:</p>
<hr />
<p>1. Power on and connect the instrument to the network via LAN</p>
<p>2. Verify that the Gateway, Subnet Mask, and IP address of the instrument are valid for the network you wish to use. This information is typically located in the System Information or IO menu. See the specific instrument user’s guide for more information on LAN settings.</p>
<p>3. Download python and your favorite python editor (I use IDLE):</p>
<p><a href="https://www.python.org/" target="_blank" rel="noopener noreferrer">https://www.python.org/</a></p>
<p><a href="https://docs.python.org/2/library/idle.html" target="_blank" rel="noopener noreferrer">https://docs.python.org/2/library/idle.html</a></p>
<p>Start your python editor:</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-2482" src="http://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-1.png" alt="" width="84" height="97" /></p>
<p>5. Open a new file by pressing File &gt; New File.. and name the file</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-2483" src="http://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-2.png" alt="" width="838" height="382" srcset="https://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-2.png 838w, https://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-2-600x274.png 600w, https://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-2-300x137.png 300w, https://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-2-768x350.png 768w" sizes="auto, (max-width: 838px) 100vw, 838px" /></p>
<p>6. Copy and paste the code at the end of this note into the file editing window:</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-2484" src="http://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-3.png" alt="" width="671" height="328" srcset="https://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-3.png 671w, https://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-3-600x293.png 600w, https://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-3-300x147.png 300w" sizes="auto, (max-width: 671px) 100vw, 671px" /></p>
<p>7. Change the IP address and port number so that they match the IP address and port for the instrument you wish to connect to:</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-2485" src="http://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-4.png" alt="" width="671" height="328" srcset="https://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-4.png 671w, https://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-4-600x293.png 600w, https://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-4-300x147.png 300w" sizes="auto, (max-width: 671px) 100vw, 671px" /></p>
<p>Save the file:</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-2486" src="http://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-5.png" alt="" width="845" height="318" srcset="https://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-5.png 845w, https://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-5-600x226.png 600w, https://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-5-300x113.png 300w, https://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-5-768x289.png 768w" sizes="auto, (max-width: 845px) 100vw, 845px" /></p>
<p>8. To Run, select Run and Run Module:</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-2487" src="http://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-6.png" alt="" width="682" height="190" srcset="https://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-6.png 682w, https://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-6-600x167.png 600w, https://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-6-300x84.png 300w" sizes="auto, (max-width: 682px) 100vw, 682px" /></p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-2488" src="http://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-7.png" alt="" width="673" height="487" srcset="https://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-7.png 673w, https://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-7-600x434.png 600w, https://siglentna.com/wp-content/uploads/2017/10/PythonComTest_042017-7-300x217.png 300w" sizes="auto, (max-width: 673px) 100vw, 673px" /></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>The post <a href="https://siglentna.com/application-note/open-socket-lan-python/">Programming Example: Open Socket LAN connection using Python</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Testing Open Socket Communications Using PuTTY</title>
		<link>https://siglentna.com/application-note/testing-open-socket-communications-using-putty/</link>
		
		<dc:creator><![CDATA[visia_admin]]></dc:creator>
		<pubDate>Thu, 19 Oct 2017 19:46:42 +0000</pubDate>
				<guid isPermaLink="false">http://siglentna.com/?post_type=application-notes&#038;p=2282</guid>

					<description><![CDATA[<p>Many instruments include the ability to be controlled via a remote connection to a computer using an Ethernet connection. In many cases, these instruments require a special software library that can help establish and maintain the communications link between the instrument and controlling computer. This can be annoying for a few reasons… the software library &#8230; <a href="https://siglentna.com/application-note/testing-open-socket-communications-using-putty/">Continued</a></p>
<p>The post <a href="https://siglentna.com/application-note/testing-open-socket-communications-using-putty/">Testing Open Socket Communications Using PuTTY</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Many instruments include the ability to be controlled via a remote connection to a computer using an Ethernet connection. In many cases, these instruments require a special software library that can help establish and maintain the communications link between the instrument and controlling computer. This can be annoying for a few reasons… the software library is likely to occupy a large amount of space on the controlling computer and is also required on any computer that is being used to control the instrument. In a remote networking application where multiple user’s may want access to a test instrument, this can cause support and installation headaches.</p>
<p>Luckily, there are a few solutions that can help. In this application note, we are going to discuss using open socket communication techniques using an open source communication tool called PuTTY with a SIGLENT SSA3032X Spectrum Analyzer.</p>
<h2>What are open sockets and why use them?</h2>
<p>Within the context of Ethernet/LAN connections, sockets are like mailboxes. If you want to deliver information to a specific place, you need to be sure that your information is delivered to the correct address.</p>
<p>In the context of test instrumentation, an open socket is a fixed address (or port number) on the Ethernet/LAN bus that is dedicated to process remote commands.</p>
<p>Open sockets allow remote computers to simply use existing raw Ethernet connections for communications without having to add additional libraries (VISA or similar) that require additional storage space and processing overhead.</p>
<p>Programs that utilize sockets for LAN communication tend to take up less memory and operate more quickly.</p>
<h2>PuTTY</h2>
<p>PuTTY is an open source software tool that provides a number of simple communication links (RAW, Telnet, SSSH, Serial, and others). It is available for free and there are a number of versions available for popular operating systems.</p>
<p>You can download as well as learn more here: http://www.putty.org/</p>
<p>In this example, we are using PuTTY to verify the raw LAN connection is working properly. It is quite a simple program that does not allow for very complex operation (sequences, converting data sets/strings, etc..). If you require more complex functionality, software platforms like Python, .NET, C#, LabVIEW, etc.. can be used to control the instrument using a similar open socket connection.</p>
<h2>Configuration</h2>
<p>In this test, we are using the most current revision of the SIGLENT SSA3032X Spectrum Analyzer firmware (Revision 01.02.08.02) which enables open socket communication.</p>
<p>This example also uses PuTTY version 0.67:</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-2288 size-full" src="https://siglentna.com/wp-content/uploads/2017/10/testing-using-PuTTY.png" alt="PuTTY version 0.67" width="244" height="112" /></p>
<h2>Steps</h2>
<p>1. Install PuTTY for the OS you intend to use</p>
<p>2. Make sure your instrument and firmware revision can use open sockets</p>
<p>The SSA3032X revision 01.02.08.02 enables open socket communication.</p>
<p>To find the revision, press the System button &gt; Sys Info.</p>
<p>Figure 1 below shows a sample system information screen from a SIGLENT SSA3000X analyzer:</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-2287 size-full" src="https://siglentna.com/wp-content/uploads/2017/10/testing-using-PuTTY2.png" alt="SSA3032X spectrum analyzer screen" width="399" height="237" srcset="https://siglentna.com/wp-content/uploads/2017/10/testing-using-PuTTY2.png 399w, https://siglentna.com/wp-content/uploads/2017/10/testing-using-PuTTY2-300x178.png 300w" sizes="auto, (max-width: 399px) 100vw, 399px" /></p>
<p>Check the product page and firmware release notes for more information.</p>
<p>3. Connect the instrument to the local area using an Ethernet cable</p>
<p>4. Find the IP address for the instrument. This is typically located in the System Information menu. On the SIGLENT SSA3032X, press the System button on the front panel &gt; Interface &gt; LAN.</p>
<p>Figure 2 below shows a sample LAN setup page from a SIGLENT SSA3000X:</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-2286 size-full" src="https://siglentna.com/wp-content/uploads/2017/10/testing-using-PuTTY4.png" alt="SSA3032X spectrum analyzer LAN setup" width="398" height="235" srcset="https://siglentna.com/wp-content/uploads/2017/10/testing-using-PuTTY4.png 398w, https://siglentna.com/wp-content/uploads/2017/10/testing-using-PuTTY4-300x177.png 300w" sizes="auto, (max-width: 398px) 100vw, 398px" /></p>
<p>5. Open PuTTY</p>
<p>6. Select Raw as connection type</p>
<p>7. Enter the IP address in the Host Name field</p>
<p>8. Enter the port number. This should be provided in the users or programming guide for the instrument.</p>
<p>The SIGLENT SSA3000X Spectrum Analyzer uses port 5025.</p>
<p>Figure 3 below shows the PuTTY configuration for this example:</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-2285 size-full" src="https://siglentna.com/wp-content/uploads/2017/10/testing-using-PuTTY8.png" alt="PuTTY configuration" width="279" height="272" /></p>
<p>9. Press Open. This will open a terminal window as shown in below:</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-2284 size-full" src="https://siglentna.com/wp-content/uploads/2017/10/testing-using-PuTTY9.png" alt="PuTTY terminal window" width="404" height="257" srcset="https://siglentna.com/wp-content/uploads/2017/10/testing-using-PuTTY9.png 404w, https://siglentna.com/wp-content/uploads/2017/10/testing-using-PuTTY9-300x191.png 300w" sizes="auto, (max-width: 404px) 100vw, 404px" /></p>
<p>10. Using the computer keypad, enter *IDN? and press the Enter key on the keyboard to send the command.</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-2283 size-full" src="https://siglentna.com/wp-content/uploads/2017/10/testing-using-PuTTY10.png" alt="Request the identification string from the instrument" width="393" height="253" srcset="https://siglentna.com/wp-content/uploads/2017/10/testing-using-PuTTY10.png 393w, https://siglentna.com/wp-content/uploads/2017/10/testing-using-PuTTY10-300x193.png 300w" sizes="auto, (max-width: 393px) 100vw, 393px" /></p>
<p>This is the standard command string that is used to request the identification string from the instrument. As shown below, the instrument responds with the manufacture, product ID, Serial Number, and firmware revision.</p>
<h2>Conclusion</h2>
<p>PuTTY is an easy way to verify an operational LAN connection to instrumentation that can use open sockets.</p>
<p>The post <a href="https://siglentna.com/application-note/testing-open-socket-communications-using-putty/">Testing Open Socket Communications Using PuTTY</a> appeared first on <a href="https://siglentna.com">Siglent</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
