6.1 Протокол CANopen PDO
Communication protocols
CANopen PDO protoco
Общая информация
Устройство BMS Mini S / BMS Mini реализует протокол CiA 301 CANopen для настройки и чтения состояния АКБ и BMS.
Основные характеристики:
- Поддерживаются стандартные 11-ти битные идентификаторы сообщений.
- Скорость обмена – 125, 250 (по умолчанию), 500 или 1000 кбит/с.
- Идентификатор COBID платы по умолчанию – 32 (0x20).
Поддерживаемые режимы передачи данных:
- SDO (для настройки платы).
- PDO (для обмена данными с другими элементами системы).
- Sync (настраивается).
- Heartbeat producer (настраивается).
- Heartbeat consumer (используется для контроля активности других устройств на шине CAN).
Передача данных PDO выполняется по сигналу синхронизации (CANID = 0x80, длина данных 0). Плата может сама выступать источником сигнала синхронизации (режим Sync).
Ниже даётся описание параметров, передаваемых в режиме PDO. В колонке «Тип параметра»:
- U8 – беззнаковое 8-разрядное число;
- U16 – беззнаковое 16-разрядное число;
- S16 – знаковое 16-разрядное число;
- U32 – беззнаковое 32-разрядное число.
Порядок байт в словах – от младшего к старшему (little endian).
Пакеты TPDO
CANID = 0x180+COBID (по умолчанию 0x1A0 by default)
Длина пакета – 8 байт.
Содержимое пакета:
Byte number | Parameter name | Parameter type | Converting |
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–2 | Battery current | S16 | 0.1A/bit |
3 | Minimum cell temperature | S8 | 1ºC/bit |
4 | Maximum cell temperature | S8 | 1ºC/bit |
5 | State of charge (SOC) | U8 | 1%/bit |
6–7 | Battery voltage | U16 | 0.1V/bit |
CANID = 0x280+COBID (0x2A0 by default)
Длина пакета – 8 байт.
Содержимое пакета:
Byte number | Parameter name | Parameter type | Converting |
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)
Длина пакета – 8 байт.
Содержимое пакета:
Byte number | Parameter name | Parameter type | Converting |
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-7 | Reserved | U16 |