Seltene Probleme Kommunikation JIVE-JLog
Es gab bisher 6..7 JIVEs (unter >1000), deren Diagnostikprotokoll JLog nur teilweise verstehen konnte. Nachdem Kontronik nun einen solchen JIVE mittels Kulanztausch sicherstellen konnte und ihn mir zwecks Untersuchung z.V. stellte, wurde die Ursache klar: Offenbar weicht die Muttertaktfrequenz eines der beiden Prozessoren im JIVE exemplarbedingt manchmal soweit von der Sollfrequenz ab, dass die Baudrate der Diagnostikaussendungen in einem Maße beeinflusst wird, dass JLog den Datenstrom nur noch teilweise lesen kann.
Da das Diagnostikprotokoll keine offiziell zugesicherte Eigenschaft eines JIVE darstellt, ist es an JLog, sich auch hier anpassen zu können. Mit einer neuen Minor Version (bereits im Labor fertig und funktionierend) wird es die Möglichkeit geben, die Baudrate des JLog (JIVE-Schnittstelle, Pin-seitig) um +/- 1..3 Punkte modifizieren zu können. Im untersuchten Fall waren es -2 Punkte. “Punkte” sind eine relative Einheit, die in der Firmware von JLog konfigurativ verarbeitet wird.
Im Download finden sich nun neue Firmware-Versionen nebst zugehörigem(!) neuem Konfigurator JLC, die es ermöglichen, dass JLog sich an die abweichende Baudrate eines JIVE anpassen kann. Um zu vermeiden, dafür extra eine neue Version 3.2.3 einführen zu müssen, was möglicherweise das Verwenden des JLC verkomplizieren würde, schreiben diese Versionen lediglich einen anderen Configmarker in CONFIG.txt, den der neue JLC erkennt und dadurch das zusätzliche Konfigurationselement “Baudrate Correction” anbietet. Hier kann die Baudrate des Loggers am Anschluss zum JIVE um +/- 3 “Punkte” angepasst werden, dies wird deshalb auch nur angeboten, wenn unter “Baudrate” “JIVE” bzw. “9600″ selektiert ist.
Also nach dem Flashen des Loggers mit der neuen Firmware diesen einmal mit der SD kurz laufen lassen, er schreibt dabei seinen spezifischen “CFGmarker” in CONFIG.txt, dann CONFIG.txt von der SD mit dem neuen JLC einlesen, einen Wert für “Baudrate Correction” wählen und abspeichern. An einem untersuchten 120er JIVE mit diesem Fehler musste “-2″ gewählt werden. Dadurch ändert sich die Baudrate von 9600 auf ca. 9690 Baud, was einer Abweichung des betreffenden Quarzes im JIVE von knapp unter 1% entspricht.
Der Logger sollte nun regelmäßig mit seiner grünen LED zwinkern, während er vor der Korrektur “stotterte” und auch die orange LED immer wieder mal ansprang. Ist LogStop angeschaltet und kein JLog-eigener Sensor konfiguriert, zwinkert nur die grüne LED, die orange LED erst beim Schreiben in die Log-Datei, wenn die LogStop-Bedingungen überschritten werden.