LabVIEWForum.de - Errorline

LabVIEWForum.de

Normale Version: Errorline
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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.

VDB
' 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
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?
Hallo,

"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?

Schönen Gruß

Peter
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?
Bahn

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?

Schönen Gruß

Peter
' 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
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?

liebe grüße
Hallo,

erstelle in allem Subvis ein error in und error out und gut is.
Du musst nicht, aber Du kannst, und Du solltest.

Peter
Referenz-URLs