Arbitrary Tool

Hier könnt ihr Diskussionen über die Software des Labornetzteiles des c't-Lab führen.
psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 942
Registriert: 25.01.2008, 23:34

Arbitrary Tool

Beitrag von psclab38 »

Hallo Forum,

da vermutlich die Arbitrary-Funktion für DCG-C und EDL-C bei den meisten brachliegt, weil es bislang keine Hilfestellung für die "Fütterung" der Module mit den Daten gibt, versuche ich mich mal an einem Provisorium. Vielleicht ist's ja ein brauchbarer Kompromiß.

Ich hab' heute mal ein Excel-Sheet gestrickt, mit einem einfachen Macro, das eine Tabelle mit den Arbitrary-Datenpaaren, also Relativspannung und Zeitdauer

a) optisch in ein Bildchen umsetzt, damit man sich eine Vorstellung machen kann, wie die Daten später aussehen,
b) die Daten in eine Textdatei mit lab-Kommandos schreibt.
ArbXLS.png
Wenn die Daten kurz genug sind, dann kann man das Textfile einfach mit dem Hyperterminal senden. Aber leider verfügt das ct-lab-System über kein Handshake, so daß die Module ziemlich schnell überfahren werden.

@MagicRoomy
Volker, könntest Du Dir vorstellen (zumindest rudimentär) im JLab eine Funktion einzubauen, die so ein Textfile zeilenweise mit der gebotenen Geduld, also Pausen, an das Lab schickt? Ein Beispielfile mit maximaler Länge hängt unten an. Ich in bin Java nicht wirklich fit...

Viele Grüße
Paul
Dateianhänge
ArbSamples.txt
(1.48 KiB) 225-mal heruntergeladen
magicroomy
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 205
Registriert: 01.12.2007, 09:23

Re: Arbitrary Tool

Beitrag von magicroomy »

Hallo Paul,
ist drin.
Was für eine JLab Config nutzt Du denn, damit wir mal einen kurzen Test bei Dir machen können? TCPIP oder RXTX und dann Java 6 oder Java 5 ?
Ich bau Dir dann mal eine Vorabversion zum Test.

Gruß
Volker

P.S. Syntax habe ich etwas erweitert.
Für die Jungs, die mehr als ein c't Lab angeschlossen haben kann man den Kanalnamen noch vor die Adresse setzen.

statt 0:idn?
dann channel1;0:idn?
Ist aber optional.
psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 942
Registriert: 25.01.2008, 23:34

Re: Arbitrary Tool

Beitrag von psclab38 »

magicroomy hat geschrieben:Hallo Paul,
ist drin.
Was für eine JLab Config nutzt Du denn, damit wir mal einen kurzen Test bei Dir machen können? TCPIP oder RXTX und dann Java 6 oder Java 5 ?
Ich bau Dir dann mal eine Vorabversion zum Test.
Hi Volker,

das ist ja Klasse! Ich verwende (derzeit) die RxTx-Variante mit Java 6. Danke Dir für die schnelle Implementierung!

magicroomy hat geschrieben: P.S. Syntax habe ich etwas erweitert.
Für die Jungs, die mehr als ein c't Lab angeschlossen haben kann man den Kanalnamen noch vor die Adresse setzen.

statt 0:idn?
dann channel1;0:idn?
Ist aber optional.
Die Channel-Angabe kann ich bestimmt noch mit davorsetzen. Das ist dann der String des Kanalnamens?

Wenn ich's mir überlege und wir das Ganze vielleicht mal permanent einbauen, dann könnte ich mir das so vorstellen, daß in dem Textfile nur die Kommandos ohne Adresse stehen und JLab den Kanal und die möglichen Adressen (EDL bzw. DCG) zur Auswahl anbietet und automatisch hinzufügt. Im Augenblick möchte ich's aber erstmal simpel halten, damit ich Deine Hilfe nicht so oft in Anspruch nehmen muß... 8)

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: Arbitrary Tool

Beitrag von magicroomy »

Hi Paul,
also die Version V2.7.0 ist hier: https://sourceforge.net/projects/jlab/f ... p/download

Im Programm unter dem Menü File gibt es ein "Kommandoscript ausführen" oder so ähnlich. Über den sich öffnenden Dialog das File auswählen.
Die Ausgaben sieht man in der Console (Über Menü Hilfe). Derzeit lasse ich mir 50ms Zeit zwischen dem Sender der Befehle.

Syntax ist ähnlich Deiner:
<Kanalname>;<Adresse>;<Befehl>

<Kanalname> ist der Name der Verbindung aus der Verbindungskonfig in JLab.
Der ist aber optional. Wenn Du ihn nicht angibst suche ich einfach den ersten Kanal und schicke alles dahin (hoffe ich, habs nicht ausprobiert).

Sag mir bitte kurz bescheid obs funzt.

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: Arbitrary Tool

Beitrag von psclab38 »

Hi Volker,
magicroomy hat geschrieben:Hi Paul,
also die Version V2.7.0 ist hier: https://sourceforge.net/projects/jlab/f ... p/download
vielen herzlichen Dank!
magicroomy hat geschrieben:Sag mir bitte kurz bescheid obs funzt.
Die wichtigste Frage zuerst: Ja, es funktioniert prima! Leider vergißt die Funktion den letzten Pfad...
magicroomy hat geschrieben:Die Ausgaben sieht man in der Console (Über Menü Hilfe). Derzeit lasse ich mir 50ms Zeit zwischen dem Sender der Befehle.
In der Console konnte ich leider keine Ausgaben aus dem Script sehen, wie etwa den Antwortstring aus dem 2:idn?
Die Übertragung der insgesamt 157 Befehle dauert so ungefähr 15 Sekunden.
magicroomy hat geschrieben:Syntax ist ähnlich Deiner: "<Kanalname>;<Adresse>;<Befehl>"
Nicht ganz, mehr "<Kanalname>;<Adresse>:<Befehl>" 8)
magicroomy hat geschrieben:Der (Kanalname) ist aber optional. Wenn Du ihn nicht angibst suche ich einfach den ersten Kanal und schicke alles dahin (hoffe ich, habs nicht ausprobiert).
Der "erste" Kanal scheint der "letzte" zu sein, entsprechend der Reihenfolge beim Hochlaufen... Aber es funktioniert, wenn nur eine Verbindung zu einem Lab konfiguriert wird.
Wenn ich die Verbindung(en) allerdings über "Menü/Verbindungen konfigurieren" ändern will, dann bekomme ich die falschen COMs angezeigt, etwa eine Bluetooth-COM zu meinem Händy (welches dabei kurz aufwacht). Wenn ich das dann abspeichere, dann ist die Konfiguration falsch, auf das Handy umgebogen. Das war aber bei der vorherigen Version auch schon so.

Viele Grüße
Paul
psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 942
Registriert: 25.01.2008, 23:34

Re: Arbitrary Tool

Beitrag von psclab38 »

Hallo Forum,

damit alle schon mal spielen können, hier ist die erste "öffentliche" Version des Arbitrary Tools. Ich habe Excel 2007 verwendet, das Sheet aber als *.xls gespeichert, damit auch ältere Versionen verwendet werden können.

Das Sheet enthält eine Anleitung. Die Bedienung ist vielleicht nicht ganz offensichtlich, aber nur von mittlerem Schwierigkeitsgrad.

Die Sequenzen werden per Default ins RAM geladen und sind mit Power-Cycle verloren. Das Sheet hat eine Option, mit der das Abspeichern ins EEPROM aktiviert wird. Dann überleben die Daten auch einen Reset.
ArbXLSV1.3.png
Ich poste hier auch die "Kommandodatei", die mit unverändertem Sheet erzeugt wird. Falls es Unterschiede durch andere Office-Versionen geben sollte, dann bitte melden.
Für Verbesserungsvorschläge bin ich ganz offen.

Viele Grüße
Paul

PS: Ich habe die Funktion bislang nur mit dem DCG getestet, für die EDL war noch keine Zeit. Bitte beachten, daß nur die neueste DCG-C Firmware dieses Feature unterstützt; die Pascal-Version kennt es nicht.
Dateianhänge
ArbSamples4.txt
(2.26 KiB) 230-mal heruntergeladen
ArbitraryTool_V1.3.xls
(82.5 KiB) 229-mal heruntergeladen
psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 942
Registriert: 25.01.2008, 23:34

Re: Arbitrary Tool

Beitrag von psclab38 »

psclab38 hat geschrieben: PS: Ich habe die Funktion bislang nur mit dem DCG getestet, für die EDL war noch keine Zeit.
Den Test mit der EDL habe ich grade nachgeholt, damit funktioniert das Tool auch. Ist ja prinzipiell auch der gleiche Code.

Viele Grüße
Paul
Rainer
kann c't-Lab-Module umbauen
kann c't-Lab-Module umbauen
Beiträge: 75
Registriert: 29.11.2007, 01:38
Kontaktdaten:

Re: Arbitrary Tool

Beitrag von Rainer »

Nachdem ich vor kurzem mein zweites DCG fertig gebaut hatte, habe ich dort die DCG-C Firmware aufgespielt. Bisher bin ich sehr zufrieden damit und wollte heute mal die Arbitrary Funktion etwas anschauen. Da Problem dabei ist, dass ich mit dem Excel Sheet zwar die Textdatei generieren kann, aber JLab diese nicht annimmt.

