Products > Test Equipment

SCPI: How popular is it among you?

(1/6) > >>


I am contemplating the implementation of SCPI to my "VMA Simple Spectrum Analyser" software, which is available in versions for SMA/NWT/D6/LTDZ, Siglent SSA, HP 859X and R&S CMU200/CRTU.

The idea would be to implement a telnet server on a given port, where the user can talk to the software with SCPI commands.

Obviously, implementing this is a lot of work. The main reason of doing it would be for educational purposes: my software can be used by students on cheap devices (<100 Euro) and having support for SCPI sounds interesting to me.

But I wonder, how popular SCPI really is among professionals using test equipment? Do you write your own scripts with SCPI commands? Do you use it a lot? Or is SCPI only used by few of you and only to capture the data to i.e. Excel?

Would you program scripts in VB or Matlab, using SCPI as a standard interface?

Any further comments on this?


It's the de facto in the instruments industry.  SCPI can be implemented over different interfaces, I've seen it over GPIB, Serial, USB, LAN or WiFi.  Since you thought about telnet, I guess you plan to go with LAN.  You may want to read about LXI, VISA, VXI11, maybe to IVI, too, which is the highest abstraction level, at IVI level one doesn't need to know the model/manufacturer of an instrument, only the class.  I didn't check, but I guess there is a VNA class defined already  <-- no VNA class here , might be good, though IVI might only make sense in the industry of automated tested, not for a small VNA.

If your instrument has Linux, that would be a great plus, you'll have most of the components ready as libraries.

There are a few open source projects already, might be of a great help than starting from scratch.

Implementing SCPI depends on the level of perfection required.
If you leave out all the syntactic sugar it can successfully implemented on AVR Arduinos without problems.

See here:

For controlling this (and other brands like Rigol, Keysight, Tektronix or R&S) I use VISA and Python. That works really well.

When implementing SCPI : go read the documentation first. Don't just start inventing new commands. Think about what to put in what branches of the tree. ( many branches are defined).

That being said : been using SCPI since the 90's. First on 34401 and Keithley 2400 machines later on all kinds of stuff.
do implement the * commands as well.
Other very important commands :  the one where you can retrieve an entire setup as a single command string to send it back. This basically lets you fetch the entire current configuration of the device as a single ascii string. You can later send that back to the device. this is very useful when creating programs. you can set up the machine using the front panel and once you got it exactly set right simply 'capture' the state. That works better than trying to figure out the entire sequence by sending commands one by one.

SCPI is the standard, and what I use for most instrument communication. However, it is uncommon to implement it over telnet (some devices do like Siglent).

Lately, I've been using python for instrument control, but in the past have used C#, C, LabView, and HP Vee. These mostly use the VISA API to communicate with the instruments. I compose the actual SCPI commands in my software (and don't have experience using the IVI driver abstraction models).

Instead of telnet, I'd suggest using HiSLIP v2 (which includes security provisions), or VXI-11. These will more seamlessly interact with the VISA libraries than telnet does. VXI-11 might be trickier to implement, since it requires a Sun RPC server...

(For fun, I implemented VXI-11 in python, though I never actually did anything with it... my plan was a VXI proxy for instruments that did not natively support USBTMC, VXI, or GPIB....).


[0] Message Index

[#] Next page

There was an error while thanking
Go to full version