9. SCPI Command Set

Standard Commands for Programmable Instrumentation (SCPI) support is provided for all MagnaLOAD products. These commands provide programming compatibility with other instruments. SCPI commands are ASCII textual strings, which are sent to the instrument over the physical layer, providing support over all communication interfaces. Utilizing these SCPI commands provides the simplest form of programming a MagnaLOAD product, as they are driver and programming environment independent. Further information about the SCPI standard and conventions are in the section: SCPI Introduction. The full list of linked commands are in section: SCPI Command Reference List.

9.1. SCPI Introduction

9.1.1. Command Structure

There are two types of SCPI messages: program and response.

A program message consists of one or more properly formatted SCPI commands sent from the controller to the MagnaLOAD. The message, which may be sent at any time, requests the MagnaLOAD to perform some action.

A response message consists of data in a specific SCPI format sent from the MagnaLOAD to the controller. The MagnaLOAD sends the message only when requested from a program message query.

9.1.2. Data Types

The following datatypes, referenced in the SCPI command descriptions, describe the responses from query SCPI commands:

Digits with an implied decimal point assumed at the right of the least-significant digit. Example: 273
Digits with an explicit decimal point. Example: .0273
Digits with an explicit decimal point and an exponent. Example: 2.73E+2

The following data types, referenced in the SCPI command descriptions, describe the parameters from program SCPI commands:

Extended format that includes <NR1>, <NR2>, and <NR3>. Examples: 273, 273., 2.73E2
Expanded decimal format that includes <NRf> and MIN MAX. MIN and MAX are the minimum and maximum limit values that are implicit in the range specification for the parameter. Examples: 273, 273., 2.73E2, MAX
Boolean Data. Example: 0 | 1 or ON | OFF

9.1.3. Termination

A new line <NL> character must be sent to the MagnaLOAD to terminate a SCPI command string. The IEEE-488 EOI (End-Or-Identify) message is interpreted as a <NL> character and can be used to terminate a command string in place of an <NL>. A carriage return followed by a new line <CR><NL> is also accepted. Command string termination will always reset the current SCPI command path to the root level.

9.1.4. Syntax Conventions

Square brackets []
Used to enclose a parameter that is optional when programming the command; that is, the instrument shall process the command to have the same effect whether the option node is omitted by the programmer or not.
Angle brackets <>
Used to enclose manatory parameters or to indicate a returned parameter. For example, in the CURRent <value> command syntax, the <value> parameter is enclosed in triangle brackets. The brackets are not sent with the command string. You must specify a value for the parameter, for example: CURRent 125
Vertical bar |
Used to separate multiple parameter choices for the command string, for example: [SOURce:]CURRent 0 through MAX | MINimum | MAXimum

9.2. SCPI Command Reference List

The subsystems provide more details on all the supported commands. The following table provides a summary of all the available SCPI commands:

SCPI Command Description
MEASure Subsystem  
MEASure[:SCALar]:All[:DC]? Measures and returns the average current, voltage, resistance, and power at the sense location
MEASure[:SCALar]:VOLTage[:DC]? Measures and returns the average voltage at the sense location
MEASure[:SCALar]:CURRent[:DC]? Measures and returns the average current at the sense location
INPut Subsystem  
INPut Enables or disables the DC input based on parameter setting
INPut:START Enables the DC input
INPut:STOP Disables the DC input
SOURce Subsystem  
[:SOURce]:SETPoint Sets all set-points using one command
CONFigure Subsystem  
CONFigure:CONTrol Sets the control mode
[:CONFigure]:COMMunication:PROTocol Changes the communication protocol
SYSTtem Subsystem  
SYSTem:VERSion? Returns hardware revision and firmware version
STATus Subsystem  
*CLS Clear all status registers
*ESE? Configure Event Status Enable Register
*ESR? Read Event Status Register
*ESR? Bit values for the running state
*IDN? Product identification
*OPC Operation Complete Bit
*RST Reset to factory default states
*SRE Service Request Enable Register
*STB Status Byte
STATus:REGister? Status Register
*TST Execute self-test
*WAI Wait till complete

9.3. CONFiguration Subsystem

9.3.1. CONFigure:CONTrol

This command configures the MagnaLOAD‘s control mode. Control Modes provides more information about the various options.

Command Syntax:CONFigure:CONTrol <NR1>
Parameters:1 (VOLTAGE) | 2 (CURRENT) | 3 (RESISTANCE) | 4 (POWER) | 5 (RHEOSTAT) | 6 (SHUNTREG)
Examples:CONF:CONT 2
*RST Value:1 (VOLTAGE)
Query Syntax:CONFigure:CONTrol?
Return Param:<NR1>

9.3.2. [:CONFigure]:COMMunication:PROTocol

