Is there unified software to control scope, signal gen, and power supply? - Page 1
Forum section: electronics / testgear

author: larrybud
author_rank: Contributor
timestamp: January 28, 2024, 02:08:08 am
content: Hobbyist here. I've either accidentally or unknowingly turned into a Siglent fanboy, and have the 1104xe scope, the sdg1032 signal generator, and the spd3303c power supply which I've acquired all in the last 3 years or so.I decided to mess around with remote connectivity and got the lan connection working for the scope and signal gen, and hooked the power supply up via usb (there is no lan connection).I installed the NI-VISA layer, easyscope, easy wave, and easy power. I find easyscope to be pretty clunky so I use the web interface.My question is, it seems kinda silly that there's separate software for each of these devices. Is there any software available to incorporate all of these under one umbrella? Siglent, if you're listening, why not combine all of these into one? Any 3rd party application which can accomplish this?

author: nctnico
author_rank: Super Contributor
timestamp: January 28, 2024, 02:15:22 am
content: This has been attempted but failed in many ways many times. Especially free software provided by manufacturers is utterly useless.If you want to automate measurements, look into using Python (py-visa) and make sure to install the visa backend that doesn't need the crap from NI. With Python it is pretty easy to put custom user interfaces, plots, etc together.

author: larrybud
author_rank: Contributor
timestamp: January 28, 2024, 03:01:51 am
content: Yeah, I was looking to do it in .net since I'm a .net developer. It's crazy that this isn't an option.All the interfaces look like they were made in Borland C in 1995 for windows 3.1.

author: tautech
author_rank: Super Contributor
timestamp: January 28, 2024, 03:17:39 am
content: Quote from: larrybud on January 28, 2024, 03:01:51 amGo looking here for the drivers available:https://int.siglent.com/download/drivers/You can find the programming manuals here:https://int.siglent.com/download/documents/The PSU has the command set in the user manual.

author: slugrustle
author_rank: Frequent Contributor
timestamp: January 28, 2024, 03:53:46 am
content: I've used Rohde & Schwarz's VISA library, which is royalty free (if memory serves) and C++ to do stuff like this. R&S's VISA library also has a .NET interface.https://www.rohde-schwarz.com/us/applications/r-s-visa-application-note_56280-148812.htmlThe documentation ended up in C:\Program Files (x86)\Rohde-Schwarz\RsVisa on my system after I ran the installer.

author: slugrustle
author_rank: Frequent Contributor
timestamp: January 28, 2024, 03:59:47 am
content: Quote from: larrybud on January 28, 2024, 03:01:51 amThis is why SCPI is still accessible—it's older. Had SCPI been invented recently, it would be like USB: Thousands of pages of manuals and standards and effectively inaccessible to a single ordinary hobbyist without tons of middleware layers.I was so happy when a coworker told me about SCPI when I was looking to automate some tests at work. I looked it up and thought, "it's just ASCII strings over serial! I know how to interface with this!". After I did some pretty spiffy stuff with C++, some serial cables, and SCPI, my manager said they were going to go with very expensive National Instruments / Labview setups because the C++ code I wrote would be too hard for the test engineers they had subsequently hired to modify / adapt. NI has the test automation market cornered.But I'm soooo happy SCPI is still kicking around for interested people to use, and we're not all stuck paying for labview licenses to perform simple test automation tasks.

author: tautech
author_rank: Super Contributor
timestamp: January 28, 2024, 04:18:33 am
content: There's plenty of tips on how to use SCPI commands for remote control in the App notes:https://siglentna.com/application-notes/Further here:https://int.siglent.com/resource/

author: abeyer
author_rank: Frequent Contributor
timestamp: January 28, 2024, 04:52:51 am
content: Quote from: larrybud on January 28, 2024, 03:01:51 amhttps://github.com/klasyc/ScpiNet

author: larrybud
author_rank: Contributor
timestamp: January 29, 2024, 04:37:40 am
content: Some good stuff here!I don't really care about the protocol, it's the GUI and integration that is severely lacking.

author: Darkover
author_rank: Regular Contributor
timestamp: January 29, 2024, 06:04:25 am
content: Quote from: slugrustle on January 28, 2024, 03:59:47 amI agree by 101% to this! It is so easy to write a fast program in plain C to test something.And another reason why no special software exist, if it is made by a company all people hasto use the device from this company, but my device are from many different companysOlaf

author: dobsonr741
author_rank: Frequent Contributor
timestamp: January 29, 2024, 03:36:04 pm
content: If you want all your gear working in tandem without too much code there is LabView.https://www.ni.com/en/shop/labview.htmlNot my fav, I prefer Jupyter notebooks and PyVisa.Oh, and just ask Copilot or GPT4 to write the code for you.

author: larrybud
author_rank: Contributor
timestamp: January 29, 2024, 11:25:53 pm
content: For generic software, you would have a library of functions and configuration pertaining to the model selected, mapping to the functions in the UI. If the hardware doesn't support a specific function, you would hide it in the UI.For example, if you have a power supply, it might be 1,2, or 3 channels. In the config for the model you have, it would define the number of channels, and the UI would be generated appropriately to match that configuration. If the voltage range is -/+ 10V, then the UI wouldn't let you set anything beyond that, etc.I'm going to talk myself into writing something, aren't I?

author: tautech
author_rank: Super Contributor
timestamp: January 29, 2024, 11:33:56 pm
content: LXI tools.https://siglentna.com/application-note/lxi-tools/Development here:https://www.eevblog.com/forum/testgear/open-source-lxi-tools-and-liblxi-v1-0-released-for-gnulinux/Latest version:https://www.eevblog.com/forum/testgear/open-source-lxi-tools-v2-0-released/

author: nctnico
author_rank: Super Contributor
timestamp: January 30, 2024, 11:51:43 am
content: Quote from: Darkover on January 29, 2024, 06:04:25 amBeing mostly a C programmer myself, I can highly recommend using Python. Even with the learning curve, Python is much more effective compared to using C for automating measurements and dealing with the data (displaying, saving). I wrote some a relatively simple script to automate EMC measurements. Writing the same in C (well, C++) would have taken 10 times more lines of code and 50 times more time to develop.

author: larrybud
author_rank: Contributor
timestamp: February 04, 2024, 01:49:01 am
content: Quote from: tautech on January 29, 2024, 11:33:56 pmOk cool. Might have to see if I can get this running on my orangePi rather than setting up a VM in windows. Thanks!

author: alm
author_rank: Super Contributor
timestamp: February 04, 2024, 05:19:18 pm
content: A problem with making such generic software is that probably don't want to sample and control all instruments the same way. You might want to perform parametric measurements with the scope, while having the function generator produce a constant output but while sweeping the power supply voltage. Or maybe you want the power supply to output a constant voltage but want to test at different amplitudes from the signal generator and save the waveform recorded by the scope. So any such program needs some level of programmability. lxi-tools uses lua scripting for this.National InstrumentsSignalExpresswas an attempt at a GUI, but clearly it wasn't very successful as it wasdiscontinued. Most people that have these kinds of need will end up writing their own programs using whatever tools (Python, LabVIEW, etc) eventually because they need more flexibility that the standard tools offer. If visualization is important, then using a Jupyter notebook likethiscan be useful.

author: jan28
author_rank: Contributor
timestamp: February 05, 2024, 06:05:38 pm
content: I like EEZ studio (https://www.envox.eu/studio/studio-introduction/) for controlling multiple instruments via SCPI. The visual environment allows you to create dashboards controlling multiple instruments at the same time/make calculations/etc. It has a learning curve.If a low-code UI is your cup of tea is up to you. I like it.PS. For siglent instruments make sure the SCDP is recognised as a query, this allows you todownload screenshots in the SCPI termial.

author: colorado.rob
author_rank: Frequent Contributor
timestamp: February 05, 2024, 07:53:19 pm
content: Quote from: dobsonr741 on January 29, 2024, 03:36:04 pmCompletely agree here. So much can be done with these two tools. Being both control the instruments and quickly graph measurement data retrieved from those instruments is what makes this combo so powerful.

author: jjoonathan
author_rank: Frequent Contributor
timestamp: February 06, 2024, 10:40:09 pm
content: Yeah, Jupyterlab is the way! Add a vxi11-compatible ethernet-GPIB bridge and you suddenly have zero dependence on Windows and multi-GB driver install packages that sometimes kill Windows.The graphs and interactive widgets are great and the notebook-based workflow is really good for providing a continuous trajectory between "screwing around," "documented procedure for the technically adept," "distributable library," and "webapp." Python isn't great at desktop GUIs, but I've done them with PyInstaller and PySide in a pinch.Video Example:https://www.youtube.com/watch?v=dygVTmiumYU&t=356sWeb Example:https://jjoonathan.github.io/FX.html

author: nctnico
author_rank: Super Contributor
timestamp: February 07, 2024, 07:13:53 am
content: Quote from: colorado.rob on February 05, 2024, 07:53:19 pmHow much programming is needed? Mathplotlib gives you a GUI based plot with just a few lines of Python code without needing to do anything GUI related programming.

author: Berni
author_rank: Super Contributor
timestamp: February 07, 2024, 08:52:02 am
content: I have not seen any good GUI software for doing simple SCPI automation (No i don't like LabView)But yes SCPI is basically "ASCII over a serial port" so it makes it easy to write your own software in whatever language you like. I would NOT recommend using C and similar low level ones for that since string manipulation is a pain in those. More modern languages let you get stuff coded a lot faster with less lines of code. I like to use .net for that since it makes a GUI really easy. But Python is also great for when you want to simply run it from a console or work on Linux.I would still recommend installing a VISA library. You get the choice from all the big manufacturers NI, Keysight, Rigol, R&S..etc The reason you want it is that it simplifies connection to the instrument where you just open a VISA device by name and it works. Does not matter if it is over USB, RS232, Ethernet, GPIB, PXI over PCIe, GPIB-Ethernet bridge etc... it just magically connects when called by name.You can mix and match VISA libraries and equipment manufacturers, so pick whatever one you like. I prefer the Keysight one (they call it "Keysight IO") since it lets you also spy on the SCPI traffic and inject commands for debug, also has a decent GUI for setting things up.https://www.keysight.com/de/de/lib/software-detail/computer-software/io-libraries-suite-downloads-2175637.html

author: raphaelcasimir
author_rank: Contributor
timestamp: February 17, 2025, 04:49:48 pm
content: I also recommend Pythonhttps://pyvisa.comespecially withhttps://openhtf.comif you plan to automate your sequences further.