DE102014104668B4 - Verfahren zum Betreiben eines Encoder-Emulators und Encoder-Emulator - Google Patents

Verfahren zum Betreiben eines Encoder-Emulators und Encoder-Emulator Download PDF

Info

Publication number
DE102014104668B4
DE102014104668B4 DE102014104668.4A DE102014104668A DE102014104668B4 DE 102014104668 B4 DE102014104668 B4 DE 102014104668B4 DE 102014104668 A DE102014104668 A DE 102014104668A DE 102014104668 B4 DE102014104668 B4 DE 102014104668B4
Authority
DE
Germany
Prior art keywords
output
system clock
period
output signal
edges
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102014104668.4A
Other languages
English (en)
Other versions
DE102014104668A1 (de
Inventor
Christopher Pohl
Markus Mügge
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beckhoff Automation GmbH and Co KG
Original Assignee
Beckhoff Automation GmbH and Co KG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beckhoff Automation GmbH and Co KG filed Critical Beckhoff Automation GmbH and Co KG
Priority to DE102014104668.4A priority Critical patent/DE102014104668B4/de
Publication of DE102014104668A1 publication Critical patent/DE102014104668A1/de
Application granted granted Critical
Publication of DE102014104668B4 publication Critical patent/DE102014104668B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/15Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors
    • H03K5/15013Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with more than two outputs
    • H03K5/1506Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with more than two outputs with parallel driven output stages; with synchronously driven series connected output stages
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/22Analogue/digital converters pattern-reading type

Landscapes

  • Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Transmission And Conversion Of Sensor Element Output (AREA)

Abstract

Verfahren zum Betreiben eines Encoder-Emulators (180) mit den folgenden Schritten:
– Empfangen eines Soll-Positionssignals (200);
– Ermitteln einer Gesamtzahl (n) von Flanken eines Ausgabesignals (230) aus dem Soll-Positionssignal (200);
– Erzeugen des Ausgabesignals (230),
wobei das Ausgabesignal (230) mit der Gesamtzahl (n) von Flanken ausgegeben wird,
wobei jede Flanke jeweils nach Ablauf eines ganzzahligen Vielfachen (dl, dk) einer Periodendauer (Ts) eines Systemtakts (210) seit der letzten vorherigen Flanke ausgegeben wird,
wobei mindestens eine Flanke nach Ablauf eines ersten Vielfachen (dl) der Periodendauer (Ts) des Systemtakts (210) seit der letzten vorherigen Flanke ausgegeben wird
und mindestens eine Flanke nach Ablauf eines zweiten Vielfachen (dk) der Periodendauer (Ts) des Systemtakts (210) seit der letzten vorherigen Flanke ausgegeben wird,
wobei Zeitintervalle zwischen den Flanken des Ausgabesignals (230) mit dem ersten Vielfachen (dl) der Periodendauer (Ts) des Systemtakts (210) und dem zweiten Vielfachen (dk) der Periodendauer (Ts) des Systemtakts (210) zwei unterschiedliche Längen aufweisen.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum Betreiben eines Encoder-Emulators gemäß Patentanspruch 1 sowie einen Encoder-Emulator gemäß Patentanspruch 10.
  • Im Stand der Technik sind Encoder bekannt, die dazu dienen, ein elektrisches Signal (Encodersignal) zu erzeugen, das eine aktuelle Position eines mechanisch beweglichen Systems kodiert. Solche Encoder können auch als Kodierer bezeichnet werden. Die mechanische Bewegung kann dabei beispielsweise eine translatorische oder eine rotatorische Bewegung sein.
  • Es sind absolut messende Encoder bekannt, die elektrische Signale erzeugen, die einen Absolutwert einer Position angeben. Daneben existieren auch inkremental arbeitende Encoder, die Signale erzeugen, die eine Veränderung einer Position gegenüber einer vorherigen Position angeben. Das Ausgangssignal kann dabei beispielsweise als Quadraturschnittstelle ausgebildet sein.
  • Aus dem Stand der Technik sind ebenfalls Vorrichtungen bekannt, die ein von einem Encoder ausgegebenes Signal emulieren, ohne tatsächlich eine Bestimmung einer Position eines mechanisch beweglichen Systems vorzunehmen. Dies wird als Encoder-Emulation bezeichnet. Die Verwendung eines Encoder-Emulators zur Erzeugung eines Encodersignals kann gegenüber einer Verwendung eines realen Encoders den Vorteil einer erhöhten Flexibilität bieten.
  • Die US 8,687,060 B1 beschreibt ein System zur Ausgabe von Pulsen, die auf Positionsmessungen eines bewegten Objekts durch einen kontaktlosen Sensor, beispielsweise einen eindimensionalen optischen Sensor, beruhen und eine zeitabhängige Bewegung des Objekts wiedergeben. Das System nutzt die Positionsmessungen, um eine Geschwindigkeit des Objekts abzuschätzen, wobei die abgeschätzte Geschwindigkeit kontinuierlich an die beobachteten Positionsmessungen angepasst wird. Geschwindigkeit und Positionsmessungen ermöglichen es, die Zeitpunkte der nächsten auszugebenden Pulse anzupassen.
  • Eine Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren zum Betreiben eines Encoder-Emulators anzugeben. Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, einen Encoder-Emulator bereitzustellen. Diese Aufgabe wird durch einen Encoder-Emulator mit den Merkmalen des Anspruchs 10 gelöst. In den abhängigen Ansprüchen sind verschiedene Weiterbildungen angegeben.
  • Ein Verfahren zum Betreiben eines Encoder-Emulators umfasst Schritte zum Empfangen eines Soll-Positionssignals, zum Ermitteln einer Gesamtzahl von Flanken eines Ausgabesignals aus dem Soll-Positionssignal und zum Erzeugen des Ausgabesignals. Dabei wird das Ausgabesignal mit der Gesamtzahl von Flanken ausgegeben. Jede Flanke wird jeweils nach Ablauf eines ganzzahligen Vielfachen einer Periodendauer eines Systemtakts seit der letzten vorherigen Flanke ausgegeben. Mindestens eine Flanke wird nach Ablauf eines ersten Vielfachen der Periodendauer des Systemtakts seit der letzten vorherigen Flanke ausgegeben. Mindestens eine Flanke wird nach Ablauf eines zweiten Vielfachen der Periodendauer des Systemtakts seit der letzten vorherigen Flanke ausgegeben.
  • Vorteilhafterweise ermöglicht dieses Verfahren die Erzeugung eines Ausgabesignals, das eine einem Soll-Positionssignal entsprechende Anzahl von Flanken aufweist. Dabei wird vorteilhafterweise sichergestellt, dass jede Flanke des erzeugten Ausgabesignals synchron zu dem Systemtakt ausgegeben wird. Dadurch, dass die Zeitintervalle zwischen den Flanken des Ausgabesignals mit dem ersten Vielfachen der Periodendauer des Systemtakts und dem zweiten Vielfachen der Periodendauer des Systemtakts zwei unterschiedliche Längen aufweisen, wird sichergestellt, dass die Gesamtzahl der Flanken des Ausgabesignals in einer festgelegten Gesamtzeit ausgegeben werden kann und dabei trotzdem jede Flanke synchron zum Systemtakt ausgegeben wird.
  • In einer Ausführungsform des Verfahrens wird das Ausgabesignal ab einem Empfang eines Synchronisationspulses ausgegeben. Vorteilhafterweise ermöglicht das Verfahren dadurch eine Synchronisation des durch das Verfahren erzeugten Ausgabesignals mit Synchronisationspulsen eines Synchronisationssignals. Dadurch kann die Erzeugung des Ausgabesignals vorteilhafterweise mit anderen Abläufen eines Gesamtsystems synchronisiert werden.
  • In einer Ausführungsform des Verfahrens umfasst dieses weitere Schritte zum Ermitteln einer ersten Anzahl als Rest einer Division einer Positionierzeit durch ein Produkt der Gesamtzahl und der Periodendauer des Systemtakts, zum Ermitteln einer zweiten Anzahl als Differenz aus der Gesamtzahl und der ersten Anzahl, zum Ermitteln des zweiten Vielfachen der Periodendauer des Systemtakts durch ganzzahlige Division der Positionierzeit durch das Produkt der Gesamtzahl und der Periodendauer des Systemtakts, und zum Ermitteln des ersten Vielfachen der Periodendauer des Systemtakts als Summe aus dem zweiten Vielfachen und der Zahl 1. Dabei wird die erste Anzahl der Flanken des Ausgabesignals jeweils nach Ablauf des ersten Vielfachen der Periodendauer des Systemtakts ausgegeben. Die zweite Anzahl der Flanken des Ausgabesignals wird jeweils nach Ablauf des zweiten Vielfachen der Periodendauer des Systemtakts ausgegeben. Vorteilhafterweise wird dadurch sichergestellt, dass sich die Zeitintervalle zwischen aufeinander folgenden Flanken des Ausgabesignals maximal um eine Periodendauer des Systemtakts voneinander unterscheiden. Dadurch weist das durch das Verfahren erhältliche Ausgabesignal vorteilhafterweise eine große zeitliche Gleichförmigkeit und nur geringe Geschwindigkeitsschwankungen auf. Dadurch kann sichergestellt werden, dass das durch das Verfahren erzeugte Ausgabesignal innerhalb einer Eingangsbandbreite nachgeordneter Systeme liegt.
  • In einer Ausführungsform des Verfahrens ist die Positionierzeit ein ganzzahliges Vielfaches der Periodendauer des Systemtakts. Dadurch wird vorteilhafterweise sichergestellt, dass alle Flanken des Ausgabesignals synchron zum Systemtakt ausgegeben werden können.
  • In einer Ausführungsform des Verfahrens entspricht die Positionierzeit einem zeitlichen Abstand zwischen zwei aufeinander folgenden Synchronisationspulsen. Dadurch kann zu jedem Synchronisationspuls mit der Ausgabe eines neuen Ausgabesignals begonnen werden.
  • In einer Ausführungsform des Verfahrens wird zunächst die erste Anzahl der Flanken jeweils nach dem ersten Vielfachen der Periodendauer des Systemtakts ausgegeben und anschließend die zweite Anzahl der Flanken jeweils nach dem zweiten Vielfachen der Periodendauer des Systemtakts ausgegeben. Alternativ kann zunächst die zweite Anzahl der Flanken jeweils nach dem zweiten Vielfachen der Periodendauer des Systemtakts ausgegeben werden und anschließend die erste Anzahl der Flanken jeweils nach dem ersten Vielfachen der Periodendauer des Systemtakts ausgegeben werden. Vorteilhafterweise ist das Verfahren dadurch besonders einfach durchführbar. Außerdem treten im nach diesem Verfahren erzeugten Ausgabesignal vorteilhafterweise relative Geschwindigkeitsänderungen besonders selten auf.
  • In einer Ausführungsform des Verfahrens werden Flankenabstände, die dem ersten Vielfachen der Periodendauer des Systemtakts entsprechen und Flankenabstände, die dem zweiten Vielfachen der Periodendauer des Systemtakts entsprechen, im Wesentlichen gleichmäßig im Ausgabesignal verteilt. Vorteilhafterweise bilden durch die unterschiedliche Länge der Zeitintervalle zwischen den Flanken des Ausgabesignals bewirkte Geschwindigkeitsänderungen im nach diesem Verfahren erzeugten Ausgabesignal eine Schwebung mit vergleichsweise hoher Frequenz. Diese Schwebung kann vorteilhafterweise durch nachgeordnete Systeme mit Tiefpass-Charakter herausgefiltert werden.
  • In einer Ausführungsform des Verfahrens werden die Flanken des Ausgabesignals abwechselnd als steigende und fallende Flanken ausgegeben. Vorteilhafterweise repräsentieren dann sowohl steigende als auch fallende Flanken des Ausgabesignals Zählimpulse des Encoder-Emulators.
  • In einer Ausführungsform des Verfahrens wird ein weiteres Ausgabesignal ausgegeben, das dem Ausgabesignal bis auf eine Phasenverschiebung entspricht. Die beiden Ausgabesignal können dabei ein Quadratursignal bilden. Vorteilhafterweise kann ein nach diesem Verfahren arbeitender Encoder-Emulator dadurch zur Verwendung in bestehenden Systemen und zum Ersatz realer Encoder genutzt werden. Dabei ermöglichen die durch das Verfahren erzeugten Ausgabesignale eine Berücksichtigung eines Vorzeichens bzw. einer Bewegungsrichtung.
  • Ein Encoder-Emulator ist dazu ausgebildet, ein Verfahren der vorgenannten Art auszuführen. Vorteilhafterweise kann dieser Encoder-Emulator als Ersatz für reale Encoder in bestehenden Systemen eingesetzt werden. Dabei kann der Encoder-Emulator ein Ausgabesignal erzeugen, dessen Flanken synchron zu einem Systemtakt sind. Außerdem weist das durch den Encoder-Emulator erzeugte Ausgabesignal vorteilhafterweise nur geringe relative Geschwindigkeitsänderungen auf.
  • Die Erfindung wird nachfolgend anhand von Figuren näher erläutert. Dabei zeigen:
  • 1 eine schematische Darstellung einer Produktionsstraße, in der ein Encoder-Emulator eingesetzt wird;
  • 2 eine schematische Darstellung eines Encoder-Emulators;
  • 3 eine schematische Darstellung eines zeitlichen Ablaufs einer Encoder-Emulation;
  • 4 eine schematische Darstellung eines ersten Emulationsablaufs;
  • 5 eine schematische Darstellung eines zweiten Emulationsablaufs; und
  • 6 eine schematische Darstellung eines dritten Emulationsablaufs.
  • 1 zeigt eine schematische Darstellung einer Produktionsstraße 100. Die Produktionsstraße 100 kann beispielsweise eine Produktionsstraße in einer Fabrik sein. Die Produktionsstraße 100 dient als Beispiel für einen möglichen Einsatzort eines Encoder-Emulators. Ein Encoder-Emulator kann aber auch an vielen anderen möglichen Orten und für viele andere mögliche Zwecke eingesetzt werden.
  • Die Produktionsstraße 100 umfasst ein Fließband 120, auf dem Produkte 110 transportiert werden. Das Fließband 120 wird von einem Antrieb 150 mit einem Motor 160 angetrieben. Der Antrieb 150 wird von einer Steuerung 140 gesteuert.
  • Mittels einer Kamera 130 soll jedes Produkt 110 fotografiert werden, während es auf dem Fließband 120 an der Kamera 130 vorbeigeführt wird. Hierzu muss die Kamera 130 zu geeigneten Zeitpunkten ausgelöst werden. Die durch die Kamera 130 aufgenommenen Fotos der Produkte 110 können beispielsweise einer automatisierten Qualitätskontrolle dienen.
  • Am Fließband 120 der Produktionsstraße 100 ist ein Encoder 170 angeordnet. Der Encoder 170 kann auch als Kodierer bezeichnet werden. In der schematischen Darstellung der 1 ist der Encoder 170 als rotatorischer Kodierer an einer Antriebswelle des Fließbands 120 ausgebildet. Der Encoder 170 erzeugt ein elektrisches Signal, das Auskunft über die Drehung der Antriebswelle des Fließbands 120 und damit auch über die Bewegung des Fließbands 120 und der auf dem Fließband 120 angeordneten Produkte 110 gibt.
  • Das durch den Encoder 170 ausgegebene Signal kann der Kamera 130 zugeführt werden, die hierzu mit einer geeigneten Eingangsschnittstelle ausgestattet ist. Das von dem Encoder 170 erzeugte Signal enthält Positionsinformationen, die in der Kamera 130 eine Auslösung zu geeigneten Zeitpunkten ermöglichen, also zu Zeitpunkten, zu denen ein Produkt 110 im Blickfeld der Kamera 130 an der Kamera 130 vorbeiläuft.
  • Das von dem Encoder 170 ausgegebene Signal kann beispielsweise als Quadratursignal gemäß einer Quadraturschnittstelle ausgebildet sein. In diesem Fall kann das von dem Encoder 170 ausgegebene Signal beispielsweise stets dann eine steigende oder fallende Flanke aufweisen, wenn die Antriebswelle des Fließbands 120 eine Drehung um einen festgelegten Winkel vollzogen hat, beispielsweise eine Drehung um einen Winkel von 45° oder 90°.
  • Der mechanische Encoder 170 weist eine nur geringe Flexibilität hinsichtlich seiner zeitlichen Auflösung und der zeitlichen Positionierung der Flanken in dem von dem Encoder 170 erzeugten Ausgabesignal auf. Eine höhere Flexibilität kann dadurch erreicht werden, dass der Encoder 170 bei der Produktionsstraße 100 durch einen Encoder-Emulator 180 ersetzt wird. Der Encoder-Emulator 180 erzeugt ein Ausgabesignal, das der Kamera 130 anstelle des durch den Encoder 170 erzeugten Ausgangssignals zugeführt wird. In der schematischen Darstellung der 1 erfolgt die Ersetzung des Encoders 170 durch den Encoder-Emulator 180 mittels eines Schalters 190. Selbstverständlich können der Encoder 170 und der Schalter 190 bei Vorhandensein des Encoder-Emulators 180 auch vollständig entfallen.
  • 2 zeigt eine weitere schematische Darstellung eines Teils der Produktionsstraße 100 mit dem Encoder-Emulator 180.
  • Der Encoder-Emulator 180 ist mit der Steuerung 140 verbunden, die auch den Antrieb 150 des Fließbands 120 ansteuert. Der Encoder-Emulator 180 empfängt von der Steuerung 140 ein Soll-Positionssignal 200, ein Systemtaktsignal 210 und ein Synchronisationssignal 220.
  • Das Soll-Positionssignal 200 gibt Soll-Positionen an, deren Erreichen der Encoder-Emulator 180 zu festgelegten Zeitpunkten emulieren soll. Die Steuerung 140 kann das Soll-Positionssignal 200 beispielsweise so erzeugen, dass die Soll-Positionen, deren Erreichen der Encoder-Emulator 180 emuliert, den tatsächlich zu den festgelegten Zeitpunkten durch das Fließband 120 der Produktionsstraße 100 erreichten Positionen entsprechen. Dies ist möglich, da die Steuerung 140 auch den Antrieb 150 des Fließbands 120 ansteuert.
  • Das Synchronisationssignal 220 dient zur Synchronisation der durch den Encoder-Emulator 180 durchgeführten Emulation mit anderen durch die Steuerung 140 der Produktionsstraße 100 kontrollierten Prozessen. Insbesondere dient das Synchronisationssignal 220 zur Festlegung der Zeitpunkte, zu denen der Encoder-Emulator 180 das Erreichen der Soll-Positionen emulieren soll.
  • Das Systemtaktsignal 210 dient dem Encoder-Emulator 180 zur Taktung von durch den Encoder-Emulator 180 vorgenommenen Prozessen. Insbesondere dient das Systemtaktsignal 210 zur Taktung eines durch den Encoder-Emulator 180 erzeugten Ausgabesignals 230.
  • Alternativ zur Darstellung der 2 ist es möglich, dass das Systemtaktsignal 210 dem Encoder-Emulator 180 nicht von der Steuerung 140 zugeführt, sondern von dem Encoder-Emulator 180 selbst intern erzeugt wird. In diesem Fall kann das Synchronisationssignal 220 dem Encoder-Emulator 210 zur Synchronisation des lokal erzeugten Systemtaktsignals 210 dienen.
  • Der Encoder-Emulator 180 erzeugt das Ausgabesignal 230 auf Grundlage des von der Steuerung 140 empfangenen Soll-Positionssignals 200. Das Ausgabesignal 230 wird als digitales Signal mit einander abwechselnden hohen und niedrigen Pegeln ausgegeben. Das Ausgabesignal 230 wird durch den Encoder-Emulator 180 über eine physikalische Schnittstelle ausgegeben, die beispielsweise nach dem RS485-Standard ausgebildet sein kann.
  • Falls der Encoder-Emulator 180 das Ausgabesignal 230 als zu einer Quadraturschnittstelle konformes Quadratursignal erzeugt, kann der Encoder-Emulator 180 zusätzlich zu dem Ausgabesignal 230 ein weiteres Ausgabesignal 240 ausgeben. Das weitere Ausgabesignal 240 ist in diesem Fall wie das Ausgabesignal 230 ausgebildet, weist gegenüber dem Ausgabesignal 230 jedoch eine Phasenverschiebung 241 auf. Die Phasenverschiebung 241 kann so bemessen sein, dass Flanken des weiteren Ausgabesignals 240 im zeitlichen Ablauf jeweils mittig zwischen Flanken des Ausgabesignals 230 angeordnet sind. Zusätzlich zu dem Ausgabesignal 230 und dem weiteren Ausgabesignal 240 kann der Encoder-Emulator 180 auch noch weitere Ausgabesignale erzeugen. Im Folgenden wird lediglich das Ausgabesignal 230 betrachtet.
  • 3 zeigt eine stark schematisierte Darstellung des zeitlichen Ablaufs 300 der durch den Encoder-Emulator 180 der Produktionsstraße 100 durchgeführten Encoder-Emulation. Auf einer horizontalen Achse ist dabei eine Zeit 301 aufgetragen.
  • Das von der Steuerung 140 dem Encoder-Emulator 180 zugeführte Synchronisationssignal 220 weist regelmäßige Synchronisationspulse 225 auf. Zeitlich aufeinander folgende Synchronisationspulse 225 werden im dargestellten Beispiel zu einem ersten Synchronisationszeitpunkt 221, zu einem zweiten Synchronisationszeitpunkt 222 und zu einem dritten Synchronisationszeitpunkt 223 gesendet.
  • Mit dem Soll-Positionssignal 200 übermittelt die Steuerung 140 dem Encoder-Emulator 180 Soll-Positionen. Die Soll-Positionen werden synchron zu den Synchronisationspulsen 225 gesendet. Zum ersten Synchronisationszeitpunkt 221 wird eine erste Soll-Position 201 gesendet. Zum nachfolgenden zweiten Synchronisationszeitpunkt 222 sendet die Steuerung 140 eine zweite Soll-Position 202. Zum nachfolgenden dritten Synchronisationszeitpunkt 223 sendet die Steuerung 140 eine dritte Soll-Position 203.
  • Die von der Steuerung 140 mit dem Soll-Positionssignal 200 übermittelten Soll-Positionen 201, 202, 203 werden durch den Encoder-Emulator 180 zu zwischen den Synchronisationszeitpunkten 221, 222, 223 liegenden Datenübernahmezeitpunkten 302 übernommen. Die erste Soll-Position 201 wird beispielsweise zu einem zwischen dem ersten Synchronisationszeitpunkt 221 und dem zweiten Synchronisationspunkt 222 liegenden Datenübernahmezeitpunkt 302 durch den Encoder-Emulator 180 übernommen.
  • Der Encoder-Emulator 180 ermittelt zu jeder von der Steuerung 140 empfangenen Soll-Position 201, 202, 203 eine Ausgabe-Position als passendes Flankenmuster des Ausgabesignals 230. Diese Ausgabe-Position wird ab dem nächsten nachfolgenden Synchronisationszeitpunkt 221, 222, 223 in dem Ausgabesignal 230 ausgegeben. Beispielsweise wird ab dem zweiten Synchronisationszeitpunkt 222 eine erste Ausgabe-Position 231 ausgegeben, die der ersten Soll-Position 201 entspricht. Ab dem dritten Synchronisationszeitpunkt 223 wird eine zweite Ausgabe-Position 232 ausgegeben, die der zweiten Soll-Position 202 entspricht. Anschließend wird ab dem nächsten nachfolgenden Synchronisationszeitpunkt eine dritte Ausgabe-Position 233 ausgegeben, die der dritten Soll-Position 203 entspricht.
  • Die Ausgabe jeder Ausgabe-Position 231 beginnt im in 3 dargestellten Beispiel zu einem Synchronisationszeitpunkt 221, 222, 223 zeitgleich mit dem Eintreffen eines Synchronisationspulses 225. Die Ausgabe einer Ausgabe-Position 231, 232, 233 im Ausgabesignal 230 nimmt jeweils eine Positionierzeit Tpos in Anspruch. Im dargestellten Beispiel entspricht die Positionierzeit Tpos dem zeitlichen Abstand zwischen zwei aufeinander folgenden Synchronisationspulsen 225 des Synchronisationssignals 220, sodass die Ausgabe jeder Ausgabe-Position 231, 232, 233 im Ausgabesignal 230 gleichzeitig mit dem Eintreffen eines Synchronisationspulses 225 zu einem nächsten Synchronisationszeitpunkt 221, 222, 223 endet. Es ist allerdings auch möglich, die Positionierzeit Tpos länger oder kürzer als den zeitlichen Abstand zwischen zwei aufeinander folgenden Synchronisationspulsen 225 des Synchronisationssignals 220 zu wählen.
  • Ebenfalls ist möglich, die Ausgabe jeder Ausgabe-Position 231, 232, 233 mit einem festgelegten zeitlichen Versatz zum Eintreffen eines Synchronisationspulses 225 zu beginnen und/oder mit einem zeitlichen Versatz zum Eintreffen eines nachfolgenden Synchronisationspulses 225 zu beenden.
  • Der Encoder-Emulator 180 enthält einen Logikteil, der beispielsweise als FPGA realisiert sein kann. Der Logikteil dient dazu, zu jeder empfangenen Soll-Position 201, 202, 203 das Flankenmuster der als Ausgabesignal 230 ausgegebenen Ausgabe-Position 231, 232, 233 zu berechnen.
  • Diese Berechnung umfasst eine Bestimmung einer Gesamtzahl n von Flanken des Ausgabesignals 230. Dabei kann die Gesamtzahl n steigende und fallende Flanken des Ausgabesignals 230 umfassen. Je nach der Ausgestaltung eines dem Encoder-Emulator 180 nachgeordneten Empfängers des Ausgabesignals 230 (beispielsweise der Kamera 130), können zur Gesamtzahl n aber auch lediglich die steigenden oder die fallenden Flanken des Ausgabesignals 230 berücksichtigt werden.
  • Der Encoder-Emulator 180 gibt die Flanken des Ausgabesignals 230 synchron zu steigenden Flanken des Systemtaktsignals 210 aus. Es wäre alternativ auch möglich, die Flanken des Ausgabesignals 230 synchron zu fallenden Flanken des Systemtaktsignals 210 auszugeben. In beiden Fällen wird jede Flanke des Ausgabesignals 230 einen Zeitraum nach der jeweils vorhergehenden Flanke des Ausgabesignals 230 ausgegeben, der einem Vielfachen einer Periodendauer Ts des Systemtakts 210 entspricht.
  • 4 zeigt eine schematische Darstellung eines möglichen ersten Emulationsablaufs 400. Auf einer horizontalen Achse ist eine Zeit 401 aufgetragen. Dargestellt sind das Systemtaktsignal 210 mit der Periodendauer Ts und das Synchronisationssignal 220 mit dem zum zweiten Synchronisationszeitpunkt 220 eintreffenden Synchronisationspuls 225 und dem zum nachfolgenden dritten Synchronisationszeitpunkt 223 eintreffenden Synchronisationspuls 225.
  • Die beiden Synchronisationszeitpunkte 222, 223 weisen einen zeitlichen Abstand 226 voneinander auf. Der zeitliche Abstand 226 zwischen zwei aufeinander folgenden Synchronisationszeitpunkten 221, 222, 223, beziehungsweise zwischen zwei aufeinander folgenden Synchronisationspulsen 225, ist ein ganzzahliges Vielfaches der Periodendauer Ts des Systemtaktsignals 210 und entspricht im dargestellten Beispiel der Positionierzeit Tpos zur Ausgabe einer Ausgabe-Position 231, 232, 233, beispielsweise zur Ausgabe der ersten Ausgabe-Position 231.
  • Während der Positionierzeit Tpos soll die Gesamtanzahl n von Flanken des Ausgabesignals 230 ausgegeben werden. Die Flanken sollen dabei synchron zu steigenden Flanken des Systemtaktsignals 210 ausgegeben werden. Da die Anzahl der steigenden Flanken des Systemtaktsignals 210 während der Positionierzeit Tpos im Allgemeinen, wie auch im konkreten Beispiel der 4, kein ganzzahliges Vielfaches der Gesamtzahl n von auszugebenden Flanken ist, müssen die zeitlichen Abstände zwischen den einzelnen Flanken des Ausgabesignals 230 variieren. Hierzu werden n – 1 Flanken des Ausgabesignals 230 nach zeitlichen Intervallen ausgegeben, deren Dauer ein Vielfaches dn-1 = Tposdiv(n·Ts) der Periodendauer Ts des Systemtaktsignals 210 ist. Eine weitere Flanke des Ausgabesignals 230 wird nach einem zeitlichen Intervall ausgegeben, dessen Dauer ein Vielfaches
    Figure DE102014104668B4_0002
    der Periodendauer Ts des Systemtaktsignals 210 ist. Hierbei bezeichnet div den Operator der ganzzahligen Division, also: xdivy = ⌊x/y⌋.
  • Im konkreten Beispiel des ersten Emulationsablaufs 400 der 4 beträgt die Periodendauer Ts des Systemtakts 210 Ts = 1 ms. Der zeitliche Abstand 226 zwischen zwei aufeinander folgenden Synchronisationspulsen 225 des Synchronisationssignals 220, und damit die Positionierzeit Tpos, beträgt in diesem Beispiel Tpos = 28 ms. Die Gesamtzahl n auszugebender Flanken des als erste Ausgabe-Position 231 ausgegebenen Ausgabesignals 230 beträgt n = 5.
  • Das Ausgabesignal 230 wird durch den Encoder-Emulator 180 ab dem zweiten Synchronisationszeitpunkt 222 so ausgegeben, dass eine erste Flanke 411 des als erste Ausgabe-Position 231 ausgegebenen Ausgabesignals 230 nach einem ersten zeitlichen Intervall 421 ausgegeben wird. Das erste Intervall 421 bemisst sich dabei ab dem zweiten Synchronisationszeitpunkt 222, also ab dem Beginn der Positionierzeit Tpos. Eine zweite Flanke 412 des als erste Ausgabe-Position 231 ausgegebenen Ausgabesignals 230 wird nach einem zweiten Intervall 422 ausgegeben. Das zweite Intervall 422 bemisst sich dabei ab der Ausgabe der ersten Flanke 411. Eine dritte Flanke 413 des als erste Ausgabe-Position 231 ausgegebenen Ausgabesignals 230 wird nach einem dritten Intervall 423 ausgegeben. Eine vierte Flanke 414 des als erste Ausgabe-Position 231 ausgegebenen Ausgabesignals 230 wird nach einem vierten Intervall 424 ausgegeben. Eine fünfte Flanke 415 des als erste Ausgabe-Position 231 ausgegebenen Ausgabesignals 230 wird nach einem fünften Intervall 425 ausgegeben.
  • Das erste Intervall 421, das zweite Intervall 422, das dritte Intervall 423 und das vierte Intervall 424 weisen jeweils eine zeitliche Länge auf, die einem Fünffachen der Periodendauer Ts des Systemtakts 210 entspricht, also eine Dauer von 5 ms. Das fünfte Intervall 425 weist dagegen eine größere zeitliche Länge auf, die dem Achtfachen der Periodendauer Ts des Systemtakts 210 entspricht, also eine Dauer von 8 ms. Gemeinsam weisen das erste Intervall 421, das zweite Intervall 422, das dritte Intervall 423, das vierte Intervall 424 und das fünfte Intervall 425 somit eine Dauer auf, die der Positionierzeit Tpos von 28 ms entspricht.
  • Beim beispielhaften ersten Emulationsablauf 400 wird die Ausgabe der letzten Flanke des Ausgabesignals 230 so verzögert, dass die letzte Flanke des Ausgabesignals 230 mit dem dritten Synchronisationszeitpunkt 223 zusammenfällt. Damit ist der zeitliche Abstand zwischen der vorletzten Flanke und der letzten Flanke des Ausgabesignals 230 größer als die zeitlichen Abstände zwischen den vorhergehenden Flanken des Ausgabesignals 230. Selbstverständlich wäre es möglich, anstelle des fünften Intervalls 425 das erste Intervall 421, das zweite Intervall 422, das dritte Intervall 423 oder das vierte Intervall 424 länger als die übrigen Intervalle des zur ersten Ausgabe-Position 231 gehörigen Ausgabesignals 230 auszubilden.
  • Das fünfte Intervall 425 weist eine um 60% größere Dauer auf als das erste Intervall 421, das zweite Intervall 422, das dritte Intervall 423 und das vierte Intervall 424. Ein dem Encoder-Emulator 180 nachgeordneter Empfänger des durch den Encoder-Emulator 180 als erste Ausgabe-Position 231 erzeugten Ausgabesignals 230 kann die Änderung der Dauer der Intervalle 421, 422, 423, 424, 425 als Geschwindigkeitsänderung interpretieren, was in einigen Anwendungsfällen nachteilig ist. Falls es sich bei dem dem Encoder-Emulator 180 nachgeordneten Empfänger des Ausgabesignals 230 um ein Zählsystem handelt, so kann durch die Änderung der Dauer der Intervalle 421, 422, 423, 424, 425 eine Eingangsbandbreite des nachgeordneten Empfängers überschritten sein.
  • 5 zeigt eine schematische Darstellung eines zweiten Emulationsablaufs 500 zur Ausgabe der ersten Ausgabe-Position 231 mit dem Ausgabesignal 230. Auf einer horizontalen Achse ist wiederum eine Zeit 501 aufgetragen.
  • Beim zweiten Emulationsablauf 500 wird nach einem ersten Intervall 521 eine erste Flanke 511 des Ausgabesignals 230 ausgegeben. Nach einem weiteren zweiten Intervall 522 wird eine zweite Flanke 512 ausgegeben. Nach einem nachfolgenden dritten Intervall 523 wird eine dritte Flanke 513 ausgegeben. Nach einem weiteren vierten Intervall 524 wird eine vierte Flanke 514 ausgegeben. Nach einem anschließenden fünften Intervall 525 wird eine fünfte Flanke 515 ausgegeben. Die erste Flanke 511, die dritte Flanke 513 und die fünfte Flanke 515 sind fallende Flanken des Ausgabesignals 230. Die zweite Flanke 512 und die vierte Flanke 514 sind im dargestellten Beispiel steigende Flanken des Ausgabesignals 230.
  • Beim zweiten Emulationsablauf 500 ist die zur Verfügung stehende Positionierzeit Tpos derart auf die zwischen den einzelnen Flanken 511, 512, 513, 514, 515 angeordneten Intervalle 521, 522, 523, 524, 525 verteilt, dass sich die Dauern der Intervalle 521, 522, 523, 524, 525 höchstens um die Periodendauer Ts des Systemtakts 210 unterscheiden.
  • Dies erfordert es, von der Gesamtzahl von n = 5 Flanken des Ausgabesignals 230 eine erste Anzahl von l = Tposmod(n·Ts) von Intervallen um den Wert einer Periodendauer Ts des Systemtakts 210 zu verlängern. Eine zweite Anzahl von k = n – l von Intervallen des Ausgabesignals 230 weist eine kürzere Dauer auf. Dabei weisen die k kürzeren Intervalle jeweils eine Dauer auf, die ein erstes Vielfaches dk = Tposdiv(n·Ts) der Periodendauer Ts des Systemtakts 210 ist. Die l längeren Intervalle weisen jeweils eine zeitliche Dauer auf, die einem zweiten Vielfachen dl = dk + 1 der Periodendauer Ts des Systemtakts 210 entspricht. Hier bezeichnet mod den Operator, der den Rest einer ganzzahligen Division liefert, also: xmody = x – y·(xdivy).
  • Im konkreten Beispiel mit Ts = 1 ms, Tpos = 28 ms und n = 5 ergibt sich l = 28 ms mod(5·1 ms) = 3, k = 5 – 3 = 2, dk = 28 ms div(5·1 ms) = 5, dl = 5 + 1 = 6. Beim zweiten Emulationsablauf 500 der 5 weisen das erste Intervall 521, das zweite Intervall 522 und das dritte Intervall 523 (also l Intervalle) eine Dauer von sechsmal (also dl) der Periodendauer Ts des Systemtakts 210 auf. Das vierte Intervall 524 und das fünfte Intervall 525 (also k Intervalle) weisen eine Dauer von fünfmal (also dk) der Periodendauer Ts des Systemtakts 210 auf. Gemeinsam weisen das erste Intervall 521, das zweite Intervall 522, das dritte Intervall 523, das vierte Intervall 524 und das fünfte Intervall 525 eine Dauer auf, die der Positionierzeit Tpos entspricht, also eine Dauer des 28-fachen der Periodendauer Ts des Systemtakts 210.
  • Beim beispielhaften zweiten Emulationsablauf 500 der 5 sind die l verlängerten Intervalle 521, 522, 523 am Beginn der Positionierzeit Tpos nach dem zweiten Synchronisationszeitpunkt 222 angeordnet. Selbstverständlich wäre es auch möglich, die k kurzen Intervalle am Beginn der Positionierzeit Tpos nach dem zweiten Synchronisationszeitpunkt 222 vor den l verlängerten Intervallen anzuordnen.
  • Der zweite Emulationsablauf 500 bietet den Vorteil, dass das erste Intervall 521, das zweite Intervall 522 und das dritte Intervall 523 jeweils dieselbe zeitliche Dauer aufweisen. Ebenso weisen auch das vierte Intervall 524 und das fünfte Intervall 525 die gleiche Dauer auf. Dadurch kommt es während des zweiten Emulationsablaufs 500 lediglich einmal zu Beginn der Positionierzeit Tpos nach dem zweiten Synchronisationszeitpunkt 222 und einmal nach dem dritten Intervall 523 zu einer Änderung der Intervalldauer. Außerdem beträgt die Änderung der Intervalldauer jeweils nur eine Periodendauer Ts des Systemtakts 220.
  • 6 zeigt eine schematische Darstellung eines dritten Emulationsablaufs 600. Auf einer horizontalen Achse ist wiederum eine Zeit 601 aufgetragen. Beim dritten Emulationsablauf 600 wird nach einem ersten Intervall 621 eine erste Flanke 611 des Ausgabesignals 230 ausgegeben. Nach einem anschließenden zweiten Intervall 622 wird eine zweite Flanke 612 ausgegeben. Nach einem anschließenden dritten Intervall 623 wird eine dritte Flanke 613 ausgegeben. Nach einem anschließenden vierten Intervall 624 wird eine vierte Flanke 614 ausgegeben. Nach einem anschließenden fünften Intervall 625 wird eine fünfte Flanke 615 des Ausgabesignals 230 ausgegeben.
  • Auch beim dritten Emulationsablauf 600 weisen k Intervalle eine Dauer auf, die dem zweiten Vielfachen dk der Periodendauer Ts des Systemtakts 210 entspricht, während l Intervalle eine Dauer aufweisen, die dem ersten Vielfachen dl der Periodendauer Ts des Systemtakts 210 entspricht. Allerdings weisen beim dritten Emulationsablauf 600 das erste Intervall 621, das dritte Intervall 623 und das fünfte Intervall 625 die größere zeitliche Dauer auf, während das zweite Intervall 622 und das vierte Intervall 624 die geringere zeitliche Dauer aufweisen. Somit sind die verlängerten Intervalle und die kürzeren Intervalle gleichmäßig über die Positionierzeit Tpos verteilt.
  • Die sich daraus ergebenden Änderungen der Intervalldauer während der Positionierzeit Tpos bewirken eine Schwebung im Ausgabesignal 230. Dem Encoder-Emulator 180 nachgeordnete Empfänger des Ausgabesignals 230 können PT1-Eigenschaften aufweisen, wodurch hohe Frequenzen stärker bedämpft werden als niedrigere. In diesem Fall wird die Schwebung in dem mittels des dritten Emulationsablaufs 600 erzeugten Ausgabesignal 230 durch dem Encoder-Emulator 180 nachgeordnete Empfänger des Ausgabesignals 230 gedämpft und hat daher keine negativen Auswirkungen. Falls dem Encoder-Emulator 180 nachgeordnete Empfänger des Ausgabesignals 230 rein zählenden Charakter aufweisen, so ist die Verteilung der kurzen und langen Intervalle auf die Positionierzeit Tpos unerheblich.
  • Zur Ermittlung einer gleichmäßigen Verteilung der k kürzeren und l längeren Intervalle über die Positionierzeit Tpos kann beispielsweise ein angepasster Bresenham-Algorithmus genutzt werden. Hierzu wird beispielsweise dx = k und dy = l gesetzt. Für jeden durch den Bresenham-Algorithmus vorgesehenen Schritt in x-Richtung wird ein kurzes Intervall mit Dauer dk ausgegeben, für jeden durch den Bresenham-Algorithmus vorgesehenen Schritt in y-Richtung ein langes Intervall mit Dauer dl.
  • Das durch den Encoder-Emulator 180 erzeugte Ausgabesignal 230 kann einem dem Encoder-Emulator 180 nachgeordneten Empfänger des Ausgabesignals 230, beispielsweise der Kamera 130 der Produktionsstraße 100 der 1, unmittelbar zugeführt werden, wie dies in 1 dargestellt ist. Es ist allerdings auch möglich, zwischen der Erzeugung des Ausgabesignals 230 und dem Empfänger eine weitere Prozessierung einzufügen, die beispielsweise durch den Encoder-Emulator 180 selbst oder durch ein eingefügtes Zwischenglied vorgenommen werden kann. Dabei kann beispielsweise aus dem Ausgabesignal 230 ein vergröbertes externes Ausgabesignal erzeugt werden, indem lediglich zu jeder i-ten Flanke des Ausgabesignals 230 eine Flanke des externen Ausgabesignal ausgegeben wird. Dabei ist i eine ganze Zahl, bevorzugt eine Zweierpotenz, beispielsweise i = 8 oder i = 16.
  • Bezugszeichenliste
  • 100
    Produktionsstraße
    110
    Produkt
    120
    Fließband
    130
    Kamera
    140
    Steuerung
    150
    Antrieb
    160
    Motor
    170
    Encoder
    180
    Encoder-Emulator
    190
    Schalter
    200
    Soll-Positionssignal
    201
    erste Soll-Position
    202
    zweite Soll-Position
    203
    dritte Soll-Position
    210
    Systemtaktsignal
    220
    Synchronisationssignal
    221
    erster Synchronisationszeitpunkt
    222
    zweiter Synchronisationszeitpunkt
    223
    dritter Synchronisationszeitpunkt
    225
    Synchronisationspuls
    226
    zeitlicher Abstand zwischen zwei aufeinanderfolgenden Synchronisationspulsen
    230
    Ausgabesignal
    231
    erste Ausgabe-Position
    232
    zweite Ausgabe-Position
    233
    dritte Ausgabe-Position
    240
    weiteres Ausgabesignal
    241
    Phasenverschiebung
    300
    zeitlicher Ablauf
    301
    Zeit
    302
    Datenübernahmezeitpunkt
    400
    erster Emulationsablauf
    401
    Zeit
    411
    erste Flanke
    412
    zweite Flanke
    413
    dritte Flanke
    414
    vierte Flanke
    415
    fünfte Flanke
    421
    erstes Intervall
    422
    zweites Intervall
    423
    drittes Intervall
    424
    viertes Intervall
    425
    fünftes Intervall
    500
    zweiter Emulationsablauf
    501
    Zeit
    511
    erste Flanke
    512
    zweite Flanke
    513
    dritte Flanke
    514
    vierte Flanke
    515
    fünfte Flanke
    521
    erstes Intervall
    522
    zweites Intervall
    523
    drittes Intervall
    524
    viertes Intervall
    525
    fünftes Intervall
    600
    dritter Emulationsablauf
    601
    Zeit
    611
    erste Flanke
    612
    zweite Flanke
    613
    dritte Flanke
    614
    vierte Flanke
    615
    fünfte Flanke
    621
    erstes Intervall
    622
    zweites Intervall
    623
    drittes Intervall
    624
    viertes Intervall
    625
    fünftes Intervall
    Ts
    Periodendauer des Systemtakts
    Tpos
    Positionierzeit
    n
    Gesamtzahl von Flanken
    l
    erste Anzahl von Intervallen
    k
    zweite Anzahl von Intervallen
    dl
    erstes Vielfaches der Periodendauer des Systemtakts
    dk
    zweites Vielfaches der Periodendauer des Systemtakts

Claims (10)

  1. Verfahren zum Betreiben eines Encoder-Emulators (180) mit den folgenden Schritten: – Empfangen eines Soll-Positionssignals (200); – Ermitteln einer Gesamtzahl (n) von Flanken eines Ausgabesignals (230) aus dem Soll-Positionssignal (200); – Erzeugen des Ausgabesignals (230), wobei das Ausgabesignal (230) mit der Gesamtzahl (n) von Flanken ausgegeben wird, wobei jede Flanke jeweils nach Ablauf eines ganzzahligen Vielfachen (dl, dk) einer Periodendauer (Ts) eines Systemtakts (210) seit der letzten vorherigen Flanke ausgegeben wird, wobei mindestens eine Flanke nach Ablauf eines ersten Vielfachen (dl) der Periodendauer (Ts) des Systemtakts (210) seit der letzten vorherigen Flanke ausgegeben wird und mindestens eine Flanke nach Ablauf eines zweiten Vielfachen (dk) der Periodendauer (Ts) des Systemtakts (210) seit der letzten vorherigen Flanke ausgegeben wird, wobei Zeitintervalle zwischen den Flanken des Ausgabesignals (230) mit dem ersten Vielfachen (dl) der Periodendauer (Ts) des Systemtakts (210) und dem zweiten Vielfachen (dk) der Periodendauer (Ts) des Systemtakts (210) zwei unterschiedliche Längen aufweisen.
  2. Verfahren gemäß Anspruch 1, wobei das Ausgabesignal (230) ab einem Empfang eines Synchronisationspulses (225) ausgegeben wird.
  3. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei das Verfahren die folgenden weiteren Schritte umfasst: – Ermitteln einer ersten Anzahl (1) als Rest einer Division einer Positionierzeit (Tpos) durch ein Produkt der Gesamtzahl (n) und der Periodendauer (Ts) des Systemtakts (210); – Ermitteln einer zweiten Anzahl (k) als Differenz aus der Gesamtzahl (n) und der ersten Anzahl (l); – Ermitteln des zweiten Vielfachen (dk) der Periodendauer (Ts) des Systemtakts (210) durch ganzzahlige Division der Positionierzeit (Tpos) durch das Produkt der Gesamtzahl (n) und der Periodendauer (Ts) des Systemtakts (210); – Ermitteln des ersten Vielfachen (dl) der Periodendauer (Ts) des Systemtakts (210) als Summe aus dem zweiten Vielfachen (dk) und der Zahl 1; wovon die erste Anzahl (1) der Flanken des Ausgabesignals (230) jeweils nach Ablauf des ersten Vielfachen (dl) der Periodendauer (Ts) des Systemtakts (210) ausgegeben wird, und wovon die zweite Anzahl (k) der Flanken des Ausgabesignals (230) jeweils nach Ablauf des zweiten Vielfachen (dk) der Periodendauer (Ts) des Systemtakts (210) ausgegeben wird.
  4. Verfahren gemäß Anspruch 3, wobei die Positionierzeit (Tpos) ein ganzzahliges Vielfaches der Periodendauer (Ts) des Systemtakts (210) ist.
  5. Verfahren gemäß einem der Ansprüche 3 und 4, wobei die Positionierzeit (Tpos) einem zeitlichen Abstand (226) zwischen zwei aufeinanderfolgenden Synchronisationspulsen (225) entspricht.
  6. Verfahren gemäß einem der Ansprüche 3 bis 5, wobei zunächst die erste Anzahl (1) der Flanken jeweils nach dem ersten Vielfachen (dl) der Periodendauer (Ts) des Systemtakts (210) ausgegeben wird und anschließend die zweite Anzahl (k) der Flanken jeweils nach dem zweiten Vielfachen (dk) der Periodendauer (Ts) des Systemtakts (210) ausgegeben wird, oder zunächst die zweite Anzahl (k) der Flanken jeweils nach dem zweiten Vielfachen (dk) der Periodendauer (Ts) des Systemtakts (210) ausgegeben wird und anschließend die erste Anzahl (1) der Flanken jeweils nach dem ersten Vielfachen (dl) der Periodendauer (Ts) des Systemtakts (210) ausgegeben wird.
  7. Verfahren gemäß einem der Ansprüche 3 bis 5, wobei Flankenabstände, die dem ersten Vielfachen (dl) der Periodendauer (Ts) des Systemtakts (210) entsprechen und Flankenabstände, die dem zweiten Vielfachen (dk) der Periodendauer (Ts) des Systemtakts (210) entsprechen, im Wesentlichen gleichmäßig im Ausgabesignal (230) verteilt werden.
  8. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei die Flanken des Ausgabesignals (230) abwechselnd als steigende und fallende Flanken ausgegeben werden.
  9. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei ein weiteres Ausgabesignal (240) ausgegeben wird, das dem Ausgabesignal (230) bis auf eine Phasenverschiebung (241) entspricht.
  10. Encoder-Emulator (180) wobei der Encoder-Emulator (180) ausgebildet ist, ein Verfahren gemäß einem der vorhergehenden Ansprüche auszuführen.
DE102014104668.4A 2014-04-02 2014-04-02 Verfahren zum Betreiben eines Encoder-Emulators und Encoder-Emulator Active DE102014104668B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102014104668.4A DE102014104668B4 (de) 2014-04-02 2014-04-02 Verfahren zum Betreiben eines Encoder-Emulators und Encoder-Emulator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102014104668.4A DE102014104668B4 (de) 2014-04-02 2014-04-02 Verfahren zum Betreiben eines Encoder-Emulators und Encoder-Emulator

Publications (2)

Publication Number Publication Date
DE102014104668A1 DE102014104668A1 (de) 2015-10-08
DE102014104668B4 true DE102014104668B4 (de) 2017-09-28

Family

ID=54146185

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014104668.4A Active DE102014104668B4 (de) 2014-04-02 2014-04-02 Verfahren zum Betreiben eines Encoder-Emulators und Encoder-Emulator

Country Status (1)

Country Link
DE (1) DE102014104668B4 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8687060B1 (en) * 2009-12-28 2014-04-01 Cognex Corporation System and method for providing distance-based pulses relative to motion of a surface scanned by a vision system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8687060B1 (en) * 2009-12-28 2014-04-01 Cognex Corporation System and method for providing distance-based pulses relative to motion of a surface scanned by a vision system

Also Published As

Publication number Publication date
DE102014104668A1 (de) 2015-10-08

Similar Documents

Publication Publication Date Title
DE2910580C3 (de) Ausrichtvorrichtung
DE3215847C2 (de) Zeitmeßverfahren und Vorrichtung zu seiner Durchführung
DE112005001517T5 (de) Synchronisation zwischen Niedrigfrequenz- und Hochfrequenzdigitalsignalen
DE102015212243A1 (de) Vorrichtung zur Erzeugung mehrerer Takt- oder Hochfrequenzsignale
DE19917354B4 (de) Synchronisationsverfahren für eine Haupteinheit und mindestens eine Nebeneiheit mit internen, miteinander zu synchronisierenden Zeitgebern, hiermit korrespodierndes Kommunikationssystem sowie Haupteinheit und Nebeneinheit eines derartigen Kommunikationssystems
DE102006011126B4 (de) Verfahren und Schaltung zum zeilenverkoppelten Erzeugen eines Taktes
EP1211070B2 (de) Vorrichtung und Verfahren zur Synchronisation von an mehreren Einheiten ablaufenden Prozessen
EP4029168A1 (de) Verfahren zum betreiben eines geräts, gerät und system
DE102012109837A1 (de) Vorrichtung zum Synchronisieren einer Stereokamera, Stereokamera und Verfahren zum Synchronisieren einer Stereokamera
DE102014104668B4 (de) Verfahren zum Betreiben eines Encoder-Emulators und Encoder-Emulator
EP3032429B1 (de) Verfahren und vorrichtung zum einlesen eines seriellen datenstroms
DE2001935C2 (de) Digitale Steuereinrichtung zur Steuerung von Vorschubbewegungen
DE102013005748A1 (de) Automatisierungseinrichtung und Verfahren zur Reduzierung von Jittern
DE102017214421A1 (de) Verfahren und Vorrichtung zur Synchronisation von Prozessen auf wenigstens zwei Prozessoren
EP1079559A2 (de) Verfahren und Anordnung zur Synchronisation von Systemeinheiten
EP0042961A2 (de) Verfahren und Anordnung zur Erzeugung von Impulsen vorgegebener Zeitrelation innerhalb vorgegebener Impulsintervalle mit hoher zeitlicher Auflösung
DE2455302A1 (de) Verfahren zur analog-digital-wandlung und digitalen signalanalyse sowie vorrichtungen zum ausueben des verfahrens
EP2187560B1 (de) Feldbussystem mit Spread-Spektrum
EP2928110B1 (de) Verfahren zur Synchronisation eines isochronen Systems mit einem übergeordneten Taktsystem
DE102005061947B4 (de) Synchronisationsverfahren sowie entsprechende Vorrichtung und Digitalschaltung und ein Automat zur Synchronisation einer Digitalschaltung
EP4014441B1 (de) Verfahren zur zeitsynchronisation in einem ethernet-basierten netzwerk
DE2155600C3 (de) Synchronisieranordnung für eine Fernsehabtasteinrichtung
DE4228900C2 (de) Selbstsynchronisierendes Signal-Averaging (Signal-Mittelungs-)-Korrekturverfahren
EP0155974B1 (de) Verfahren und Schaltungsanordnung zur Beeinflussung der Quad-Impulse von inkrementalen Messsystemen
DE2658114C3 (de) Anordnung zur Synchronisation, Koinzidenzsperre und Verzögerung vor dem Differenzzähler eines Positionierungssystems

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final