Weiterentwicklung JLab

Alles zum Thema Instrumentation (Anzeige- und Steuersoftware) auf Computerseite (Labview, JLab, ...) kann hier rein: Installation, Komponenten, Probleme...
Antworten
magicroomy
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 205
Registriert: 01.12.2007, 09:23

Weiterentwicklung JLab

Beitrag von magicroomy »

Hallo zusammen,
ich bastle gerade an einer Erweiterung fürs JLab.
Daher mal eine Frage an alle MAC User.
Muß ich in Zukunft Java 5 noch unterstützen oder hat Apple es fertig gebracht endlich einen JAVA 6 Version zu basteln.
Das machen sie angeblich lieber selbst.

Gruß
Magic Roomy
psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 942
Registriert: 25.01.2008, 23:34

Re: Weiterentwicklung JLab

Beitrag von psclab38 »

magicroomy hat geschrieben:ich bastle gerade an einer Erweiterung fürs JLab.
Hallo Volker,

jetzt bin ich aber gespannt! 8)

Und weil Du grade das Werkzeug rausholst, hätte ich noch zwei Punkte für die bestehende Implementierung, die ich inzwischen gesammelt habe.

1) Bei JLab 2.5 wird der Wert für den Offset der DDS nicht automatisch upgedated, wenn die Werteüberwachung eingeschaltet ist und ich am Encoder am Modul drehe. Ist mir beim Debuggen aufgefallen. Da fehlt die regelmäßige Abfrage für Parameter 20, JLab macht das nach dem Starten nur genau einmal. Irgendwie kann ich auch bei der Werteüberwachung konfigurieren, was ich will, es werden immer alle Parameter (außer eben 20) abgefragt, ist mein Eindruck.

2) Letztens habe ich die Wobbelfunktion des JLab verwendet, um ein altes Röhrenradio durchzumessen, genauer gesagt den Teil vom Tonband-Eingang zum Lautsprecherausgang. Die Klangregelstufe übertreibt da gigantisch, was die Höhen und Tiefen angeht (mehr als +20dB) und bei der jetzigen Implementierung kommt man recht schnell an die Dynamikgrenze der TRMSC. Auch wenn man mit dem Vernierpoti so einpegelt, daß man bei den höchsten Pegeln im oberen Aussteuerungsbereich liegt, sobald man niedrigere Pegel der Kurve erreicht, dann wird die Kurve "eckig". Und der Meßwert der TRMSC wird ja zudem nie null, was das Meßergebnis erheblich verfälschen kann!

Abhilfe ist manuelles Umschalten während des Wobbelns, das sieht dann aber nicht allzu toll aus, nämlich so:
wobbel.JPG
Die Peaks kommen vom Umschalten, ganz links der gelbe "Nullpegel" von Übersteuerung in dem Meßbereich.

Vorschlag: Könntest Du das nicht eventuell auf Autorange umbauen, so daß im unteren Bereich eines Meßbereichs auf den nächstniedrigeren umgeschaltet wird? Mit Hysterese sagen wir mal: > 85% nächsthöherer Bereich, < 5% nächst niederer Bereich. Oder so ähnlich. Ginge das? Nach der Bereichsumschaltung müßte man natürliche eine kurze Meßpause einlegen, damit das TRMSC sich wieder beruhigen kann...

Viele Grüße
Paul
Benutzeravatar
thoralt
Site Admin
Site Admin
Beiträge: 262
Registriert: 10.04.2006, 08:48
Wohnort: Chemnitz
Kontaktdaten:

Re: Weiterentwicklung JLab

Beitrag von thoralt »

Hallo Volker,
magicroomy hat geschrieben:Daher mal eine Frage an alle MAC User.
Muß ich in Zukunft Java 5 noch unterstützen oder hat Apple es fertig gebracht endlich einen JAVA 6 Version zu basteln.
Ich schreibe zwar auch viele Sachen in Java, muss aber zugeben, dass ich mir über die Versionen nie Gedanken machen musste. Beim Stöbern habe ich den Java-Konfigurationsdialog gefunden (siehe Anhang). Da sieht es so aus, als gäbe es eine Version 6. Die ist aber offensichtlich "nur" in 64 Bit verfügbar. Ich hatte mal auf einem anderen Mac das Problem, dass ich die RXTX-Bibliothek verwenden wollte, diese mir aber mit einer Exception zu verstehen gab, dass die aktuelle Architektur nicht unterstützt wurde. Ich musste auf diesem Mac die voreingestellte Version Java 6/64 in Java 5/32 umstellen, um RXTX wieder nutzen zu können. Ich nehme an, das tangiert uns auch hier...

Bei dieser Gelegenheit möchte ich mal neugierig fragen, warum es so aufwändig ist, Java 5 im JLab zu unterstützen. Nutzt Du Funktionen, die nur in Java 6 vorhanden sind? Ich habe, wie gesagt, noch nicht mit den Versionsunterschieden zu tun gehabt.

Viele Grüße
Thoralt
Dateianhänge
Java-Einstellungen unter MacOS 10.5.8
Java-Einstellungen unter MacOS 10.5.8
There are 10 kinds of people in this world: Those who understand binary and those who don't.
FlyHigh
kann c't-Lab-Bausätze bestellen
kann c't-Lab-Bausätze bestellen
Beiträge: 17
Registriert: 17.08.2008, 13:50

Re: Weiterentwicklung JLab

Beitrag von FlyHigh »

Hallo Volker,

auf neuen Macs ist z.Z. Java SE 6 als 32 Bit oder 64 Bit Version vorinstalliert.
Leider hat Apple das Java 6 nicht für die älteren Rechner mit PPC angepasst.
Da sicher viele den "alten Laptop" noch für Arbeiten mit dem ct-Lab benutzen wäre es schön wenn Du weiterhin auch eine mit Java 5 kompatible Version des JLab pflegen würdest.

Beste Grüße und vielen Dank für deine tolle Arbeit
Frieder
magicroomy
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 205
Registriert: 01.12.2007, 09:23

Re: Weiterentwicklung JLab

Beitrag von magicroomy »

Hallo Paul (psclab38),
eine Frage zur gewünschten Autorange funktion im Sweep(Wobbel).
Soll die Wartezeit nach einem Messbereichswechsel einstellbar sein, oder hast Du schon konkrete Zahlen wie lange ich der Baugruppe zum anpassen geben soll?
Die selbe Frage stellt sich auch für ein DIV, weil als Messmodul eines DDS Wobbel ja auch ein DIV verwendet werden kann.
Hab schon eine erste Version bei mir laufen. Werde die noch etwas testen und dann als 2.6.1Pre bereitstellen. Dann kannst Du es ja mal testen. Mit welcher Version arbeitets Du? Java5/6, Seriell oder TCPIP? Ich stell dann nur eine Version für Dich rein. Wenn Du Dein ok gibst, gibts die Final Version wieder in allen Varianten.
Hab Deine vorgeschlagene 85%/5% Regel angewendet.

Zu dem Problem, das Werte des DDS bei Änderung mit dem Poti nicht angezeigt werden: Ich habs noch nicht geprüft, aber ich glaube da macht mir die Firmware einen Strich durch die Rechnung.
Ich frage nämlich gar keinen Wert per Polling ab, der sich nur durch Änderung des Potis erreichen läßt, weil ich darauf vertraue, das mir das Modul aktiv eine Meldung über die Änderung schickt, wenn jemand Einstellungen ändert. Ich glaube mich zu erinnern das ich deshalb sogar ein Ticket aufgemacht hatte, weil das DDS es bei manchen Werten nicht tut.
Ich würde auch sehr ungerne ständig einen Wert pollen zu müssen, der sich nur selten ändert und den mir das Modul selbst mitteilen könnte. Ist eh viel auf dem Optobus los wenn mehrere Module abgefragt werden sollen.

Gruß
Volker
psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 942
Registriert: 25.01.2008, 23:34

Re: Weiterentwicklung JLab

Beitrag von psclab38 »

Hi Volker,

