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)
Длина пакета – 8 байт.
Содержимое пакета:
Байт | Имя параметра | Тип параметра | Кодирование |
0 | Дискретные входы 1 (битовое поле): бит 0 – сигнал «Открыта АКБ»; бит 1 – сигнал «Подключено ЗУ»; бит 2 – сигнал «Запрос на отключение питания»; бит 3 – сигнал «Запрет заряда»; бит 4 – сигнал «Запрет разряда»; бит 5 – сигнал «Обратная связь контактора заряда»; бит 6 – сигнал «Обратная связь контактора разряда»; бит 7 – сигнал «Статус контроля изоляции». | 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 – сигнал «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-7 | Reserved | U16 |