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 = -1Satz : 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 120D 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 120D .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 Liter100°C = 10 Liter125°C = 15 Liter150°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 120D 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 120D 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 = -1Satz : 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 120D 60 00 79 00 92 00 AB 00 C4 00 00 00 BC 01 78 03 35 05 F1 06 6F 03