' schrieb:Parallele While-Schleife zu was denn?
Zum Rest des Universiums, also seines Programmes.

Man kann jede Applikation aus Modulen zusammenbauen. Ein modularer Aufbau hat diverse Vorteile. Einer davon ist, dass man ein Modul als Standalone-Paket betrachten kann, das dann selbstsicher programmiert werden kann. Module können auch als eigenständige Task innerhalb des Gesamtsystems laufen. Sie werden dann im Timesharing-System ausgeführt, sodass alle Module PARALLEL ausgeführt werden. Ein Nachteil des modularen Aufbaus: Man muss eine Schnittstelle zwischen den Modulen explizit definieren => Queues, Melder, FGVs (keine globalen Variablen). Ein weiteren Nachteil: Der Programmieraufwand ist größer als die Modul-Funktion in den Datenfluß zu integrieren.
Zitat:Wenn er 20k Samples in 10 Sekunden haben will, warum stellt er nicht einfach den Modus auf endliche Anzahl, Anzahl der Samples auf 20k beim 'DAQTiming VI' und z.B. auf 50 Samples beim 'DAQRead VI' und die Sampling-Rate auf 2kHz und fertig.
Kann er natürlich machen. Aber:
Streng genommen ist er dann von vorne herein wegen der festen Parameter in der Konfiguration und im Ablauf festgelegt. Ein Modul würde parametriert sein und somit frei in der Konfiguration. Außerdem ist das Modul allgemeiner einsetzbar. Man könnte z.B. Online-Werte unabhängig vom Ablauf und kontinuierlich ansehen.
Zur Entscheidung "Modul oder Datenfluß" muss man eigentlich den Zweck und die Größe der Applikation betrachten. (Nur weis das ein Anfänger am Anfang noch nicht.) Mach ich einen komplexen Dauerlaufprüfstand (also eine EXE) und die auch noch im Kundenauftrag, wird das mit "im Datenfluß" nie funktionieren respektive größte Probleme geben. Wenn ich aber eine Laboranwendung für eigene Zwecke brauche, dann ist es mir egal, ob da ab und zu mal der Graph ruckelt, weil ich mein Timeing wegen zuviel Last im Datenfluß überlastet habe. Dann ist es mir auch egal ob das BD etwas größer und/oder unübersichtlicher wird oder nicht.