INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Probleme mit Drehgeber



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!

29.06.2012, 07:40
Beitrag #1

Ben187ny Offline
LVF-Grünschnabel
*


Beiträge: 38
Registriert seit: Jun 2012

2011
-
DE



Probleme mit Drehgeber
Guten Morgen,

bin gerade dabei ein kleines Programm für ein Messfahrzeug zu schreiben. Bei dem Messfahrzeug gibt es einen Drehgeber der den Weg aufnehmen soll und einen induktiven Sensor der einen Abstand messen soll.
Das programm sollte so lange den Weg aufnehmen dieser >= 50mm ist, wenn das geschehen ist soll der induktive Sensor einen Abstand messen. Möchte das so oft wiederholen bis ich z.b. Stopp drücke.
Benutze übrigens von Meilhaus das RedLab 1608 mit LabVIEW 2011.

Im Anhang habe ich noch ein kleines Struktogramm und das vi.

Mein Problem liegt darin das ich nicht weiss, wie ich den vom Drehgeber ausgegebenen Wert aufsummiere(Bereche erst:Inkremente*pi*40mm(Raddurchmesser)/1024(Inkremente pro Umdrehung). das ergibt dann ca. einen Wert von 0,12mm pro Inkrement des Drehgebers.
Jetzt soll er wie gesagt diesen Weg aufsummieren und wenn dieser größer ist als 50 mm soll der induktive Sensor einen Abstandswert abfragen und in eine Datei schreiben.


Angehängte Datei(en) Thumbnail(s)
   

11.0 .vi  Projekt2.vi (Größe: 53,07 KB / Downloads: 207)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.06.2012, 07:56
Beitrag #2

M Nussbaumer Offline
Zarathustra
****


Beiträge: 654
Registriert seit: Sep 2009

2009 SP1
2009
EN

6300
Schweiz
RE: Probleme mit Drehgeber
(29.06.2012 07:40 )Ben187ny schrieb:  Guten Morgen,

bin gerade dabei ein kleines Programm für ein Messfahrzeug zu schreiben. Bei dem Messfahrzeug gibt es einen Drehgeber der den Weg aufnehmen soll und einen induktiven Sensor der einen Abstand messen soll.
Das programm sollte so lange den Weg aufnehmen dieser >= 50mm ist, wenn das geschehen ist soll der induktive Sensor einen Abstand messen. Möchte das so oft wiederholen bis ich z.b. Stopp drücke.
Benutze übrigens von Meilhaus das RedLab 1608 mit LabVIEW 2011.

Im Anhang habe ich noch ein kleines Struktogramm und das vi.

Mein Problem liegt darin das ich nicht weiss, wie ich den vom Drehgeber ausgegebenen Wert aufsummiere(Bereche erst:Inkremente*pi*40mm(Raddurchmesser)/1024(Inkremente pro Umdrehung). das ergibt dann ca. einen Wert von 0,12mm pro Inkrement des Drehgebers.
Jetzt soll er wie gesagt diesen Weg aufsummieren und wenn dieser größer ist als 50 mm soll der induktive Sensor einen Abstandswert abfragen und in eine Datei schreiben.

Hallo Ben

Wenn ich dich richtig verstanden habe möchtest du deine Array-Elemente zusammen addieren? Wenn ja gibt es die Funktion "Add Array Elements" in der Palette "Numeric"

Ansonsten passt dein Ablaufdiagramm und dein Blockdiagram nicht wirklich zusammen. Wieso verwendest du zwei While-Schleifen? Nach deinem Ablaufdiagramm müsste doch die Erfassung erst in das File geschrieben werden sobald Wert >= 50mm?
Theoretisch müsste dann das Ganze in einen True/False Case für das gewünschte Verhalten.

Dein Stopp-Knopf wird nicht an der von dir gewünschten Stelle ausgelesen, sondern sobald die Schleife gestartet wird -> Think Dataflow.

Die State-Machine Architektur würde sich für so einen Flow-Chart recht gut anbietenSmile

Hoffe das hilft dir weiter!

Gruss Marc
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.06.2012, 08:10
Beitrag #3

Ben187ny Offline
LVF-Grünschnabel
*


Beiträge: 38
Registriert seit: Jun 2012

2011
-
DE



RE: Probleme mit Drehgeber
Hi,
erstmal danke für die Antwort.
Ja hast recht das die Messwerte erst geschrieben werden sollen wenn der Weg =>50mm ist.
Habe leider erst ein paar Tage erfahrung mit LabView.
Die innere While-Schleife lass ich also so wie sie ist und die äußere muss zu einem True/False Case werden, welches startet wenn der Weg => 50 mm ist oder?

Muss ich dann noch eine Schleife darum machen? Will es ja so oft ausführen bis ich es durch Knopfdruck oder sonst was beende.

Und noch ne Frage ich möchte, dass nachdem er die 50mm hat und er den Abstand genommen hat, dass er den Weg wieder auf 0 mm setzt. Wie würde ich das am besten machen?


Vielen Dank schon mal

Mfg Benny
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.06.2012, 08:13 (Dieser Beitrag wurde zuletzt bearbeitet: 29.06.2012 08:15 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Probleme mit Drehgeber
Hallo Ben,

Zitat:Mein Problem liegt darin das ich nicht weiss, wie ich den vom Drehgeber ausgegebenen Wert aufsummiere
Verständnisfrage: Springt der Counter immer wieder auf Null zurück oder zählt er die Inkremente stur hoch?
Nur im ersten Fall müsstest du aufsummieren.
Im zweiten Fall musst du einfach nur die Inkremente in einen Weg umrechnen und fertig ist...

Verständnisfrage: Warum fragst du mehr als einen Ctr-Wert pro Aufruf ab?
Willst du nicht eher immer den gerade aktuellen Wert haben?

Tipps:
- Den Messkanal ("CI Count Edges" und "AI Voltage") nur einmal vor der Schleife initialisieren reicht aus...
Edit: Vielleicht führt eben dieses wiederholte Initialisieren des Counters zu der irrigen Annahme, die CTR-Werte aufsummieren zu müssen!
- Deine Konstanten einmal verrechnen (pi*40/1024) und mit dem Zwischenwert weiterrechnen sieht eleganter aus. (Der LV-Compiler ist recht gut geworden und sollte solche Operationen selbst zusammenfassen...)
- Ich sehe kein Schleifentiming. Dies kann aber in den bei mir nicht installierten ULx-Funktionen integriert sein...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.06.2012, 08:35
Beitrag #5

Ben187ny Offline
LVF-Grünschnabel
*


Beiträge: 38
Registriert seit: Jun 2012

2011
-
DE



RE: Probleme mit Drehgeber
Hi,
habe jetzt erstmal die zweite Schleife raus genommen. Hätte eigentlich gedacht das der CTR die Inkremente aufsummiert, aber es kommt hinten immer nur 0,12 raus, also für ein inkrement.
Habe jetzt nochmal das aufsummieren Vi rein gepackt. und dann mit der Highlight version mal durchlaufen lassen.
Habe noch nen Screenshot gemacht


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.06.2012, 08:41 (Dieser Beitrag wurde zuletzt bearbeitet: 29.06.2012 08:42 von GerdW.)
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Probleme mit Drehgeber
Hallo Ben,

noch einmal:
Zitat:- Den Messkanal ("CI Count Edges" und "AI Voltage") nur einmal vor der Schleife initialisieren reicht aus...
Edit: Vielleicht führt eben dieses wiederholte Initialisieren des Counters zu der irrigen Annahme, die CTR-Werte aufsummieren zu müssen!

In jeder Iteration initialisierst du den CTR erneut (und setzt dabei den CTR-Stand auf Null zurück). Direkt nach dem Initialisieren fragst du den CTR-Wert ab - und wunderst dich, warum immer nur ein einziges Inkrement angezeigt wird.

Nimm die Initialisierung aus der Schleife raus!
Jedes NI-DAQmx-Beispiel zeigt dir das korrekte Vorgehen und ich vermute, auch die ULx-Bibliothek hat "saubere" Beispiel an Bord!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.06.2012, 08:55
Beitrag #7

Ben187ny Offline
LVF-Grünschnabel
*


Beiträge: 38
Registriert seit: Jun 2012

2011
-
DE



RE: Probleme mit Drehgeber
hi,
Danke Danke Smile
Habe leider noch nicht so viel Ahnung, danke das du so geduldig bist.

Hast vielleicht noch nen tip wie ich jetzt nachdem er die 50mm erreicht hat den Zähler zurück setzt?
Und jetzt müsste ich doch einen True/False Case anlegen, der die messung des induktiven Sensors startet oder?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.06.2012, 09:09 (Dieser Beitrag wurde zuletzt bearbeitet: 29.06.2012 09:10 von GerdW.)
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Probleme mit Drehgeber
Hallo Ben,

Zitat:Hast vielleicht noch nen tip wie ich jetzt nachdem er die 50mm erreicht hat den Zähler zurück setzt?
Einmal den CTR-Stand in einer Case-Struktur zurücksetzen wäre eine Möglichkeit...


Zitat:Und jetzt müsste ich doch einen True/False Case anlegen, der die messung des induktiven Sensors startet oder?
Das hängt von deiner Messaufgabe ab: wenn dies verlangt, dann ja...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.06.2012, 10:05
Beitrag #9

Ben187ny Offline
LVF-Grünschnabel
*


Beiträge: 38
Registriert seit: Jun 2012

2011
-
DE



RE: Probleme mit Drehgeber
sorry das ich schon wieder nerve aber habe das leider noch nie mit dem Case gemacht und die Beispiele bringen mich auch irgendwie nicht weiter.

könntest du bitte nochmal drüber gucken ?


Angehängte Datei(en)
11.0 .vi  Projekt2.vi (Größe: 17,35 KB / Downloads: 224)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.06.2012, 10:21
Beitrag #10

Ben187ny Offline
LVF-Grünschnabel
*


Beiträge: 38
Registriert seit: Jun 2012

2011
-
DE



RE: Probleme mit Drehgeber
jetzt scheint es auch zu funktionieren. Aber wie man den CTR zurücksetz weiss ich leider noch nicht
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  RPM Messung über Drehgeber Position RobinDR 3 3.824 19.11.2016 16:13
Letzter Beitrag: GerdW

Gehe zu: