avatar_KrOeNeN

ЗУ на оcнове выпрямителя ЕАТОN АРR48-3G

Автор KrOeNeN, 21 Фев. 2014 в 19:52

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

batson

ну да потихоньку вырисовывается что происходит в логах. надо конечно на блоке испытывать но он у меня в ходу

пока вот что понял
7E 40 01 00 00 00 00 00 98 4C  вот это какойто пакет поиска. контроллер ищет блок питания. я бы с этого пакета начал
7E C0 01 37 84 0A F1 00 1A 00 01 00 00 00 01 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 C3 00 блок питания отвечает контроллеру

также в любом пакете который посылает блок питания есть магическое 37, третьим или четвертым байтом

еще мои предположения про crc и modbus не подтвердились. найти бы контрольную сумму :bw:
Самоходный аппарат из нержавейки: нержавеющий чоботар, инфинеон 12, MXUS 1000

batkin1

У меня тоже сомнения по модбасу, но он бывает разным, да и на основе RS485 есть и другие протоколы(профибас например). Но тут от меня мало толку, хотя пытаюсь копать по мере возможности.

batkin1

 А вот кое что интересное - этот RXP уже попадался на глаза, но я зациклился на модбасе. Похоже modbus-rtu и modbus-tcp это для сетевой связи с компами, модемами и т.д. А вот RXP похоже для APRов.

В пдфке на стр.4
System Communications
Interface:          Connector:                   Protocols
RS-485             RJ-45 (Rear panel)        RXP


batkin1

Вчера поигрался с отправкой сообщений на зарядник. Времени было мало, но что-то нарисовалось. Работал с программой Serial Port Monitor. Сейчас выложу прогу и логи которые делал ею. Batson, глянь пожалуйста, может найдешь чего интересного. Прога может кажется отправлять даже дампы сообщений. Если интересны ответы на конкретные запросы, скидывай их мне. Я по вечерам дома могу "скормить" их заряднику и выложить логи.  Если эта прога не устраивает и предпочитаешь другую - скинь ее мне.

Добавлено 08 Апр. 2020 в 08:09

Прога не влазит даже в архиве, но её найти не проблема - serial_port_monitor_7.0.312. Поиск выдаст кучу вариантов.

batkin1

Сейчас снова копаюсь с командами и вот что понял - 7Е это не начало запроса и ответа, а конец. Прога посылает запрос каждую секунду. Если отправить запрос
7E 40 01 00 00 00 00 00 98 4C  то ответ от зарядки получим через две посылки. Если запрос в виде  40 01 00 00 00 00 00 98 4C 7Е то ответ приходит моментально.

batkin1


batkin1


batson

#511
Цитата: batkin1 от 08 Апр. 2020 в 16:24
Сейчас снова копаюсь с командами и вот что понял - 7Е это не начало запроса и ответа, а конец. Прога посылает запрос каждую секунду. Если отправить запрос
7E 40 01 00 00 00 00 00 98 4C  то ответ от зарядки получим через две посылки. Если запрос в виде  40 01 00 00 00 00 00 98 4C 7Е то ответ приходит моментально.
отлично, хорошее продвижение. я даже логи тогда переформатирую под 7E в конце, попробую взглянуть на них так.

а пока в этом пакете(40 01 00 00 00 00 00 98 4C 7Е) попробуй поменять по очереди каждый байт, скажем 40 на 41 потом в другом пакете 01 на 02, и запиши на какие пакеты блок отвечает а на какие нет.
Самоходный аппарат из нержавейки: нержавеющий чоботар, инфинеон 12, MXUS 1000

batkin1

#512
Сейчас готовлюсь "пытать" зарядник и выписываю отдельные команды из логов.
Нашел интересное совпадение -          80 00 01 6F E6 70 00 00 BF 7F 7Е и  8E 00 01 6F E6 70 00 00 BF 7F 7Е               
      Похоже что  BF 7F  - контрольная сумма    00 01 6F E6 70 00 00 - данные а начало и конец в расчете контрольки не участвуют?     
                                                                                                                   

batkin1

Погонял зарядку запросами из оставшихся логов и составил некую таблицу для размышлений. Если пытаться менять предполагаемую контрольку (два предпоследних байта) зарядка на них не реагирует. Если править первый байт то ответа может не быть, а может быть, но видоизмененный. Есть закономерность в первых байтах запрос - ответ (40-С0; 22-82; 26-86; 2А-8А; 34-84; 2Е-8Е; 30-80 и т.д.) Байт 40 - запрос от контроллера при поиске зарядки или потере связи с ней (сбое).  Пытался "бомбить" зарядку связками запросов, но Serial Port Monitor или не позволяет этого или я не могу разобраться в ней. Можно только отправлять данные из строки поодиночке или гонять по кругу с заданным интервалом. А набивать вручную сильно муторно, из логов скопировать и вставить не получается. Batson, если надо получить ответы на какие либо запросы присылай их. Где-то через месяц приедет второй контроллер и тогда можно заняться поиском программирующих запросов и параметров ток-напруга.

batkin1

Сегодня научился менять напругу с 50вольт на 46в и обратно. Для начала поставил прогу  Terminal v1.9b.  В ней можно создавать и сохранять макросы по 24 посылки в каждом. Причем посылки можно копировать и вставлять из текстовых документов, но есть нюанс - перед первым символом ставим $ и все пробелы в посылке меняем тоже на $ иначе вместо hex-символов полезет мусор. А вот поток наблюдать удобней в Serial Port Monitor. 
   Для начала выложу картинки и файлы.

batkin1

Здесь лог с сериал порт монитора и макрос из Терминала. Макрос открывается блокнотом. Там М1 М2--М24 кнопки отправления посылок, а под ними сами посылки.

batkin1

 Сегодня к зарядке прицепил китайскую электронную нагрузку для контроля напруги и нагрузил зарядку одним ампером. При включении напряжение было 42вольта. Создал пару макросов с запросами и начал баловаться и в какой-то момент увидел напругу в 50 вольт. Встала задача как-то изменить напряжение (оно сохранялось даже после выключения-включения) и через некоторое время оно изменилось на 46вольт.  Как работает - на Терминале открываем выложеный макрос и начинаем отправлять посылки М1, М2, М3 и т.д. (М5 я пропускал - выглядит она подозрительно и на работу не влияла). Когда нажимаем М9 напруга меняется на 46 вольт, но не сохраняется после выключения зарядки. Повторяем процедуру, доходим до М13 и после нее происходит сохранение напряжения. Посылка $00$00$01$00$00$00$0D$2E$00$DF$D9$7E устанавливает значение 49 вольт ( на нагрузке индикатор 45,8-45,9 вольт)  Попытка менять $0D$2E на другие значения к успеху не привела. Видимо все таки контролька сторожит. Но вот что странно - есть посылки  из четырех байт - адрес,контролька и 7Е. может то и не контролька?
  А вот возврат на 50 вольт идет через посылку М2 ($40$03$3D$AF$7E) которая видимо производит сброс на настройки по умолчанию (мое мнение) но не всегда.
Иногда зарядник засыпает или после включения его надо разбудить посылками М1 и М2 и тогда после М3 мы получим ответы от зарядника. Но в какой-то момент нажимая М2 видим что напруга стала 50в и сохраняется даже после выключения зарядки.

batson

46в ты установил послав пакеты из твоих самых первых логов?

у меня даже была мысль записать пакеты установки всех напряжений и токов по очереди) это конечно дубовый метод, но действенный, потом все можно было бы в одну софтину запихать. надеюсь до этого не дойдет и мы таки найдем нужные байты напряжений токов и срс
Самоходный аппарат из нержавейки: нержавеющий чоботар, инфинеон 12, MXUS 1000

batkin1

Да. Пока приходится копаться в первых сохраненых логах. Вот пара которые не выкладывал. Пока остается только копаться в том что есть. будет контроллер - сразу займусь дубовым методом, ну а тонкую работу оставлю тебе. :-)

batkin1

Сейчас провел еще эксперимент. в логах нашел посылку $00$00$01$00$00$00$0D$32$00$99$C7$7E и подменил ей М9 в макросе Терминала. Напряжение стало 50 в., но сохранить его не получается - выключаю-включаю зарядку и снова 46в  Эта пара $00$00$01$00$00$00$0D$2E$00$DF$D9$7E -46в и $00$00$01$00$00$00$0D$32$00$99$C7$7E-50в позволяет на лету менять напругу.

Сегодня работал другой прогой - ComPort toolkit. Сделал скрин с пометками.





batson

отлично нашли напряжение :eureka:
$00$00$01$00$00$00$0D$32$00$99$C7$7E  32h - 50
$00$00$01$00$00$00$0D$2E$00$DF$D9$7E 2Еh - 46

что странно, напряжение выставляется до десятых вольт, а тут только целые. возможно десятые эти два следующих нуля
0D(13) может оказаться током. а может какойто командой.
последние два байта это действительно crc, я чуть позже попробую разобрать как оно формируется

Цитата: batkin1 от 12 Апр. 2020 в 08:40но сохранить его не получается - выключаю-включаю зарядку и снова 46в
за сохранение скорее всего отвечает другой пакет
Самоходный аппарат из нержавейки: нержавеющий чоботар, инфинеон 12, MXUS 1000

batkin1

Да, теперь главное разобраться в контрольке. Моих познаний в этой области не хватает. Будет потребность что-то скормить зарядке, присылай список запросов в "блокноте", команды пиши с пробелами, без $. Я их скопирую в терминал.