Laser-Wegsystem - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ) +---- Thema: Laser-Wegsystem (/Thread-Laser-Wegsystem) |
Laser-Wegsystem - MR_Engineer - 21.10.2016 07:49 Hallo Forumgemeinde, ich gehöre erst seit kurzer Zeit zu den LabView-Usern. Für die Arbeit muss ich mich selbst in die Thematik ein arbeiten. Nun zu meinem Problem, es geht um ein Laser-Messsystem. Der Laser ist auf einem fahrbaren Schlitten montiert und gibt mir 1-10V AO. Die Hardware usw. ist vorhanden und ich hab auch schon die Spannung in die absolute Position umgewandelt. Jetzt kommt aber der eigentliche Zweck, und zwar brauch ich eine Laufüberwachung, d.h. Eine Ist-Geschwindigkeit vom Lasersystem und eine Sollgeschwindigkeit die ich mir ausrechnen kann. Das Problem ist bei der Ist-Geschwindigkeit, ich brauche jede Sekunde einen Weg-Wert in mm und kann mit der Differenz zu dem Wert vor einer Sekund die Geschwindigkeit in mm/s ausrechnen. Daran scheitert es gerade. Hab es versucht mit einer Schleife die 1 Sekunde wartet aber ich muss den alten Wert irgendwie Speicher. Vielleicht hab Ihr eine Idee, ich würde mich sehr freuen. Gruß Mario Angehangen das VI mit LabView 2014 RE: Laser-Wegsystem - GerdW - 21.10.2016 07:59 Hallo Mario, Zitat:ich gehöre erst seit kurzer Zeit zu den LabView-Usern.Herzlich willkommen! Zitat:Für die Arbeit muss ich mich selbst in die Thematik ein arbeitenDafür gibt es ja bei NI jede Menge Material, siehe Links in meiner Signatur! Zitat:ich hab auch schon die Spannung in die absolute Position umgewandelt.Tipp: Man kann bei DAQmx Skalierungen erstellen und diese automatisch auf Messwerte anwenden (lassen). Siehe Link "DAQmx Basics"… Zitat:ich brauche jede Sekunde einen Weg-Wert in mm und kann mit der Differenz zu dem Wert vor einer Sekund die Geschwindigkeit in mm/s ausrechnen.Das ist der korrekte Ansatz! Zitat:Daran scheitert es gerade. Hab es versucht mit einer Schleife die 1 Sekunde wartet aber ich muss den alten Wert irgendwie Speicher. Vielleicht hab Ihr eine Idee, ich würde mich sehr freuen.Und hier kommen wieder die LabVIEW-Grundlagen (siehe Links) ins Spiel: Werte speichert man in Schleifen in Schieberegistern! Also: Grundlagen zu Schieberegistern anlesen. Beispiel-VIs im Beispielfinder studieren. Dann dein VI entsprechend anpassen… Zu deinem VI: - Es ist schlechte Programmierpraxis, eine Resource zu belegen (hier der DAQmx-Kanal) und diesen dann nicht wieder freizugeben (es fehlt ein DAQmxStopTask)! - Wieso konfigurierst du eine Samplerate und kontinuierliche Erfassung, um dann hinterher nur genau ein Sample zu lesen? - Schau dir die BeispielVIs zu DAQmx an, die zeigen auch, wie man mit Schleifen arbeitet, wenn man mehr als einen Messwert erfassen will! RE: Laser-Wegsystem - MR_Engineer - 21.10.2016 08:06 Hallo Gerd, Danke für deine schnelle Antwort. Ich werde mir die Beispiele mal anschauen. Ich hab den Kanal festgelegt, weil der User es nicht ändern soll und die Hardware fest verdrahtet ist. Es ist ein erstes konzept-Programm Gruß Mario RE: Laser-Wegsystem - GerdW - 21.10.2016 08:10 Hallo Mario, Zitat:Ich hab den Kanal festgelegt, weil der User es nicht ändern soll und die Hardware fest verdrahtet ist.Das war nicht der Grund für meinen Hinweis! Mit Konstanten zu arbeiten, kann vollkommen i.O. sein… Du solltest du so belegte Resource halt auch wieder freigeben - sonst kann es später zu Problemen kommen! RE: Laser-Wegsystem - MR_Engineer - 21.10.2016 08:23 Upps, da stand ich auf dem Schlauch. Ja ich werde das noch vernünftig programmieren. Gruß Mario RE: Laser-Wegsystem - MR_Engineer - 21.10.2016 11:04 Hallo nochmal, ich hab jetzt etwas rumprobiert. Die Skalierung ist noch nicht eingepflegt, weil ich mit dem VI Skalierung-erzeugen nicht weiß wie ich die Referenz am Ausgang weiter nutze. Aber hab einen Versuch mit dem Schieberegister gewagt (bitte nicht steinigen, wenn es nicht passt). Vielleicht guckt nochmal eine rüber. Vielen Dank Gruß Mario RE: Laser-Wegsystem - GerdW - 21.10.2016 11:47 Hallo Mario, schon mal ganz gut. Ich habe trotzdem etwas im VI rumgespielt… Anmerkung: Du hast den DAQmx-Task als "kontinuierlich" mit 100Hz Samplerate definiert - in der Schleife holst du aber nur ein Sample pro Sekunde ab. Das geht nicht lange gut, der Buffer dürfte da recht schnell voll laufen und dann Fehler melden! Deshalb habe ich die Wartezeit aus der Schleife entfernt. Du darfst jetzt nur das Differentieren auf das nun gültige Sampleintervall anpassen… (Alternativ kannst du natürlich auch die Samplerate wieder anpassen!) RE: Laser-Wegsystem - MR_Engineer - 21.10.2016 12:26 Vielen Dank Gerd, auch das mit der Skalierung super. Ich wusste nicht das die Referenz einfach an die Einheit gehört nochmal so eine Frage, du meinst ich könnte die Sampelrate einfach auf 1 Sample pro Sekunde stellen? Damit hätte ich ja genau das was ich bräuchte. Ich glaube nur ich hab dann ein Problem mit dem NI Modul. Das Modul hat 8 AI's und das Lasersystem ist nur einer davon. Ich meine gelesen zu haben, das es besser ist, wenn alle Kanäle mit der selben Samplerate und Sampleanzahl "abgearbeitet" werden. In diesem Fall müsste ich dann das differenzieren darauf anpassen so wie du es meintest. Pass ich es dann "manuell" mit einer Konstante an? Bei 100 Hz Sampelrate hab ich dann ein Sample in 0,01 Sekunde entspricht dann eine multiplikation von 100 oder? Gruß Mario RE: Laser-Wegsystem - GerdW - 21.10.2016 12:39 Hallo Mario, Zitat:Ich meine gelesen zu haben, das es besser ist, wenn alle Kanäle mit der selben Samplerate und Sampleanzahl "abgearbeitet" werden.Für die meisten AI-Module/-Karten trifft das zu. Leider hast du bisher weder den genauen Typ des Moduls genannt, noch hast du erwähnt, dass du mehr als einen Kanal messen willst… Zitat:Pass ich es dann "manuell" mit einer Konstante an? Bei 100 Hz Sampelrate hab ich dann ein Sample in 0,01 Sekunde entspricht dann eine multiplikation von 100 oder?Ich sehe, du hast das Prinzip verstanden! RE: Laser-Wegsystem - MR_Engineer - 21.10.2016 12:49 Das stimmt, ich hab es ganz vergessen. Es handelt sich um das NI-Modul 9201 im cDAQ -9174 Chassis. Ich hab dann vor alle Sampleraten und Samplanzahlen gleich zuhalten um Probleme zu vermeiden. Zitat:Ich sehe, du hast das Prinzip verstanden! Big GrinDanke |