Author Topic: Lack of SCPI compliance (Siglent, etc...)  (Read 3189 times)

0 Members and 3 Guests are viewing this topic.

Offline sequoiaTopic starter

  • Supporter
  • ****
  • Posts: 155
  • Country: us
Lack of SCPI compliance (Siglent, etc...)
« on: January 02, 2022, 10:57:11 pm »
It seems quite common for 'cheap' instrument manufacturers to advertise SCPI, but not actually implement it (?)

Siglent being a good example, datasheets list "SCPI" in main features, but when you look actual (programming) manual
its pretty clear that instrument doesn't comply with SCPI specs...

Rigol seems bit better, they actually often implement all the common commands... And GW-Instek seems to at least admit in the manual "partical compliance" when instrument doesnt fully comply with SCPI...





 

Offline Helix70

  • Supporter
  • ****
  • Posts: 320
  • Country: au
  • VK4JNA
Re: Lack of SCPI compliance (Siglent, etc...)
« Reply #1 on: January 03, 2022, 04:59:25 am »
Which SCPI spec doesn't Siglent comply with?
 

Offline sequoiaTopic starter

  • Supporter
  • ****
  • Posts: 155
  • Country: us
Re: Lack of SCPI compliance (Siglent, etc...)
« Reply #2 on: January 03, 2022, 06:45:33 am »
Which SCPI spec doesn't Siglent comply with?

I haven't come across a single instrument from Siglent that supports mandatory IEEE 488.2 commands (maybe someone can prove me wrong...) or status registers.

SCPI specification (4.1.1) clearly says: "All SCPI instruments shall implement all the common commands declared mandatory by IEEE 488.2"





Seems more like Siglent supports some "SCPI style" commands and that's it. So borderline false advertising to list SCPI in specifications...

« Last Edit: January 03, 2022, 06:48:28 am by sequoia »
 

Offline rf-loop

  • Super Contributor
  • ***
  • Posts: 4160
  • Country: fi
  • Born in Finland with DLL21 in hand
Re: Lack of SCPI compliance (Siglent, etc...)
« Reply #3 on: January 03, 2022, 02:10:19 pm »
Which SCPI spec doesn't Siglent comply with?

SCPI specification (4.1.1) clearly says: "All SCPI instruments shall implement all the common commands declared mandatory by IEEE 488.2"


How about HPAK. Do you also say: Borderline false advertising to list SCPI in specifications...
....and this come from whole HP-IB/GP-IB-IEE488 bus mother.

Quote from: Agilent 3000 Series Oscilloscopes Programmer’s Reference
Common commands are defined by the IEEE 488.2 standard.
They control generic device functions that are common to many different types of instruments. Common commands can be received and processed by the oscilloscope, whether they are sent over the GPIB as separate program messages or within other program messages.

The common commands implemented in the 3000 Series oscilloscopes are:
*CLS
*IDN?
*OPC?
*RST

As you can see not all common commands implemented. Do you say: "Seems more like Siglent Agilent (Keysight today) supports some "SCPI style" commands and that's it. So borderline false advertising to list SCPI in specifications..."

Or what?



And then importantly.
By this I am not trying to say at all that Siglent does not need to improve the implementation and documentation of SCPI. Yes they have to do. They should also strive for better than some others. It doesn’t work by mimicking these some others. In fact, almost everything needs to be improved - of course. It is also done constantly. Product development is never complete, and nothing else. Be it Siglent, Keysight or someone else.
EV of course. Cars with smoke exhaust pipes - go to museum.
Wises must compel the mad barbarians to stop their crimes against humanity. Where have the (strong)wises gone?
 

Online 2N3055

  • Super Contributor
  • ***
  • Posts: 8731
  • Country: hr
Re: Lack of SCPI compliance (Siglent, etc...)
« Reply #4 on: January 03, 2022, 02:33:38 pm »
It seems quite common for 'cheap' instrument manufacturers to advertise SCPI, but not actually implement it (?)

Siglent being a good example, datasheets list "SCPI" in main features, but when you look actual (programming) manual
its pretty clear that instrument doesn't comply with SCPI specs...

Rigol seems bit better, they actually often implement all the common commands... And GW-Instek seems to at least admit in the manual "partical compliance" when instrument doesnt fully comply with SCPI...

What exact devices and what commands are not implemented? Please be more specific. If there are problems, they need fixing.

For instance, there are many devices without GPIB interface whatsoever. They implement SCPI commands over Ethernet for instance.
Why (and how? ) would those devices support GPIB registers and status related commands. So that is in the standard but is non applicable in that particular case.

As RF-loop said, I don't think there are many manufacturers that support full IEEE 488.2 in a first place, usually only a part that applies, and is useful to them.
I would not like for manufactures to waste time to implement bogus command handlers that will return nonsensical data, just to satisfy some standards, even if it doesn't make sense at all??

So, like RF-loop said nicely, if you find a command that is applicable to instrument in question and would be useful, please report it here in form: Instrument type, Firmware ver, command that is missing.
So Siglent can look into it and fix if there is a problem.  That would be great service to Siglent users, and Siglent would actually appreciate it. From what I know, they like quality feedback from users. It helps them to make better products and makes users happy. Win-win.

Best,
"Just hard work is not enough - it must be applied sensibly."
Dr. Richard W. Hamming
 

Offline bson

  • Supporter
  • ****
  • Posts: 2755
  • Country: us
Re: Lack of SCPI compliance (Siglent, etc...)
« Reply #5 on: January 03, 2022, 03:35:21 pm »
SCPI specification (4.1.1) clearly says: "All SCPI instruments shall implement all the common commands declared mandatory by IEEE 488.2"
"... except that section 4.1 IEEE 488.1 Requirements shall be omitted where an instrument does not implement an IEEE 488.1 interface."

What does "section 4.1 IEEE 488.1 Requirements" say?  Clearly the Siglents do not implement an IEEE 488.1 interface.
I don't have access to that document on IEEEExploder.
 

Online tv84

  • Super Contributor
  • ***
  • Posts: 3580
  • Country: pt
Re: Lack of SCPI compliance (Siglent, etc...)
« Reply #6 on: January 03, 2022, 03:46:14 pm »
I haven't come across a single instrument from Siglent that supports mandatory IEEE 488.2 commands (maybe someone can prove me wrong...) or status registers.

That is a very strong and false statement as I haven't found a Siglent instrument that doesn't support *IDN?, which is one of such commands.

Just looking at this recent post we can see many of the mandatory commands being accepted by Siglent's SVA (for example).

In another example, the attached image clearly shows the implementation of ALL mandatory commands on the latest SDS2k+,5k,6k app.
« Last Edit: January 03, 2022, 04:40:22 pm by tv84 »
 
The following users thanked this post: radiolistener

Offline sequoiaTopic starter

  • Supporter
  • ****
  • Posts: 155
  • Country: us
Re: Lack of SCPI compliance (Siglent, etc...)
« Reply #7 on: January 04, 2022, 06:50:02 am »
I haven't come across a single instrument from Siglent that supports mandatory IEEE 488.2 commands (maybe someone can prove me wrong...) or status registers.

That is a very strong and false statement as I haven't found a Siglent instrument that doesn't support *IDN?, which is one of such commands.


How is it a false statement exactly?  Supporting "*IDN?" doesn't quite mean instrument supports all the mandatory commands, just that it support one of those commands.
I guess I should have explicitly said '*all* mandatory IEEE 488.2 commands'....


I haven't looked all Siglent instruments certainly (as I said earlier), only worked on some PSUs (SPD3033X), and it was bit of a surprise that they didn't seem to support some even some of the useful (and common) commands like *OPC?, *RST, *CLS
I've also looked into their DMMs and programming manual for SDM3065X lists only three commands (*RST, *IDN?, *CLS), that's bit better but lack of *OPC? is pretty terrible....


But based on that source excerpt(?) that you posted, seems like this is not case with all of their instruments, good to know. 
(Although looking "SDS2000X-Plus" programming manual, it only lists three of the mandatory commands, but seems like units still support all of them even if they're not documented?)



 

Offline sequoiaTopic starter

  • Supporter
  • ****
  • Posts: 155
  • Country: us
Re: Lack of SCPI compliance (Siglent, etc...)
« Reply #8 on: January 04, 2022, 07:19:28 am »
Quote from: Agilent 3000 Series Oscilloscopes Programmer’s Reference
Common commands are defined by the IEEE 488.2 standard.
They control generic device functions that are common to many different types of instruments. Common commands can be received and processed by the oscilloscope, whether they are sent over the GPIB as separate program messages or within other program messages.

The common commands implemented in the 3000 Series oscilloscopes are:
*CLS
*IDN?
*OPC?
*RST

As you can see not all common commands implemented. Do you say: "Seems more like Siglent Agilent (Keysight today) supports some "SCPI style" commands and that's it. So borderline false advertising to list SCPI in specifications..."

Or what?

I guess it's normal for all manufacturers not to implement full SCPI specification (not just 'small' brands)....
I was wrong to assume the big players would implement the spec....

Keysight, Keithley, etc... seem to support all the essential 'mandatory' commands *CLS, *IDN?, *OPC?, *RST
Those are the commands that one tends to need to be able to be efficiently and reliably control instruments using SCPI.


Too bad, that "SCPI" doesn't really mean much in product datasheets... 
But seems like quick look on programming manual and checking if *OPC? is implemented, gives rather good indication if unit has decent remote control capability or not.

 

Offline lundmar

  • Frequent Contributor
  • **
  • Posts: 443
  • Country: dk
Re: Lack of SCPI compliance (Siglent, etc...)
« Reply #9 on: January 04, 2022, 07:42:53 am »
It is quite normal that test instruments do not implement all IEEE 488.2 Common Commands, especially lower cost test instruments. They are not SCPI compliant but merely SCPI compatible to some extend.

This is similar to the way many test instruments are not LXI certified but merely LXI compatible to some extend. Manufacturers simply want to save time and money and only provide what most users need. Taking the last steps towards 100% compliance is costly. Hence compliance for cheap instruments simply can't be expected.

Heck, even some expensive test instruments do not come LXI certified. I recently bought a very expensive Rohde&Schwarz NGM202 DC power supply and the user manual simply says "The R&S NGL/NGM comes with
a USB and LAN (LXI) interface" and there is no LXI logo on the instrument, meaning no certification, implying also not necessarily SCPI compliant.

I think only a few companies like Keysight insists on 100% compliance, but of course, they are also the most costly.

I'll do a shameless plug for the tool (lxi-gui) I'm developing right now which features all of the IEEE 488.2 Common Commands as revised in 1992. Includes both mandatory and optional commands:


« Last Edit: January 04, 2022, 07:51:07 am by lundmar »
https://lxi-tools.github.io - Open source LXI tools
https://tio.github.io - A simple serial device I/O tool
 

Online 2N3055

  • Super Contributor
  • ***
  • Posts: 8731
  • Country: hr
Re: Lack of SCPI compliance (Siglent, etc...)
« Reply #10 on: January 04, 2022, 08:53:11 am »
Quote from: Agilent 3000 Series Oscilloscopes Programmer’s Reference
Common commands are defined by the IEEE 488.2 standard.
They control generic device functions that are common to many different types of instruments. Common commands can be received and processed by the oscilloscope, whether they are sent over the GPIB as separate program messages or within other program messages.

The common commands implemented in the 3000 Series oscilloscopes are:
*CLS
*IDN?
*OPC?
*RST

As you can see not all common commands implemented. Do you say: "Seems more like Siglent Agilent (Keysight today) supports some "SCPI style" commands and that's it. So borderline false advertising to list SCPI in specifications..."

Or what?

I guess it's normal for all manufacturers not to implement full SCPI specification (not just 'small' brands)....
I was wrong to assume the big players would implement the spec....

Keysight, Keithley, etc... seem to support all the essential 'mandatory' commands *CLS, *IDN?, *OPC?, *RST
Those are the commands that one tends to need to be able to be efficiently and reliably control instruments using SCPI.


Too bad, that "SCPI" doesn't really mean much in product datasheets... 
But seems like quick look on programming manual and checking if *OPC? is implemented, gives rather good indication if unit has decent remote control capability or not.

First thing first,  I tried on all instruments i have from them and they do implement *OPC? command. And RST and CLS and all others..

Second thing is that I never use *OPC? because I don't have use for instruments executing sequential controls asynchronously. I execute commands one by one from program so I have control of timing. When you are NOT on GPIB, there is no bus contention and you don't care who holds the bus, and under GPIB, *OPC and *OPC? will hold the bus which negates any benefits of asynchronous execution..

Your rigid insistence to follow specification to the letter, even if it doesn't make sense is kinda interesting. What is purpose of that? In SCPI specification it says instruments should implement command if it makes sense for them. Providing readout command on an instrument that has no measurement capabilities is useless. Providing GPIB related commands on Ethernet makes no sense.

To sumarize, all instruments I have here to try from Siglent implement all of the basic commands (this is from power supply):

IEEE Common Command Subsystem
*IDN?
*RST
*CLS
*ESE
*ESE?
*ESR?
*OPC
*OPC?
*SRE
*SRE?
*STB?
*TST?
*WAI

I did check SPD3000X manual and they do not implement all commands. That is true. It has basic ones as *IDN?, *RST, *TST?. Others are not used much by people apparently..

But  I agree that your blanket statement that NONE of Siglent instruments implement full SCPI is completely wrong.
In fact only minority does not. And frankly nobody noticed it until now, including me..
I guess it is not so important after all...
"Just hard work is not enough - it must be applied sensibly."
Dr. Richard W. Hamming
 

Online tv84

  • Super Contributor
  • ***
  • Posts: 3580
  • Country: pt
Re: Lack of SCPI compliance (Siglent, etc...)
« Reply #11 on: January 04, 2022, 10:55:59 am »
As a matter of fact, Siglent explicitly indicated in their site that SHS800 didnt have the SCPI commands and, long ago, I wrote this
post!!
 

Offline Fungus

  • Super Contributor
  • ***
  • Posts: 18111
  • Country: 00
Re: Lack of SCPI compliance (Siglent, etc...)
« Reply #12 on: January 04, 2022, 11:26:40 am »
How is it a false statement exactly?  Supporting "*IDN?" doesn't quite mean instrument supports all the mandatory commands, just that it support one of those commands.
I guess I should have explicitly said '*all* mandatory IEEE 488.2 commands'....

*IDN is the only command you need.

To make the instrument do anything useful you need to go way beyond the minimum SCPI commands so it's all moot beyond *IDN

« Last Edit: January 04, 2022, 11:29:15 am by Fungus »
 

Offline TheDefpom

  • Frequent Contributor
  • **
  • Posts: 948
  • Country: nz
  • YouTuber Nerd - I Fix Stuff
    • The Defpom's Channel
Re: Lack of SCPI compliance (Siglent, etc...)
« Reply #13 on: January 04, 2022, 10:01:42 pm »
I was recently playing with a SPD1168X trying to use TestController with it, it has issues with a couple of commands not working at all when using SCPI on port 5025... (I haven't solved this yet) but the exact same commands work fine from the EasyPower software which is using some other backend over port 9009... the commands are OUTP CH1,ON and OUTP CH1,OFF and SET 2W and SET 4W all other commands worked!

On the other side of things, i found that there is a undocumented *READ? command that gets all the power supply readings in one go, the set points and the actual values.
Cheers Scott

Check out my Electronics Repair, Mailbag, or Review Videos at https://www.youtube.com/TheDefpom
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf