Hallo zusammen.
Ich hab jetzt schon mit google und der Forumssuche und der Labviewhilfe probiert einiges rauszubekommen, und den ersten Teil habe ich auch selber geschafft. Ich beschreibe trotzdem mal alles, denn als Labview-Neuling stecke ich vielleicht bzw wahrscheinlich noch viel zu sehr in herkömmlicher Programmierung fest.
Also, ich habe hier ein Arduino-Programm welches mir vorgegeben ist, die Schaltung auch. (Es handelt sich um eine Prüfungsvorbereitung. Um genau herauszufinden was nun Programm und Schaltung machen, habe ich das Programm um eine Debug-Ausgabe erweiter. So werden bei jedem Durchlauf alle Werte gesammelt, zu einem String zusammengefasst und am Ende der Schleife über den Seriellen Port ausgegeben.
Es handelt sich pro Schleifendurchgang um eine Zeile, abgeschlossen mit einem Zeilenvorschub. Die Wertepaare sind durch ein "!" voneinander getrennt, Bezeichner und Wert duch ein ":". Eine Zeile schaut dabei z.B. folgendermaßen aus:
Code:
OL:0!OR:0!UT:404!NL:0!NR:0!BR:1!UM:405!UF:387!UD:603!UA:603!FE:1!EC:63!ZC:253!ZS:6!ES:0
Geplant ist folgende Funktion: Übersichtliche grafische Anzeige der Werte des aktuellen Schleifendurchlaufes, Anzeige der Werte als String zur Verlaufsanalyse, Maximal 20 vorherige Werte sollen angezeigt werden.
Bis jetzt geschafft habe ich, per VISA die Schnittstelle auszulesen und, so hoffe ich, in ein eindimensionales String-Array überführt.
Nun will ich jede Zeile des eindimensionalen Arrays trennen und in Abhängigkeit vom Bezeichner die Anzeige aktualisieren. Im Normalfall (also, im Programmiermodus den ich gewohnt bin) hätte ich das mit einem case gemacht:
Also in etwa so:
Code:
case $Bezeichner in
"OL") print "Alter Linkswert war:" $Wert;;
esac
Aber ich hänge absolut fest und ich finde keine Lösung. Ich übergebe gerade das eingelesene String-Array an eine Forschleife mit Autoindex. In der Forschleife mache ich wieder ein "Tabellen-String nach Array" ... und weiter komme ich nicht.
Lieben Gruß,
Miia