' schrieb:...also das 2.Vi kann man öffnen...zumindestens mit1
Ja, jetzt geht es zu öffnen, und ich habe mir das VI kurz angesehen. Die ai-Konfiguration ist nicht falsch. Wenn bei so einer kontinuierlichen Datenerfassung in der While-Schleife, in der die Daten gelesen werden, eine Wartezeit (Metronom 100ms) enthalten ist, dann ist das hier auch nicht falsch, aber unnötig und für mich ein zuverlässiges Indiz dafür, daß der betreffende Programmierer nicht richtig verstanden hat wie das Lesen der Daten funktioniert.
Also: Das Lese-VI liest die am Eingang konfigurierte "Anzahl von Samples pro Kanal" aus dem Lesepuffer aus. Die Regel ist allerdings eher, daß diese Anzahl, wenn das VI aufgerufen wird, noch nicht im Buffer ist. Dann wartet das VI geduldig (max. bis zum Timeout) bis der Buffer bis zu dieser Anzahl aufgefüllt ist. Bei Wiederholung diese Vorganges in einer while-Schleife synchronisiert sich die Schleife damit von selbst, es können, auf Dauer gesehen, nicht mehr und nicht weniger Samples gelesen werden, als bei der kontinuierlichen Datenerfassung anfallen.
Hier ist es so: Anzahl der Samples ist mit Samplerate fest verbunden --> Buffer auffüllen dauert genau 1 sec, bei Rate=2000 werden immer 2000 Samples pro Kanal gelesen. Soweit OK.
Funktionsprüfung ergab: Die Schleife wird nach dem 2. Durchlauf beendet, ob gewollt oder nicht, die Task wird gestoppt. auch OK.
Schwierigkeiten können entstehen, wenn das, was in der Schleife sonst noch gemacht wird, länger als 1 sec dauert. Dann kommt es zum Bufferüberlauf und damit genau zu der von dir berichteten Fehlermeldung.
NB: Ein Ereignisknoten befindet sich in der Regel immer in einer While-Schliefe, das ist bei Dir nicht der Fall. Nach dem Auslösen eines Ereignisses wird das ganze Programm beendet. Ist das so gewollt?