Hallo,
ich arbeite gerade an meinem ersten Projekt und habe ein Problem.
Und zwar lese ich über ein DAQ einene Drehgeber und einen Hall-Sensor aus. Von beiden erhalte ich eine Winkelposition.
Auf der y-Achse will ich die Position des Drehgebers darstellen und auf der x-Achse die Differenz der beiden (Winkelfehler).
Folgende Problem habe ich:
Beim Anschluß der beiden Datenwerte an einen xy-Graphen wird mir ein Fehler angezeigt. Es heißt es seinen unterschiedliche Datentypen angeschlossen. Ich habe schon versucht die Datentypen anzupassen leider änderte es nichts.
viele grüße
Hallo emand,
zeige mal ein Bild des BD oder speichere dein VI für ältere LV-Versionen...
Allgemeiner Tipp: Die Kontexthilfe zum XY-Graph zeigt ziemlich genau, welche Datentypen erwartet werden...
Hallo GerdW,
hier nochmal die Date in der Version 8.0.
Mit der Kontexthilfe habe ich schon gearbeitet! Bei einer nummersichen Anzeige, bekomme ich auch Werte angezeigt. Nur scheitere ich eben an einer graphischen Ausgabe...
Hallo emand,
dein VI enthält keinen XY-Graphen! Wie soll man da Fehler korrigieren?
Siehe Anhang für einen groben (!) Entwurf. Ein Graph verlangt Daten in Form von Arrays - wie es in der Kontexthilfe steht, die du ja wohl gelesen hattest. Du musst also deine skalaren Messwerte in Arrays sammeln!!! (Alternativ könnte man natürlich auch mehr als nur ein Sample pro DAQmxRead abfragen...)
Dieses Beispiel hat aber noch Bugs:
- Deine zwei Schleifen laufen unterschiedlich schnell: eine mit Timing, die andere ungebremst. Warum?
- Ich habe die SRs nicht initialisiert...
- Der Speicher könnte dir momentan volllaufen...
Hallo Gerd,
danke zuerst für deine Hilfe.
Leider bin ich heute vormittag nicht sehr viel weiter gekommen.
Sobald ich das Programm starte könnte man meinen es funktioniert, doch habe ich immer wieder größe Sprünge in meinem Graphen.
Wenn ich die Werte ausgebe sehen diese aber richtig aus.
Kann es sein das es an meinem Drehgeber liegt oder an der initiallisierung der Schieberegister.
viele grüße
Hallo emand,
- deine beiden Schleifen laufen nicht synchron: das kann zu "Sprüngen" im gewünschten Signal führen...
- du fragst zwar in beiden Schleifen "N Samples" ab, gibst aber nicht an, wieviele Samples es pro Abfrage sein sollen...
- du hast bei keiner der beiden Schleifen eine Samplerate definiert...
...
Danke die Tips haben mir sehr weitergeholfen.
Mein Graph gibt nun das gewünschte Signal aus.
Nun hätte ich noch eine Frage wie ich meine beiden Signale abgleichen kann.
Und zwar habe ich ja einen Hall-Sensor und den Drehgeber. Da der Hall-Sensor immer seine aktuelle Position ausgibt aber der Drehgeber bei null zu zählen anfängt, möchte ich jetzt den Hall-Sensor Wert an den Drehgeber übergeben.
Ich habe es versucht über den Anfangswinkel das Sensor Signal dem Drehgeber zu übermitteln, jedoch kommt Labview mit dieser Aufgabe nicht ganz klar.
Gibt es noch andere möglichkeiten den Anfangswinkel dem Drehgeber zu übermitteln.
Desweitern möchte ich beim zweiten erreichen von 360Grad die Aufzeichnung stoppen.
Kann ich dies über eine While-Schleife realisieren ? Bin aber noch nicht ganz sicher über was ich die Schleife legen soll.
Bin wie immer sehr dankbar für jegliche Tipps.
Viele Grüße
Hallo emand,
dies hört sich nach einer "Indizier"-Messung an: du willst immer dann, wenn dein Drehgeber einen Impuls abgibt den dazu passenden Wert des Hallsensors speichern.
Dies erreicht man, indem man den Drehgeber als Triggerquelle für den Sensor verwendet. Dieser wird also nicht mit fester Taktrate (wie bei dir programmiert), sondern mit dem Takt des Drehgebers abgetastet. Dazu findest du Beispiele im Beispielfinder...
Hallo Gerd,
ganz so wollte ich das nicht lösen.
Ich möchte beim Starten des Programms die aktuelle Winkelposition, die der Hall Sensor ausgibt, dem Drehgeber übergeben, bzw diese als Startwert für den Drehgeber festlegen! Die Ausgabe beim Hall Sensor ist linear, also bei einer bestimmten Spannung X (z.B. 2V) wird der Winkel Y (z.B. 156°) ausgeben. Diesen Winkel möchte ich beim Start des VI´s dem Drehgeber zuweisen. Ich möchste sozusagen einen Abgleich machen. Danach sollen sie wieder unabhängig von einander Messen.
Besten Dank.
Viele Grüße
Hallo emand,
du wilst also einen festen Offset zum Drehgebersignal addieren - dann mach das doch einfach...