INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Verschachtelte und parallele Schleifen gleichzeitig beenden



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!

11.11.2016, 20:03
Beitrag #1

Rayid Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Sep 2016

LabVIEW 2010
2016
DE



Verschachtelte und parallele Schleifen gleichzeitig beenden
Hallo liebe Community,

bei diesem Beitrag geht es um gleichzeitiges beenden von verschachtelten und parallel laufenden Schleifen.

Erstmal zum Programm.

Bei diesem Programm geht es darum einen Elektromotor gegen eine Bremse laufen zu lassen. Dabei wird der Motor gestartet anschliesend die Bremse bestromt, eine Zykluszeit der Motor laufen gelassen und dann gestoppt und die Pausenzeit abgewartet.
Es laufen mehrere Zyklen hintereinander ab welche der User in der Tabelle eingeben bzw. definieren kann. Sobald man dann auf Start drückt läuft das Programm alle Zyklen durch und beginnt die Sequenz dann so oft von neu wie der User definiert hat.

Dabei laufen mehrere Schleifen hintereinander ab und auch manche parallel.
Ich will sozusagen es möglich machen das sobald der User den Start/Stop button umlegt (also auf stop) das der dauerlauf abbricht, der Motor gestoppt, der Strom von der Bremse genommen wird und man den lauf des Elektromotors neu starten kann.

Ich arbeite schon mit lokalen Variablen und habe zich sachen damit probiert aber irgendwie bekomm ich es net hin weil sobald ich auf abbrechen drücke während der Motor läuft funktioniert es einwandfrei. Das programm geht in die äußerste Schleife zurück und ich kann von neu starten. Drücke ich aber Pause während der Motor sich gerade in der Pausenzeit befindet startet er noch einmal und das programm bleibt dann genau kurz bevor die bremse bestromt wird hängen. Der Motor läuft dann nur noch ohne last Dauerhaft mit der Drehzahl des nächst definierten Zyklusses. Der Start/Stop hebel ist dann komplett ohne funktion und das Programm macht nicht mehr weiter.

Ich will das jedesmal wenn ich stop gedrückt wird alles beendet wird und wieder in der äußersten Schleife die Zyklen neu gestartet werden kann. Die VI befindet sich im Anhang.

Gleich vorrab ich bin völligst der Anfänger und habe mir alles selber über das internet ohne irgendwelche Kurse oder Hilfe beigebracht und hatte auch nur wenig zeit dafür, da ich leider zeitdruck habe. Deswegen nehmt rücksicht und seit nett Big Grin

Danke schonmal allen glühenden Köpfen im vorraus Big Grin


Angehängte Datei(en)
10.0 .vi  Sequenzen.vi (Größe: 278,89 KB / Downloads: 275)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
11.11.2016, 22:31 (Dieser Beitrag wurde zuletzt bearbeitet: 12.11.2016 07:22 von jg.)
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Verschachtelte und parallele Schleifen gleichzeitig beenden
Wir hatten ja schon einmal das Thema "State-Machine", damit wäre dein VI wesentlich übersichtlicher und einfacher abzubrechen.

Speziell zu deinem VI: THINK Dataflow, wenn du erst am Ende der äußeren For-Loop den Status deines Start/Stopp Schalter auswerten willst, dann musst du das auch so programmieren.

Gruß, Jens

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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.11.2016, 00:36
Beitrag #3

Rayid Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Sep 2016

LabVIEW 2010
2016
DE



RE: Verschachtelte und parallele Schleifen gleichzeitig beenden
Ja genau das will ich aber verstehe einfach nicht wie. Mein Taster läuft ja in der While Schleife und ich weis einfach nicht wie ich es hinbekomme das er auch in der bzw. nach der Pausenzeit abbricht BahnBahn

Könntest du deine Antwort etwas genauer schildern? Oder einprogrammieren was du genau meinst?
Der einfache satz hat mir jetzt nicht viel gebracht.

Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.11.2016, 07:26
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Verschachtelte und parallele Schleifen gleichzeitig beenden

Akzeptierte Lösung

(12.11.2016 00:36 )Rayid schrieb:  Könntest du deine Antwort etwas genauer schildern? Oder einprogrammieren was du genau meinst?
Mist, habe gestern die falsche Version hochgeladen:

10.0 .vi  Sequenzen.vi (Größe: 275,76 KB / Downloads: 241)

Gruß, Jens

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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.11.2016, 13:42
Beitrag #5

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Verschachtelte und parallele Schleifen gleichzeitig beenden

Akzeptierte Lösung

(11.11.2016 22:31 )jg schrieb:  Wir hatten ja schon einmal das Thema "State-Machine", damit wäre dein VI wesentlich übersichtlicher und einfacher abzubrechen.

Damit der Hinweis von JG noch deutlicher wird, sag ich auch noch mal:

