Skip to content

Anpassung der Hexadezimalen Werte

Results Codierdaten:

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ì

Die Codierdaten sind unter CODIER_DATEN zu finden. Den ganzen Buffer inklusive Codierdaten in die Zwischenablage kopieren und in einem Editor (notepad++) zur weiteren Bearbeitung einfügen.

    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.

Dann die Adresszeilen 0000 - 0020 am Beginn jeder Zeile und die Zeichen am Ende entfernen, so dass nur die Hexzahlen übrig bleiben.

01 01 01 01 00 00 00 00 00 00 00 00 00 18 00 00 00 00 05 31 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

Diesen Buffer wegsichern. Der wird benötigt, wenn man wieder zurück auf KVA codieren möchte.

Um nun Öltemperatur anstatt KVA zu codieren müssen die markierten Bytes geändert werden:

01 01 01 01 00 00 00 00 00 00 00 00 00 18 00 00 00 00 05 31 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

Dabei stehen die Werte 00 36 67 98 CA für die Skaleneinteilung. Der Wert 6E steht für die KVA.

Werte der KVA erklärt:

hexadezimal      dezimal         Skalawert der KVA
   00                0               0,0 Liter
   36               54               5,4 Liter
   67              103              10,3 Liter
   98              152              15,2 Liter
   CA              202              20,2 Liter

Für die Öltemperaturanzeige müssen die Skaleneinteilung geändert werden.

Um nun den Temperaturbereich auf 50°C - 150°C zu programmieren, wird die Skala wie folgt eingeteilt.

 50°C =  0 Liter
 75°C =  5 Liter
100°C = 10 Liter
125°C = 15 Liter
150°C = 20 Liter

Dafür müssen auf die gewünschte Temperaturanzeige ein Korrekturwert (46-48) addiert werden. Im Normalfall sollte 48 als Korrekturwert verwendet werden, da damit der Zeiger dann besser zur Skaleneinteilung passte. Bitte entsprechend der 3 Tabellen selbständig anpassen.

mit Korrekturwert 46
Öltemp. in °C | Korrekturwert (dez.) | dezimal | Hexadezimal
       50                 46              96         60
       75                 46             121         79
      100                 46             146         92
      125                 46             171         AB
      150                 46             196         C4
mit Korrekturwert 47
Öltemp. in °C | Korrekturwert (dez.) | dezimal | Hexadezimal
       50                 47              97         61
       75                 47             122         7A
      100                 47             147         93
      125                 47             172         AC
      150                 47             197         C5
mit Korrekturwert 48
Öltemp. in °C | Korrekturwert (dez.) | dezimal | Hexadezimal
       50                 48              98         62
       75                 48             123         7B
      100                 48             148         94
      125                 48             173         AD
      150                 48             198         C6

Temperatur + Korrekturwert = dezimaler Wert = in Hexwert umrechnen

Der Wert 6F schaltet Öltemperaturanzeige ein. 6E steht für die KVA.

Die geänderten Codierdaten sollten nun so aussehen. Bitte die anderen Bytes unverändert lassen und aus den eigenen Codierdaten übernehmen.

Hier im Bespiel wurden Codierwerte mit dem Korrekturwert 46 verwendet, siehe markierte Bytes.

01 01 01 01 00 00 00 00 00 00 00 00 00 18 00 00 00 00 05 31 00 73 12
0D 60 00 79 00 92 00 AB 00 C4 00 00 00 BC 01 78 03 35 05 F1 06 6F 03

Die geänderten Codierdaten erfordern eine neue Checksumme. Die Checksumme ist das markierte Byte, in dem Fall bei KVA die 73.

01 01 01 01 00 00 00 00 00 00 00 00 00 18 00 00 00 00 05 31 00 73 12
0D 60 00 79 00 92 00 AB 00 C4 00 00 00 BC 01 78 03 35 05 F1 06 6F 03

Den Buffer in die Zwischenablagen kopieren und mit Tool32 den Job c_checksumme  auswählen. Dort als Argument den Buffer aus der Zwischenablage einfügen und Data anhaken. Dann den Job einmal mit F5 ausführen.

apiJobData("KOMB60","c_checksumme",{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 73 12 0D   60 00 79 00 92 00 AB 00  ...1.s..  `.y.?.«.
    0020 : C4 00 00 00 BC 01 78 03   35 05 F1 06 6F 03        Ä...¼.x.  5.ñ.o.
Satz : 0
  OBJECT                          = komb60
  SAETZE                          = 1
  JOBNAME                         = c_checksumme
  VARIANTE                        = KOMB60
  JOBSTATUS                       =
  UBATTCURRENT                    = -1
  UBATTHISTORY                    = -1
  IGNITIONCURRENT                 = -1
  IGNITIONHISTORY                 = -1
Satz : 1
  JOB_STATUS                      = OKAY
  OUT_BUFFER                      = 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 95 12 0D   60 00 79 00 92 00 AB 00  ...1.?..  `.y.?.«.
    0020 : C4 00 00 00 BC 01 78 03   35 05 F1 06 6F 03        Ä...¼.x.  5.ñ.o.

Als Ergebnis erhält man unter OUT_BUFFER die neue Checksumme. In dem Fall 95. Nun die neue Checksumme kopieren und mit dem alten Wert im Buffer ersetzen.

01 01 01 01 00 00 00 00 00 00 00 00 00 18 00 00 00 00 05 31 00 95 12
0D 60 00 79 00 92 00 AB 00 C4 00 00 00 BC 01 78 03 35 05 F1 06 6F 03