18.10.2006, 09:08
Beitrag #1
|
Franky79
LVF-Grünschnabel
Beiträge: 42
Registriert seit: Oct 2006
8.20
2006
kA
85107
Deutschland
|
Sequenz in ner Schleife
Sequenz_inner_Schleife.vi (Größe: 16,22 KB / Downloads: 199)
Hallo Leute
Ich bins mal wieder und ich hoff ihr könnt mir nochmals helfen.....
Ich muss in meinem Programm Fehlersimulationen einbauen ( z.b Wenn nach eingestellter Zeit ein bestimmtes Signal nicht anliegt Programm abbrechen etc...)
Darum jetzt meine Frage: Warum bricht eine while-Schleife hier nicht ab nach der Zeit sondern arbeitet zuerst die Sequenz fertig ab??
Kann ich die Abbruchbedingung irgendwie mit der Sequenz verbinden, damit sie nicht fertig abgearbeitet wird??
Mfg
|
|
|
18.10.2006, 09:12
(Dieser Beitrag wurde zuletzt bearbeitet: 18.10.2006 09:29 von Dennis.Moser.)
Beitrag #2
|
Dennis.Moser
Administrator
Beiträge: 3.045
Registriert seit: Aug 2004
5.1 : 7.1 : 8.x : 20xx
1997
DE_EN
57589
Deutschland
|
Sequenz in ner Schleife
hallo franky,
ohne dein vi geöffnet zu haben...;)kann ich dir sagen, das ein abbruch einer "normalen" sequenz NICHT möglich ist.
Dazu müsstest du z.b. über eine "state machine" (zustandsmaschine!?) gehen. dort kannst du vor und zurückspringen (wie wann und wohin du willst...) (immer diese werbesprüche... ;P)
Wissen ist das einzige Gut das sich vermehrt, wenn man es teilt!
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
BC: 14vqy6mgfswpX6z7HLVxk1h3sHAvzE4aZG
|
|
|
18.10.2006, 09:26
(Dieser Beitrag wurde zuletzt bearbeitet: 18.10.2006 09:29 von Dennis.Moser.)
Beitrag #3
|
Franky79
LVF-Grünschnabel
Beiträge: 42
Registriert seit: Oct 2006
8.20
2006
kA
85107
Deutschland
|
Sequenz in ner Schleife
' schrieb:hallo franky,
ohne dein vi geöffnet zu haben...;)kann ich dir sagen, das ein abbruch einer "normalen" sequenz NICHT möglich ist.
Dazu müsstest du z.b. über eine "state machine" (zustandsmaschine!?) gehen. dort kannst du vor und zurückspringen (wie wann und wohin du willst...) (immer diese werbesprüche... ;P)
Hi Dennis
Bin glaub ich kackendoof,
kannst mir vielleicht grob erklären wie ich die einbinden soll!? Finde darüber nichts in der LabVIEW-Hilfe und auch nichts in nem Buch....
Oder hast nen anderen Tipp für mich?
Hab ne ziemlich dicke Sequenz und müsste die nach einer gewissen Zeit abbrechen lassen falls entweder ein "NOT-AUS" betätigt wurde oder eine gewisse Zeit verstrichen ist..
Gruß
|
|
|
18.10.2006, 09:29
(Dieser Beitrag wurde zuletzt bearbeitet: 18.10.2006 09:36 von Lucki.)
Beitrag #4
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
Sequenz in ner Schleife
Die schlechte Nachrich für Dich:
Das ist nun einmal so, daß
a) in einer While-Schleife immer alles abgearbeitet wird was drin ist, auch wenn die Abbruchbedingung gleich zuerst ermittelt ist
b) eine Sequenz, genau wie eine for-Schleife, nicht unterbrochen werden kann.
Die gute Nachricht:
Es gibt ein work-arround für alle dies Fälle: Pfiffige Einfügung von Cases, die im Abbruchfall leer sind.
Also Dein Problem läßt sich so lösen:
|
|
|
18.10.2006, 09:30
Beitrag #5
|
Dennis.Moser
Administrator
Beiträge: 3.045
Registriert seit: Aug 2004
5.1 : 7.1 : 8.x : 20xx
1997
DE_EN
57589
Deutschland
|
Sequenz in ner Schleife
such mal nach "Standard State Machine" hatte nen tipfehler...
ist auf jeden fall bei den Examples dabei...
Wissen ist das einzige Gut das sich vermehrt, wenn man es teilt!
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
BC: 14vqy6mgfswpX6z7HLVxk1h3sHAvzE4aZG
|
|
|
18.10.2006, 09:58
Beitrag #6
|
cb
LVF-SeniorMod
Beiträge: 1.731
Registriert seit: Feb 2006
2018SP1
2001
EN
40xxx
Deutschland
|
Sequenz in ner Schleife
' schrieb:Die gute Nachricht:
Es gibt ein work-arround für alle dies Fälle: Pfiffige Einfügung von Cases, die im Abbruchfall leer sind.
Lucki! zeig ihm doch nicht sowas, das ist ja quasi die Anleitung zum Spagetti-Code!
<JAUL>
Sicher, mann KANN sowas machen, wenn man bei der Inbetriebnahme ist, 10 nervöse Abteilungsleiter des Kunden um einen rumstehen, man die Nerven blank hat und schnell nach Hause will. Ansonsten sollte man sich immer drum bemühen, sich im Großen und Ganzen an die LabVIEW Design Rules zu halten, und da gibt's nur eine Antwort: nimm eine State Machine!
Grüße
CB
|
|
|
18.10.2006, 10:16
(Dieser Beitrag wurde zuletzt bearbeitet: 18.10.2006 10:28 von Lucki.)
Beitrag #7
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
Sequenz in ner Schleife
' schrieb:Lucki! zeig ihm doch nicht sowas, das ist ja quasi die Anleitung zum Spagetti-Code!
Da hast ja vollkommen recht, aber gesetzt den (zugegebenermaßen wenig realistischen Fall), daß es in der rauhen Wirklichkeit tatsächlich so simple VIs gibt wie das von Franky79, dann wird mit dem Hinweis auf einen Zustandsautomaten wirklich mit Kanonen auf Spatzen geschossen.
Und die Gefahr, daß Leute durch Lesen meines Beitrages irrevesibel geschädigt und nie wieder ein gutes Programm schreiben werden, ist ja nun gottseidank durch Deine Warnung entschärft.
Aber trotzdem, Du hast recht und ich übe Selbskritik: Ich hätte das nicht zumindest nicht als allgemeine Methode empfehlen dürfen - und leider habe ich genau das getan.
|
|
|
18.10.2006, 10:27
Beitrag #8
|
|
|
18.10.2006, 10:55
Beitrag #9
|
Franky79
LVF-Grünschnabel
Beiträge: 42
Registriert seit: Oct 2006
8.20
2006
kA
85107
Deutschland
|
Sequenz in ner Schleife
' schrieb:
jau, got it
Hi Leute
Hab doch hoffentlich nicht nen Krieg entfacht,hm??
Ein wenig umfangreicher ist mein Programm mitlerweile schon, da ich aber ein programmiertechnisches
Wunderwerk bin und seit 1 Woche immer wieder mit so Kleinigkeiten kämpfe schick ich auch nur das was ich grade so wissen möchte...
Tja und nun bin ich an dieser State Maschine angelangt.... Schau ma mal ob ichs auf die Reihe krieg..
Also habt euch wieder lieb
Mfg
Franky
|
|
|
18.10.2006, 11:35
|
cb
LVF-SeniorMod
Beiträge: 1.731
Registriert seit: Feb 2006
2018SP1
2001
EN
40xxx
Deutschland
|
Sequenz in ner Schleife
' schrieb:Hi Leute
Hab doch hoffentlich nicht nen Krieg entfacht,hm??
nö, ganz bestimmt nicht. Ich hab das eher als Aufforderung aufgefasst, nicht immer den Prinzipienreiter raushängen zu lassen. Ist ja auch manchmal schlimm mit mir - gerade in diesem Forum, andererseits bin ich halt der Meinung ein Anfänger sollte erstmal den "richtigen" Ansatz lernen, bevor er mit den schmutzigen Tricks anfängt - auch wenn sich das manchmal Oberlehrerhaft anhört.
Ein Fahranfänger lernt ja auch nicht zuerst, wie man im M5 über den Nürburgring rast, sondern lernt erstmal, Einkuppeln, Gasgeben, Verkehrsregeln, etc ...
>>ausserdem heist das immer noch Lutschfruchtbonbon
Grüße
CB
|
|
|
| |