Einen Ablauf mit verschachtelten und/oder sequenziellen Schleifen durchzuführen, ist Im Allgemeinen die unprofessionellste, also schlechteste aller Möglichkeiten. Eine Schrittkette ist normalerweise die bessere Lösung.

Es mag zwar sein, das die erste Möglichkeit leichter zu programmieren ist als eine Schrittkette - aber was Debugging angeht und Erweiterbarkeit ist eine Schrittkette unschlagbar. Dabei ist es ganz einfach, eine Schrittkette zu programmieren: Du brauchst nur einen strict-typisierten private Datensatz, der alle(!) laufenden Daten (also auch die Schleifenzähler etc. samt aktuellem Schritt STATE) enthält. Ferner eine STATE-Sequenz in einer While-Schleife. STATE selbst ist ein strict-typisierter Enumerator. Mit in die While-Schleife sequenziert zur Statemachine kannst du weitere Funktionen integrieren - zum Beispiel einen Abbruch nach jedem einzelnen Schritt ...

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.11.2016, 07:48
Beitrag #6

Rayid Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Sep 2016

LabVIEW 2010
2016
DE



RE: Verschachtelte und parallele Schleifen gleichzeitig beenden
Hallo und schönen Montag,

habe mich mal hingehockt am Sonntag und das Programm umgeschrieben auf eine State maschine. Komme heute warscheinlich nicht zum testen aber sollte so eigentlich funktionieren.

Es fehlt nurnoch das abwarten auf das vorgegeben Drehmoment bevor die Zeit beginnt aber das krieg ich auch noch hin sollte kein Problem darstellen (Vorerst gesagt 2hands)

Möchte gerne noch eine Ratschlag von euch einholen.
Ich würde jetzt gerne genau dieses Programm auf einem kleinen PC oder Microcontroller laufen lassen. Sozusagen auf Ihn dieses Labviewprogramm draufspielen und dann alleine selbständig laufen lassen nachdem man auf Start gedrückt hat.

Ich habe überlegt ein Raspberry pi 3 zu verwenden. Bei Ihm könnte ich dann per USB einfach die befehle rausschicken und das System laufen lassen zusätzlich noch über USB messdaten einlesen. Natürlich gibt es noch andere Varianten von National Instruments, Arduino, etc etc. (habe im internet mehrere möglichkeiten gesehen mit verschiedensten microcontrollern oder kleinPC's) aber ich will sozusagen so einfach und günstig wie möglich bleiben, da das System auch später von einem Bediener schnell erlernt und selber programmiert und bedient werden soll. Raspberry erschien mir sehr simple zu verstehen und umzusetzten.

Habt ihr da vielleicht irgendwelche empfehlungen für mich?
Sry falls diese anfrage im falschen bereich landet aber habe gedacht ist einfacher zu verstehen wenn oben gleich mein Programm ist Smile

Grüßer Rayid


Angehängte Datei(en)
10.0 .vi  StateMaschine.vi (Größe: 189,17 KB / Downloads: 203)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
14.11.2016, 08:24 (Dieser Beitrag wurde zuletzt bearbeitet: 14.11.2016 08:25 von GerdW.)
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Verschachtelte und parallele Schleifen gleichzeitig beenden
Hallo Rayid,

wenn man dein VI öffnet, bekommt man das hier geboten:
    (5 lokale Variablen von "Zyklus" - von denen keine einzige benötigt wird!)
Was genau an "THINK DATAFLOW!" hast du nicht verstanden? Hmm

Ersetze nach Möglichkeit ALLE lokalen Variablen durch Drähte! Vermeide RaceConditions!
Nutze Schieberegister!
Lerne LabVIEW anhand der vielen kostenlosen Angebote von NI!
Bitte keine Bezeichnungen von Terminals im BD ausblenden! (Wenn dein Label zu lang ist: kurzes prägnantes Label benutzen und im FP einen Untertitel/Caption benutzen!)
(Ein paar Stichworte: Gerade Drähte, AutoCleanup, StyleGuide…)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Parallele Frequenz-Datenerfassung mit NI-9401 ArneS 5 2.886 18.02.2021 09:41
Letzter Beitrag: GerdW
  Verschachtelte Clusterelemente auslesen simcum 5 3.160 31.08.2020 10:25
Letzter Beitrag: simcum
  2 Parallele While-Schleifen mit unterschiedlichen Timer beenden Tomate27 3 2.394 18.08.2020 13:29
Letzter Beitrag: GerdW
  parallele Ausführung von for-loops stsc 5 4.152 24.07.2019 15:12
Letzter Beitrag: stsc
  verschachtelte Bibliotheken - Architekturfrage seuk 3 3.155 12.07.2018 11:32
Letzter Beitrag: GerdW
  verschachtelte Cluster gottfried 5 4.218 04.12.2017 17:24
Letzter Beitrag: gottfried

Gehe zu: