Standard Commands for Programmable Instruments: Difference between revisions

Content deleted Content added
 
(25 intermediate revisions by the same user not shown)
Line 42:
 
===Case===
Though the command syntax above shows commands in mixed case, a SCPI parseris not isn't[[Case sensitivity|case sensitive]].
 
:For example, for <code>VOLTAGEVOLTage</code>, all of the following are valid representations:<code>voltageVOLTAGE</code>, <code>Voltagevoltage</code>, <code>VoLtAgEVoltage</code> are all valid representations for the command, <code>VOLTageVoLtAgE</code>.
 
===Abbreviating commands===
Line 53:
The only valid commands are the short form and long form of each command, all other subset variations are invalid.
 
:For example, for <code>COMMunicate</code>, only <code>COMM</code> (short form) and <code>COMMUNICATE</code> (long form) are valid, but <code>COM</code>, <code>COMMUN</code>, <code>COMMUNIC</code> subsets are invalid, also appended letters are invalid too, such as <code>COMMUNICATED</code>.
 
=== Concatenating commands ===
Line 79:
* Octal: <code>#Q32</code> or <code>#q32</code>
* Binary: <code>#B11010</code> or <code>#b11010</code>
 
===488.2 commands===
Since SCPI was defined as an additional layer on top of the IEEE 488.2 specification, a SCPI compliant device should recognize various 488.2 commands too.<ref name="SCPI-1999-spec"/> These commands might also be known unofficially as asterisk commands (or star commands), because they start with the [[asterisk]] <code>*</code> character.
 
According to section 4.1.1 of Volume 1 of SCPI, all SCPI devices must implement the following 488.2 commands.<ref name="SCPI-1999-spec"/> In the real world some low-end test equipment may only support a subset of these 488.2 commands, or may even accept the commands but not perform any operation. A user should check the official programmers manual for each device before assuming all of these 488.2 commands are supported.
{{Div col|colwidth=15em}}
* <code>*CLS</code>
* <code>*ESE</code>
* <code>*ESE?</code>
* <code>*ESR?</code>
* <code>*IDN?</code>
* <code>*OPC</code>
* <code>*OPC?</code>
* <code>*RST</code>
* <code>*SRE</code>
* <code>*SRE?</code>
* <code>*STB?</code>
* <code>*TST?</code>
* <code>*WAI</code>
{{Div col end}}
 
According to section 4.1.2 of Volume 1 of SCPI, all other 488.2 commands not listed above are considered optional and not required by SCPI.<ref name="SCPI-1999-spec"/>
{{Div col|colwidth=15em}}
* <code>*AAD</code>
* <code>*CAL?</code>
* <code>*DDT</code>
* <code>*DDT?</code>
* <code>*DLF</code>
* <code>*DMC</code>
* <code>*EMC</code>
* <code>*EMC?</code>
* <code>*GMC?</code>
* <code>*IST?</code>
* <code>*LMC?</code>
* <code>*LRN?</code>
* <code>*OPT?</code>
* <code>*PCB</code>
* <code>*PMC</code>
* <code>*PRE</code>
* <code>*PRE?</code>
* <code>*PSC</code>
* <code>*PSC?</code>
* <code>*PUD</code>
* <code>*PUD?</code>
* <code>*RCL</code>
* <code>*RDT</code>
* <code>*RDT?</code>
* <code>*SAV</code>
* <code>*TRG</code>
* <code>*RMC</code>
* <code>*SDS</code>
{{Div col end}}
 
== See also ==
Line 87 ⟶ 139:
 
==References==
{{Reflist|30em}}
 
==External links==
Line 93 ⟶ 145:
* [https://www.ivifoundation.org/About-IVI/scpi.html SCPI Organization], official website
;Specifications
* [https://www.ivifoundation.org/downloads/SCPI/scpi-99.pdf SCPI-1999, Volume 1-4], 819 page PDF file, '''free''' download ''(doesn't include asterisk (*) commands, because they are specified in IEEE 488.2 & IEC 60488-2)''
* [https://ieeexplore.ieee.org/document/8705775 IEEE 488.2-1992], 254 page PDF file, costs [https://www.techstreet.com/ieee/standards/ieee-488-2-1992?product_id=1888634 USD$5254] in 20242025 ''(replaces [https://www.techstreet.com/ieee/standards/ieee-488-2-1987?product_id=1777534 IEEE 488.2-1987], both superseded by IEEE/IEC 60488-2-2004)''
* [https://ieeexplore.ieee.org/document/1352831 IEEE/IEC 60488-2-2004], 264 page PDF file, costs [https://www.techstreet.com/ieee/standards/ieee-iec-60488-2-2004?product_id=1779348 USD$373388] in 2024 ''(replaces IEC 60625-2-1993 / IEEE 488.2-1992 / IEEE 488.2-1987)''2025
 
===Programming Manual Examples===