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 

Kontinuierliche Daten erfassen und jeden Wert sofot verarbeiten



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!

04.01.2011, 19:12
Beitrag #21

JackBlack Offline
LVF-Grünschnabel
*


Beiträge: 33
Registriert seit: Sep 2010

Studenten Version 8.5 und LV2009
2010
de_en

74xxx
Deutschland
Kontinuierliche Daten erfassen und jeden Wert sofot verarbeiten
Hallo zusammen

Erst mal Danke an euch beide für die rasche Antwort

Wir haben das Vi nun mit Kommentaren versehen, die Flip Flops als Reetrent SubVis umgewandelt und auch die Cluster-Typdef angewand. Die Übersichtlichkeit ist nun um einiges besser geworden.

Den Tip mit der State Maschine haben wir noch nicht umgesetzt, da wir uns noch nicht schlüssig sind in wo diese Umstrukturierng in unserem Programm anwendbarist.

Die Warten Funktion haben wir aus Unwissenheit einfach aus einem Beispiel übernommen und seitdem verwendet. Uns war die Auswirkung nicht ganz klar, jedoch haben wir auf Grund der Aussage von JensG aus unserem Projekt entfernt.

Zitat:Wobei, Moment, die 250 Hz können aktuell gar nicht erreicht werden, da in 2 SubVIs ein Wait von 20 ms drin ist, hoppla, damit wird das Ganze auf 50 Hz gebremst...

Im aktuellen sind weder Warten noch Warten bis zum nächsten Vielfachen enthalten.

Dies macht keinen Sinn, da nach unserm Verständnis diese Funktionen dazu dienen Schleifen mit anderen Teilen des Programms zu synchonisieren (immer Warten bis einen Zeit abgelaufen ist bevor der nächste Teil abgearbeitet wird). Liegen wir mit der Vermutung richtig??

Die Interpretation ist soweit richtig, ich habe nun ein Timing Diagramm der Messung angehängt (dieses ist händisch gezeichnet da der Prüfling außer Betrieb ist). Hoffe man kann es nun besser verstehen.

Grob gesagt wir haben 2 Bedingungen mit der unser Messvorgang startet: Einmal wenn die Spannung unter einen einstellbaren Wert fällt (Analogtrigger) oder wenn die Pneumatik ein digitales Signal liefert (Digitaltrigger).
Nach eintrete einer dieser Bedingung vergeht eine eingestellte Zeit (bei Analogtrigger nur die Zeit in der der Taster prellt; bei Digital eine Zeit in der der Metallstift einen Weg zurücklegt bis er den Taster betätigt + die Zeit in der der Taster prellt) danach beginnt die Messung. Hier werden nun "alle" Werte erfasst und ausgewertet. Dies geschiet über das MinMax Array welches pro Sample einen MinMax Wert liefert dieser wird mit einen eingestellten Wert verglichen und entweder in Excel geschrieben oder nicht. Bei nicht betätigten Taster läuft einfach eine längerzeit ab (die aber auch mit der bereits erwähnten Bedingung startet) und verfährt nach dem selben Verfahren. Ein zusätzlicher Zähler zählt die Betätigungen.

Ich hoffe es wird nun verständlicher was unser Programm machen soll. Das hochgeladen Haupt Vi soll später über 8 Taster mit jeweils 2 solchen Messungen verfügen.

Das überarbeitet Haupt Vi hab ich mal hochgeladen inklusive der SubVis die dazu benötigt werden. Falls jemand bei durcheschauen noch etwas festsellt was wir umstrukturiern könnten bitte bescheid geben.

LabView 2009

MfG JackBlack


Angehängte Datei(en) Thumbnail(s)
   

Sonstige .rar  2011_01_04_Projektarbeit_FF_SubVi.rar (Größe: 292,58 KB / Downloads: 209)

Rechtschreibfehler sind Eigentum des Verfassers
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
04.01.2011, 20:57 (Dieser Beitrag wurde zuletzt bearbeitet: 04.01.2011 21:18 von GerdW.)
Beitrag #22

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Kontinuierliche Daten erfassen und jeden Wert sofot verarbeiten
Hallo Jack,

ihr habt nur Erfahrung mit text-basierter Programmierung, oder?
Mal ein Vorschlag, wie man "Min_No.vi" auch programmieren könnte:
   

Das gilt für die ganzen anderen Min/Max-VIs gleichermaßen... (Verzicht auf lokale Variablen, Nutzung vorhandener LV-Funktionen, keine die Übersichtlichkeit behindernden Strukturen)

Ein RS-FF kann man auch so abbilden:
   
Da LabVIEW eine Programmiersprache und kein Leiterplatten-Planungsprogramm ist, muss man sich nicht sklavisch an Schaltpläne halten - man kann stattdessen die Funktionalität umsetzen...

Zell-Bezeichnungen für Excel geht auch ohne Schleifen:
   

- Wieso schreibt ihr erst in das Terminal eines Indicators und gleich daneben nochmal in eine lokale Variable desselben Indicators? (Zeilenindex, Zähler in Stufe1.vi)
- Ein paar subVIs fehlen immer noch...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.01.2011, 22:14
Beitrag #23

Richard Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 70
Registriert seit: Jun 2009

8.6,9.0,9.1,10.0,11.0
2008
DE_EN

80797
Deutschland
Kontinuierliche Daten erfassen und jeden Wert sofot verarbeiten
Schließe mich Gerd voll und ganz an.

Zusätzlich könnt ihr noch die Express-Verstrichene-Zeit durch einen kleinen Codeblock ersetzen:
   

Dann Spart ihr euch den ganzen Express-zusatz Code, den ihr nicht braucht.

Siehe:    

Gruß Richard

Murphy was an optimist
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.01.2011, 23:29
Beitrag #24

unicorn Offline
LVF-Freak
****


Beiträge: 680
Registriert seit: Jul 2009

8.6.1, 2010 - 2012
1994
EN

10xxx
Deutschland
Kontinuierliche Daten erfassen und jeden Wert sofot verarbeiten
Soweit ich es verstanden habe soll der maximale Kontaktwiderstand eines Tasters in einem bestimmten Zeitfenster ermittelt werden. Dazu würde ich die Datenerfassung aller zu messenden Größen ggf. mit einem Pretrigger mit dem Tastersignal (analog) starten. Die Anzahl der Samples sollte den kompletten Tastendruck umfassen. Wenn die Samples erfasst sind, würde ich sie auswerten.

In dem Programm soll, so weit ich es aus dem Thread verstanden habe, dagegen die Messung erst nach Eintreten einer bestimmten Bedingung gestartet werden. Das halte ich für zu kompliziert und unter Windows nicht für richtig zuverlässig.

Ich hoffe, ich liege mit meinem Kommentar nicht völlig daneben.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.01.2011, 12:16
Beitrag #25

JackBlack Offline
LVF-Grünschnabel
*


Beiträge: 33
Registriert seit: Sep 2010

Studenten Version 8.5 und LV2009
2010
de_en

74xxx
Deutschland
Kontinuierliche Daten erfassen und jeden Wert sofot verarbeiten
Hallo zusammen

Erst mal Danke für die schnellen und zahlreichen Antworten


Zitat:ihr habt nur Erfahrung mit text-basierter Programmierung, oder?

Das ist richtig wir haben bisher nur Erfahrung mit VBA


Wir haben im neuen Haupt Vi wie vorgeschlagen die Änderungen an der Vergleichslogik, den Flip Flops und Zellenbezeichnung vorgenommen. Diesen Vis haben wir die Eigenschaft "Reentrant" zugewiesen.


Zitat:- Ein paar subVIs fehlen immer noch...
Ich vermute das sich die Aussage auf die "Open Sheet" und "Open Book" Vis bezogen sind. Diese haben wir nun auch mit hochgeladen.

Zitat:- Wieso schreibt ihr erst in das Terminal eines Indicators und gleich daneben nochmal in eine lokale Variable desselben Indicators? (Zeilenindex, Zähler in Stufe1.vi)
Wir haben das Stufe1 Vi nach unserm Verständniss geändert (Verbindung Indicator gelöscht).
Oder bezog sich die Anmerkung auf die Funktion der beiden Zähler?
Da der Zählerstand unabhängig vom Zeilenindex sein sollte, soll der Zählerstand dauerhaft hochgezählt werden wenn die Taste betätigt wird. Der Zeilenindex sollte sich nur erhöhen wenn ein Wert außerhalb des Grenzwertes ist, somit wird er für das Protokoll benötigt und der Zeilenindex muss sich erhöhen. Deshalb haben wir zwei indentische Zähler (Zellenindex, Zähler).

Die Ansteuerung des Zeilenindexes ist noch nicht korrekt.

Zitat:Zusätzlich könnt ihr noch die Express-Verstrichene-Zeit durch einen kleinen Codeblock ersetzen:
Müssen wir noch umbauen und testen, Danke für den Tipp.


Zitat:In dem Programm soll, so weit ich es aus dem Thread verstanden habe, dagegen die Messung erst nach Eintreten einer bestimmten Bedingung gestartet werden. Das halte ich für zu kompliziert und unter Windows nicht für richtig zuverlässig.

Die Messung kann bei uns von zwei Bedingugen ausgelöst werden:
- Digital Trigger ( Steuersiganl für die Ventile)
- Analog Trigger ( Nach unterschreiten einer gewissen Spannung)

zwischen diesen beiden Trigger Möglichkeiten kann gewählt werden. Dies sind für uns die einzigst ersichtlichen Möglichenkeiten
um den Trigger zu starten.

Was meinst du eigentlich mit dem Pretrigger, ist die eine Software oder Hardware Lösung?

Wir haben wieder alles zusammengestellt und hochgeladen.

LabView 2009

MfG JackBlack


Angehängte Datei(en)
Sonstige .rar  2011_01_05_SubVi_Reentrant.rar (Größe: 233,77 KB / Downloads: 172)

Rechtschreibfehler sind Eigentum des Verfassers
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.01.2011, 12:46 (Dieser Beitrag wurde zuletzt bearbeitet: 07.01.2011 12:47 von GerdW.)
Beitrag #26

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Kontinuierliche Daten erfassen und jeden Wert sofot verarbeiten
Hallo Jack,

Zitat:Wir haben das Stufe1 Vi nach unserm Verständniss geändert (Verbindung Indicator gelöscht).
Genau falsch rum... Den Indicator verbunden lassen und die (unnötige) lokale Variable löschen.
Wozu wollt(et) ihr überhaupt zweimal einen Wert dem gleichen Indicator zuweisen (per lokaler Variable und per Terminal)? Einmal zuweisen reicht - und da ist das Terminal immer die bessere Wahl!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
17.01.2011, 18:39
Beitrag #27

JackBlack Offline
LVF-Grünschnabel
*


Beiträge: 33
Registriert seit: Sep 2010

Studenten Version 8.5 und LV2009
2010
de_en

74xxx
Deutschland
Kontinuierliche Daten erfassen und jeden Wert sofot verarbeiten
Hallo zusammen


Zitat:Genau falsch rum... Den Indicator verbunden lassen und die (unnötige) lokale Variable löschen.
Wozu wollt(et) ihr überhaupt zweimal einen Wert dem gleichen Indicator zuweisen (per lokaler Variable und per Terminal)? Einmal zuweisen reicht - und da ist das Terminal immer die bessere Wahl!

Ok dan haben wirs es falsche verstanden. Haben es nun nochmal umgeändert und die lokale variable entfernt.

Zitat:Soweit ich es verstanden habe soll der maximale Kontaktwiderstand eines Tasters in einem bestimmten Zeitfenster ermittelt werden. Dazu würde ich die Datenerfassung aller zu messenden Größen ggf. mit einem Pretrigger mit dem Tastersignal (analog) starten. Die Anzahl der Samples sollte den kompletten Tastendruck umfassen. Wenn die Samples erfasst sind, würde ich sie auswerten

Da wir in unerem Programm nicht die Werte verarbeiten müssen die vor dem Eintreten des Trigger aufgezeichnet werden, hab wir uns gedacht auf einen Pretrigger verzichten können. Die Anahme bezieht sich auf die Infromation im Labview zum Thema Referenz Trigger.

Ist unsere Anahme richtig?


LabView 2009

MfG JackBlack


Angehängte Datei(en)
Sonstige .rar  2011_01_13_Projektarbeit.rar (Größe: 189,05 KB / Downloads: 190)

Rechtschreibfehler sind Eigentum des Verfassers
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.01.2011, 19:47
Beitrag #28

JackBlack Offline
LVF-Grünschnabel
*


Beiträge: 33
Registriert seit: Sep 2010

Studenten Version 8.5 und LV2009
2010
de_en

74xxx
Deutschland
Kontinuierliche Daten erfassen und jeden Wert sofot verarbeiten
Hallo zusammen

Wir haben nun unser Programm das für einen Taster mit 2 Stufen funktioniert, für die andern 7 Taster dupliziert.

Beim Testlauf mit dem Signalsimulation ist uns aufgefallen das die Werte nicht mehr richtig eingetragen werden. Wir benutzten zu dem 8 verschiedene Tabellen in Excel, in die wir im schlimmsten Falle gleichzeitig schreiben müssen.

Zusätzlich ist uns aufgefallen das die CPU Auslastung der PCs durch Excel und Labview bei ca. 70% liegt.
Liegen wir richtig mit der Annahme das, das schreiben so Ressourcen belastend ist .Das es zu diesen Fehlern kommt??

Um das Problem zu lösen haben wir uns vorgestellt die Werte anstatt direkt in Excel erst in ein Array zu sichern und nach Beendigung der Messung erst in Excel zu übertragen.

Sind wir mit unserer Theorie auf der richtigen Spur?? Wenn ja wie kann man dies realisieren.

Oder falls noch jemand einen andere Möglichkeit sieht wie wir dieses Problem bewältigen können.

Unser Projekt haben wir wieder mit hochgeladen, wir sind über jeder konstruktive Kritik dankbar!!

LabView 2009

MfG JackBlack


Angehängte Datei(en)
Sonstige .rar  2011_01_26_Projektarbeit_8_Fach.rar (Größe: 239,4 KB / Downloads: 198)

Rechtschreibfehler sind Eigentum des Verfassers
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  CANopen Daten erfassen Titus85 2 4.042 24.04.2021 06:44
Letzter Beitrag: Titus85
  Delay für kontinuierliche Datenerfassung zwingend? Philipp841 9 6.649 12.07.2018 10:27
Letzter Beitrag: GerdW
  Kontinuierliche Datenerfassung mit USB 6003 Tobolf 18 12.305 02.02.2017 16:54
Letzter Beitrag: GerdW
  kontinuierliche Datenerfassung in Array speichern Jonas_02 2 4.876 04.09.2015 16:17
Letzter Beitrag: Trinitatis
  Kontinuierliche Messung Ringpuffer dbuckl 9 8.113 07.04.2015 09:19
Letzter Beitrag: dbuckl
  DI-DO einlesen, verarbeiten, ausgeben Nico1992 8 7.609 31.03.2015 14:48
Letzter Beitrag: GerdW

Gehe zu: