15.10.2010, 20:51
Guten Abend, LVF.
Wir haben festgestellt, dass unser Geraet besser arbeitet, wenn ich es ueber eine Producer-Consumer-Schleife steuere. Interessanterweise kann der Motor ohne Probleme seine Richtung schnell aendern, wenn der User abwechselnd "Infuse" and "Withdraw" drueckt. Als ich das gesamte Programm noch in einem Continuous-Loop hatte, ging dies leider nicht sehr gut . Fuer eine wissenschaftliche Anwendung muss dies aber realisiert werden.
Deswegen habe ich jetzt den Auftrag bekommen, ein Programm zu schreiben, dass praktisch das manuelle Druecken der Buttons "Infuse" and "Withdraw" fuer den User uebernimmt. Das ganze soll natuerlich zeitgesteuert sein.
Ich habe zunaechst versucht ein Beispielprogramm zu basteln. Unter anderem habe ich nun noch das Problem, dass ich nicht weiss, wie ich im Eventcase "Trigger-User Event" dafuer sorge, dass der richtige Enum-Wert ausgeloest wird. Je nach Wert der Case-Struktur ganz links, die durch eine Bedingung der While-Schleife gesteuert wird, sollte entweder withdraw oder infuse als enum-Wert im Eventcase stehen. Spaeter soll die Case-Struktur via Timer ausgeloest werden. Koennte man dann vielleicht spaeter einen Timed Loop nutzen?
Falls das gesamte Programm so moeglich ist, wuerde ich versuchen, es als SubVi im Hautprogramm abzuspeichern. Geht das oder darf pro gesamten LabView-Programm nur eine einzige Eventstruktur verwendet werden?
Achtung: Leider ist das Programm im Moment in einer Endlosschleife gefangen, weil ich nicht weiss, wie ich das Enum richtig automatisch auswaehlen lasse im Eventcase.
[attachment=29987]

Gruss
blue
PS: Geht es eventuell auch einfacher zu realisieren?
Wir haben festgestellt, dass unser Geraet besser arbeitet, wenn ich es ueber eine Producer-Consumer-Schleife steuere. Interessanterweise kann der Motor ohne Probleme seine Richtung schnell aendern, wenn der User abwechselnd "Infuse" and "Withdraw" drueckt. Als ich das gesamte Programm noch in einem Continuous-Loop hatte, ging dies leider nicht sehr gut . Fuer eine wissenschaftliche Anwendung muss dies aber realisiert werden.
Deswegen habe ich jetzt den Auftrag bekommen, ein Programm zu schreiben, dass praktisch das manuelle Druecken der Buttons "Infuse" and "Withdraw" fuer den User uebernimmt. Das ganze soll natuerlich zeitgesteuert sein.
Ich habe zunaechst versucht ein Beispielprogramm zu basteln. Unter anderem habe ich nun noch das Problem, dass ich nicht weiss, wie ich im Eventcase "Trigger-User Event" dafuer sorge, dass der richtige Enum-Wert ausgeloest wird. Je nach Wert der Case-Struktur ganz links, die durch eine Bedingung der While-Schleife gesteuert wird, sollte entweder withdraw oder infuse als enum-Wert im Eventcase stehen. Spaeter soll die Case-Struktur via Timer ausgeloest werden. Koennte man dann vielleicht spaeter einen Timed Loop nutzen?
Falls das gesamte Programm so moeglich ist, wuerde ich versuchen, es als SubVi im Hautprogramm abzuspeichern. Geht das oder darf pro gesamten LabView-Programm nur eine einzige Eventstruktur verwendet werden?
Achtung: Leider ist das Programm im Moment in einer Endlosschleife gefangen, weil ich nicht weiss, wie ich das Enum richtig automatisch auswaehlen lasse im Eventcase.
[attachment=29987]

Gruss
blue
PS: Geht es eventuell auch einfacher zu realisieren?