Isel Motion Problem mit Programmierung einer Endlosschleife
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!
Isel Motion Problem mit Programmierung einer Endlosschleife
Hallo zusammen,
Mein Name ist Andreas und ich bin gerade erst neu hier im Forum und ich bin leider ein Labviewbeginner.
Also meine Aufgabe lautet in der Steuerung eines Isel Servomotors eine Endlosschleife zu programmieren, so dass mitels des Linearantriebs zwei definierte Punkte abfährt. Dies sollte sich nun solange wiederholen, bis die Schleife abgerbochen wird.
Das Problem liegt darin, dass wenn die Anwendung (hier "Test" Button) gestartet wird diese unendlich lang abläuft aber nicht abgebrochen werden kann. Das liegt daran, dass in dem ISEL VI eine gestartete Anwendung erst ablaufen muss ehe man eine weitere ausführen kann. Da es sich hier bei aber um eine Endlosschleife handelt, kann diese nicht ablaufen und somit auch kein Abbruch Button betätigt werden (hier erneutes Klicken des "Test"-Buttons). Ich habe schon alles Mögliche an Abbruch bedingungen ausprobiert. Meiner Meinung nach liegt das Problem in der Einbettung der Schleife in der ISEL Demo.
Leider kann man das Programm nicht ohne geeignete Hardware ablaufen lassen, aber vllt erkennt ja jemand das Problem auf anhieb.
RE: Isel Motion Problem mit Programmierung einer Endlosschleife
Tja, da ist guter Rat teuer. Denn so etwas macht man eben nicht: In die Ereignisbehandlungscases Codes mit langen oder sogar unendlich langen Wartezeiten reinpacken. Das Programm ist dann in dieser Zeit für jegliche Bedienung, einschließlich der des Stop-Knopfes, blockiert.
Ich kann mir eigentlich nicht vorstellen, daß ISEL so etwas macht. Beispielsweise ein SubVI "Bewegen von A noch B" sollte nicht solange blockieren, bis B erreicht ist, sondern nur das Kommando an die Steurungseinheit weitergeben Mach doch mal in den Timeout-Case einen Signalton hinein (meine Methode) , wenn du während der Bewegung was hörst, wäre der Case, der die Bewegung veranlasst, während der Bewegung nicht blockiert.
RE: Isel Motion Problem mit Programmierung einer Endlosschleife
Hallo ich hoffe hier bin ich richtig mit meiner Frage.
Es geht um die Demo von der Firma Isel.
Ist es möglich die Position der x Achse extra auszulesen und beispielsweise unter einer Excel Datei abzuspeichern? Wenn ja wie? Ich finde keinen Anschluss an die Cluster Aufteilung.
Ich danke euch jetzt schon mal für eure Hilfe
Lg MoJoJo
RE: Isel Motion Problem mit Programmierung einer Endlosschleife
Und was ist das hier? Ich mache die Demo aus Beitrag #1 auf, und da springt mir ein Unbundle Cluster mit PosX entgegen:
Macht wahrscheinlich genau das was du willst.
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!
RE: Isel Motion Problem mit Programmierung einer Endlosschleife
Hallo nochmal!
Ich möchte die Achse der Firma Isel anhand eines analogen Signals steuern, dazu benötige ich genau das, was in der Demo gezeigt wird. In der Demo klicke ich mit der Maus auf das X+ oder X- und die Achse bewegt sich in vorgegebener Geschwindigkeit und legt eine vorgegebene Strecke zurück.
Jedoch möchte ich dies jetzt nicht per Mausklick umsetzen sondern einen Wert übergeben, der dafür sorgt, dass die Achse sich solange der Wert nicht null ist bewegt,wenn der Wert negativ ist soll die Achse in die Achse in die eine Richtung fahren bzw. umgekehrt. Ist das möglich?
Wenn ja, kann mir jemand sagen, wie sich das realisieren lässt?
Mein Ansatz war im Ereigniscase Teach.Teach die Optionen zu ändern von Mausklick auf Wertänderung, aber wo muss ich den Wert übergeben? Ist das überhaupt richtig?
RE: Isel Motion Problem mit Programmierung einer Endlosschleife
Hallo MoJo,
Zitat:Wenn ja, kann mir jemand sagen, wie sich das realisieren lässt?
Üblicherweise schaut man sich Manual und Beispiel-VIs an, um die nötigen Befehle zu finden.
Wenn man die Befehle erst einmal kennt, schickt man sie in einem eigenen VI zum Gerät.
Du hast also dieses Demo-VI und siehst die Befehle zum Bewegen der Achsen. Was hindert dich jetzt, ein eigenes VI zu schreiben?
RE: Isel Motion Problem mit Programmierung einer Endlosschleife
Nunja, die Beispiel VIs habe ich mir auch angeschaut und teilweise verstanden... das Manual dazu fehlt, ich habe nirgendwo eine Beschreibung oder ähnliches gefunden. Die Firma Isel selbst hat keinen Support für Labview.
Mir geht es direkt darum, einen Mausklick umzuformen in einen Wert der übergeben wird, statt des Klicks. Und genau das kann ich nicht. Im Anhang befindet sich das Bild, welches genau den Ereigniscase darstellt, der das macht, was ich möchte nur eben nicht mit Übergabe eines Wertes und ich weiß nicht an welcher Stelle ich ansetzen muss.
RE: Isel Motion Problem mit Programmierung einer Endlosschleife
Hallo zusammen,
Ich beschäftige mich immer noch mit einer Ansteuerung einer Linearchse der Firma Isel. Gebe ich eine Strecke vor, fährt die Achse auch die entsprechende Strecke.Das ist alles kein Problem.
Nun möchte ich aber, dass die Achse sich bewegt, solange sie ein analoges Signal bekommt welches größer 1 ist. Das analoge Signal simuliere ich zur Zeit mit einem Labjack U3. Ich habe inzwischen ein eigenes Programm entwickelt, welches in etwa so funktionert. Doch jetzt ist es noch so realisiert, das die Achse sich bewegt, sobald ich den Ereigniscase durch den Ok Button starte und dann auch nur die Strecke fährt, die ich vorher als maximale Distance eingegeben habe.
Mein Ziel ist es jetzt, den Ereigniscase nicht durch einen Button sondern durch eine Wertänderung hier das X+ zu starten und solange X+ ungleich 1 ist, soll die Achse fahren und wenn es kleiner 1 ist soll die Achse anhalten, jedoch gleich wieder losfahren,sobald das Signal wieder größer 1 ist und die maximale Distance noch nicht erreicht ist.
Ich komme leider überhaupt nicht weiter.
Hat jemand irgendwelche Hinweise für mich, die mir weiter helfen könnten mein Ziel in die Tat umzusetzen?
RE: Isel Motion Problem mit Programmierung einer Endlosschleife
(28.10.2014 12:06 )MoJoJo schrieb: ...
Mein Ziel ist es jetzt, den Ereigniscase nicht durch einen Button sondern durch eine Wertänderung hier das X+ zu starten und solange X+ ungleich 1 ist, soll die Achse fahren und wenn es kleiner 1 ist soll die Achse anhalten, jedoch gleich wieder losfahren,sobald das Signal wieder größer 1 ist und die maximale Distance noch nicht erreicht ist.
Ich komme leider überhaupt nicht weiter.
Hat jemand irgendwelche Hinweise für mich, die mir weiter helfen könnten mein Ziel in die Tat umzusetzen?
Besten Dank im voraus!
Hallo,
soviel ich weiß, kann man der Linearachse nur eine Position vorgeben, die sie anfahren soll. Wenn du also eine von dir beschriebene Torfahrt realisieren möchtest, kannst d z.B. solange das Tor geöffnet ist (Wert=1) eine Distanz aktuell+X vorgeben, die dann anzufahren ist. Du müsstest dann mal probieren, wie groß dein X werden kann. Das hängt sicher von der gewählten Start-/Stoprampe, Geschwindigkeit etc. ab.