Hinweis: Du musst Dich registrieren wenn Du einen Beitrag verfassen willst.
Zum registrieren, klicke hier. Die Registrierung ist kostenlos.


Zitat-Antwort erstellen
Benutzername:
Passwort:
Antwort: Hilfe zum Editor

 
Deine Signatur aus deinem Profil einfügen.
(Email Benachrichtigung, wenn auf das Thema geantwortet wird) (Hilfe)
 
T H E M A     R Ü C K B L I C K
Matthias_P
Hauptthema:
Dieser Beitrag wurde vom Moderator angry81 am 01.11.2015 um 19:05:32 aus dem Forum "5er BMW - E60 / E61" in dieses Forum verschoben.

Hi bin eine ganze weile am fummeln die Öl Temperatur anstatt der KVA zu codieren / ändern.


Ich bekomme die anzeige auch an aber die öltemp  ist min65grad und max65grad .
Die Nadel steht jetzt natürlich an einer stelle.

jetzt änder ich den wert aber dieser wird nicht angekommen.


Kann mir jemand sagen wie ich werte allgemein bei T32 ändern kann ?



MfG Matthias

 edit : habe es hinbekommen

Bearbeitet von: Matthias_P am 01.11.2015 um 18:00:56

Bearbeitet von: Matthias_P am 01.11.2015 um 18:01:55

Bearbeitet von: angry81 am 01.11.2015 um 19:05:32
ratsplayer
Sinnvoll dann nicht zu erklären, was schlussendlich zum Erfolg geführt hat...
Matthias_P
Ist noch in arbeit . Ich schreibe dazu noch wie es geht .

MfG
intershopper
Das würde mich auch interressieren, wie ich das mit T32 bewerkstellige. Ein paar tipps wären sehr hilfreich

Gruß Frank
Matthias_P
Hier kann zu , wenn hier keiner Geduld hat und mich per pn nervt , dann haben jetzt alles Pech.

Danke
hansw
Schade, nachdem nach zwei Wochen nichts von dir kam, kann man meinen es wäre vergessen/gestorben das Ganze...
Die Info, dass du nicht per PN angeschrieben werden willst, hätte hier sicherlich geholfen. Ein ignorieren solcher PNs hätte es evtl. auch getan ;)
Nichts desto trotz überlegst du dir das Ganze vielleicht nochmal, sonst wäre dieses Thread ebenfalls eine Sackgasse.
 
wolli1
...so ist die Welt. Bevor jemand, den es wichtig ist ein paar Euros investiert und es umcodieren lässt, schnorren die lieber nach Infos und belästigen einen nur!
Es ist keine 0815er Codierung sondern benötigt gewisses Wissen.

@Matthias_P

ohne binären Buffer kannst keine Daten schreiben und kommst somit nicht zum Erfolg. Deshalb habe ich Geld investiert für das nötige Wissen, jetzt sind es nur 3 Klicks :)

Gruß
Matthias_P
@wolli1

Ich habe die daten ja da und es läuft.
Ich wollte das hier verständlich schreiben aber sehe es nicht ein .
meine Letzten beiträge wurden auch schlecht gemacht weil es nicht schnell genug ging .

bei mir ist alles self made und mir hat auch keiner geholfen .


MfG
 
wolli1
...na dann herzlichen Glückwunsch :)

Gruß
deliciouscars
Wenn das jetzt jeder so macht,ist keinem geholfen.
Zum glück bin ich hier im forum
Matthias_P
@ deliciouscars achso aber druck machen ist richtig oder wie ? denkst du mir wurde hier jemals richtig im forum geholfen ???
Ich wollte nur mal was gutes tun aber jetzt verstehe ich warum keiner das mehr macht . es liegt daran das alle weder geduld noch verständnis dafür haben das sowas geld , wissen und erfahrung kostet.

Flasht doch mal euren tacho und haut 800€ in die mülltonne und festzustellen das was schief lief beim testen .
es setzt sich doch keiner hin Probiert und teilt seine erfahrungen .
Es liegt daran das alle einfach gierig sind und in den Arsch gesteckt bekommen wollen.


Ich habe hier mit ein paar leuten schon Privat geschrieben und es ist unfassbar was hier sich so einige leisten .

ohne solche leute wie wir die erfahrungen stundenlang sammeln und die mit anderen entgeldlos teilen , wurden einige sachen sicherlich nicht umsetzbar sein.

Sorry für die ausdrucksweise aber es geht hier anscheinend nicht anders.


