PS_Fgen_FW  4da88f4073c1cc65ea45c3a652a2751e495e50db
Firmware for an Power Supply and Function Generator build from an ATX power supply
Loading...
Searching...
No Matches
5 - SCPI Interface

The device supports SCPI (Standard Commands for Programmable Instruments) commands that can be used for remote control. All commands are received via the USB input (serial port).

The following parser is used to decode all incoming SCPI commands:

GitHub - j123b567/scpi-parser: Open Source SCPI device library

The following list gives an overview of the implemented (and planned) SCPI commands. It is inspired by SCPI commands summary – EEZ – Envox Experimental Zone

Try out sending one of the following commands to the device by simply opening a COM port and writing the characters. A good command for testing the connection and parser is "*IDN?" which returns some details about the device.

Common

Command Status Description
CLS OK Clears all status data structures
ESE {<value>} OK Programs the Standard Event Status Enable register bits
ESE? OK Reads the Standard Event Status Enable register bits
ESR? OK Reads the Standard Event Status Register
IDN? OK Returns the UNIQUE identification of the device
OPC OK Operation Complete Command used for program synchronization
OPC? OK Read the Operation Complete status
RCL {<profile>} OK Recalls the device state stored in the specified storage location
RST OK Reset device to the initial state
SAV {<profile>} OK Stores the current device state in the specified storage location
SRE OK Service Request Enable Command
SRE? OK Service Request Enable Query
STB? OK Reads the Status Byte register
TST? TODO Returns Self-Test results
WAI OK Waits until all pending commands are completed

Instrument

Command Status Description
INSTrument[:SELect] {<channel>} OK Selects the output to be programmed (CH1|CH2|CH3|CH4|CH5)
INSTrument[:SELect]? OK Query the selected output
INSTrument:NSELect {<channel>} OK Selects the output number to be programmed (1..5)
INSTrument:NSELect? OK Query the selected output number

Measure

Command Status Description
MEASure[<channel>][:SCALar][:VOLTage][:DC]? OK Query the measured voltage on the channel
MEASure[<channel>][:SCALar]:CURRent[:DC]? OK Query the measured current on the channel
MEASure[<channel>][:SCALar]:POWer[:DC]? OK Query the measured power on the channel

Output

Command Status Description
OUTPut[<channel>][:STATe] {<bool>} OK Turn on/off the specified output channel
OUTPut[<channel>][:STATe]? OK Query the state of the specified output channel
OUTPut[<channel>]:GENeral <bool> OK Turn on/off all channels simultaneously
OUTPut[<channel>]:GENeral? OK Get a string with all output states

Source

Command Status Description
SOURce[<channel>]:CURRent:PROTection[:LEVel] OK Sets the over-current protection (OCP) level in Ampere
SOURce[<channel>]:CURRent:PROTection[:LEVel]? OK Query the over-current protection (OCP) level in Ampere
SOURce[<channel>]:CURRent:PROTection:STATe {<bool>} OK Enables/disables over-current protection on the selected channel
SOURce[<channel>]:CURRent:PROTection:STATe? OK Query the state of the over-current protection on the selected channel
SOURce[<channel>]:CURRent:PROTection:DELay {<time>} OK Protection function will not be triggered during the delay time. After the delay time has expired, the protection function will be active.
SOURce[<channel>]:CURRent:PROTection:DELay? OK Query the protection delay
SOURce[<channel>]:CURRent:PROTection:TRIPped? OK Returns status of over-current protection activation
SOURce[<channel>]:CURRent:PROTection:CLEar OK Clear the over-current protection
SOURce[<channel>]:FUNCtion[:SHAPe] OK Selects the shape of the output signal (DC|SINusoid|SQUare|TRIangle|SAWtooth|USER)
SOURce[<channel>]:FUNCtion[:SHAPe]? OK Query the shape of the output signal
SOURce[<channel>]:FUNCtion:MODE? OK Determines which signal characteristic is being controlled. Only "VOLTage" is supported
SOURce[<channel>]:FUNCtion:DATa #<NumBytesDigits><NumBytes><Bytes> OK Set the user defined waveform data of the channel. Only used if SHAPe is set to USER
SOURce[<channel>]:FREQuency[:CW] {<frequency>} OK Set the frequency of a non-swept signal
SOURce[<channel>]:FREQuency[:CW]? OK Query the frequency of a non-swept signal
SOURce[<channel>]:POWer:PROTection[:LEVel] OK Sets the over-power protection (OPP) level in Watt
SOURce[<channel>]:POWer:PROTection[:LEVel]? OK Query the over-power protection (OPP) level in Watt
SOURce[<channel>]:POWer:PROTection:STATe {<bool>} OK Enables/disables over-power protection on the selected channel
SOURce[<channel>]:POWer:PROTection:STATe? OK Query the state of the over-power protection on the selected channel
SOURce[<channel>]:POWer:PROTection:DELay {<time>} OK Protection function will not be triggered during the delay time. After the delay time has expired, the protection function will be active.
SOURce[<channel>]:POWer:PROTection:DELay? OK Query the protection delay
SOURce[<channel>]:POWer:PROTection:TRIPped? OK Returns status of over-power protection activation
SOURce[<channel>]:POWer:PROTection:CLEar OK Clear the over-power protection
SOURce[<channel>]:VOLTage[:LEVel][:IMMediate][:AMPLitude] {<voltage>} OK Sets the output amplitude (MINimum|MAXimum|UP|DOWN|<Voltage>) in Volt
SOURce[<channel>]:VOLTage[:LEVel][:IMMediate][:AMPLitude]? OK Query the output amplitude in Volt
SOURce[<channel>]:VOLTage[:LEVel][:IMMediate]:OFFSet {<voltage>} OK Sets the output offset (non-time varying component of the signal) (MINimum|MAXimum|UP|DOWN|<Voltage>)
SOURce[<channel>]:VOLTage[:LEVel][:IMMediate]:OFFSet? OK Query the output offset
SOURce[<channel>]:VOLTage:PROTection[:LEVel] OK Sets the over-voltage protection (OVP) level in percent of the configured voltage
SOURce[<channel>]:VOLTage:PROTection[:LEVel]? OK Query the over-voltage protection (OVP) level in percent of the configured voltage
SOURce[<channel>]:VOLTage:PROTection:STATe {<bool>} OK Enables/disables over-voltage protection on the selected channel
SOURce[<channel>]:VOLTage:PROTection:STATe? OK Query the state of the over-voltage protection on the selected channel
SOURce[<channel>]:VOLTage:PROTection:DELay {<time>} OK Protection function will not be triggered during the delay time. After the delay time has expired, the protection function will be active.
SOURce[<channel>]:VOLTage:PROTection:DELay? OK Query the protection delay
SOURce[<channel>]:VOLTage:PROTection:TRIPped? OK Returns status of over-voltage protection activation
SOURce[<channel>]:VOLTage:PROTection:CLEar OK Reset the OVP state of the channel

System

Command Status Description
SYSTem:CHANnel[:COUNt]? OK Returns the number of output channels
SYSTem:FIRMware? OK Returns device firmware version
SYSTem:SNO? OK Returns the device serial number
SYSTem:ERRor[:NEXT]? OK Queries and clears errors from the error queue
SYSTem:ERRor:COUNt? OK Queries the error/event queue for the number of unread items
SYSTem:LOCal OK Places the device in the local mode
SYSTem:MEASure[:SCALar][:VOLTage][:DC]? OK Query some system ATX voltages (<ATX_3V3>,<ATX_5V>)
SYSTem:REMote OK Places the device in the remote mode
SYSTem:RWLock OK Places the device in the remote mode and disables front panel [lock/unlock] icon
SYSTem:VERSion? OK Returns the SCPI version number