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 

Reduzierung des Zeitbedarfs zur Datenerfassung



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!

16.05.2018, 15:36
Beitrag #11

Philipp841 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 74
Registriert seit: Mar 2018

LV 2015 SP1 32bit
2016
DE

28359
Deutschland
RE: Reduzierung des Zeitbedarfs zur Datenerfassung
Wer hätte es gedacht... mit dem VI "DAQmx - Kanal-String serialisieren" ist es mir gelungen dem VI "DAQmx - Virtuellen Kanal erzeugen" mitzuteilen, dass mehrere Kanäle konfiguriert werden sollen. Nun stellt sich jedoch die Frage, wie ich die weiteren Anschlüsse des VI´s belege. Z.B. sollen von der Schaltungsart her, Kanal 1+2 Differentiell und Kanal 3+4 per RSE betrieben werden, sprich Kanalspezifisch. Genauso verhält es sich mit den Ober- und Untergrenzen für die Spannung etc.

Jmd. eine Idee?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.05.2018, 15:43
Beitrag #12

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Reduzierung des Zeitbedarfs zur Datenerfassung
Hallo Philipp,

Zitat:mit dem VI "DAQmx - Kanal-String serialisieren" ist es mir gelungen dem VI "DAQmx - Virtuellen Kanal erzeugen" mitzuteilen, dass mehrere Kanäle konfiguriert werden sollen.
Wow, Grundlagen DAQmx-Nutzung: wie gibt man an, dass mehrere Kanäle in den Task sollen!

Zitat:Nun stellt sich jedoch die Frage, wie ich die weiteren Anschlüsse des VI´s belege. Z.B. sollen von der Schaltungsart her, Kanal 1+2 Differentiell und Kanal 3+4 per RSE betrieben werden, sprich Kanalspezifisch. Jmd. eine Idee?
Arrbeite mit den bisherigen Arrays, siehe meinen vorigen Beitrag.

Zitat:Genauso verhält es sich mit den Ober- und Untergrenzen für die Spannung etc.
Die eigentlich kein Array sein müssten, da sie alle identische Werte enthalten - zumindest als Standardwert in deinem VI.

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.05.2018, 16:52
Beitrag #13

Philipp841 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 74
Registriert seit: Mar 2018

LV 2015 SP1 32bit
2016
DE

28359
Deutschland
RE: Reduzierung des Zeitbedarfs zur Datenerfassung
Moin Gerd,

ja, wenn man noch frisch dabei ist, ist auch für solch kleine Erfolge ein "WOW" völlig angebracht. Blush Mit deinem letzten wertvollen Hinweis (autoindizierende Tunnel) habe ich nun ein Beispiel-VI so umgebaut, dass es "kontinuierlich" alle meine Kanäle erfasst (deren Einstellungen übrigens vom Standard abweichen; siehe VI DSDL4 wenn du magst). Das funktioniert nun prima, danke!
Natürlich habe ich aber neue Fragen, und zwar:

1) Wie bekomme ich die "Daten für die Main" jetzt ins Aquire Data.VI? Dort werden ja mit dynamischen Daten gearbeitet. (Ich bin absolut gewillt, diesen Datentyp in weiteren Schritten zu eliminieren; für den Augenblick aber, möchte ich die mit dem angehängten VI kontinuierlich erfassten Daten zunächst einmal in der Main (DSDL4) verarbeiten, ohne an dieser großartig rumbasteln zu müssen.

2) Ich habe mit der Smple Rate und der Sampleanzahl rumgespielt- Zusätzlich habe ich einfach mal einen Warten-Block in die While-Schleife mit eingebaut. Nun meine Frage: Was genau passiert, wenn Sample Rate & Anzahl mehr Daten generieren als die gedrosselte Schleife los wird. (In dem beigefügten VI geschieht dies bei Werten für "Datenpunkte pro Sek) unter 20.

Für weitere Dummie-Erklärungen jetzt schon mal vielen Dank!

Phil


Angehängte Datei(en)
15.0 .vi  2018_05_16_Einlesen mehrerer Kanäle.vi (Größe: 37,83 KB / Downloads: 172)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.05.2018, 08:03
Beitrag #14

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Reduzierung des Zeitbedarfs zur Datenerfassung
Hallo Philipp,

1) Am besten/einfachsten per Queue: damit bewegst du dich in Richtung Producer-Consumer-Schema…

Zitat:2) Was genau passiert, wenn Sample Rate & Anzahl mehr Daten generieren als die gedrosselte Schleife los wird.
Du bekommst eine Fehlermeldung, dass der DAQmx-Samplebuffer vollgelaufen ist…
Es ist eine ganz blöde Idee, in eine Schleife eine Wartezeit hineinzupacken, wenn man dort eigentlich kontinuierlich Daten von DAQmx lesen will! Das DAQmxRead sorgt doch schon selbst für die nötige Wartezeit in der Schleife!
Es ist auch keine gute Idee, beim DAQmxTiming die "samples per channel" zu setzen - einfach mal die Hilfe zur Funktion lesen!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.05.2018, 09:37
Beitrag #15

Philipp841 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 74
Registriert seit: Mar 2018

LV 2015 SP1 32bit
2016
DE

28359
Deutschland
RE: Reduzierung des Zeitbedarfs zur Datenerfassung
Alles klar; das mit dem Buffer und der Anzahl der Samples hab ich gecheckt (und eliminiert).
Folgende Fragen verbleiben heute:

1) Wie kann ich die erfassten Daten, die ich momentan auf dem Signalverlaufsdiagramm darstelle ohne globale/lokale Variable (denn die gilt es ja zu vermeiden) aus der While - Schleife hinaus bekommen, um sie dann in Dateien abzulegen bzw. als Eingangs-/Rückkopplungssignal für Regelungen nutzen zu können?

2) Bisher befand sich das Aquire Data - SubVI in der Main-While Schleife. Läuft diese einmal durch, wurden über die Einstellung "Begrenzte Anzahl" bei jedem Durchlauf eine gewisse Anzahl von Samples in der Queue abgelegt. Wie kann ich mir das Ganze nun mit dem kontinuierlichen Mode vorstellen? Eine While-Schleife zur Erfassung der Daten innerhalb der Main-While-Schelife ist doch Quatsch oder nicht?

Oder muss ich die "While-Schleife zur Erfassung der Daten" quasi zur "Main-While-Schelife" machen?

Danke & Gruß,
Philipp
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.05.2018, 10:52
Beitrag #16

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Reduzierung des Zeitbedarfs zur Datenerfassung
Hallo Philipp,

1) hatte ich oben schon beantwortet: nimm eine Queue…

2) Im Grunde läuft es hier immer wieder auf den Ratschlag hinaus, dein MainVI entlich mal gründlich aufzuräumen und zu strukturieren!
Ich würde ja die DAQmx-Erfassung parallel zum GUI (aka MainVI) laufen lassen und eben mit einer Queue Daten versenden - aber ob sowas einigermaßen sinnvoll in deine Tapete hineinzustricken ist, bezweifle ich…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.05.2018, 12:50
Beitrag #17

Philipp841 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 74
Registriert seit: Mar 2018

LV 2015 SP1 32bit
2016
DE

28359
Deutschland
RE: Reduzierung des Zeitbedarfs zur Datenerfassung
Hy Gerd,
ich versuche nach bestem Wissen deine Ratschläge umzusetzen. Mal eben so neu strukturieren klingt jedoch einfacher (als es für mich) ist (Bitte bedenke, dass der Code nicht von mir stammt). Ich werde versuchen die vorhandene Queue so umzubasteln, das sie die Werte aus meiner neuen Schleife erhält. Wenn dies funktioniert, werde ich mich als nächstes gerne an eine Umstrukturierung machen. Auch wenn dabei sicherlich wieder neue Fragen aufkommen werden.

Zwischendurch einmal etwas Anderes: Nach Betätigung des Stopp Buttons (im GUI) erhalte ich jedes Mal folgende Fehlermeldung:

siehe Pic. "Fehler"

Beiträge in Foren weisen darauf hin, dass es an einer fehlerhaften/doppelten Installation des NI-VISA-Software liegen könnte. Dies sieht bei mir MAX jedoch ok aus, denke ich.

siehe PIC. "Anzeige im MAX"

Jmd. eine Idee?

Schönes W.e.,
Phil


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.05.2018, 13:06
Beitrag #18

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Reduzierung des Zeitbedarfs zur Datenerfassung
Hallo Philipp,

Zitat:Nach Betätigung des Stopp Buttons (im GUI) erhalte ich jedes Mal folgende Fehlermeldung:
Beiträge in Foren weisen darauf hin, dass es an einer fehlerhaften/doppelten Installation des NI-VISA-Software liegen könnte.
Wenn der Fehler nur nach Betätigen des Stopp-Buttons auftaucht, kann das zwei Ursachen haben:
- Der Fehler tritt auf, weil irgendwo eine Referenz schon geschlossen wird,während woanders noch damit gearbeitet wird. Sowas ist dank vieler lokaler Variablen durchaus möglich und nennt sich RaceCondition…
- Der Fehler tritt generell schon nach dem Start auf, wird aber nicht angezeigt, weil der Error-Draht schön verdrahtet ist. Das kann man aber durch Debuggen verifizieren…

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
  Datenerfassung cDAQ + NI9203 keine synchrone Datenerfassung dieseldunst 5 6.559 24.06.2016 14:49
Letzter Beitrag: jg

Gehe zu: