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 

Messdaten seriell einlesen, verarbeiten und speichern



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!

24.07.2009, 06:50
Beitrag #1

Ma--Mut Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Jul 2009

8.6
-
de

74343
Deutschland
Messdaten seriell einlesen, verarbeiten und speichern
Guten Morgen,

ich möchte Daten über die serielle Schnittstelle (Rs232) einlesen, diese verarbeiten und anschließen in ein Textfile abspeichern.
Die Daten kommen in dem Format an: 123,321_456,654

T-Daten:
I/O: COM3
Baud rate: 115200
Data bits: 8
Stop bit: 1
Input buffer size: 4096


Folgende Probleme habe ich:
1. Erster Programmstart geht nicht immer, erst nach ein paar Versuchen. Fehlermeldung die dabei auftritt ist irgendwas mit Speicherüberlauf. Wenn das Programm einmal läuft und man es beendet kann man es so gut wie ohne Probleme wieder starten.
2. Programm bringt nach einigen Stunden Laufzeit die Fehlermeldung: "VISA: (Hex 0xBFFF006C) Während der Übertragung ist ein Überlauffehler aufgetreten. Ein Zeichen wurde von der Hardware nicht gelesen, bevor das nächste Zeichen ankam."
2. Zu jedem Wert möchte ich eine Differenzzeit ausgeben, die sich eigentlich unterscheiden müsste, es nach dem Textfile aber nicht tut.

Könnt ihr mir bei meinen Problemen helfen?

Grüße
Ma--Mut

Folgendes Programm habe ich hierfür erstellt:

Sonstige .vi  Serial_Read_2_1.vi (Größe: 45,57 KB / Downloads: 507)

und das Textfile wird damit erzeugt:

Sonstige .txt  TextFile_2.txt (Größe: 1,51 MB / Downloads: 437)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
24.07.2009, 10:14
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Messdaten seriell einlesen, verarbeiten und speichern
Deine Infos sind etwas unvollständig.

Dein VI enthält nur VISA-Read, irgendeine Gegenstelle (welche?) muss also was senden. Sendet die immer, auch wenn dein Programm nicht läuft? Dann ist wahrscheinlich der Serial-Buffer schon voll, wenn du dein Programm schon startest, deshalb Speicherüberlauf. Vielleicht hilft es, nach Configure Serial Port erst einmal den Puffer zu leeren.

Wenn dein Programm dann später Speicherüberlauf anzeigt, dann liest du offenbar nicht schnell genug die Daten ein, die an der seriellen Schnittstelle anliegen. Lass dir doch die Bytes am seriellen Buffer zwecks Debugging am FP anzeigen:
   

Gruß, 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!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.07.2009, 12:21 (Dieser Beitrag wurde zuletzt bearbeitet: 10.08.2009 12:41 von Dennis.Moser.)
Beitrag #3

Ma--Mut Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Jul 2009

8.6
-
de

74343
Deutschland
Messdaten seriell einlesen, verarbeiten und speichern
Ich gebe über einen µController seriell meine Daten aus.
Habe mein Code jetzt so geändert, dass ich in LV eine 1 an den µC senden muss und er mir erst darauf hin die Daten sendet. --> Rahmensynchronisationsfehler tritt nicht mehr auf!

Allgemein habe ich eben mal die Festplatte bereinigt, da nur 200 Mb noch frei waren. Jetzt läuft das VI mit deutlich weniger Prozessorauslastung und anscheinend stabiler.

Leider habe ich noch immer das Problem, dass sich die Zeitwerte (Differenzzeit im Textfile) sich nicht schnell genug ändern, um jedem Messwert eine eindeutige Zeit zuzuordnen.
Habt ihr eine Idee woran das liegt?

Füge eben mein VI (für LV Version 8.6) :lv86noch mal in der geänderten Version an, vllt habt ihr noch Optimierungsvorschläge - egal in welche Richtung.

Sonstige .vi  Serial_Read_2_4.vi (Größe: 50,24 KB / Downloads: 523)


Ich gebe mir auch die Byteanzahl im FP aus, einmal vor und nach Visa read.
Bytes to read: 52
Actual bytes read: 17
Nach Visa read: 35

Grüße und Danke
Ma--Mut
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Verarbeiten von ESC-Sequenzen (VT100) Nominas 20 10.540 13.01.2023 09:50
Letzter Beitrag: Nominas
  Seriell eingelesene Daten konvertieren -cosmo- 13 11.671 17.03.2017 16:36
Letzter Beitrag: jg
  VISA write Seriell el1-rh 12 81.816 17.12.2014 09:32
Letzter Beitrag: GerdW
  Zeitversetze Werte seriell an Relaisbox übermitteln sawtj194 5 6.358 28.09.2012 08:19
Letzter Beitrag: Lucki
  Daten verarbeiten von RS232 über USB vitjee 1 5.415 18.01.2012 07:56
Letzter Beitrag: GerdW
  Probleme mit Lindy USB - Seriell Konverter lg 4 6.824 22.11.2011 13:34
Letzter Beitrag: Lucki

Gehe zu: