6.1 CANopen PDO protocol

Version 5.1 by Admin on 2024/12/17 08:19

Communication protocols

CANopen PDO protocol

General information

The BMS Mini device supports CiA 301 CANopen protocol for configuring and monitoring the battery system.

The communication parameters of the device are:

  • CAN speed – 125, 250 (by default), 500 or 1000 kbps.
  • COBID of the device (by default) – 32 (0x20).

The BMS Mini supports the following features:

  • SDO protocol (for configuring the system);
  • PDO protocol (for interacting with external devices);
  • Sync;
  • Heartbeat producer;
  • Heartbeat consumer.

The BMS Mini transmits TPDO packets on every Sync message (CANID = 0x80, data length is 0). The device can send Sync messages itself.

There is the description of the parameters in the TPDO packets below. Column "Parameter type" contains an integer type of the parameter:

  • U8 – unsigned 8–bit integer;
  • U16 – unsigned 16–bit integer;
  • S16 – signed 16–bit integer;
  • U32 – unsigned 32–bit integer.

Words are in the little endian.

CANopen PDO dbc file

TPDO packets

CANID = 0x180+COBID (0x1A0 by default)

Packet length – 8 bytes.

Packet content:

Byte numberParameter nameParameter typeConverting
0

Discrete input signals 1 (bitfield):

bit 0 – “Battery cover”;

bit 1 – “Charger connected”;

bit 2 – “Power up/down request”;

bit 3 – “Inhibit charging”;

bit 4 – “Inhibit discharging”;

bit 5 – reserved (set to 0);

bit 6 – reserved (set to 0);

bit 7 – “Insulation status”.

U8 
1–2Battery currentS160.1A/bit
3Minimum cell temperatureS81ºC/bit
4Maximum cell temperatureS81ºC/bit
5State of charge (SOC)U81%/bit
6–7Battery voltageU160.1V/bit

CANID = 0x280+COBID (0x2A0 by default)

Packet length – 8 bytes.

Packet content:

Byte numberParameter nameParameter typeConverting
0–3

Internal signals (bitfield):

bit 0 – “Low SOC”;

bit 1 – “High charging current”;

bit 2 – “Charging” (0 – open, 1 – closed);

bit 3 – “Allow charging” (0 – open, 1 – closed);

bit 4 – “Charging current present”;

bit 5 – “Discharging” (0 – open, 1 – closed);

bit 6 – “Discharging current present”;

bit 7 – “Voltage too high” (EV);

bit 8 – “Heater” (0 – off, 1 – on);

bit 9 – “Cooler” (0 – off, 1 – on);

bit 10 – “HYG shutdown”, command from the HYG forklift to open the discharging contactor;

bit 11 – “Init”, initialization signal (during the initialization current sensor is calibrating and BMS Logic devices are scanning);

bit 12 – “Precharging” (0 – open, 1 – closed);

bit 13 – “Combilift shutdown”, command from the Combilift forklift to open the discharging contactor;

bit 14 – “Cell analysis”, signal of started analysis of the cells;

bit 15 – reserved (set to 0);

bit 16 – reserved (set to 0);

bit 17 – “Discharging (AUX)” (0 – open, 1 – closed);

bit 18 – “Acknowledgement of power down”;

bit 19 – “Crown EWS”;

bit 20 – “Main contactor” (0 – open, 1 – closed);

bit 21 – “Service reset”;

bit 22 – “Charging/Discharging” (0 – open, 1 – closed);

bit 23 – “Ready to charge” (the voltage of the cells is less than the threshold value and there are no errors that prohibit charging);

bit 24 – “Ready to discharge” (the voltage of the cells is greater than the threshold value and there are no errors that prohibit discharging);

bit 25 – “Power up”;

bit 26 – “External 1”;

bits 27–31 – reserved.

U32 
4–7

Errors register 1 (bitfield):

bit 0 – “Overcurrent”;

bit 1 – “Undervoltage”;

bit 2 – “Overvoltage”;

bit 3 – “Low DCH temperature”, temperature is too low for discharging;

bit 4 – “High DCH temperature”, temperature is too high for discharging;

bit 5 – “Battery cover”;

bit 6 – reserved (set to 0);

bit 7 – reserved (set to 0);

bit 8 – reserved (set to 0);

bit 9 – “Cell monitor offline”, connection with the cell monitor is lost;

bit 10 – “Critical error”;

bit 11 – “Crown error”, connection with the Crown forklift is lost;

bit 12 – “Cell count error”, number of cells is incorrect;

bit 13 – “HYG offline”, connection with the HYG forklift is lost;

bit 14 – “Need acknowledgement”, errors were detected in the past and should be acknowledged;

bit 15 – “Combilift offline”, connection with the Combilift forklift is lost;

bit 16 – “Short circuit”;

bit 17 – “High contactor temperature”, the discharging contactor is overheated;

bit 18 – reserved (set to 0);

bit 19 – “ADC error”, battery current cannot be measured by the ADC;

bit 20 – “Current sensor error”, wires which connect the current sensor with the BMS are damaged;

bit 21 – “CH contactor cycles error”, the charging contactor switches very often;

bit 22 – “DCH contactor cycles error”, the discharging contactor switches very often;

bit 23 – “Shunt offline”, connection with the BMS Current sensor is lost;

bit 24 – “Shunt error”, internal error of the BMS Current sensor;

bit 25 – reserved (set to 0);

bit 26 – “WDT reset”, device is reset by the watchdog timer;

bit 27 – “No temperature sensors”;

bit 28 – “Temperature sensor is shorted”;

bit 29 – “Spirit offline”, connection with the Spirit truck is lost;

bits 30–31 – reserved.

U32 

CANID = 0x380+COBID (0x3A0 by default)

Packet length – 8 bytes.

Packet content:

Byte numberParameter nameParameter typeConverting
0–3

Errors register 2 (bitfield):

bit 0 – “Low CH temperature”, temperature is too low for charging;

bit 1 – “High CH temperature”, temperature is too high for charging;

bit 2 – “SD mount error”;

bit 3 – “SD read/write error”;

bit 4 – “Unallowable charging”, charging the battery through the discharging contactor;

bit 5 – “Stuck contactor”;

bit 6 – reserved (set to 0);

bit 7 – reserved (set to 0);

bit 8 – “Insulation fault”;

bit 9 – reserved (set to 0);

bit 10 – reserved (set to 0);

bit 11 – reserved (set to 0);

bit 12 – "Contactor feedback error";

bit 13 – “General error”;

bit 14 – reserved (set to 0);

bit 15 – reserved (set to 0);

bit 16 – reserved (set to 0);

bit 17 – "Precharge error";

bit 18 – reserved (set to 0);

bit 19 – "Current limit error";

bits 20-31 — reserved.

U32 
4-5

Discrete input signals 2 (bitfield):

bit 0 – “Charge request”;

bit 1 – “Precharge request”;

bit 2 – “Discharge request”;

bit 3 – reserved (set to 0);

bit 4 – reserved (set to 0);

bit 5 – reserved (set to 0);

bit 6 – “Interlock”;

bit 7 – “Fuse 1”;

bit 8 – “Fuse 2”;

bit 9 – “Fuse 3”;

bit 10 – “Circuit breaker status”;

bit 11 – "Balancing request";

bit 12 – "Close Main contactor";

bit 13 – "Close External 1";

bits 14-15 – reserved.

U16 
6-7ReservedU16