INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Debug-Auswertung



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

22.03.2016, 10:11
Beitrag #1

mijarena Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Mar 2016

2014 SP1 Student
-
DE



Debug-Auswertung
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
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
22.03.2016, 10:48 (Dieser Beitrag wurde zuletzt bearbeitet: 22.03.2016 10:49 von Valduril.)
Beitrag #2

Valduril Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Feb 2015

Developer Suite 2015
2012
DE

09
Deutschland
RE: Debug-Auswertung
Ich habe deine Beispielzeile mal angenommen.

In der ersten While-Schleife wird der String solange an jedem "!" geteilt bis kein Trennzeichen mehr gefunden wird. Die gefundenen Stellen werden dabei in ein neues Array überführt und der Rest-String in die nächste Iteration per Schieberegister übergeben.
Sobald kein Trennzeichenmehr gefunden wird ist der zweite String leer und damit die Bedingung zum Beenden der Schleife TRUE.
Die zweite Schleife durchläuft in Abhängigkeit von dem Array nun jeden Wert und teilt diesen nach dem zweiten Trennzeichen.

Am Ende hast du zwei Arrays, einmal die Bezeichner und auf dem gleichen Index im anderen Array die Werte.

Der Anhang unten kann als .png abgespeichert werden und dann einfach per Drag&Drop in ein leeres VI gezogen werden, damit der Code sofort erstellt ist. (Siehe VI-Snipplet)

(Notfalls ist der Code in der 14.0 Version mit hinzugefügt.)

Die Anzeige und der Rest sollte eigentlich einfach sein Smile Die Arrays durchlaufen und per CASE Struktur die jeweilige Anzeige eben aktualisieren bzw. die Historie erweitern.


Angehängte Datei(en) Thumbnail(s)
   

14.0 .vi  String-Teilen-v14.vi (Größe: 10,75 KB / Downloads: 221)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.03.2016, 10:49
Beitrag #3

Freddy Offline
Oldtimer
****


Beiträge: 729
Registriert seit: Aug 2008

2019, 2020, 2021
1996
DE

76275
Deutschland
RE: Debug-Auswertung

Akzeptierte Lösung

Mein Lösungsvorschlag:


Angehängte Datei(en) Thumbnail(s)
   

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.03.2016, 10:54 (Dieser Beitrag wurde zuletzt bearbeitet: 22.03.2016 10:54 von Valduril.)
Beitrag #4

Valduril Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Feb 2015

Developer Suite 2015
2012
DE

09
Deutschland
RE: Debug-Auswertung
(22.03.2016 10:49 )Freddy schrieb:  Mein Lösungsvorschlag:

Feine Sache. Diese Anwendung der Tabellen-String Funktion war mir auch noch nicht bekannt. Vielen Dank Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.03.2016, 10:56
Beitrag #5

mijarena Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Mar 2016

2014 SP1 Student
-
DE



RE: Debug-Auswertung
Danke, aber das Attatchment bekomme ich nicht angezeigt (Fehler: Beitrag existiert nicht) und das vi (jep, ich habe 2014) kann ich erst heute abend anzeigen lassen. Ich bin hier gerade in der Schule und mein Privatrechner, auf dem Labview drauf ist, ist hier nicht vernetzt.

Aber trotzdem Danke, ich bin sicher, das hilft mir dann schon mal weiter.

Lieben Gruß,
Miia
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.03.2016, 11:22
Beitrag #6

mijarena Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Mar 2016

2014 SP1 Student
-
DE



RE: Debug-Auswertung
Wärend ich noch geschrieben hatte änderte sich einiges, 1: ich kann jetzt das Bild sehen, und zweitens, es ist noch ein Beitrag mit einer Wundervollen Lösung dazugekommen. Ergo: bin wieder dabei mich weiter durchzuwühlen. Vielen Dank.

Lieben Gruß,
Miia
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
22.03.2016, 14:00
Beitrag #7

mijarena Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Mar 2016

2014 SP1 Student
-
DE



RE: Debug-Auswertung
So, ich habe jetzt mehr als 2 Stunden damit verbracht weiterzukommen. Aber ....
Das Array habe ich ja jetzt. Nur, wie gebe ich es jetzt aus. Also, außer mit dem Array-Ausgabe-Feld.

Ich möchte sowas wie Zeigerinstrumente etc. Aber alles was ich bis jetzt geschafft habe ist, von der letzten Zeile des Arrays beides wieder zu einem String zu verknüpfen und auszugeben. Und wirklich nur das letzte Element, nicht mal alle anderen vorher der Reihe nach durch.

Ich würde mir ja jetzt sowas wie ein "foreach/key/value" wünschen...

Kann mir jemand bei diesem Teilabschnitt ein paar Hinweise geben?

Lieben Gruß,
Miia
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.03.2016, 14:07 (Dieser Beitrag wurde zuletzt bearbeitet: 22.03.2016 14:08 von jg.)
Beitrag #8

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Debug-Auswertung
Dann setzte jetzt deinen Pseudo-Code um. Die "Case"-Anweisung ist in LabVIEW die Case-Structure.
Edit: Und ein "ForEach", das ist eine For-Loop.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.03.2016, 14:15 (Dieser Beitrag wurde zuletzt bearbeitet: 22.03.2016 14:20 von mijarena.)
Beitrag #9

mijarena Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Mar 2016

2014 SP1 Student
-
DE



RE: Debug-Auswertung
Die For Loop habe ich, aber wie schon erwähnt, ich bekomme immer nur die letzte Zeile des Arrays angezeigt.
Also, wenn ich mir das Array vor der Loop anzeige, mithilfe eines Anzeigeelementes, dann kann ich alle Zeilen durchgehen. Einwandfrei.
Aber innerhalb der Loop habe ich plötzlich nur noch eine einzige Zeile.

Ich vermute netürlich, dass ich da irgendetwas falsch verdrahte oder einstelle, aber ich habe inzwischen keine Idee mehr, was.

EDIT: ich habe nun die Sonde gefunden und stelle fest, dass zwar alle Werte in die For Loop reingehen, der Indexzähler aber immer nur den höchsten Wert referenziert. Wie bringe ich das Teil jetzt dazu alles durchzuzählen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.03.2016, 14:20
Beitrag #10

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Debug-Auswertung
Dann zeig doch mal, was du machst, anstatt rumzueiern.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Probleme bei der Flanken Auswertung Hubert R. 3 6.445 24.06.2024 11:38
Letzter Beitrag: GerdW
  Anregungen für eine Debug Console für Kunden-Software dali4u 6 5.169 09.09.2013 10:30
Letzter Beitrag: dali4u
  Auswertung von DAQ Messung cypher 22 16.288 01.07.2013 13:00
Letzter Beitrag: cypher
  Eventstruktur mit Auswertung Hasenfuss 1 3.628 11.04.2013 17:51
Letzter Beitrag: Trinitatis
  Debug Tools gesucht Mrindfleisch 6 4.555 15.02.2013 07:34
Letzter Beitrag: Mrindfleisch
  Auswertung radnaib 2 4.870 17.01.2013 09:27
Letzter Beitrag: radnaib

Gehe zu: