9. Software simulator
The BB3 firmware can be compiled and executed on a Windows, Linux or OS X system. The software simulator is a terminal application that can respond to almost all of currently supported SCPI command described in this document. SCPI commands could be entered directly in the simulator’s terminal window (Fig. 1).
The simulator also has built-in GUI. When started, a separate window is opened with the picture of the BB3 front panel.
Additionally, firmware features could be evaluated using the Web firmware simulator that can be found on the following address: https://www.envox.eu/bb3-simulator/index.html
9.1. SIMUlator
The SIMUlator software subsystem implements a set of unclassified SCPI commands for managing external parameters and events such as load impedance, connection and disconnection of the load, sensor temperature or the BB3 control circuit power supply state. Thus it is possible to exercise the measuring and protection commands that depend on external events.
For example, a MEASure:CURRent? command without a connected load will always return zero, or activation of the VOLTage:PROTection:STATe will automatically trip the OVP signal since a channel in CC operation cannot start when output is switched on, etc.
SCPI command |
Description |
SIMUlator |
|
Closes simulator |
|
Starts simulator’s GUI |
|
Sets the value of the simulated load |
|
“Connects” a simulated load to the channel output |
|
Sets the value of the PIN1 input |
|
Sets the value of the PIN2 input |
|
Sets the PWRGOOD signal state |
|
Closes simulator |
|
Sets the RPOL signal |
|
Sets the temperature sensor value |
|
Sets the output voltage when a channel is in external programming mode |
9.1.1. SIMUlator:EXIT
Syntax |
SIMUlator:EXIT |
Description |
This command close all Simulator windows (terminal and GUI if started). |
Usage example |
SIMU:EXIT |
9.1.2. SIMUlator:GUI
Syntax |
SIMUlator:GUI |
Description |
This command starts the GUI simulation in a new window (see Fig. 2). |
Usage example |
SIMU:GUI |
Related Commands |
SIMUlator:EXIT
|
9.1.3. SIMUlator:LOAD
Syntax |
SIMUlator:LOAD {<resistance>} SIMUlator:LOAD? |
|||
Description |
This command define the impedance of a simulated load connected to a channel output. Units are in ohms. With a load connected it is possible to simulate several BB3 operations: e.g., CC mode of operation, current and power measurement, OCP and OPP functionality, etc.
The simulated load value can be also changed by clicking and dragging the load’s image. Move to the left to decrease, or to the right to increase the simulated value in increments of 1 Ω.
The simulator currently cannot emulate the “UR” mode of operation (see the OUTPut:MODE? command). |
|||
Parameters |
Name |
Type |
Range |
Default |
<resistance> |
NR2|Discrete |
0 – 9999999|INFinite |
– |
|
Return |
The query command returns the programmed load value. |
|||
Usage example |
SIMU:LOAD 8.2 |
|||
Related Commands |
OUTPut:MODE?
|
9.1.4. SIMUlator:LOAD:STATe
Syntax |
SIMUlator:LOAD:STATe {<bool>} SIMUlator:LOAD:STATe? |
|||
Description |
This command “connects” or “disconnects” the simulated load on the channel output. If the GUI simulator has been started (via the SIMUlator:GUI command) a load symbol with the currently selected value in Ohms will be displayed.
Another possibility to connect (or disconnect) a load is by click on its image. |
|||
Parameters |
Name |
Type |
Range |
Default |
<bool> |
Boolean |
ON|OFF|0|1 |
– |
|
Return |
The query command returns the load state. |
|||
Usage example |
SIMU:LOAD:STAT? 0 MEAS:CURR? 0.00 SIMU:LOAD:STAT ON MEAS:CURR? 1.50 |
|||
Related Commands |
OUTPut:MODE? SIMUlator:GUI SIMUlator:LOAD |
9.1.5. SIMUlator:PIN1
Syntax |
SIMUlator:PIN1 {<bool>} SIMUlator:PIN1? |
|||
Description |
This command can be used to simulate the state of the PIN1 input on the BB3 front panel push-in connector that can be used for initiate trigger. |
|||
Parameters |
Name |
Type |
Range |
Default |
<bool> |
Boolean |
ON|OFF|0|1 |
– |
|
Return |
The query command returns the state of the simulated PIN1 input. |
|||
Usage example |
VOLT:TRIG 12.00 CURR:TRIG 2.50 TRIG:SOUR PIN1 OUTP 1 INIT SIMU:PIN1 |
|||
Related Commands |
ABORt INITiate[:IMMediate] TRIGger[:SEQuence]:DELay TRIGger[:SEQuence]:SLOPe TRIGger[:SEQuence]:SOURce |
9.1.6. SIMUlator:PIN2
Syntax |
SIMUlator:PIN2 {<bool>} SIMUlator:PIN2? |
|||
Description |
This command can be used to simulate the state of the PIN2 input on the BB3 front panel push-in connector that can be used for initiate trigger. |
|||
Parameters |
Name |
Type |
Range |
Default |
<bool> |
Boolean |
ON|OFF|0|1 |
– |
|
Return |
The query command returns the state of the simulated PIN2 input. |
|||
Usage example |
VOLT:TRIG 12.00 CURR:TRIG 2.50 TRIG:SOUR PIN1 OUTP 1 INIT SIMU:PIN1 |
|||
Related Commands |
ABORt INITiate[:IMMediate] TRIGger[:SEQuence]:DELay TRIGger[:SEQuence]:SLOPe TRIGger[:SEQuence]:SOURce |
9.1.7. SIMUlator:PWRGood
Syntax |
SIMUlator:PWRGood {<bool>} SIMUlator:PWRGood? |
|||
Description |
This command can be used to simulate an internal power supply failure. When the PWRGOOD signal is changed from 1 to 0 the BB3 will goes into the standby mode (equal to the command SYSTem:POW OFF).
The simulated BB3 mode cannot be changed until PWRGOOD is not changed to 1. |
|||
Parameters |
Name |
Type |
Range |
Default |
<bool> |
Boolean |
ON|OFF|0|1 |
ON |
|
Return |
The query command returns the PWRGOOD signal state. |
|||
Usage example |
SYST:POW? 1 SIMU:PWRG 0 SYST:POW? 0 |
|||
Related Commands |
SYSTem:POWer
|
9.1.8. SIMUlator:QUIT
Syntax |
SIMUlator:QUIT |
Description |
Same as SIMUlator:EXIT |
Usage example |
SIMU:QUIT |
9.1.9. SIMUlator:RPOL
Syntax |
SIMUlator:RPOL {<bool>} SIMUlator:RPOL? |
|||
Description |
This command can be used to simulate detection of a remote sensing reverse polarity condition. |
|||
Parameters |
Name |
Type |
Range |
Default |
<bool> |
Boolean |
ON|OFF|0|1 |
ON |
|
Return |
The query command returns the RPOL signal state. |
|||
Usage example |
STAT:QUES:INST:ISUM2? 0 SIMU:RPOL 1 STAT:QUES:INST:ISUM2? 128 |
|||
Errors |
312,"Cannot execute when the channels are coupled" |
|||
Related Commands |
INSTrument:COUPle:TRACking [SOURce[<n>]]:VOLTage:SENSe[:SOURce] STATus:QUEStionable:INSTrument[:EVENt]? |
9.1.10. SIMUlator:TEMPerature
Syntax |
SIMUlator:TEMPerature {<temperature>} [, <sensor>] SIMUlator:TEMPerature? [<sensor>] |
|||
Description |
This command sets the simulated temperature in degrees Celsius (oC), and then reads it from the simulated temperature sensor. |
|||
Parameters |
Name |
Type |
Range |
Default |
<temperature> |
NR2 |
0 – 100 |
– |
|
<sensor> |
Discrete |
AUX|CH1|CH2|CH3|CH4|CH5|CH6 |
AUX |
|
Return |
The query command returns the set temperature value. |
|||
Usage example |
SIMU:TEMP 45, CH2 MEAS:TEMP? CH2 45.00 |
|||
Related Commands |
MEASure[:SCALar]:TEMPerature[:THERmistor][:DC]
|
9.1.11. SIMUlator:VOLTage:PROGram:EXTernal
Syntax |
SIMUlator:VOLTage:PROGram:EXTernal {<voltage>} SIMUlator:VOLTage:PROGram:EXTernal? |
|||
Description |
This command sets the simulated voltage that will be used for output voltage programming when the simulated channel is set in external / remote programming mode (see [SOURce[<n>]]:VOLTage:PROGram[:SOURce]). For full range, apply 2.5 V; if a higher value is entered channel’s OVP will trip. |
|||
Parameters |
Name |
Type |
Range |
Default |
<voltage> |
NR2 |
Positive value |
0.00 |
|
Return |
The query command returns the simulated external output voltage programming value. |
|||
Usage example |
VOLT:PROG EXT SIMU:VOLT:PROG:EXT 1.25 MEAS? 20.00 |
|||
Errors |
312,"Cannot execute when the channels are coupled" |
|||
Related Commands |
INSTrument:COUPle:TRACking [SOURce[<n>]]:VOLTage:PROGram[:SOURce] [SOURce[<n>]]:VOLTage:PROTection:TRIPped? |