21.11.2014, 12:12
|
Trinitatis
LVF-Guru
Beiträge: 1.694
Registriert seit: May 2008
7.1 / 8.0 /2014-1, 18
2002
DE
18055
Deutschland
|
RE: Isel Motion Problem mit Programmierung einer Endlosschleife
(20.11.2014 08:15 )MoJoJo schrieb: ... wie ich eine Wiederholung ohne Schleife im Ereigniscase erzeuge? Also ich möchte alle 5ms die Geschwindigkeit neu auslesen und solange eine Spannung anliegt soll die Achse sich bewegen nach vorgegebener Strecke...
Hallo Joana,
du hast doch schon die untere Schleife, die ständig deine aktuelle Geschwindigkeit ausliest. Diese Schleife ist dein Producer, weil er nämlich Events generiert, die deine obere Schleife (der Consumer) abarbeiten soll.
Du kannst also in deiner unteren Schleife auslesen, ob deine Spannung in dem Bereich "fahre vorwärts", "bleib stehen" oder "fahre rückwärts" befindet.
Wenn du feststellst, dass die Spannung einen Wert hat, der dir sagt, die Achse soll vorwärtsfahren, dann musst du erst prüfen, ob die Achse steht. Wenn sie das tut, dann generierst du das Event "vorwärtsfahren", dass die obere Eventstruktur ausführt. Da das Event aber nur den Impuls "Losfahren" gibt, kannst du keine Eventblockade nutzen, um in der unteren Schleife neue Events abzublocken, solange die Achse fährt. Deshalb musst du in der unteren Schleife neben der Spannungsprüfung auch immer mitprüfen, ob die Achse noch in Bewegung ist. (z.B. mit 2 Positionsabfragen).
Ich hoffe, ich konnte damit weiterhelfen.
Gruß, Marko
|
|
|
21.11.2014, 12:45
|
MoJoJo
LVF-Gelegenheitsschreiber
Beiträge: 80
Registriert seit: May 2014
2014
2014
DE
Deutschland
|
RE: Isel Motion Problem mit Programmierung einer Endlosschleife
So weit so gut. Das was du mir schreibst müsste ja rein theoretisch so schon funktionieren. Es ist ja alles drin was du aufgeführt hast. Das Problem besteht ja jetzt darin, dass ich die Spannung nach jeder Bewegung, die gefahren wurde wieder auf null drehen muss, um eine weitere Bewegung zu starten. Mir ist einfach nicht klar, wie ich diese Bedingung umgehe, sodass ständig ein Impuls gesetzt wird, solange eine Spannung anliegt ohne das ich Schalten muss dazwischen...
Ich weiß einfach nicht wo ich ansetzen soll und vor allem wie.
Hast du ein Beispiel für mich ?
Das wäre super. Besten Dank
Gruß Joana
|
|
|
21.11.2014, 13:03
|
Trinitatis
LVF-Guru
Beiträge: 1.694
Registriert seit: May 2008
7.1 / 8.0 /2014-1, 18
2002
DE
18055
Deutschland
|
RE: Isel Motion Problem mit Programmierung einer Endlosschleife
(21.11.2014 12:45 )MoJoJo schrieb: Das Problem besteht ja jetzt darin, dass ich die Spannung nach jeder Bewegung, die gefahren wurde wieder auf null drehen muss, um eine weitere Bewegung zu starten.
...ganz genau!
Weil dein Code eben nicht das von mir beschriebene macht.
Ich kann dein VI gerade nicht öffnen, da ich etwas installiere. Ich meine aber, mich zu erinnern, dass die Variable RUN? oder so ähnlich erst rückgesetzt wird, wenn das StopEvent ausgeführt wird. Du musst also deine Producerschleife so umbauen, dass sie das nächste Event "fahren" erst generiert, wenn die Achse steht und nicht, wenn ein Flag zurückgesetzt wird, dass eben erst beim Stop-Event angefasst wird.
Gruß, Marko
|
|
|
21.11.2014, 13:24
|
MoJoJo
LVF-Gelegenheitsschreiber
Beiträge: 80
Registriert seit: May 2014
2014
2014
DE
Deutschland
|
RE: Isel Motion Problem mit Programmierung einer Endlosschleife
Okay ich versuche es umzusetzen. Wäre schön, wenn du Zeit dafür übrig hast, wenn du mir ein Beispiel hochladen würdest. Dann wärst du mein Held
Danke Joana
|
|
|
21.11.2014, 15:04
|
MoJoJo
LVF-Gelegenheitsschreiber
Beiträge: 80
Registriert seit: May 2014
2014
2014
DE
Deutschland
|
RE: Isel Motion Problem mit Programmierung einer Endlosschleife
Ich habe jetzt alles versuch um die Producer Schleife umzubauen, doch keine Idee war erfolgreich. Ich kann es einfach nicht ich hoffe auf deine Hilfe! Gruß Joana
|
|
|
| |