Wenn ich in JLab (2.7.0) sage "Kommandodatei ausführen" bekomme ich die Rückmeldung "Line 0: unable to open/process file d:\ArbSample4.txt". Im Log sehe ich, nachdem ich die Meldung bestätigt habe, eine NullPointerException in der Klasse de.jlab.lab.CommandFileProcessor.processFile.

Was mache ich denn jetzt genau falsch, da es ja anscheinend funktionieren sollte? :)

Ciao,
Rainer

PS: Ich wollte mir mal die Codestelle im Java Quellcode anschauen, aber leider liegt auf dem JLab SVN Repository immer noch die 2.6.3 und nicht die 2.7.0. :(
psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 942
Registriert: 25.01.2008, 23:34

Re: Arbitrary Tool

Beitrag von psclab38 »

Rainer hat geschrieben: Was mache ich denn jetzt genau falsch, ...
Hi Rainer,
das kann ich Dir leider nicht sagen, da fehlen noch ein paar Informationen. Vergleiche mal Deinen Output des Excelsheets mit dem Beispiel ArbSamples4.txt weiter oben hier im Thread. Stimmt das Format? Welche Excel-Version hast Du verwendet? Poste Deinen Output mal.

Hast Du die Adresse für Deine Module richtig eingestellt?

Gruß
Paul
Rainer
kann c't-Lab-Module umbauen
kann c't-Lab-Module umbauen
Beiträge: 75
Registriert: 29.11.2007, 01:38
Kontaktdaten:

Re: Arbitrary Tool

Beitrag von Rainer »

Also selbst die original Beispieldatei verursacht die gleiche Exception.
Nun vermute ich mal, dass das Problem evtl mit meinem anderen Thread zusammenhängen könnte. Denn das Jlab erkennt auch nur die beiden DCG und listet nicht die ADA Karte auf. Eventuell macht dann die Kommunikation Probleme, weshalb das Skript nicht korrekt übertragen werden kann. Leider sehe ich zu wenige debug Ausgaben im Log von JLab um das genau sagen zu können.

Ciao,
Rainer
psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 942
Registriert: 25.01.2008, 23:34

Re: Arbitrary Tool

Beitrag von psclab38 »

Rainer hat geschrieben:Also selbst die original Beispieldatei verursacht die gleiche Exception.
Da kann vermutlich nur Volker helfen...
Rainer
kann c't-Lab-Module umbauen
kann c't-Lab-Module umbauen
Beiträge: 75
Registriert: 29.11.2007, 01:38
Kontaktdaten:

Re: Arbitrary Tool

Beitrag von Rainer »

Also nachdem das ADA-C jetzt mit der letzten Firmware wieder schön in der Reihe tanzt geht auch der IDN über den Opto-Bus wieder problemlos.

In JLab werden auch wieder alle drei Karten erkannt. Aber nachdem ich es nochmals versucht hatte die original ArbSamples4.txt per JLab zu übertragen kommt immer noch die gleiche Exception. Also scheinbar liegt das Problem doch irgendwo in JLab vergraben. Nachdem Volker zu der 2.7.0 bisher noch keinen Quellcode veröffentlich hat, kann ich auch nicht selber nach dem Problem suchen. :(

Hiermit starte ich einen Hilferuf an den Volker und hoffe, er schaut sich mein kleines Problem mal an. :)

Ciao,
Rainer
magicroomy
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 205
Registriert: 01.12.2007, 09:23

Re: Arbitrary Tool

Beitrag von magicroomy »

Volkers hats vernommen und wird sich bald dranmachen... ein wenig Geduld braucht es noch. Bin derzeit in der Firma etwas im Streß

Gruß
Volker
Rainer
kann c't-Lab-Module umbauen
kann c't-Lab-Module umbauen
Beiträge: 75
Registriert: 29.11.2007, 01:38
Kontaktdaten:

Re: Arbitrary Tool

Beitrag von Rainer »

Hi Volker,

wenn du momentan nicht viel Zeit hast ist das ok. Aber könntest du dann eventuell den Quellcode zur 2.7.0 Version online stellen?
Ich kenne mich mit Java recht gut aus und würde deshalb gerne selber mal etwas auf die Suche nach dem Fehler gehen. :)

Ciao,
Rainer
Rainer
kann c't-Lab-Module umbauen
kann c't-Lab-Module umbauen
Beiträge: 75
Registriert: 29.11.2007, 01:38
Kontaktdaten:

Re: Arbitrary Tool

Beitrag von Rainer »

Hi Volker,

ich will dich nicht nerven, aber könntest du nicht mal den Code der 2.7.0 irgendwo online stelen, so dass ich den herunterladen kann?
Das sollte ja schnell erledigt sein, und ich kann dann mal nach dem Problem suchen gehen. :)

Ciao,
Rainer
Antworten