7.1 Протокол CANopen PDO

Редактировал(а) Admin 2026/04/02 13:36

Communication protocols

CANopen PDO protocol

CANopen_PDO_Main_Mini.dbc 

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

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

Элементы, помеченные *, недоступны в BMS Main 2R.

Пакеты TPDO

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

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

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

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

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

бит 0 – сигнал «Battery cover»;

бит 1 – сигнал «Charge connected»;

бит 2 – сигнал «Power up/down request»;

бит 3 – сигнал «Inhbit charging»;

бит 4 – сигнал «Inhibit discharging»;

бит 5 – сигнал «CH contactor feedback»;

бит 6 – сигнал «DCH contactor feedback»;

бит 7 – сигнал «Insulation status».

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 – сигнал «Low SOC»;

бит 1 – сигнал «High charging current»;

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

бит 3 – сигнал «Allow charging»;

бит 4 – сигнал «Charging current present» (детектируется ток заряда);

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

бит 6 – сигнал «Discharging current present» (детектируется ток разряда);

бит 7 – сигнал «Voltage too high for charging» (EV);

бит 8 – сигнал «Heater»;

бит 9 – сигнал «Cooler»;

бит 10 – сигнал «Shutdown request (HYG/Spirit)»на отключение контактора разряда от погрузчика HYG/Spirit;

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

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

бит 13 – сигнал «Shutdown request (Combilift)» на отключение контактора разряда от погрузчика Combilift;

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

бит 15 – сигнал «Balancing 1» на балансировку серии батареи №1;

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

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

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

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

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

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

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

бит 23 – сигнал «Ready to charge»;

бит 24 – сигнал «Ready to discharge»;

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

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

бит 27 — сигнал “Heater (AUX)”;

бит 28 — сигнал “External 2”;

биты  29-31 — не используется.

U32 
4–7

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

бит 0 – ошибка «Overcurrent»;

бит 1 – ошибка «Undervoltage»;

бит 2 – ошибка «Overvoltage»;

бит 3 – ошибка «Low temperature (DCH)»;

бит 4 – ошибка «High temperature (DCH)»;

бит 5 – ошибка «Battery cover error»;

бит 6 – ошибка «High humidity»;

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

бит 8 – ошибка «High Logic temperature»;

бит 9 – ошибка «Logic offline»;

бит 10 – ошибка «Critical error»;

бит 11 – ошибка «Crown error»;

бит 12 – ошибка «Cell count error»;

бит 13 – ошибка «HYG offline»;

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

бит 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 reset» перезапуска платы по требованию сторожевого таймера;

бит 27 – ошибка «No temperature sensors»;

бит 28 – ошибка «Temperature sensor shorted»;

бит 29 – ошибка «Spirit offline»;

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

U32 

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

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

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

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

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

бит 0 – ошибка «Low temperature (CH)»;

бит 1 – ошибка «High temperature (DCH)»;

бит 2 – ошибка «Mount error» монтирования SD-карты;

бит 3 – ошибка «FS error» записи/чтения SD-карты;

бит 4 – ошибка «Unallowable charging» (заряд батареи через контактор разряда);

бит 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 — зарезервировано (установлен в 0);

бит 13 — ошибка «General error»;

бит 14* — ошибка «High voltage fault»;

бит 15* — ошибка «Power switch error»;

бит 16* — ошибка «HVIL error»;

бит 17 — ошибка «Precharge error»;

бит 18* — ошибка «Power fault»;

бит 19 — ошибка «Curent limit error»;

бит 20 — ошибка «T-sensor count error»;

бит 21 — ошибка «Battery voltage mismatch»;

бит 22 — ошибка «Cell imbalance»;

бит 23 — ошибка «Main X offline»;

биты 24-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 – сигнал «Close External 2»;

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

U16 
6-7ЗарезервированоU16