Ich möchte die ankommenden Daten in folgendes VI einfügen:
[
attachment=59032]
Die Daten sollen einmal im Graphen angezeigt werden und zusätzlich unten beim Bild.
Die ankommenden Werte sollen in der Y-Achse angezeigt werden.
Die X-Achse ist schon vorgegeben.
Probiert habe ich es unter anderem wie folgt:
[
attachment=59033]
Außerdem habe ich es mit Spreadsheet String to Array und Scan from String probiert.
Hallo Benutzer,
Zitat:Die ankommenden Werte sollen in der Y-Achse angezeigt werden. Die X-Achse ist schon vorgegeben.
Das funktioniert doch!?
Aber warum so kompliziert???
[
attachment=59034]
Zitat:Probiert habe ich es unter anderem wie folgt:
In dem zweiten VI arbeitest du mit Strings: das sind eben keine Zahlen und können nicht mit einem Array of DBL verbunden werden…
Und warum öffnest du den COM-Port in JEDER Iteration erneut wieder???
Auch hier dieser Unsinn, ständig ein Array in einen Cluster umzuwandeln, nur um dann per Unbundle auf die Einzelwerte zuzugreifen!
Warum verwendest du nicht IndexArray - oder eben wie im Snippet direkt Cluster zur Anzeige???
Hallo GerdW,
In dem pressure VI ja... Aber dort simuliere ich die Werte ja nur.
Es geht mir um den String im zweiten VI. Die Daten die per USB ankommen sollen die Y Achse darstellen und geteilt angezeigt werden.
Da du schreibst das ich den String nicht so umwandeln kann wie ich es gedacht habe, gibt es eine Alternative das USB Signal auszulesen? Vielleicht das er mir die Daten nicht als String raus gibt. Ich benötige die Daten einzeln [/quote]
Hallo Benutzer,
Die Daten die per USB ankommen sollen die Y Achse darstellen und geteilt angezeigt werden.
Dann musst du sie eben in Zahlen (DBL) umwandeln!
Wo ist das Problem?
Leider gibst du uns kein Beispiel, wie der per VISARead erhaltene String aussieht und wie du ihn umgewandelt haben möchtest…
Zitat:Da du schreibst das ich den String nicht so umwandeln kann wie ich es gedacht habe
Wo habe ich das getan? Was hast du denn "gedacht"?
Ich habe mich nur über die unsinnige Verwendung von ArrayToCluster beschwert…
Das umwandeln in Zahlen ist mein Problem.
Zitat:
"In dem zweiten VI arbeitest du mit Strings: das sind eben keine Zahlen und können nicht mit einem Array of DBL verbunden werden…"
Da hast du es gesagt das es nicht funktioniert.
Zitat:
"Dann musst du sie eben in Zahlen (DBL) umwandeln!"
Ja wie denn? Bevor ich es sende oder in LabVIEW?
Hier die Response von dem Visa Read
[
attachment=59036]
So wiederholt sich das. 10 Werte getrennt durch ein ; (Habe ich gerade eingefügt).
Ich möchte die ankommenden Werte genauso haben wie in deinem Beispiel:
https://www.labviewforum.de/attachment.php?aid=59034
Ich bekomme es aber leider nicht hin den ankommenden String so aufzuteilen. Ich sitze da auf dem Schlauch
Edit:
Habe jetzt etwas hinbekommen. Gibt aber probleme.
1. Die ankommenden Daten werden in die ienzelnen Fenster geschrieben, aber nicht mehr aktualisiert.
2. Die Daten fangen irgenwann an. Der erste ankommende Wert ist nicht dem Fenster 1 zugeordnet.
Wie bringe ich das in Ordnung?
[
attachment=59038]
Hier das VI:
[
attachment=59039]
Hallo Benutzer,
Zitat:Da hast du es gesagt das es nicht funktioniert.
Da habe ich gesagt, dass du ein String-Array nicht an ein Array of DBL anschließen kannst…
Zitat:Hier die Response von dem Visa Read
Das dumme an Bildern ist, dass man sie mit LabVIEW so schlecht debuggen kann!
Und dein Bild zeigt leider nicht die "unsichtbaren" Zeichen, die in deinem String enthalten sind…
Zitat:Ich möchte die ankommenden Werte genauso haben wie in deinem Beispiel:
Dann musst du eben den String in ein Array of DBL umwandeln:
[
attachment=59040]
Zitat:2. Die Daten fangen irgenwann an. Der erste ankommende Wert ist nicht dem Fenster 1 zugeordnet.
Du musst halt schon darauf achten, wo deine Message anfängt und aufhört…
Damit sind wir wieder bei der Frage:
Zitat:Leider gibst du uns kein Beispiel, wie der per VISARead erhaltene String aussieht und wie du ihn umgewandelt haben möchtest…
Und hier eben möglichst genaue und konkrete Informationen!
Zitat:
"Und hier eben möglichst genaue und konkrete Informationen! "
Wie soll ich das machen? Ich dachte ich hätte das mit der Response erledigt.
Momentan scheint es so zu sein das der Kollege mir jeden Wert einzeln schickt und dann wieder von vorne.
(18.04.2018 12:41 )Benutzer1 schrieb: [ -> ]Zitat:
"Und hier eben möglichst genaue und konkrete Informationen! "
Wie soll ich das machen? Ich dachte ich hätte das mit der Response erledigt.
Momentan scheint es so zu sein das der Kollege mir jeden Wert einzeln schickt und dann wieder von vorne.
Und wie soll der Anfang erkannt werden? Was macht dein Kollege, um dir den Beginn eines Datenblocks zu ermöglichen?
Gruß, Jens
Hallo Benutzer,
Zitat:Wie soll ich das machen?
Indem man möglichst genaue Specs bekanntgibt, inkl. aussagekräftiger Beispiel-Daten (und eben keine Bilder, die das meiste verstecken)!
Zitat:Ich dachte ich hätte das mit der Response erledigt.
Leider nur als Bild und ohne "versteckte" Zeichen.
Wenn du nach Daten gefragt wirst, solltest du auch welche liefern: Daten in String anzeigen lassen, dann den aktuellen Wert als Standard setzen, dann das VI speichern und hier anhängen…
Wenn du sogar einen Kollegen hast, der die Daten liefert, dann sag ihm, dass er mal ein besseres Datenformat verwenden soll!
Vorschläge:
- eindeutige Anfangs- oder Ende-Kennung
- nur ein Trennzeichen zwischen den Daten, d.h. entweder ein Semikolon ODER ein LineFeed (aber nicht beides!)
Wenn dein String so aussieht, dann ist er "prima": "Wert1;Wert2;…;Wert9<LF>" (natürlich ohne Anführungszeichen, das <LF> kennzeichnet das LF-Zeichen)
Jetzt schickt er mir alles in einer Zeile.
Klappt glaube ich. Das weiß ich aber erst wenn das Programm mir Kommastellen rauswirft.
[
attachment=59044]
Ich hoffe ihr seht was ich meine.
Egal was ich beim Spreadsheet einstelle(%d, %f oder %f)