vielen Dank, daß Du Dich meiner Problemstellung annimmst.
magicroomy hat geschrieben:Hallo Paul (psclab38),
eine Frage zur gewünschten Autorange funktion im Sweep(Wobbel).
Soll die Wartezeit nach einem Messbereichswechsel einstellbar sein, oder hast Du schon konkrete Zahlen wie lange ich der Baugruppe zum anpassen geben soll?
Die selbe Frage stellt sich auch für ein DIV, weil als Messmodul eines DDS Wobbel ja auch ein DIV verwendet werden kann.
Ich würde mal so ungefähr eine Sekunde schätzen, die das TRMSC bei einer Bereichsumschaltung braucht, um wieder "echte" Werte anzuzeigen. Eventuell ist's auch ein wenig mehr, so gegen 1.5 Sekunden. Wenn die Wartezeit zu kurz ist, dann werden wir das an kleinen Spikes im Graphen sehen 8)
magicroomy hat geschrieben: Hab schon eine erste Version bei mir laufen. Werde die noch etwas testen und dann als 2.6.1Pre bereitstellen. Dann kannst Du es ja mal testen. Mit welcher Version arbeitets Du? Java5/6, Seriell oder TCPIP? Ich stell dann nur eine Version für Dich rein. Wenn Du Dein ok gibst, gibts die Final Version wieder in allen Varianten.
Meine Java RE ist die 1.6.0_17 auf WinXP, seriell (USB) oder TCPIP ist egal, ich verwende beides. Ich kann dann gerne einen Test machen. Kann aber ein paar Tage dauern, weil ich meinen "Versuchsaufbau mit Röhrenradio" erst wieder herstellen muß.
magicroomy hat geschrieben: Hab Deine vorgeschlagene 85%/5% Regel angewendet.
Ich bin dann ja gespannt, ob das was taugt. Ich hoffe, die Hysterese reicht in den praktischen Fällen aus. :o
magicroomy hat geschrieben: Zu dem Problem, das Werte des DDS bei Änderung mit dem Poti nicht angezeigt werden: Ich habs noch nicht geprüft, aber ich glaube da macht mir die Firmware einen Strich durch die Rechnung.
Ich frage nämlich gar keinen Wert per Polling ab, der sich nur durch Änderung des Potis erreichen läßt, weil ich darauf vertraue, das mir das Modul aktiv eine Meldung über die Änderung schickt, wenn jemand Einstellungen ändert. Ich glaube mich zu erinnern das ich deshalb sogar ein Ticket aufgemacht hatte, weil das DDS es bei manchen Werten nicht tut.
Ich würde auch sehr ungerne ständig einen Wert pollen zu müssen, der sich nur selten ändert und den mir das Modul selbst mitteilen könnte. Ist eh viel auf dem Optobus los wenn mehrere Module abgefragt werden sollen.
Ich bin jetzt etwas verwirrt, vielleicht reden wir auch über verschiedene Dinge.

Ich habe die DDS mit der C-Firmware in Betrieb (an der ich ja mitgestrickt habe). Und wenn ich da die Werteüberwachung nicht anhabe, dann gibt's überhaupt keine Rückmeldung an's JLab, jedenfalls sehe ich im JLab keine Reaktion. Wenn ich die Werteüberwachung dann anschalte, dann werden alle Veränderungen angezeigt, eben bis auf den Offset-Wert. Q.E.D. Erst wenn ich in JLab wieder einen Parameter verstelle, dann übernimmt JLab auch den neuen Offset-Wert.
Ich gebe aber zu, ich habe mich schon lange nicht mehr mit dem Protokoll beschäftigt, vielleicht verwechsle ich da auch was. Mich irritiert aber, daß es sich nur um den Offset handelt, der da aus der Reihe fällt.

Viele Grüße
Paul
magicroomy
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 205
Registriert: 01.12.2007, 09:23

Re: Weiterentwicklung JLab

Beitrag von magicroomy »

So, es ist soweit... Habe mal eine Testversion für Autorange reingestellt.

https://sourceforge.net/projects/jlab/f ... p/download

Bitte mal sagen obs funzt.

Gruß
Magic Roomy
psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 942
Registriert: 25.01.2008, 23:34

Re: Weiterentwicklung JLab

Beitrag von psclab38 »

magicroomy hat geschrieben:So, es ist soweit... Habe mal eine Testversion für Autorange reingestellt.

https://sourceforge.net/projects/jlab/f ... p/download

Bitte mal sagen obs funzt.

Gruß
Magic Roomy
Hallo Volker,
super! Ich werd's so bald wie möglich testen, kann aber Sonntag werden.

Vielen Dank und viele Grüße
Paul
magicroomy
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 205
Registriert: 01.12.2007, 09:23

Re: Weiterentwicklung JLab

Beitrag von magicroomy »

In der Ruhe liegt die Kraft. Ich hab ein Marathon-Weihnachtsfeierwochenende vor mir und komme eh zu nix.

Ich hab auch noch einen prinzipiellen Bug im Parsen von Modulantworten gefunden.
Ich konnte bisher keine Exponentialzahlen analysieren (0.4E-3). Blöder Fehler.
DIV mit 250mA Range schickt z.B. sowas.
Scheinbar ist es aber noch niemandem aufgefallen.
Wird in der nächsten Release auch raus sein.

Gruß
Volker
psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 942
Registriert: 25.01.2008, 23:34

Re: Weiterentwicklung JLab

Beitrag von psclab38 »

magicroomy hat geschrieben:In der Ruhe liegt die Kraft. Ich hab ein Marathon-Weihnachtsfeierwochenende vor mir und komme eh zu nix.
Hi Volker,
ich hoffe, Dein Wochenende war nicht zu anstrengend! 8)

Jedenfalls bin ich dazugekommen, mit Deiner Autorangefunktion einen Test zu fahren: Es sieht schon sehr schön aus:
Kurven - Einstellung Regler/Tasten:<br />Grün - &quot;Flach ;-)&quot; Höhen/Tiefen min<br />Blau - Höhen/Tiefen max<br />Rot - Höhen/Tiefen max + &quot;HiFi Expander&quot;<br />Rot - Höhen/Tiefen max + &quot;HiFi Expander&quot; + &quot;Jazz&quot;
Kurven - Einstellung Regler/Tasten:
Grün - "Flach ;-)" Höhen/Tiefen min
Blau - Höhen/Tiefen max
Rot - Höhen/Tiefen max + "HiFi Expander"
Rot - Höhen/Tiefen max + "HiFi Expander" + "Jazz"
Die Übergänge beim Hoch- und Runterschalten sind wirklich einwandfrei (jedenfalls sieht man keine Knicke oder Sprünge in der Kurve). Aber ich hab zwei Fragen:

* Im Bereich der niedrigen Frequenzen am Sweep-Start ist die Kurve "stufig". D.h. die Messung erfolgt nicht im niedrigst möglichen Bereich. Kannst Du das bestätigen?

* Die Messungen sind alle mit dem gleichen Eingangspegel und unverändertem Lautstärkeregler durchgeführt. Die Kurven sind aber stark vertikal gegeneinander verschoben. Wie erfolgt die "Normierung" auf 0dB? Bei der Sweep-Start-Frequenz? Und die Normierung wird für jeden Sweep neu ermittelt?

Viele Grüße
Paul
magicroomy
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 205
Registriert: 01.12.2007, 09:23

Re: Weiterentwicklung JLab

Beitrag von magicroomy »

Hi,
das Stufige am Anfang hatte ich bisher immer auf das DDS geschoben. Liegt glaube ich nicht am Meßbereich. Frequenzauflösung des DDS ist 1/10 Hz ? Hab das Bild noch nicht exakt analysiert, aber vielleicht liegt es daran. Der Sweep versucht einfach linear errechnete Werte anzulegen. Das kann dann bedeuten: 20Hz, 20.02Hz, 20.04, ... 20.10Hz etc. Das DDS wird daraus 20, 20.0, 20.0, ... 20.1 machen. Für die Kurve führt das zu solchen Treppen. Im oberen Frequenzbereich liegen die Messwerte viel weiter auseinander => Da gibts dann auch kein Problem.
Was mir noch nicht gefällt ist der Sprung von 0dB auf den ersten Messwert. Sieht unschön aus.

Mein Sweep geht ganz pragmatisch vor. 20*log10(out/in). "In" wird beim Knopfdruck den Sweep zu starten aus dem Eingabefeld der Maske gelesen. "Out" ist der Messwert. Was evtl. zu Problemen führen kann ist ,daß das blöde Java einen geänderten Eingabewert in dem Textfeld erst dann akzeptiert und dem Programm bereitstellt, wenn Du das Feld aktiv mit Tab verlassen hast, bevor Du den Button drückst.

Gruß
Volker
psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 942
Registriert: 25.01.2008, 23:34

Re: Weiterentwicklung JLab

Beitrag von psclab38 »

magicroomy hat geschrieben:Hi,
das Stufige am Anfang hatte ich bisher immer auf das DDS geschoben. Liegt glaube ich nicht am Meßbereich. Frequenzauflösung des DDS ist 1/10 Hz ? Hab das Bild noch nicht exakt analysiert, aber vielleicht liegt es daran. Der Sweep versucht einfach linear errechnete Werte anzulegen. Das kann dann bedeuten: 20Hz, 20.02Hz, 20.04, ... 20.10Hz etc. Das DDS wird daraus 20, 20.0, 20.0, ... 20.1 machen. Für die Kurve führt das zu solchen Treppen. Im oberen Frequenzbereich liegen die Messwerte viel weiter auseinander => Da gibts dann auch kein Problem.
Aua. Ich glaub' da hast Du recht. Ich habe gestern auch nur zwischen Tür und Angel die Kurven aufgenommen und mich nicht zu sehr mit der Ursachenforschung beschäftigt. Sorry!
magicroomy hat geschrieben:Was mir noch nicht gefällt ist der Sprung von 0dB auf den ersten Messwert. Sieht unschön aus.
Das war auch der Grund, warum ich die Frage nach den 0dB gestellt habe. 8)

Viele Grüße
Paul
Antworten