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 

DAQ-Anzeige in seperatem VI und Speicherung in TDMS Format



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!

23.11.2015, 14:56
Beitrag #10

m.werle Offline
LVF-Grünschnabel
*


Beiträge: 40
Registriert seit: Sep 2015

2010
2015
EN


Deutschland
RE: DAQ-Anzeige in seperatem VI und Speicherung in TDMS Format
(23.11.2015 12:11 )IchSelbst schrieb:  
(23.11.2015 10:38 )m.werle schrieb:  Ich soll sozusagen eine recht lange Zyklusdauer entwerfen, in welcher mein Sample-VI in regelmäßigen Abständen diverse Daten resettet werden.
Das sollst du machen für den Fall, dass deine Applikation derart ist, dass ein Zyklus oft hintereinander gemacht wird. Voraussetzung wäre aber, dass der Zyklus einen dreiteiligen Aufbau hat: Prüfling steht in Grundstellung, Prüfling wird beaufschlagt, Prüfling geht wieder nach Grundstellung.
Wenn du aber einen Ablauf hast, der z.B. einen Motor (theoretisch) unendlich lang drehen lassen soll, dann ist dieses Verfahren an sich ungeeignet. Das Ungeeignete besteht darin, dass bei einem zyklischen Algorithmus die Daten nur einmal, nämlich an Anfang resettet werden und die eigentliche Betätigung, also das Sammeln von Daten, eine überschaubare Zeit dauert und damit einen überschaubaren Speicherbereich belegt. Bei unendlich lang musst du zwar auch am Anfang die Daten resetten - allerdings kannst du für die Dauer von unendlich keinen Speicherbereich zur Verfügung stellen.
Gesteuert wird ein DC Generator mit variabler Ausgangsspannung durch Veränderung des Phasenanschnittswinkel zweier Thyristoren.
Die von mir zu programmierende Steuerung soll ermöglichen die Ausgangsspannung durch Ansteuern der Thyristoren (AO-Signal) zu regeln.
Im Betrieb wird eine Ausgangsspannung für einen bestimmten Zeitraum konstant gehalten oder die Ausgangsspannung wird rampenförmig auf ein anderes Spannungslevel gefahren. (Oder auch mal Umgepolt)

Im Dauerbetrieb wird der Generator nie laufen, aber die Prüfungen für die er eingesetzt wird sind sehr unterschiedlich lange. Manche auch tage- oder wochenlang. Zwischendurch wird er aber normalerweise nie in den Ausgangszustand zurück versetzt.

Es werden sich aber keine unendlichen Datenmengen anhäufen. Die Historylänge des Wafeformchart im Anzeige-VI ist begrenzt. Die Queue über welche die Messwerte ans Anzeige-VI übermittelt werden wird immer wieder geflusht. Und für den Datalog-Modus ist geplant eine Speicherrate einzustellen, wie viele der gesammelten Samples denn gespeichert werden müssen. (Die Menge an Messsamples die erfasst werden ist möglichst groß, damit die Prüfalgorithmen möglichst schnell testen können, ob alles im Lot ist. Die hohe Auflösung ist für den User bei der späteren Betrachtung des Spannungsverlaufs eventuell unnötig genau.)

-> Unzyklische, unendlich lange Beaufschlagung



Zitat:
Zitat:Das Sample-VI im aktuellen Zustand hat zwei Indicator, einmal für die Anzahl der Iterationen der Whileschleife und einmal für die Zeit (in ms) zwischen zwei Iterationen. Diese variiert sehr stark und hängt sehr davon ab, wie viele Samples/Update ich erfasse. Woran liegt das? Ich blick da noch nicht ganz durch. Meine eingestellte Updaterate wird ja gar nicht eingehalten
Auch ich wäre der Meinung, dass alles konstant sein müsste. Waran das liegt, muss ich erst ankucken.
Unschön ist, dass du zwei Parameter hast, die das selbe bewirken (so hab ich das zumindest verstanden): "Zeit zwischen zwei Iterationen" und "Samples/Update". Ichhabe noch in Erinnerung, dass die immer eine feste Anzahl ("Samples/Update) Maus dem DAQmx herausliest. Ich würde immer herauslesen, was vorhanden ist. Spätestens dann muss die Zyklusdauer der inneren Whileschleife konstant sein.
Äh, stop. Das eine ist nur ein Indicator, kein Parameter um etwas einzustellen. Das war nur, damit ich beim Debuggen direkt die Zeitdauer zwischen zwei Iterationen ablesen kann, um zu Überprüfen, ob diese mit meiner eingestellten Updaterate übereinstimmt.
Die Whileschleife hat übrigens auch keinen Timer, ich glaube das Timing wird lediglich von dem DAQmx-Read-VI bestimmt.

Hier mal kurz etwas Grundsätzliches zu den DAQmx-VIs und MAX (Measurement and Automation Exporer):
In MAX habe ich ein simuliertes AI-Erfassungsgerät konfiguriert. Dort gebe ich an, wie schnell das simulierte DAQ-Gerät Datenerfasst und in seinen Buffer speichert.
Im Blockpanel meines Sample-VIs bestimme ich über die Eingänge des DAQmx-Read-VIs wie schnell (Updaterate) und wie viel Samples/Update (Samplerate) ich auslese. Richtig?

Aufgrund des unzyklischen Betriebes, habe ich weiterhin nur eine Whileschleife im SampleVI und keine innere+äußere.

Zitat:
Zitat:Genau, die Evenstructure wollte ich ins Sample-VI packen.
Hab ich selbst noch nie gemacht, würde ich wohl auch nie tun ...

Zitat:Die Prüfalgorithmen mag ich möglichst schnell nach der Datenerfassung abwickeln. Das Anzeige-VI hat eine zu lange Zyklusdauer, deshalb dachte ich wäre es sinnvoll alle Prüfalgorithmen direkt ins Sample-VI zu packen.
Genauso mache ich das auch.
Du würdest die Prüfalgorithmen ebenfalls ins Sample-VI packen, aber die Eventstructur, in welcher ich die Reaktion auf einen anschlagenden Prüfalgorithmus hineinschreiben möchte, in ein anderes VI auslagern? (z.B. über Melder oder Queue die Info: Alarm XY ausgelöst)

Zitat:Neben dem zugegebenermaßen sehr wichtigen Prinzip "THINK DATAFLOW" kannst du ohne weiteres aber auch modular und objekt-orientiert denken. Für deinen Fall würde ich folgendes überlegen:
Ich nehme ein VI ("Sample-VI"), das selbstständig, also ohne jedwede Einbindung in einen Datenfluss, im Hintergrund läuft. Gesteuert wird das VI durch eine Steuer-Queue. Dieses VI ist dann ein selbstständiges Modul (also ein Objekt). Was dieses Modul machen soll, bekommt es über die Queue gesagt: Daten initialisieren, in den Dauerlauf-Case gehen und die geforderte Arbeit machen, in den Standby-Case gehen und lediglich aktuelle Messwerte erfassten usw. Im übrigen haben "Hintergrund-VIs" keine aktives Frontpanel. Grundaufbau des Moduls: Eine Whileschleife mit Schieberegistern, in der sich eine per Enumerator gesteuerte Case-Struktur sowie eine in Reihe geschaltete Abfrage der Steuerqueue befindet.
Gesteuert wird dieses Hintergrund-VI durch ein VI, das bereits die User-Schnittstelle enthalten kann: Also ein Frontpanel mit Eingabe- und Anzeigeelementen. Wichtig in diesem VI ist eine eigenständige Whileschleife, die z.B. die Daten aus dem Sample-VI liest und das Sample-VI steuert.
Mein Sample-VI soll nur einmal eingestellt werden (Updaterate + Samplerate). Dann soll die Datenerfassung einfach konstant im Hintergrund laufen.

Die Parameter zum Initialisieren des Sample-VI sind alle in der FGV gespeichert. Stellt der User während der Programmlaufzeit im Menü die Einstellungen um, so muss er das Sample-VI Neustarten, damit diese wirksam werden.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
RE: DAQ-Anzeige in seperatem VI und Speicherung in TDMS Format - m.werle - 23.11.2015 14:56

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Signal-Speicherung mit definierter Messdauer gifo 27 16.269 25.11.2015 14:03
Letzter Beitrag: gifo
  Echtzeit graphische Darstellung der Daten und Speicherung auf Kommando nusser 44 28.649 25.02.2014 11:31
Letzter Beitrag: nusser
  Simultane Datenerfassung +Speicherung mit Trigger NI PXI 5102 Sg. Neuling 2 4.343 19.04.2013 14:13
Letzter Beitrag: Sg. Neuling
  Speicherung eines Triggersignales mit TDMS-Dateimonitor pwgt90 0 3.172 29.03.2012 08:56
Letzter Beitrag: pwgt90
  Messwerterfassung und Speicherung bronko 13 11.965 24.03.2011 12:38
Letzter Beitrag: GerdW
  Genaue Zeiterfassung und -speicherung zählergestützter Messungen homunculus87 2 8.823 14.02.2011 22:26
Letzter Beitrag: homunculus87

Gehe zu: