INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Sub-VIs - Whileschlaufe - Anschlüsse



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

25.10.2009, 12:53 (Dieser Beitrag wurde zuletzt bearbeitet: 25.10.2009 13:03 von IchSelbst.)
Beitrag #6

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Sub-VIs - Whileschlaufe - Anschlüsse
' schrieb:Im falle des einfachen Beispieles funktioniert dies schon, ist aber nicht ganz in meinem Sinne, ich möchte in meinem MainVI einen Block haben der Motor heisst und einen Eingang für die gewünschte Drehzahl und drei Ausgänge für die gewünschten Signale hat und kontinuierlich diese Signale abgibt, genau so wie es der reale Motor später auch tun wird.
"Kontinuierlich" im Sinne eines analogen Signales, bei dem idealerweise dT=0 ist, gibt es in Software nicht. In Software bist du immer an ein Raster, sei es noch so klein, gebunden. Willst du ein SubVI machen, das einen Motor simuliert, dann würde ich folgendes Vorgehen vorschlagen.

Mach ein SubSI, das unabhängig vom (Rest des) MainVI läuft. Im MainVI brauchst du zwangsläufig eine While-Schleife, weil hier ja ständig das selbe gemacht werden soll: nämlich kucken, was der Motor gerade macht. Das Motor-SubVI platzierst du außerhalb der While-Schleife, also parallel zu dieser. Im Motor-SubVI läuft auch eine While-Schleife, die nichts weiter macht, als die drei Werte in Abhängigkeit der Drehzahl zu berechnen. Und jetzt kommts: Diese drei Werte schreibst du in einen Cluster, den du in eine QUEUE schreibst (es würde auch ein MELDER gehen). Im MainVI, respektive innerhalb der While-Schleife liest du die Queue aus. Die Motor-SubVI-Whileschleife kannst du mit einer beliebigen Geschwindigkeit laufen lassen: von 1 bis 100ms, ist total unabhängig vom MainVI. Eben wie der reale Motor auch. Ich empfehle vorerst ein Raster von 1ms.
Die While-Schleife im MainVI liest nun die Queue aus und gibt die Daten z.B. an einen Graph weiter. Hier siehst du gleich: Dieser While-Schleife ist es egal, ob die Daten, weil sie in einer Queue stehen, vom Motor-Simulator kommen oder vom richtigen Motor (der später das Simulator-SubVI ersetzen wird). Die While-Schleife im MainVI kannst du mit einer beliebigen Geschwindigkeit laufen lassen. Hier empfehle ich ca. 250ms, weil ein schnellerer Refresh des Graphen nicht sinnvoll ist. Folge: Pro 250ms werden 250 Werte aus der Queue gelesen!

Mit der Drehzahlvorgabe verfährst du im übrigen genauso: Drehzahl in eine Queue schreiben und diese Queue im Motor-SubVI auslesen.

Noch ein Hinweis:
LV arbeitet nach dem Prinzip des Datenflussen. Das bedeutet letztendlich, dass an den Ausgängen eines SubVIs erst dann Daten anliegen, wenn das SubVI beendet wird. Und das geschieht eben erst dann, wenn eine While-Schleife im SubVI beendet wurde. Um letzteres zu umgehen, verwendet man eben Queues/Melder. Genauso heißt das auch: Solange das SubVI läuft, steht der entsprechende Datenfluß im aufrufenden VI.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
Sub-VIs - Whileschlaufe - Anschlüsse - IchSelbst - 25.10.2009 12:53

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  SubVI Anschlüsse ändern mikadm 2 4.867 06.08.2020 05:50
Letzter Beitrag: MScz
  SubVI ohne Anschlüsse iMax 7 8.169 19.12.2012 14:59
Letzter Beitrag: PaulF
  SubVI-Anschlüsse ändern frankyp 2 11.127 05.07.2011 08:18
Letzter Beitrag: frankyp
  Anschlüsse überprüfen loki77 23 16.117 20.11.2009 20:37
Letzter Beitrag: schrotti
  Anschlüsse an einem VI erzeugen hotwheelz 6 6.234 16.06.2009 15:41
Letzter Beitrag: hotwheelz
  SubVI -Anschlüsse bocken Donald 7 5.092 13.10.2008 13:28
Letzter Beitrag: Donald

Gehe zu: