27.11.2008, 22:38
Beitrag #1
|
Kex2006
LVF-Gelegenheitsschreiber
Beiträge: 59
Registriert seit: May 2008
8.2.1
2008
de
65812
Deutschland
|
Errorline
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
|
|
|
28.11.2008, 07:54
Beitrag #2
|
VDB
LVF-Stammgast
Beiträge: 426
Registriert seit: Oct 2005
2010-2011
1997
kA
52134
Deutschland
|
Errorline
' 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
|
|
|
28.11.2008, 08:09
Beitrag #3
|
TSC
LVF-Team
Beiträge: 1.882
Registriert seit: Sep 2008
LV 2018 SP1
2008
EN
52379
Deutschland
|
Errorline
' 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)
|
|
|
29.11.2008, 15:43
Beitrag #4
|
Kex2006
LVF-Gelegenheitsschreiber
Beiträge: 59
Registriert seit: May 2008
8.2.1
2008
de
65812
Deutschland
|
Errorline
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?
|
|
|
29.11.2008, 16:06
Beitrag #5
|
Peter04
LVF-Stammgast
Beiträge: 305
Registriert seit: Jan 2008
2020
2007
DE_EN
79xxx
Deutschland
|
Errorline
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
|
|
|
29.11.2008, 18:10
Beitrag #6
|
Kex2006
LVF-Gelegenheitsschreiber
Beiträge: 59
Registriert seit: May 2008
8.2.1
2008
de
65812
Deutschland
|
Errorline
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?
|
|
|
29.11.2008, 18:38
Beitrag #7
|
Peter04
LVF-Stammgast
Beiträge: 305
Registriert seit: Jan 2008
2020
2007
DE_EN
79xxx
Deutschland
|
Errorline
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
|
|
|
29.11.2008, 19:17
Beitrag #8
|
TSC
LVF-Team
Beiträge: 1.882
Registriert seit: Sep 2008
LV 2018 SP1
2008
EN
52379
Deutschland
|
Errorline
' 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)
|
|
|
29.11.2008, 20:56
Beitrag #9
|
Kex2006
LVF-Gelegenheitsschreiber
Beiträge: 59
Registriert seit: May 2008
8.2.1
2008
de
65812
Deutschland
|
Errorline
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
|
|
|
| |