RS232 einlesen und all x - Sek. im Graphen aktualisisieren

VISA, TCP/IP, CAN und ähnliche Protokolle
Ответить
Remulus
interested
interested
Сообщения: 7
Зарегистрирован: 16 июл 2008, 14:47
Версия LabVIEW: 8.0
Откуда: Ellwangen
Контактная информация:

RS232 einlesen und all x - Sek. im Graphen aktualisisieren

Сообщение Remulus »

Hallo ich habe folgendes .vi gemacht um daten über eine RS 232 Schnittstelle auszulesen. Sende den String und erhalte auch die Daten wandle ihn um damit er für mein Signalverlaufsdiagramm sichtbar ist. Es wird dann der Zahlenwert auf dem Diagramm dargestellt.

Nun zu meinem Problem ich würde das ganze gerne über einen signalverlaufsgraph laufen lassen und alle x sekunden soll sich das diagramm aktualisieren. Es wird ein Höhenprofil gemessen und es dauert ~ 10 - 30 sek bis der messkopf die Breite der Bahn abgefahren hat dewegen auch immer am Bahnende aktualisieren. Wie mach ich das nur? Es wurde schon ein nettes Beispiel gepostet (/viewtopic.php?f=21&t=114)
aber das ist mit nem XY graph damit komm ich gar nicht zurecht. Aber der post ist genau das was ich mir vorstelle aber leider bin ich wohl zu blöd das in mein vi. zu integireren.

Kann mir bitte jemand helfen?

Achso LabView Version 8.0
Вложения
Höhenmessung 14.07.08.vi
(38.35 КБ) 832 скачивания
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: RS232 einlesen und all x - Sek. im Graphen aktualisisieren

Сообщение Eugen Graf »

Ok, das sieht schon gar nicht so schlecht aus. Nun würde ich noch das Lesen des Ports ein wenig verbessern.

Was gefällt dir eigentlich nicht am Signalverlaufsdiagramm? Macht es nicht das was du willst?

Oder kommen die Zeilen viel zu schnell und du willst nicht mit jeder neuen Zeile deine Grafik updaten?
Remulus
interested
interested
Сообщения: 7
Зарегистрирован: 16 июл 2008, 14:47
Версия LabVIEW: 8.0
Откуда: Ellwangen
Контактная информация:

Re: RS232 einlesen und all x - Sek. im Graphen aktualisisieren

Сообщение Remulus »

Danke für die schnelle Antwort. Nun was gefällt Dir denn beim auslesen nicht so? Also das String auslesen wird später noch weggemacht und gegen die Konstante getauscht das diente nur für mich zum visualisieren des strings damit ich wusste wie ich ihn zerlegen muss um meinen Zahlenwert zu erhalten.

Das Signalverlaufsdiagramm macht eigentlich schon das richtige aber ich möchte es halt gerne so haben das ich über eine Zeitvorgabe und / oder Taster das Diagramm erst aktualisiert. Also wie in in deinem Beispiel zB alle 10sek wird das Graph aktualisiert nur bekomm ich das irgendwie nicht hin.
Die "alten" Daten / Kurve soll solange auf dem Diagramm bleiben bis ich ne Taste drück oder nach einer Zeitvorgabe die nächsten Daten Kurve dargestellt wird. So wie es im MOment ist läuft mir die Messung in der X- Aschse ja weg und ich möchte eigentlich eine Schnittdarstellung von dem Höhenprofil dargestellt haben. Lösbar mit Array und Signalverlausgraph? Nur bin ich Anfänger und bräuchte halt Unterstüzung wie man sowas realisiert an meinem Beispiel.

Im Anhang hab ich mal den Versuchsaubau skizziert.

Wenn mir jemand zeigen könnte wie man sowas löst wäre ich sehr dankbar.
Вложения
Die Messkurven sollen immer nach x.pdf
(8.99 КБ) 437 скачиваний
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: RS232 einlesen und all x - Sek. im Graphen aktualisisieren

Сообщение Eugen Graf »

Also es gibt drei Arten der Signaldarstellung auf dem Graphen:

Chart - puffert Daten (ob Messpunkte oder Messarray) selbst (ist für Anfänger, die nicht viel programmieren wollen und keine besonderen Anforderungen an die Dartellung stellen)
Waveform Graph - zeigt momentanes Messarray als Waveform (arbeitet schneller als Chart, puffert keine Daten und funktioniert ganz gut mit Express VIs, die Waveform ausgeben)
XY Plot - Dartstellung zweier Arrays - Y über X (gewöhnlich für alle normalen Programmierer und sehr flexibel)

Ich empfehle immer den XY Plot, denn damit kann man alles darstellen. Z.b. ein Kreis kannst du NUR mit XY Plot darstellen, andere würden beim Kreis nicht mitmachen. Dafür muss man aber mehr Programmieraufwand aufbringen.

Für den XY Plot musst du die Arrays selbst puffern! Am besten macht man es mit Schieberegister, so wie in meinem Beispiel.

Nun zu meinem Beispiel. Um es bei dir anzuwenden, kannst du es auch abspecken. Ich habe dort zwei parallele Schleifen benutzt um die Erfassung von der Darstellug abzutrennen. Es muss nicht unbedingt sein. Du kannst auch beide Schleifen vereinigen.

An welcher Stelle ist es dir unklar was du machen musst um mein Beispiel bei dir anzuwenden?

Du kannst die obere Schleife komplett entfernen und die untere anpassen. Das erste Element in der unteren Schleife (Queue lesen) musst du mit VISA Lesen ersetzen! So dass die Datenquelle deine serielle Schnittstelle sein wird.
Remulus
interested
interested
Сообщения: 7
Зарегистрирован: 16 июл 2008, 14:47
Версия LabVIEW: 8.0
Откуда: Ellwangen
Контактная информация:

Re: RS232 einlesen und all x - Sek. im Graphen aktualisisieren

Сообщение Remulus »

Hm also irgendwie bekomm ich das nicht hin hab im Anhang mal mein .vi gepostet mit deinem Teil verwurzelt aber ich bekomm keine Daten auf dem 2. Graphen. Bin mit meinem Latein echt am Ende

Denke ich habs schon richtig angeschlossen oder überseh ich da was grundlegendes?
Вложения
Höhenmessung 17.07.08.vi
(97.81 КБ) 355 скачиваний
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: RS232 einlesen und all x - Sek. im Graphen aktualisisieren

Сообщение Eugen Graf »

Ne, also das was du gemacht hast ist definitiv nicht in Ordnung!

Ich mache dir später ein Beispiel. Die innere Schleife muss auf jeden Fall weg und deren Inhalt muss in die Case-Struktur. Die ganzen Schieberegister müssen an der äusseren Schleife platziert werden.

Gruß
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: RS232 einlesen und all x - Sek. im Graphen aktualisisieren

Сообщение Eugen Graf »

So wie ich es verstanden habe musst du den Messwert immer anfordern? Oder?
Remulus
interested
interested
Сообщения: 7
Зарегистрирован: 16 июл 2008, 14:47
Версия LabVIEW: 8.0
Откуда: Ellwangen
Контактная информация:

Re: RS232 einlesen und all x - Sek. im Graphen aktualisisieren

Сообщение Remulus »

Ja genau ich schicke deshalb den String in einer While Schleife rüber damit ich immer kontinuierlich Messdaten erhalte.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: RS232 einlesen und all x - Sek. im Graphen aktualisisieren

Сообщение Eugen Graf »

Ok, hier das was ich gemeint habe.

Wäre noch ganz gut, wenn du deine LabVIEW Version in dein Forum-Profil eintragen würdest.

Gruß
Вложения
Höhenmessung 17.07.08.vi
LV 8.5
(93.14 КБ) 398 скачиваний
Remulus
interested
interested
Сообщения: 7
Зарегистрирован: 16 июл 2008, 14:47
Версия LabVIEW: 8.0
Откуда: Ellwangen
Контактная информация:

