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 

VI öfters benutzen!!



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!

14.12.2006, 13:20
Beitrag #1

MichaHHN Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Sep 2006

7.1
2005
kA


Deutschland
VI öfters benutzen!!
hallo zusammen,

ich stehe mal wieder vor einem Problem!!

Ich habe ein Programm geschrieben, das mir meine funktionen wunderbar ausführt.

Nun brauche ich das Programm aber ungefähr 10-20 mal.

Das heißt, mit dem einen Programm kann ich an einern Maschine einen Kanal
ansteuern und dem sagen was er machen soll, nun hat die Maschine aber mehrere Kanäle,
und ich will nun das selbe Programm wieder nutzen.

Am bestern wäre es wenn ich das Programm in eine endlosschleife bringen würde, und
wenn ich eins ausgefüllt habe, soll dann auf klick eines Buttons das nächste geöffnet werden,
was dann wieder genau so aussieht, nur vielleicht irgendwo als "2" gekennzeichnet ist.
Und das spiel soll soweit gehen, bis ich Sagen kann, so das ist nun meine letztes!??!?!

Kann mir da jemand helfen.

Vielen Dank

Micha
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.12.2006, 14:08
Beitrag #2

Joe Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 110
Registriert seit: Oct 2004

8.20
2004
kA


Deutschland
VI öfters benutzen!!
Hi Micha.

Also ich würde dein Programm als modales Sub-VI programmieren.

Drumrum ein Hauptprogramm mit Endlosschleife und Event-Structure. So kannst du dann diverse Buttons abfragen, ob du und welchen Kanal du messen willst oder ob du das Programm beenden möchtest.

Ist das dann bekannt, wird das Berechnungs-Unterprogramm gestartet und führt seine Arbeit aus. Nach Ende der Berechnung geht es wieder ins Haupt-VI zurück und du kannst wieder wählen, was du machen willst.

Hoffe, dass das hilft.
Gruß,
Joe
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.12.2006, 14:18
Beitrag #3

MichaHHN Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Sep 2006

7.1
2005
kA


Deutschland
VI öfters benutzen!!
Hi,

es gibt bis jetzt nur ein VI, indem alles enthalten ist!!!!

in dem VI wird der Kanal auch angesteuert und das gemacht was er machen muss.

Das nächste Programm was ausgeführt werden muss, soll genau so aussehen und
die selben Funktionen haben, (also das glitze gleiche), es soll auch nach dem ersten
ausgeführt werden.

Als erstes sollte ich alle z.b. 20 (gleichen Programme) einstellen können.
(alles was ich brauche, in meinen Programm).
Als nächsten Schritt sollte ich das dann ausführen könne, und es wird
einfach Programm 1 dann Programm 2 dann Programm 3 usw. ausgeführt
(nacheinander, wenn das eine 1 fertig dann das 2, usw.).

So habe ich mir das gedacht?!?!

Danke
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.12.2006, 14:35
Beitrag #4

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.689
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
VI öfters benutzen!!
' schrieb:So habe ich mir das gedacht?!?!
Und genau so machst du es auch.

Ich gehe davon aus, mit "Programm" meinst du (z.B.) einen Datensatz - also kein Programm im Sinne eines VIs. Von diesen Datensätzen hast du also (z.B.) 20 Stück. Dann ist das ganz einfach. Dieses Datensatz (der möglicherweise ja schon als Cluster vorliegt) ziehst du in ein - ARRAY (meinetwegen darf das Array auch global sein). An dein bestehendes SubVI übergibst du nun den Index im Array, welcher Datensatz abgearbeitet werden soll.

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
14.12.2006, 14:39
Beitrag #5

Joe Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 110
Registriert seit: Oct 2004

8.20
2004
kA


Deutschland
VI öfters benutzen!!
' schrieb:Hi,

es gibt bis jetzt nur ein VI, indem alles enthalten ist!!!!
Vor allem das "BIS JETZT" gefällt mir in dem Satz sehr gut.
Ein Programm mit nur einem einzigen VI aufzubauen ist nicht wirklich übersichtlich. Und die Funktionalität, wie du sie beschreibst, ist nunmal ideal dazu geeignet, ein steuerndes Element außenrumzubauen.
Dafür hast du doch auch in diesem Forum hier nachgefragt, weil es nicht so funktioniert, wie du es bislang angegangen bist.
Daher hab ich dir eine mögliche Lösung angeboten, die wahrscheinlich auch ohne Probleme und großen Aufwand funktionieren wird. Ob du das jetzt verwendest, ist ja dir überlassen.

Zitat:in dem VI wird der Kanal auch angesteuert und das gemacht was er machen muss.

Das nächste Programm was ausgeführt werden muss, soll genau so aussehen und
die selben Funktionen haben, (also das glitze gleiche), es soll auch nach dem ersten
ausgeführt werden.
Unter der Voraussetzung, dass du nur ein VI haben willst, müsste dich das Programm also nach einem Durchlauf fragen, ob du weitermessen willst und was du weitermessen willst. Schon alleine hierfür wäre ein SubVI geeignet. Aber ok, das geht auch ohne.
Wenn der Benutzer dann sagt, es soll noch eine weitere Messung kommen, musst du abfragen, welchen Kanal und dann ruft sich das Programm iterativ wieder auf.

Wenn du irgendwann dann sagst, dass alle Messungen gemacht wurden, muss dein Programm nur Stück für Stück aus der Verschachtelung wieder rauskommen, damit alle Referenzen geschlossen werden.

Das geht, ist aber furchtbar unübersichtlich.

Zitat:Als erstes sollte ich alle z.b. 20 (gleichen Programme) einstellen können.
(alles was ich brauche, in meinen Programm).
Als nächsten Schritt sollte ich das dann ausführen könne, und es wird
einfach Programm 1 dann Programm 2 dann Programm 3 usw. ausgeführt
(nacheinander, wenn das eine 1 fertig dann das 2, usw.).
Das hat nur einen Nachteil. Wenn du mittendrin entscheidest, dass du deine Messungen doch nicht weiterführen willst, dann arbeitet der erstmal alles ab, was du so am Anfang konfiguriert hast. Es sei denn, du arbeitest dir irgendwie noch einen Notaus-Schalter mit ein.

Alles in allem gibt es viele Möglichkeiten, dennoch empfinde ich den von dir angedachten als zu umständlich und kompliziert für eine Umsetzung.

Gruß,
Joe
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.12.2006, 14:42
Beitrag #6

Joe Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 110
Registriert seit: Oct 2004

8.20
2004
kA


Deutschland
VI öfters benutzen!!
' schrieb:Und genau so machst du es auch.

Ich gehe davon aus, mit "Programm" meinst du (z.B.) einen Datensatz - also kein Programm im Sinne eines VIs.
OK, das ist dann wohl die erste Frage, die beantwortet werden muss. Ist das "Programm" ein Datensatz, wie du das meinst, oder ein VI, so wie ich das verstehe?

Weil davon hängt ganz entscheidend ab, was das sinnvollste Vorgehen ist.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
14.12.2006, 15:04 (Dieser Beitrag wurde zuletzt bearbeitet: 14.12.2006 15:05 von Kvasir.)
Beitrag #7

Kvasir Offline
LVF-Freak
****


Beiträge: 642
Registriert seit: May 2006

10
2004
DE_EN

0000
Oesterreich
VI öfters benutzen!!
Wenn ich dich richtig verstanden habe, würde ich das so machen:

1. Du änderst dein Programm um in ein SubVi:
- Als Eingang gibst du einen Numeric, der die Nummer des Programms anzeigt
- Als Ausgang einen Boolean, der sagt, ob noch ein Programm aufgerufen werden soll
- Du musst dann auch noch das Fenstererscheinungsbild (Vi Einstellungen -> Fenstererscheinungsbild) anpassen, sodass das FP angezeigt wird.

2. Du erstellst ein Hauptvi, indem du dein Programm in einer Schleife aufrufst. Als Abbruch nimmst du den Boolean aus dem SubVi. Den Schleifenindex kannst du als Eingang nehmen.

- Den Eingang fürs SubVi brauchst du natürlich nicht unbedingt. Das ist nur, damit du angezeigt bekommst, das wievielte Programm gerade läuft.

- Du könntest natürlich auch gewisse Sachen aus dem SubVi ins Hauptvi auslagern. Z.B.: Könntest du mittels Statmachine das starten eines weiteren Programmes per Knopfdruck machen. Aber das führt hier wohl zuweit.

Im Anhang ein Beispiel.

Gruß


Angehängte Datei(en)
Sonstige .vi  Programm.vi (Größe: 14,93 KB / Downloads: 159)

Sonstige .vi  Haupt.vi (Größe: 7,18 KB / Downloads: 166)

