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 

Flankenerkennung



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!

18.09.2012, 08:58
Beitrag #1

arts Offline
LVF-Grünschnabel
*


Beiträge: 21
Registriert seit: Aug 2012

2019
2012
DE


Deutschland
Flankenerkennung
Servus zusammen,
ich habe mal wieder ein kleines Problem mit Labview. Meine Aufgabe ist es eine Zählung der Digitalflanken eines Inkrementalgebers zu ermitteln. Ich nutze hierfür 2 Kanäle (A und B jeweils invertiert). Ich habe es bereits mithilfe des vorgefertigten Beispiels "counter-count edges" geschafft, dass die Messung vorwärts zählt. Der Inkrementalgeber soll aber nicht nur vorwärts sondern auch rückwärts zählen.
Nun zu meinem Problem.
Ich hatte mir überlegt, dass ich eine Case Struktur benötige, welche 4 Zustande unterscheidet. Die beiden ersten Zustände sind beide Signale high bzw. beide Signale low. In diesem Fall dürfte keine Zählung erfolgen. Der nächste Fall wäre, dass der A Kanal als erstes auf high schaltet. In diesem Fall soll eine positive Zählung erfolgen. Im letzten Fall schaltet der B-Kanal zuerst auf high. Hierbei müssen die Impulse abgezogen werden.

Die Frage ist nun wie kann ich anhand der I/O die Flankenart erkennen. Ich müsste ja einen Ausgang haben, an dem ich auslesen kann ob das Signal high oder low ist. Danach müsste ich diese Signale dann vergleichen und mithilfe des jeweiligen Case auswerten.

Ich weiß das klingt alles ein bissl seltsam, aber mir fällt keine bessere Methode ein. Wenn jemand eine elegantere Methode zur Impulszählung für einen Inkrementalgeber kennt bin ich ganz offen für Vorschläge.


Beste Grüße
arts
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
18.09.2012, 09:40
Beitrag #2

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
RE: Flankenerkennung
Hi,
schau dir mal das Beispiel "Measure Angular Position" an, und insbesonder die ausführliche Hilfe zu "CI Angular Encoder".

Da wirst du schon was finden...

A.

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.09.2012, 10:50
Beitrag #3

arts Offline
LVF-Grünschnabel
*


Beiträge: 21
Registriert seit: Aug 2012

2019
2012
DE


Deutschland
RE: Flankenerkennung
Servus Achim,
Danke für die fixe Antwort. Ich hab das Programm jetzt umgeschrieben und es funktioniert soweit. Die Messungen zählen vor- und rückwärts, jedoch habe ich nun ein Vorzeichenproblem.
Wie man im Anhang erkennen kann, gebe ich einen vorzeichenlosen Integerwert aus. Das Problem ist nun, wenn ich über den Wert "0" hinaus zurückfahre springt mein Messwert auf 4,2.. Mrd. Stattdessen hätte ich lieber einen negativen Wert. Aber das DAQmx-Lesen VI bietet mir nur Integer oder Double an. Ich hatte dann die Idee, dass ich das vorzeichenlose Signal in vorzeichenbehaftet konvertiere, aber das hat nicht wirklich geklappt.

Hat evtl. jemand einen Vorschlag, wie ich das ganze in einen vorzeichenbehaftet Dateityp bekomme.

Beste Grüße
arts


Angehängte Datei(en)
11.0 .vi  Counter - Count Edges_2.vi (Größe: 31,32 KB / Downloads: 387)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.09.2012, 10:57 (Dieser Beitrag wurde zuletzt bearbeitet: 18.09.2012 11:00 von Achim.)
Beitrag #4

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
RE: Flankenerkennung
(18.09.2012 10:50 )arts schrieb:  jedoch habe ich nun ein Vorzeichenproblem...wenn ich über den Wert "0" hinaus zurückfahre springt mein Messwert auf 4,2.. Mrd. Stattdessen hätte ich lieber einen negativen Wert.

Hi,
du kennst ja den Maximalwert...dann könntest du einfach eine Subtraktion mache. Aber das hilft ja auch nicht weiter...irgendwann ist der Zähler voll und muss überlaufen...und dann? Du müsstest den Weg begrenzen damit das immer klappt! Und dazu bräuchtest du eine Referenzposition ("Mitte"?). Wenn du ab beliebigen Positionen neu zu zählen beginnen willst (Inkrementalgeber!), dann wird auch das schwierig zu realisieren.

Was genau ist dein Ziel? Welche Art Anwendung ist das?

A.

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.09.2012, 11:11
Beitrag #5

arts Offline
LVF-Grünschnabel
*


Beiträge: 21
Registriert seit: Aug 2012

2019
2012
DE


Deutschland
RE: Flankenerkennung
Servus Achim,
das hehre Ziel ist, dass ich am Ende den zurückgelegten Weg einer Schweißanlage, bzw. allg. einer großen Anlage messe und anhand dessen die Geschwindigkeit und evtl. die Beschleunigung ermitteln kann. Das ganze wird demnach auf einer begrenzten Strecke stattfinden.
Der Betrieb wo ich mein Praktikum mache möchte halt hauptsächlich ein Programm realisiert haben, womit die normalen Angestellten umgehen können und schnell mal Messungen machen können.

Ich werde jetzt mal das mit der Referenzposition überdenken.

Beste Grüße
arts
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.09.2012, 11:38 (Dieser Beitrag wurde zuletzt bearbeitet: 18.09.2012 11:39 von Achim.)
Beitrag #6

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
RE: Flankenerkennung
(18.09.2012 11:11 )arts schrieb:  das hehre Ziel ist, dass ich am Ende den zurückgelegten Weg einer Schweißanlage, bzw. allg. einer großen Anlage messe und anhand dessen die Geschwindigkeit und evtl. die Beschleunigung ermitteln kann. Das ganze wird demnach auf einer begrenzten Strecke stattfinden.

Ich werde jetzt mal das mit der Referenzposition überdenken.

Dann würde sich ja ein Absolutwertgeber anbieten...

Hast du auch einen Z-Kanal? Den könntest du ja zur Referenzierung verwenden...

A.

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
18.09.2012, 11:58
Beitrag #7

arts Offline
LVF-Grünschnabel
*


Beiträge: 21
Registriert seit: Aug 2012

2019
2012
DE


Deutschland
RE: Flankenerkennung
Ja es ist ein Z-Kanal verfügbar. Das Problem ist nur, dass der Inkrementalgeber mit 5V TTL arbeitet und das Messgerät (NI PXI-6238) mit 24V HTL. Deswegen musste ich einen Pegelwandler einbauen und da sind in der Firma leider nur 2 Stück vorhanden. Sad

Wegen des Absolutwertgebers muss ich erstmal Fragen ob die sowas haben.
Danke für deine bisher investierte Zeit Wink

Beste Grüße
arts
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.09.2012, 12:09 (Dieser Beitrag wurde zuletzt bearbeitet: 18.09.2012 12:17 von Achim.)
Beitrag #8

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
RE: Flankenerkennung
Die Firma hier kann ich empfehlen:
http://www.atrie.de/userfiles/files/data...r_hm14.pdf
Die sind auch recht preiswert (im Wortsinn!), ich hatten nen anderen Wandler in mehreren Anlagen eingesetzt und bin zufrieden.


http://de.wikipedia.org/wiki/Inkremental...erenzieren
http://digital.ni.com/manuals.nsf/websea...AE005CDCD8 (lesen!)

A.

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.09.2012, 14:59 (Dieser Beitrag wurde zuletzt bearbeitet: 19.09.2012 10:30 von Lucki.)
Beitrag #9

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Flankenerkennung
Zu deinem VI: In die Schleife für DAQmxRead ein Wait hineinzusetzen, ist zwar bei Anfängern durchaus beliebt, aber nichtsdestotrotz fast immer Tödlich. Es ist dann möglich, dass nicht so viele Samples gelesen wie erzeugt werden, und es kommt zum Pufferüberlauf. Das DAQmxRead synchronisiert die Schleife selbst entsprechend dem Datenaufkommen, dazu brauchts kein Wait

Mit U-Fomaten kannst Du natürlich keine negativen Werte darstellen. Nimm doch einfach das Format DBL. Andere Möglichkeit: U32 zu I32 konvertieren. Aus den hohen Werte werden dann die richtigen negativen Werte.

Ich würde den Winkelencoder nicht so leicht beiseitelegen, alles andere wird deutlich teurer. Natürlich muss es dann im Proramm eine Referenzfahrt zur Nullung des Zählers geben, und es wird zusätzlich ein Positiondetektor für die Referenzposition gebraucht. (Vielleicht tut es auch ein harter Anschlag am Anfang) Ich weiß ja nicht, wie das ganze Gebilde bewegt wird, ob es da überhaupt einen Motor gibt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.09.2012, 06:05
Beitrag #10

arts Offline
LVF-Grünschnabel
*


Beiträge: 21
Registriert seit: Aug 2012

2019
2012
DE


Deutschland
RE: Flankenerkennung
Servus Achim und Lucki,
Danke für eure Hilfen!
Zitat:Nimm doch einfach das Format DBL. Andere Möglichkeit: U32 zu I32 konvertieren
Das mit den Double stört mich wegen der Fließkommazahl. Ich finde das persönlich unpassend, da die Zählung ja eigentlich nur mit absoluten Werten arbeiten soll. Zum zweiten, das hatte ich schon probiert. Aber nachdem ich deinen Post heute früh gelesen hatte hab ich mich nochma rangesetzt.
Das Ende vom Lied war, das der Fehler recht simpel auf meine Unachtsamkeit zurückzuführen war. In dem vorgefertigten VI war U32 mit %u (vorzeichenlose Dezimalzahl) am Anzeigeelement eingestellt. Zudem hat sich die Ausgabe nicht automatisch an die Quelle angepasst. Nachdem ich kurz manuell nachgesteuert habe funktioniert es.

Zitat:wie das ganze Gebilde bewegt wird
Ich vermute linear, aber ich arbeite hier nur nach Vorgabe, ohne die Maschiene je gesehen zu haben. Vermutlich weiß die Firma noch garnicht, wo genau die Messung gemacht werden soll und will das ganze mehr oder weniger universal im Betrieb einsetzen.

Ich werde trotzdem noch an der Referenzierung mit dem Z-Kanal dranbleiben und mich melden wenn hoffentlich alles funktioniert.

Beste Grüße
arts
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
  Flankenerkennung mit Auswertung Adrian 8 13.544 17.07.2007 16:13
Letzter Beitrag: Adrian

Gehe zu: