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 

Grundkonzept einer Datenerfassung/Auswertung



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!

02.10.2009, 13:43
Beitrag #12

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Grundkonzept einer Datenerfassung/Auswertung
' schrieb:Wenn ich ein Array mit maximaler Größe vor der While-Schleife initialisiere, dann macht es doch keinen Sinn einen Ringpuffer zu verwenden. Der Speicher ist jetzt eh belegt und es wäre doch dann unnötig die CPU ständig damit zu belasten, Teile zu löschen... Oder mache ich jetzt einen Denkfehler?
Jein. Das kommt darauf an.
Ist deine (3-Minuten-)Messung spätestens dann beendet, wenn das Array voll ist, dann brauchst du keinen Ringpuffer. Bei der nächsten Messung würde das Array ja wieder von vorne beginnend aufgefüllt werden.
Willst du aber einen Ringpuffer als solchen haben, hat das an sich nichts mit dem Array-Initialisieren als solchem zu tun. Für den Ringpuffer brauchst du auch ein initialisiertes Array. Der Ringpuffer ist ja nur dazu da, um bei einer (un-)endlich lang dauernden Messung nur z.B. die letzten 3 Minuten zu speichern.
Weder bei der Ringpuffermethode, noch bei der ohne, werden Teile gelöscht - zumindest nicht explizit. Bei jeder dieser Methoden werden lediglich Daten überschrieben und ein Lese- und ein Schreibzeiger angepasst. Genau dieses Überschreiben (Replace) ist ja Ziel der Übung.

Zitat:(Für die Grafanzeige reicht es doch mittels dem LV-Befehl "Teilarray" nur einen bestimmten Teil anzuzeigen...)
Das ist in einfacher Weise richtig für einen linearen Puffer: Methode ohne Ringpuffer. Weil bei dieser Methode der Beginn der Daten immer am Array-Anfang liegt.
Bei einem Ringpuffer liegt aber der Anfang der Daten beliebig im Array. Nämlich an der Lese-Position (die zuerst Null ist und bei vollem Ringpuffer mit der nächsten Schreibposition identisch ist). Weiterer Unterschied: Die Anzahl der Daten. Bei ohne Ringpuffer ist das immer die Länge des Arrays. Bei mit Ringpuffer muss die Differenz zwischen Lese- und Schreibposition beachtet werden.

Zitat:Und dann habe ich mich jetzt doch direkt mal mit dem kleineren Datentyp befasst.
Genau, du hast dich damit befasst. So ist es ja vorgesehen - dich damit zu befassen, was noch nichts über das Ergebnis aussagt.
Es muss natürlich zuerst der Messbereich festgelegt werden. Wenn der von 0 bis 400 Bar (also ohne Nachkommastellen) geht kann man U16 nehmen. Bei -120 bis 1500 Grad Celsiun (auch ohne Nachkommastellen) muss man schon auf I16 umsteigen. Bei +- 0,001 bis 999,999 mm (also Auflösung 1µ auf 1m) kann man mit 1000 multiplizieren, in µm rechnen und I32 verwenden. I32 ist immer doch besser als DBL. Wenn du eine Frequenz auf 12 Stellen genau messen willst, bist du dann doch wieder bei 64Bit (I64 oder DBL).
Hinweis:
Die Methode mit der Scalierung (mm => µm) und der Verwendung von Integer anstelle von DBL/SGL war früher mal interessant wegen des Geschwindigkeitsvorteiles von INT gegenüber DBL. Jetzt ist glaub ich auch DBL sehr schnell.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
Grundkonzept einer Datenerfassung/Auswertung - IchSelbst - 02.10.2009 13:43

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
Question Auswertung von Schwellwerten / Aufzeichnung in TDMS ZwergNase 3 3.414 12.08.2019 19:57
Letzter Beitrag: GerdW
  Datenerfassung mit einer zeitgesteuerten Schleife DM_94 16 9.537 25.07.2018 10:20
Letzter Beitrag: DM_94
  Auswertung Drehgeber mit NI 9401 BenutzernameNO 6 6.132 29.08.2016 13:25
Letzter Beitrag: GerdW
  Datenerfassung cDAQ + NI9203 keine synchrone Datenerfassung dieseldunst 5 6.089 24.06.2016 14:49
Letzter Beitrag: jg
  Datenerfassung und Auswertung Rajesh 9 7.431 09.06.2015 07:40
Letzter Beitrag: wladimir s
  Laufzeitprobleme; Auswertung Lifter 7 5.556 27.11.2013 21:33
Letzter Beitrag: jg

Gehe zu: