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!
ich würde gerne über LabView die Leistungselektronik eines Schrittmotors ansteuern. Ich arbeite mit LV 2015 und dem Gerät NI 6341 auf einem Windows 7 Rechner.
Die Leistungselektronik des Schrittmotors erwartet Signalpegel im Bereich von 3,5 bis 24V mit einer Dauer von mindestens 2us. Bisher habe ich über den DAQ-Assistenten ein simples VI erstellt, das im wesentlichen auch funktioniert, allerdings nicht die gewünschte Frequenz bereit stellt. Das simple VI erzeugt einen High- und Lowpegel von jeweils 5us innerhalb einer While-Schleife. Durch verschiedene Werte für die Funktion "Warten" habe ich die Frequenz gesteuert. Nun werden aber bei einer Wartezeit von 0s leider nur Pegel mit einer Frequenz von 20 Hz erzeugt, ich benötige aber 10 kHz.
Nachdem ich mich durch ein paar Bücher gearbeitet habe, habe ich versucht einen eigenen Task zu erstellen, der über einen Schieberegler die Frequenz der erzeugten Pulse steuert. Allerdings kommen keine Signale an meinem Ausgang an. Das Internet, Bücher und Kommilitonen konnten mir nicht helfen. Da es mein erstes LabView-Projekt ist, bin ich sicher, dass ich noch einige Anfängerfehler mache. Ich würde mich freuen, wenn sich das jemand ansehen könnte und mir einen Tip gibt.
14.12.2015, 11:26 (Dieser Beitrag wurde zuletzt bearbeitet: 14.12.2015 11:27 von GerdW.)
mit dem Beispiel "kontinuierliche Ausgabe" unter "Zählergestützte Ausgabe" funktioniert es soweit ganz gut. Allerdings muss ich jetzt die Ausführung unterbrechen und neu starten, wenn ich Werte der Frequenz ändere um die Umdrehungsgeschwindigkeit des Motors zu beeinflussen. Was muss ich noch ändern, damit die Werte während des Betriebs geändert werden können und auch wirksam sind?
Zitat:Was muss ich noch ändern, damit die Werte während des Betriebs geändert werden können und auch wirksam sind?
Wenn man etwas während des Programmlaufs ändern (können) will, sollte man dieses in einer Schleife erledigen, die die Benutzereingaben abfragt. Du verwendest zwar eine Schleife, dort werden aber keine Benutzereingaben abgefragt…
Hilfreich wäre es auch, wenn die geänderten Frequenzwerte auch per DAQmxWrite der Hardware mitgeteilt würden!
ich habe mich durch den Thread gelesen und bin auf eine Lösung gekommen, die super funktioniert. Danke dafür. Ich habe dazu nur noch eine Frage. Mit welchem Takt arbeitet das Programm jetzt? Unter DAQmx Timing ist "implizit" ausgewählt. Was hat es damit auf sich?
Zitat:Mit welchem Takt arbeitet das Programm jetzt?
Die Schleife läuft im 100ms-Takt, hast du doch so programmiert.
Die Ausgabe neuer PWM-Werte hängt von deiner Frequenz ab: es kann nur nach Ablauf eines kompletten Pulses ein neuer Wert ausgegeben werden.
Zitat:Unter DAQmx Timing ist "implizit" ausgewählt.
Das "implizit" bedeutet, dass die Ausgabe davon abhängt, welche Frequenz du vorgibst: Über die PWM-Frequenz wird die Ausgabe-Rate gesteuert…
gibt es die Möglichkeit, Standardwerte beim Starten der Ausführung fest zu legen? Ich würde zum Beispiel gerne bei der Frequenz standardmäßig 20 Hz ausgewählt haben, sodass bei jeder Ausführung 20 Hz voreingestellt sind.
gibt es die Möglichkeit, Standardwerte beim Starten der Ausführung fest zu legen? Ich würde zum Beispiel gerne bei der Frequenz standardmäßig 20 Hz ausgewählt haben, sodass bei jeder Ausführung 20 Hz voreingestellt sind.
20 in dein Frequenz Control Element eintragen -> Rechtsklick -> Make Current Value Default. Dann VI speichern. Fertig.
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!
Jetzt habe ich den Wert als Standard, wenn ich das VI öffne. Ich hätte es aber auch gerne so, dass ich auf "Ausführen" klicke, die Frequenz ändere auf beispielsweise 100 Hz, dann "Ausführung abbrechen" klicke und beim nächsten klick auf "Ausführen" wieder von alleine 20 Hz im Feld "Frequenz" stehen.