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 

Verarbeiten von ESC-Sequenzen (VT100)



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!

13.12.2022, 20:18 (Dieser Beitrag wurde zuletzt bearbeitet: 13.12.2022 20:27 von GerdW.)
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.457
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Verarbeiten von ESC-Sequenzen (VT100)
Hallo Nominas,

Zitat:Aber das bringt mich noch nicht wirklich weiter...
Entweder ich verstehe irgendwas nicht oder ich habe die Problematik nicht gut genug erklärt.
Was ich vorgeschlagen habe, läuft auf das hier hinaus: trenne die Verwaltung der Daten von der Anzeige auf dem Frontpanel!

Damit erreichst du:
- du kannst schnell genug Daten vom seriellen Port lesen
- du kannst die Daten auswerten und in einem Array zwischenspeichern: da dies NICHT auf dem Frontpanel angezeigt wird, ist das auch sehr schnell
- für die eigentliche Anzeige liest du "immer mal wieder" (z.B. 5mal die Sekunde) diesen Zwischenspeicher aus und aktualisierst die Anzeige entsprechend - in einer entkoppelten/parallelen Schleife...

Noch ein Tipp:
Nicht immer muss die Art, wie man Daten zwischenspeichert, exakt die gleiche sein, wie man diese Daten dann auf dem FP darstellt. Auch hier hat man die Möglichkeit, sich jeweils "optimale" Datenstrukturen zu überlegen: siehe meinen Vorschlag zu einem 2D-Array of Cluster of [String, Farbe(n)]…

Zitat:- Man muss diese Tabelle nehmen, denn die Befehle können an beliebige Koordinaten springen. Z.B. bei den Messwerten. Bei einem 2D-Array habe ich nicht die Formatierung einzelner Zellen.
- Man muss die Anzeige-Texte Zeichen für Zeichen interpretieren, denn bei CR oder LF muss kein Zeichen dargestellt, sondern die aktuelle Koordinate geändert werden
- Man muss sich merken, welche Formatierungs- oder Anzeige-Vorgaben gerade gelten, denn die können beim nächsten Mal an derselben Stelle anders sein
Ich hoffe, mein Ansatz ist jetzt klarer: der Zwischenpuffer nimmt alle diese Angaben entgegen (Text,Farben).
Über die Indizes der Elemente im 2D-Array kannst du sehr einfach die Koordinaten abbilden.
Und nochmal: dieser Zwischenbuffer (Array of…) ist NICHT die Anzeige auf dem FP!

Zitat:>> Wenn ich das Lesen des Ports und die Auswertung in zwei Schleifen mit Queue aufteile ist die Auswertung doch immer noch zu langsam, nur dass sich die Strings in der Queue sammeln
Das ist sehr wahrscheinlich nur deshalb zu langsam, weil du jedesmal die Tabelle neu zeichnen willst - was einfach Irrsinn ist!
Niemand ist in der Lage, mit mehr als 24Hz Bilder wahrzunehmen - und Text in einer Daten-Tabelle sinnvoll zu erfassen, benötigt mehr Zeit als das "Ansehen" von Bildern eines Kinofilms…

Zitat:>> Zu den beiden Punkten: Ich bin der Meinung, dass LabVIEW bei jedem Tunnel erstmal eine Kopie der Daten macht. Ist dieser Gedanke schon falsch?
Ja.

Zitat:>> Ich muss ja aus dem String, der evtl. nach einem Befehl kommt ein Array machen, siehe oben. Daher verstehe ich diese Anmerkung nicht...
Schau mal hier:
   
Die Stringkonstante finde ich einfacher als eine U8-Konstante mit zwei weiteren Funktionen, um exakt den gleichen Wert zu erzeugen…
(Macht dein VI nicht schneller, aber mMn besser lesbar.)

Sowas hier ist ist auch sehr ineffizient:
   
Wenn nach einer Formatierung noch 20 Zeichen Text kommen, dann wird dieser Text Zeichen für Zeichen einzeln in die Tabelle eingetragen - und die Tabelle für jedes Zeichen einem Update unterzogen!
Warum schickst du den Text nicht mit einmal in die passende Position in der Tabelle!?

Deshalb nochmal mein Vorschlag: trenne die Auswertung und (Zwischen-)Speicherung der Daten von der Darstellung auf dem FP!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
RE: Verarbeiten von ESC-Sequenzen (VT100) - GerdW - 13.12.2022 20:18

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Daten verarbeiten von RS232 über USB vitjee 1 5.249 18.01.2012 07:56
Letzter Beitrag: GerdW
  Messdaten seriell einlesen, verarbeiten und speichern Ma--Mut 2 9.592 24.07.2009 12:21
Letzter Beitrag: Ma--Mut
  Serielle Komunikation mit µC (VT100) zirni13 5 14.654 24.05.2007 13:55
Letzter Beitrag: IchSelbst
  Einlesen RS232 und Daten verarbeiten Christian18 6 7.416 02.03.2007 11:00
Letzter Beitrag: Christian18
  mehrere Daten von serieller Schnittstelle verarbeiten theodrin 2 3.999 22.05.2006 17:31
Letzter Beitrag: theodrin

Gehe zu: