Messknecht
User
In einem kürzlich erschienenen Vorstellung eines Junsi iCharger X12 Ladegerätes steht die Aussage, dass es etwas gewöhnungsbedürftig ist Ladeprogramm Speicher einzurichten. Deshalb möchte ich hier einmal eine Möglichkeit vorstellen, wie es vielleicht einfacher gehen kann. Das von mir vor vielen Jahren entwickelte Werkzeug zur Anzeige und Sammlung von allerlei Daten aus dem Bereich Modellbau hat schon vor einiger Zeit dazu einen Update erhalten.
Vor etwa einem Jahr hat die Firma Junsi erneut Kontakt mit mir aufgenommen, um die von Ihnen neu implementierte MODBUS Funktionalität auszunutzen.
MODBUS ist ein Protokoll, das für die Kommunikation mit speicherprogrammierbaren Steuerungen ins Leben gerufen wurde. Also genau für so etwas, wie ein modernes Ladegerät. In diesem speziellen Fall wird seriell über USB direkt mit dem Prozessor kommuniziert.
Der DataExplorer kann also über dieses Protokoll mit dem Ladegerät kommunizieren und die Ladeprogrammspeicher lesen und schreiben. Jeder der so ein Ladegerät besitzt, wird sich daran erinnern, wie gewöhnungsbedürftig das Erstellen eines neuen Ladeprogrammspeichers ist. Das soll nun durch die Verwendung eines Dialoges übersichtlicher und schneller vonstatten gehen. Unterstützte iCharger sind das 308Duo, 406Duo, 4010Duo mit Firmware >= 2.19, X6, X8, X12, S6 mit Firmware >= 2.0.9.
Da Ladevorgänge, manchmal auch Zyklen, lang laufende Prozesse sind übernimmt ein Raspberry bei mir die Aufgabe die Daten mit dem Ladegerät auszutauschen. Da stellt sich es als sehr vorteilhaft heraus, dass der DataExplorer in Java geschrieben ist und über SWT, zur Darstellung, direkt mit dem Betriebssystem zusammenarbeitet. Auf einem Raspberry läuft ein 32 Bit Raspbian Linux. Hierfür gibt es ein Installationspaket, was man einfach entpacken kann. Nach Installation einer Java Runtime kann es losgehen. Für Windows geht das natürlich genau so, nur braucht so eine Windows Maschine in der Regel wesentlich mehr Leistung, wie ein Raspberry, mit seinen 2-3 Watt und geht auch nicht nach ein paar Minuten in Standby.
Bedienen kann man ein Raspberry auch ohne Tastatur und Bildschirm über einen sogenannten VNC-Viewer, das geht mit jedem Betriebssystem, eingeschlossen Android und iOS.
Schließt man den iCharger an entdeckt das Linux den USB HID des iChargers und lädt das passende Kernel-Modul. An einem Windows wird der passende Treiber installiert, Windows meldet Betriebsbereitschaft. Die Verbindung per USB wird auch am iCharger angezeigt.
Nun wählt man am DataExplorer das passende Ladegerät aus und öffnet den Geräte-Dialog. Hier kommt als erstes eine Warnung. Die MODBUS Kommunikation soll nicht parallel zur Datenabfrage passieren. Bestätigt man den Dialog dauert es einen Moment, die Daten von vorhandenen Programmspeichern werden eingesammelt. Dann zeigt sich dieser Dialog
Durch Aufklappen der Dropdown-Leiste sieht man dann seine vorhandenen Ladeprogramme und/oder Einträge mit der Bezeichnung BUILD-IN. Junsi hat für jede unterstützte Akku-Chemie einen vorgegebenen Programmspeicher. Bei den X/S Geräten gibt es noch die Möglichkeit über ein Power-Programm das Ladegerät als Festspannungsquelle zu nutzen.
Wie erstelle ich nun einen neuen Eintrag für mein Ladegerät? Man wählt einen Eintrag BUID-IN der passenden Akku-Chemie aus. Nun wird "Kopieren" freigeschaltet. Drückt man diesen Knopf ergibt sich ein neuer Eintrag mit dem Anhang "_Kopie". Hier kann man als Erstes den Namen anpassen und drückt dazu "Ändern". Mit der Maus selektiert man den gerade erstellten Namen und schreibt eine passende Bezeichnung. Nach Bestätigung der Änderung mit der Enter-Taste wird der Programmname rot angezeigt, er ist mit seiner Modifikation noch nicht im Gerät manifestiert. Also drückt man auf Speichern und den Name färbt sich wieder schwarz.
->
->
Nun stellt man Anzahl der Zellen und Kapazität, danach dann die gewünschten Ladeparameter ein. Sie sind übersichtlich in Tabulatoren erreichbar. Der Programmspeichername wird erneut rot eingefärbt, um eine Änderung zu signalisieren, die noch nicht im Gerät manifestiert ist. Hat man alle gewünschten Änderungen vorgenommen speichert man das ins Gerät, Speichern.
Bei der Justage der Werte kann es sinnvoll sein nicht mit dem Schieber zu arbeiten, sondern die angezeigte Zahl zu markieren und durch Tastendruck zu ändern. Da bei jedem Tastendruck ein Refresh der angezeigten Zahl erfolgt sollte man wirklich nur eine Zahl also bei 1000 die 1 selektieren und beispielsweise in 2 ändern. Man muss etwas probieren, wie es einem am Besten liegt. Auch der Schieber selbst hat Bereiche in die man klicken kann und eine Änderung nicht in gleichen Schritten erfolgt. Dieses Verhalten ist sogar etwas Betriebssystem abhängig.
Auf diese Weise kann man in Minuten all seine Ladeprogramme durchschauen und ändern, wenn erforderlich, oder Neue anlegen.
Ich verwende gerne möglichst sprechende Namen, weil ich am DataExplorer auch das Ordnungskriterium Objekte verwende, im Beispiel Cappuccino
Wie sieht so ein Vorgang aus und welche Anzeige bekommt man präsentiert, wenn ein Programm abläuft?
Sammelt man Ladevorgänge mit Ordnungskriterium über eine längere Zeit kann man auch die Alterung durch Erhöhung des Innenwiderstandes oder Zellendrift durch Historienanalyse erkennen.
Als Referenz für Linux, Abfrage des erkannten USB HID eines iCharger 406Duo
Vor etwa einem Jahr hat die Firma Junsi erneut Kontakt mit mir aufgenommen, um die von Ihnen neu implementierte MODBUS Funktionalität auszunutzen.
MODBUS ist ein Protokoll, das für die Kommunikation mit speicherprogrammierbaren Steuerungen ins Leben gerufen wurde. Also genau für so etwas, wie ein modernes Ladegerät. In diesem speziellen Fall wird seriell über USB direkt mit dem Prozessor kommuniziert.
Der DataExplorer kann also über dieses Protokoll mit dem Ladegerät kommunizieren und die Ladeprogrammspeicher lesen und schreiben. Jeder der so ein Ladegerät besitzt, wird sich daran erinnern, wie gewöhnungsbedürftig das Erstellen eines neuen Ladeprogrammspeichers ist. Das soll nun durch die Verwendung eines Dialoges übersichtlicher und schneller vonstatten gehen. Unterstützte iCharger sind das 308Duo, 406Duo, 4010Duo mit Firmware >= 2.19, X6, X8, X12, S6 mit Firmware >= 2.0.9.
Da Ladevorgänge, manchmal auch Zyklen, lang laufende Prozesse sind übernimmt ein Raspberry bei mir die Aufgabe die Daten mit dem Ladegerät auszutauschen. Da stellt sich es als sehr vorteilhaft heraus, dass der DataExplorer in Java geschrieben ist und über SWT, zur Darstellung, direkt mit dem Betriebssystem zusammenarbeitet. Auf einem Raspberry läuft ein 32 Bit Raspbian Linux. Hierfür gibt es ein Installationspaket, was man einfach entpacken kann. Nach Installation einer Java Runtime kann es losgehen. Für Windows geht das natürlich genau so, nur braucht so eine Windows Maschine in der Regel wesentlich mehr Leistung, wie ein Raspberry, mit seinen 2-3 Watt und geht auch nicht nach ein paar Minuten in Standby.
Bedienen kann man ein Raspberry auch ohne Tastatur und Bildschirm über einen sogenannten VNC-Viewer, das geht mit jedem Betriebssystem, eingeschlossen Android und iOS.
Schließt man den iCharger an entdeckt das Linux den USB HID des iChargers und lädt das passende Kernel-Modul. An einem Windows wird der passende Treiber installiert, Windows meldet Betriebsbereitschaft. Die Verbindung per USB wird auch am iCharger angezeigt.
Nun wählt man am DataExplorer das passende Ladegerät aus und öffnet den Geräte-Dialog. Hier kommt als erstes eine Warnung. Die MODBUS Kommunikation soll nicht parallel zur Datenabfrage passieren. Bestätigt man den Dialog dauert es einen Moment, die Daten von vorhandenen Programmspeichern werden eingesammelt. Dann zeigt sich dieser Dialog
Durch Aufklappen der Dropdown-Leiste sieht man dann seine vorhandenen Ladeprogramme und/oder Einträge mit der Bezeichnung BUILD-IN. Junsi hat für jede unterstützte Akku-Chemie einen vorgegebenen Programmspeicher. Bei den X/S Geräten gibt es noch die Möglichkeit über ein Power-Programm das Ladegerät als Festspannungsquelle zu nutzen.
Wie erstelle ich nun einen neuen Eintrag für mein Ladegerät? Man wählt einen Eintrag BUID-IN der passenden Akku-Chemie aus. Nun wird "Kopieren" freigeschaltet. Drückt man diesen Knopf ergibt sich ein neuer Eintrag mit dem Anhang "_Kopie". Hier kann man als Erstes den Namen anpassen und drückt dazu "Ändern". Mit der Maus selektiert man den gerade erstellten Namen und schreibt eine passende Bezeichnung. Nach Bestätigung der Änderung mit der Enter-Taste wird der Programmname rot angezeigt, er ist mit seiner Modifikation noch nicht im Gerät manifestiert. Also drückt man auf Speichern und den Name färbt sich wieder schwarz.
Nun stellt man Anzahl der Zellen und Kapazität, danach dann die gewünschten Ladeparameter ein. Sie sind übersichtlich in Tabulatoren erreichbar. Der Programmspeichername wird erneut rot eingefärbt, um eine Änderung zu signalisieren, die noch nicht im Gerät manifestiert ist. Hat man alle gewünschten Änderungen vorgenommen speichert man das ins Gerät, Speichern.
Bei der Justage der Werte kann es sinnvoll sein nicht mit dem Schieber zu arbeiten, sondern die angezeigte Zahl zu markieren und durch Tastendruck zu ändern. Da bei jedem Tastendruck ein Refresh der angezeigten Zahl erfolgt sollte man wirklich nur eine Zahl also bei 1000 die 1 selektieren und beispielsweise in 2 ändern. Man muss etwas probieren, wie es einem am Besten liegt. Auch der Schieber selbst hat Bereiche in die man klicken kann und eine Änderung nicht in gleichen Schritten erfolgt. Dieses Verhalten ist sogar etwas Betriebssystem abhängig.
Auf diese Weise kann man in Minuten all seine Ladeprogramme durchschauen und ändern, wenn erforderlich, oder Neue anlegen.
Ich verwende gerne möglichst sprechende Namen, weil ich am DataExplorer auch das Ordnungskriterium Objekte verwende, im Beispiel Cappuccino
Wie sieht so ein Vorgang aus und welche Anzeige bekommt man präsentiert, wenn ein Programm abläuft?
Sammelt man Ladevorgänge mit Ordnungskriterium über eine längere Zeit kann man auch die Alterung durch Erhöhung des Innenwiderstandes oder Zellendrift durch Historienanalyse erkennen.
Als Referenz für Linux, Abfrage des erkannten USB HID eines iCharger 406Duo