6.1 Протокол CANopen PDO

Редактировал(а) Admin 2025/02/28 09:54

Communication protocols

CANopen PDO protoco

CANopen_PDO_Main_Mini.dbc 

Общая информация

Устройство 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)

Длина пакета – 8 байт.

Содержимое пакета:

БайтИмя параметраТип параметраКодирование
0

Дискретные входы 1 (битовое поле):

бит 0 – сигнал «Открыта АКБ»;

бит 1 – сигнал «Подключено ЗУ»;

бит 2 – сигнал «Запрос на отключение питания»;

бит 3 – сигнал «Запрет заряда»;

бит 4 – сигнал «Запрет разряда»;

бит 5 – сигнал «Обратная связь контактора заряда»;

бит 6 – сигнал «Обратная связь контактора разряда»;

бит 7 – сигнал «Статус контроля изоляции».

U8 
1-2Ток через АКБS160,1А/бит
3Минимальная температура ячейкиS81ºC/бит
4Максимальная температура ячейкиS81ºC/бит
5Степень заряда АКБ (SOC)U81%/бит
6-7Напряжение АКБU160,1В/бит

CANID = 0x280+COBID (по умолчанию 0x2A0)

Длина пакета – 8 байт.

Содержимое пакета:

БайтИмя параметраТип параметраКодирование
0–3

Флаги состояния (битовое поле):

бит 0 – сигнал «SOC ниже заданного уровня»;

бит 1 – сигнал «Ток заряда выше заданного уровня»;

бит 2 – состояние контактора заряда (0 – разомкнуто, 1 – замкнуто);

бит 3 – сигнал «Разрешение ЗУ»;

бит 4 – сигнал «Заряд АКБ» (детектируется ток заряда);

бит 5 – состояние контактора разряда (0 – разомкнуто, 1 – замкнуто);

бит 6 – сигнал «Разряд АКБ» (детектируется ток разряда);

бит 7 – сигнал «Повышенное напряжение» (EV);

бит 8 – сигнал «Нагрев АКБ»;

бит 9 – сигнал «Охлаждение АКБ»;

бит 10 – сигнал на отключение контактора разряда от погрузчика HYG;

бит 11 – сигнал об инициализации платы (во время инициализации калибруется датчик тока и сканируются платы BMS Logic);

бит 12 – состояние контактора предзаряда;

бит 13 – сигнал на отключение контактора разряда от погрузчика Combilift;

бит 14 – сигнал о запущенном процессе анализа ячеек (Cell analysis);

бит 15 – зарезервировано (установлено в 0);

бит 16 – зарезервировано (установлено в 0);

бит 17 – состояние дополнительного (AUX) контактора разряда (0 – разомкнуто, 1 – замкнуто);

бит 18 – подтверждение отключения питания;

бит 19 – сигнал EWS от погрузчика Crown;

бит 20 – состояние главного контактора (0 – разомкнут, 1 - замкнут);

бит 21 – сигнал служебного сброса системы;

бит 22 – состояние комбинированного контактора заряда/разряда (0 – разомкнуто, 1 – замкнуто);

бит 23 – сигнал «Готовность заряжаться»;

бит 24 – сигнал «Готовность разряжаться»;

бит 25 – сигнал “Power up”;

бит 26 – сигнал “External 1”;

биты 27–31 – зарезервировано.

U32 
4–7

Регистр ошибок 1 (битовое поле):

бит 0 – ошибка «Превышение тока»;

бит 1 – ошибка «Низкое напряжение»;

бит 2 – ошибка «Высокое напряжение»;

бит 3 – ошибка «Низкая температура (разряд)»;

бит 4 – ошибка «Высокая температура (разряд)»;

бит 5 – ошибка «Открыта крышка АКБ»;

бит 6 – ошибка «Повышенная влажность»;

бит 7 – ошибка «Вода»;

бит 8 – зарезервировано (установлено в 0);

бит 9 – ошибка “Cell monitor offline”, connection with the cell monitor is lost;

бит 10 – “Critical error”;

бит 11 – “Crown error”, connection with the Crown forklift is lost;

бит 12 – “Cell count error”, number of cells is incorrect;

бит 13 – “HYG offline”, connection with the HYG forklift is lost;

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

бит 15 – “Combilift offline”, connection with the Combilift forklift is lost;

бит 16 – “Short circuit”;

бит 17 – “High contactor temperature”, the discharging contactor is overheated;

бит 18 – зарезервировано (установлено в 0);

бит 19 – “ADC error”, battery current cannot be measured by the ADC;

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

бит 21 – “CH contactor cycles error”, the charging contactor switches very often;

бит 22 – “DCH contactor cycles error”, the discharging contactor switches very often;

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

бит 24 – “Shunt error”, internal error of the BMS Current sensor;

бит 25 – зарезервировано (установлено в 0);

бит 26 – “WDT reset”, device is reset by the watchdog timer;

бит 27 – “No temperature sensors”;

бит 28 – “Temperature sensor is shorted”;

бит 29 – “Spirit offline”, connection with the Spirit truck is lost;

bits 30–31 – зарезервировано.

U32 

CANID = 0x380+COBID (по умолчанию 0x3A0)

Длина пакета – 8 байт.

Содержимое пакета:

БайтИмя параметраТип параметраКодирование
0–3

Errors register 2 (bitfield):

бит 0 – “Low CH temperature”, temperature is too low for charging;

бит 1 – “High CH temperature”, temperature is too high for charging;

бит 2 – “SD mount error”;

бит 3 – “SD read/write error”;

бит 4 – “Unallowable charging”, charging the battery through the discharging contactor;

бит 5 – “Stuck contactor”;

бит 6 – зарезервировано (установлено в 0);

бит 7 – зарезервировано (установлено в 0);

бит 8 – “Insulation fault”;

бит 9 – зарезервировано (установлено в 0);

бит 10 – зарезервировано (установлено в 0);

бит 11 – зарезервировано (установлено в 0);

бит 12 – "Contactor feedback error";

бит 13 – “General error”;

бит 14 – зарезервировано (установлено в 0);

бит 15 – зарезервировано (установлено в 0);

бит 16 – зарезервировано (установлено в 0);

бит 17 – "Precharge error";

бит 18 – зарезервировано (установлено в 0);

бит 19 – "Current limit error";

bits 20-31 — reserved.

U32 
4-5

Discrete input signals 2 (bitfield):

бит 0 – “Charge request”;

бит 1 – “Precharge request”;

бит 2 – “Discharge request”;

бит 3 – зарезервировано (установлено в 0);

бит 4 – зарезервировано (установлено в 0);

бит 5 – зарезервировано (установлено в 0);

бит 6 – “Interlock”;

бит 7 – “Fuse 1”;

бит 8 – “Fuse 2”;

бит 9 – “Fuse 3”;

бит 10 – “Circuit breaker status”;

бит 11 – "Balancing request";

бит 12 – "Close Main contactor";

бит 13 – "Close External 1";

bits 14-15 – зарезервировано.

U16 
6-7ReservedU16