From f3d4e91c8072ad045c41f2704a4f41c0a55a882e Mon Sep 17 00:00:00 2001 From: pavel Date: Mon, 30 Mar 2026 16:59:36 +0300 Subject: [PATCH] added run_sequence_diagram.png --- README.md | 64 ++++++++++++++++++++++++- UML/sequence/run_sequence_diagram.png | Bin 0 -> 73937 bytes UML/sequence/run_sequence_diagram.puml | 55 +++++++++++++++++++++ 3 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 UML/sequence/run_sequence_diagram.png create mode 100644 UML/sequence/run_sequence_diagram.puml diff --git a/README.md b/README.md index 55123a0..c423812 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,64 @@ -# diesel_train +# SmartGen Reverse Engineering & CAN Bus Guide + +Данный репозиторий/руководство посвящено техническому анализу и интеграции контроллеров **SmartGen** (серии HGM, HPD, HAT) в сторонние системы управления. + +--- + +## 1. Реверс-инжиниринг CAN-шины (J1939) + +В современных контроллерах SmartGen (например, **HGM7220**, **HGM9510**) CAN-шина используется для связи с блоком управления двигателем (ECU) и каскадирования генераторов. + +### Основные задачи анализа CAN: +* **Слушание трафика (Sniffing):** Использование CAN-анализатора (например, USB-CAN или Arduino + MCP2515) для перехвата PGN-сообщений. +* **Протокол SAE J1939:** SmartGen использует стандарт J1939. Реверс-инжиниринг здесь заключается в сопоставлении ID сообщений с реальными параметрами (обороты, температура, давление масла). +* **Собственные PGN:** Некоторые данные (состояние контроллера, специфические аварии) передаются через проприетарные диапазоны PGN, которые требуют ручного декодирования. + +### Популярные ID для мониторинга: + +| Параметр | PGN (Hex) | Описание | +| :--- | :--- | :--- | +| **Engine Speed** | `00F004` | Обороты двигателя (EEC1) | +| **Coolant Temp** | `00FEEE` | Температура охлаждающей жидкости (ET1) | +| **Oil Pressure** | `00FEEF` | Давление масла (EFLP1) | + +--- + +## 2. Протоколы и Интерфейсы + +Помимо CAN, реверс-инжиниринг SmartGen затрагивает: + +### RS485 (Modbus RTU) +Самый доступный способ интеграции. Большинство адресов регистров SmartGen открыты в официальных мануалах, но для старых или кастомных прошивок требуется: +1. Сканирование регистров (Holding Registers). +2. Анализ ответов для определения типов данных (Float, Int16, Bitmask). + +### USB/PC Software +Программа **SmartGen Configuration Software** обменивается данными с контроллером через скрытые команды. Реверс-инжиниринг этого трафика позволяет создавать свои утилиты для быстрой прошивки и настройки парка генераторов. + +--- + +## 3. Защита от обратной мощности (Reverse Power) + +Если ваш запрос связан с термином *Reverse Power Protection* в контексте SmartGen (модули **HPD300**): + +* **Назначение:** Предотвращение работы генератора в режиме мотора. +* **Логика:** Мониторинг вектора тока относительно напряжения. Если мощность становится отрицательной (потребление вместо выдачи), срабатывает реле. +* **Настройка:** Регулировка через потенциометры `Value` (порог в %) и `Delay` (задержка срабатывания). + +--- + +## 4. Инструментарий для разработчика + +Для работы с устройствами SmartGen рекомендуется: +1. **Железо:** USB-to-RS485 адаптер, USB-CAN анализатор (например, CandleLight или CANable). +2. **ПО:** + - `Wireshark` (с плагином для CAN). + - `Modscan` / `QModMaster` для проверки Modbus. + - `Python` + библиотеки `python-can` или `pymodbus`. + +--- + +## Дисклеймер +*Данные материалы предназначены исключительно для образовательных целей и легальной интеграции оборудования. Автор не несет ответственности за выход оборудования из строя при попытках модификации прошивки.* + (сгенерировано google ИИ) diff --git a/UML/sequence/run_sequence_diagram.png b/UML/sequence/run_sequence_diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..a788e94188745e666ef872165cd114d6adb5ebcc GIT binary patch literal 73937 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�Cw%^W`C3}Bz~6rsL_2}SC0dl!1|cyNihj$ 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%0D06=I#CQ(ej)4F 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 Vti6=SzjXi}MtT_ChuRJi{|CfeiU|M! literal 0 HcmV?d00001 diff --git a/UML/sequence/run_sequence_diagram.puml b/UML/sequence/run_sequence_diagram.puml new file mode 100644 index 0000000..50036a7 --- /dev/null +++ b/UML/sequence/run_sequence_diagram.puml @@ -0,0 +1,55 @@ +@startuml +participant "HGM6110" as SG +participant "Контроллер двигателя" as EC +participant "Реле топлива" as R +participant "Стартер" as S + +note over SG +Задержка пуска (1–10 с) +end note + +SG -> R : Включение реле топлива +note over SG +Выход топлива (2–5 с) +end note + +SG -> EC : Команда запуска +EC -> S : Стартер ВКЛ +S -> EC : Прокрутка (до 10 с) + +alt Успешный запуск + EC --> SG : Частота > порога + + note over SG + Безопасное время (3–5 с) + end note + + alt Низкое давление масла + note over SG : АВАРИЯ: Low Oil Pressure + SG -> EC : Стоп + else Перегрев + note over SG : АВАРИЯ: High Temp + SG -> EC : Стоп + else Нормально + note over SG : Холостой ход (5–20 с) + note over SG : Прогрев (10–180 с) + + note over SG : Авт ДГУ ВКЛ + note over SG : Нормальная работа + end + +else Неудачный запуск + EC --> SG : Нет частоты + + alt Перекрут (Overcrank) + note over SG : АВАРИЯ: Overcrank + SG -> EC : Блокировка пуска + else Низкое напряжение АКБ + note over SG : АВАРИЯ: Low Battery + else Повтор пуска + SG -> EC : Пауза (5–10 с) + SG -> EC : Повтор пуска (до 3 раз) + end +end + +@enduml \ No newline at end of file