При сканировании адресов findecu несколько раз работала непонятным образом (как именно напишу ниже). Объясните, пожалуйста в чём причина такого поведения.
В инишнике указаны такие запросы:
10 00
21 E1
01 E1
И так глюки такие:
1. на некоторых адресах прога останавливается и дальше помогает только её перезапуск. Причем висит не мертво, на интерфейс реагирует, кнопка "стоп" нажимается, но процес не останавливается. например, вот фрагмент лога для адреса 43
Open COM1
TxD(Эхо):81 43 F1 81 36
RxD:83 F1 43 C1 E9 8F F0
Fast Init OK
ECUADDR=43 KW1=E9 KW2=8F
TxD(Эхо):82 43 F1 21 E1 B8
RxD:83 F1 43 7F 21 78 CF
Data:7F 21 78
RxD:83 F1 43 7F 21 78 CF
Data:7F 21 78
... и далее без конца продолжается получение данных. До запроса 01 Е1 дело не доходит. Такие случаи весьма частые, поэтому в процессе сканирования приходится постоянно сидеть у компа и контролировать прогу. Скан всех адресов при таком раскладе у меня занял полтора часа.
2. При отправке запроса на некоторый адрес (например 9С) ответ приходит с функциональной адресацией. Что это за ecu такой и почему так делает? Можно/правильно ли на основании такой пары запрос-ответ делать вывод о соответствии между физ. и функц. адресом этого эку?
Open COM1
TxD(Эхо):81 9C F1 81 8F
RxD:C3 9D 40 C1 E9 8F D9
Fast Init OK
ECUADDR=40 KW1=E9 KW2=8F
TxD(Эхо):82 9C F1 21 E1 11
RxD:C3 9D 40 7F 21 80 C0
Data:7F 21 80
...
и тут опять прога останавливается (более 5 мин. ждать не стал) и только перезапуск.
3. Иногда в лог попадают непонятные строки. Например, это лог запроса на 62. Откуда строка №2 непонятно.
Open COM1
TxD(Эхо):CD 83 F1 61 7F
TxD(Эхо):81 62 F1 81 55
RxD:83 F1 62 C1 E9 8F 0F
Fast Init OK
ECUADDR=62 KW1=E9 KW2=8F
TxD(Эхо):82 62 F1 21 E1 D7
RxD:83 F1 62 7F 21 78 EE
Data:7F 21 78
А это лог на А2. Опять же смущает строка №2.
Open COM1
TxD(Эхо):2E 83 F1 A2 7F
TxD(Эхо):81 A2 F1 81 95
RxD:83 F1 A2 C1 E9 8F 4F
Fast Init OK
ECUADDR=A2 KW1=E9 KW2=8F
TxD(Эхо):82 A2 F1 21 E1 17
RxD:83 F1 A2 7F 21 78 2E
Data:7F 21 78
RxD:83 F1 A2 7F 21 78 2E
Data:7F 21 78
... непрерывное получение (как в первом примере)...
после попыток нажимать кнопку "стоп" в логе появляется странная последняя строка. Прога при этом продолжает "висеть".
RxD:83 F1 A2 7F 21 78 2E
Data:7F 21 78
RxD:83 F1 A2 7F 21 78 2E
Data:7F 21 78
TxD(Эхо):A2 7F 21 78 2E 83
|