04.08.2006, 08:13
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...
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...