5.1 Протокол CANopen PDO

Редактировал(а) Admin 2026/02/20 10:51

Протоколы связи

Протокол CANopen PDO

CANopen_PDO_Main_Mini.dbc 

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

Плата BMS Main 2.x реализует протокол 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 packets

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 – сигнал на балансировку серии батареи №1;

бит 16 – сигнал на балансировку серии батареи №2;

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

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

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

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

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

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

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

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

биты 25-31 – не используются.

U32 
4-7

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

бит 0 – ошибка “Overcurrent”;

бит 1 – ошибка “Undervoltage”;

бит 2 – ошибка “Overvoltage”;

бит 3 – ошибка “Low DCH temperature”;

бит 4 – ошибка “High DCH temperature”;

бит 5 – ошибка “Battery cover”;

бит 6 – ошибка “High humidity”;

бит 7 – ошибка “Water”;

бит 8 – ошибка “High logic temperature”;

бит 9 – ошибка “Logic offline”;

бит 10 – критическая ошибка;

бит 11 – ошибка “Crown error”;

бит 12 – ошибка “Cell count error”;

бит 13 – ошибка “HYG offline”;

бит 14 – флаг о необходимости квитировать записи в журнале ошибок;

бит 15 – ошибка “Combilift offline”;

бит 16 – ошибка “Short circuit”;

бит 17 – ошибка “High contactor temperature”;

бит 18 – ошибка “Logic count error”;

бит 19 – ошибка “ADC error”;

бит 20 – ошибка “Current sensor error” (обрыв или короткое замыкание);

бит 21 – ошибка “CH contactor cycles error”;

бит 22 – ошибка “DCH contactor cycles error”;

бит 23 – ошибка “Shunt offline”;

бит 24 – ошибка “Shunt error”;

бит 25 – ошибка контрольной суммы настроек платы;

бит 26 – флаг перезапуска платы по требованию WDT;

бит 27 – ошибка “No temperature sensors”;

бит 28 – ошибка “Temperature sensor is shorted”;

бит 29 – ошибка “Spirit offline”;

биты 30-31 – не используются.

U32 

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

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

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

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

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

бит 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 – “CH contactor feedback error”;

бит 7 – “DCH contactor feedback error”;

бит 8 – “Insulation fault”;

бит 9 – “PCH contactor feedback error”;

бит 10 – “CH/DCH contactor feedback error”;

бит 11 – “Main contactor feedback error”;

бит 12 – не используется;

бит 13 – “General error”;

биты 14-16 – не используются;

бит 17 – "Precharge error";

биты 18-31 – не используются.

U32 
4-5

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

бит 0 – сигнал “Charge request”;

бит 1 – сигнал “Precharge request”;

бит 2 – сигнал “Discharge request”;

бит 3 – сигнал “PCH contactor feedback”;

бит 4 – сигнал “CH/DCH contactor feedback”;

бит 5 – сигнал “Main contactor feedback”;

бит 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”;

биты 14-15 – не используются.

U16 
6-7Не используютсяU16