Files
controller-wisetopdataserver/python/res/devlib/json/Elite_EDC_1.4.devlib.json
T
2022-07-29 11:24:29 +08:00

539 lines
12 KiB
JSON

{
"name": "Elite_EDC_1.4",
"version": "1.2.30",
"match_rule": {
"local_name_pattern": "Elite.*",
"major_product_number": 0,
"minor_product_number": 2,
"major_version_number": 1,
"minor_version_number": 5
},
"constant": {
"ADC_CHANNEL_NUMBER": [
12,
13,
14,
15
],
"VOLT_MAX": 65536,
"STEP_MAX": 1000,
"Const_Current_Range": 1500001
},
"parameters": {
"CHANNEL": {
"description": "record channels",
"record_meta": true,
"domain": "property",
"value": "[0, 1, 2]"
},
"CHANNEL_LABEL": {
"description": "channel label",
"record_meta": true,
"domain": "property",
"value": "['current', 'voltage', 'impedance']"
},
"SAMPLE_RATE": {
"description": "data sampling rate",
"record_meta": true,
"value": [
100,
10,
5,
1,
0.1,
0.01
],
"on_change": "set_sample_rate"
},
"AMP_GAIN": {
"description": "amp gain",
"record_meta": true,
"domain": "constant",
"value": 1
},
"MODE": {
"description": "working mode",
"record_meta": true,
"value": [
"I-V Curve",
"Cycle I-V",
"Function Generator",
"R-T Graph",
"V-T Graph",
"I-T Graph",
"ADC test",
"Constant Current",
"Cyclic Voltammetry",
"Cyclic Voltammetry-hi-cycles",
"Linear Sweep Voltammetry",
"Chronoamperometric Graph"
]
},
"VOLT_ORIGIN": {
"description": "Origin Voltage of Scan",
"record_meta": true,
"initial": 25000,
"domain": [
"VOLT_MAX"
],
"value": {
"expression": "(VALUE) * 0x0001"
}
},
"VOLT_FINAL": {
"description": "The last Voltage of Scan",
"record_meta": true,
"initial": 25000,
"domain": [
"VOLT_MAX"
],
"value": {
"expression": " (VALUE) * 0x0001"
}
},
"VOLT_STEP": {
"description": "Voltage Step",
"record_meta": true,
"initial": 0,
"domain": [
"STEP_MAX"
],
"value": {
"expression": "(VALUE + 1) * 2 * 0x0001"
}
},
"STEP_TIME": {
"description": "How much time between two step",
"record_meta": true,
"initial": 1,
"value": [
0.5,
1.0,
2.0
]
},
"CYCLE_NUMBER": {
"description": "CV cycle number",
"record_meta": true,
"initial": 0,
"domain": [
250
],
"value": {
"expression": "VALUE + 1"
}
},
"DAC_VOLT": {
"description": "DAC output Voltage",
"record_meta": true,
"initial": 25000,
"domain": [
65536
]
},
"ADC_CHANNEL": {
"description": "read ADC data",
"record_meta": true,
"value": [
"ANA0",
"ANA1",
"ANA2",
"ANA3"
]
},
"ADC_LEVEL": {
"description": "ADC level",
"record_meta": true,
"initial": 3,
"value": [
"200k",
"10k",
"200R",
"auto"
],
"on_change": "set_adc_gain"
},
"Resister_LEVEL": {
"description": "Resister_LEVEL",
"record_meta": true,
"initial": 3,
"value": [
"Small",
"Middle",
"Large",
"Auto"
],
"on_change": "set_Resister_level"
},
"ADC_VALUE_V": {
"description": "ADC value voltage value",
"domain": "int"
},
"ADC_VALUE_I": {
"description": "ADC value current value",
"domain": "int"
},
"Const_Current_unit": {
"description": "Constant Current unit Setting",
"initial": 1,
"value": [
"uA",
"mA"
]
},
"Const_Current_value": {
"description": "Constant Current value Setting",
"record_meta": true,
"initial": 0,
"domain": [
"Const_Current_Range"
],
"value": {
"expression": "(VALUE) * 0x00000001"
}
},
"Charge": {
"description": "Charge battery or not",
"record_meta": true,
"initial": 1,
"value": [
"Discharge",
"Charge"
]
},
"Const_Current_VStop": {
"description": "Constant Current Stopping Voltage",
"initial": 0,
"domain": [
"VOLT_MAX"
],
"value": {
"expression": "(VALUE) * 0x0001"
}
},
"VOLT_INITIAL": {
"description": "Initial Voltage of Scan",
"record_meta": true,
"initial": 25000,
"domain": [
"VOLT_MAX"
],
"value": {
"expression": "(VALUE) * 0x0001"
}
},
"VOLT_EFINAL": {
"description": "Final Voltage of Scan",
"record_meta": true,
"initial": 25000,
"domain": [
"VOLT_MAX"
],
"value": {
"expression": "(VALUE) * 0x0001"
}
},
"VOLT_MAX": {
"description": "Max Voltage of Scan",
"record_meta": true,
"initial": 27500,
"domain": [
"VOLT_MAX"
],
"value": {
"expression": "(VALUE) * 0x0001"
}
},
"VOLT_MIN": {
"description": "Min Voltage of Scan",
"record_meta": true,
"initial": 22500,
"domain": [
"VOLT_MAX"
],
"value": {
"expression": "(VALUE) * 0x0001"
}
},
"Scan_Rate": {
"description": "Voltage Scan Rate",
"record_meta": true,
"initial": 9999,
"domain": [
100000
],
"value": {
"expression": "(VALUE + 1) * 0x0001"
}
},
"Data_Resolution_Scan": {
"description": "Data Resolution Scan Rate",
"record_meta": true,
"initial": 999,
"domain": [
"STEP_MAX"
],
"value": {
"expression": "(VALUE + 1) * 0x0001"
}
},
"CURRNET_LIMIT_VALUE": {
"description": "Current value Setting",
"initial":1500000,
"domain": [
"Const_Current_Range"
],
"value": {
"expression": "(VALUE) * 0x00000001"
}
},
"VOLTSTOP_MAX": {
"description": "Max Voltage of Scan",
"record_meta": true,
"initial": 50000,
"domain": [
"VOLT_MAX"
],
"value": {
"expression": "(VALUE) * 0x0001"
}
},
"VOLTSTOP_MIN": {
"description": "Min Voltage of Scan",
"record_meta": true,
"initial": 0,
"domain": [
"VOLT_MAX"
],
"value": {
"expression": "(VALUE) * 0x0001"
}
},
"VOLT_VSCAN": {
"description": "Voltage of VScan",
"record_meta": true,
"initial": 25000,
"domain": [
"VOLT_MAX"
],
"value": {
"expression": "(VALUE) * 0x0001"
}
}
},
"instruction": {
"start": [
{
"expression": "MODE",
"when": {
"2": "start_fun_gen",
"6": "adc_test",
"*": "start_data"
}
}
],
"start_fun_gen": [
"data_format",
"func_gen",
"VIS_STI"
],
"adc_test": [
"adc_test0",
"_cdr('1X;4X>ADC_VALUE_I;4X>ADC_VALUE_V')"
],
"start_data": [
"data_format",
"_notify(True)",
"set_sample_rate",
{
"expression": "MODE",
"when": {
"0": "curve_iv",
"1": "curve_cv",
"3": "curve_zt",
"4": "curve_vt",
"5": "curve_it",
"7": "const_current",
"8": "curve_cv3",
"9": "curve_cv3_high_cycle",
"10": "curve_lsv",
"11": "curve_const_vscan"
}
},
{
"expression": "MODE",
"when": {
"8": "curve_cv3_para2"
}
},
"_sync(True)",
"VIS_STI"
],
"data_format": [
"_data_format('I4V4Z4T4')",
{
"expression": "MODE",
"when": {
"0": "_disable_cache(True)",
"1": "_disable_cache(True)",
"*": "_disable_cache(False)"
}
}
],
"curve_iv": {
"type": "RIS",
"parameter": {
"va": "(VOLT_ORIGIN) * 0x0001",
"vb": "(VOLT_FINAL) * 0x0001",
"dv": "(VOLT_STEP + 1) * 2 * 0x0001",
"dt": "STEP_TIME * 0x12"
},
"data": [
"1X10;2B>va;2B>vb;2B>dv;B>dt"
]
},
"curve_cv": {
"type": "RIS",
"parameter": {
"va": "(VOLT_ORIGIN) * 0x0001",
"vb": "(VOLT_FINAL) * 0x0001",
"dv": "(VOLT_STEP + 1) * 2 * 0x0001",
"dt": "STEP_TIME * 0x12",
"cn": "CYCLE_NUMBER+1"
},
"data": [
"1X20;2B>va;2B>vb;2B>dv;B>dt;B>cn"
]
},
"func_gen": {
"type": "RIS",
"parameter": {
"v": "(DAC_VOLT) * 0x0001"
},
"data": [
"X30;2B>v"
]
},
"curve_zt": {
"type": "RIS",
"data": [
"X40"
]
},
"curve_vt": {
"type": "RIS",
"data": [
"X50"
]
},
"curve_it": {
"type": "RIS",
"data": [
"X60"
]
},
"adc_test0": {
"type": "RIS",
"data": [
"X90;B>ADC_LEVEL;B>ADC_CHANNEL"
]
},
"set_sample_rate": {
"type": "RIS",
"data": [
"X70;B>SAMPLE_RATE"
]
},
"set_adc_gain": {
"type": "RIS",
"data": [
"X80;B>ADC_LEVEL"
]
},
"set_Resister_level": {
"type": "RIS",
"data": [
"XE0;B>Resister_LEVEL"
]
},
"const_current": {
"type": "RIS",
"data": [
"XD0;B>Charge;4X>Const_Current_value;2X>VOLTSTOP_MAX;2X>VOLTSTOP_MIN"
]
},
"curve_cv3": {
"type": "RIS",
"parameter": {
"va": "(VOLT_INITIAL) * 0x0001",
"vb": "(VOLT_MAX) * 0x0001",
"vc": "(VOLT_MIN) * 0x0001",
"ve": "(Scan_Rate + 1) * 0x0001",
"vf": "(Data_Resolution_Scan + 1) * 0x0001",
"vg": "(CURRNET_LIMIT_VALUE) * 10 * 0x00000001",
"cn": "CYCLE_NUMBER+1"
},
"data": [
"1XC0;1X01;2B>va;2B>vb;2B>vc;"
]
},
"curve_cv3_para2": {
"type": "RIS",
"parameter": {
"va": "(VOLT_INITIAL) * 0x0001",
"vb": "(VOLT_MAX) * 0x0001",
"vc": "(VOLT_MIN) * 0x0001",
"ve": "(Scan_Rate + 1) * 0x0001",
"vf": "(Data_Resolution_Scan + 1) * 0x0001",
"vg": "(CURRNET_LIMIT_VALUE) * 10 * 0x00000001",
"cn": "CYCLE_NUMBER+1"
},
"data": [
"1XC0;1X02;4B>ve;2B>vf;4B>vg;B>cn"
]
},
"curve_cv3_high_cycle": {
"type": "RIS",
"parameter": {
"va": "(VOLT_INITIAL) * 0x0001",
"vb": "(VOLT_MAX) * 0x0001",
"vc": "(VOLT_MIN) * 0x0001",
"ve": "(Scan_Rate + 1) * 0x0001",
"vf": "(Data_Resolution_Scan + 1) * 0x0001",
"vg": "(CURRNET_LIMIT_VALUE) * 10 * 0x00000001",
"cn": "CYCLE_NUMBER+1"
},
"data": [
"1X01;2B>va;2B>vb;2B>vc;4B>ve;2B>vf;4B>vg;B>cn"
]
},
"curve_lsv": {
"type": "RIS",
"parameter": {
"va": "(VOLT_INITIAL) * 0x0001",
"vb": "(VOLT_EFINAL) * 0x0001",
"vc": "(Scan_Rate + 1) * 0x0001",
"vd": "(Data_Resolution_Scan + 1) * 0x0001",
"ve": "(CURRNET_LIMIT_VALUE) * 10 * 0x00000001",
"cn": "CYCLE_NUMBER+1"
},
"data": [
"1X02;2B>va;2B>vb;4B>vc;2B>vd;4B>ve;B>cn"
]
},
"curve_const_vscan": {
"type": "RIS",
"parameter": {
"va": "(VOLT_VSCAN) * 0x0001",
"vd": "(Data_Resolution_Scan + 1) * 0x0001"
},
"data": [
"1X03;2B>va;2B>vd"
]
}
}
}