Battery Cycling Language
{
"parameters": {
"Capacity": 2.5,
"UpperCutoffVoltage": 4.2
},
"instructions": [
{
"sequence": [
{
"type": "ElectricCurrent",
"value": -1,
"unit": "CRate",
"termination": [
{
"type": "Voltage",
"value": "UpperCutoffVoltage",
"unit": "Volt"
}
]
}
]
}
],
"name": "MinimalExample",
}
{
"@context": "https://w3id.org/emmo/domain/battery/context",
"schema:name": "Cyclelifecondition",
"schema:subjectOf": "LG Chem INR18650 MJ1",
"@id": "https://www.wikidata.org/wiki/Q120766894",
"schema:citation": "Specification INR18650MJ1 22.08.2014.pdf",
"description": "Example cycling procedure for a battery.",
"uniqueIdentifier": "123e4567-e89b-12d3-a456-426614174000",
"hasTask": [
{
"@type": ["ConstantCurrentConstantVoltageCycling", "IterativeWorkflow"],
"rdfs:label": "HighDrainrateChargeDischargecondition",
"rdfs:comment": "A cycling test using high drain rate",
"hasMeasurementParameter": {
"@type": "NumberOfIterations",
"hasNumericalPart": {
"@type": "Real",
"hasNumericalValue": 400
},
"hasMeasurementUnit": "emmo:UnitOne"
},
"hasTask": {
"@type": "ConstantCurrentCharging",
"hasMeasurementParameter": [
{
"@type": "ChargingCurrent",
"hasNumericalPart": {
"@type": "Real",
"hasNumericalValue": 1.5
},
"hasMeasurementUnit": "emmo:Ampere"
},
{
"@type": "UpperVoltageLimit",
"hasNumericalPart": {
"@type": "Real",
"hasNumericalValue": 4.2
},
"hasMeasurementUnit": "emmo:Volt"
}
],
"nextTask": [
{
"@type": "RestingStep",
"hasMeasurementParameter": [
{
"@type": "RestingTime",
"hasNumericalPart": {
"@type": "Real",
"hasNumericalValue": 600
},
"hasMeasurementUnit": "emmo:Second"
}
],
"nextTask": [
{
"@type": "ConstantCurrentDischarging",
"hasMeasurementParameter": [
{
"@type": "DischargingCurrent",
"hasNumericalPart": {
"@type": "Real",
"hasNumericalValue": 4.0
},
"hasMeasurementUnit": "emmo:Ampere"
},
{
"@type": "LowerVoltageLimit",
"hasNumericalPart": {
"@type": "Real",
"hasNumericalValue": 2.5
},
"hasMeasurementUnit": "emmo:Volt"
}
]
}
]
}
]
}
}
]
}
The optional Metadata section should contain additional information about the cell/battery.
| Property | Type | Description |
|---|---|---|
| Description | str | Optional. Brief description of the synthesis. |
| UniqueIdentifier | str | Optional. For example with UUID. |
| AnodeChemistry | str | Optional. Chemistry of the anode |
| CathodeChemistry | str | Optional. Chemistry of the cathode |
The optional Hardware section should contain extra information about the equipment the test was performed on or is intended to run on.
| Property | Type | Description |
|---|---|---|
| Manufacturer | str | Optional. Manufacturer of the test equipment. |
| Maximum Current | str | Optional. Maximum current of the test equipment. |
| Current Accuracy | str | Optional. Accuracy of the current measurement of a calibrated device according to the manufacturer. |
The Parameters section defines parameters of the battery to be used in the test.
| Property | Type | Description |
|---|---|---|
| Capacity | float | Nominal or rated Capacity in Ah of either battery. Necessary to use C-Rates. |
| NumberOfCellsConnectedInSeries | int | How many cells are in series. If single cell, it is 1. |
| StandardVoltageCell | float | Nominal or standard voltage |
| LowerCutoffVoltage | float | Optional. Minimum cell voltage limit at which an applied signal is reversed or terminated. |
| UpperCutoffVoltage | float | Optional. Voltage in V attained at the end of a charging step. |
All steps included may be given within the BatteryCycling block of a BCL file.
The instruction consists of sequences. Sequences can have loops but the default is no repetition (1).
There are several types of blocks within a sequence: "ElectricCurrent", "Voltage", "Rest". #Update
| Property | Type | Description |
|---|---|---|
| type | string | "ElectricCurrent", "Voltage", "Rest" |
| value | float | Value of the block |
| unit | string | Example ElectricCurrent:Ampere, Voltage:Volt, Rest:Second for also CRate for "ElectricCurrent" |
| termination | block | See below |
| Property | Type | Description |
|---|---|---|
| type | string | "ElectricCurrent", "Voltage", "Rest" |
| value | float | Value of the block |
| unit | string | Example ElectricCurrent:Ampere, Voltage:Volt, Rest:Second |