LabVIEWForum.de - Terminal erweitern um Anzeige

LabVIEWForum.de

Normale Version: Terminal erweitern um Anzeige
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,

ich versuche mir gerade LabVIEW anzueignen und mache das an einem konkreten Beispiel, dem Auslesen und der Weiterverarbeitung der Daten einer RS232 Schnittstelle.

Dazu habe ich mir das Beispiel Terminal.vi hier aus dem Forum runtergeladen und ausprobiert, funktioniert einwandfrei. nun wollte ich aus dem String der empfangen wird die Zeichen ab der Stelle 6 extrahieren genau 5 Stellen, vom String in eine Zahl konvertieren und dem Signalverlaufsdiagramm anzeigen, später will ich dann noch weitere Daten aus dem String extrahieren und in einem Stapelplot darstellen.

Aber schon an der ersten Stufe scheitere ich, kann mir jemand helfen? Ich habe mein erweitertes Diagramm mal angehängt.

Danke MfG jojo

(VI LV 8.2)
Du schneidest ab dem 7. Buchstaben aus, da der erste Buchstabe, wie bei Arrays, den Index 0 hat.

Ist es das vielleicht?

MfG, Jens
nein das ist es nicht!

Trotzdem Danke.

MfG jojo
Was klappt denn nicht?

Gruß Markus
ich bekomme im diagramm nur den Wert 0 angezeigt, außerdem verändert sich die Anzeige im Fenster das den Stream darstellt von

Zahl Zahl Zahl....
Zahl Zahl Zahl....

zu

Zahls-Zahls-Zahl....
Zahls-Zahls-Zahl....

obwohl ich nichts am eigentlichen terminalprogramm geändert habe, sondern nur eine Verbindung zu meiner Anzeige erstellt habe trotzdem scheint es eine Rückkopplung zu geben???

MfG jojo
So, zum Punkt Anzeige, das kommt daher, dass die String-Anzeige auf "Codes Display" steht (Kontext-Menü des Strings):

[attachment=9780]

Das s steht für ein Leerzeichen.

Zum 2. Punkt: Könnte es sein, dass deine Zahlen (es wäre gut gewesen, reale Bsp zu posten) vom Typ Fließkomma & < 1 sein? Du wandelst nämlich bisher nur in eine Integer-Zahl, die ist dann natürlich automatisch 0. Außerdem wandelst du immer nur dieselbe Zahl aus dem String.

[attachment=9781]

MfG, Jens
Ok das mit dem Zeichen habe ich kapiert und korrigiert. Nur die Darstellung im Diagramm will immer noch nicht. Hier mal ein Auszug aus dem Stream:

41075 30747 30001,04 30545 04678 -0068,97 -1222,97 -0001,70 +0000,00
41080 30747 30001,49 30541 04678 -0068,99 -1223,77 -0001,70 +0000,00
41085 30747 30000,51 30536 04676 -0069,07 -1221,97 -0001,71 +0000,00
41090 30748 30001,07 30539 04676 -0069,03 -1224,87 -0001,71 +0000,00
41095 30748 30001,88 30540 04676 -0069,03 -1230,57 -0001,70 +0000,00

ich bin immer an der zweiten Zahl im Stream interessiert also der 30747 bzw. 30748, alle 30 sec sendet die serielle schnittstelle solch eine Zeile also eine relativ langsame Verbindung und somit reicht auch eine relativ langsame darstellung.

da ich mit der virtuellen Maschine noch mehr vorhabe, also auch mit dezimalzahlen arbeiten möchte, habe ich die Funktion der Stringkonvertierung von String-Integer in String-Dezimalzahl ausgetauscht (hohhe ich habe die richtige erwischt).

Als Anhang noch mal meine aktuelle vi.

(VI LV 8.2)
muss meinen Beitrag nochmal hochschieben da es mich immer noch brennend interessiert.

MfG jojo
Probier's mal so...

[attachment=9829](VI LV 8.0)

Gruß Markus
Habe mir das auch mal angesehen. Du gibst ja nicht die aktuell erfasste Stringzeile auf die Funktion "Teilstring", sondern immer den (sich ständig verlängernden) Gesamtext, Wenn Du davon die 6..11. Stelle als Teilstring benutzt, betrifft das immer wieder die erste (sich nicht mehr ändernde) Zeile dieses Textes, d.h Du konvertierst immer wieder die gleiche Zahl. Wieso da eine Null herauskommt, verstehe ich allerdings nicht.

Die Funktion "Teilstring" ist auch überflüssig, Es genügt die Angabe das Offsets in der Funktion "String nach Zahl". Die Länge wird nicht gebraucht, weil das Konvertierungs-VI nur die in Frage kommenden Zeichen für die erste Zahl verwendet ( also höchstens die Zeichen bis vor dem nächsten Leerzeichen)

Versuchs mal mit dieser Änderung: Für die Initialisierung des Textes nicht das Zeichen "Leerer String" verwenden (das enthält möglicherweise einen Return), sonden an dieser Stelle einfach einen leeren String anschließen.
Seiten: 1 2
Referenz-URLs