200cm3 (Стаканыч)

Диагностика своими руками

6 320 сообщений в этой теме

vitna    4

Вычитал ранее в этой ветке:

Shr-lnm >>> 6E2164 - это положительный ответ.

На всяк случай - использую базу от клипа 151/152

Изменено пользователем vitna

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
PyRen    179

У вас на обе команды положительные ответы 6E2164 и 6E2852 это значит что команды вополнились. Если клипом адоптации сбрасывались то по идее и скриптом должны - нужно конечно знать какие именно команды подавались с клипа.

Пришлите мне пожалуйста ваш savedEcus.p и логи если остались - я посмотрю что можно сделать с ошибками, которые вы нашли

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Shr-lnm    823

У вас на обе команды положительные ответы 6E2164 и 6E2852 это значит что команды вополнились.

Скорее всего здесь не правильно отработала команда RZ033. Она должна состоять вот из такой последовательности команд

ВНИМАНИЕ!!!! Эти команды подходят только для определенного ЭБУ!!!! На других могут привести к непредсказуемым результатам!!!!

2E28670000
2E28650000000000
2E286600
2E28638080808080
2E28648080808080
2E285180
2E285280

А выполнилась судя по всему только одна, последняя

 

Изменено пользователем Shr-lnm

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
vitna    4

А выполнилась судя по всему только одна, последняя

я могу на этом этапе что-то сделать или это зашито в скрипте?

Изменено пользователем vitna

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Shr-lnm    823

я могу на этом этапе что-то сделать или это зашито в скрипте?

Наверное самостоятельно можно только свой скриптик написать и эти команды туда засунуть или подождать пока PyRen скрипт не поправит. 

Руками через терминал, только если быстро печатать умеете ))

 

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Shr-lnm    823

К сожалению в Dialogys (версия 4.43 и ниже) нет MR-файла для кода модели X38 или X95 (48 - X38 NEW SM3/FLUENCE/MEGANE, 44 - X95 MEGANEIII/SCENICIII)....

Посмотрите вот такой файл MR394X8517B200.pdf

Это про EMS3110 версии D8, а у вас D9 - думаю большая часть для вашего двигателя будет справедлива.

В своем диаложисе для D9 я тоже не нашел. 

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
quattro81    128

если адаптер на atpps не откликается то это почти наверняка поделка на ARM процессоре а не на PIC. На ARM процессорах я пока хороших адаптеров не видел.

Разобрал я один из этих адаптеров.

вот внутренности. Х.з. что за чип. Маркировки нет.

elm327.thumb.jpg.0ad6402d8836ffb593e2e2c

логи можно снять, но сейчас не до этого.

все равно толку нет что на ATAL отзывается а на ATPSS нет.

Изменено пользователем quattro81

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Shr-lnm    823

Разобрал я один из этих адаптеров.

вот внутренности. Х.з. что за чип. Маркировки нет.

логи можно снять, но сейчас не до этого.

все равно толку нет что на ATAL отзывается а на ATPSS нет.

Что то новенькое. Судя по тому как плотно она лежит на столе, там снизу корпусов нет? Получается что там даже CAN драйвера  MCP2551 нет? Вообще не понятно как оно работает. 

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
a413xa    2

Добрый день. Спасибо Shr-Inm и Pyren за скрипт!!! Можно ли на нем прописать код форсунки? 

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
quattro81    128

вот обратная сторона устройства

elm2.thumb.jpg.5540d89910b41c4116ffce845

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
PyRen    179

pyren v 0.9.4 (beta)

http://takebin.com/f/Xx4gG26U0FdFE

Добавлено:
- поддержка wifi адаптеров. вместо названия com порта "-p com1" нужно указать адрес и TCP-порт wifi адаптера, например "-p 192.168.0.10:35000". Некоторые модели wifi адаптеров работают очень медленно - см. соответствующие форумы по настройкам адаптеров.
- поддержка серии сервисов в одной команде (когда одна команда меню вызывает последовательность простык команд ЭБУ)
- пример для написания собственных скриптов commander.py
- утилита для разархивирования GenAppli директории из CAB файлов

Исправлено:
- исправления в алгоритме сканирования и работы с к-линией (fix от Shr-lnm)
- выход из любого пункта меню осуществляется кнопкой Q
- если запустить скрипт с ключом -l и указать не существующий язык, например FR, то языковая база не загрузится и все сообщения будут на языке оригинала (максимально быстрая загрузка)
- несколько мелких багов приводивших к вываливанию скрипта
- алгоритм изменения интервалов между сериями команд в соответсвии с указаниями из БД
- загрузка некоторых блоков прерывалась на стадии Loading defaults

Команды с параметрами, включая пропись форсункок, к сожалению пока не поддерживаются. Но специально для таких целей можно использовать commander.py

Изменено пользователем PyRen

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
quattro81    128

спасибо, буду пробовать и выкладывать логи.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
a413xa    2

Pyren можно по подробнее про comannder.py

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
serg8001    765

Добрый день. Спасибо Shr-Inm и Pyren за скрипт!!! Можно ли на нем прописать код форсунки? 

Приедь я тебе клипом пропишу форсы...

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Shr-lnm    823
вот обратная сторона устройства

Бесполезный похоже прибор ((( но я бы не спешил пока выбрасывать, а убрал бы куда-нибудь на антрисольку. 

Четыре контактные площадки на задней стороне платы это похоже для программирования встроенного flash. Что-нибудь типа I2C. Вдруг кто-нибудь разберется как ее перепрошить и напишет правильную прошивку. Потенциал в принципе у этих ARM поделок значительно выше чем у оригинальных PIC

 

Изменено пользователем Shr-lnm

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
gruzdev_f    40

вот как-то так эти операция в ддт описаны, последние две немного не совпадают по адресу, скорей всего из за версии прошивки.

достаточно много всего сбрасывается.

2E28670000 - Reinit_Learning counter to adaptive least square method.
2E28650000000000 - Reinit_nformation "at least one learning in the zone"
2E286600 - Reinit_4 of the 5 zones engine learned.
2E28638080808080 - Reinit_Minimum gap compared to the initial linear
2E28648080808080 - Reinit_Maximum gap compared to the initial linear
2E285180 скорей всего Reinit_Richness adaptation factor
2E285280 скорей всего Reinit_Richness adaptation offset

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
PyRen    179

В версии скрипта 0.9.4 есть досадная ошибка. Скрипт вываливается если его запускать без логов. т.е. пока нужно всегда включать логи.
Поправлю - перевыложу

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
PyRen    179

a413xa писал: Pyren можно по подробнее про comannder.py

Это шаблон для самостоятельного написания нужных скриптов. Если вы знаете какие команды нужно подавать то их можно написать в конце commander.py по примеру. Т.е. commander.py просто делает всю подготовительную работу по инициализации ELM, открывает сессию и может вести лог

На примере прописи форсунок. Обычно это делается командами 3BAD но для каждого конкретного ЭБУ лучше свериться с DDT или базой клип. Еще для надежности лучше сначала сохранить то что в ЭБУ прописано сейчас - обычно это комана 21AD

Cейчас в commander.py для примера написана такая команда

print elm.request( req = '2180', positive = '61', cache = False )

замените ее на

print elm.request( req = '21AD', positive = '61', cache = False )

commander должен будет показать как форсунки у вас прописаны сейчас.

В качестве адреса скрипт использует функциональный адрес блока - он указан в колонке Addr в основном меню скрипта pyren. По умолчанию ставится адрес 7A - это адрес ЭБУ двигателя

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
a413xa    2

Где конкретно смотреть команды в клипе? есть диск , но он не устанавливается(

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Shr-lnm    823

Клип у вас не ставится наверное из-за того что вы реестры предварительно не подправили. Обычно в дистрибутиве лежит reg файл. 

Но устанавливать клип не обязательно. Оттуда нужно только два файла data2.cab и data1.hdr На 37 странице есть достаточно подробное описание как доставать из дистрибутива клипа нужные файлы.

Дальше встает задача определить какой из файлов описывает ваш ЭБУ - тут проще запустить скрипт pyren и просканировать машину в колонке index скрипт покажет номер вашего ЭБУ в базе данных клипа. 

В подменю ID показываются всякие полезные данные по которым можно попробовать поискать свой ЭБУ в базе DDT - там обычно можно найти больше интересных команд от своего ЭБУ 

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
quattro81    128

опробовал вчера новый скрипт на мегане 3.
 Логи выкладываю.

 ecu_logname 

 elm_logname

А теперь немного расскажу про нюансы. Были ошибки - цепь левой лампы ближнего света, цепь правой лампы ближнего света, цепь датчика давления масла. Раньше скриптом эти ошибки не удалялись. Новой версией удалились без проблем.

В меню где перечислены ЭБУ и количество ошибок в каждом из них, скрипт показывал 4 ошибки в эбу двигателя. Когда заходишь в ЭБУ,  далее 1 - DE, то из 4х ошибок показывало только 2.

 ECU : 10743  K9K830_K9K834_DCM34_Vdiag45_RM6_Soft4C_X95
Screen : DE (STD_B) -> DF1012 ДОСТ ИНФ ПО МУЛЬТ СЕТИ ДЛЯ РЕГ-ОГР СКОРОСТИ        DEF    MEMORISED

        DEF:Информация, используемая функциями регулирования или ограничения скорости, не соответствует действительным значениям.


PR064 ТЕМПЕРАТУРА ВОДЫ                                              74.20 *C
PR055 РЕЖИМ ДВИГАТЕЛЯ                                              844.00 об/мин
PR089 СКОРОСТИ АВТОМОБИЛЯ                                            0.00 км/час
PR015 КРУТЯЩИЙ МОМЕНТ ДВИГАТЕЛЯ                                     14.81 Nm
PR071 НАПРЯЖЕНИЕ ПИТАНИЯ КОМПЬЮТЕРА                                 14.36 V
ET413 ФУНКЦИЯ РЕГУЛЯТОРА/ОГРАНИЧИТЕЛЯ СКОРОСТИ                         ВЫКЛ.
ET753 ОТСЛЕЖИВАНИЕ ИНФ. РЕГУЛЯТОРА СКОРОСТИ                           СОСТ. 8
ET754 ОТСЛ. ИНФ. О СКОР. АВТ. ОТ РЕГ/ОГР. СКОР                        СОСТ. 6

Press any key to exit

 ECU : 10743  K9K830_K9K834_DCM34_Vdiag45_RM6_Soft4C_X95
Screen : DE (STD_B) -> DF025  СОЕДИНЕНИЕ ДИАГНОСТИКИ БЛОКА ПРЕДВАРИТ. НАГРЕВА    CO     MEMORISED

        1.DEF:Неисправность обнаружена
        CC.0:Короткое замыкание на "массу".
        CC.1:Короткое замыкание на +12 В
        CO:Разомкнутая цепь


PR064 ТЕМПЕРАТУРА ВОДЫ                                              74.00 *C
PR055 РЕЖИМ ДВИГАТЕЛЯ                                              850.75 об/мин
PR089 СКОРОСТИ АВТОМОБИЛЯ                                            0.00 км/час
PR015 КРУТЯЩИЙ МОМЕНТ ДВИГАТЕЛЯ                                      1.19 Nm
PR071 НАПРЯЖЕНИЕ ПИТАНИЯ КОМПЬЮТЕРА                                 14.39 V
ET160 КОМАНДА РЕЛЕ ПРЕДВАР. ПОДОГРЕВА                               ДЕЗАКТИВИР.
PR890 УПРАВЛЕНИЕ СВЕЧАМИ ПРЕДПУСК. ПОДОГРЕВА                         0.00 %
PR891 РЕЖИМ ПРЕДПУСКОВОГО ПОДОГРЕВА                                  0.00 %
ET115 СИГНАЛЬНАЯ ЛАМПА ПРЕДПУСКОВОГО ПОДОГРЕВА                        ПОГАШЕН
PR059 ТЕМПЕРАТУРА ЗАБИРАЕМОГО ВОЗДУХА                               15.00 *C

Press any key to exit

Причем если выйти из DE и снова зайти то вторая ошибка то исчезала, то появлялась вновь. А где же еще 2 ошибки? Почему не отображаются? При подключении сканера Autel Maxiscan к машине показывало ошибку P0094, Torque тоже ее показывало.

elm_logname

ecu_logname

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
jericho13    6

заказал elm, скоро готов проверить на fluence (ecu v40)

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Shr-lnm    823

 

В меню где перечислены ЭБУ и количество ошибок в каждом из них, скрипт показывал 4 ошибки в эбу двигателя. Когда заходишь в ЭБУ,  далее 1 - DE, то из 4х ошибок показывало только 2.

Это тут уже обсуждали. В основном меню показывается примерное количество ошибок (часть из них не ошибки) - в этот момент еще не загружены данные ЭБУ и скрипт не может определить что является ошибками а что нужно отбросить.

Пропадающие и снова появляющиеся ошибки при разных заходах в меню ЭБУ это из-за того что для считывания ошибок не хватает скорости 38400

Вот показательный кусочек из лога

>[20:35:18.584000]19023B
<[0.186999797821]19023B

07F 

0: 59 02 FF 16 0C 04 

1: 50 06 57 13 50 06 57 

2: 11 50 02 01 36 50 02 

3: 03 36 50 02 04 36 50 

4: 02 02 36 50 22 63 21 

5: 50 22 63 22 50 16 43 

6: 64 50 16 43 64 50 00 

7: 00 92 E9 16 
0 64 50 

8: 16 51 64 50 16 52 64 

9: 50 15 25 F3 2B 03 80 

A: 12 50 03 80 11 50 03 

B: 80 13 50

BUFFER FULL

 

>

Здесь в седьмом фрейме потеря символа и BUFFER FULL в конце. Символ потерялся на ком порту между ELM и компьютером иначе было бы сообщение "DATA ERROR" а здесь его нет. BUFFER FULL означает что ELM не успевает прокачать через COM порт то что получает от ЭБУ. Здесь скрипт получил только 12 из 17 фреймов и те не полностью.

Вот и получается что та вторая ошибка то успеет влезть в COM а то не успеет.

Нужно будет попробовать добавить в скрипт возможность на время сеанса мягко повышать скорость COM порта например до 115200

P0094 среди стандартных ошибок означает "Fuel system small leak detected" - тут нужно изучать что там имелось в виду - возможно они vendor specific ошибку расшифровали как стандартную 

 

Еще должен сказать в v0.9.4 да и во всех ранних версиях, обнаружился недочет. Скрипт не может подавать команды длиннее 7 байт (( а они иногда полезны.

Нужно будет искать путь как это исправить

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
quattro81    128

А если сразу скорость 115200 выставить в настройках порта?

P0094 не очень то вяжется с ошибками которые скрипт показал.

На прошлой диагностике прошлая версия скрипта показывала ошибки - регулятор давления топлива (вот она то вяжется с p0095, которая и в прошлый раз была) и ошибка инжектор 2 цилиндра. Тогда же и ошибка рег огр скорости тоже была. И что такое изменилось, что удалились ошибки по цепи лампы ближнего света?

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Shr-lnm    823

А если сразу скорость 115200 выставить в настройках порта?

для этого сначала командами нужно поменять скорость на elm. Тут есть два варианта мягкий и жесткий. Если мягко то после  отключения elm скорость вернется на 38400. В вашем случае потеря символа на скорости 38400 это плохой признак и при переключении на 115200 может потеряться связь с elm. Лучше сначала попробовать переключиться мягко и если будет поддерживать новую скорость тогда можно и жестко. Если после жесткого переключения потеряется связь с elm тогда чтобы его восстановить туду придется лезть с паяльником

И что такое изменилось, что удалились ошибки по цепи лампы ближнего света?

а в этот раз ближний свет был включен? С ближним светом это могла быть не ошибка а незавершенный тест

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
quattro81    128

и в тот и в этот раз ближний свет был выключен, мотор заглушен, зажигание включено. И там была ошибка не только цепь ламп ближнего света, но и датчик давления масла. И эти 3 ошибки не удалялись прошлой версией скрипта, а этой удалились.

И еще забыл сказать, что при первом запуске новой версии скрипта он запустился, дал выбрать автомобиль, начал сканировать блоки, но сканирование не пошло, ждал минут пять, таки осталось 0/101 ECUs

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
a413xa    2

Вот нашел:
-<Command name="S002" type="SC" codeMR="SC002" agcdRef="SC002">

<Label defaultText="SAISIE DES CODES INJECTEURS" codetext="9459"/>  это код?

<Scenario>scm:scen_ecri_calinj4#scen_ecri_calinj4_10420.xml</Scenario> что это?

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Shr-lnm    823

таки осталось 0/101 ECUs

Может быть COM порт не работал ??  

Вот нашел:<Scenario>scm:scen_ecri_calinj4#scen_ecri_calinj4_10420.xml</Scenario> что это?

Это ссылка на сценарий - он под спойлером.

<?xml version="1.0" encoding="ISO-8859-1"?>
<!--!DOCTYPE ScenarioConf_Root SYSTEM "ScenarioManuel.dtd"-->
<?Doc_Info [$Revision:   1.0  $] [$Date:   Dec 18 2008 14:20:58  $]?>
<ScmRoot>
    <ScmParam name="TexteTitre" value="9459"/>
    <ScmParam name="TexteSousTitre" value="23540"/>
    <ScmParam name="TexteSousTitreCommandeTerminee" value="23540"/>
    <ScmParam name="LabelSaisieCode" value="2580"/><!--Screen2 - Message2-->
    <ScmParam name="CommandeEnCours" value="13080"/>
    <ScmParam name="CommandeTerminee" value="13082"/>
    <ScmParam name="dat_TitreActuel" value="23542"/>
    <ScmParam name="dat_TitreSouhaite" value="23543"/>
    <ScmParam name="dat_Cylindre1" value="9462"/>
    <ScmParam name="dat_Cylindre2" value="9463"/>
    <ScmParam name="dat_Cylindre3" value="9464"/>
    <ScmParam name="dat_Cylindre4" value="9465"/>
    <ScmParam name="TitreMbPartie1" value="15795"/>
    <ScmParam name="TitreMbPartie2" value="15907"/>
    <ScmParam name="TexteErreurNack" value="570"/>
    <ScmParam name="Message6" value="1293"/>
    <ScmParam name="ContenuBoutonMb" value="19009"/>
    <!--Identification-->
    <ScmParam name="Ident1" value="ID009"/>
    <ScmParam name="Ident2" value="ID010"/>
    <ScmParam name="Ident3" value="ID011"/>
    <ScmParam name="Ident4" value="ID012"/>
    <!--Commands-->
    <ScmParam name="Cmde1" value="VP001"/>
    <ScmParam name="Cmde2" value="VP002"/>
    <ScmParam name="Cmde3" value="VP003"/>
    <ScmParam name="Cmde4" value="VP004"/>
    <ScmParam name="PermittedCharacters" value="0123456789ABCDEF"/>
    <ScmParam name="SymbolsErrorCode" value="2584"/><!--MessageBox1 - Message7-->
    <ScmParam name="TexteErreurCode" value="2586"/><!--MessageBox2 - Message9-->
    <ScmParam name="nbCaractereCode" value="16"/>
    <ScmParam name="Timer1" value="10"/>
    <ScmParam name="Nbre_VP" value="1"/>
    <ScmParam name="FormatHexadecimal" value="0"/><!--Format d'ecriture-->
</ScmRoot>

Дальше нужно искать команды  VP001, VP002, VP003 и VP004 - искать их нужно в файле SGyyxxxx.xml а читать его можно с помощью модуля mod_optfile.py - он лежит в папке со скриптом

У вас получилась просканировать? Какие блоки обнаружились? У вас остался savedEcus.p? И что тогда показывает меню ID  у двигателя? (VIN можно не посылать :)  )

 

Изменено пользователем Shr-lnm

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Gopher_tomsk    15

Уважаемый PyRen, не могли бы Вы выложить скрипт на другой обменник, а то у меня похоже антивирус провайдера всё "глушит" 

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Shr-lnm    823

Сегодня ставил эксперименты с отправкой длинных команд в ЭБУ по CAN шине через ELM. Расскажу что у меня получилось - может кому-нибудь пригодится. 

 

Проблема с длинными командами заключается в том, что в ELM по умолчанию включено автоформатирование “AT CAF1”. Очень удобно - не нужно разбираться как данные передаются по CAN шине, но зараза не умеет передавать длинные команды. Выход похоже только один - отключить это автоформатирование “AT CAF0” и взять все в свои руки. Еще дополнительно нужно явно указать что мы будем подавать длинные команды “AT AL”

 

По CAN шине данные передаются фреймами до 8 байт длиной. Когда посылаешь чего-нибудь на CAN шину нужно указывать количество посылаемых байт. Когда включено автоформатирование за нас длину добавляет ELM, когда оно отключено, количество данных нужно указывать самому. 

Если нужно послать до 7-ми байт включительно, то все влезет в один фрейм и он будет выглядеть как: 

“0L DD DD DD DD DD DD DD”

0L - это длина в байтах не считая самый первый байт который называется PCI

 

Если нужно послать больше 7 байт то фреймы будут выглядеть  как

“1L LL DD DD DD DD DD DD”

“21 DD DD DD DD DD DD DD”

“22 DD DD DD DD DD DD DD”  и т.д.

 

Первый фрейм начинается с единицы, за ним 3 шестнадцатеричных символа длины (можно послать до 4096 байт) и потом 6 оставшихся байт занимают полезные данные.

Все последующие фреймы должны начинаться с “2” и следующий символ это порядковый номер фрейма в этой посылке. В каждый последующий фрейм влезает до 7 полезных байт.

 

Не полные фреймы можно забить нулями.

 

Ниже пример на котором я тренировался. В моем ABS это команда тестирования насоса “300100FFBFFF00000000000000”  Здесь 13 байт (0x00D). В один фрейм не влезет. 6 байт отправляются с первым фреймом и оставшиеся 7 со вторым. 

1 00D 300100FFBFFF

21  00000000000000

 

Не повторяйте это на своей машине если не уверены что эти команды вам подойдут!!!!

 

Все вместе с инициализацией выглядит так

TX: at z

RX: ELM327 v1.5

TX: at e1

RX: OK

TX: at l0

RX: OK

TX: at s0

RX: OK

TX: at h0

RX: OK

TX: at al

RX: OK

TX: at caf0

RX: OK

TX: at sh 740

RX: OK

TX: at cra 760

RX: OK

TX: at fc sh 740

RX: OK

TX: at fc sd 30 00 00

RX: OK

TX: at fc sm 1

RX: OK

TX: at sp 6

RX: OK

TX: 0210c0

RX: 0250C00000000000

TX: 100d300100FFBFFF

RX: 3004050000000000

TX: 2100000000000000

 

Здесь предпоследний фрейм это  FlowControl.  Эбу просит нас отправлять последующие фреймы не более чем по 4 за раз и с интервалом не меньше 5 миллисекунд.

Изменено пользователем Shr-lnm

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Shr-lnm    823

На днях перечитывал datasheet от ELM и обратил внимание на интересную фразу "Surely there has to be a way to eliminate that final timeout, if you know how many responses to expect? There is a way – instead of sending 01 00 for the above request, the ELM327 will also accept 01 00 2. This tells the IC to send 01 00, then return immediately after receiving 2 responses. It can not speed up a slow ECU, but it will eliminate the final delay, as the ELM327 knows the number of responses to expect. This one change might give you 10 to 12 responses per second, instead of the 6 obtained previously. "

Сегодня попробовал сделать еще и такой эксперимент. У меня на Sagem 3000 получается до 27 откликов в секунд каждый из которых возвращает по 26 байт. У меня два USB-ишных ELM-ки. На одной получается время отклика 31 мс и на второй 57 мс. Внешне они отличаются USB чипами. На быстром стоит FTDI на том что помедленнее CH340. Не знаю в этом дело  или нет, может и в драйверах. И это при скорости 38400 на com порту.

Ошибок на шине не появляется.

По результатам тестов подправил модуль mod_elm.py. Теперь: 

- при работе с CAN шиной отключается автоформатирование

- параметр busLoad ставится в 0. (это параметр добавлял когда появились сообщения что на некоторых машинах появляются ошибки в ЭБУ связанные с аномалиями шины.) 

- добавляет это волшебное число в конце запроса.

- когда выходишь из скрипта, он выдает статистику ошибок ELM вот в таком виде

****************************************

*       ERRORS STATISTIC

* error_frame      =  0

* error_bufferfull =  0

* error_question   =  0

* error_nodata     =  0

* error_timeout    =  0

*

*       RESPONSE TIME (Average)

* response_time    =  0.0312733053699

****************************************

Кто хочет потестить, вот эти модули скопируйте в версию 0.9.4

 

mod_elm.py

mod_scan_ecus.py

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
a413xa    2

Если это мне,то я сканировал и стирал ошибки, блоков девять вроде обнаружилось, В SG файле про VP002 ничего не нашел, а в FG файле 


</Command>


-<Command name="V002" type="VP" codeMR="VP002" agcdRef="VP002">

<Label defaultText="CODE INJECTEUR CYLINDRE 2" codetext="9463"/>

<PrerequisiteMessage defaultText="Le cylindre N°1 est le cylindre côté volant moteur." codetext="18115"/>


-<InputList>

<InputData>ASCII</InputData>

</InputList>


-<StatusInterpretation>

<Correspondance defaultText="COMMANDE IMPOSSIBLE" codetext="13081" value="0"/>

<Correspondance defaultText="COMMANDE EN COURS" codetext="13080" value="1"/>

<Correspondance defaultText="COMMANDE TERMINEE" codetext="13082" value="2"/>

</StatusInterpretation>

savedEcus.p

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Shr-lnm    823

Если это мне,то я сканировал и стирал ошибки, блоков девять вроде обнаружилось, В SG файле про VP002 ничего не нашел, а в FG файле 

Тогда все значительно проще.

Запустите скрипт в демо режиме ( к машине можно не подключаться)

pyren.py -pp --demo

затем заходите в меню двигателя и далее VP -> V001 [Command]

у вас на экране будет что-то типа

 ECU : 10420  K9K - J77 X85 766 768 - X84 724

Screen : VP -> V001 [Command] 

 

Prerequisite : Цилиндр No. 1 - это цилиндр со стороны маховика двигателя.

 

name         : V001

codeMR       : VP001

label        : КОД ИНЖЕКТОРА ЦИЛИНДРА 1

type         : VP

scenario     : 

serviceID    +

              : (136  ) 3BAD01 <Params>

 

There are parameters. I do not support them!!!

 

Press ENTER to exit

т.е. команда прописи первой форсунки это 3BAD01xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxx соотвественно нужно заменить на код

 

 

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
a413xa    2

Тогда все значительно проще.

Запустите скрипт в демо режиме ( к машине можно не подключаться)

pyren.py -pp --demo

затем заходите в меню двигателя и далее VP -> V001 [Command]

у вас на экране будет что-то типа

 ECU : 10420  K9K - J77 X85 766 768 - X84 724

Screen : VP -> V001 [Command] 

 

Prerequisite : Цилиндр No. 1 - это цилиндр со стороны маховика двигателя.

 

name         : V001

codeMR       : VP001

label        : КОД ИНЖЕКТОРА ЦИЛИНДРА 1

type         : VP

scenario     : 

serviceID    +

              : (136  ) 3BAD01 <Params>

 

There are parameters. I do not support them!!!

 

Press ENTER to exit

т.е. команда прописи первой форсунки это 3BAD01xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxx соотвественно нужно заменить на код

 

 

Спасибо большое! 

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
gruzdev_f    40

по поводу сокращений в скрипте

вот такие осмысленные варианты есть, было бы неплохо в скрипт их вставить.

DE - Detect error (Поиск ошибок)
ID - Identification (Идентификаторы блока)
SP - System parameter (Cистемные параметры)
AC - Action command (Команды управления)
VP - VIN Programming (Программирование ВИН)
SC - Scenario configuration (Сценарии конфигурации)

к остальным осмысленного названия не нашёл.

ED показывает пробег с момента появления DTC, но ничего толкового кроме Estimate DTC не приходит под эту аббревиатуру.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
evgeniy583    0

перелистал всю тему почти и появился вопрос что купить для диагностики авто своего логан 2006 года БК не активирован. Сейчас плавают обороты нужна диагностика записался сказали приехать через неделю (адаптер быстрее наверное прийдет). смотрел в сторону DDT 2000 и адаптер k-line или взять elm но какой понятно, что блютуз лучше но они разновидности есть. что взять посоветуйте и где сайтов много много отзывов прочитал.    

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
gruzdev_f    40

ELM адаптеры сейчас продаются двух версий, 1.5 и 2, версия номер 2 крайне не рекомендуется к покупке по тому что у неё урезанный функционал.

версия 1.5 в блютусном варианте немного более глючная, для стабильности лучше взять USB вариант

но зато блютусную версию можно использовать с смартфоном, кинул в бардачёк и в любое время можно проверить ошибки у себя или у друга.

покупать надо там где тебе удобней, они все одинаковые, цена зависит лишь от жадности продавца. адаптер из китая идёт от 2х недель до 2х месяцев, как повезёт, если надо прямо сейчас то попробуй поискать на авито, в Кунгуре кто-то продаёт, правда дороговато.

Изменено пользователем gruzdev_f

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
quattro81    128

адаптер обязательно проверять командой atpps.

Бывают v1.5 тоже урезанные. Настоящие 1.5 сейчас довольно редко встречаются, часто под видом 1.5 получаешь 2.1.

Короче надо проверять или доверять продавцу. Я немного занимаюсь продажей елм327, кому нужны проверенные v1.5 можете обращаться, могу выслать.

Но они и у меня в городе расходятся в момент, сегодня последний продался 1.5, следующая партия недели через 2 только будет. и блютуз и вайфай и усб.

 

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Shr-lnm    823

Еще подкрутил модуль mod_elm.py и добавил в pyren.py опцию  -r. Она позволяет поднимать скорость COM порта  во время работы скрипта. Делается это "мягко", командой "at brd" т.е. после "atz" или отключения питания от elm, скорость вернется обратно. Так не будет шансов "потерять" elm если переборщить со скоростью. 

Опция принимает значения 57600,115200,230400,500000. 500000 у меня ни на одной elm-ке не заработало. Да и 230400 выше крыши хватает. На такой скорость я на своем мегане запускал atma без фильтров и мне не прилетело ни одного BUFFER FULL.

Думаю опция будет полезна тем у кого блоки STD-B. Как в случае у quattro81

опробовал вчера новый скрипт на мегане 3.
В меню где перечислены ЭБУ и количество ошибок в каждом из них, скрипт показывал 4 ошибки в эбу двигателя. Когда заходишь в ЭБУ,  далее 1 - DE, то из 4х ошибок показывало только 2.

Причем если выйти из DE и снова зайти то вторая ошибка то исчезала, то появлялась вновь. А где же еще 2 ошибки? Почему не отображаются? При подключении сканера Autel Maxiscan к машине показывало ошибку P0094, Torque тоже ее показывало.

На скорости уже в 115200, при чтении ошибок, не должно прилетать BUFFER FULL

Экраны с этой опцией обновлять будут быстрее. У меня на USB время отклика сократилось с 31 до 20 мс.

Правда теперь опция -s не нужна. Теперь скрипт сам подбирает начальную скорость COM порта. Стартует чуть медленнее, но зато не важно какая скорость осталась в адаптере после последнего запуска.

Скорость для этой опции нужно подбирать по значению количества ошибок error_frame и error_bufferfull, которые выдаются в конце работы скрипта. При повышении скорость вероятность появления error_frame растет а error_bufferfull падает. При понижении соответственно наоборот. Так что лучше не перебарщивать.

 

 

mod_globals.py

pyren.py

mod_elm.py

Изменено пользователем Shr-lnm

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Shr-lnm    823

Нужно скопировать все три файла в папку со скриптом.

Если кто-нибудь попробует, нипишите что получилось - интересно собрать статистику. Заранее благодарю.

 

 

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
quattro81    128

я обязательно попробую, надо только дождаться когда мне трубка гидропривода сцепления придет и ее поменяют, тогда можно будет скинуть ошибку низкий уровень тормозной жидкости, но это не раньше чем к выходным будет, да и еще пока елмки нормальной нет, только так что на atpps не отвечает в наличии, ей только двигатель можно посмотреть. Но нормальные тоже скоро должны придти.

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

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Shr-lnm    823

Про елмку без atpps даже не знаю. Не уверен что даже двигатель прочтет. Те последние улучшательства которые я в последние версии mod_elm вставил, основаны на командах которые могут не поддерживаться этими китайскими чудесами. Нужны команды atbrd и atcaf0

На трекере я видел уже 152 версия лежит - там нужно почитать форум от 151. Но я не вижу большого смысла я пробовал сравнивать базы - там обычно появляютс только новые блоки или модели типа каджар или как там его. В старых блоках обычно ничего не исправляют, максимум ставят галочку что появилось чтото в репроге для этого блока. Так что если вы блоки или саму машину не меняли то большого смысла нет

Хотя может что то и подправли

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
jericho13    6

так и должно быть ? кстате, выложите пожалуйста полную последнюю pyren

C:\clip\data\GenAppli\pyren>pyren.py
Usage: pyren.py -p <port> [options]

pyRen - python version of Reanult car diagnostic

Options:
  --version      show program's version number and exit
  -h, --help     show this help message and exit
  -p PORT        ELM327 com port name
  -s SPEED       com port speed configured on ELM
                 {38400[default],57600,115200,230400,500000} DEPRECATED
  -r RATE        com port rate during diagnostic session
                 {38400[default],57600,115200,230400,500000}
  -l LANG        language option {RU[default],GB,FR,IT,...}
  -m CAR         number of car model
  -v             show parameter explanations
  --log=LOGFILE  log file name
  --demo         for debuging purpose. Work without car
  --scan         scan ECUs even if savedEcus.p file exists

Available COM ports:
COM1
        desc: USB-SERIAL CH340 (COM1)
        hwid: USB VID:PID=1A86:7523 SNR=5


C:\clip\data\GenAppli\pyren>pyren.py -p com1
Opening ELM
Checking port speed: 115200
Traceback (most recent call last):
  File "C:\clip\data\GenAppli\pyren\pyren.py", line 168, in <module>    main()
  File "C:\clip\data\GenAppli\pyren\pyren.py", line 136, in main    elm = ELM( mod_globals.opt_port, mod_globals.opt_speed, mod_globals.opt_log)
  File "C:\clip\data\GenAppli\pyren\mod_elm.py", line 286, in __init__    self.port = Port(portName, speed, self.portTimeout)
  File "C:\clip\data\GenAppli\pyren\mod_elm.py", line 110, in __init__    self.check_elm(portTimeout)
  File "C:\clip\data\GenAppli\pyren\mod_elm.py", line 128, in check_elm   self.hdr = serial.Serial(self.portName, baudrate=s, timeout=0)
  File "C:\Python27\lib\site-packages\serial\serialwin32.py", line 38, in __init__    SerialBase.__init__(self, *args, **kwargs)
  File "C:\Python27\lib\site-packages\serial\serialutil.py", line 282, in __init__    self.open()
  File "C:\Python27\lib\site-packages\serial\serialwin32.py", line 66, in open    raise SerialException("could not open port %r: %r" % (self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'com1': WindowsError(5, '\xce\xf2\xea\xe0\xe7\xe0\xed\xee \xe2 \xe4\xee\xf1\xf2\xf3\xef\xe5.')
****************************************
*       RESETTING ELM
Exception AttributeError: "'int' object has no attribute 'hdr'" in <bound method ELM.__del__ of <mod_elm.ELM instance at 0x0264CE40>> ignored

C:\clip\data\GenAppli\pyren>

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Shr-lnm    823

так и должно быть ? кстате, выложите пожалуйста полную последнюю pyren

раскажите пожалуйста в личку поподробнее. Меня интересует, происходит ли так при каждом запуске  или через раз всетаки запускается? Запускается ли после полного обесточивания elm-ки? И как долго он пробует подключиться по 38400?

У вас я вижу он доходит до 115200. Он всегда так? Или иногда вываливается на других скоростях?

Изменено пользователем Shr-lnm

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
jericho13    6

0.9.4 c последними изменениями на этой странице вылетает, если взять 0.9.4 то вот логи, машина разобрана, после дтп, srs прошили чистым дампом, осталось в эбу скинуть ошибку, не подачи топлива (топливный насос при включении дергается, но топливо не подает)

ecu.png

ecu_flu094.log

elm_flu094.log

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Shr-lnm    823

С вылетами нужно разбираться. Возможно я под windows не достаточно хорошо протестировал.

ошибок у вас нет ни в двигателе ни в abs. Другие блоки почемуто не видны. Вы сканирование давно повторяли? запустите скрипт с ключиком --scan.

Про топливный насос ничего не могу подсказать. А что показывают менюшки SP LC и другие?

Изменено пользователем Shr-lnm

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
jericho13    6

pyren.py -p com1 --scan ? SP LC только завтро смогу. eeprom srs еще раз попробую перепрошить. все руки не доходят до портирования на c#

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Shr-lnm    823

pyren.py -p com1 --scan ?

Да, верно.

Я вроде поправил скрипт, он теперь должен работать под windows

 

 

mod_globals.py

mod_elm.py

pyren.py

eeprom srs еще раз попробую перепрошить.

Чем вы прошиваете eeprom? Галетой?

Изменено пользователем Shr-lnm

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
jericho13    6

 

Чем вы прошиваете eeprom? Галетой?

carprog

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
jericho13    6

кстате, пока рыскаю по просторам инета по вопросу иммобилайзера, pyren поддерживает?

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти