logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Protokół diagnostyczny do opla

avital 18 Sty 2006 15:57 11388 9
REKLAMA
  • #1 2192638
    avital
    Poziom 15  
    Witam
    Czy ktoś mógłby się podzielić jakąś specyfikacją protokołu kwp do opli,
    wszystko co za free z netu mam, albo jakiś monitor-terminal najlepiej z rozpoznawaniem komend, ze starszym (kw1281) poszło łatwo.
    Pisze programik do immo opel do kodowania kluczy, immo1 gotowe a immo 2 które po kwp2000 w powijakach...
  • REKLAMA
  • #2 4451252
    wszim
    Poziom 14  
    Witam
    Odgrzewam stary wątek. Nie wiem czy udało ci się zdobyć informacje i czy możesz sie nimi podzielić. Mam podobne potrzeby, tzn chcę zrobić prosty program do logowania kliku parametrów aby wyznaczyć charakterystyki pracy dla różnych zewnętrznych sytuacji. Korzystając z dokumentacji ISO protokołu KWP2000 oraz z podglądu transmisji udało mi się zlokalizować ramkę, która mnie interesuje. Niestety nie wiem jak wydobyć z niej pola danych.

    Pomijając kwestie inicjacji transmisji, program AB-COM (bo z takiego korzystam) odczytuje dane z ECU silnika korzystając z ramki:

    komenda z ABCOMa = 80 11 F1 02 21 01 A6
    poszczególne bajty
    80 - physical addressing
    11- Target address byte (11 to silnik)
    F1 - Source address byte
    02 - Additional length byte (ilość kolejnych dodatkowych danych, tu 2 kolejne bajty)
    21 - readDataByLocalIdentifier
    01 - recordLocalIdentifier (czyli chyba rekord nr 1)
    A6 - CS (suma kontrolna która jest sumą wszystkich poprzedzających bajtów modulo 256 czyli obcięta do bajta)

    odpowiedź ze sterownika
    80 F1 11 68 61 01 ... 102 bajty danych i 57 jako CS

    80 - physical addressing
    F1 - Source address byte
    11- Target address byte
    68 - ilość nastepujących danych
    61 - Positive Response Message
    01 -ecordLocalIdentifier (czyli rekord nr 1 lub od rekordu 1)
    ...
    response code
    ...
    57 CS (suma kontrolna )


    No i jak z tych 102 bajtów danych (response code) wyczytać 62 parametry pracy silnika.

    Silnik na którym to sprawdzam to Z16XEP Astra G
  • REKLAMA
  • REKLAMA
  • #4 8935379
    eruanno
    Poziom 10  
    Witam!

    Odświeżam temat, gdyż wraz z kolegą próbujemy stworzyć minikomputer pokładowy do samochodu marki Opel Corsa-B (z silnikiem X12SZ, rocznik '96) i potrzeba nam kilka informacji. Aktualnie jesteśmy w stanie zainicjować połączenie poprzez łącze OBD. Odbywa się ono w następujący sposób:

    Wysyłamy:
    0x86 - pobudzenie z prędkością 5 baud na linii K (złącze OBD 16 pin)
    ... Przełączenie na ok. 8000 baud ...

    Odpowiedź:
    0x55
    0x51
    0x80

    Wysyłamy:
    0x7F - negacja poprzedniego bajtu

    Odbieramy:
    0x15 0xF6 0x39 0x30 0x32 0x32 0x20 0x43 0x35 0x20 0x39 0x30
    0x32 0x32 0x31 0x32 0x36 0x31 0x20 0x44 0x4A 0x2B
    0x15 0xF6 ... i tak w kółko...

    W rozszyfrowaniu danych pomogła ta strona, ale niestety to za mało. Wiem, a raczej domyślam się, że dane są wysyłane w ramkach postaci:

    długość ramki [1 bajt] + dane + suma kontrolna (negacja zwyklej sumy w kodzie U2)


    Zapytania mają być nadawane niby pomiędzy ramkami.

    Pytania:
    1. Przede wszystkim jak nazywa się protokół?
    2. Gdzie można znaleźć jakiś w miarę dokładny opis tegoż protokołu?
    3. Jak bardzo odbiega od OBD-II? Chodzi mi o to, czy mogę stosować tryby i PID opisywane na wikipedii?

    Za wszelką pomoc z góry dziękuję.
  • #5 8935655
    Konto nie istnieje
    Konto nie istnieje  
  • #6 8935912
    eruanno
    Poziom 10  
    Sposób inicjalizacji powieliliśmy na podstawie obserwacji tego, co jest wysyłane przez interfejs opcom, więc zakładam, że została ona przeprowadzona poprawnie (program w końcu wyświetla poprawne dane).

    Dodam, że nie interesują mnie sprawy typowo diagnostyczne (kody błędów, etc.) lecz dane bieżące (rpm, itd..)
  • #7 8935931
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #9 9383517
    eruanno
    Poziom 10  
    Witam,

    trochę czasu już minęło, więc postanowiłem napisać co się wydarzyło "potem", aby nie wydawało się ludziom, że problem wciąż jest otwarty.

    Zacznę od odpowiedzi na własne pytania:
    Cytat:
    1. Przede wszystkim jak nazywa się protokół?

    Protokół nazywa się KW81. Co ciekawe niewiele ma wspólnego z KW82, czy nawet KW1281 (w każdym razie dzięki za link TVP3)

    Cytat:
    2. Gdzie można znaleźć jakiś w miarę dokładny opis tegoż protokołu?

    Link do jedynej pomocnej nam strony - grupy dyskusyjnej właśnie wygasł :). Kilka ciekawych informacji wygrzebałem jeszcze na jakimś hiszpańskim forum, ale link do tematu gdzieś się zawieruszył (www.corsa-club.ar/foro/)

    Cytat:
    3. Jak bardzo odbiega od OBD-II? Chodzi mi o to, czy mogę stosować tryby i PID opisywane na wikipedii?

    Oj bardzo. W każdym razie nie tędy droga.

    Pisałem o tym, że w kółko otrzymujemy jakieś ramki (identyfikator ECU). Zapytania należało wysyłać pomiędzy tymi ramkami (istniała pomiędzy nimi przerwa, trwająca kilkadziesiąt ms). Zapytanie 02 07 F7 sprawiło, że ECU w sposób ciągły zwracał zrzut chwilowego stanu interesujących nas czujników (45 bajtowe ramki, w tym pierwsze 10 - nie licząc nagłówka - kody błędów, reszta - informacje, które były kluczowe dla naszego projektu, czyli RPM, prędkość, przepustnica, napięcie akum. itd.). Kilka doświadczeń wystarczyło do zidentyfikowania, który bajt odpowiada za wymienione parametry.

    W każdym razie wszystko działa, a żeby nie być gołosłownym:

    Protokół diagnostyczny do opla

    Gdyby ktoś bardzo potrzebował szczegółów niech napisze na PW, ja ze swojej strony dziękuję pozostałym za pomocną dłoń :)

    Temat pewnie do zamknięcia, ale nie ja go tworzyłem, więc siedzę cicho...
  • #10 18627260
    Zielek_PL
    Poziom 9  
    Witam wiem, że odgrzewam kotleta ale potrzebuje pomocy. Posiadam opla astra f 1.4i 1994r jest tam złącze 10pin i chciałem podpiąć się z komputerem, zastanawiałem się nad interfejsem BOD2 (ELM327 iCar2 Vgate OBD2) i przejściówką właśnie na te 10 pinów, lub tez nad Opel Scannerem na USB też z przejściówką na 10 pin. Byłby ktoś w stanie doradzić?, i powiedzieć jaki tam jest protokół i czy warto w ogóle kupować takie urządzenia?
REKLAMA