MfG
deliciouscars
Ich versteh was du meinst,habe auch schon viel geld gelassen für solch programme,fragen oder antworten.....!!!

Aber habe mich auch schon eines besseren belehren lassen,das es auch super leute gibt die einen helfen wie bmw freak,wolli,hojo etc.....das sind auch ein paar von den wenigen, die ahnung haben und ich um jeden ratschlag dankbar bin.

Und somit auch weiss das ich andere (ignoriere) wenn solch dumme sprüche kommen,aber das hast du glaube ich in jedem forum.

Mfg julien

Bearbeitet von: deliciouscars am 23.11.2015 um 05:40:13
wolli1
...nur keine Aufregung, alles wird gut ;)

Gruß
ratsplayer
Man sollte es mal mit T32, der entsprechenden Kombi-Datei (z.B. Komb60) und den Jobs c_c_lesen und c_c_schreiben versuchen...
intershopper
Hallo Gemeinde,

ich fühle mich schuldig im Sinne der Anklage. Ja, ich habe mir erlaubt per PM nachzufragen und bin nun etwas überrascht über den Tonfall. Ich wollte niemand kränken bzw. Druck aufbauen. Ich dachte ein Forum dient zum Informationsaustausch. Ich weiss, dass es einem manchmal so vorkommt, als würden die anderen nur nehmen und Informationen abgreifen. Ich kenne das noch sehr gut von meinem Combox Einbau aber anderseits erfahre ich von anderen Usern auch immer was Neues bzw. bekomme Anreize für neue Projekte.

Zurück zum Thema:
Das ich T32 brauche und das ich damit umgehen muss, ist mir schon bekannt. Auch über die beiden Jobs wusste ich Bescheid.Ich hatte mir ledig einen Tipp zum Buffer gewünscht.

Hier mal meine Ergebnisse:
#c_c_lesen
01 01 01 01 00 00 00 00 00 00 00 00 00 17 00 00 00 00 01 31 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 03
#result
01 01 01 01 00 00 00 00 00 00 00 00 00 17 00 00 00 00 01 31 00 2F 67 01 00 A0 00 18 01 90 01 08 02 26 01 36 14 98 22 FB 30 5D 3F 7D 03

die Überlegungen sind falsch!
Den Buffer für c_c_lesen habe ich mir aus einem russischen Forum kopiert. Leider scheitert es nun am Schreiben, da ich bei den Daten des Buffers nicht weiterkomme 2F 67 01 00 A0 00 18 01 90 01 08 02 26 01 36 14 98 22 FB 30 5D 3F 7D. Bei Änderungen muss ja auch die Prüfsumme stimmen, bei mir 2F. D.h. wenn nachfolgrende Werte erhöht werden, muss die Prüfsumme entsprechend reduziert werden und umgekehrt, richtig?

Bsp:
Änderung letztes Byte auf 7E bedeutet (2F -1 = 2E)
2E 67 01 00 A0 00 18 01 90 01 08 02 26 01 36 14 98 22 FB 30 5D 3F 7E

Würde dann der JOB c_c_Schreiben
01 01 01 01 00 00 00 00 00 00 00 00 00 17 00 00 00 00 01 31 00 2E 67 01 00 A0 00 18 01 90 01 08 02 26 01 36 14 98 22 FB 30 5D 3F 7E 03
so stimmen?


Aber welche Bytes sind denn nun für die Öltemp bzw. KVA?

Gruß Frank

Bearbeitet von: intershopper am 27.11.2015 um 10:36:14
ratsplayer
Hi,

das erste Byte muss nicht zwangsläufig um 1 verringert werden.
Es handelt sich um eine XOR-Checksumme, die muss berechnet werden.
Das letzte Byte muss ETX (0x03) sein.

Les das Steuergerät am besten mal mit NCS Expert aus und öffne das Trace-File mit NCS Dummy.
Dadrin sollte ein Wert für die gewünschte Anzeige zu finden sein. Der kann dann mit NCS Expert nicht verändert werden.
Allerdings sollte NCS Dummy die Byte-Adresse anzeigen. Das Byte muss dann entsprechend verändert werden.


Gruß

ratsplayer

Bearbeitet von: ratsplayer am 23.11.2015 um 22:30:18

Bearbeitet von: ratsplayer am 23.11.2015 um 22:30:54
intershopper
Ich habe gerade nochmal die Nettodaten vom Kombi ausgelesen. Kann man das alles nicht auch per Ncsexpert und Nettodaten codieren?
Es geht um die blaue Zeile