Re: RS232 einlesen und all x - Sek. im Graphen aktualisisieren

Сообщение Remulus »

Oh stimmt aktualisier ich gleich. Achso ich hab Lab View Version 8.0 Studentenversion . Kann deinen Dateianhang leider nicht öffnen. Kannst Du das bitte abwärtskompatibel machen?
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: RS232 einlesen und all x - Sek. im Graphen aktualisisieren

Сообщение Eugen Graf »

Ok, hier für 8.0
Вложения
Höhenmessung 17.07.08.vi
LV 8.0
(98.38 КБ) 380 скачиваний
Remulus
interested
interested
Сообщения: 7
Зарегистрирован: 16 июл 2008, 14:47
Версия LabVIEW: 8.0
Откуда: Ellwangen
Контактная информация:

Re: RS232 einlesen und all x - Sek. im Graphen aktualisisieren

Сообщение Remulus »

Super Sache nur läuft die Messung aber jetzt sehr langsam. Kann ich das irgendwo beschleunigen? Im Moment macht er pro Sekunde eine MEssung das is zu wenig brauch eine höhere Auflösung (mehr Messungen pro Sekunde). Hatte zuvor 50 werte / sek.

Irgendwie wird das ganze jetzt gebremst.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: RS232 einlesen und all x - Sek. im Graphen aktualisisieren

Сообщение Eugen Graf »

Du sollst bei der Konfiguration den richtigen Termination Char einstellen. Wie ich sehe endet dein Antwortstring mit "\r", bei der Konfiguration ist aber "\n" eingestellt. Wenn du das geändert hast, soll es viel schneller als 50 Messungen laufen.
Remulus
interested
interested
Сообщения: 7
Зарегистрирован: 16 июл 2008, 14:47
Версия LabVIEW: 8.0
Откуда: Ellwangen
Контактная информация:

Re: RS232 einlesen und all x - Sek. im Graphen aktualisisieren

Сообщение Remulus »

Ok das funzzt super Sache nun.

Hätte da aber noch eine Frage.

Wie stelle ich es am besten an das zB. nur 500 Messpunkte auf dem Diagramm dargestellt wird. Also 500 Messungen machen => auf Diagram den Kurverlauf darstellen. Im Hintergrund läuft die Messung weiter wenn wieder 500 Messwerte erreicht dann Diagramm löschen und die neuen Werte darstellen. Dann wieder dargestellt lassen im Hinterrund laufen die Messungen bis 500 Messungen erreicht dann wieder Diagramm aktualisieren mit den im Hintergrund aufgenommenen Messwerten usw.

Wer kann mir hierzu nen Tip geben welche Tools sowas machen bzw. wie man sowas am einfachsten einbindet? Wäre sowas mit einer " FOr Schleife" möglich ? Und was dann ncoh?
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: RS232 einlesen und all x - Sek. im Graphen aktualisisieren

Сообщение Eugen Graf »

Remulus писал(а):Ok das funzzt super Sache nun.

Hätte da aber noch eine Frage.

Wie stelle ich es am besten an das zB. nur 500 Messpunkte auf dem Diagramm dargestellt wird. Also 500 Messungen machen => auf Diagram den Kurverlauf darstellen. Im Hintergrund läuft die Messung weiter wenn wieder 500 Messwerte erreicht dann Diagramm löschen und die neuen Werte darstellen. Dann wieder dargestellt lassen im Hinterrund laufen die Messungen bis 500 Messungen erreicht dann wieder Diagramm aktualisieren mit den im Hintergrund aufgenommenen Messwerten usw.

Wer kann mir hierzu nen Tip geben welche Tools sowas machen bzw. wie man sowas am einfachsten einbindet? Wäre sowas mit einer " FOr Schleife" möglich ? Und was dann ncoh?

Dann ist es eigentlich noch einfacher.
Вложения
Höhenmessung 17.07.08.vi
(95.07 КБ) 608 скачиваний
Ответить

Вернуться в «Kommunikation mit Geräten»