This command configures the communications protocol. At startup MagnaLOAD starts with Standard Commands for Programmable Instruments (SCPI), which is assigned to value 0. Value 1 changes communications to a proprietary protocol called MagnaLINK. This binary messaging protocol only used by Magna-Power software for higher-speed applications. The unit will revert back to SCPI protocol upon reset.

Command Syntax:[:CONFigure]:COMMunication:PROTocol <NR1>
Parameters:0 (SCPI) | 1 (MagnaLINK)
Examples:COMM:PROT 1
*RST Value:1 (VOLTAGE)
Query Syntax:CONFigure:CONTrol?
Return Param:<NR1>

9.4. MEASure Subsystem

9.4.1. MEASure[:SCALar]:All[:DC]?

This query command returns the average measurements as a list for voltage, current, resistance, and power, respectively.

Query Syntax:MEASure[:SCALar]:ALL[:DC]?
Return Param:<NR2>, <NR2>, <NR2>, <NR2>

9.4.2. MEASure[:SCALar]:VOLTage[:DC]?

This query commands commands the MagnaLOAD to measure and return the average voltage at the DC terminals. If the remote sense function is used and engaged, this command returns the voltage measured at the sense terminals.

Query Syntax:MEASure:VOLTage[:DC]?
Return Param:<NR2>

9.4.3. MEASure[:SCALar]:CURRent[:DC]?

This query commands the MagnaLOAD to measure and return the average current through the DC terminals.

Query Syntax:MEASure[:SCALar]:CURRent[:DC]?
Return Param:<NR2>

9.5. INPut Subsystem

The INPut Subsystem is an aliased version of the SCPI Standard’s OUTPut subsystem. From the SCPI Standard:

A source which is sourcing impedance (programmable load) is allowed to alias this subsystem as INPut, providing that the OUTPut keyword is also recognized and the INPut subsystem is not used for its intended purpose within the instrument.

9.5.1. INPut

This command enables or disables the MagnaLOAD input. The state of a disabled input is a high impedance condition.

Command Syntax:INPut[:STATe] <bool>
Parameters:0 (OFF) | 1 (ON)
Examples:INP 1, INP:STAT ON
Alias:OUTPut[:STATe] <bool>
*RST Value:0 (OFF)

9.5.2. INPut:START

This command enables MagnaLOAD input. The START command mirrors the front panel Start button functionality, providing an alternative to the parameter-based INPut command.

Command Syntax:INPut:START
*RST Value:N/A

9.5.3. INPut:STOP

This command disables MagnaLOAD input. The STOP command mirrors the front panel Stop button functionality, providing an alternative to the parameter-based INPut command.

Command Syntax:INPut:STOP
*RST Value:N/A

9.5.4. INPut:PROTection:CLEar

This commands removes the latch that disables the input when a fault condition is detected, as further detailed in Clear Command documentation. All conditions that generate the fault must be resolved before the latch can be cleared. Once the fault has been cleared, the input can be re-enabled with the INPut:START command.

Command Syntax:INPut:PROTection:CLEar
*RST Value:N/A

9.6. SOURce Subsystem

9.6.1. [:SOURce]:SETPoint

This command programs all set-points using the list of values: current, voltage, resistance, and power, respectively.

Command Syntax:[:SOURce]:SETPoint <NRf+>[mA|A], <NRf+>[mV|V], <NRf+>, <NRf+>
Parameters:0 through MAX | MINimum | MAXimum
Examples:SETPT 1.0, 1000.0, 1250.0, 1795.0
*RST Value:MINimum
Query Syntax:[:SOURce]:SETPoint?
Return Param:<NR2>

9.7. STATus Subsystem

Status commands let you determine the condition of the MagnaLOAD at any time, grouping together multiple feedback parameters into one returned value.

9.7.1. *CLS

This command clears all status register (ESR, STB and error queue).

Command Syntax:*CLS
Return Param:None
*RST Value:N/A

9.7.2. *ESE?

This command programs the Event Status Enable Register (ESE). The programming determines which events of the Event Status Register (ESR) set the Event Status Bit (ESB) of the Status Byte Register (STB). A “1” in the bit position enables the corresponding event. All of the enabled events of the ESE are logically OR’d to cause the ESB of the STB to be set.

Command Syntax:*ESE <NR1>
Parameters:Register Bit Position
Examples:*ESE 255
Query Syntax:*ESE?
Return Param:<NR1>
*RST Value:N/A

9.7.3. *ESR?

This query reads the Event Status Register (ESR). After reading the ESR, the register is cleared. The bit configuration of the ESR is the same as the Event Status Enable Register (*ESE). The return parameter is weighted as shown in table below.

The Power On Bit (PON) is set every time the MagnaLOAD is reset. It can be used to detect a power outage or MagnaLOAD reset.

Command Syntax:*ESR?
Return Param:<NR1>
*RST Value:N/A

Event Status Register

Bit Weight Abbreviation Description
0 1 OPC Operation Complete
1 2 NU Not Used
2 4 QYE Query Error
3 8 DDE Device Dependent Error
4 16 EXE Execution Error
5 32 CME Command Error
6 64 NU Not Used
7 128 PON Power On Event, 1 after power on

9.7.4. *IDN?

This query requests MagnaLOAD to identify itself, returning a string composed of three fields separated by commas.

Query Syntax:*IDN?
Return Param:Company Name, MagnaLOAD Model, Serial Number, Firmware Version
Return Example:Magna-Power Electronics Inc., ARx16.75-1000-14, 1201-0001, 0.029
*RST Value:N/A

9.7.5. *OPC

This command clears the operation complete bit found in the event status register (ESR). Should be used in application programming when delay exists between sending a SCPI command and the execution of the command. When all commands have completed, the OPC bits gets set back to 1.

Query Syntax:*OPC?
Return Param:<NR1>
*RST Value:N/A

9.7.6. *RST

This command resets the various settings and functions in the MagnaLOAD to their factory default state. This command is commonly used in initialization routines to restore the MagnaLOAD to a known configuration. Factory default settings for each command are indicated in the description for respective SCPI commands. SCPI commands with RST Value indicated as *N/A either are not affected by the *RST or do not have a parameter that can be changed.

Command Syntax:*RST
*RST Value:N/A

9.7.7. *SRE

This command sets the Service Request Enable Register (SRE). This register, defined in the table “Service Request Enable Register”, determines which bits from the Status Byte Register (see *STB for its bit configuration) are allowed to set the Service Request (RQS) Bit. A 1 in any SRE bit position enables the corresponding Status Byte Register bit. All Status Byte Register enabled bits are then logically OR’d and placed in bit 6 of the Status Byte Register. When *SRE is cleared (by programming it with 0), the power supply cannot generate a service request to the controller.

Command Syntax:*SRE
Parameters:Register Bit Position
Examples:*SRE 20
Query Syntax:*SRE?
Return Param:<NR1>
*RST Value:N/A

Service Request Enable Register

Bit Weight Abbreviation Description
0 1 NU Not Used
1 2 NU Not Used
2 4 NU Not Used
3 8 QUES Questionable Status Bit
4 16 MAV Message Available Bit
5 32 ESB Event Status Bit
6 64 RQS Request Service Bit
7 128 NU Not Used

9.7.8. *STB

This query gets the Status Byte (STB). Registers are cleared only when the signals feeding it are cleared.

Command Syntax:*STB?
Return Param:<NR1>
*RST Value:N/A

9.7.9. STATus:REGister?

This command queries the Status Register. This read-only register holds the live (unlatched) operation status of the MagnaLOAD. Issuing a query does not clear the register. The register location and definitions are subject to change after any firmware release to accommodate new features. The present bit assignments are shown in the table below.

Status Register

Bit Name Description
0 standby output is in standby
1 live output is active
2 nonhalt1 available
3 nonhalt2 available
4 overCurrTrip over current trip
5 overVoltTrip over voltage trip
6 overPwrTrip over power trip
7 remoteSenseLoss remote sense voltage outside of acceptable bounds
8 haltReset1 available
9 shutdown target is creating a shutdown condition
10 linPwrLim power across linear modules exceed ratings
11 resPwrLim power across resistors exceed ratings
12 interlock interlock
13 haltNoReset1 available
14 phaseCurr rated phase current exceeded
15 comm communications are corrupteds
16 overCurrProtect terminal current exceeded product rating
17 overVoltProtect terminal voltage exceeded product rating
18 tempRLin linear module exceeded temperature
19 blownFuse fuse is blown on the auxiliary power supply
20 haltNoReset2 available
21 haltNoReset3 available
22 haltNoReset4 available
23 haltNoReset5 available
24 haltNoReset6 available
25 haltNoReset7 available
26 haltNoReset8 available
27 tempRMod (boundary) resistor module exceeded temperature
28 belowRatedMinVolt below minimum voltage rating(28)
29 outOfRegulation out of regulation, unexpected currents measured
30 haltSelfReset2 available
31 haltSelfReset3 available
Query Syntax:STATus:REGister?
Return Param:<NR1>
*RST Value:No Effect

9.7.10. *TST

Executes a self-test routine that validates the operational condition of the MagnaLOAD. If all tests pass, a 0 is returned, if any test fails, 1 is returned.

Command Syntax:*TST?
Return Param:<NR1>
*RST Value:N/A

9.7.11. *WAI

Buffer commands until all previous commands have completed execution.

Command Syntax:*WAI
Return Param:N/A
*RST Value:N/A

9.8. SYSTem Subsystem

9.8.1. SYSTem:VERSion?

The SYST:VERS? query returns the MagnaLOAD‘s bootloader, firmware, and hardware revision, respectively. The returned value is a comma-separated list of values.

Query Syntax:SYSTem:VERSion?
Return Param:<NR2>, <NR2>, <NR2>