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 VI starten und stoppen



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!

04.08.2006, 08:13
Beitrag #1

dude776 Offline
LVF-Grünschnabel
*


Beiträge: 28
Registriert seit: Jun 2006

8.6
-
de

86911
Deutschland
SUB VI starten und stoppen
Morgen zusammen,

ich habe das gleiche Thema dümmlicherweise ins falsche Forum (Bugs etc., weiss der Geier wie ich da rein kam) gestellt, jetzt nochmal das gleiche Problem:

1. Anfänger
2. Typisches Problem für Anfänger: VI wird zu groß, da viele Funktionen unbekannt
3. (Meine) Lösung: SUB VI

Um der Dimension meines VI Herr zu werden, arbeite (teste) ich momentan den Einsatz von Sub VIs und globalen Variablen. Haupsächlich muss ich 12 Ventile in einem gewissen zeitlichen Rhytmus (1 min) für eine gewisse Zeit (1 h) schalten. Da die Ventile in 3 Gruppen unterteilt werden können, habe ich eine Zeitschleife mit dem Rhytmus (1 min) erstellt, je nach Schleifendurchlauf (0,1,oder 2) wird dann die entspechende Ventilgruppe geschaltet. Nach Ablauf der Laufzeit (ganz hässlich berechnet mit der Anzahl der Durchläufe einer übergeordneten Schleife) hört die Taktung auf und einer anderer Prozess wird für ca. 2 min ausgelöst. Danach soll die Taktung der Ventile wieder starten...

Diese Taktung d.h. die Generation der Zahlen 0 -2 in einem gewissen Rhytmus habe ich jetzt als SUB-VI "programmiert", die die Werte True and False in ein Cluster schreibt und dieses in eine globale Variable ballert. ....es funktioniert sogar!! (Stolz)! Im Haupt VI läuft das soweit....

Leider habe ich wegen der Schleife im SUB keinen Einfluss mehr aud das SUB . Kann ich es irgendwie stoppen und starten? Starten habe ich mit ner Case Bedingung hingekriegt, aber wenn das Ding mal läuft...

Außerdem wäre es natürlich elegant, könnte ich Einfluss auf die Taktzeit und die Gesamtlaufzeit aus dem Haupt Vi auf das SUB-VI nehmen.

Da ich letzte Zeit mehr im Forum lese als programmiere könnte ich mir denken, dass es evtl. mit Queues oder was anderes abgefahrenem funktionieren könnte. Leider checke ich die Funktionsweise der Dinger auch Anhand der Beispiele nicht wirklich (???!!!??). Anbei ein screen-shot des SUB-VI

Wäre nett, wenn mir jemand en bißchen konkreter helfen würde. Ich danke schon mal...


Angehängte Datei(en)
Sonstige .doc  SceenSUB_Vi.doc (Größe: 371,5 KB / Downloads: 273)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.08.2006, 11:19 (Dieser Beitrag wurde zuletzt bearbeitet: 07.08.2006 11:22 von pinguin.)
Beitrag #2

pinguin Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 79
Registriert seit: May 2005

8.2 Full Development
2004
kA

3000
Belgium
SUB VI starten und stoppen
Hi,

wenn du dein Sub-VI z.B. schliessen moechtest, dann kannst du das mit einem Methoden-Knoten machen. Gebe in der Hilfe-Suche einfach mal "methods, VI class" ein. Auf der Hilfeseite findest du alle Moeglichkeiten, wie du ein VI mit einem Methodenknoten beeinflussen kannst. So kannst du z.B. mit "Abort VI" ein VI beenden, uabhaengig davon ob es gerade beendet wird oder noch laeuft. Auch Schleifen werde damit gestoppt bzw. abgebrochen

Vielleicht hilft dir das schon weiter ...

Viele Gruesse,
Mirko
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.08.2006, 12:35 (Dieser Beitrag wurde zuletzt bearbeitet: 07.08.2006 12:41 von Lucki.)
Beitrag #3

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
SUB VI starten und stoppen
Ich mache es gern so: Die Werte werden an das SUB-Vi über Melder und nicht über globale Variable übergeben. Wenn Du im Haupt-Vi den Melder dann freigibst (Eliminieren=true nicht vergessen anzuschließen), dann kommt es im SUB-Vi beim nächsten Leseversuch zu einer Fehlermeldung, die man als Abbruchbedingung benutzen kann. Beigefügt ein einfachstes Beispiel.
   


Angehängte Datei(en)
Sonstige .vi  Haupt.vi (Größe: 10,76 KB / Downloads: 222)

Sonstige .vi  Sub.vi (Größe: 14,35 KB / Downloads: 222)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.08.2006, 13:47
Beitrag #4

dude776 Offline
LVF-Grünschnabel
*


Beiträge: 28
Registriert seit: Jun 2006

8.6
-
de

86911
Deutschland
SUB VI starten und stoppen
Danke Jungs, das sind doch mal nützliche Vorschläge.

Ich habe am Freitag alles so dermaßen mit globalen Variablen gepflastert, dass es nur so kracht. Gibt wiedermal 0 Stil-Punkte, aber funktioniert überraschenderweise!

Trotzdem werde ich eure Vorschläge dankbar einbauen, ich will ja nicht ewig nur rumpfuschen...

Bis bald

Patrick
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Schleife stoppen in subVI illy777 31 13.594 14.09.2020 18:00
Letzter Beitrag: illy777
  While Schleife stoppen itz_me 4 5.924 13.04.2017 14:47
Letzter Beitrag: itz_me
  X Bildlaufleiste bei Signalverlaufsdiagram stoppen Carp 18 10.703 10.06.2016 09:57
Letzter Beitrag: Carp
  Frage zu Lauflicht stoppen(vorübergehend) fuego50 4 4.385 23.05.2016 17:05
Letzter Beitrag: fuego50
  Referenziertes VI stoppen marhi 7 5.884 08.03.2016 12:07
Letzter Beitrag: rolfk
  Parallele Schleifen beliebig stoppen/neustarten buettnerstefan 3 4.963 03.06.2015 15:23
Letzter Beitrag: buettnerstefan

Gehe zu: