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!
16.11.2007, 15:27 (Dieser Beitrag wurde zuletzt bearbeitet: 29.11.2007 22:21 von jg.)
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.
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
Terminal erweitern um Anzeige
Was klappt denn nicht?
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
17.11.2007, 17:38 (Dieser Beitrag wurde zuletzt bearbeitet: 17.11.2007 17:42 von jojo2203.)
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???
So, zum Punkt Anzeige, das kommt daher, dass die String-Anzeige auf "Codes Display" steht (Kontext-Menü des Strings):
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.
MfG, 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!
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).
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
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.