shevanvk7
Tier2
- Реєстрування
- 13 Лют 2026
- Дописи
- 49
- Бали
- 8
- Інвертор
- Prologix Expert 3kVa
Можливо. Я не знаю, бо як я вже казав, я в цьому дуб-дубом))))Я помилився мабуть, коли писав що count 1 = 1 байт в даному випадку
Follow along with the video below to see how to install our site as a web app on your home screen.
Нотатка: This feature may not be available in some browsers.
Можливо. Я не знаю, бо як я вже казав, я в цьому дуб-дубом))))Я помилився мабуть, коли писав що count 1 = 1 байт в даному випадку
По скріну схоже, що в 4760 лежать два старші байти, а в 4762 два молодші. Треба читати всі 4.Я знайшов той шматок діалог с грок, де я теж так думав, але сканер показав, що при заряді/розряді цей регістр статичний. Я робив все "на живу" та особисто спостерігав зміни, так 4760 був статичний, в 4762 - динамічній, і 4762 відповідав саме точному показнику струму відповідно до блютуз-додатка бмс. На скрінв показав. Я ж кажу, це просто особливості ПЗ, в цьому і була деяка головна біль, з якою я мучився))
І до речі, саме в момент сканування скриптом, я паралельно дивився в ПЗ телефоні показник струму, та "впіймав" прямо точно саме цей струм. Тобто я на 100% впевнений, що в моєму випадку це саме він у повному обсязі. Можу сюди дати скрипт - сканер для регістрів, може згодитися)) Але є його потрібно буде підкоригувати під свої потреби та параметри. Після запуску він відає відповідь у термінал по кожному перевіреному регістру. Це може бути у нагоді, коли прошивка відрізняється і потрібно коректування. Та хочу відмітити, що в платі скоріше за все є декілька блоків, де є постійна пам'ять (там, де ліміти), live-параметри, управління та ін. Це все можливо знайти в документації, але враховуючи можливі зміщення в задоволенні від прошивки та особливостей версій протоколуЯ знайшов той шматок діалог с грок, де я теж так думав, але сканер показав, що при заряді/розряді цей регістр статичний. Я робив все "на живу" та особисто спостерігав зміни, так 4760 був статичний, в 4762 - динамічній, і 4762 відповідав саме точному показнику струму відповідно до блютуз-додатка бмс. На скрінв показав. Я ж кажу, це просто особливості ПЗ, в цьому і була деяка головна біль, з якою я мучився))
Та ясно що він буде статичний, якщо значення струму менше +-65535 папуг. Перевірити просто. Зробіть щоб той струм став зі знаком +. І в 4760 з'являться нулі замість 65535.Я знайшов той шматок діалог с грок, де я теж так думав, але сканер показав, що при заряді/розряді цей регістр статичний. Я робив все "на живу" та особисто спостерігав зміни, так 4760 був статичний, в 4762 - динамічній, і 4762 відповідав саме точному показнику струму відповідно до блютуз-додатка бмс. На скрінв показав. Я ж кажу, це просто особливості ПЗ, в цьому і була деяка головна біль, з якою я мучився))
Можливо це "перший нуль", я сам не знаю, бо бмс може робити з 100+ ампер, тому це не вийняток. Але такого струму моя система точно не побачить))))) але це лише припущення. Точно можна перевірити на практиці скрипом-сканером. Мені це не принципово. Я не такий мега-спеціалість, як вам може здаватися)) Мій досвід, це бажання+інструменти+вдача+залізні нерви)) і в цьому списку, як бачите - знань немаєПо скріну схоже, що в 4760 лежать два старші байти, а в 4762 два молодші. Треба читати всі 4.
Так я ж робив. Я ж надав Ші для аналізу і він таблиці вивів. Оцю ж таблицю я і заскрінив. Я дивився значення 4760 при заряді 4-5А, та при розряді 2А. Показник залишався статичнимТа ясно що він буде статичний, якщо значення струму менше +-65535 папуг. Перевірити просто. Зробіть щоб той струм став зі знаком +. І в 4760 з'являться нулі замість 65535.
І якщо ви уважно подивитися, на одному зі скрінів в мене ж в моніторингу в йде показник як +А, так і -АМожливо це "перший нуль", я сам не знаю, бо бмс може робити з 100+ ампер, тому це не вийняток. Але такого струму моя система точно не побачить))))) але це лише припущення. Точно можна перевірити на практиці скрипом-сканером. Мені це не принципово. Я не такий мега-спеціалість, як вам може здаватися)) Мій досвід, це бажання+інструменти+вдача+залізні нерви)) і в цьому списку, як бачите - знань немає
Так само було під час аналізу регістрівІ якщо ви уважно подивитися, на одному зі скрінів в мене ж в моніторингу в йде показник як +А, так і -А
Та Ви не ШІ, а нам покажіть той регістр коли струм >0Так я ж робив. Я ж надав Ші для аналізу і він таблиці вивів. Оцю ж таблицю я і заскрінив. Я дивився значення 4760 при заряді 4-5А, та при розряді 2А. Показник залишався статичним
Та Ви не ШІ, а нам покажіть той регістр коли струм >0
Теоретично можна і не всі байти читати. Якщо читати тільки самий молодший байт, а БМС видає струм в форматі хх.х, то Ви обмежите значення +-12.7А Якщо струм стане більше, то буде показувати біліберду.
Тобто можна читати тільки молодші байти, але Ви штучно обмежуєте діапазон вимірю
Бмс же не буде розбивати на два регістри силу струму))) Типу, в одному буде 100+Ампер, в іншому - до 99000 міліампер)))Та Ви не ШІ, а нам покажіть той регістр коли струм >0
Теоретично можна і не всі байти читати. Якщо читати тільки самий молодший байт, а БМС видає струм в форматі хх.х, то Ви обмежите значення +-12.7А Якщо струм стане більше, то буде показувати біліберду.
Тобто можна читати тільки молодші байти, але Ви штучно обмежуєте діапазон вимірювання.
Можливо все))) Ось, спеціально переключив для фіксації показників упс на батарею та на скрінах чітко показники сходяться - додатка телефону, та з БД.Якщо струм перевищить +-65535 ма приблизно, то буде переповнення зчитанного int16 замість int32.
Все що більше -+66А буде з помилкою
в моїй BD6A32S10P (і моїй прошивці) Battery Current - це signed INT16 (1 регістр, mA), і конструкція val if val <= 32767 else val - 65536 - стандартний спосіб конвертації signed 16-bit з Modbus в Python.Якщо струм перевищить +-65535 ма приблизно, то буде переповнення зчитанного int16 замість int32.
Буде помилка
val if val <= 32767 else val - 65536 це некорректно для int32
Не зрозумів
Саме так і є. Тільки там двоїчне представлення. Ваша БМС спілкується строго по протоколу. А Ви штучно його обмежили.Бмс же не буде розбивати на два регістри силу струму))) Типу, в одному буде 100+Ампер, в іншому - до 99000 міліампер)))
Це я вставив пояснення грокана моїй конкретній BD6A32S10P (з моєю прошивкою) ситуація інша — значення струму приходить як signed INT16 саме в регістрі 4762 (count=1), і це дає правильні, динамічні дані, які ідеально збігаються з Bluetooth-додатком JK і реальним навантаженням. Коли струм = 0 А → обидва регістри (4760 і 4762) показують 0 (або дуже близько). Коли реальний розряд, наприклад -10 А → регістр 4762 дає значення ≈ -10000 (після /1000 і signed-конвертації), знак правильний, значення змінюється плавно і точно. Якщо читати 4760 count=1 — там або 0, або статичне/незмінне значення, яке не реагує на навантаження. Якщо читати count=2 з 4760 → low word (4762) дає правильний струм, а high word (4760) — 0 або сміття, яке не впливає на результат (тобто ефективно 16-бітне значення). Це не штучне обмеження протоколу — це те, як саме моя BMS віддає дані по Modbus. Можливо, в моїй прошивці JK зробили спрощення (або баг/особливість), і повноцінний INT32 не використовується, а струм поміщається в молодші 16 біт