4A muss auf BMW M codiert werden MASK 8 und Wert 00 heisst 42 und nächstes Byte CA ist OEL_MAX_WERT auf 0F = 15 = 150° mit MASK 3F = CF

B 00300000,0010,FF,AB,0A,04,50,05,00,1E,1E,1E,1E,1E,7D,7D,05,14
B 00300010,0002,0F,0F
B 00300100,0010,67,FF,FF,FB,FF,FF,FF,FF,F7,FF,FF,FF,FF,FF,FF,FF
B 00300110,0010,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF
B 00300120,0010,FF,FF,FF,FF,FF,FF,EF,FF,FF,FF,FF,FB,FF,FE,FF,FF
B 00300130,0010,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,7D,03,00
B 00300200,0009,00,23,5C,DC,A3,4A,5D,B5,A2
B 00300300,0007,A4,4A,CA,24,00,FF,FF
B 00300400,0010,4B,0F,00,58,05,07,55,80,00,50,08,00,00,00,90,00
B 00300410,0003,00,03,00
B 00300500,0010,0B,20,50,0A,05,82,03,03,88,00,10,22,36,4A,00,14
B 00300510,0003,2C,42,4A
B 00300600,0010,95,74,0B,1A,04,E8,12,32,06,19,00,69,00,C8,00,22
B 00300610,000E,01,7C,01,19,00,63,00,E1,00,3B,01,7C,01,00
B 00300700,0006,0C,02,02,FF,FF,0C
B 00300800,0010,2E,28,40,DC,05,2C,01,3C,00,10,0E,50,46,FF,FF,E0
B 00300810,0004,1E,08,10,60
B 00300900,0010,FC,50,0A,41,C1,C1,91,C1,91,91,64,91,3C,C1,30,91
B 00300910,0010,18,C2,18,92,01,92,C2,D2,32,FF,FF,FF,FF,FF,FF,FF
B 003C0300,0005,00,25,11,14,20
B 003C0400,0004,B1,01,58,E8
B 003C0F00,0004,0C,07,0B,00

B 00300000,0010,FF,AB,0A,04,50,05,00,1E,1E,1E,1E,1E,7D,7D,05,14
B 00300010,0002,0F,0F
B 00300100,0010,67,FF,FF,FB,FF,FF,FF,FF,F7,FF,FF,FF,FF,FF,FF,FF
B 00300110,0010,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF
B 00300120,0010,FF,FF,FF,FF,FF,FF,EF,FF,FF,FF,FF,FB,FF,FE,FF,FF
B 00300130,0010,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,7D,03,00
B 00300200,0009,00,23,5C,DC,A3,4A,5D,B5,A2
B 00300300,0007,A4,42,CF,24,00,FF,FF
B 00300400,0010,4B,0F,00,58,05,07,55,80,00,50,08,00,00,00,90,00
B 00300410,0003,00,03,00
B 00300500,0010,0B,20,50,0A,05,82,03,03,88,00,10,22,36,4A,00,14
B 00300510,0003,2C,42,4A
B 00300600,0010,95,74,0B,1A,04,E8,12,32,06,19,00,69,00,C8,00,22
B 00300610,000E,01,7C,01,19,00,63,00,E1,00,3B,01,7C,01,00
B 00300700,0006,0C,02,02,FF,FF,0C
B 00300800,0010,2E,28,40,DC,05,2C,01,3C,00,10,0E,50,46,FF,FF,E0
B 00300810,0004,1E,08,10,60
B 00300900,0010,FC,50,0A,41,C1,C1,91,C1,91,91,64,91,3C,C1,30,91
B 00300910,0010,18,C2,18,92,01,92,C2,D2,32,FF,FF,FF,FF,FF,FF,FF
B 003C0300,0005,00,25,11,14,20
B 003C0400,0004,B1,01,58,E8
B 003C0F00,0004,0C,07,0B,00

Damit man nun keinen Fehler beim Codieren bekommt, muss man mit NCSDummy die Datendatei DATEN/e60/Kmbi_e60.c07 noch mit disassembly änderbar machen und den Wert 0A durch 0F ersetzen. Speichern und wieder assembly durchführen. Dann die neue Kmbi_e60.c07 nach Daten/e60 kopieren. Danach sollte das doch eigentlich über Ncsexpert und Nettodaten klappen.

Oder bin ich auf dem Holzweg???

Gruß Frank
 
bmw_freak96
Wenn du mit NCS Dummy die vorgegebenen Konfigurationen (DATEN) auf dem Computer änderst, also wie du schreibst zusätzlich zum 0A auch 0F zu einem bestimmten Codierwert als wählbare Option hinzufügst und das per "Update Daten" speicherst, kannst du das SG normal auslesen mit Codierdaten_lesen, die TRC ins NCS Dummy importieren, die Haken entsprechend neu setzen, also von dem alten Beispielwert wert_01 (also 0A) auf wert_02 (also 0F). Dann Export MAN und das SG wieder ganz normal mit SG_codieren codieren.

Das ist der Vorteil von NCS Dummy. Nettodatencodierung wird wesentlich einfacher.
intershopper
Also wäre das der einfachere Weg mittels ncsdummy die Öltemperatur zu codieren. Ergebnis ist ja das gleiche wie mit T32. Oder gibt es noch andere Meinungen?
Gruß Frank
wolli1
...Nettodaten oder NCS Dummy helfen hier ned. Dieser Bereich kann nur mit Tool32 verändert werden.

Gruß
intershopper
also sind meine Annahmen mit den Nettodaten falsch! Dann nochmal zurück zum T32:
Kann dann jemand mal den Aufbau des Buffers erklären? Habe ich wenigstens die richtige stelle für OEL_MAX_WERT im Buffer erwischt? Was habe ich noch vergessen?

#T32 gelesen mit c_c_lesen
01 01 01 01 00 00 00 00 00 00 00 00 00 17 00 00 00 00 01 31 00 2F 67 01 00 A0 00 18 01 90 01 08 02 26 01 36 14 98 22 FB 30 5D 3F 7D 03

Adresse für MAX_OEL_WERT laut NCSDummy ist 00300302 - bedeutet Byte 02, wahrscheinlich von rechts, bei Nettodaten wird ja von links gezählt.

01 01 01 01 00 00 00 00 00 00 00 00 00 17 00 00 00 00 01 31 00 2F 67 01 00 A0 00 18 01 90 01 08 02 26 01 36 14 98 22 FB 30 5D 3F 7D 03

#3F ändern auf 0F = 150°, da LEVEL_L= DATA/10 = 150/10 = 15 = 0F
#c_c_Schreiben
01 01 01 01 00 00 00 00 00 00 00 00 00 17 00 00 00 00 01 31 00 2F 67 01 00 A0 00 18 01 90 01 08 02 26 01 36 14 98 22 FB 30 5D 0F 7D 03


Ich bin völlig auf dem Holzweg. Hier die Beschreibung zum Aufbau des Buffers
name      : C_C_LESEN
  comment : Codierdaten lesen
            Standard Codierjob
            KWP2000: $22   ReadDataByCommonIdentifier
            $3000 - $3EFF CodingDataSet
            Modus  : Default

argument  : BINAER_BUFFER
  type    : data
  comment : Als Argument wird ein vorgefuellter Binaerbuffer uebergeben
            Der Binaerbuffer hat folgenden Aufbau
            Byte 0              : Datentyp (1:Daten, 2:Maskendaten)
            Byte 1              : (unbenutzt) Wortbreite (1:Byte, 2:Word, 3:DWord)
            Byte 2              : (unbenutzt) Byteordnung (0:LSB zuerst, 1 MSB zuerst)
            Byte 3              : Adressierung (0: freie Adressierung, 1:Blockadressierung)
            Byte 4              : (unbenutzt) Byteparameter 1
            Byte 5,6            : (unbenutzt) WordParameter 1 (low/high)
            Byte 7,8            : (unbenutzt) WordParameter 2 (low/high)
            Byte 9,10,11,12     : (unbenutzt) Maske (linksbuendig)
            Byte 13,14          : Anzahl Bytedaten (low/high)
            Byte 15,16          : (unbenutzt) Anzahl Wortdaten (low/high)
            Byte 17,18,19,20    : Wortadresse (low/highbyte, low/highword)
            Byte 21,....        : Codierdaten
            Byte 21+Anzahl Daten: ETX (0x03)

result    : CODIER_DATEN
  type    : data
  comment : Codierdaten

result    : JOB_STATUS
  type    : string
  comment : OKAY, wenn fehlerfrei
            table JobResult STATUS_TEXT

result    : _TEL_ANTWORT
  type    : data
  comment : Hex-Antwort von SG

Die Addresse für OEL_WERT_MAX aus NCSDummy ist 00300302, dass muss an die Stellen 17-20 im Buffer. Entspricht dann von rechts gelesen
low byte Stelle 17 = 02
high byte Stelle 18 = 03
high byte Stelle 18 = 03
low word Stelle 19 = 30
high word Stelle 20 = 00

#Stellen im Buffer
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

#Buffer - wenn ich ein Byte lesen möchte muss ich doch Stelle 13 mit 01 setzen und dann FF an Stelle 21
01 01 01 01 00 00 00 00 00 00 00 00 00 01 00 00 00 02 03 30 00 FF 03

#c_c_lesen 8 Byte lesen 08h an Pos 13
01 01 01 01 00 00 00 00 00 00 00 00 00 08 00 00 00 00 03 30 00  FF FF FF FF FF FF FF FF 03

Leider bekomme ich immer wieder einen Fehler, das der Buffer nicht stimmt.

Gruß Frank


 

Bearbeitet von: intershopper am 27.11.2015 um 10:31:28
intershopper
so war gerade am Auto und hatte eine Eingebung mit Erfolg:

Ich habe mir die Nettodaten nochmal angesehen. Es geht um die rot markierte Zeile, das ist die Adresse von OEL_MAX_WERT aus dem NCSDummy. Das sind ja 7 Bytes und nicht 8. Also gleich nochmal den Lesebuffer angepasst.

B 00300000,0010,FF,AB,0A,04,50,05,00,1E,1E,1E,1E,1E,7D,7D,05,14
B 00300010,0002,0F,0F
B 00300100,0010,67,FF,FF,FB,FF,FF,FF,FF,F7,FF,FF,FF,FF,FF,FF,FF
B 00300110,0010,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF
B 00300120,0010,FF,FF,FF,FF,FF,FF,EF,FF,FF,FF,FF,FB,FF,FE,FF,FF
B 00300130,0010,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,7D,03,00
B 00300200,0009,00,23,5C,DC,A3,4A,5D,B5,A2
B 00300300,0007,A4,4A,CA,24,00,FF,FF
B 00300400,0010,4B,0F,00,58,05,07,55,80,00,50,08,00,00,00,90,00
B 00300410,0003,00,03,00
B 00300500,0010,0B,20,50,0A,05,82,03,03,88,00,10,22,36,4A,00,14
B 00300510,0003,2C,42,4A
B 00300600,0010,95,74,0B,1A,04,E8,12,32,06,19,00,69,00,C8,00,22
B 00300610,000E,01,7C,01,19,00,63,00,E1,00,3B,01,7C,01,00
B 00300700,0006,0C,02,02,FF,FF,0C
B 00300800,0010,2E,28,40,DC,05,2C,01,3C,00,10,0E,50,46,FF,FF,E0
B 00300810,0004,1E,08,10,60
B 00300900,0010,FC,50,0A,41,C1,C1,91,C1,91,91,64,91,3C,C1,30,91
B 00300910,0010,18,C2,18,92,01,92,C2,D2,32,FF,FF,FF,FF,FF,FF,FF
B 003C0300,0005,00,25,11,14,20
B 003C0400,0004,B1,01,58,E8
B 003C0F00,0004,0C,07,0B,00


Also habe ich nochmal T32 gestarten und den JOB c_c_lesen mit folgenden Buffer aufgerufen
Position:  00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
Buffer:    01 01 01 01 00 00 00 00 00 00 00 00 00 07 00 00 00 00 03 30 00 FF FF FF FF FF FF FF 03
Bytes:                                                                    00 01 02 03 04 05 06


Position 13 muss auf 07 gesetzt werden, da 7 Bytes lesen werden sollen. An Pos 17-20 trägt man die Adrresse aus NCSDummy ein.

Adresse sieht man auch in den Nettodaten B 00300300. Dieser Wert muss noch auf die Positionen im Buffer Byte 17,18,19,20 Wortadresse (low/highbyte, low/highword)
         highWord | lowWord | highByte | lowByte
Adresse B   00    |    30   |    03    |    00
Pos         20    |    19   |    18    |    17


Somit muss von rechts nach links in den Buffer eingetragen werden. Adresse B 00 30 03 00 -> ergibt 00 03 30 00
Position:  00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
Buffer:    01 01 01 01 00 00 00 00 00 00 00 00 00 07 00 00 00 00 03 30 00 FF FF FF FF FF FF FF 03


Dann ab Pos 21-28 7 mal FF auffüllen, das ist reservierte Patz für die zu lesenden Bytes.

Position:  00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
Buffer:    01 01 01 01 00 00 00 00 00 00 00 00 00 07 00 00 00 00 03 30 00 FF FF FF FF FF FF FF 03



In T32 DATA Checkbox anhaken und Job c_c_Lesen einmal ausführen. Und siehe da, erhält man auch ein Ergebnis und keine Fehlermeldung mehr.

T32 Results
apiJobData("KOMBI60","c_c_lesen",{DATA}, 29,"")
  {DATA}: 29 Bytes
    0000 : 01 01 01 01 00 00 00 00   00 00 00 00 00 07 00 00  ........  ........
    0010 : 00 00 03 30 00 FF FF FF   FF FF FF FF 03           ...0.ÿÿÿ  ÿÿÿÿ.

Satz : 0
  OBJECT                          = kombi60
  SAETZE                          = 1
  JOBNAME                         = c_c_lesen
  VARIANTE                        = KOMBI60
  JOBSTATUS                       =
  UBATTCURRENT                    = -1
  UBATTHISTORY                    = -1
  IGNITIONCURRENT                 = -1
  IGNITIONHISTORY                 = -1
Satz : 1
  CODIER_DATEN                    = 29 Bytes
    0000 : 01 01 01 01 00 00 00 00   00 00 00 00 00 07 00 00  ........  ........
    0010 : 00 00 03 30 00 A4 4A CA   24 00 FF FF 03           ...0.¤JÊ  $.ÿÿ.
  JOB_STATUS                      = OKAY
  _TEL_ANTWORT                    = 14 Bytes
    0000 : 8A F1 60 62 30 03 A4 4A   CA 24 00 FF FF 4A        ?ñ`b0.¤J  Ê$.ÿÿJ


Orange ist wieder die Adresse und grün die Codierdaten, genau 7 Bytes.

Um nun BMW M (Motorsport) Wert 00 am Byte 01 mit MASK 08 zu codieren

Bytes 00 01 02 03 04 05 06
      A4 4A CA 24 00 FF FF 03

           Hex  Binär (blau MASKe 08)
 Byte 01 = 4A = 01001010
BMW M      42 = 01000010  
 

Das wäre in Nettodaten
B 00300300,0007,A4,42,CA,24,00,FF,FF

OEL_MAX_WERT wird an BYTE 02 mit MASK 3F codiert, dabei muss lt. NCSDummy der gewünschte maximale Ölwert / 10 geteilt werden. Für 150° muss 15 codiert werden.
             Hex  Binär (blau MASKe 3F)
   Byte 02 = CA = 11001010    (Falls man CA stehen lassen würde müssten 100° als OEL_MAX_WERT gesetzt sein A = 10 = 100°)
OEL_MAX      CF = 01001111  


Das wäre in Nettodaten
B 00300300,0007,A4,42,CF,24,00,FF,FF

Position:  00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
Buffer:    01 01 01 01 00 00 00 00 00 00 00 00 00 07 00 00 00 00 03 30 00 A4 42 CF 24 00 FF FF 03
Bytes:                                                                    00 01 02 03 04 05 06


T32 JOB c_c_Schreiben 01 01 01 01 00 00 00 00 00 00 00 00 00 07 00 00 00 00 03 30 00 A4 42 CF 24 00 FF FF 03
DATA Checkbox anklicken und Job einmal ausführen.

 
0176.abraham
Ganz Großen Respekt vor dieser Meisterleistung.

Sehr starke Arbeit....
pxxx20
Auch von mir einen großes Dankeschön und Anerkennung für die hier geleistete Arbeit, hier steckt wirklich viel Geduld und Wissen hinter !!
intershopper
Leider bewegt sich meine KVA nicht mehr, nachdem ich codiert habe. Ich habe den Motor bis 60° öltemp im Stand Lauf lassen aber die KVA veränderte sich nicht. 
Die Codierung scheint aber erfolgreich gewesen zu sein, da sich die KVA auch beim Gasgeben nicht mehr verändert. Ich muss morgen auf dem Weg zur Arbeit schauen, ob die Anzeige nun funktioniert. Vielleicht ist die Anzeige beruhigt und dauert einfach länger.
wolli1
...welchen Motor und Kombiinstrument ist überhaupt verbaut? Gab's Bewegung am Zeiger?
Man kann auch mit INPA oder ISTA-D den Status vergleichen, sofern die DDE/DME dieses unterstützt.

Gruß

Bearbeitet von: wolli1 am 13.12.2015 um 22:02:10
intershopper
525d LCI
Ich konnte keine Bewegung im Zeigen festgestellten. Öltemperatur lag bei knapp 61 grad. Ich habe die Temperatur mit T32 Job ölsensor_lesen ermittelt
myfirst1er
ich werde die nächsten Tage mal mein BINAER_BUFFER mitteilen, bei mir ist die Öltemperatur oder sagen wir Wassertemperatur freigeschalten. In manchen Fällen wird die Wassertemperatur anstatt der Öltemperatur abgefragt. Bei mir ist das Bewegungsbild der Nadel identisch mit der Wassertemperatur vom Geheimmenü.
 

Bearbeitet von: myfirst1er am 13.12.2015 um 23:58:29
intershopper
Die Fahrt zur Arbeit heute morgen brachte Ernüchterung. Die KVA ist noch aktiv und zeigt nachwievor den Momentanverbrauch. Bei meinen Test gestern bin ich davon ausgegangen, dass sich die KVA auch im Stand bewegt, wenn man Gas gibt. Das ist scheinbar nicht der Fall. (bleibt konstant bei 0l) Erst wenn die Geschwindigkeit > 0km/h, zeigt die KVA den Momentanverbrauch. Ich hatte den Motor nur im Stand laufen lassen und bin gestern nicht gefahren. Mein Testaufbau war falsch. Dadurch erklärt sich nun auch, das die 61°C Öltemp nicht angezeigt wurden, da ja die richtige KVA noch aktiv war/ist.

Leider bewegt sich meine KVA nicht mehr, nachdem ich codiert habe. Ich habe den Motor bis 60° öltemp im Stand Lauf lassen aber die KVA veränderte sich nicht. 
Die Codierung scheint aber erfolgreich gewesen zu sein, da sich die KVA auch beim Gasgeben nicht mehr verändert. Ich muss morgen auf dem Weg zur Arbeit schauen, ob die Anzeige nun funktioniert. Vielleicht ist die Anzeige beruhigt und dauert einfach länger.

Nach der Fahrt zur Arbeit habe ich darauf hin gleich nochmal den Job c_c_Lesen ausgeführt um zu checken ob die Codierung noch drin ist. Das sieht soweit alles gut aus. Hier das Ergebnis vom JOB c_c_Lesen mit Buffer
01 01 01 01 00 00 00 00 00 00 00 00 00 07 00 00 00 00 03 30 00 FF FF FF FF FF FF FF 03

apiJobData("KOMBI60","c_c_lesen",{DATA}, 29,"")
  {DATA}: 29 Bytes
    0000 : 01 01 01 01 00 00 00 00   00 00 00 00 00 07 00 00  ........  ........
    0010 : 00 00 03 30 00 FF FF FF   FF FF FF FF 03           ...0.ÿÿÿ  ÿÿÿÿ.

Satz : 0
  OBJECT                          = kombi60
  SAETZE                          = 1
  JOBNAME                         = c_c_lesen
  VARIANTE                        = KOMBI60
  JOBSTATUS                       =
  UBATTCURRENT                    = -1
  UBATTHISTORY                    = -1
  IGNITIONCURRENT                 = -1
  IGNITIONHISTORY                 = -1
Satz : 1
  CODIER_DATEN                    = 29 Bytes
    0000 : 01 01 01 01 00 00 00 00   00 00 00 00 00 07 00 00  ........  ........
    0010 : 00 00 03 30 00 A4
42 CF   24 00 FF FF 03           ...0.¤BÏ  $.ÿÿ.
  JOB_STATUS                      = OKAY
  _TEL_ANTWORT                    = 14 Bytes
    0000 : 8A F1 60 62 30 03 A4 42   CF 24 00 FF FF 47        ?ñ`b0.¤B  Ï$.ÿÿG


