7.1 Протокол CANopen PDO
Communication protocols
CANopen PDO protocol
Общая информация
Плата 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).
Пакеты 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 | Ток через АКБ | S16 | 0,1А/бит |
| 3 | Минимальная температура ячейки | S8 | 1ºC/бит |
| 4 | Максимальная температура ячейки | S8 | 1ºC/бит |
| 5 | Степень заряда АКБ (SOC) | U8 | 1%/бит |
| 6-7 | Напряжение АКБ | U16 | 0,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 |