Hallo zusammen, ich habe hier ein ALC 8500-2 Expert und würde gerne selbst Kommandos an das Gerät schicken, da ich eine Funktion benötige, welche nicht in der standard SW dabei ist: z.B. einen Akku 50 mal laden und entladen. Mit der standard SW geht das nur 1 mal. Per HTerm komme ich drauf und kann auch manche Kommandos schicken, nur bekomme ich bei anderen wiederum komische bzw. keine Antworten. Hier findet man ab S. 28 die Beschreibung des Protokolls: https://files2.elv.com/public/06/0693/069326/Internet/59066_69326_alc8500e_2_um.pdf Was müsste ich im HTerm senden, damit z.B. ein Li-Ion Akku (4.1V) auf Kanal 1 mit 500mA entladen (bis 3.0V) und 1000mA geladen (bis 4.1V) wird? Ich kann die Konfiguration auch in die Datenbank (Nr.1) schreiben. Jedoch bekomme ich beim Befehl "A 0 3" nur die Antwort "x02 x04 x03" x02 und x03 sind STX und ETX, x04 bedeutet laut ASCII Tabelle "End of TX". Weiss da jemand weiter? Vielen Dank euch im Voraus! kally
:
Bearbeitet durch User
Kally K. schrieb: > Was müsste ich im HTerm senden, damit z.B. ein Li-Ion Akku (4.1V) auf > Kanal 1 mit 500mA entladen (bis 3.0V) und 1000mA geladen (bis 4.1V) > wird?
1 | Der Befehl zum Setzen der Parameter sieht wie folgt aus: P <Kanalnummer> |
2 | <Akkunummer> <Akkutyp> <Zellenanzahl> <Entladestrom> <Ladestrom> |
3 | <Kapazität> <Programmnummer> <Formierstrom> <PauseLE> <FLAGS> <VollFaktor>. |
Und:
1 | Solange sich ein Kanal in der Ladestufe Leerlauf befindet, können die |
2 | Parameter neu gesetzt werden. |
Was genau verstehst du da nicht?
Dass ich immer "x02 x04 x03" als Antwort bekomme. Wenn ich folgenden Befehl schicke, bekomme ich die obige Antwort: "P 0 0 2 0 1000 500 26000000 3 0 60 2 250" Und wenn ich danach "A 0 0" schicke, um den Befehl zu starten, bekomme ich dieselbe Antwort und es passiert nichts.
Marc V. schrieb: > Der Befehl zum Setzen der Parameter sieht wie folgt aus: P <Kanalnummer> > <Akkunummer> <Akkutyp> <Zellenanzahl> <Entladestrom> <Ladestrom> > <Kapazität> <Programmnummer> <Formierstrom> <PauseLE> <FLAGS> > <VollFaktor>. Kally K. schrieb: > Wenn ich folgenden Befehl schicke, bekomme ich die obige Antwort: > "P 0 0 2 0 1000 500 26000000 3 0 60 2 250" Was soll das 26000000 ? 26000 Ah? 26000000 µAh?
Harry schrieb: > Marc V. schrieb: >> Der Befehl zum Setzen der Parameter sieht wie folgt aus: P <Kanalnummer> >> <Akkunummer> <Akkutyp> <Zellenanzahl> <Entladestrom> <Ladestrom> >> <Kapazität> <Programmnummer> <Formierstrom> <PauseLE> <FLAGS> >> <VollFaktor>. > > Kally K. schrieb: >> Wenn ich folgenden Befehl schicke, bekomme ich die obige Antwort: >> "P 0 0 2 0 1000 500 26000000 3 0 60 2 250" > > Was soll das 26000000 ? 26000 Ah? 26000000 µAh? Das sind 2600mAh. Siehe Anhang.
Wenn ich da "4 byte" und "0h bis 7...h" lese, solltest du nicht 26000000 schicken, sondern 018cba80 ;) Das Protokoll scheint mir eher "binär" nicht "ASCII", gelle?
:
Bearbeitet durch User
Jens M. schrieb: > Wenn ich da "4 byte" und "0h bis 7...h" lese, solltest du nicht 26000000 > schicken, sondern 018cba80 ;) > > Das Protokoll scheint mir eher "binär" nicht "ASCII", gelle? Das könnte was sein! :) Weiss jemand wie man im HTerm Hex verschicken kann? Wenn ich z.B. im Type "Hex" habe und "F" schicke, dann wird nur "46" geschickt. Jedes Kommando wird in ASCII umgewandelt...
:
Bearbeitet durch User
>Wenn ich z.B. im Type "Hex" habe und "F" schicke, dann wird nur "46" >geschickt. passt doch 'F'=0x46=70=...
dummschwaetzer schrieb: >>Wenn ich z.B. im Type "Hex" habe und "F" schicke, dann wird nur "46" >>geschickt. > passt doch 'F'=0x46=70=... Ja, aber ich will 0x0F schicken... Wie soll das gehen mit HTerm?
Kally K. schrieb: > dummschwaetzer schrieb: >>>Wenn ich z.B. im Type "Hex" habe und "F" schicke, dann wird nur "46" >>>geschickt. >> passt doch 'F'=0x46=70=... > > Ja, aber ich will 0x0F schicken... > Wie soll das gehen mit HTerm? In dem du das Häkchen bei "Input Control" auf HEX setzt und "0F" eingibst. Wenn es daran schon scheitert... Das hast du allerdings schon gesetzt. Und noch STX/ETX bei "Send on Enter". Ist das gewünscht?
:
Bearbeitet durch User
Cyblord -. schrieb: > Kally K. schrieb: >> dummschwaetzer schrieb: >>>>Wenn ich z.B. im Type "Hex" habe und "F" schicke, dann wird nur "46" >>>>geschickt. >>> passt doch 'F'=0x46=70=... >> >> Ja, aber ich will 0x0F schicken... >> Wie soll das gehen mit HTerm? > > In dem du das Häkchen bei "Input Control" auf HEX setzt und "0F" > eingibst. > Wenn es daran schon scheitert... > > Das hast du allerdings schon gesetzt. Und noch STX/ETX bei "Send on > Enter". Ist das gewünscht? Ja ist gewünscht, da sonst das Gerät nicht antwortet (siehe Anhang). Wenn ich so 0F sende, wird 30 46 geschickt...
Kally K. schrieb: > Ja ist gewünscht, da sonst das Gerät nicht antwortet (siehe Anhang). > Wenn ich so 0F sende, wird 30 46 geschickt... Ich würde das trotzdem, zum Testen, immer erstmal manuell mitsenden. Dann hast du die direkte Kontrolle was raus geht, ohne das da was automatisch passiert und hast das komplette Paket vor dir in deinem Input Fenster.
Cyblord -. schrieb: > Kally K. schrieb: > >> Ja ist gewünscht, da sonst das Gerät nicht antwortet (siehe Anhang). >> Wenn ich so 0F sende, wird 30 46 geschickt... > > Ich würde das trotzdem, zum Testen, immer erstmal manuell mitsenden. > Dann hast du die direkte Kontrolle was raus geht, ohne das da was > automatisch passiert und hast das komplette Paket vor dir in deinem > Input Fenster. Es scheint ja schon zu funktionieren, da wenn ich "t" sende, ich auch eine korrekte Antwort bekomme (siehe Anhang). Ohne STX/ETX bekomme ich gar nichts... Ich schaffe es ja auch nicht STX ETX in irgendeinem anderen Format zu schicken, dass es auch als 0x02 und 0x03 gesendet wird. Langsam glaube ich HTerm kann das irgendwie nicht...
Kally K. schrieb: > > Langsam glaube ich HTerm kann das irgendwie nicht... Na klar.... Wenn man nicht Schwimmen kann, ist die Badehose schuld. Also STX=0x02, ETX=0x04, das hängst du einfach vorne und hinten an. So schwer ist das nicht. Aber ja, hterm kann das für dich machen. Das scheint nicht das Problem zu sein. Und warum wählst du HEX aus und schreibst dann ein "t" da rein? Was soll das bringen? Ist "t" eine HEX Ziffer? Hex ist 0-9 und A-F. Du kapierst da irgendwas grundlegend nicht. Also warum schreibst du hier nicht mal dein Datenpaket rein welches du senden willst. Dein Beispiel oben war ASCII das war falsch. Du musst es binär zusammenstellen. Fang doch mal damit an. Wie du das dann sendest ist dann erst dein 2. Problem. Dein eigentliches Problem ist, dass du das Kommandopaket gar nicht erst bauen kannst.
:
Bearbeitet durch User
Cyblord -. schrieb: > Kally K. schrieb: >> >> Langsam glaube ich HTerm kann das irgendwie nicht... > > Na klar.... Wenn man nicht Schwimmen kann, ist die Badehose schuld. > > Also STX=0x02, ETX=0x04, das hängst du einfach vorne und hinten an. So > schwer ist das nicht. Aber ja, hterm kann das für dich machen. Das > scheint nicht das Problem zu sein. > > Und warum wählst du HEX aus und schreibst dann ein "t" da rein? Was soll > das bringen? Ist "t" eine HEX Ziffer? Hex ist 0-9 und A-F. > > Du kapierst da irgendwas grundlegend nicht. > > Also warum schreibst du hier nicht mal dein Datenpaket rein welches du > senden willst. Dein Beispiel oben war ASCII das war falsch. Du musst es > binär zusammenstellen. Fang doch mal damit an. > > Wie du das dann sendest ist dann erst dein 2. Problem. Dein eigentliches > Problem ist, dass du das Kommandopaket gar nicht erst bauen kannst. Ich habe nur den Kommentar gefunden und Ähnliches festgestellt: Beitrag "Re: HTerm Input File" Egal welchen Type ich einstelle, bei Transmitted Data kommt immer das gleiche... Wenn ich 0x02 senden will, dann kommt eben 30 78 30 32. Es wird immer der Hex Wert von jedem einzelnen Charakter geschickt (siehe Anhang). ASCII war es P 0 0 2 0 1000 500 26000000 3 0 60 2 250 HEX P 00 00 02 00 03 E8 01 F4 01 8C BA 80 03 00 00 00 3C 02 FA bzw. 50 00 00 02 00 03 E8 01 F4 01 8C BA 80 03 00 00 00 3C 02 FA Binär: 0101 0000 0000 0000 0010 0000 0011 1110 1000 0001 1111 0100 0001 1000 1100 1011 1010 1000 0000 0011 0000 0000 0011 1100 0010 1111 1010 (denke ich)
und als Typ Hex, den typ kannst du auch während der Eingabe Umschalten, die farbe der Zeichen ist die erkennung, als welcher Typ es Interpretiert wird!
dummschwaetzer schrieb: > und als Typ Hex, > den typ kannst du auch während der Eingabe Umschalten, die farbe der > Zeichen ist die erkennung, als welcher Typ es Interpretiert wird! Ah das hatte ich vergessen für den Screenshot zu ändern. Bei mir bleibt die Farbe immer gleich (türkis) egal was ich beim Type einstelle.
Kally K. schrieb: > dummschwaetzer schrieb: >> und als Typ Hex, >> den typ kannst du auch während der Eingabe Umschalten, die farbe der >> Zeichen ist die erkennung, als welcher Typ es Interpretiert wird! > > Ah das hatte ich vergessen für den Screenshot zu ändern. > Bei mir bleibt die Farbe immer gleich (türkis) egal was ich beim Type > einstelle. Starte dein hterm mal nochmal neu
so in etwa erstes Zeichen: Type ASC zweites Zeichen Type HEX drittes Zeichen Type DEZ viertes Zeichen Type BIN ...
> Bei mir bleibt die Farbe immer gleich (türkis) egal was ich beim Type > einstelle. Kann es sein du machst deine Eingabe mit Type "ASCII" und stellst erst danach auf "HEX" um? Du musst erst den Type einstellen und dann kannst du los schreiben. Da wird nichts konvertiert wenn man später umstellt.
:
Bearbeitet durch User
Leider nicht. Egal was ich mache, Neustart, erst alles auf HEX, dann verbinden, dann tippen etc... Immer türkis...
Kally K. schrieb: > Leider nicht. > Egal was ich mache, Neustart, erst alles auf HEX, dann verbinden, dann > tippen etc... > Immer türkis... Sehr merkwürdig. Da ist irgendwas kaputt.
mit 8.3 geht es auch bei mir nicht. hol dir von http://www.der-hammer.info/pages/terminal.html die 8.1
Danke! Mit 0.8.1 und 0.8.2 funktioniert es! Jetzt kann ich kommunizieren :) Nur das Schreiben meines Programms, erwidert das Gerät nicht mit denselben Parametern: 50 00 00 02 00 03 E8 01 F4 01 8C BA 80 03 00 00 00 3C 02 FA Das sollte jetzt eigentlich bedeuten: P Kanalnummer 0 Akkunummer 0 Akkutyp 2 (Li-Ion) Zellenanzahl 0 (bzw. 1) Entladestrom 1000mA Ladestrom 500mA Kapazität 2600mAh Programmnummer 3 (Laden-Entladen) Formierstrom 0A PauseLE 60s Flags 2 VollFaktor 250 Das Gerät sollte wenn alles korrekt verstanden wurde nur das erste "P" gegen ein "p" austauschen. Ich bekomme aber nur ein 0x04 zurück. Weiss jemand da weiter?
Kally K. schrieb: > Das Gerät sollte wenn alles korrekt verstanden wurde nur das erste "P" > gegen ein "p" austauschen. Ich bekomme aber nur ein 0x04 zurück. > > Weiss jemand da weiter? Habe zwar dieses Gerät nicht, aber probier es mal andersrum, wie im angehängten PNG.
Marc V. schrieb: > Kally K. schrieb: >> Das Gerät sollte wenn alles korrekt verstanden wurde nur das erste "P" >> gegen ein "p" austauschen. Ich bekomme aber nur ein 0x04 zurück. >> >> Weiss jemand da weiter? > > Habe zwar dieses Gerät nicht, aber probier es mal andersrum, wie im > angehängten PNG. Leider das Gleiche. dummschwaetzer schrieb: > frag doch mal andere sachen ab, z.B m Da bekomme ich schon korrekte Antworten (siehe Anhang).
Kally K. schrieb: >> Habe zwar dieses Gerät nicht, aber probier es mal andersrum, wie im >> angehängten PNG. > > Leider das Gleiche. Dann werden die Bytes doch HI-LO gesendet. Kally K. schrieb: > Flags 2 Bist du da sicher?
1 | 1 Byte <FLAGS> 00h bis ffh Zusätzliche Optionen, 2^7 bis 2^1: nicht verwendet, 2^0: Aktivator |
So wie ich das sehe, sollte Flags 1 sein.
Marc V. schrieb: > Kally K. schrieb: >>> Habe zwar dieses Gerät nicht, aber probier es mal andersrum, wie im >>> angehängten PNG. >> >> Leider das Gleiche. > > Dann werden die Bytes doch HI-LO gesendet. > > Kally K. schrieb: >> Flags 2 > > Bist du da sicher? >
1 | > 1 Byte <FLAGS> 00h bis ffh Zusätzliche Optionen, 2^7 bis 2^1: nicht |
2 | > verwendet, 2^0: Aktivator |
3 | > |
> > So wie ich das sehe, sollte Flags 1 sein. Der Aktivator betrifft nur Pb Akkus an Kanal 2 (siehe Anhang). Ich habe es mit Flags 1 getestet, aber noch immer nicht die richtige Antwort bekommen.
Hallo zusammen, weiß jemand wie ich den Datenlogger löschen kann? Ich habe es oft versucht mit den Befehl L<Kanalnummer> aber dass hat nicht geklappt. Vielen Dank euch im Voraus! Hussam
:
Bearbeitet durch User
Hussam O. schrieb: > Hallo zusammen, > > > weiß jemand wie ich den Datenlogger löschen kann? > Ich habe es oft versucht mit den Befehl L<Kanalnummer> aber dass hat > nicht geklappt. > > Vielen Dank euch im Voraus! > > Hussam Hi, hat bei mir funktioniert: # L (0x4C) Delete channel logging: 02 4C 00 03 | L └── Channel # response: 02 6C 00 03 02 6C 01 03 Ich habe mir das ganze Protokoll mit Wireshark erschnüffelt, zumindest den nicht dokumentierten Teil ;) Gruß Gerd
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.