A few weeks of developement and testing can save a WHOLE afternoon in the library!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.12.2006, 15:30
Beitrag #8

MichaHHN Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Sep 2006

7.1
2005
kA


Deutschland
VI öfters benutzen!!
Joe:

Also es ist tatsächlich ein VI, und keine Datensätze die ich da habe!?!?!?

Und mein Programm ist garnicht so kompliziert, das es in einem unübersichtlich wird.


Kvasir:

Die Idee mit dem einen Haupt VI, finde ich eiegtnlich garnicht schlecht!!!!


Vorallem weil sich da das Haupt VI garnicht öffnet sondern sofort das unter VI.


aber wie kann ich ihm nun sagen , dass er alle die ich gespeichert habe nacheinander ausführen soll??

Hiermit kann ich alles einstellen aber, starten??
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.12.2006, 15:38 (Dieser Beitrag wurde zuletzt bearbeitet: 14.12.2006 15:50 von Kvasir.)
Beitrag #9

Kvasir Offline
LVF-Freak
****


Beiträge: 642
Registriert seit: May 2006

10
2004
DE_EN

0000
Oesterreich
VI öfters benutzen!!
Ich dachte deine Programme seien alle ident?
Du willst nur Parameter innerhalb ändern?

Dann brauchst du ja nur das Hauptvi starten. Dann öffnet sich von selbst das Programm. Wenn du auf nächstes drückst öffnet sich das Programm wieder und du kannst deine Einstellungen ändern.
Das geht solange, bis du auf beenden klickst.

Du musst also dein Programm wirklich nur einmal abspeichern.

edit: Ok habe gerade gelesen, du willst zuerst alle Einstellungen treffen.
Habe dir also noch ein Beispiel erstellt, wie du das ganze Alternativ angehen könntest.

- Im Hauptvi kannst du nun einen Parameter einstellen. Je nachdem wieviele du angibst (Elemente im Array) wird dein Programm entsprechend oft dann durchlaufen.

- Mittels Button und Case Struktur startest du dann dein SubVi. Das steckt in einer For-Schleife und wird sooft aufgerufen, wie Parameter angegeben.

Gruß


Angehängte Datei(en)
Sonstige .vi  Haupt.vi (Größe: 14,2 KB / Downloads: 167)

Sonstige .vi  Programm.vi (Größe: 18,45 KB / Downloads: 172)

A few weeks of developement and testing can save a WHOLE afternoon in the library!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.12.2006, 12:31 (Dieser Beitrag wurde zuletzt bearbeitet: 21.12.2006 12:40 von MichaHHN.)
Beitrag #10

MichaHHN Offline
LVF-Grünschnabel
*


Beiträge: 19
Registriert seit: Sep 2006

7.1
2005
kA


Deutschland
VI öfters benutzen!!
Hallo ich nochmal,

also eure Hilfe war bis jetzt echt hilfreich,
aber ich muss nochmal das ganze erklären!?!?!?

ich habe dieses Programm, in diesem programm muss ich einstellungen machen können, d.h. ich will das es nie
heizt.
Dann solte wie oben rechts angedeutet sich beim klicken auf dem knopf nächstes programm, das gleiche nochmals öffnen, und
in dem kann ich dann wieder was einstellen, z.b. Heizen nach.....
dann sollte beim klicken wieder das nächste kommen.

Jetzt sollte noch ein Button kommen indem steht START. wenn ich nun diesem betätige sollte er programm 1 und dann Programm 2
und programm..... ausführen, und immer erst 1 dann 2 dann ... .
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
  64bit in LV 32bit benutzen Trinitatis 4 3.797 18.03.2021 11:56
Letzter Beitrag: Trinitatis
  wie kann ich einen Programmierten Vi mehrmals in einem Vi benutzen? Mourad 3 3.615 08.05.2013 16:52
Letzter Beitrag: Mourad
  Wert setzen und für "oder" Funktion benutzen Knarrre 2 3.627 19.01.2012 18:59
Letzter Beitrag: Knarrre
  Formeln in LabVIEW benutzen McLovin 20 22.652 31.07.2010 22:01
Letzter Beitrag: Lucki
  Arrays effizent benutzen pumpkin0 1 4.250 16.06.2010 11:39
Letzter Beitrag: GerdW
  Queues benutzen für parallele Fenster M Nussbaumer 2 4.832 19.01.2010 22:20
Letzter Beitrag: M Nussbaumer

Gehe zu: