(10.07.2012 12:14 )M Nussbaumer schrieb: Hallo Niels
Ich hab mir mal deine VI's angesehen und ein paar mögliche Fehler entdeckt:
1. Deine Überprüfung des Tsensors wird genau 1x ausgeführt, ist dies so gewollt?
2. Weshalb bremst du deine Consumer-Loop künstlich aus? Grundsätzlich wird diese nur ausgeführt, sobald Daten anliegen.
3. Deine Abspeicherungs-Funktionen bremsen deine Applikation extrem aus, da jedes mal eine Verbindung zum File hergestellt werden muss. Besser wäre es die Daten (Suchstichwort: Shift-Register) zu sammeln und nach Ende der Schleife abzuspeichern.
4. Ein Queue kann jeden beliebigen Datentyp versenden unter anderem auch Double, anstatt String einfach einen Double anhängen, damit sparst du dir auch die unnötigen Umwandlungen.
5. Mit deinem momentanen Aufbau ist es nicht möglich die Richtung zu ändern, ist dies gewollt? Ansonsten müsste die "True/False" Abfrage innerhalb der While-Schleife sein.
6. Verwende nicht lokale Variablen, wenn du den Wert direkt anhängen könntest (Tsensor;Stop;Graph: lateral pressure over area)
Grundsätzlich werden höchstwahrscheindlich die Wartezeit der Verbraucher-Loop und die unnötigen Speichervorgänge einen Strich durch die Rechnung gemacht haben
Hoffe das hilft dir weiter!
Gruss Marc
Hi Marc,
Das hilft mir schonmal sehr viel weiter, Danke.
zu:
1. Ja, es geht da ja nur darum, ob er unrealistisch hohe oder tiefe Temperaturen misst (Arbeitsbereich liegt zw. Zimmertemp und 40°C). Die Messung selbst dauert ja nur ~10min.
2. Ich habe gehofft, dass ich durch künstliches Ausbremsen das Stocken meiner Motorsteuerung verringere. Aber er soll natürlich gerne jeden Messwert mitnehmen, daher hast du Recht, macht keinen Sinn.
3. Das klingt sehr gut, würde viel im HauptVI (welches noch um einiges größer ist

) entschlacken. Guck ich mir mal an

4. Das sieht mein LV anders (s. Screenshot). Oder habe ich Dich mißverstanden?
5. Jo, das ist iO. Dazu ist das VI eh nur der Ausschnitt für "move barrier back", also in eine Richtung.
6. Ok, mach ich.