LabVIEWForum.de
Isel Motion Problem mit Programmierung einer Endlosschleife - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA)
+---- Thema: Isel Motion Problem mit Programmierung einer Endlosschleife (/Thread-Isel-Motion-Problem-mit-Programmierung-einer-Endlosschleife)

Seiten: 1 2 3 4 5 6 7 8 9 10 11


RE: Isel Motion Problem mit Programmierung einer Endlosschleife - MoJoJo - 20.11.2014 08:15

Guten Morgen!
Ich bin immer noch nicht weiter gekommen.
Kann mir nicht doch jemand helfen und erklären, 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 und das solange bis die Spannung auf null sinkt oder ins negative geht, dann soll die Achse sich in die andere Richtung bewegen.
Vielen Dank für die Mühe!
Gruß Joana


RE: Isel Motion Problem mit Programmierung einer Endlosschleife - MoJoJo - 21.11.2014 11:14

Hat denn keiner eine Idee oder eine Tipp für die Lösung? Ich stehe auf dem Schlauch und glaube es ist ganz simpel. Sad


RE: Isel Motion Problem mit Programmierung einer Endlosschleife - Trinitatis - 21.11.2014 12:12

(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


RE: Isel Motion Problem mit Programmierung einer Endlosschleife - MoJoJo - 21.11.2014 12:45

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 Sad und vor allem wie.
Hast du ein Beispiel für mich ?
Das wäre super. Besten Dank
Gruß Joana


RE: Isel Motion Problem mit Programmierung einer Endlosschleife - Trinitatis - 21.11.2014 13:03

(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


RE: Isel Motion Problem mit Programmierung einer Endlosschleife - MoJoJo - 21.11.2014 13:24

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 Smile
Danke Joana


RE: Isel Motion Problem mit Programmierung einer Endlosschleife - MoJoJo - 21.11.2014 15:04

Ich habe jetzt alles versuch um die Producer Schleife umzubauen, doch keine Idee war erfolgreich. Ich kann es einfach nicht Sad ich hoffe auf deine Hilfe! Gruß Joana


RE: Isel Motion Problem mit Programmierung einer Endlosschleife - Trinitatis - 21.11.2014 15:40

Hallo Joana,

hast du denn schon ein VI, mit dem du die aktuelle Position deiner Achse oder noch besser: den Status, ob sich die Achse bewegt, auslesen kannst?
Dieses VI würde ich mal ins TO-Event legen und mir den Status Achse steht / Achse fährt auf dem Frontpanel anzeigen lassen.
Dann kannst du in deiner unteren Schleife die ganze RUN?-Abprüferei wegschmeißen und deine 3 Cases der Spannungszuordnungen global von der Tatsache Achse steht? abhängig machen.


Gruß, Marko


RE: Isel Motion Problem mit Programmierung einer Endlosschleife - MoJoJo - 21.11.2014 18:19

Leider habe ich kein VI mit dem ich den Status auslesen kann außer die Anzeige Run? Ich verstehe leider nur Bahnhof von dem was du meinst Sad


RE: Isel Motion Problem mit Programmierung einer Endlosschleife - Trinitatis - 21.11.2014 21:55

Du musst erstmal den Status deiner Linearachse auslesen, entweder ihren Status oder ihre Position - das geht auf jeden Fall.
Wenn du über einen zeitlichen Abstand von ein paar Millisekunden ihre Position ausliest und die sich nicht geändert hast, weißt du, dass sie steht.
In diesem Fall generierst du neue Events in Abhängigkeit von deiner Spannung.

Gruß, Marko