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!
Hallo,
mein Programm wird langsam unübersichtlich und ich möchte sicher gehen dass alle sub vis in der richtigen reihenfolge abgearbeitet werden. das geht mit der error line hab ich gehört. aber wie funktioniert das genau? was ist der "start" wo und wie das "ende" und wie kann ich einen eror line und/oder ausgang in einem sub vi unterbringen?
Liebe Grüße
Lena
' schrieb:Hallo,
mein Programm wird langsam unübersichtlich und ich möchte sicher gehen dass alle sub vis in der richtigen reihenfolge abgearbeitet werden. das geht mit der error line hab ich gehört. aber wie funktioniert das genau? was ist der "start" wo und wie das "ende" und wie kann ich einen eror line und/oder ausgang in einem sub vi unterbringen?
Liebe Grüße
Lena
Dazu musst du jedes VI mit einem "error in" und einem "error out" cluster ausstatten. Dann immer Ausgang mit dem nächsten Eingang verbinden usw. so dass eine Kette entsteht.
Schau dir dazu das Template unter Datei|Neu...|Sub VI mit Fehlerbearbeitung (oder so ähnlich, habe keine Deutsche Version) mal an.
' schrieb:Dazu musst du jedes VI mit einem "error in" und einem "error out" cluster ausstatten. Dann immer Ausgang mit dem nächsten Eingang verbinden usw. so dass eine Kette entsteht.
Schau dir dazu das Template unter Datei|Neu...|Sub VI mit Fehlerbearbeitung (oder so ähnlich, habe keine Deutsche Version) mal an.
VDB
Ich habe immer ein Problem, wenn der Datenfluss nicht eindeutig ist. Sprich LabVIEW hat mehrere Möglichkeiten, an denen es weiter machen kann. Durch eine strikte ERROR-Verkettung würde ich den Datenfluss festlegen. Alternativ habe ich mal versucht, das VI "ERROR kombinieren" zu verwenden, allerdings habe ich mir nie genau angeschaut, was es genau macht. Wenn ich mal wieder langeweile habe, werf ich mal nen Blick in die Doku.
LG
Torsten
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Ok danke,
und wie fange ich die errorline an? einfach mit einer vi wo ein error cluster rausgeht?
und wenn ich mehrere gleichzeititg ablaufen lassen will, kann ich die dann in eine while schleife packen die nur einmal durchläuft und die errorline durch die while schleife ziehen?
"wo anfangen?"
Entweder, wie Du vorschlägst, am vi das einen error-Ausgang hat, oder schöner, am Eingang.
Ich glaube die Faustregel ist, vis mit Fehlerausgang haben auch einen Fehlereingang. Beim ersten vi mit Fehlereingang einfach mit dem Verdrahtungswerkzeug drüber, dann -> Erstellen -> Bedienelement, oder halt darauf verzichten und den Ausgang nehmen und weiterverbinden zum nächsten vi mit error-Eingang. Das regelt den Ablauf. Auch in der Schleife, ob 1x mal oder 100x. Ich selbst habe das error-verbinden lange vernachlässigt, ist aber wie gesagt die einfachste Methode zur Flußkontrolle.
Vorausgesetzt ich habe das bei Dir mit der Schleife richtig verstanden!? Das mit dem "mehrere gleichzeitig laufen lassen" verstehe ich weniger. vis? errorcluster?
danke!
wegen gleichzeitig ablaufen:
ich habe 2 vis am anfang die hintereinander ablaufen sollen. dann habe ich ein paar case fälle und sub vis die im moment (ohne error line) genauso ablaufen wie sie sollen.. auch gleichzeitig.. die möchte ich so lassen und nicht mit der error line hintereinander ablaufen lassen
und danach sind noch mal 2 vis die danach ablaufen sollten.
deshalb dachte ich den "komplex" in der mitte in eine while schleife packen die nur einmal abläuft, die error line dann von 1. vi zur 2. vi dann einfach einmal durch die while schleife führen und dann zu den letzten beiden vis.
wäre das möglich?
Also was ich als "komplex in der Mitte" verstehe, ist das was Du beschreibst "möchte ich gerne so lassen"!?
Du mußt auch aufpassen, mit "hintereinander" oder "gleichzeitig" ablaufen l. Da lauert der Fallstrick...
Wie wäre es denn mal mit einem vi oder screenshot?
' schrieb:danke!
wegen gleichzeitig ablaufen:
ich habe 2 vis am anfang die hintereinander ablaufen sollen. dann habe ich ein paar case fälle und sub vis die im moment (ohne error line) genauso ablaufen wie sie sollen.. auch gleichzeitig.. die möchte ich so lassen und nicht mit der error line hintereinander ablaufen lassen
und danach sind noch mal 2 vis die danach ablaufen sollten.
deshalb dachte ich den "komplex" in der mitte in eine while schleife packen die nur einmal abläuft, die error line dann von 1. vi zur 2. vi dann einfach einmal durch die while schleife führen und dann zu den letzten beiden vis.
wäre das möglich?
habs auch nicht so ganz durchschaut, aber wenn du mit der einmaligen schleife lediglich den datenfluss steuern willst, verwende lieber eine sequenz struktur.
LG
Torsten
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Ja genau das werde ich glaub auch tun.. das zeitliche mit sequenzen regeln nicht mit der error line.. habs grad ausprobiert und das programm macht garnicht mehr was ich will!!
mit "komplex" meinte ich 3 case strukturen ( in denen jeweils ein sub vi ist) deren ausgänge dann auf ein sub vi geführt werden. und das funktioniert bisher gut.
wie ist das wenn ich in einem sub vi noch ein sub vi habe, muss die errorline dann auch durch die geführt werden?
also programm vi --> sub vi (1)--> sub vi in sub vi (2)
selbst wenn die sub vi (1) so wie sie ist zeitlich gut funktioniert?