Исходный код вики 6.1 CANopen PDO protocol

Редактировал(а) Admin 2025/02/17 13:59

Последние авторы
1 (% data-numbered-headings-start="6" style="--numbered-headings-start: 5;font-size: 0px;color: rgba(0, 0, 0, 0.0);margin-bottom: 0px; margin-top: 0px;" %)
2 = Communication protocols =
3
4 (% data-numbered-headings-start="1" style="--numbered-headings-start: 0;font-size: 0px;color: rgba(0, 0, 0, 0.0);margin-bottom: 0px; margin-top: 0px;" %)
5 == CANopen PDO protocol ==
6
7 (% class="wikigeneratedid" %)
8 [[CANopen_PDO_Main_Mini.dbc>>FileManager.CANopen_PDO_Main_Mini\.dbc]]
9
10 === Общая информация ===
11
12 Плата BMS Main 3 реализует протокол CiA 301 CANopen для настройки и чтения состояния АКБ и BMS.
13
14 Основные характеристики:
15
16 * Поддерживаются стандартные 11-ти битные идентификаторы сообщений.
17 * Скорость обмена – 125, 250 (по умолчанию), 500 или 1000 кбит/с.
18 * Идентификатор COBID платы по умолчанию – 32 (0x20).
19
20 Поддерживаемые режимы передачи данных:
21
22 * SDO (для настройки платы).
23 * PDO (для обмена данными с другими элементами системы).
24 * Sync (настраивается).
25 * Heartbeat producer (настраивается).
26 * Heartbeat consumer (используется для контроля активности других устройств на шине CAN).
27
28 Передача данных PDO выполняется по сигналу синхронизации (CANID = 0x80, длина данных 0). Плата может сама выступать источником сигнала синхронизации (режим Sync).
29
30 Ниже даётся описание параметров, передаваемых в режиме PDO. В колонке «Тип параметра»:
31
32 * U8 – беззнаковое 8-разрядное число;
33 * U16 – беззнаковое 16-разрядное число;
34 * S16 – знаковое 16-разрядное число;
35 * U32 – беззнаковое 32-разрядное число.
36
37 Порядок байт в словах – от младшего к старшему (**little endian**).
38
39 === Пакеты TPDO ===
40
41 ==== CANID ~= 0x180+COBID (по умолчанию 0x1A0) ====
42
43 Длина пакета – 8 байт.
44
45 Содержимое пакета:
46
47 (% style="width:574px" %)
48 |(% style="width:63px" %)**Байт**|(% style="width:334px" %)**Имя параметра**|(% style="width:89px" %)**Тип параметра**|(% style="width:87px" %)**Кодирование**
49 |**0**|(((
50 Дискретные входы 1 (битовое поле):
51
52 бит 0 – сигнал «Открыта АКБ»;
53
54 бит 1 – сигнал «Подключено ЗУ»;
55
56 бит 2 – сигнал «Запрос на отключение питания»;
57
58 бит 3 – сигнал «Запрет заряда»;
59
60 бит 4 – сигнал «Запрет разряда»;
61
62 бит 5 – сигнал «Обратная связь контактора заряда»;
63
64 бит 6 – сигнал «Обратная связь контактора разряда»;
65
66 бит 7 – сигнал «Статус контроля изоляции».
67 )))|U8|
68 |**1-2**|Ток через АКБ|S16|0,1А/бит
69 |**3**|Минимальная температура ячейки|S8|1ºC/бит
70 |**4**|Максимальная температура ячейки|S8|1ºC/бит
71 |**5**|Степень заряда АКБ (SOC)|U8|1%/бит
72 |**6-7**|Напряжение АКБ|U16|0,1В/бит
73
74 ==== CANID ~= 0x280+COBID (по умолчанию 0x2A0) ====
75
76 Длина пакета – 8 байт.
77
78 Содержимое пакета:
79
80 (% style="width:575px" %)
81 |(% style="width:57px" %)**Байт**|(% style="width:334px" %)**Имя параметра**|(% style="width:92px" %)**Тип параметра**|(% style="width:86px" %)**Кодирование**
82 |(% style="width:57px" %)**0–3**|(% style="width:334px" %)(((
83 Флаги состояния (битовое поле):
84
85 бит 0 – сигнал «SOC ниже заданного уровня»;
86
87 бит 1 – сигнал «Ток заряда выше заданного уровня»;
88
89 бит 2 – состояние контактора заряда (0 – разомкнуто, 1 – замкнуто);
90
91 бит 3 – сигнал «Разрешение ЗУ»;
92
93 бит 4 – сигнал «Заряд АКБ» (детектируется ток заряда);
94
95 бит 5 – состояние контактора разряда (0 – разомкнуто, 1 – замкнуто);
96
97 бит 6 – сигнал «Разряд АКБ» (детектируется ток разряда);
98
99 бит 7 – сигнал «Повышенное напряжение» (EV);
100
101 бит 8 – сигнал «Нагрев АКБ»;
102
103 бит 9 – сигнал «Охлаждение АКБ»;
104
105 бит 10 – сигнал на отключение контактора разряда от погрузчика HYG;
106
107 бит 11 – сигнал об инициализации платы (во время инициализации калибруется датчик тока и сканируются платы BMS Logic);
108
109 бит 12 – состояние контактора предзаряда;
110
111 бит 13 – сигнал на отключение контактора разряда от погрузчика Combilift;
112
113 бит 14 – сигнал о запущенном процессе анализа ячеек (Cell analysis);
114
115 бит 15 – сигнал на балансировку серии батареи №1;
116
117 бит 16 – сигнал на балансировку серии батареи №2;
118
119 бит 17 – состояние дополнительного (AUX) контактора разряда (0 – разомкнуто, 1 – замкнуто);
120
121 бит 18 – подтверждение отключения питания;
122
123 бит 19 – сигнал EWS от погрузчика Crown;
124
125 бит 20 – состояние главного контактора (0 – разомкнут, 1 - замкнут);
126
127 бит 21 – сигнал служебного сброса системы;
128
129 бит 22 – состояние комбинированного контактора заряда/разряда (0 – разомкнуто, 1 – замкнуто);
130
131 бит 23 – сигнал «Готовность заряжаться»;
132
133 бит 24 – сигнал «Готовность разряжаться»;
134
135 бит 25 — сигнал “Power up”;
136
137 биты  26-31 — не используется.
138 )))|(% style="width:92px" %)U32|(% style="width:86px" %)
139 |(% style="width:57px" %)**4–7**|(% style="width:334px" %)(((
140 Регистр ошибок 1 (битовое поле):
141
142 бит 0 – ошибка «Превышение тока»;
143
144 бит 1 – ошибка «Низкое напряжение»;
145
146 бит 2 – ошибка «Высокое напряжение»;
147
148 бит 3 – ошибка «Низкая температура (разряд)»;
149
150 бит 4 – ошибка «Высокая температура (разряд)»;
151
152 бит 5 – ошибка «Открыта крышка АКБ»;
153
154 бит 6 – ошибка «Повышенная влажность»;
155
156 бит 7 – ошибка «Вода»;
157
158 бит 8 – ошибка «Перегрев Logic»;
159
160 бит 9 – ошибка «Потеря связи c Logic»;
161
162 бит 10 – критическая ошибка;
163
164 бит 11 – ошибка Crown;
165
166 бит 12 – ошибка «Несоответствие кол-ва ячеек»;
167
168 бит 13 – ошибка «Потеря связи с HYG»;
169
170 бит 14 – флаг о необходимости квитировать записи в журнале ошибок;
171
172 бит 15 – ошибка «Потеря связи с Combilift»;
173
174 бит 16 – ошибка «Короткое замыкание»;
175
176 бит 17 – ошибка «Перегрев контактора»;
177
178 бит 18 – ошибка «Несоответствие кол-ва Logic»;
179
180 бит 19 – ошибка АЦП;
181
182 бит 20 – ошибка в цепи подключения датчика тока (обрыв или короткое замыкание);
183
184 бит 21 – большая частота переключений контактора заряда;
185
186 бит 22 – большая частота переключений контактора разряда;
187
188 бит 23 – ошибка «Потеря связи с BMS Current Sensor»;
189
190 бит 24 – внутренняя ошибка BMS Current Sensor;
191
192 бит 25 – ошибка контрольной суммы настроек платы;
193
194 бит 26 – флаг перезапуска платы по требованию WDT;
195
196 бит 27 – ошибка «Нет датчиков температуры»;
197
198 бит 28 – ошибка «КЗ датчика температуры»;
199
200 бит 29 – ошибка «Потеря связи со Spirit»;
201
202 биты 30-31 – не используются.
203 )))|(% style="width:92px" %)U32|(% style="width:86px" %)
204
205 ==== CANID ~= 0x380+COBID (по умолчанию 0x3A0) ====
206
207 Длина пакета – 8 байт.
208
209 Содержимое пакета:
210
211 (% style="width:579px" %)
212 |(% style="width:66px" %)**Байт**|(% style="width:328px" %)**Имя параметра**|(% style="width:96px" %)**Тип параметра**|(% style="width:88px" %)**Кодирование**
213 |(% style="width:66px" %)**0–3**|(% style="width:328px" %)(((
214 Регистр ошибок 2 (битовое поле):
215
216 бит 0 – ошибка «Низкая температура (заряд)»;
217
218 бит 1 – ошибка «Высокая температура (заряд)»;
219
220 бит 2 – ошибка монтирования SD-карты;
221
222 бит 3 – ошибка записи/чтения SD-карты;
223
224 бит 4 – ошибка «Недопустимый заряд» (заряд батареи через контактор разряда);
225
226 бит 5 – ошибка «Залипание контактора»;
227
228 бит 6 – «Ошибка обр. связи контактора заряда»;
229
230 бит 7 – «Ошибка обр. связи контактора разряда»;
231
232 бит 8 – ошибка «Нарушение изоляции»;
233
234 бит 9 – «Ошибка обр. связи контактора предзаряда»;
235
236 бит 10 – «Ошибка обр. связи комбинированного контактора заряда/разряда»;
237
238 бит 11 – «Ошибка обр. связи главного контактора»;
239
240 бит 12 — зарезервировано (установлен в 0);
241
242 бит 13 — общая ошибка “General error”;
243
244 бит 14 — ошибка высокого напряжения;
245
246 бит 15 — ошибка “Power switch error”;
247
248 бит 16 — ошибка целостности высоковольтной цепи;
249
250 бит 17 — ошибка предзаряда;
251
252 бит 18 — ошибка силового ключа;
253
254 биты 19-31 — не используются.
255 )))|(% style="width:96px" %)U32|(% style="width:88px" %)
256 |(% style="width:66px" %)**4-5**|(% style="width:328px" %)(((
257 Дискретные входы 2 (битовое поле):
258
259 бит 0 – сигнал «Запрос на заряд»;
260
261 бит 1 – сигнал «Запрос на предзаряд»;
262
263 бит 2 – сигнал «Запрос на разряд»;
264
265 бит 3 – сигнал «Обратная связь контактора предзаряда»;
266
267 бит 4 – сигнал «Обратная связь комбинированного контактора заряда/разряда»;
268
269 бит 5 – сигнал «Обратная связь главного контактора»;
270
271 бит 6 – сигнал “Interlock”;
272
273 бит 7 – сигнал “Fuse 1”;
274
275 бит 8 – сигнал “Fuse 2”;
276
277 бит 9 – сигнал “Fuse 3”;
278
279 бит 10 – сигнал “Circuit breaker status”;
280
281 бит 11 – сигнал “Balancing request”;
282
283 бит 12 – сигнал “Close Main contactor”;
284
285 биты 13-15 – не используются.
286 )))|(% style="width:96px" %)U16|(% style="width:88px" %)
287 |(% style="width:66px" %)**6-7**|(% style="width:328px" %)Зарезервировано|(% style="width:96px" %)U16|(% style="width:88px" %)
288
289