Hallo zusammen,
da ich erst seit kurzem mit Queued State Machine arbeite (hierbei habe ich viel von dem QSM PC EXAMPLE gelernt und abgekupfert) und das ganze erst noch zu verstehen probiere wollte ich wegen einer Ungereimtheit zu dem Datenaustausch zwischen VI´s nachfragen.
Ich habe ein Main VI (VOC_Cuvette_5_00.vi) und mehrere sub VI´s wobei für mein Problem eigentlich nur das VOC_Arduino_5_00.vi benötigt wird.
Zur Erklährung das VOC_Arduino VI händelt die Kommunikation zu meinem Mikrocontroller list jede Sekunde Daten aus und sendet diese Daten u.a. zu dem Main Vi um Graphisch dargestellt zu werden.
Nun ist es so, dass die Daten auch ankommen, jedoch Zeitverzögert und die Verzögerung erweitert sich immer mehr und mehr, je länger das Programm läuft, sodass es schon nach wenigen Minuten soweit ist, sobald keine Daten mehr gelesen werden das Main Vi immer noch Daten empfängt (welche empfangen wurden, jedoch in einer Warteschleife hängen). Dies Verzögerung ist auch von der Wait[ms] funktion abhängig, denn je länger gewartet wird umso größer die Verzögerung, und das obwohl alle Programmteile zu 90% im IDLE Modus warten.
Wenn ich jedoch die 100ms Verzögerung aus meinem Main VI rausnehme (zulasten der CPU, diese geht von 1% auf 25% Auslastung) passiert das nicht, auch wenn ich über Nacht das Programm durchlaufen lasse.
Ich hoffe, dass mir jemand weiterhelfen kann denn ich habe keine Ahnung wo ich jetzt noch anfangen soll.
Gruß
Simon