REXGEAR
Your Power Solution Expert
BCS Series Programming Guide SCPI Protocol
Version: V20210903
1 Preface
About Manual
This manual is applied to BCS series battery simulator, including programming guide based on standard SCPI protocol. The copyright of the manual is owned by REXGEAR. Due to the upgrade of instrument, this manual may be revised without notice in future versions.
This manual has been reviewed carefully by REXGEAR for the technical accuracy. The manufacturer declines all responsibility for possible errors in this operation manual, if due to misprints or errors in copying. The manufacturer is not liable for malfunctioning if the product has not correctly been operated.
To ensure the safety and correct use of BCS, please read this manual carefully, especially the safety instructions.
Please keep this manual for future use.
Thanks for your trust and support.
2 Safety Instructions
In the operation and maintenance of the instrument, please strictly comply with the following safety instructions. Any performance regardless of attentions or specific warnings in other chapters of the manual may impair the protective functions provided by the instrument.
REXGEAR shall not be liable for the results caused by the neglect of those instructions.
2.1 Safety Notes
- Confirm the AC input voltage before supplying power.
- Reliable grounding: Before operation, the instrument must be reliably grounded to avoid the electric shock.
- Confirm the fuse: Ensure to have installed the fuse correctly.
- Do not open the chassis: The operator cannot open the instrument chassis. Non-professional operators are not allowed to maintain or adjust it.
- Do not operate under hazardous conditions: Do not operate the instrument under flammable or explosive conditions.
- Confirm the working range: Make sure the DUT is within BCS's rated range.
2.2 Safety Symbols
Please refer to the following table for definitions of international symbols used on the instrument or in the user manual.
Symbol | Definition | Symbol | Definition |
---|---|---|---|
~ | DC (direct current) | N | Null line or neutral line |
~ | AC (alternating current) | L | Live line |
3~ | AC and DC | | | Power-on |
↓ | Three-phase current | | | Power-off |
↓ | Ground | Back-up power | |
↓ | Protective ground | Power-on state | |
↓ | Chassis ground | Power-off state | |
↓ | Signal ground | Δ | Risk of electric shock |
WARNING | Hazardous sign | Δ | High temperature |
Caution | Be careful | Δ | Warning |
3 Overview
BCS series battery simulators provide LAN port and RS232 interface. Users can connect BCS and PC by the corresponding communication line to realize control.
4 Programming Command Overview
4.1 Brief Introduction
BCS commands include two types: IEEE488.2 public commands and SCPI commands.
IEEE 488.2 public commands define some common control and query commands for instruments. Basic operation on BCS can be achieved through public commands, such as reset, status query, etc. All IEEE 488.2 public commands consist of an asterisk (*) and three-letter mnemonic: *RST, *IDN ?, *OPC ?, etc.
SCPI commands can implement most of BCS functions of testing, setting, calibration and measurement. SCPI commands are organized in the form of a command tree. Each command can contain multiple mnemonics, and each node of the command tree is separated by a colon (:), as shown in the below figure. Top of the command tree is called ROOT. The full path from ROOT to the leaf node is a complete programming command.
ROOT
[:STATE]
:PROTection
:CLEar
:INPut
:SHORT
[:STATE]
:MODE
:FUNCtion
4.2 Syntax
BCS SCPI commands are the inheritance and expansion of IEEE 488.2 commands. SCPI commands consist of command keywords, separators, parameter fields and terminators. Take the following command as an example:
SOURce<n>:VOLTage 2.5
In this command, SOURce and VOLTage are command keywords. n is channel number 1 to 24. The colon (:) and space are separators. 2.5 is the parameter field. The carriage return is terminator. Some commands have multiple parameters. The parameters are separated by a comma (,).
MEASure:VOLTage?(@1,2)
This command means obtaining readback voltage of channel 1 and 2. Number 1 and 2 means channel number, which are separated by a comma.
Reading readback voltage of 24 channels at the same time:
MEASure:VOLTage?(@1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24)
Writing constant voltage value to 5V of 24 channels at the same time:
SOURCE:VOLTage 5(@1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24)
For the convenience of description, the symbols in the subsequent chapters will be applicable to the following conventions.
- Square brackets ([]) indicate optional keywords or parameters, which can be omitted.
- Curly brackets ({}) indicate the parameter options in the command string.
- Angle brackets (<>) indicate that a numeric parameter must be provided.
- The vertical line (|) is used to separate the options of multiple optional parameters.
4.2.1 Command Keyword
Each command keyword has two formats: long mnemonic and short mnemonic. Short mnemonic is short for long mnemonic. Each mnemonic should not exceed 12 characters, including any possible numeric suffixes. The battery simulator only accepts precisely long or short mnemonics.
4.2.2 Command Separator
1. Colon (:)
Colon is used to separate two adjacent keywords in the command, such as separating SOUR1 and VOLT in command SOUR1:VOLT 2.54.
Colon can also be the first character of a command, indicating it will seek path from the top node of command tree.
2. Space
Space is used to separate command field and parameter field.
3. Semicolon (;)
Semicolon is used to separate multiple command units when multiple command units are included in one command. The level of the present path does not change by using a semicolon.
Example:
SOUR1:VOLT 2.54;OUTCURR 1000
The above command is to set constant voltage value to 2.54V and output current limit to 1000mA in source mode. The above command is equivalent to the following two commands:
SOUR1:VOLT 2.54
SOUR1:OUTCURR 1000
4.2.3 Query
Question mark (?) is used to mark the query function. It follows the last keyword of the command field. For example, for querying constant voltage of channel 1 in source mode, the query command is SOUR1:VOLT?. If the constant voltage is 5V, the battery simulator will return a character string 5.
After the battery simulator receives the query command and completes the analysis, it will execute the command and generate a response string. The response string is first written into the output buffer. If the present remote interface is a GPIB interface, it waits for the controller to read the response. Otherwise, it immediately sends the response string to the interface.
Most commands have corresponding query syntax. If a command cannot be queried, the battery simulator will report an error message -115 Command can not query and nothing will be returned.
4.2.4 Command Terminator
The command terminators are line feed character (ASCII character LF, value 10) and EOI (only for GPIB interface). The terminator function is to terminate the present command string and reset the command path to the root path.
4.3 Parameter Format
Parameter programmed are represented by ASCII code in the types of numeric, character, bool, etc.
Symbol | Description | Example |
---|---|---|
<NR1> | Integer value | 123 |
<NR2> | Floating point value | 123., 12.3, 0.12, 1.23E4 |
<NRf> | The value may be NR1 or NR2. | |
<NRf+> | Expanded value format that includes <NRf>, MIN and MAX. | |
<Bool> | Boolean data | 1|0|ON|OFF |
<CRD> | Character data, for example, CURR | |
<AARD> | Return ASCII code data, allowing the return of undefined 7-bit ASCII. This data type has an implied command terminator. |
5 Commands
5.1 IEEE 488.2 Common Commands
Common commands are general commands required by IEEE 488.2 standard that instruments must support. They are used to control the general functions of instruments, such as reset and status query. Its syntax and semantics follow IEEE 488.2 standard. IEEE 488.2 common commands have no hierarchy.
*IDN?
This command reads information of the battery simulator. It returns the data in four fields separated by commas. The data include manufacturer, model, reserved field and software version.
Query Syntax | Parameters | Returns | Description |
---|---|---|---|
*IDN? | None | <AARD> String | Manufacturer |
REXGEAR | Model | ||
BCS | Reserved field | ||
0 | Software version | ||
XX.XX |
Returns Example: REXGEARTECH,BCS,0,V1.00
*OPC
This command sets the Operation Complete (OPC) bit in the Standard Event Register to 1 when all operations and commands are completed.
Command Syntax | Parameters | Query Syntax | Returns | Related Commands |
---|---|---|---|---|
*OPC | None | *OPC? | <NR1> | *TRG *WAI |
*RST
This command is used to restore factory settings.
Command Syntax: *RST
Parameters: None
Returns: None
Related Commands: None
5.2 Measure Commands
MEASure<n>:CURRent?
This command queries the readback current of corresponding channel.
Command Syntax | Parameters | Example | Returns | Unit |
---|---|---|---|---|
MEASure<n>:CURRent? | <n> N refers to channel number. The range is from 1 to 24. | MEAS1:CURR? | <NRf> | mA |
MEASure<n>:VOLTage?
This command queries the readback voltage of corresponding channel.
Command Syntax | Parameters | Example | Returns | Unit |
---|---|---|---|---|
MEASure<n>:VOLTage? | <n> N refers to channel number. The range is from 1 to 24. | MEAS1:VOLT? | <NRf> | V |
MEASure<n>:POWer?
This command queries the readback power of corresponding channel.
Command Syntax | Parameters | Example | Returns | Unit |
---|---|---|---|---|
MEASure<n>:POWer? | <n> N refers to channel number. The range is from 1 to 24. | MEAS1:POW? | <NRf> | W |
MEASure<n>:MAH?
This command queries the capacity of corresponding channel.
Command Syntax | Parameters | Example | Returns | Unit |
---|---|---|---|---|
MEASure<n>: MAH? | <n> N refers to channel number. The range is from 1 to 24. | MEAS1: MАН? | <NRf> | mAh |
MEASure<n>:Res?
This command queries the resistance value of corresponding channel.
Command Syntax | Parameters | Example | Returns | Unit |
---|---|---|---|---|
MEASure<n>:Res? | <n> N refers to channel number. The range is from 1 to 24. | MEAS1:R? | <NRf> | ΜΩ |
5.3 Output Commands
OUTPut<n>:MODE
This command is used to set the operation mode of corresponding channel.
Command Syntax | Parameters | Example | Query Syntax | Returns |
---|---|---|---|---|
OUTPut<n>:MODE<NR1> | <n> N refers to channel number. The range is from 1 to 24. NR1 Range: 0|1|3|128 | OUTP1:MODE 1 | OUTP1:MODE? | 0 for source mode 1 for charge mode 3 for SOC mode 128 for SEQ mode |
OUTPut<n>:ONOFF
This command turns on or off the output of corresponding channel.
Command Syntax | Parameters | Example | Query Syntax | Returns |
---|---|---|---|---|
OUTPut<n>: ONOFF < NR1> | <n> N refers to channel number. The range is from 1 to 24. NR1 Range: 1|0 | OUTP1:ONOFF 1 | OUTP1:ONOFF? | 1 for ON 0 for OFF |
OUTPut<n>:STATe?
This command queries operating state of corresponding channel.
Command Syntax | Parameters | Query Syntax | Returns |
---|---|---|---|
OUTPut<n>:STATE? | <n> N refers to channel number. The range is from 1 to 24. | OUTP1:STAT? | Channel state Bit0: ON/OFF state Bit16-18: readback value range, 0 for high range, 1 for medium range, 2 for low range |
5.4 Source Commands
SOURce<n>:VOLTage
This command is used to set output constant voltage.
Command Syntax | Parameters | Example | Query Syntax | Returns | Unit |
---|---|---|---|---|---|
SOURce<n>:VOLTage <NRf> | <n> N refers to channel number. The range is from 1 to 24. NRf Range: MIN~MAX | SOUR1:VOLT 2.54 | SOUR1:VOLT? | <NRf> | V |
SOURce<n>:OUTCURRent
This command is used to set output current limit.
Command Syntax | Parameters | Example | Query Syntax | Returns | Unit |
---|---|---|---|---|---|
SOURce<n>:OUTCURRent <NRf> | <n> N refers to channel number. The range is from 1 to 24. NRf Range: MIN~MAX | SOUR1:OUTCURR 1000 | SOUR1:OUTCURR? | <NRf> | mA |
SOURce<n>:RANGE
This command is used to set current range.
Command Syntax | Parameters | Example | Query Syntax | Returns |
---|---|---|---|---|
SOURce<n>:RANGE <NR1> | <n> N refers to channel number. The range is from 1 to 24. NR1 Range: 0|2|3 | SOUR1:RANG 1 | SOUR1:RANG? | 0 for high range 2 for low range 3 for auto range |
5.5 Charge Commands
CHARge<n>:VOLTage
This command is used to set output constant voltage under charge mode.
Command Syntax | Parameters | Example | Query Syntax | Returns | Unit |
---|---|---|---|---|---|
CHARge<n>:VOLTage <NRf> | <n> N refers to channel number. The range is from 1 to 24. NRf Range: MIN~MAX | CHAR1:VOLT 5.6 | CHAR1:VOLT? | <NRf> | V |
CHARge<n>:OUTCURRent
This command is used to set output current limit under charge mode.
Command Syntax | Parameters | Example | Query Syntax | Returns | Unit |
---|---|---|---|---|---|
CHARge<n>:OUTCURRent <NRf> | <n> N refers to channel number. The range is from 1 to 24. NRf Range: MIN~MAX | CHAR1:OUTCURR 2000 | CHAR1:OUTCURR? | <NRf> | mA |
CHARge<n>:Res
This command is used to set resistance value under charge mode.
Command Syntax | Parameters | Example | Query Syntax | Returns | Unit |
---|---|---|---|---|---|
CHARge<n>:Res <NRf> | <n> N refers to channel number. The range is from 1 to 24. NRf Range: MIN~MAX | CHAR1:R 0.2 | CHAR1:R? | <NRf> | ΜΩ |
CHARge<n>:ECHO:VOLTage?
This command queries readback voltage under charge mode.
Command Syntax | Parameters | Example | Returns | Unit |
---|---|---|---|---|
CHARge<n>:ECHO:VOLTage | <n> N refers to channel number. The range is from 1 to 24. | CHAR1:ECHO:VOLTage? | <NRf> | V |
CHARge<n>:ECHO:Q?
This command queries readback capacity under charge mode.
Command Syntax | Parameters | Example | Returns | Unit |
---|---|---|---|---|
CHARge<n>:ECHO:Q | <n> N refers to channel number. The range is from 1 to 24. | CHAR1:ECHO:Q? | <NRf> | mAh |
5.6 SEQ Commands
SEQuence<n>:EDIT:FILE
This command is used to set sequence file number.
Command Syntax | Parameters | Example | Query Syntax | Returns |
---|---|---|---|---|
SEQuence<n>:EDIT:FILE <NR1> | <n> N refers to channel number. The range is from 1 to 24. NR1 Range: file number 1 to 10 | SEQ1:EDIT:FILE 3 | SEQ1:EDIT:FILE? | <NR1> |
SEQuence<n>:EDIT:LENGth
This command is used to set total steps in the sequence file.
Command Syntax | Parameters | Example | Query Syntax | Returns |
---|---|---|---|---|
SEQuence<n>:EDIT:LENGth <NR1> | <n> N refers to channel number. The range is from 1 to 24. NR1 Range: 0~200 | SEQ1:EDIT:LENG 20 | SEQ1:EDIT:LENG? | <NR1> |
SEQuence<n>:EDIT:STEP
This command is used to set the specific step number.
Command Syntax | Parameters | Example | Query Syntax | Returns |
---|---|---|---|---|
SEQuence<n>:EDIT:STEP <NR1> | <n> N refers to channel number. The range is from 1 to 24. NR1 Range: 1~200 | SEQ1:EDIT:STEP 5 | SEQ1:EDIT:STEP? | <NR1> |
SEQuence<n>:EDIT:CYCle
This command is used to set the cycle times for the file under editing.
Command Syntax | Parameters | Example | Query Syntax | Returns |
---|---|---|---|---|
SEQuence<n>:EDIT:CYCle <NR1> | <n> N refers to channel number. The range is from 1 to 24. NR1 Range: 0~100 | SEQ1:EDIT:CYCIe 0 | SEQ1:EDIT:CYCIe ? | <NR1> |
SEQuence<n>:EDIT:VOLTage
This command is used to set the output voltage for the step under editing.
Command Syntax | Parameters | Example | Query Syntax | Returns | Unit |
---|---|---|---|---|---|
SEQuence<n>:EDIT:VOLTage<NRf> | <n> N refers to channel number. The range is from 1 to 24. NRf Range: MIN~MAX | SEQ1:EDIT:VOLT 5 | SEQ1:EDIT:VOLT? | <NRf> | V |
SEQuence<n>:EDIT:OUTCURRent
This command is used to set the output current limit for the step under editing.
Command Syntax | Parameters | Example | Query Syntax | Returns | Unit |
---|---|---|---|---|---|
SEQuence<n>:EDIT:OUTCURRent<NRf> | <n> N refers to channel number. The range is from 1 to 24. NRf Range: MIN~MAX | SEQ1:EDIT:OUTCURR 500 | SEQ1:EDIT:OUTCURR? | <NRf> | mA |
SEQuence<n>:EDIT:Res
This command is used to set the resistance for the step under editing.
Command Syntax | Parameters | Example | Query Syntax | Returns | Unit |
---|---|---|---|---|---|
SEQuence<n>:EDIT:Res<NRf> | <n> N refers to channel number. The range is from 1 to 24. NRf Range: MIN~MAX | SEQ1:EDIT:R 0.4 | SEQ1:EDIT:R? | <NRf> | ΜΩ |
SEQuence<n>:EDIT:RUNTime
This command is used to set the running time for the step under editing.
Command Syntax | Parameters | Example | Query Syntax | Returns | Unit |
---|---|---|---|---|---|
SEQuence<n>:EDIT:RUNTime<NRf> | <n> N refers to channel number. The range is from 1 to 24. NRf Range: MIN~MAX | SEQ1:EDIT:RUNT 5 | SEQ1:EDIT:RUNT ? | <NRf> | s |
SEQuence<n>:EDIT:LINKStart
This command is used to set the required link start step after the present step is completed.
Command Syntax | Parameters | Example | Query Syntax | Returns |
---|---|---|---|---|
SEQuence<n>:EDIT:LINKStart<NR1> | <n> N refers to channel number. The range is from 1 to 24. NR1 Range: -1~200 | SEQ1:EDIT:LINKS -1 | SEQ1:EDIT:LINKS? | <NR1> |
SEQuence<n>:EDIT:LINKEnd
This command is used to set the link stop step for the step under editing.
Command Syntax | Parameters | Example | Query Syntax | Returns |
---|---|---|---|---|
SEQuence<n>:EDIT:LINKEnd<NR1> | <n> N refers to channel number. The range is from 1 to 24. NR1 Range: -1~200 | SEQ1:EDIT:LINKE -1 | SEQ1:EDIT:LINKE? | <NR1> |
SEQuence<n>:EDIT:LINKCycle
This command is used to set cycle times for the link.
Command Syntax | Parameters | Example | Query Syntax | Returns |
---|---|---|---|---|
SEQuence<n>:EDIT:LINKCycle<NR1> | <n> N refers to channel number. The range is from 1 to 24. NR1 Range: 0~100 | SEQ1:EDIT:LINKC 5 | SEQ1:EDIT:LINKC? | <NR1> |
SEQuence<n>:RUN:FILE
This command is used to set the sequence test file number.
Command Syntax | Parameters | Example | Query Syntax | Returns |
---|---|---|---|---|
SEQuence: RUN:FILE <NR1> | <n> N refers to channel number. The range is from 1 to 24. NR1 Range: file number 1 to 10 | SEQ1:RUN:FILE 3 | SEQ1:RUN:FILE? | <NR1> |
SEQuence<n>:RUN:STEP?
This command is used to query the present running step number.
Command Syntax | Parameters | Query Syntax | Returns |
---|---|---|---|
SEQuence<n>:RUN:STEP? | <n> N refers to channel number. The range is from 1 to 24. | SEQ1:RUN:STEP? | <NR1> |
SEQuence<n>:RUN:Time?
This command is used to query the running time for the sequence test file.
Command Syntax | Parameters | Query Syntax | Returns | Unit |
---|---|---|---|---|
SEQuence<n>:RUN:Time? | <n> N refers to channel number. The range is from 1 to 24. | SEQ1:RUN:T? | <NRf> | s |
5.7 SOC Commands
SOC<n>:EDIT:LENGth
This command is used to set the total operation steps.
Command Syntax | Parameters | Example | Query Syntax | Returns |
---|---|---|---|---|
SOC<n>:EDIT:LENGth<NR1> | <n> N refers to channel number. The range is from 1 to 24. NR1 Range: 0-200 | SOC1:EDIT:LENG 3 | SOC1:EDIT:LENG? | <NR1> |
SOC<n>:EDIT:STEP
This command is used to set the specific step number.
Command Syntax | Parameters | Example | Query Syntax | Returns |
---|---|---|---|---|
SOC<n>:EDIT:STEP<NR1> | <n> N refers to channel number. The range is from 1 to 24. NR1 Range: 1-200 | SOC1:EDIT:STEP 1 | SOC1:EDIT:STEP? | <NR1> |
SOC<n>:EDIT:VOLTage
This command is used to set voltage value for the step under editing.
Command Syntax | Parameters | Example | Query Syntax | Returns | Unit |
---|---|---|---|---|---|
SOC<n>:EDIT:VOLTage<NRf> | <n> N refers to channel number. The range is from 1 to 24. NRf Range: MIN~MAX | SOC1:EDIT:VOLT 2.8 | SOC1:EDIT:VOLT? | <NRf> | V |
SOC<n>:EDIT:OUTCURRent
This command is used to set output current limit for the step under editing.
Command Syntax | Parameters | Example | Query Syntax | Returns | Unit |
---|---|---|---|---|---|
SOC<n>:EDIT:OUTCURRent<NRf> | <n> N refers to channel number. The range is from 1 to 24. NRf Range: MIN~MAX | SOC1:EDIT: OUTCURR 2000 | SOC1:EDIT:OUTCURR? | <NRf> | mA |
SOC<n>:EDIT:Res
This command is used to set resistance value for the step under editing.
Command Syntax | Parameters | Example | Query Syntax | Returns | Unit |
---|---|---|---|---|---|
SOC<n>:EDIT:Res<NRf> | <n> N refers to channel number. The range is from 1 to 24. NRf Range: MIN~MAX | SOC1:EDIT:R 0.8 | SOC1:EDIT:R? | <NRf> | ΜΩ |
SOC<n>:EDIT:Q?
This command is used to set the capacity for the step under editing.
Command Syntax | Parameters | Query Syntax | Returns | Unit |
---|---|---|---|---|
SOC<n>:EDIT:Q<NRf> | <n> N refers to channel number. The range is from 1 to 24. NRf Range: MIN~MAX | SOC1:EDIT:Q? | <NRf> | mAh |
SOC<n>:EDIT:SVOLtage
This command is used to set the initial/start voltage.
Command Syntax | Parameters | Example | Query Syntax | Returns | Unit |
---|---|---|---|---|---|
SOC<n>:EDIT:SVOLtage<NRf> | <n> N refers to channel number. The range is from 1 to 24. NRf Range: MIN~MAX | SOC1:EDIT:SVOL 0.8 | SOC1:EDIT:SVOL? | <NRf> | V |
SOC<n>:RUN:STEP?
This command is used to query the present running step.
Command Syntax | Parameters | Query Syntax | Returns |
---|---|---|---|
SOC<n>:RUN:STEP? | <n> N refers to channel number. The range is from 1 to 24. | SOC1:RUN:STEP? | <NR1> |
SOC<n>:RUN:Q?
This command is used to query the present capacity for the present running step.
Command Syntax | Parameters | Query Syntax | Returns | Unit |
---|---|---|---|---|
SOC<n>:RUN:Q? | <n> N refers to channel number. The range is from 1 to 24. | SOC1:RUN:Q? | <NRf> | mAh |
6 Programming Examples
This chapter will describe how to control the battery simulator by programming commands.
Note 1: In this chapter, there are comments starting with //, following some commands. These comments cannot be recognized by the battery simulator, only for the convenience of understanding the corresponding commands. Therefore, it is not allowed to input comments including // in practice.
Note 2: There are 24 channels in total. For the below programming examples, it demonstrates functions of only channel number one.
6.1 Source Mode
Under Source mode, constant voltage and current limit value can be set.
Example: set the battery simulator to Source mode, CV value to 5V, output current limit to 1000mA and current range to Auto.
OUTPut1:ONOFF 0 //turn off the output for present channel
OUTPut1:MODE 0 //set operation mode to Source mode
SOURce1:VOLTage 5.0 //set CV value to 5.0 V
SOURce1:OUTCURRent 1000 //set output current limit to 1000mA
SOURce1:RANGE 3 //select 3-Auto for current range
OUTPut1:ONOFF 1 //turn on the output for channel 1
6.2 Charge Mode
Under Charge mode, constant voltage, current limit and resistance value can be set. The current range under charge mode is fixed as high range.
Example: set the battery simulator to Charge mode, CV value to 5V, output current limit to 1000mA and resistance value to 3.0mΩ.
OUTPut1:ONOFF 0 //turn off the output for present channel
OUTPut1:MODE 1 //set operation mode to Charge mode
CHARge1:VOLTage 5.0 //set CV value to 5.0 V
CHARge1:OUTCURRent 1000 //set output current limit to 1000mA
CHARge1: Res 3.0 //set resistance value to 3.0mΩ
OUTPut1:ONOFF 1 //turn on the output for channel 1
6.3 SOC Test
The main function of BCS SOC test is to simulate battery discharge function. Users need to input various parameters of battery discharge into the corresponding channels, such as capacity, constant voltage value, output current limit, and resistance value. The battery simulator judges whether the capacity difference of present running step and the next step is equal, according to the capacity of present running step. If equal, BCS will move to next step. If not equal, BCS will continue to accumulate the capacity for present running step. The capacity is determined by the connected DUT, that is, the output current.
Example: set the battery simulator to SOC mode, total steps to 3 and initial voltage to 4.8V. The steps parameters are as below table.
Step No. | Capacity(mAh) | CV Value(V) | Current(mA) | Resistance(mΩ) |
---|---|---|---|---|
1 | 1200 | 5.0 | 1000 | 0.1 |
2 | 1000 | 2.0 | 1000 | 0.2 |
3 | 500 | 1.0 | 1000 | 0.3 |
OUTPut1:ONOFF 0 //turn off the output for present channel
OUTPut1:MODE 3 //set operation mode to SOC mode
SOC1:EDIT: LENGth 3 //set total steps to 3
SOC1:EDIT: STEP 1 //set step No. to 1
SOC1:EDIT: Q 1200 //set capacity for step No. 1 to 1200mAh
SOC1:EDIT: VOLTage 5.0 //set CV Value for step No. 1 to 5.0V
SOC1:EDIT: OUTCURRent 1000 //set output current limit for step No. 1 to 1000mA
SOC1:EDIT: Res 0.1 //set resistance for step No. 1 to 0.1mΩ
SOC1:EDIT: STEP 2 //set step No. to 2
SOC1:EDIT: Q 1000 //set capacity for step No. 2 to 1000mAh
SOC1:EDIT: VOLTage 2.0 //set CV Value for step No. 2 to 2.0V
SOC1:EDIT: OUTCURRent 1000 //set output current limit for step No. 2 to 1000mA
SOC1:EDIT: Res 0.2 //set resistance for step No. 2 to 0.2mΩ
SOC1:EDIT: STEP 3 //set step No. to 3
SOC1:EDIT: Q 500 //set capacity for step No. 3 to 500mAh
SOC1:EDIT: VOLTage 1.0 //set CV Value for step No. 3 to 1.0V
SOC1:EDIT: OUTCURRent 1000 //set output current limit for step No. 3 to 1000mA
SOC1:EDIT: Res 0.3 //set resistance for step No. 3 to 0.3mΩ
SOC1:EDIT:SVOL 4.8 //set initial/start voltage to 4.8V
OUTPut1:ONOFF 1 //turn on the output for channel 1
6.4 SEQ Mode
The SEQ test mainly judges the number of running steps based on the selected SEQ file. It will run all the steps in sequence, according to the preset output parameters for each step. Links can also be made between steps. The corresponding cycle times can be set independently.
Example: set the battery simulator to SEQ mode, SEQ file No. to 1, total steps to 3 and file cycle times to 1. The steps parameters are as below table.
Step No. | CV Value(V) | Current(mA) | Resistance(mΩ) | Time(s) | Link Start Step | Link Stop Step | Link Cycle Times |
---|---|---|---|---|---|---|---|
1 | 1 | 2000 | 0.0 | 5 | -1 | -1 | 0 |
2 | 2 | 2000 | 0.1 | 10 | -1 | -1 | 0 |
3 | 3 | 2000 | 0.2 | 20 | -1 | -1 | 0 |
SOC1 RUN: STEP? //read the present running step No.
SOC1: RUN:Q? //read the capacity for present running step
OUTPut1:ONOFF 0 //turn off the output for present channel
OUTPut1:MODE 128 //set operation mode to SEQ mode
SEQuence1:EDIT:FILE 1 //set SEQ file No. to 1
SEQuence1:EDIT:LENGth 3 //set total steps to 3
SEQuence1:EDIT:CYCle 1 //set file cycle times to 1
SEQuence1:EDIT:STEP 1 //set step No. to 1
SEQuence1:EDIT:VOLTage 1.0 //set CV Value for step No. 1 to 1.0V
SEQuence1:EDIT:OUTCURRent 2000 //set output current limit for step No. 1 to 2000mA
SEQuence1:EDIT:Res 0.0 //set resistance for step No. 1 to 0mΩ
SEQuence1:EDIT:RUNTime 5 //set running time for step No. 1 to 5s
SEQuence1:EDIT:LINKStart -1 //set link start step for step No. 1 to -1
SEQuence1:EDIT:LINKEnd -1 //set link stop step for step No. 1 to -1
SEQuence1:EDIT:LINKCycle 0 //set link cycle times to 0
SEQuence1:EDIT:STEP 2 //set step No. to 2
SEQuence1:EDIT:VOLTage 2.0 //set CV Value for step No. 2 to 2.0V
SEQuence1:EDIT:OUTCURRent 2000 //set output current limit for step No. 2 to 2000mA
SEQuence1:EDIT:Res 0.1 //set resistance for step No. 2 to 0.1mΩ
SEQuence1:EDIT:RUNTime 10 //set running time for step No. 2 to 10s
SEQuence1:EDIT:LINKStart -1 //set link start step for step No. 2 to -1
SEQuence1:EDIT:LINKEnd -1 //set link stop step for step No. 2 to -1
SEQuence1:EDIT:LINKCycle 0 //set link cycle times to 0
SEQuence1:EDIT:STEP 3 //set step No. to 3
SEQuence1:EDIT:VOLTage 3.0 //set CV Value for step No. 3 to 3.0V
SEQuence1:EDIT:OUTCURRent 2000 //set output current limit for step No. 3 to 2000mA
SEQuence1:EDIT:Res 0.2 //set resistance for step No. 3 to 0.2mΩ
SEQuence1:EDIT:RUNTime 20 //set running time for step No. 3 to 20s
SEQuence1:EDIT:LINKStart -1 //set link start step for step No. 3 to -1
SEQuence1:EDIT:LINKEnd -1 //set link stop step for step No. 3 to -1
SEQuence1:EDIT:LINKCycle 0 //set link cycle times to 0
SEQuence1:RUN:FILE 1 //set the running SEQ file No. to 1
OUTPut1:ONOFF 1 //turn on the output for channel 1
SEQuence1: RUN:STEP? //read the present running step No.
SEQuence1: RUN:T? //read running time for present SEQ file No.
6.5 Measurement
There is a high-precision measurement system inside the battery simulator to measure output voltage, current, power and temperature.
MEASure1:CURRent? //Read the readback current for channel 1
MEASure1:VOLTage? //Read the readback voltage for channel 1
MEASure1:POWer? //Read the real-time power for channel 1
MEASure1:TEMPerature? //Read the real-time temperature for channel 1
MEAS2:CURR? //Read the readback current for channel 2
MEAS2:VOLT? //Read the readback voltage for channel 2
MEAS2:POW? //Read the real-time power for channel 2
MEAS2:TEMP? //Read the real-time temperature for channel 2
6.6 Factory Reset
Execute *RST command to do factory reset on battery simulator.
7 Error Information
7.1 Command Error
Error Code | Description |
---|---|
-100 | Command error: Undefined syntax error |
-101 | Invalid character: Invalid character in string |
-102 | Syntax error: Unrecognized command or data type |
-103 | Invalid separator: A separator is required. However the character sent is not a separator. |
-104 | Data type error: The present data type does not match the required type. |
-105 | GET not allowed: The group execution trigger (GET) is received in the program information. |
-106 | Semicolon unwanted: There are one or more extra semicolons. |
-107 | Comma unwanted: There are one or more extra commas. |
-108 | Parameter not allowed: The number of parameters exceeds the number required by the command. |
-109 | Missing parameter: The number of parameters is less than the number required by the command, or no parameters are inputted. |
-110 | Command header error: Undefined command header error |
-111 | Header separator error: A non-separator character is used in the place of the separator in the command header. |
-112 | Program mnemonic too long: The length of mnemonic exceeds 12 characters. |
-113 | Undefined header: Although the received command conforms to the regulations in terms of syntax structure, it is not defined in this instrument. |
-114 | Header suffix out of range: The suffix of command header is out of range. |
-115 | Command can not query: There is no query form for the command. |
-116 | Command must query: The command must be in query form. |
-120 | Numeric data error: Undefined numeric data error |
-121 | Invalid character in number: A data character that is not accepted by the current command appears in the numerical data. |
-123 | Exponent too large: The absolute value of exponent exceeds 32,000. |
-124 | Too many digits: Excluding the leading 0 in decimal data, the data length exceeds 255 characters. |
-128 | Numeric data not allowed: Numerical data in the correct format is received at a location that does not accept numerical data. |
-130 | Suffix error: Undefined suffix error |
-131 | Invalid suffix: The suffix does not follow the syntax defined in IEEE 488.2, or the suffix is not suitable for E5071C. |
-134 | Suffix too long: The suffix is longer than 12 characters. |
-138 | Suffix not allowed: A suffix is added to the values that are not allowed to be suffixed. |
-140 | Character data error: Undefined character data error |
-141 | Invalid character data: An invalid character was found in the character data, or an invalid character was received. |
-144 | Character data too long: The character data is longer than 12 characters. |
-148 | Character data not allowed: The character data in the correct format is received at the position where the instrument does not accept character data. |
-150 | String data error: Undefined string data error |
-151 | Invalid string data: The string data that appears is invalid for some reason. |
-158 | String data not allowed: String data is received at the position where this instrument does not accept string data. |
-160 | Block data error: Undefined block data error |
-161 | Invalid block data: The block data that appears is invalid for some reason. |
-168 | Block data not allowed: Block data is received at the position where this instrument does not accept block data. |
-170 | Expression error: Undefined expression error |
-171 | Invalid expression: The expression is invalid. For example, the brackets are not paired or illegal characters are used. |
-178 | Expression data not allowed: Expression data is received at the position where this instrument does not accept expression data. |
-180 | Macro error: Undefined macro error |
-181 | Invalid outside macro definition: There is a macro parameter placeholder $ outside the macro definition. |
-183 | Invalid inside macro definition: There is syntax error in macro definition (*DDT,*DMC). |
-184 | Macro parameter error: Parameter number or parameter type is incorrect. |
7.2 Execution Error
Error Code | Description |
---|---|
-200 | Execution error: An error is generated that is related to execution and cannot be defined by this instrument. |
-220 | Parameter error: Undefined parameter error |
-221 | Setting conflict: The command was successfully parsed. But it can not be executed due to the current device status. |
-222 | Data out of range: Data is out of range. |
-224 | Illegal parameter value: The parameter is not included in the list of optional parameters for the current command. |
-225 | Out of memory: The available memory in this instrument is insufficient to perform the selected operation. |
-232 | Invalid format: Data format is invalid. |
-240 | Hardware error: Undefined hardware error |
-242 | Calibration data lost: Calibration data is lost. |
-243 | NO reference: There is no reference voltage. |
-256 | File name not found: The file name cannot be found. |
-259 | Not selected file: There are no optional files. |
-295 | Input buffer overflow: The input buffer is overflowing. |
-296 | Output buffer overflow: The output buffer is overflowing. |