Lack of SCPI compliance (Siglent, etc...) - Page 1
Forum section: electronics / testgear

author: sequoia
author_rank: Unknown
timestamp: January 02, 2022, 10:57:11 pm
content: 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) manualits 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...

author: Helix70
author_rank: Unknown
timestamp: January 03, 2022, 04:59:25 am
content: Which SCPI spec doesn't Siglent comply with?

author: sequoia
author_rank: Unknown
timestamp: January 03, 2022, 06:45:33 am
content: Quote from: Helix70 on January 03, 2022, 04:59:25 amI 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...

author: rf-loop
author_rank: Super Contributor
timestamp: January 03, 2022, 02:10:19 pm
content: Quote from: sequoia on January 03, 2022, 06:45:33 amHow 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 ReferenceAs you can see not all common commands implemented. Do you say: "Seems more likeSiglentAgilent (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.

author: 2N3055
author_rank: Super Contributor
timestamp: January 03, 2022, 02:33:38 pm
content: Quote from: sequoia on January 02, 2022, 10:57:11 pmWhat 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,

author: bson
author_rank: Unknown
timestamp: January 03, 2022, 03:35:21 pm
content: Quote from: sequoia on January 03, 2022, 06:45:33 am"... except that section 4.1 IEEE 488.1 Requirementsshall be omittedwhere 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.

author: tv84
author_rank: Super Contributor
timestamp: January 03, 2022, 03:46:14 pm
content: Quote from: sequoia on January 03, 2022, 06:45:33 amThat 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 recentpostwe 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.

author: sequoia
author_rank: Unknown
timestamp: January 04, 2022, 06:50:02 am
content: Quote from: tv84 on January 03, 2022, 03:46:14 pmHow 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, *CLSI'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?)

author: sequoia
author_rank: Unknown
timestamp: January 04, 2022, 07:19:28 am
content: Quote from: rf-loop on January 03, 2022, 02:10:19 pmI 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?, *RSTThose 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.

author: lundmar
author_rank: Frequent Contributor
timestamp: January 04, 2022, 07:42:53 am
content: 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 witha 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:

author: 2N3055
author_rank: Super Contributor
timestamp: January 04, 2022, 08:53:11 am
content: Quote from: sequoia on January 04, 2022, 07:19:28 amFirst 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?*WAII 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...

author: tv84
author_rank: Super Contributor
timestamp: January 04, 2022, 10:55:59 am
content: As a matter of fact, Siglent explicitly indicated in their site that SHS800 didnt have the SCPI commands and, long ago, I wrote thispost!!

author: Fungus
author_rank: Super Contributor
timestamp: January 04, 2022, 11:26:40 am
content: Quote from: sequoia on January 04, 2022, 06:50:02 am*IDNis theonlycommand 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

author: TheDefpom
author_rank: Frequent Contributor
timestamp: January 04, 2022, 10:01:42 pm
content: 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.