LINGK, Christoph (Buchwaldstr. 27, Traunstein, 83278, DE)
| Patentansprüche 1. Absolute Positionscodierung, umfassend mehrere Codesequenzen (A, B, C) unterschiedlicher Längen (LA, L6, Lc), die in Kombination einen Messbereich eindeutig absolut codieren, wobei die mehreren Codesequenzen (A, B, C) in einer gemeinsamen Spur angeordnet sind, indem Codeelemente der mehreren Codesequenzen (A, B, C) nach einer vorgegebenen Abfolge angeordnet sind, die ein Segment bildet, das innerhalb des Messbereichs wiederum mehrfach hintereinander angeordnet ist, wobei jedes dieser Segmente mindestens drei Codeelemente umfasst. 2. Absolute Positionscodierung nach Anspruch 1 , dadurch gekennzeichnet, dass mindestens drei Codesequenzen (A, B, C) vorgesehen sind, und das Segment jeweils ein einziges Codeelement dieser Codesequenzen (A, B, C) enthält. 3. Absolute Positionscodierung nach Anspruch 1 , dadurch gekennzeichnet, dass das Segment jeweils einen Teil der mehreren Codesequenzen (A, B) aufweist, und zumindest einer dieser Teile mehrere aufeinanderfolgende Codeelemente einer der Codesequenzen (A) umfasst. 4. Absolute Positionscodierung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Längen (LA, L6, Lc) der Codesequenzen (A, B, C) derart gewählt sind, dass die Längen (LA, L6, Lc) teilerfremd sind. 5. Absolute Positionscodierung nach ei nem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass sich die Längen (LA, L6, Lc) jeweils zweier Codesequenzen (A, B, C) der mehreren Codesequenzen (A, B, C) um 1 unterscheiden. 6. Absolute Positionscodierung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Positionscodierung (1 , 10) durch zumindest eine Inkrementalspur ergänzt ist. 7. Absolute Positionsmessvorrichtung mit einer absoluten Positionscodierung (1 , 10), umfassend mehrere Codesequenzen (A, B, C) unterschiedlicher Längen (LA, L6, Lc), die in Kombination einen Messbereich eindeutig absolut codieren, wobei die mehreren Codesequenzen (A, B, C) in einer gemeinsamen Spur angeordnet sind, indem Codeelemente der mehreren Codesequenzen (A, B, C) nach einer vorgegebenen Abfolge angeordnet sind, die ein Segment bildet, das innerhalb des Messbereichs wiederum mehrfach hintereinander angeordnet ist, wobei jedes dieser Segmente mindestens drei Codeelemente umfasst; einer Detektoranordnung (2, 20) zur Abtastung der Positionscodierung (1 , 10) und zur Generierung von Codewörtern (w), und einer Dekodiereinrichtung (3, 30) zur Dekodierung der Codewörter (w) und zur Generierung von Positionswerten (POS). 8. Absolute Positionsmessvorrichtung nach Anspruch 7, wobei die Positionscodierung (1 , 10) nach ei nem d er Ansprü ch e 1 bis 5 ausgebildet ist, und wobei die Dekodiereinrichtung (3, 30) einen ersten Wertevorrat (TA) zur Dekodierung einer ersten Folge von Codewörtern (WA) aufweist, die jeweils bei der Abtastung einer der Codesequenzen (A) sowie ihrer zyklischen Fortsetzung entsteht, und die Dekodiereinrichtung (3, 30) zumindest einen zweiten Wertevorrat (TB) zur Dekodierung einer zweiten Folge von Codewörtern (wB) aufweist, die jeweils bei der Abtastung einer weiteren der Codesequenzen (B) sowie ihrer zyklischen Fortsetzung entsteht. 9. Absolute Positionsmessvorrichtung nach Anspruch 7 oder 8, wobei die Detektoranordnung (2, 20) derart ausgebildet ist, dass diese zumindest ein Codewort (w) der Abtastlänge (AL) entsprechend einem ganzzahlig Vielfachen der Länge (Ls) eines Segmentes generiert. 10. Absolute Positionsmessvorrichtung nach einem der Ansprüche 7 bis 9, wobei die Positionscodierung (1 , 10) durch zumindest eine Inkrementalspur ergänzt ist. 11. Absolute Positionsmessvorrichtung nach Anspruch 10, dadurch gekennzeichnet, dass eine Kombinationseinheit vorgesehen ist, die dazu ausgebildet ist, aus dem durch Abtastung der absoluten Positionscodierung (1, 10) gewonnenen absoluten Positionswert (POS) und aus der durch Abtastung der Inkrementalspur gewonnenen Inkrementalinformation eine absolute Gesamtposition zu bilden, welche eine höhere Auflösung besitzt, als der absolute Positionswert (POS). |
Auf vielen Gebieten werden zur Bestimmung der Position zweier relativ zueinander bewegter Körper vermehrt absolute Positionsmessvorrichtungen eingesetzt. Absolute Positionsmessvorrichtungen haben gegenüber rein inkremental messenden Systemen den Vorteil, dass in jeder Relativlage auch nach Unterbrechung der Versorgungsenergie sofort eine korrekte Positionsinformation ausgegeben werden kann.
Die absolute Position wird dabei von einer Positionscodierung verkörpert. Besonders Platz sparend ist die Anordnung der Positionsinformation in einer einzigen Codespur mit in Messrichtung hintereinander angeordneten Codeelementen . Die Codeelemente sind dabei in pseudozufälliger Verteilung hintereinander angeordnet, so dass eine bestimmte Anzahl von aufeinander folgenden Codeelementen jeweils ein Codewort bildet, das die absol ute Position ei nd eutig d efi n iert. Bei d er Versch iebu ng d er Abtasteinrichtung relativ zu der Positionscodierung um ein einziges Codeelement wird bereits ein neues Codewort gebildet und über den gesamten absolut zu erfassenden Messbereich steht eine Folge von unterschiedlichen Codewörtern zur Verfügung. Ein derartiger serieller bzw. sequentieller Code wird auch oft als Kettencode oder als Pseudo-Random- Code (PRC) bezeichnet.
Zur Bestimmung der absoluten Position aus den abgetasteten Codewörtern - auch Decodierung genannt - wird eine Decodiertabelle eingesetzt, in der jedem Codewort eine Position zugeordnet ist. Zur Zuordnung der absoluten Position zu einem abgetasteten Codewort bildet das Codewort die Adresse für die Decodiertabelle, so dass am Ausgang die für dieses Codewort abgelegte absolute Position ansteht und zur Weiterverarbeitung zur Verfügung steht. Diese nichtflüchtigen Tabellen können heute in einem ASIC hardwareverdrahtet ausgelegt sein , um einen schnellen Zugriff zu ermöglichen. Die Anforderungen an die Auflösung von Positionsmessvorrichtungen werden im mer höher, so dass in nerhalb eines Messbereiches viele Positionen eindeutig zu codieren sind. Je mehr Positionen codiert werden m ü ssen , u mso a ufwen d iger ist d ie n achfol gend e Decod ieru ng . Problematisch bei einer seriellen Codierung ist, dass für eine hohe Auflösung sehr viele verschiedene Codewörter generiert und decodiert werden müssen. Erfolgt die Decodierung mittels Tabellen, ist eine große Tabelle erforderlich, in der für jedes mögliche Codewort eine dazugehörige absolute Position abgelegt ist. Erfolgt die Decodierung mittels eines Rechners, führt dies zu relativ langen Rechenzeiten.
Die EP 0 368 605 B1 beschreibt eine Positionscodierung, mit der bereits relativ große Längen codiert werden können. Die Positionscodierung besteht aus zwei Codeseq uenzen innerhalb einer einzigen Spur. Die Decodiereinrichtung weist einen ersten Wertevorrat zur Decodierung der ersten Codesequenz sowie einen zweiten Wertevorrat zur Decodierung der zweiten Codesequenz auf. Die absolute Position ist durch die Kombination beider Teilpositionen an jeder Stelle des Messbereichs eindeutig.
Aufgabe der Erfindung ist es, eine absolute Positionscodierung anzugeben, mit der innerhalb eines Messbereichs eine Vielzahl von Positionen eindeutig absolut codiert werden können.
Diese Aufgabe wird durch die im Anspruch 1 angegebene absolute Positionscodierung gelöst.
Diese absolute Positionscodierung umfasst mehrere Codesequenzen unterschiedlicher Längen, die in Kombination einen Messbereich eindeutig absolut codieren, wobei die mehreren Codesequenzen in einer gemeinsamen Spur angeordnet sind, indem Codeelemente der mehreren Codesequenzen nach einer vorgegebenen Abfolge angeordnet sind, die ein Segment bildet, das innerhalb des Messbereichs wiederum mehrfach hintereinander angeordnet ist, wobei jedes dieser Segmente mindestens drei Codeelemente umfasst. In einer Ausgestaltung der Erfindung sind mehrere Codesequenzen vorgesehen und ein Segment weist jeweils einen Teil einer der mehreren Codesequenzen auf, wobei zumindest einer dieser Teile mehrere aufeinanderfolgende Codeelemente einer der Codesequenzen umfasst.
In einer weiteren Ausgestaltung der Erfindung sind mindestens drei Codesequenzen vorgesehen und ein Segment enthält jeweils ein einziges Codeelement jeder dieser Codesequenzen.
Besonders vorteilhaft ist es, wenn die Längen der Codesequenzen teilerfremd sind, insbesondere s i ch d i e Lä n g en j ewe i l s zwe i er Codesequenzen der mehreren Codesequenzen um 1 unterscheiden.
Im Anspruch 7 ist eine absolute Positionsmessvorrichtung mit einer derartigen absoluten Positionscodierung angegeben.
Demnach umfasst die absolute Positionsmessvorrichtung eine absolute Positionscodierung, umfassend mehrere Codesequenzen unterschiedlicher Längen, die in Kombination einen Messbereich eindeutig absolut codieren, wobei die mehreren Codesequenzen in einer gemeinsamen Spur angeordnet sind, indem Codeelemente der mehreren Codesequenzen nach einer vorgegebenen Abfolge angeordnet sind, die ein Segment bildet, das innerhalb des Messbereichs wiederum mehrfach hintereinander angeordnet ist, wobei jedes dieser Segmente mindestens drei Codeelemente umfasst; eine Detektoranordnung zur Abtastung der Positionscodierung und zur Generierung von Codewörtern, und eine Dekodiereinrichtung zur Dekodierung der Codewörter und zur Generierung von Positionswerten.
Die Dekodiereinrichtung weist vorzugsweise einen ersten Wertevorrat zur Dekodierung einer ersten Folge von Codewörtern auf, die jeweils bei der Abtastung einer der Codesequenzen sowie ihrer zyklischen Fortsetzung entsteht, und - A -
einen zweiten Wertevorrat zur Dekodierung einer zweiten Folge von Codewörtern auf, die jeweils bei der Abtastu ng einer weiteren der Codesequenzen sowie ihrer zyklischen Fortsetzung entsteht.
Die Detektoranordnung ist vorzugsweise derart ausgebildet, dass diese zumindest ein Codewort der Abtastlänge entsprechend einem ganzzahlig Vielfachen der Länge eines Segmentes generiert.
Zur weiteren Auflösung des mit der absoluten Positionscodierung erhaltenen absoluten Positionswertes ist es vorteilhaft, wenn zusätzlich zur absoluten Positionscodierung zumindest eine Inkrementalspur vorgesehen ist, die eine Inkrementalinformation liefert, welche die Breite eines Codeelementes durch Interpolation weiter auflöst.
Die Positionsmessvorrichtung weist dann in vorteilhafter Weise eine Kombinationseinheit auf, die dazu ausgebildet ist, die aus der absoluten Positionscodierung und der Inkrementalspur gewonnenen Positionswerte zu kombinieren, und eine absolute Gesamtposition zu bilden, welche eine höhere Auflösung besitzt, als der absolute Positionswert.
Weitere vorteilhafte Ausgestaltungen der Erfindung sind in den abhängigen Ansprüchen angegeben.
Anhand der Zeichnungen werden Ausführungsbeispiele der Erfindung näher erläutert.
Es zeigt
Figur 1 eine erste Positionsmessvorrichtung mit einer ersten Positionscodierung in schematischer Darstellung;
Figur 2 eine erste Zuordnung einer abgetasteten Bitfolge;
Figur 3 eine zweite Zuordnung einer abgetasteten Bitfolge; Figur 4 eine dritte Zuordnung einer abgetasteten Bitfolge;
Figur 5 ein Flussdiagramm und Rechen Vorschriften zur
Ermittlung der Position mittels der ersten Positionsmessvorrichtung;
Figur 6 ein Diagramm zur Ermittlung der Position aus abgetasteten Bitfolgen (Bitpattern) anhand eines Beispiels der ersten Positionsmessvorrichtung;
Figur 7 eine zweite Positionsmessvorrichtung mit einer zweiten Positionscodierung in schematischer Darstellung;
Figur 8 eine Zuordnung einer abgetasteten Bitfolge der zweiten Positionsmessvorrichtung;
Figur 9 ein Flussdiagramm und Rechen Vorschriften zur
Ermittlung der Position mittels der zweiten Positionsmessvorrichtung, und
Figur 10 auf zwei Seiten ein Diagramm zur Ermittlung der
Position aus abgetasteten Bitfolgen (Bitpattern) anhand eines Beispiels der zweiten Positionsmess- Vorrichtung.
Bei allen Ausführungen der Erfindung wird das Nonius-Prinzip eingesetzt. Zur absoluten Positionsmessung werden mehrere serielle Codesequenzen verwendet, die verschiedene Längen aufweisen. An jeder Position innerhalb des Messbereichs wird nun die eindeutige absolute Position aus der Kombination von Teilpositionen der mehreren seriellen Codesequenzen gewonnen. Der Vorteil einer derartigen Codierung besteht darin, dass die Decodiereinrichtung jeweils nur die relativ kurzen mehreren seriellen Codesequenzen und ihrer zyklischen Fortsetzungen decodieren muss, und dann die eindeutige Position durch relativ einfache Beziehungen aus diesen decodierten Codesequenzen ermittelt werden kann. Erfolgt die Decodierung mittels Tabellen, sind nur mehrere kleine Tabellen erforderlich. Es sind sehr viel weniger Tabelleneinträge notwendig, als absolute Positionen ausgebbar sind.
Eine Codesequenz ist dabei eine Abfolge von Codeelementen, bei der eine vorgegebene Anzahl aufeinanderfolgender Codeelemente, später Abtastlänge bezeichnet, über die gesamte Codesequenz unterschiedliche und somit eindeutig voneinander unterscheidbare Kombinationen von Bits, später Codewörter bzw. Bitpfolge (Bitpattern) bezeichnet, ergibt.
Aus jedem Codeelement wird also durch Abtastung ein Bit gewonnen, und mehrere aufeinanderfolgende Bits bilden ein Codewort bzw. eine Bilfolge (Bitpattern).
I n Fi g u r 1 i st ei ne erste erfi n d u n gsgemäß ausgebildete absolute Positionscodierung 1 einer Längenmessvorrichtung schematisch dargestellt. Die Positionscodierung 1 ist derart ausgebildet, dass sie innerhalb eines Messbereichs an jeder Position eine eindeutige absolute Position POS definiert. Hierzu besteht die Positionscodierung 1 aus einer hintereinander angeordneten Folge von Codeelementen AO bis A4 bzw. BO bis B3 gleicher Größe.
Das Prinzip der Positionsmessung beruht auf der Schwebung von mehreren Codesequenzen A, B unterschiedlicher Länge L A und L 6 , wobei L A , L 6 ganzzahlig und vorzugsweise teilerfremd ist. Die Längen L A und L 6 definieren jeweils die Anzahl der Codeelemente einer Codesequenz A, B. Die maximal zu decodierende Länge L max , also die maximale Anzahl an verschiedenen absoluten Positionen, ergibt sich, wenn sich L A von L 6 um 1 unterscheidet.
Die erste Codesequenz A sei mit der Bitfolge A 0 A 1 A 2 A 3^ A LA-1 der Länge L A , im Beispiel L A = 5 gegeben, und die zweite Codesequenz B durch die Bitfolge
der Länge L 6 , im Beispiel L 6 = 4. Hierbei ist A 1 , B 1 e {0;1}.
Die Positionscodierung 1 wird nun dadurch geschaffen, dass Codeelemente der beiden Codesequenzen A, B nach der vorgegebenen Abfolge AAB angeordnet werden. Diese vorgegebene Abfolge besteht in diesem ersten Ausfü hru ngsbeispiel also jeweils aus zwei aufeinanderfolgenden Codeelementen der Codesequenz A und einem nachfolgend angeordneten Codeelement der Codesequenz B. Diese Abfolge von Codeelementen bildet somit ein Segment, welches einen Teil der Codesequenz A und einen Teil der Codesequenz B aufweist, wobei zumindest einer dieser Teile mehrere aufeinanderfolgende Codeelemente einer dieser Codesequenzen A bzw. B umfasst. Diese Segmente sind innerhalb des Messbereichs mehrfach hintereinander angeordnet.
Die vollständige Positionscodierung innerhalb des Messbereichs ist somit bei diesem Beispiel:
A 0 A 1 B 0 A 2 A 3 B 1 A 4 AoB 2 A 1 A 2 B 3 A 3 A 4 BoA 0 A 1 B 1 A 2 A 3 B 2 A 4 A 0 B 3 A 1 A 2 B 0 A 3 A 4 B 1 ... A 0 A 1 B 2 A 2 A 3 B 3 A 4 A 0 B 0 A 1 A 2 B 1 A 3 A 4 B 2 A 0 A 1 B 3 A 2 A 3 B 0 A 4 A 0 B 1 A 1 A 2 B 2 A 3 A 4 B 3 Die Positionscodierung 1 besteht somit aus einzelnen Segmenten AAB. Ein Segment hat in diesem Beispiel eine Länge L s =3.
Die maximale Zahl an codierbaren Positionen ist damit:
L max = Ls * KGV(L A , L 6 ) = 3 * KGV(5, 4) = 3 * 5 * 4 = 60 mit KGV = kleinstes gemeinsames Vielfaches
Zur Positionsmessung wird die Positionscodierung 1 beispielsweise optisch abgetastet, indem die Codeelemente ein Lichtbündel positionsabhängig modulieren, so dass am Ort einer Detektoranordnung 2 einer Abtasteinrichtung eine positionsabhängige Lichtverteilung entsteht, die von der Detektoranordnung 2 in elektrische Abtastsignale w gewandelt wird. Die Detektoranordnung 2 ist ein Zeilensensor, mit einer in Messrichtung X angeordneten Folge von Detektorelementen. Die Detektorelemente sind derart ausgebildet, dass jedem der Codeelemente der Breite R innerhalb einer Abtastlänge AL in jeder Relativlage zumindest eines der Detektorelemente eindeutig zugeordnet ist, und somit aus jedem der Codeelemente innerhalb der Abtastlänge AL ein Bit 0 oder 1 gewonnen werden kann. Hierzu sind beim optischen Abtastprinzip die Codeelemente reflektierend oder nichtreflektierend, bzw. opak oder nichtopak, wobei den reflektierenden Codeelementen beispielsweise der Bitwert 1 und den nichtreflektierenden Codeelementen der Bitwert 0 zugeordnet wird. Die Abfolge dieser Bits (Bitpattern) einer Codesequenz A, B, deren Anzahl abhängig von der Abtastlänge AL ist, bildet für die beiden Codesequenzen A, B jeweils ein Codewort w. Die Abtastsignale, also die Codeworte w werden einer Decodiereinrichtung 3 zugeführt, welche aus jedem der Codeworte w einer der Codesequenzen A, B eine Teilposition x A , X B ableitet und aus diesen Teilpositionen x A , X B dann daraus eine absolute Position POS bildet. Bei einer Verschiebung der Detektoranordnung 2 gegenüber der Positionscodierung 1 um die Breite bzw. Länge R eines Codeelementes A, B wird zumindest aus einer der Codesequenzen A, B ein neues Codewort w erzeugt.
Die Anzahl der abgetasteten Codeelemente der Positionscodierung 1 wird Abtastlänge AL bezeichnet und ist vorzugsweise derart gewählt, dass bei Bewegung der Detektoranordnung 2 über die Positionscodierung 1 das, was auf der einen Seite "herausläuft" auf der anderen Seite wieder "hereinkommt". Das heißt, dass die Abtastlänge AL ein ganzzahlig Vielfaches von Ls sein sollte: AL = n * L s , mit n= ganzzahlig
Die Codesequenzen A und B, also die Abfolge der Codeelemente, sowie die Abtastlänge AL sind derart gewählt, dass innerhalb einer gesamten Codesequenz A, B an jeder Position in Schritten der Breite R eines Codeelementes ein eindeutiges Wort generiert wird, das sich von allen anderen Wörtern dieser Codesequenz A, B unterscheidet, und dass innerhalb dieser Codesequenz A, B an jeder Position in Schritten der Breite R ein eindeutiges Wort generiert wird, das sich von allen anderen Wörtern dieses Abschnitts unterscheidet.
In dem hier dargestellten Beispiel sei angenommen, dass die Abtastlänge
AL=9;
L s =3; n=3
Zur Decodierung der Codewörter w weist die Decodiereinrichtung 3 zwei Tabellen T A , T 6 auf, die Tabelle T A für die Codesequenz A und die Tabelle T 6 für die Codesequenz B.
Die Decodiertabellen für die beiden Codesequenzen A, B sehen damit wie folgt aus:
Tabelle T A für Codesequenz A:
Tabelle T 6 für Codesequenz B:
Bei der Decodierung müssen nun drei (= L s ) Fälle betrachtet werden, wobei das abgetastete Wort w mit der Abtastlänge AL=9 wie folgt bezeichnet sei:
1. Fall:
Wie in Figur 2 dargestellt, wird die Bitfolge (Bitpattern) K 0 K 1 K 3 K 4 K 6 K 7 in Wort WL 1 einsortiert und K 2 K 5 K 8 in Wort WS 1 .
2. Fall: Wie in Figur 3 dargestellt, wird die Bitfolge (Bitpattern) K 0 K 2 K 3 K 5 K 6 K 8 in
Wort wL 2 einsortiert und K 1 K 4 K 7 in Wort wS 2 .
3. Fall:
Wie in Figur 4 dargestellt, wird die Bitfolge (Bitpattern) K 1 K 2 K 4 K 5 K 7 K 8 in Wort wL 3 einsortiert und K 0 K 3 K 6 in Wort wS 3 .
Es müssen alle sechs Wörter WL 1 , wL 2 , wL 3 und WS 1 , wS 2 , wS 3 gebildet werden.
Der Decodier-Algorithmus ist nun so aufgebaut, dass die Worte WL 1 , wL 2 und wL 3 in Tabelle T A , sowie die Worte WS 1 , wS 2 und wS 3 in der Tabelle T 6 gesucht werden. Nur wenn in einer der oben genannten 3 Möglichkeiten die entsprechenden Wörter in den entsprechenden Tabellen gefunden wurden, kann eine Position POS ermittelt werden.
Aus den mittels der Tabellen T A , T 6 ermittelten Teilpositionen x A , X B wird mittels einer Kombinationseinheit 31 die absolute Position POS ermittelt.
Ein möglicher Algorithmus zur Ermittlung der absoluten Position POS ist beispielhaft in Figur 5 dargestellt.
Abschließend zu diesem Ausführungsbeispiel wird nun noch eine konkrete Positionscodierung als Beispiel angegeben. Es sei wieder L A =5 und L B =4. Codesequenz A: 00100 Codesequenz B: 1101
Die gesamte Positionscodierung ist damit (die Codeelemente der Codesequenz B sind dabei zur Unterscheidung von den Codeelementen der Codesequenz A kursiv dargestellt): OO71O7OOOO1 7OO7OO71 OOOO7O1 700700010700701 7000007107007010007
Die Positionscodierung besteht somit aus den aufeinanderfolgenden Segmenten, von denen jedes jeweils aus zwei Codeelementen der Codesequenz A und einem Codeelement der Codesequenz B zusammengesetzt ist: 007 107 000
007
010
007
Figur 6 zeigt ein Diagramm zur Ermittlung der Position POS aus den gelesenen Bitpattern (Wörtern) mit dem in Figur 5 gezeigten Algorithmus, wobei das abgelesene Bitpattern aus neun Bits (=AL) besteht.
Anhand der Figur 7 wird ein zweites Ausführungsbeispiel der Erfindung erläutert. Dabei sind mindestens drei Codesequenzen vorgesehen und ein Segment umfasst jeweils ein einziges Codeelement dieser Codesequenzen. Im konkreten Beispiel sind drei Codesequenzen A, B und C vorgesehen. Dabei ist L A >L B >L C
Die Längen L A , L 6 und L c definieren auch hier jeweils die Anzahl der Codeelemente der entsprechenden Codesequenz A, B, C.
Die erste Codesequenz A sei mit der Bitfolge der Länge L A gegeben, und die zweite Codesequenz B durch die Bitfolge der Länge L 6 gegeben, und die dritte Codesequenz C durch die Bitfolge
der Länge L c .
Hierbei ist wieder A 1 , B 1 , C 1 e {0;1}.
Die Codesequenzen A, B und C, also die Abfolge der Codeelemente, sowie die Abtastlänge AL sind derart gewählt, dass innerhalb einer gesamten Codesequenz A, B, C an jeder Position in Schritten der Breite R eines Codeelementes ein eindeutiges Wort generiert wird, das sich von allen anderen Wörtern dieser Codesequenz A, B, C unterscheidet, und dass innerhalb dieser Codesequenz A, B, C an jeder Position in Schritten der Breite R ein eindeutiges Wort generiert wird, das sich von allen anderen Wörtern dieser Codesquenz unterscheidet.
Die Positionscodierung 10 wird nun dadurch erzeugt, dass immer abwechselnd ein Codeelement aus den drei Codesequenzen A, B, C genommen wird:
A 0 B 0 C 0 A I B I C I A 2 B 2 C 2 A S B S C 0 A 4 B 0 C I A 0 B I C 2 A I B 2 C 0 A 2 B S C I A S B 0 C 2 A 4 B I C 0 ... A 0 B 2 C I A- I B S C 2 A 2 B 0 C 0 A S B- I C I A 4 B 2 C 2 A 0 B S C 0 A- I B 0 C I A 2 B- I C 2 A S B 2 C 0 A 4 B S C I ... A 0 B 0 C 2 A 1 B 1 C 0 A 2 B 2 CiA 3 B 3 C 2 A 4 B 0 C 0 A 0 B 1 CiA 1 B 2 C 2 A 2 B 3 C 0 A 3 B 0 CiA 4 B 1 C 2 ... A 0 B 2 C 0 A I B 3 C I A 2 B 0 C 2 A S B I C 0 A 4 B 2 C I A 0 B 3 C 2 A I B 0 C 0 A 2 B I C I A S B 2 C 2 A 4 B 3 C 0 ... A 0 B 0 C I A I B I C 2 A 2 B 2 C 0 A S B 3 C I A 4 B 0 C 2 A 0 B I C 0 A I B 2 C I A 2 B S C 2 A 3 B 0 C 0 A 4 B I C I ... A 0 B 2 C 2 A I B S C 0 A 2 B 0 C I A 3 B I C 2 A 4 B 2 C 0 A 0 B S C I A I B 0 C 2 A 2 B I C 0 A 3 B 2 C I A 4 B S C 2
Entsprechend der obigen Notation ist hier die Länge eines Segments L s =3.
Für die maximale Anzahl an codierbaren Positionen gilt nun: L max = L s * KGV(L A ,L B ,Lc) mit KGV = kleinstes gemeinsames Vielfaches Da hier L A , L 6 und L c teilerfremd sind, gilt nun L max = 3 * L A * L B * L c =180 Positionen.
In diesem dargestellten Beispiel ist die Abtastlänge AL = 5 * L s = 15.
Die Tabelle T A , T 6 und T c für die Codesequenzen A, B, C sehen damit wie folgt aus:
Tabelle T A für Codesequenz A:
Tabelle T 6 für Codesequenz B:
Tabelle T c für Codesequenz C:
Zur Decodierung werden zunächst aus der abgetasteten Bitfolge die drei Einzelwörter W 1 , W 2 und W 3 gebildet, wie in Figur 8 dargestellt ist. Die drei Worte W 1 , W 2 und W 3 werden nun in den drei Tabellen T A , T 6 und T c gesucht, das heißt, dass insgesamt neun Suchoperationen stattfinden:
W 1 -> T A ; W 1 -> T 6 ; W 1 -> T c
W 2 -> T A ; W 2 -> T 6 ; W 2 -> T c W 3 -> T A ; W 3 -> T 6 ; W 3 -> T c
Die Berechnung der Gesamtposition geschieht dann in zwei Stufen. Zunächst wird die Codesequenz A und B genommen und eine Position p 12 aus der Schwebung dieser Codesequenzen A, B berechnet. Entsprechend kann man eine Länge L 12 =KGV(L A ,L B ) definieren. Das gleiche geschieht mit den Codesequenzen B und C, woraus eine Position p 23 berechnet wird und L 23 =KGV(L B ,Lc).
Die Gesamtposition POS der Positionscodierung 10 berechnet sich in einem zweiten Schritt dann als Schwebung aus p 12 und p 23 .
In dem hier gewählten Beispiel ist L 12 =KGV(5,4)=20 und L 23 =KGV(4,3)=12.
Ein mögliches Flussdiagramm zur Berechnung der Gesamtposition POS ist in Figur 9 beispielhaft dargestellt.
Abschließend zu diesem zweiten Ausführungsbeispiel wird nun noch eine konkrete Positionscodierung 10 angegeben. Es sei L A =5 L B =4 L c =3
Codesequenz A: 00010 Codesequenz B: 0110 Codesequenz C: 101
Die gesamte Positionscodierung 10 ist damit (der Teil der Codesequenz B ist dabei zur Unterscheidung kursiv dargestellt und der Teil der Codesequenz C ist fett dargestellt): ooio7oo7i i oioooo7io7ioooi oio7io7oooioon 700710010000711 71000
0010710701010010700710011000710710000011 710700010010701 71001 0000710711000010710700011010700710010001 710710000010711 70001
Die Positionscodierung 10 weist die aufeinanderfolgenden Segmente, jeweils zusammengesetzt aus einem Codeelement der Codesequenz A, einem Codeelement der Codesequenz B und einem Codeelement der
Codesequenz C, auf:
001 070
071
101
000
071 071
000
101
071
070 001
001
1 70
071
001
Die Tabellen sind: Codesequenz A: -> Tabelle T A
Figur 10 zeigt auf dem Zeichnungsblatt 8/9 und der Fortsetzung auf dem Zeichnungsblatt 9/9 ein Diagramm zur Ermittlung der Position POS aus den gelesenen Bitpattern (Wörtern) mit dem in Figur 9 gezeigten Algorithmus, wobei das abgelesene Bitpattern aus fünfzehn Bits (=AL) besteht.
Soll der durch die Codesequenzen A, B (erstes Ausführungsbeispiel) bzw. A, B , C (zweites Ausführungsbeispiel) ermittelte Positionsmesswert POS weiter aufgelöst werden, kann die oben beschriebene Winkelcodierung 1 bzw. 10 durch eine weitere Spur oder mehrere weitere Spuren mit absoluten Codierungen oder mit Inkrementalteilungen ergänzt sein. Vorteilhaft kann es auch sein, aus der absoluten Positionscodierung 1 bzw. 10 zusätzlich ein periodisches Inkrementalsignal abzuleiten.
Die Decodiereinrichtung 3, 30 ist vorteilhaft als ASIC ausgebildet, wobei die erforderlichen Tabellen T, also die erforderlichen Wertevorräte, jeweils bei der Fertigung des ASICs fest verdrahtet ausgebildet sind. Alternativ können die Tabellen T bzw. Wertevorräte aber auch in Festwertspeichern, wie EPROM abgelegt sein.
Die Erfindung ist beim optischen Abtastprinzip besonders vorteilhaft einsetzbar, da eine optisch abtastbare Positionscodierung 1 , 10 mit maximal möglich verschiedenen Positionen reproduzierbar herstellbar ist und damit eine besonders hochauflösende Positionsmessung ermöglicht wird. Dabei kann die Detektoranordnung 2, 20 und die Decodiereinrichtung 3, 30 gemeinsam in einem Opto-ASIC untergebracht sein.
Die Erfindung ist aber nicht auf das optische Abtastprinzip beschränkt, sondern auch bei magnetischen, induktiven sowie kapazitiven Abtastprinzipien einsetzbar.
Weiterhin kann die absolute Positionscodierung zur Winkelmessung oder zur Längenmessung ausgebildet sein und somit die Positionsmessvorrichtung eine Winkelmessvorrichtung oder eine Längenmessvorrichtung sein.
Ist die Positionscodierung eine Winkelcodierung, so gibt es zwei Möglichkeiten, die Codesequenzen über 360° anzuordnen.
Die erste Möglichkeit besteht darin, dass alle Codesequenzen innerhalb von 360° mehrfach vollständig aufgetragen sind. Bei dieser Ausführung ist die Decodierung besonders einfach, da innerhalb der 360° nur Codewörter auftreten, die in den oben dargestellten Tabellen enthalten sind. Der Grund dafür ist, dass sich an eine Codesequenz der Codesequenzen jeweils der Anfang der nächsten Codesequenz dieser Codesequenzen anschließt (z. B. Ende einer der Codesequenzen A -> Anfang der nächsten Codesequenz A). Dabei sind alle Codesequenzen innerhalb 360° zyklisch fortgesetzt.
Die zweite Möglichkeit besteht darin, dass zu m i n d est ei n e d er Codesequenzen innerhalb von 360° nur teilweise aufgetragen ist, also abgeschnitten ist. Der verbliebene Teil dieser Codesequenz ist also mit einem Anfang dieser Codesequenz fortgesetzt, wobei diese Fortsetzung somit keine zyklische Fortsetzung ist. In diesem Fall ist zur vollständigen Decodierung zusätzlich zu den oben offenbarten Tabellen ein weiterer Wertevorrat erforderlich. Dieser weitere Wertevorrat dient zur Decodierung der am Stoß (z.B. Ende des verbliebenen Teils der abgeschnittenen Codesequenz A -> Anfang der nächsten Codesequenz A) bei der Abtastung neu entstehenden Codewörter.
