Исходный код вики 6.2 Modbus protocol
Редактировал(а) Admin 2025/02/28 10:25
Скрыть последних авторов
author | version | line-number | content |
---|---|---|---|
![]() |
1.1 | 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;" %) |
![]() |
5.1 | 2 | = Протоколы связи = |
![]() |
1.1 | 3 | |
4 | (% data-numbered-headings-start="2" style="--numbered-headings-start: 1;font-size: 0px;color: rgba(0, 0, 0, 0.0);margin-bottom: 0px; margin-top: 0px;" %) | ||
![]() |
5.1 | 5 | == Протокол Modbus == |
![]() |
1.1 | 6 | |
![]() |
5.1 | 7 | === Общая информация === |
![]() |
1.1 | 8 | |
![]() |
5.1 | 9 | Устройство BMS Mini S / BMS Mini реализует протокол Modbus для настройки и чтения состояния АКБ и BMS. BMS является Modbus-сервером и отвечает на команды Modbus-клиента. |
![]() |
1.1 | 10 | |
![]() |
5.1 | 11 | Взаимодействие с устройством осуществляется через шину RS-485 (Modbus RTU) или сеть Ethernet (Modbus TCP). |
![]() |
1.1 | 12 | |
![]() |
5.1 | 13 | Параметры шины RS-485: |
![]() |
1.1 | 14 | |
![]() |
5.1 | 15 | * частота, бит/с — 600, 1200, 2400, 4800, 9600 (по умолчанию), 19200, 38400, 57600, 115200; |
16 | * длина слова, бит — 8; | ||
17 | * четность — нет; | ||
18 | * адрес устройства (по умолчанию) — 32. | ||
![]() |
1.1 | 19 | |
![]() |
5.1 | 20 | Параметры Ethernet: |
![]() |
1.1 | 21 | |
![]() |
5.1 | 22 | * порт — 502. |
![]() |
1.1 | 23 | |
![]() |
5.1 | 24 | Ниже приводятся описание Input и Holding регситров. В колонке «Тип параметра»: |
![]() |
1.1 | 25 | |
![]() |
5.1 | 26 | * U8 – беззнаковое 8-разрядное число; |
27 | * U16 – беззнаковое 16-разрядное число; | ||
28 | * S16 – знаковое 16-разрядное число; | ||
29 | * U32 – беззнаковое 32-разрядное число. | ||
30 | * REAL32 — число с плавающей точкой одинарной точности (стандарт [[IEEE 754>>url:https://ru.wikipedia.org/wiki/IEEE_754]]); | ||
31 | * U8[x] — массив беззнаковых 8-разрядных чисел длиной x; | ||
32 | * U16[x] — массив беззнаковых 16-разрядных чисел длиной x; | ||
33 | * REAL32[x] — массив чисел с плавающей точкой одинарной точности длиной x. | ||
![]() |
1.1 | 34 | |
![]() |
5.1 | 35 | Порядок байт в словах – от младшего к старшему (**little endian**). |
![]() |
1.1 | 36 | |
![]() |
5.1 | 37 | === Регистры ввода === |
![]() |
1.1 | 38 | |
39 | (% style="width:651px" %) | ||
![]() |
5.1 | 40 | |**Регистр**|**Количество регистров**|**Содержимое**|**Тип параметра** |
41 | |**0x0000**|1|((( | ||
42 | Аппаратная версия: | ||
![]() |
1.1 | 43 | |
![]() |
5.1 | 44 | byte 0 — минорная версия; |
![]() |
1.1 | 45 | |
![]() |
5.1 | 46 | byte 1 — мажорная версия. |
47 | )))|U8[2] | ||
48 | |**0x0001-0x0002**|2|((( | ||
49 | Версия ВПО: | ||
![]() |
1.1 | 50 | |
![]() |
5.1 | 51 | byte 0 — версия патча; |
![]() |
1.1 | 52 | |
![]() |
5.1 | 53 | byte 1 — минорная версия; |
![]() |
1.1 | 54 | |
![]() |
5.1 | 55 | byte 2 — мажорная версия; |
![]() |
1.1 | 56 | |
![]() |
5.1 | 57 | byte 3 — не используется (установлен в 0). |
58 | )))|U8[4] | ||
59 | |**0x0003-0x0004**|2|((( | ||
60 | Версия загрузчика: | ||
![]() |
1.1 | 61 | |
![]() |
5.1 | 62 | byte 0 — версия патча; |
![]() |
1.1 | 63 | |
![]() |
5.1 | 64 | byte 1 — минорная версия; |
![]() |
1.1 | 65 | |
![]() |
5.1 | 66 | byte 2 — мажорная версия; |
![]() |
1.1 | 67 | |
![]() |
5.1 | 68 | byte 3 — не используется (установлен в 0). |
69 | )))|U8[4] | ||
70 | |(% colspan="4" style="width:92px" %)**Состояние батареи** | ||
![]() |
1.1 | 71 | |(% style="width:92px" %)**0x2000**|(% style="width:94px" %)1|(% style="width:368px" %)((( |
![]() |
5.1 | 72 | Дискретные входы 1 (битовое поле): |
![]() |
1.1 | 73 | |
![]() |
5.1 | 74 | бит 0 – сигнал «Открыта АКБ»; |
![]() |
1.1 | 75 | |
![]() |
5.1 | 76 | бит 1 – сигнал «Подключено ЗУ»; |
![]() |
1.1 | 77 | |
![]() |
5.1 | 78 | бит 2 – сигнал «Запрос на отключение питания»; |
![]() |
1.1 | 79 | |
![]() |
5.1 | 80 | бит 3 – сигнал «Запрет заряда»; |
![]() |
1.1 | 81 | |
![]() |
5.1 | 82 | бит 4 – сигнал «Запрет разряда»; |
![]() |
1.1 | 83 | |
![]() |
5.1 | 84 | бит 5 – зарезервировано (установлен в 0); |
![]() |
1.1 | 85 | |
![]() |
5.1 | 86 | бит 6 – зарезервировано (установлен в 0); |
![]() |
1.1 | 87 | |
![]() |
5.1 | 88 | бит 7 – сигнал «Статус контроля изоляции». |
![]() |
1.1 | 89 | |
![]() |
5.1 | 90 | бит 8 – сигнал «Запрос на заряд»; |
![]() |
1.1 | 91 | |
![]() |
5.1 | 92 | бит 9 – сигнал «Запрос на предзаряд»; |
![]() |
1.1 | 93 | |
![]() |
5.1 | 94 | бит 10 – сигнал «Запрос на разряд»; |
![]() |
1.1 | 95 | |
![]() |
5.1 | 96 | бит 11 – зарезервировано (установлен в 0); |
![]() |
1.1 | 97 | |
![]() |
5.1 | 98 | бит 12 – зарезервировано (установлен в 0); |
![]() |
1.1 | 99 | |
![]() |
5.1 | 100 | бит 13 – зарезервировано (установлен в 0); |
![]() |
1.1 | 101 | |
![]() |
5.1 | 102 | бит 14 – сигнал целостности высоковольной цепи; |
![]() |
1.1 | 103 | |
![]() |
5.1 | 104 | бит 15 – сигнал состояния предохранителя 1. |
![]() |
1.1 | 105 | )))|(% style="width:96px" %)U16 |
![]() |
5.1 | 106 | |**0x2001-0x2002**|2|Ток через АКБ, имеренный датчиком холла, А|REAL32 |
107 | |**0x2003-0x2004**|2|((( | ||
108 | Внешняя температура, °C | ||
109 | )))|REAL32 | ||
![]() |
1.1 | 110 | |(% style="width:92px" %)**0x2007-0x2008**|(% style="width:94px" %)2|(% style="width:368px" %)((( |
![]() |
5.1 | 111 | Регистр ошибок 1 (битовое поле): |
![]() |
1.1 | 112 | |
![]() |
5.1 | 113 | бит 0 – ошибка «Превышение тока»; |
![]() |
1.1 | 114 | |
![]() |
5.1 | 115 | бит 1 – ошибка «Низкое напряжение»; |
![]() |
1.1 | 116 | |
![]() |
5.1 | 117 | бит 2 – ошибка «Высокое напряжение»; |
![]() |
1.1 | 118 | |
![]() |
5.1 | 119 | бит 3 – ошибка «Низкая температура (разряд)»; |
![]() |
1.1 | 120 | |
![]() |
5.1 | 121 | бит 4 – ошибка «Высокая температура (разряд)»; |
![]() |
1.1 | 122 | |
![]() |
5.1 | 123 | бит 5 – ошибка «Открыта крышка АКБ»; |
![]() |
1.1 | 124 | |
![]() |
5.1 | 125 | бит 6 – зарезервировано (установлен в 0); |
![]() |
1.1 | 126 | |
![]() |
5.1 | 127 | бит 7 – зарезервировано (установлен в 0); |
![]() |
1.1 | 128 | |
![]() |
5.1 | 129 | бит 8 – зарезервировано (установлен в 0); |
![]() |
1.1 | 130 | |
![]() |
5.1 | 131 | бит 9 – ошибка «Потеря связи c Logic»; |
![]() |
1.1 | 132 | |
![]() |
5.1 | 133 | бит 10 – критическая ошибка; |
![]() |
1.1 | 134 | |
![]() |
5.1 | 135 | бит 11 – ошибка Crown; |
![]() |
1.1 | 136 | |
![]() |
5.1 | 137 | бит 12 – ошибка «Несоответствие кол-ва ячеек»; |
![]() |
1.1 | 138 | |
![]() |
5.1 | 139 | бит 13 – ошибка «Потеря связи с HYG»; |
![]() |
1.1 | 140 | |
![]() |
5.1 | 141 | бит 14 – флаг о необходимости квитировать записи в журнале ошибок; |
![]() |
1.1 | 142 | |
![]() |
5.1 | 143 | бит 15 – ошибка «Потеря связи с Combilift»; |
![]() |
1.1 | 144 | |
![]() |
5.1 | 145 | бит 16 – ошибка «Короткое замыкание»; |
![]() |
1.1 | 146 | |
![]() |
5.1 | 147 | бит 17 – ошибка «Перегрев контактора»; |
![]() |
1.1 | 148 | |
![]() |
5.1 | 149 | бит 18 – зарезервировано (установлен в 0); |
![]() |
1.1 | 150 | |
![]() |
5.1 | 151 | бит 19 – ошибка АЦП; |
![]() |
1.1 | 152 | |
![]() |
5.1 | 153 | бит 20 – ошибка в цепи подключения датчика тока (обрыв или короткое замыкание); |
![]() |
1.1 | 154 | |
![]() |
5.1 | 155 | бит 21 – большая частота переключений контактора заряда; |
![]() |
1.1 | 156 | |
![]() |
5.1 | 157 | бит 22 – большая частота переключений контактора разряда; |
![]() |
1.1 | 158 | |
![]() |
5.1 | 159 | бит 23 – ошибка «Потеря связи с BMS Current Sensor»; |
![]() |
1.1 | 160 | |
![]() |
5.1 | 161 | бит 24 – внутренняя ошибка BMS Current Sensor; |
![]() |
1.1 | 162 | |
![]() |
5.1 | 163 | бит 25 – зарезервировано (установлен в 0); |
![]() |
1.1 | 164 | |
![]() |
5.1 | 165 | бит 26 – флаг перезапуска платы по требованию WDT; |
![]() |
1.1 | 166 | |
![]() |
5.1 | 167 | бит 27 – ошибка «Нет датчиков температуры»; |
![]() |
1.1 | 168 | |
![]() |
5.1 | 169 | бит 28 – ошибка «КЗ датчика температуры»; |
![]() |
1.1 | 170 | |
![]() |
5.1 | 171 | бит 29 – ошибка «Потеря связи со Spirit»; |
![]() |
1.1 | 172 | |
![]() |
5.1 | 173 | биты 30-31 – не используются. |
![]() |
1.1 | 174 | )))|(% style="width:96px" %)U32 |
175 | |(% style="width:92px" %)**0x2009-0x200A**|(% style="width:94px" %)2|(% style="width:368px" %)((( | ||
![]() |
5.1 | 176 | Флаги состояния (битовое поле): |
![]() |
1.1 | 177 | |
![]() |
5.1 | 178 | бит 0 – сигнал «SOC ниже заданного уровня»; |
![]() |
1.1 | 179 | |
![]() |
5.1 | 180 | бит 1 – сигнал «Ток заряда выше заданного уровня»; |
![]() |
1.1 | 181 | |
![]() |
5.1 | 182 | бит 2 – состояние контактора заряда (0 – разомкнуто, 1 – замкнуто); |
![]() |
1.1 | 183 | |
![]() |
5.1 | 184 | бит 3 – сигнал «Разрешение ЗУ»; |
![]() |
1.1 | 185 | |
![]() |
5.1 | 186 | бит 4 – сигнал «Заряд АКБ» (детектируется ток заряда); |
![]() |
1.1 | 187 | |
![]() |
5.1 | 188 | бит 5 – состояние контактора разряда (0 – разомкнуто, 1 – замкнуто); |
![]() |
1.1 | 189 | |
![]() |
5.1 | 190 | бит 6 – сигнал «Разряд АКБ» (детектируется ток разряда); |
![]() |
1.1 | 191 | |
![]() |
5.1 | 192 | бит 7 – сигнал «Повышенное напряжение» (EВ); |
![]() |
1.1 | 193 | |
![]() |
5.1 | 194 | бит 8 – сигнал «Нагрев АКБ»; |
![]() |
1.1 | 195 | |
![]() |
5.1 | 196 | бит 9 – сигнал «Охлаждение АКБ»; |
![]() |
1.1 | 197 | |
![]() |
5.1 | 198 | бит 10 – сигнал на отключение контактора разряда от погрузчика HYG; |
![]() |
1.1 | 199 | |
![]() |
5.1 | 200 | бит 11 – сигнал об инициализации платы (во время инициализации калибруется датчик тока и сканируются платы BMS Logic); |
![]() |
1.1 | 201 | |
![]() |
5.1 | 202 | бит 12 – состояние контактора предзаряда; |
![]() |
1.1 | 203 | |
![]() |
5.1 | 204 | бит 13 – сигнал на отключение контактора разряда от погрузчика Combilift; |
![]() |
1.1 | 205 | |
![]() |
5.1 | 206 | бит 14 – сигнал о запущенном процессе анализа ячеек (Cell analysis); |
![]() |
1.1 | 207 | |
![]() |
5.1 | 208 | бит 15 – зарезервировано (установлен в 0); |
![]() |
1.1 | 209 | |
![]() |
5.1 | 210 | бит 16 – зарезервировано (установлен в 0); |
![]() |
1.1 | 211 | |
![]() |
5.1 | 212 | бит 17 – состояние дополнительного (AUX) контактора разряда (0 – разомкнуто, 1 – замкнуто); |
![]() |
1.1 | 213 | |
![]() |
5.1 | 214 | бит 18 – подтверждение отключения питания; |
![]() |
1.1 | 215 | |
![]() |
5.1 | 216 | бит 19 – сигнал EWS от погрузчика Crown; |
![]() |
1.1 | 217 | |
![]() |
5.1 | 218 | бит 20 – состояние главного контактора (0 – разомкнут, 1 - замкнут); |
![]() |
1.1 | 219 | |
![]() |
5.1 | 220 | бит 21 – сигнал служебного сброса системы; |
![]() |
1.1 | 221 | |
![]() |
5.1 | 222 | бит 22 – состояние комбинированного контактора заряда/разряда (0 – разомкнуто, 1 – замкнуто); |
![]() |
1.1 | 223 | |
![]() |
5.1 | 224 | бит 23 – сигнал «Готовность заряжаться»; |
![]() |
1.1 | 225 | |
![]() |
5.1 | 226 | бит 24 – сигнал «Готовность разряжаться»; |
![]() |
1.1 | 227 | |
![]() |
5.1 | 228 | бит 25 – сигнал включения платы "Power up"; |
![]() |
1.1 | 229 | |
![]() |
5.1 | 230 | бит 26 – сигнал “External 1”; |
![]() |
3.1 | 231 | |
![]() |
5.1 | 232 | биты 27–31 – не используются. |
![]() |
1.1 | 233 | )))|(% style="width:96px" %)U32 |
234 | |(% style="width:92px" %)**0x200B**|(% style="width:94px" %)1|(% style="width:368px" %)((( | ||
![]() |
5.1 | 235 | Состояние дискретных выходов (битовое поле): |
![]() |
1.1 | 236 | |
![]() |
5.1 | 237 | бит 0 – состояние выхода №1; |
![]() |
1.1 | 238 | |
![]() |
5.1 | 239 | бит 1 – состояние выхода №2; |
![]() |
1.1 | 240 | |
![]() |
5.1 | 241 | бит 2 – состояние выхода №3; |
![]() |
1.1 | 242 | |
![]() |
5.1 | 243 | бит 3 – состояние выхода №4; |
![]() |
1.1 | 244 | |
![]() |
5.1 | 245 | биты 4-15 – не используются. |
![]() |
1.1 | 246 | )))|(% style="width:96px" %)U16 |
247 | |(% style="width:92px" %)**0x200C**|(% style="width:94px" %)1|(% style="width:368px" %)((( | ||
![]() |
5.1 | 248 | Состояние MOSFET ключей (битовое поле): |
![]() |
1.1 | 249 | |
![]() |
5.1 | 250 | бит 0 – состояние MOSFET #1; |
![]() |
1.1 | 251 | |
![]() |
5.1 | 252 | бит 1 – состояние MOSFET #2; |
![]() |
1.1 | 253 | |
![]() |
5.1 | 254 | бит 2 – состояние MOSFET #3; |
![]() |
1.1 | 255 | |
![]() |
5.1 | 256 | бит 3 – состояние MOSFET #4; |
![]() |
1.1 | 257 | |
![]() |
5.1 | 258 | биты 4-15 – не используются. |
![]() |
1.1 | 259 | )))|(% style="width:96px" %)U16 |
260 | |(% style="width:92px" %)**0x200E**|(% style="width:94px" %)2|(% style="width:368px" %)((( | ||
![]() |
5.1 | 261 | Регистр ошибок 2 (битовое поле): |
![]() |
1.1 | 262 | |
![]() |
5.1 | 263 | бит 0 – ошибка «Низкая температура (заряд)»; |
![]() |
1.1 | 264 | |
![]() |
5.1 | 265 | бит 1 – ошибка «Высокая температура (заряд)»; |
![]() |
1.1 | 266 | |
![]() |
5.1 | 267 | бит 2 – ошибка монтирования SD-карты; |
![]() |
1.1 | 268 | |
![]() |
5.1 | 269 | бит 3 – ошибка записи/чтения SD-карты; |
![]() |
1.1 | 270 | |
![]() |
5.1 | 271 | бит 4 – ошибка «Недопустимый заряд» (заряд батареи через контактор разряда); |
![]() |
1.1 | 272 | |
![]() |
5.1 | 273 | бит 5 – ошибка «Залипание контактора»; |
![]() |
1.1 | 274 | |
![]() |
5.1 | 275 | бит 6 – зарезервировано (установлен в 0); |
![]() |
1.1 | 276 | |
![]() |
5.1 | 277 | бит 7 – зарезервировано (установлен в 0); |
![]() |
1.1 | 278 | |
![]() |
5.1 | 279 | бит 8 – ошибка «Нарушение изоляции»; |
![]() |
1.1 | 280 | |
![]() |
5.1 | 281 | бит 9 – зарезервировано (установлен в 0); |
![]() |
1.1 | 282 | |
![]() |
5.1 | 283 | бит 10 – зарезервировано (установлен в 0); |
![]() |
1.1 | 284 | |
![]() |
5.1 | 285 | бит 11 – зарезервировано (установлен в 0); |
![]() |
1.1 | 286 | |
![]() |
5.1 | 287 | бит 12 – ошибка "Contactor feedback error"; |
![]() |
1.1 | 288 | |
![]() |
5.1 | 289 | бит 13 – общая ошибка; |
![]() |
1.1 | 290 | |
![]() |
5.1 | 291 | бит 14 – зарезервировано (установлен в 0); |
![]() |
3.1 | 292 | |
![]() |
5.1 | 293 | бит 15 – зарезервировано (установлен в 0); |
![]() |
3.1 | 294 | |
![]() |
5.1 | 295 | бит 16 – зарезервировано (установлен в 0); |
![]() |
3.1 | 296 | |
![]() |
5.1 | 297 | бит 17 – ошибка "Precharge error"; |
![]() |
3.1 | 298 | |
![]() |
5.1 | 299 | бит 18 – зарезервировано (установлен в 0); |
![]() |
3.1 | 300 | |
![]() |
5.1 | 301 | бит 19 – ошибка "Current limit error"; |
![]() |
3.1 | 302 | |
![]() |
5.1 | 303 | биты 20-31 — не используются. |
![]() |
1.1 | 304 | )))|(% style="width:96px" %)U32 |
305 | |(% style="width:92px" %)**0x2011**|(% style="width:94px" %)1|(% style="width:368px" %)((( | ||
![]() |
5.1 | 306 | Состояние монитора ячеек (битовое поле): |
![]() |
1.1 | 307 | |
![]() |
5.1 | 308 | бит 0 — устройство обнаружено; |
![]() |
1.1 | 309 | |
![]() |
5.1 | 310 | бит 1 — устройство онлайн; |
![]() |
1.1 | 311 | |
![]() |
5.1 | 312 | бит 2 — устройство готово к работе; |
![]() |
1.1 | 313 | |
![]() |
5.1 | 314 | бит 3 — данные с устройства актуальны; |
![]() |
1.1 | 315 | |
![]() |
5.1 | 316 | бит 4 — датчик температуры №1 обнаружен; |
![]() |
1.1 | 317 | |
![]() |
5.1 | 318 | бит 5 — датчик температуры №2 обнаружен; |
![]() |
1.1 | 319 | |
![]() |
5.1 | 320 | бит 6 — датчик температуры №1 закорочен; |
![]() |
1.1 | 321 | |
![]() |
5.1 | 322 | бит 7 — датчик температуры №2 закорочен; |
![]() |
1.1 | 323 | |
![]() |
5.1 | 324 | биты 8-15 — reserved. |
![]() |
1.1 | 325 | )))|(% style="width:96px" %)U16 |
![]() |
5.1 | 326 | |(% style="width:92px" %)**0x2012-0x2013**|(% style="width:94px" %)2|(% style="width:368px" %)Температура устройства, °C|(% style="width:96px" %)REAL32 |
![]() |
1.1 | 327 | |(% style="width:92px" %)**0x2014-0x2015**|(% style="width:94px" %)2|(% style="width:368px" %)((( |
![]() |
5.1 | 328 | Флаги балансировки ячеек (битовое поле): |
![]() |
1.1 | 329 | |
![]() |
5.1 | 330 | бит i —балансировочный резистор подключен к i-вой ячейке. |
![]() |
1.1 | 331 | )))|(% style="width:96px" %)U32 |
332 | |(% style="width:92px" %)**0x2016-0x2029**|(% style="width:94px" %)20|(% style="width:368px" %)((( | ||
![]() |
5.1 | 333 | Массив состояний ячеек. Каждый элемент массива соответствует ячейке и является битовым полем: |
![]() |
1.1 | 334 | |
![]() |
5.1 | 335 | бит 0 — ячейка подключена; |
![]() |
1.1 | 336 | |
![]() |
5.1 | 337 | бит 1 — температурный датчик подключен; |
![]() |
1.1 | 338 | |
![]() |
5.1 | 339 | бит 2 — к ячейке следует подключить балансировочный резистор; |
![]() |
1.1 | 340 | |
![]() |
5.1 | 341 | бит 3 — балансировочный резистор подключен к ячейке; |
![]() |
1.1 | 342 | |
![]() |
5.1 | 343 | бит 4 — температурный датчик закорочен; |
![]() |
1.1 | 344 | |
![]() |
5.1 | 345 | бит 5 — провода подключены к ячейке; |
![]() |
1.1 | 346 | |
![]() |
5.1 | 347 | бит 6 — ячейка балансируется; |
![]() |
3.1 | 348 | |
![]() |
5.1 | 349 | биты 7-15 — не используются. |
![]() |
1.1 | 350 | )))|(% style="width:96px" %)U16[20] |
![]() |
5.1 | 351 | |**0x202A-0x2051**|40|Массив напряжений ячеек (В)|REAL32[20] |
352 | |**0x2052-0x2079**|40|Массив температур ячеек (°C)|REAL32[20] | ||
353 | |**0x207A-0x20A1**|40|Массив степеней заряда ячеек (SOC) ~(%)|REAL32[20] | ||
354 | |**0x20A2-0x20C9**|40|Массив сопротивлений ячеек (Ohm)|REAL32[20] | ||
355 | |(% style="width:92px" %)**0x20CD**|(% style="width:94px" %)1|(% style="width:368px" %)Количество подключенных ячеек|(% style="width:96px" %)U16 | ||
![]() |
1.1 | 356 | |(% style="width:92px" %)**0x20F4**|(% style="width:94px" %)1|(% style="width:368px" %)((( |
![]() |
5.1 | 357 | Дискретные входы 2 (битовое поле): |
![]() |
1.1 | 358 | |
![]() |
5.1 | 359 | бит 0 – состояние предохранителя 2; |
![]() |
1.1 | 360 | |
![]() |
5.1 | 361 | бит 1 – состояние предохранителя 3; |
![]() |
1.1 | 362 | |
![]() |
5.1 | 363 | бит 2 – состояние защитного прерывателя цепи; |
![]() |
1.1 | 364 | |
![]() |
5.1 | 365 | бит 3 – сигнал "Balancing request"; |
![]() |
2.1 | 366 | |
![]() |
5.1 | 367 | бит 4 – сигнал "Close Main contactor"; |
![]() |
2.1 | 368 | |
![]() |
5.1 | 369 | бит 5 – сигнал "Close External 1"; |
![]() |
2.1 | 370 | |
![]() |
5.1 | 371 | биты 6-15 – не используются. |
![]() |
1.1 | 372 | )))|(% style="width:96px" %)U16 |
![]() |
5.1 | 373 | |(% style="width:92px" %)**0x2100-0x2101**|(% style="width:94px" %)2|(% style="width:368px" %)Степень заряда АКБ (SOC), %|(% style="width:96px" %)REAL32 |
374 | |**0x2103**|1|Количество ячеек|U16 | ||
375 | |**0x2104-0x2105**|2|Напряжение АКБ, В|REAL32 | ||
376 | |**0x2106-0x2107**|2|Сопротивление АКБ, Ом|REAL32 | ||
377 | |**0x2108-0x2109**|2|Эффективная ёмкость АКБ, А×ч|REAL32 | ||
378 | |**0x210A-0x210B**|2|Эффективность балансировки ячеек, %|REAL32 | ||
379 | |**0x210C-0x210D**|2|Степень работоспособности батареи, %|REAL32 | ||
380 | |**0x210E-0x210F**|2|Глубина разряда батареи, А×ч|REAL32 | ||
381 | |(% style="width:92px" %)**0x2118-0x2119**|(% style="width:94px" %)2|(% style="width:368px" %)Минимальная температура ячейки|(% style="width:96px" %)REAL32 | ||
382 | |(% style="width:92px" %)**0x211B**|(% style="width:94px" %)1|(% style="width:368px" %)Номер ячейки с минимальной температурой|(% style="width:96px" %)U16 | ||
383 | |(% style="width:92px" %)**0x211C-0x211D**|(% style="width:94px" %)2|(% style="width:368px" %)Максимальная температура ячейки|(% style="width:96px" %)REAL32 | ||
384 | |(% style="width:92px" %)**0x211F**|(% style="width:94px" %)1|(% style="width:368px" %)Номер ячейки с максимальной температурой|(% style="width:96px" %)U16 | ||
385 | |(% style="width:92px" %)**0x2120-0x2121**|(% style="width:94px" %)2|(% style="width:368px" %)Минимальное напряжение среди ячеек|(% style="width:96px" %)REAL32 | ||
386 | |(% style="width:92px" %)**0x2123**|(% style="width:94px" %)1|(% style="width:368px" %)Номер ячейки с минимальным напряжением|(% style="width:96px" %)U16 | ||
387 | |(% style="width:92px" %)**0x2124-0x2125**|(% style="width:94px" %)2|(% style="width:368px" %)Максимальное напряжение среди ячеек|(% style="width:96px" %)REAL32 | ||
388 | |(% style="width:92px" %)**0x2127**|(% style="width:94px" %)1|(% style="width:368px" %)Номер ячейки с максимальным напряжением|(% style="width:96px" %)U16 | ||
![]() |
1.1 | 389 | |(% style="width:92px" %)**0x2128**|(% style="width:94px" %)1|(% style="width:368px" %)((( |
![]() |
5.1 | 390 | Флаг наличия ошибки: |
![]() |
1.1 | 391 | |
![]() |
5.1 | 392 | 0 — нет ошибок; |
![]() |
1.1 | 393 | |
![]() |
5.1 | 394 | 1 — имеются ошибки. |
![]() |
1.1 | 395 | )))|(% style="width:96px" %)U16 |
![]() |
5.1 | 396 | |**0x2130-0x2131**|2|Энергия, полученная от зарядного устройства, Вт×ч|REAL32 |
397 | |**0x2132-0x2133**|2|Энергия, потреблённая нагрузкой, Вт×ч|REAL32 | ||
398 | |**0x2134-0x2135**|2|Энергия, рассеянная на балансировочных резисторах, Вт×ч|REAL32 | ||
![]() |
1.1 | 399 | |(% style="width:92px" %)**0x2170**|(% style="width:94px" %)1|(% style="width:368px" %)((( |
![]() |
5.1 | 400 | Состояние батареи: |
![]() |
1.1 | 401 | |
![]() |
5.1 | 402 | 0 – Неизвестно; |
![]() |
1.1 | 403 | |
![]() |
5.1 | 404 | 1 – Charing ON – заряд; |
![]() |
3.1 | 405 | |
![]() |
5.1 | 406 | 2 – Charging OFF – нет заряда; |
![]() |
3.1 | 407 | |
![]() |
5.1 | 408 | 3 – Relaxed (after charging) – батарея в состоянии релаксации после заряда; |
![]() |
3.1 | 409 | |
![]() |
5.1 | 410 | 4 – Discharging ON – разряд; |
![]() |
3.1 | 411 | |
![]() |
5.1 | 412 | 5 – Discharging OFF – нет разряда; |
![]() |
3.1 | 413 | |
![]() |
5.1 | 414 | 6 – Relaxed (after discharging) – батарея в состоянии релаксации после разряда. |
![]() |
1.1 | 415 | )))|(% style="width:96px" %)U16 |
![]() |
5.1 | 416 | |(% style="width:92px" %)**0x2171-0x2172**|(% style="width:94px" %)2|(% style="width:368px" %)Время нахождения в текущем состоянии (0x2170), сек|(% style="width:96px" %)U32 |
417 | |(% style="width:92px" %)**0x217B-0x217C**|(% style="width:94px" %)2|(% style="width:368px" %)Заряд, полученный батареей от зарядного устройства, А×ч|(% style="width:96px" %)REAL32 | ||
418 | |(% style="width:92px" %)**0x217D-0x217E**|(% style="width:94px" %)2|(% style="width:368px" %)Заряд, переданный нагрузке от батареи, А×ч|(% style="width:96px" %)REAL32 | ||
419 | |(% style="width:92px" %)**0x21B8**|(% style="width:94px" %)1|(% style="width:368px" %)Флаг индикации балансировки ячеек|(% style="width:96px" %)U16 | ||
420 | |(% style="width:92px" %)**0x21B9**|(% style="width:94px" %)2|(% style="width:368px" %)Среднее напряжение ячеек в батарее, В|(% style="width:96px" %)REAL32 | ||
421 | |((( | ||
422 | **0x2400-0x2401** | ||
423 | )))|2|Ток, измеренный внешним датчиком тока, A|REAL32 | ||
424 | |**0x2402-0x2403**|2|((( | ||
425 | Итоговый ток АКБ, A | ||
![]() |
1.1 | 426 | |
![]() |
5.1 | 427 | Примечание — Обычно это сумма измеренных значений основного и внешнего датчика тока |
428 | )))|REAL32 | ||
![]() |
1.1 | 429 | |
![]() |
5.1 | 430 | === Регистры хранения === |
![]() |
1.1 | 431 | |
432 | (% style="width:653px" %) | ||
![]() |
5.1 | 433 | |(% style="width:93px" %)**Регистр**|(% style="width:93px" %)**Количество регистров**|**Содержимое**|**Тип параметра** |
434 | |(% style="width:93px" %)**0x4100-0x4101**|(% style="width:93px" %)2|((( | ||
435 | Команда квитирования ошибок в жернале ошибок (битовое поле). Каждое i-вый бит соответствует записи №(i+1). | ||
![]() |
1.1 | 436 | |
![]() |
5.1 | 437 | Примечания: |
![]() |
1.1 | 438 | |
![]() |
5.1 | 439 | * После квитирования всех ошибок значение регистра будет установлено равным 0. |
440 | * Для квитирования всех ошибок запишите в регистр 0xFFFFFFFF. | ||
441 | )))|U32 | ||
442 | |(% style="width:93px" %)**0x5100**|(% style="width:93px" %)1|((( | ||
443 | Программное управление сигналом "Battery cover". Возможные значения: | ||
![]() |
1.1 | 444 | |
![]() |
5.1 | 445 | 0 – сбросить сигнал; |
![]() |
1.1 | 446 | |
![]() |
5.1 | 447 | 1 – установить сигнал; |
![]() |
1.1 | 448 | |
![]() |
5.1 | 449 | 2-65535 – использовать физическое состояние сигнала "Battery coВer". |
450 | )))|U16 | ||
451 | |(% style="width:93px" %)**0x5101**|(% style="width:93px" %)1|((( | ||
452 | Программное управление сигналом "Charger connected". Возможные значения: | ||
![]() |
1.1 | 453 | |
![]() |
5.1 | 454 | 0 – сбросить сигнал; |
![]() |
1.1 | 455 | |
![]() |
5.1 | 456 | 1 – установить сигнал; |
![]() |
1.1 | 457 | |
![]() |
5.1 | 458 | 2-65535 – использовать физическое состояние сигнала "Charger connected". |
459 | )))|U16 | ||
460 | |(% style="width:93px" %)**0x5102**|(% style="width:93px" %)1|((( | ||
461 | Программное управление сигналом "Power down request". Возможные значения: | ||
![]() |
1.1 | 462 | |
![]() |
5.1 | 463 | 0 – сбросить сигнал; |
![]() |
1.1 | 464 | |
![]() |
5.1 | 465 | 1 – установить сигнал; |
![]() |
1.1 | 466 | |
![]() |
5.1 | 467 | 2-65535 – использовать физическое состояние сигнала "Power down request". |
468 | )))|U16 | ||
469 | |(% style="width:93px" %)**0x5103**|(% style="width:93px" %)1|((( | ||
470 | Программное управление сигналом "Inhibit charging". Возможные значения: | ||
![]() |
1.1 | 471 | |
![]() |
5.1 | 472 | 0 – сбросить сигнал; |
![]() |
1.1 | 473 | |
![]() |
5.1 | 474 | 1 – установить сигнал; |
![]() |
1.1 | 475 | |
![]() |
5.1 | 476 | 2-65535 – использовать физическое состояние сигнала "Inhibit charging". |
477 | )))|U16 | ||
478 | |(% style="width:93px" %)**0x5104**|(% style="width:93px" %)1|((( | ||
479 | Программное управление сигналом "Inhibit discharging". Возможные значения: | ||
![]() |
1.1 | 480 | |
![]() |
5.1 | 481 | 0 – сбросить сигнал; |
![]() |
1.1 | 482 | |
![]() |
5.1 | 483 | 1 – установить сигнал; |
![]() |
1.1 | 484 | |
![]() |
5.1 | 485 | 2-65535 – использовать физическое состояние сигнала "Inhibit discharging". |
486 | )))|U16 | ||
487 | |**0x5107**|1|((( | ||
488 | Программное управление сигналом "Insulation status". Возможные значения: | ||
![]() |
1.1 | 489 | |
![]() |
5.1 | 490 | 0 – сбросить сигнал; |
![]() |
1.1 | 491 | |
![]() |
5.1 | 492 | 1 – установить сигнал; |
![]() |
1.1 | 493 | |
![]() |
5.1 | 494 | 2-65535 – использовать физическое состояние сигнала "Insulation status". |
495 | )))|U16 | ||
496 | |**0x5108**|1|((( | ||
497 | Программное управление сигналом "Charge request". Возможные значения: | ||
![]() |
1.1 | 498 | |
![]() |
5.1 | 499 | 0 – сбросить сигнал; |
![]() |
1.1 | 500 | |
![]() |
5.1 | 501 | 1 – установить сигнал; |
![]() |
1.1 | 502 | |
![]() |
5.1 | 503 | 2-65535 – использовать физическое состояние сигнала "Charge request". |
504 | )))|U16 | ||
505 | |**0x5109**|1|((( | ||
506 | Программное управление сигналом "Precharge request". Возможные значения: | ||
![]() |
1.1 | 507 | |
![]() |
5.1 | 508 | 0 – сбросить сигнал; |
![]() |
1.1 | 509 | |
![]() |
5.1 | 510 | 1 – установить сигнал; |
![]() |
1.1 | 511 | |
![]() |
5.1 | 512 | 2-65535 – использовать физическое состояние сигнала "Precharge request". |
513 | )))|U16 | ||
514 | |**0x510A**|1|((( | ||
515 | Программное управление сигналом "Discharge request". Возможные значения: | ||
![]() |
1.1 | 516 | |
![]() |
5.1 | 517 | 0 – сбросить сигнал; |
![]() |
1.1 | 518 | |
![]() |
5.1 | 519 | 1 – установить сигнал; |
![]() |
1.1 | 520 | |
![]() |
5.1 | 521 | 2-65535 – использовать физическое состояние сигнала "Discharge request". |
522 | )))|U16 | ||
523 | |**0x510E**|1|((( | ||
524 | Программное управление сигналом "Interlock". Возможные значения: | ||
![]() |
1.1 | 525 | |
![]() |
5.1 | 526 | 0 – сбросить сигнал; |
![]() |
1.1 | 527 | |
![]() |
5.1 | 528 | 1 – установить сигнал; |
![]() |
1.1 | 529 | |
![]() |
5.1 | 530 | 2-65535 – использовать физическое состояние сигнала "Interlock". |
531 | )))|U16 | ||
532 | |**0x510F**|1|((( | ||
533 | Программное управление сигналом "Fuse 1". Возможные значения: | ||
![]() |
1.1 | 534 | |
![]() |
5.1 | 535 | 0 – сбросить сигнал; |
![]() |
1.1 | 536 | |
![]() |
5.1 | 537 | 1 – установить сигнал; |
![]() |
1.1 | 538 | |
![]() |
5.1 | 539 | 2-65535 – использовать физическое состояние сигнала "Fuse 1". |
540 | )))|U16 | ||
541 | |**0x5110**|1|((( | ||
542 | Программное управление сигналом "Fuse 2". Возможные значения: | ||
![]() |
1.1 | 543 | |
![]() |
5.1 | 544 | 0 – сбросить сигнал; |
![]() |
1.1 | 545 | |
![]() |
5.1 | 546 | 1 – установить сигнал; |
![]() |
1.1 | 547 | |
![]() |
5.1 | 548 | 2-65535 – использовать физическое состояние сигнала "Fuse 2". |
549 | )))|U16 | ||
550 | |**0x5111**|1|((( | ||
551 | Программное управление сигналом "Fuse 3". Возможные значения: | ||
![]() |
1.1 | 552 | |
![]() |
5.1 | 553 | 0 – сбросить сигнал; |
![]() |
1.1 | 554 | |
![]() |
5.1 | 555 | 1 – установить сигнал; |
![]() |
1.1 | 556 | |
![]() |
5.1 | 557 | 2-65535 – использовать физическое состояние сигнала "Fuse 3". |
558 | )))|U16 | ||
559 | |**0x5112**|1|((( | ||
560 | Программное управление сигналом "Circuit breaker status". | ||
![]() |
1.1 | 561 | |
![]() |
5.1 | 562 | Возможные значения: |
![]() |
1.1 | 563 | |
![]() |
5.1 | 564 | 0 – сбросить сигнал; |
![]() |
1.1 | 565 | |
![]() |
5.1 | 566 | 1 – установить сигнал; |
![]() |
1.1 | 567 | |
![]() |
5.1 | 568 | 2-65535 – использовать физическое состояние сигнала |
![]() |
1.1 | 569 | |
![]() |
5.1 | 570 | "Circuit breaker status". |
571 | )))|U16 | ||
572 | |**0x5113**|1|((( | ||
573 | Программное управление сигналом "Balancing request" signal. Allowable values: | ||
![]() |
1.1 | 574 | |
![]() |
5.1 | 575 | Возможные значения: |
![]() |
1.1 | 576 | |
![]() |
5.1 | 577 | 0 – сбросить сигнал; |
![]() |
1.1 | 578 | |
![]() |
5.1 | 579 | 1 – установить сигнал; |
![]() |
1.1 | 580 | |
![]() |
5.1 | 581 | 2-65535 – использовать физическое состояние сигнала |
![]() |
1.1 | 582 | |
![]() |
5.1 | 583 | "Balancing request". |
584 | )))|U16 | ||
585 | |**0x5114**|1|((( | ||
586 | Программное управление сигналом "Close Main contactor" signal. | ||
![]() |
1.1 | 587 | |
![]() |
5.1 | 588 | Возможные значения: |
![]() |
1.1 | 589 | |
![]() |
5.1 | 590 | 0 – сбросить сигнал; |
![]() |
1.1 | 591 | |
![]() |
5.1 | 592 | 1 – установить сигнал; |
593 | |||
594 | 2-65535 – использовать физическое состояние сигнала | ||
595 | |||
596 | "Close Main contactor". | ||
597 | )))|U16 | ||
598 | |**0x5115**|1|((( | ||
599 | Программное управление сигналом "Close External 1" signal. | ||
600 | |||
601 | Возможные значения: | ||
602 | |||
603 | 0 – сбросить сигнал; | ||
604 | |||
605 | 1 – установить сигнал; | ||
606 | |||
607 | 2-65535 – использовать физическое состояние сигнала | ||
608 | |||
609 | "Close External 1". | ||
610 | )))|U16 |