18.11.2014, 01:26
(Dieser Beitrag wurde zuletzt bearbeitet: 18.11.2014 07:23 von jg.)
Beitrag #1
|
Mido
LVF-Grünschnabel
Beiträge: 14
Registriert seit: Oct 2014
8.6
2014
DE
10555
Deutschland
|
beenden von Flache Sequenzstruktur
Hallo Zusammen,
ich hab folgendes Problem: ich möchte ein DC-Gerät fernsteuern, ich habe das geschafft bis ein kleines Problem.
mein Programm sollte das Gerät so steuern, dass es sich nach einer bestimmten Zeit ein- und ausschalten.
Z.B. 5 min an, 10 Sec aus, 3 min an ...usw.
Also das läuft schon gut ..aber wenn ich diese Zeiten festlege und das Programm läuft, kann ich dann das Programm nicht mehr beenden (wenn dann nur mit dem Stop-Button).
meine Frage:
kann ich irgendwie die Flache Sequenzstruktur mit einem Bedienelement beenden ??
Oder kann man diese bestimmten Zeiten anderes programmieren, dass es ,wie ich beschrieben hab, funktioniert ??
unten ist mein Programm...vllt kann einer von euch mir dabei helfen.
für jeden Tipp bin ich sehr dankbar.
Edit jg: externer Bildlink gelöscht
|
|
|
18.11.2014, 07:30
Beitrag #2
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: beenden von Flache Sequenzstruktur
Die Standardantwort auf deine Probleme lautet:
1) Verwende eine State-Machine (Zustandsautomat) als Programmstruktur anstatt einer Flat Sequence
2) Anstatt z.B. 1x 50 Sekunden zu warten, warte 500x 100 ms, dann kannst du jederzeit unterbrechen
Gruß, Jens
P.S.: Anhänge bitte in Zukunft in Übereinstimmung mit den LVF-Regeln hier im Forum hochladen.
P.P.S.: Wozu musst du dauernd in einer While-Schleife dein Gerät so schnell es geht immer wieder anschalten. Langt das nicht einmal?
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
18.11.2014, 11:45
Beitrag #4
|
Mido
LVF-Grünschnabel
Beiträge: 14
Registriert seit: Oct 2014
8.6
2014
DE
10555
Deutschland
|
RE: beenden von Flache Sequenzstruktur
(18.11.2014 07:30 )jg schrieb: P.P.S.: Wozu musst du dauernd in einer While-Schleife dein Gerät so schnell es geht immer wieder anschalten. Langt das nicht einmal?
Hallo Jens,
vielen Dank für deinen Tipp.
Ich beschäftige mich seit kurzer Zeit mit Labview, deswegen habe ich nicht so viele Erfahrungen
- eigentlich reicht es nur einmal anzuschalten, ich hab es bloß mit While-Schleife gemacht, damit ich wie gesagt die Flache Seq. beenden kann, was mir eigentlich nicht geholfen hat.
ich werde mein Programm so änderen, wie du vorgeschlagen hast ...
P.S: ich hänge meinen Programm und du kannt dir das angucken.
vielen Dank nochmal
Gruß
mido
DC_POWER_SUPPLY.vi (Größe: 33,51 KB / Downloads: 182)
|
|
|
18.11.2014, 15:34
Beitrag #5
|
Mido
LVF-Grünschnabel
Beiträge: 14
Registriert seit: Oct 2014
8.6
2014
DE
10555
Deutschland
|
RE: beenden von Flache Sequenzstruktur
Hallo Jens,
ich hab das programm so geändert, wie du vorgeschlagen hast . Es klappt aber nicht
vllt mache ich wieder was falsches
kannst du mir vllt das ma korrigieren oder einen Tipp geben ??
Danke dir im Voraus
Mido
DC.vi (Größe: 18,91 KB / Downloads: 158)
|
|
|
18.11.2014, 15:38
(Dieser Beitrag wurde zuletzt bearbeitet: 18.11.2014 15:41 von GerdW.)
Beitrag #6
|
GerdW
______________
Beiträge: 17.467
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: beenden von Flache Sequenzstruktur
Hallo Mido,
du näherst dich einer (vollständigen) Statemachine an. Weiter so!
Zitat:Es klappt aber nicht
Das ist kein Fehler, wie er von LabVIEW ausgegeben wird. Kannst du das mal genauer beschreiben?
Zitat:vllt das ma korrigieren
Willst du jetzt Rechtschreib-Tipps haben?
Zitat:oder einen Tipp geben ?
- Verknüpfe deinen STOPP-Button mittels einer OR-Funktion mit dem Stop-Flag aus deiner "Statemachine"!
- Da du in jedem State eine Wartezeit hast, kannst du die Wartefunktion aus der Case-Struktur herausnehmen und nach der Case-Struktur aufrufen. Aus jedem State wird dann die abzuwartende Wartezeit ausgegeben… (Allgemeiner Tipp: wenn man gleiche Code-Sequenzen innerhalb mehrerer Cases ausführt, kann man diesen Code (meist) auch nach der Struktur platzieren. Vorteil: Code ist nur einmal vorhanden…)
Außerdem:
|
|
|
18.11.2014, 15:55
Beitrag #7
|
Mido
LVF-Grünschnabel
Beiträge: 14
Registriert seit: Oct 2014
8.6
2014
DE
10555
Deutschland
|
RE: beenden von Flache Sequenzstruktur
(18.11.2014 15:38 )GerdW schrieb: Das ist kein Fehler, wie er von LabVIEW ausgegeben wird. Kannst du das mal genauer beschreiben?
Hallo GerdW,
danke erstmal für deine Mühe.
Also das Programm läuft sehr gut, bis auf dieses kleines Problem
...ich versuche dir zu erklären
Also wenn ich die Wartezeiten festlege z.B. (10 min AN, 1 min AUS ..usw), dann kann ich wärend diese Zeiten das Programm nicht mehr beenden...Es läuft bis diese Wartezeiten vergehen
Und das will ich ja beheben.
ich versuche jetzt deinen Tipp nachzugehen und ma gucken
gruß
Mido
P.S.: ich werde mein Profil ergänzen
|
|
|
18.11.2014, 16:04
Beitrag #8
|
GerdW
______________
Beiträge: 17.467
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: beenden von Flache Sequenzstruktur
Hallo Mido,
siehe Beitrag #2 und #3 weiter oben. Die beschreiben die Lösung…
|
|
|
19.11.2014, 13:40
Beitrag #9
|
Mido
LVF-Grünschnabel
Beiträge: 14
Registriert seit: Oct 2014
8.6
2014
DE
10555
Deutschland
|
RE: beenden von Flache Sequenzstruktur
(18.11.2014 16:04 )GerdW schrieb: Hallo Mido,
siehe Beitrag #2 und #3 weiter oben. Die beschreiben die Lösung…
Hallo GerdW,
es ist mir nicht gelungen, diese Beschreibung zu realisieren
ich kann leider die Wartezeit nicht kurzer machen, wie Jens beschrieben hat ( Anstatt z.B. 1x 50 Sekunden zu warten, warte 500x 100 ms)
vllt kannst du mir dazu noch einen Tipp geben ? ...ich bin ja LabVIEW-Anfänger.
Danke dir im voraus
Gruß
mido
DC.vi (Größe: 21,19 KB / Downloads: 180)
|
|
|
19.11.2014, 13:49
|
GerdW
______________
Beiträge: 17.467
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: beenden von Flache Sequenzstruktur
Hallo Mido,
hier mal die quick&dirty-Variante:
Wie schon gesagt:
- Warteschleife nach dem State
- Schleife, die ein kleines Intervall mehrfach wartet
- FOR-Loop mit Abbruchbedingung (gibt es die schon in LV8.6? Ist wirklich eine sehr alte LV-Version…)
- OR-Verknüpfung mit allgemeiner Abbruchbedingung
|
|
|
| |