Ich kann mir jetzt nur noch erklären, dass ich das Kombi nochmal über NCSExpert mit einer leeren .MAN Datei codieren muss. Dann wird das Kombi ja resetet (gebootet) und Tageskilometer sind weg und Uhrzeit muss neu eingetellt werden. Das war nach dem Job c_c_Schreiben gestern abend nicht der Fall und ich habe die Befürchtung das die neuen Einstellungen noch nicht geladen sind.


Ich werde heute Abend nochmal leere .MAN Datei codieren und schauen was passsiert.

Gruß Frank

 
intershopper
Hallo zusammen,

vergesst meine vorherigen Einträge, die sind falsch!

Ich habe neue Infos zur KVA aber leider noch keinen Erfolg.
Die Adresse, die ich mit T32 ausgelesen habe war falsch. 00300300. Diese wäre ja auch über Nettodaten codierbar. So einfach ist es nicht.

Mit T32 muss 3105 gelesen werden.

Adresse 00310500

Buffer: 01 01 01 01 00 00 00 00 00 00 00 00 00 18 00 00 00 00 05 31 00  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 03

apiJobData("KOMBI60","c_c_lesen",{DATA}, 46,"")
  {DATA}: 46 Bytes
    0000 : 01 01 01 01 00 00 00 00   00 00 00 00 00 18 00 00  ........  ........
    0010 : 00 00 05 31 00 FF FF FF   FF FF FF FF FF FF FF FF  ...1.ÿÿÿ  ÿÿÿÿÿÿÿÿ
    0020 : FF FF FF FF FF FF FF FF   FF FF FF FF FF 03        ÿÿÿÿÿÿÿÿ  ÿÿÿÿÿ.

Satz : 0
  OBJECT                          = kombi60
  SAETZE                          = 1
  JOBNAME                         = c_c_lesen
  VARIANTE                        = KOMBI60
  JOBSTATUS                       =
  UBATTCURRENT                    = -1
  UBATTHISTORY                    = -1
  IGNITIONCURRENT                 = -1
  IGNITIONHISTORY                 = -1
Satz : 1
  CODIER_DATEN                    = 46 Bytes
    0000 : 01 01 01 01 00 00 00 00   00 00 00 00 00 18 00 00  ........  ........
    0010 : 00 00 05 31 00 73 12 0D   00 00 36 00 67 00 98 00  ...1.s..  ..6.g.?.
    0020 : CA 00 00 00 BC 01 78 03   35 05 F1 06 6E 03        Ê...¼.x.  5.ñ.n.
  JOB_STATUS                      = OKAY
  _TEL_ANTWORT                    = 31 Bytes
    0000 : 9B F1 60 62 31 05 73 12   0D 00 00 36 00 67 00 98  ?ñ`b1.s.  ...6.g.?
    0010 : 00 CA 00 00 00 BC 01 78   03 35 05 F1 06 6E EC     .Ê...¼.x  .5.ñ.nì

Leider kann ich mit den Daten nix anfangen. Ich brauche weitere Informationen zu den einzelnen Bytes.
00 73 12 0D 00 00 36 00 67 00 98 00 CA 00 00 00 BC 01 78 03 35 05 F1 06 6E 03

Gruß Frank

 
Hates
Hi,
 
erstmal mega großes Danke schön für die ersten Hinweise und die ganze arbeit, da blicke ich selbst als ein IT-SE gelernter kaum durch xD Nun meine Frage hast du eine Lösung gefunden, sind ja wieder eins zwei tage vergangen ? LGHates
 
intershopper
leider nein.
Ich habe immer noch keine weiteren Informationen über den Aufbau/Funktion der einzelnen Bytes an Adresse 3105

00 73 12 0D 00 00 36 00 67 00 98 00 CA 00 00 00 BC 01 78 03 35 05 F1 06 6E 03

selbst nach binär oder dezimal gewandelt kann ich ohne weiteren Infos nichts ableiten

binär
    00   |    73   |    12   |    0D   |    00   |    00   |    36   |    00   |    67   |    00   |    98   |
0000 0000|0111 0011|0001 0010|0000 1110|0000 0000|0000 0000|0011 0110|0000 0000|0110 0111|0000 0000|1001 1000|

    00   |    CA   |    00   |    00   |    00   |    BC   |    01   |    78   |    03   |    35   |    05   |
0000 0000|1100 1010|0000 0000|0000 0000|0000 0000|1011 1100|0000 0001|0111 1000|0000 0011|0011 0101|0000 0101|

    F1   |    06   |    6E   |    03   |
1111 0001|0000 0110|0110 1110|0000 0011|


Da die Bitmasken nicht bekannt sind, hilft keine Umrechnung nach dezimal bzw. ist sinnlos.
Ricotronics
Hallo Frank,

auch ich finde genial was Du Dir hier als Projekt vorgenommen hast...Hut ab ;-)
Siehst Du eine Möglichkeit, wie man die Öl- oder Kühlmittel- Temp. als digitalen Wert im Kombi- Instrument hinzufügen könnte?!
So eine Info benötige ich als Fahrer doch einfach und will mir diese nicht nur übers Service- Menü anschauen können.

Danke! Gruß Rico
 
intershopper
weiter geht es hier mit der Anleitung

Link


Gruß Frank
erazzor
Danke Leute. ... Habt ihr nen PayPal Acc? Würde euch zumindest gerne nen Bierchen spenden!

Das ist mehr als angebracht bei der Leistung