DE60109354T2 - Vorrichtung zur Antriebsteuerung, Verfahren zur Steuerung eines Antriebmechanismus und Datenspeichermedium mit Computerprogram - Google Patents

Vorrichtung zur Antriebsteuerung, Verfahren zur Steuerung eines Antriebmechanismus und Datenspeichermedium mit Computerprogram Download PDF

Info

Publication number
DE60109354T2
DE60109354T2 DE60109354T DE60109354T DE60109354T2 DE 60109354 T2 DE60109354 T2 DE 60109354T2 DE 60109354 T DE60109354 T DE 60109354T DE 60109354 T DE60109354 T DE 60109354T DE 60109354 T2 DE60109354 T2 DE 60109354T2
Authority
DE
Germany
Prior art keywords
data
drive
time
control
control data
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.)
Expired - Lifetime
Application number
DE60109354T
Other languages
English (en)
Other versions
DE60109354D1 (de
Inventor
Yuji Suwa-shi Kawase
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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
Priority claimed from JP2000140541A external-priority patent/JP4655328B2/ja
Priority claimed from JP2000158348A external-priority patent/JP4631131B2/ja
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of DE60109354D1 publication Critical patent/DE60109354D1/de
Application granted granted Critical
Publication of DE60109354T2 publication Critical patent/DE60109354T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4142Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by the use of a microprocessor

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Engineering & Computer Science (AREA)
  • Control Of Stepping Motors (AREA)
  • Character Spaces And Line Spaces In Printers (AREA)
  • Vehicle Body Suspensions (AREA)
  • Steering Control In Accordance With Driving Conditions (AREA)
  • Threshing Machine Elements (AREA)
  • Control Of Electric Motors In General (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Automatic Disk Changers (AREA)
  • Steering Controls (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf eine Antriebssteuervorrichtung und ein Verfahren zum Steuern eines Antriebsmechanismus mit Antriebssteuereinrichtung sowie eine von der Antriebssteuereinrichtung gesteuerte Antriebseinrichtung, wobei der Antriebsmechanismus mit großer Genauigkeit arbeiten muß. Ferner bezieht sich die Erfindung auf ein Verfahren zum Durchführen einer Antriebsvorgangsbestätigung eines Antriebsmechanismus.
  • Antriebsmechanismen vieler moderner elektronischer Geräte müssen extrem schnell und äußerst genau arbeiten. Bei Druckern bedeutet das beispielsweise, daß Schrittmotoren oder Linearmotoren zum Antrieb des Papiertransportmechanismus und des den Druckkopf tragenden Schlittens verwendet wurden. Um den gewünschten Text oder Graphik an der richtigen Stelle zu drucken, ist es außerdem nötig, den Druckkopf (Druckvorgang) rasch und genau entsprechend der Bewegung des Schlittens und des Papiers anzusteuern. Diese Erfindung bezieht sich auf eine Steuervorrichtung zum genauen Hochgeschwindigkeitsantrieb eines Antriebsmechanismus, wie er in modernen elektronischen Geräten verwendet wird, ein entsprechendes Steuerverfahren sowie einen Datenträger mit einem Rechnerprogramm zum Ausführen der Schritte dieses Steuerverfahrens.
  • Herkömmliche Techniken zum Steuern von Antriebsmechanismen umfassen Steuerverfahren, bei denen Zentraleinheit (CPU)-Unterbrechungssignale verwendet werden, sowie Steuerverfahren, die mit zweckgebundener Hardware arbeiten. Die schnelle und präzise Steuerung eines Druckkopfantriebsmechanismus mit diesen herkömmlichen Verfahren wird nachfolgend unter Hinweis auf einen Schrittmotor als Beispiel der Antriebseinrichtung näher beschrieben. Es sei darauf hingewiesen, daß eine ähnliche Steuerung auch für andere Antriebsmechanismen erforderlich ist. Als Teil der Motorsteuerung muß das Phasenmuster des dem Motor zugeführten Stroms im Zeitpunkt einer Phasenänderung geändert werden, und die Menge des zum Motor fließenden Stroms muß möglicherweise auch geändert werden. Eine Steuerung während der Motorbeschleunigung und -verlangsamung ist besonders kompliziert, weil je nach den spezifischen Beschleunigungs- oder Verlangsamungsbedingungen der Phasenänderungszeitpunkt sequentiell geändert werden muß, während gleichzeitig auch die Menge des dem Motor gelieferten Stroms sequentiell geändert werden muß.
  • Bei einer Steuerung mit zweckgebundener Hardware werden sogenannte festverdrahtete Controller benutzt, um die Motorphasenänderung und Stromzufuhr zu steuern. Die Verwendung zweckgebundener Hardware hat zwar den Vorteil einer sehr genauen Steuerung; aber die Bereitstellung solcher zweckgebundener Hardware verursacht im allgemeinen hohe Kosten. Weitere Nachteile der Verwendung zweckgebundener Hardware sind eine längere Entwicklungszeit und die Unmöglichkeit, das Steuerverfahren flexibel und leicht zu ändern.
  • Bei Unterbrechungssteuerverfahren auf CPU-Basis läuft in der Zentraleinheit ein Unterbre chungsprozeß in einem spezifischen Zeitpunkt, um aus einem Speicher Steuerdaten zum Lesen des Phasenmusters von an den Motor angelegtem Strom zu ändern oder um die Menge des zum Motor fließenden Stroms zu steuern und diese Steuerdaten einer Antriebssteuerung zuzuführen. Mit diesem Verfahren ist es möglich, die Produktentwicklungszeit zu verkürzen und den Steuervorgang flexibel zu ändern, was gleichzeitig dazu beiträgt, die Kosten für die Entwicklung und das Erzeugnis auf ein Minimum zu senken. Deshalb werden CPU Unterbrechungsverfahren in der Entwicklung moderner Elektronik vielfältig angewandt, weil sich mit ihnen die Entwicklungszeit verkürzen und rasche Änderungen der Auslegungserfordernisse berücksichtigt werden können.
  • Der CPU Unterbrechungssteuerprozeß kann eine exakte Steuerung des Antriebs mittels der Antriebssteuerung entsprechend den von der CPU gesandten Steuerdaten sicherstellen, sofern die Antriebseinrichtung funktioniert. Aber es gibt verschiedene Fehler und Problemfaktoren, die verhindern können, daß die Antriebseinrichtung entsprechend den Steuerdaten arbeitet. Bei einem Schlittenantriebsmechanismus zum Bewegen des Druckkopfes eines Druckers kann beispielsweise der Schlitten durch ein Hindernis, beispielsweise einen Papierstaub im Schlittenweg an der Bewegung gehindert sein. Unter diesen Umständen wird ein Ändern des Phasenmusters oder der Stromzufuhr von der Antriebssteuerung den Motor (als Antriebseinrichtung des Schlittenantriebsmechanismus) nicht zum Drehen veranlassen, weil sich der Schlitten nicht bewegen kann. Wenn das geschieht, ist die erwartete Schlittenposition (das heißt die Position, an der sich der Schlitten befinden sollte, nachfolgend als "logische Position" bezeichnet), die die Antriebssteuerung aus den Kontrolldaten berechnet hat, eine andere als die Position, an der sich der Schlitten wirklich befindet (die "tatsächliche Position" des Schlittens), und der Schlittenantrieb kann nicht exakt gesteuert werden.
  • Es muß deshalb ein angemessenes Verfahren ausgeführt werden, um mit derartigen Problemen fertig zu werden. Beim Antriebsmechanismus für den Druckkopfschlitten beispielsweise nehmen Meßfühler regelmäßig die tatsächliche Schlittenposition wahr, um zu bestätigen, ob der Schlitten tatsächlich richtig angetrieben wird. Der Betrieb wird von der CPU-Steuerung bestätigt, die den Schlitten zu einer regelmäßigen Bewegung (beispielsweise alle 6 Sekunden) zu einer bestimmten Sensorposition veranlaßt (beispielsweise die Ausgangsstellung), um die echte Position des Schlittens zu erfassen, die tatsächliche Schlittenposition mit der logischen Schlittenposition zu vergleichen und irgendeine Verschiebung zwischen den beiden festzustellen.
  • Diese Positionsbestätigung wird auch von einem CPU Unterbrechungsprozeß durchgeführt, der Antriebssteuerdaten aus dem Speicher liest, um den Motor anzutreiben und den Schlitten in die Ausgangsstellung zu bewegen. Die Genauigkeit der Antriebssteuerung wird anhand der aus den Steuerdaten berechneten, logischen Schlittenposition und der an der Ausgangsstellung erfaßten Verschiebung aus der tatsächlichen Schlittenposition bestätigt.
  • Ein herkömmliches Verfahren zur Bestätigung des Antriebsvorganges mittels einer CPU wird nachfolgend unter Hinweis auf 18 beschrieben. Im Zeitpunkt der Phasenänderung liest eine CPU 1 Motorantriebssteuerdaten aus einer in einem Speicher 2 gespeicherten Steuerdatentabelle und sendet die Steuerdaten an eine Motorantriebssteuerung 6. Die Antriebssteuerung 6 treibt einen Motortreiber 74 auf der Grundlage der Steuerdaten und veranlaßt dadurch die Umdrehung eines Motors 7. Wenn sich der Motor 7 dreht, bewegt sich ein Schlitten 73 im Schlittenweg mit Hilfe eines Antriebskrafttransfermechanismus 71 hin und her. Gleichzeitig mit dem Senden der Steuerdaten berechnet die CPU 1 das Ausmaß des Motorantriebs aus den Steuerdaten und bestimmt anhand der berechneten Größe die logische Position des Schlittens 73. Ein Photosensor oder sonstiger Detektor 72 ist an der Ausgangsstellung in der Bewegungsbahn des Schlittens 73 angeordnet. Wenn sich der Schlitten 72 in die Ausgangsstellung bewegt, nimmt eine Detektorschaltung 75 den Schlitten wahr. Wenn die Detektorschaltung 75 den Schlitten 73 in der Ausgangsstellung erfaßt, sendet sie ein Unterbrechungssignal an die CPU 1 (in diesem Fall ein HP-Erkennungssignal der Ausgangsstellung). Wenn die CPU 1 dieses Unterbrechungssignal empfängt, vergleicht sie die logische Schlittenposition mit der Ausgangsstellung, um festzustellen, ob der Schlitten 73 normal angetrieben wird. Wenn die logische Position gegenüber der tatsächlichen Schlittenposition in der Ausgangsstellung stark versetzt ist, weiß die CPU 1, daß der Schlitten 73 nicht normal angetrieben wurde und läßt einen bestimmten Fehlerbehandlungsprozeß ablaufen. Durch die Motorantriebssteuerung und die Positionsbestätigung im Unterbrechungssteuerverfahren der CPU 1 wird also die genaue Schlittenbewegung aufrechterhalten.
  • Mit einem CPU Unterbrechungssteuerverfahren, wie oben beschrieben, wird allerdings die Belastung der CPU dadurch erhöht, daß Steuerdaten immer dann aus dem Speicher gelesen werden müssen, wenn der Antrieb gesteuert werden muß. Die CPU führt normalerweise viele verschiedene Prozesse aus, und wenn die Gesamtverarbeitungsleistung der CPU nicht ausreicht für die Unterbrechungssteuerung und diese weiteren Prozesse, variiert die Unterbrechungsprozeßzeit, und es kann sich als schwierig erweisen, eine schnelle, sehr präzise Antriebssteuerung aufrechtzuerhalten. Um in solchen Fällen eine Schwankung des Unterbrechungsprozesses zu unterdrücken und eine hochgenaue Motorsteuerung zu ermöglichen; muß entweder die CPU beschleunigt oder andere Maßnahmen getroffen werden. Das gilt auch, wenn der Vorgang der Antriebsfehlererfassung und der entsprechende Prozeß innerhalb des CPU Unterbrechungsprozesses ablaufen.
  • Eine Vorrichtung und ein Verfahren zum Steuern eines Antriebsmechanismus entsprechend dem Oberbegriff von Anspruch 1 bzw. von Anspruch 14 sind aus US-A-5 583 410 bekannt. Bei dieser Vorveröffentlichung spricht die erste direkte Speicherzugriffseinrichtung auf ihr eigenes zweites Startsignal dadurch an, daß sie die nächsten Zeitsteuerdaten in die Zeitsteuerung lädt.
  • Es ist eine Aufgabe der Erfindung, eine Antriebssteuervorrichtung und ein entsprechendes Steuerverfahren zu schaffen, die es erlauben, eine schnelle und genaue Antriebssteuerung zu erzielen und dabei die CPU Unterbrechungsprozesse auf ein Minimum einzuschränken, sobald die Antriebssteuerung begonnen hat.
  • Noch eine weitere Aufgabe der Erfindung ist es, eine Antriebssteuervorrichtung zum Vergleich eines aus Steuerdaten festgelegten, berechneten Antriebsvorganges mit dem tatsächlichen Antriebsvorgang zu schaffen, um zu bestätigen, ob der Antriebsmechanismus normal arbeitet, und um eine präzise Antriebssteuerung zu ermöglichen.
  • Diese Ziele werden erreicht mit einer Antriebssteuervorrichtung gemäß Anspruch 1, einem Verfahren gemäß Anspruch 14, einem Rechnerprogramm gemäß Anspruch 18 bzw. einem Datenträger gemäß Anspruch 19. Bevorzugte Ausführungsbeispiele der Erfindung sind der Gegenstand der abhängigen Ansprüche.
  • In Anbetracht und als ein Ergebnis von Forschung nach Lösungen für die zuvor genannten Probleme hat der Erfinder festgestellt, daß die obigen Probleme gelöst werden können durch die Benutzung eines Controllers mit direktem Speicherzugriff zum Lesen von Zeit- und Steuerdaten aus dem Speicher und Senden der Steuerdaten an eine Antriebssteuerung.
  • Bei einem Ausführungsbeispiel der Erfindung werden, ehe der Antriebsmechanismus angetrieben zu werden beginnt, in einem Speicher eine Zeitdatentabelle einschließlich Zeitdaten zum Steuern der Antriebszeit und eine Vielzahl von Steuerdatentabellen gespeichert, die jeweils eine von mehreren Steuerdatentypen speichern. Ein jeweiliger Eintrag in die Zeitdatentabelle und ein entsprechender Eintrag in jede der Steuerdatentabellen bilden einen Datensatz. Wenn die CPU einen Antriebsstartbefehl ausgibt, liest ein DMA-Controller (direkter Speicherzugriff) die ersten Zeitdaten, die benutzt werden, um das Lesen der ersten Steuerdaten aus jeder Steuerdatentabelle auszulösen, und die nächsten Zeitdaten. Folglich liest der DMA-Controller der Reihe nach jeden Steuerdatentyp für jeden Zeitpunkt, zu dem ein Antriebsvorgang sich ändern soll, und sendet die nötigen Steuerdaten an die Antriebssteuerung. Der Betrieb des Antriebsmechanismus kann also unabhängig und ohne jegliche CPU Unterbrechungen gesteuert werden, sobald der Betrieb begonnen hat. Die Änderungszeit wird dadurch gesteuert, daß Zeitdaten in einem Zeitgeber gesetzt und das Signal des Zeitgebers, daß die Zeit abgelaufen ist, zum Auslösen der nächsten Schritte benutzt wird.
  • Gemäß der vorliegenden Erfindung werden also Zeitdaten und spezifische Steuerdaten vor der Steuerung des Antriebsmechanismus in einem Speicher gespeichert, und es wird ein direkter Speicherzugriff angewandt, um die Zeitdaten in einem Zeitgeber und die Steuerdaten in der Antriebssteuerung des zu steuernden Antriebsmechanismus zu setzen. Infolgedessen ermöglicht die vorliegende Erfindung eine hochgenaue Steuerung des Antriebsmechanismus ohne Verwendung von CPU Unterbrechungen und ohne Verwendung teurer, zweckgebundener Hardware.
  • Weitere Ziele und Erreichtes wird mit einem volleren Verständnis der Erfindung unter Hinweis auf die nachfolgende Beschreibung eines bevorzugten Ausführungsbeispiels im Zusammenhang mit den beigefügten Zeichnungen offensichtlich und zu schätzen sein.
  • Es zeigt:
  • 1 ein erstes Ausführungsbeispiel einer Antriebssteuervorrichtung gemäß der vorliegenden Erfindung;
  • 2 ein Funktionsblockschaltbild eines mehr ins einzelne gehenden Beispiels der in 1 gezeigten Antriebssteuervorrichtung;
  • 3 ein Funktionsblockschaltbild des ersten Ausführungsbeispiels mit zwei Arten von Steuerdaten;
  • 4 den Datenfluß und das Datenübertragungsprozedere, wenn die in 3 gezeigte Antriebssteuervorrichtung Steuerdaten an den Antriebsmechanismus sendet;
  • 5 ein Funktionsblockschaltbild einer Antriebssteuervorrichtung zum Steuern eines Schrittmotors gemäß einem zweiten Ausführungsbeispiel der vorliegenden Erfindung;
  • 6 eine graphische Darstellung der typischen Steuersequenz eines Schrittmotors;
  • 7 die Zustandsübergänge einer kontinuierlichen Steuerbetriebsfolge von einem Startbefehl für den Motorantrieb bis zum Setzen des Änderungszeitpunktes, Steuerdaten eines ersten Typs und Steuerdaten eines zweiten Typs, das Ansteuern des Motors und das Setzen des Zeitpunktes für die nächste Änderung;
  • 8 ein Ablaufdiagramm des Motorsteuerverfahrens gemäß dem zweiten Ausführungsbeispiel;
  • 9 ein Funktionsblockschaltbild einer Antriebssteuervorrichtung zum Steuern eines Druckkopfes gemäß einem dritten Ausführungsbeispiel der vorliegenden Erfindung;
  • 10 die Zustandsübergänge einer kontinuierlichen Steuerbetriebsfolge vom Startbefehl des Kopfantriebs bis zum Setzen des Änderungszeitpunktes, erste Steuerdaten und zweite Steuerdaten, Drucken und Setzen des nächsten Änderungszeitpunktes;
  • 11 ein schematisches Blockschaltbild einer Antriebssteuervorrichtung zum Steuern eines Schlittenantriebsmechanismus für die Bewegung des Druckkopfes eines seriellen Druckers gemäß einem vierten Ausführungsbeispiel der Erfindung;
  • 12 ein Funktionsblockschaltbild zur detaillierteren Beschreibung des Betriebs der in 11 gezeigten Antriebssteuervorrichtung;
  • 13 die Orte eines Schlittenbewegungsbereichs, eines Druckbereichs, eines nicht zu bedruckenden Bereichs und der Ausgangsstellung;
  • 14 ein Zustandsübergangsdiagramm der verschiedenen Zustände im Antriebsbestätigungsprozeß;
  • 15 eine beispielhafte Konfiguration der Antriebsbestätigungseinrichtung 50 der vorliegenden Erfindung;
  • 16 ein Ablaufdiagramm des Bestätigungsbetriebs eines Controllers 60 der Antriebsbestätigungseinrichtung 50;
  • 17 ein Zustandsübergangsdiagramm des Verhältnisses zwischen einem kontinuierlichen Steuervorgang ab dem Startbefehl für den Motorantrieb bis zum Setzen der Änderungszeitdaten, Phasenmusterdaten und Phasenstromdaten bis zum Setzen des nächsten Änderungszeitpunktes und dem Antriebsbestätigungsprozeß dieses Steuervorgangs;
  • 18 ein Blockschaltbild eines herkömmlichen Antriebsbestätigungsprozesses mit einer CPU.
  • Erstes Ausführungsbeispiel
  • 1 ist ein schematisches Blockschaltbild, welches den Grundaufbau einer Antriebssteuervorrichtung zeigt, die nachfolgend als erstes Ausführungsbeispiel der vorliegenden Erfindung erläutert wird.
  • Eine CPU 1 erledigt verschiedene Operationen entsprechend einem in einem Speicher 2 gespeicherten Programm (einschließlich Firmware und eines Betriebssystems (OS)). Ein DMA-Controller 3 ermöglicht den Datenaustausch unmittelbar zwischen dem Speicher 2 und I/O-Bausteinen, ohne durch die CPU 1 zu gehen.
  • Es sei erwähnt, daß zur Vereinfachung der nachfolgenden Beschreibung nur ein Zeitgeber 4 und ein Antriebsmechanismus 5 in 1 als I/O-Bausteine gezeigt sind. Bei diesem Ausführungsbeispiel umfaßt der Antriebsmechanismus 5 eine Antriebssteuerung 6 und eine Antriebseinheit oder Betätigungseinheit 7. Die aus dem Speicher 2 zu lesende Adresse und das Ziel der gelesenen Daten sind von Adressendaten auf einem Adressenbus 8 spezifiziert, und die gelesenen Daten werden auf einen Datenbus 9 ausgegeben.
  • Wenn Zeitdaten, die ein bestimmtes Zeitintervall darstellen, vom Speicher 2 an den Zeitgeber 4 gesendet werden, zählt der Zeitgeber 4 die diesem Zeitintervall entsprechende Zeit und gibt ein Zeit-abgelaufen-Signal an den DMA-Controller 3 aus, wenn das angegebene Zeitintervall beendet ist. Der DMA-Controller 3 sendet dann die spezifizierten Steuerdaten vom Speicher 2 zur Antriebssteuerung 6, die ihrerseits eine Antriebseinheit oder einen Treiber 7 in Übereinstimmung mit den Steuerdaten steuert.
  • Ein mehr ins einzelne gehendes Beispiel der Antriebssteuervorrichtung wird nachfolgend unter Hinweis auf das in 2 gezeigte Funktionsblockschaltbild beschrieben.
  • Wie 2 zeigt, speichert ein Zeitdatenspeicher 10 eine Zeitdatentabelle, einschließlich der Zeitdaten zur Benutzung beim Steuern des Zeitpunktes, zu dem die Antriebssteuerung den Betrieb oder Antriebszustand des Antriebsmechanismus umschalten soll. Ein erster bis Nter Steuerdatenspeicher 11, 12, 13 speichert erste bis Nte Steuerdatentabellen. Die Datenspeicher 10 bis 13 werden vorzugsweise durch Zuteilen eines bestimmten Adressenraums im Speicher 2 erhalten (siehe 1), und die jeweiligen Daten werden in diesen Datenspeichern von der CPU 1 gespeichert, ehe der Antriebssteuerbetrieb beginnt. In der nachfolgenden Beschreibung werden die Be zugszeichen 10 bis 13 sowohl für die Datenspeicher als auch die jeweils in ihnen gespeicherten Datentabellen verwendet.
  • Bei diesem Beispiel weist der DMA-Controller 3 eine DMA-Einheit 14 (nachfolgend als "Zeitsteuereinheit" bezeichnet) und eine DMA-Einheit 15 auf. Die Zeitsteuereinheit 14 und die DMA-Einheit 15 können entweder Untereinheiten einer einzigen DMA-Einheit oder auch einzelne DMA-Einheiten sein.
  • Der Zeitgeber 4 zählt die Zeit entsprechend dem von den Zeitdaten angegebenen Zeitintervall und gibt ein Zeit-abgelaufen-Signal aus, wenn dieses Zeitintervall abläuft. Die Antriebssteuerung 6 steuert den Treiber 7 auf der Grundlage der von der DMA-Einheit 15 empfangenen Steuerdaten. Der Treiber 7 ist normalerweise ein Schrittmotor oder ein Druckkopf, kann aber auch von einer Vielfalt anderer Steuereinheiten verkörpert sein.
  • Wenn die CPU 1 ein Startsignal an die Zeitsteuereinheit 14 sendet, liest die Zeitsteuereinheit 14 erste Zeitdaten aus der Zeitdatentabelle 10 und sendet die Zeitdaten an den Zeitgeber 4. Die Zeitdaten spezifizieren das Zeitintervall vom aktuellen Betriebszustand des Antriebsmechanismus 5 bis zu dem Moment, zu dem der Betriebszustand zu einem nächsten geändert werden soll. Wenn die Zeitdaten an den Zeitgeber 4 gesandt werden, beginnt der Zeitgeber 4 mit dem Zählen des angegebenen Zeitintervalls und gibt ein Zeit-abgelaufen-Signal an die DMA-Einheit 15 aus, wenn das Zeitintervall abgelaufen ist.
  • Wenn die DMA-Einheit 15 dieses Zeit-abgelaufen-Signal empfängt, liest sie zunächst erste Steuerdaten aus der ersten Steuerdatentabelle 11 und sendet diese ersten Steuerdaten an die Antriebssteuerung 6. Bei Beendigung des Sendens dieser ersten Steuerdaten werden erste Steuerdaten aus der zweiten Steuerdatentabelle 12 gelesen und an die Antriebssteuerung 6 gesendet. Dieser Vorgang wird fortgesetzt, um der Reihe nach die jeweiligen ersten Steuerdaten aus jeder Steuerdatentabelle zu senden, bis die ersten Steuerdaten von der Nten Steuerdatentabelle 13 gesendet wurden. Die Antriebssteuerung 6 steuert dann den Treiber 7 anhand der empfangenen ersten bis Nten ersten Steuerdaten. Es sei erwähnt, daß "N" von der Anzahl der Arten Steuerdaten abhängt, die zum Steuern eines bestimmten Treibers, beispielsweise eines Druckkopfes, eines Schlittenantriebsmotors oder eines Papierzufuhrtransportmotors benötigt werden.
  • Wenn die letzten, das heißt die Nten ersten Steuerdaten an die Antriebssteuerung 6 gesendet werden oder wurden, wird die Zeitsteuereinheit 14 durch ein bestimmtes Auslöseereignis erneut aktiviert. Als das auslösende Ereignis wird zwar vorzugsweise die vollendete Übermittlung der Nten Steuerdaten an die Antriebssteuerung 6 herangezogen, aber es kann alternativ auch irgend ein anderes Ereignis in Bezug auf die Steuerdatenübertragung benutzt werden (beispielsweise der Beginn der Übermittlung). Bei dem Beispiel hier wird davon ausgegangen, daß das Auslöseereignis die Beendigung der Steuerdatenübertragung ist.
  • Wie mit einer durchgezogenen Linie 27 in 2 gezeigt, kann die Zeitsteuereinheit 14 mit einem Aktivierungssignal von der DMA-Einheit 15 an die Zeitsteuereinheit 14 aktiviert werden, wenn die Übermittlung der Nten Steuerdaten endet. Als Alternative kann die Zeitsteuereinheit 14 dadurch aktiviert werden, daß die Antriebssteuerung 6 ein Aktivierungssignal an die Zeitsteuereinheit 14 sendet, wie in 2 mit einer gestrichelten Linie 28 angedeutet.
  • Bei Auslösung durch das Aktivierungssignal von der DMA-Einheit 15 (oder Antriebssteuerung 6) liest die Zeitsteuereinheit 14 die nächsten (zweiten) Zeitdaten, falls vorhanden, aus der Zeitdatentabelle 10 und sendet diese Zeitdaten an den Zeitgeber 4. Der Zeitgeber 4 zählt dann wiederum das von diesen nächsten Zeitdaten spezifizierte Zeitintervall und sendet ein zweites Zeit-abgelaufen-Signal an die DMA-Einheit 15, wenn dieses Zeitintervall zu Ende ist. Wenn die DMA-Einheit 15 dieses Zeitabgelaufen-Signal empfängt, liest sie der Reihe nach zweite Steuerdaten aus der ersten bis Nten Steuerdatentabelle und sendet dann die gelesenen zweiten Steuerdaten an die Antriebssteuerung 6. Es liegt auf der Hand, daß die Zeit- und Steuerdatentabellen eine oder mehr Datensätze speichern, von denen jeder Datensatz aus Zeitdaten und N Arten (N = 1) Steuerdaten besteht. Gibt es mehr als einen Datensatz, so werden die einzelnen Datensätze einer nach dem anderen abgerufen und verarbeitet, wobei die zeitliche Folge von den Zeitdaten gesteuert wird.
  • Während im Fall von vielen Datensätzen diese Operationen wiederholt werden, wird der Treiber 7 entsprechend den Zeitdaten und Steuerdaten jedes Datensatzes angesteuert, bis der spezifizierte Antriebsvorgang vollendet ist und alle Datensätze verarbeitet worden sind. Damit ist es möglich, den Antriebsmechanismus 5 genau und exakt zu steuern, ohne daß die CPU 1 beteiligt würde, sobald der Antriebssteuervorgang begonnen hat. Die CPU 1 braucht nur vor dem tatsächlichen Anlaufen der Antriebssteuerung alle Zeitdaten und Steuerdaten zu speichern, beispielsweise die Entfernung und/oder Geschwindigkeit des Antriebs, die für den jeweiligen Antriebsmechanismus in den Datentabellen 10 bis 13 erforderlich sind.
  • Als nächstes wird die DMA-Einheit 15 im einzelnen beschrieben.
  • Während 2 die ersten bis Nten Steuerdatentabellen (N Arten Steuerdaten) zusätzlich zu den Zeitdaten darstellt, sind Zahl und Arten der tatsächlich benutzten Steuerdaten je nach dem jeweiligen Antriebsmechanismus und Antriebsmodus unterschiedlich. So werden beispielsweise zwei Arten Steuerdaten üblicherweise in jedem Datensatz zum Steuern eines Schrittmotors verwendet. Um die folgende Beschreibung zu vereinfachen, wird ein Datensatz benutzt, der Zeitdaten und nur zwei Arten von Steuerdaten umfaßt.
  • 3 ist ein Funktionsblockschaltbild der Verwendung von Zeitdaten und zwei Arten von Steuerdaten und veranschaulicht ein mehr ins einzelne gehendes Beispiel der DMA-Einheit 15 für diesen Fall. Wie gezeigt, weist die DMA-Einheit 15 einen ersten Controller 16 und einen zweiten Controller 17 auf, die den Arten der Steuerdaten entsprechen. Die beiden Controller 16 und 17 sind DMA-(unter)-Controller, die Daten unmittelbar aus dem Speicher lesen können, ohne die CPU zu benutzen.
  • Wenn Zeitdaten eines ersten Datensatzes von der Zeitsteuereinheit 14 an den Zeitgeber 4 gesendet werden und der Zeitgeber 4 feststellt, daß das von den Zeitdaten spezifizierte Zeitintervall abgelaufen ist, sendet der Zeitgeber 4 ein Zeit-abgelaufen-Signal an den ersten Controller 16.
  • Wenn der erste Controller 16 das Zeit-abgelaufen-Signal empfängt, liest er die erste Art Steuerdaten des ersten Datensatzes aus der ersten Steuerdatentabelle 11 und gibt die gelesenen Daten an die Antriebssteuerung 6 weiter. Wenn die Übersendung der ersten Art Steuerdaten an die Antriebssteuerung 6 endet, wird der zweite Controller 17 aktiviert. Es sei darauf hingewiesen, daß der zweite Controller 17 aktiviert werden kann, wenn der erste Controller 16 dem zweiten Controller 17 ein Aktivierungssignal (über die durchgezogene Linie 26 in 3) sendet, wenn das Übersenden der ersten Art Steuerdaten endet, oder daß er aktiviert werden kann, wenn die Antriebssteuerung 6 dem zweiten Controller 17 ein Aktivierungssignal (über die gestrichelte Linie 29) sendet, nachdem der Empfang der ersten Art von Steuerdaten vollendet ist.
  • Der zweite Controller 17 liest nach der Aktivierung die zweite Art Steuerdaten des ersten Datensatzes aus der zweiten Steuerdatentabelle 12 und sendet sie an die Antriebssteuerung 6. Aufgrund dieser Steuerdaten beginnt die Antriebssteuerung 6 mit der Betätigung des Treibers 7, wenn sie die erste Art Steuerdaten empfängt oder wenn sie sowohl die erste als auch die zweite Art Steuerdaten empfangen hat.
  • Wenn die Übersendung der zweiten Art Steuerdaten an die Antriebssteuerung 6 endet, wird die Zeitsteuereinheit 14 erneut aktiviert. Es sei darauf hingewiesen, daß die Zeitsteuereinheit 14 durch ein Aktivierungssignal vom zweiten Controller 17 (über die durchgezogene Linie 27), wenn das Senden der zweiten Art Steuerdaten endet, oder daß sie durch ein Aktivierungssignal von der Antriebssteuerung 6 (über die gestrichelte Linie 28) aktiviert werden kann.
  • Wenn die Zeitsteuereinheit 14 das Aktivierungssignal vom zweiten Controller 17 (oder der Antriebssteuerung 6) empfängt, liest sie die Zeitdaten des nächsten (zweiten oder weiteren) Datensatzes aus der Zeitdatentabelle und sendet diese an den Zeitgeber 4. Der Zeitgeber 4 zählt dann das von diesen Zeitdaten spezifizierte Zeitintervall, und wenn das spezifizierte Zeitintervall abgelaufen ist, sendet er ein nächstes (zweites oder weiteres) Zeit-abgelaufen-Signal an den ersten Controller 16.
  • Wie schon gesagt, liest der erste Controller 16 dann die erste Art Steuerdaten des nächsten (zweiten oder weiteren) Datensatzes von der ersten Steuerdatentabelle und sendet diese an die Antriebssteuerung 6. Wenn das Übersenden der ersten Art Steuerdaten endet, wird der zweite Controller 17 wieder aktiviert, wie schon beschrieben, um die zweite Art Steuerdaten des nächsten (zweiten oder weiteren) Datensatzes von der zweiten Steuerdatentabelle zu lesen und die Daten an die Antriebssteuerung 6 zu senden. Der Betrieb des Treibers 7 auf der Grundlage der vorherigen Steuerdaten endet in diesem Zeitpunkt, und es beginnt der Betrieb auf der Grundlage der nächsten Steuerdaten.
  • Der vorstehend beschriebene Betrieb wird fortgesetzt, so daß der Treiber 7 anhand der in der Zeitdatentabelle bzw. den Steuerdatentabellen gespeicherten Zeitdaten und Steuerdaten angesteuert wird, bis der spezifische Antriebsvorgang endet.
  • 4 zeigt den Datenfluß und die Datenübertragung zum Senden von Zeitdaten und Steuerdaten an den Antriebsmechanismus 5.
  • Wie schon gesagt, sind in einem spezifischen Adressenraum im Speicher 2 die Zeitdatentabelle 10, erste Steuerdatentabelle 11 und zweite Steuerdatentabelle 12 gespeichert, und die erste Zeitsteuereinheit 14, der erste Controller 16 und der zweite Controller 17 sind im DMA-Controller 3 angeordnet.
  • Ehe der Betrieb des Antriebsmechanismus beginnt, schreibt die CPU 1 zunächst die nötigen Datensätze der Zeitdaten und Steuerdaten zum Steuern des Antriebsmechanismus 5 an spezifische Adressen im Speicher 2 entsprechend den jeweiligen Datentabellen. Dann läuft die Operation wie nachfolgend beschrieben weiter, um den Betrieb des Antriebsmechanismus 5 zu steuern.
    • 1.) CPU 1 sendet ein Signal zum Aktivieren der Zeitsteuereinheit 14 an eine Steuereinheit 18 des DMA-Controllers 3.
    • 2.) Die Steuereinheit 18 aktiviert die Zeitsteuereinheit 14.
    • 3.) Wie gesagt, liest die Zeitsteuereinheit 14 Zeitdaten aus der Zeitdatentabelle 10 des Speichers 2. Die Adresse der zu lesenden Daten ist in einem Quellenadressenregister in der Zeitsteuereinheit 14 gespeichert und wird nach jedem Lesen inkrementiert, um die nächste Adresse zu spezifizieren.
    • 4.) Die gelesenen Zeitdaten (in der Figur nicht gezeigt) werden anhand der in einem Zieladressenregister 20 spezifizierten Adresse an den Zeitgeber 4 gesendet.
    • 5.) Der Zeitgeber 4 überwacht den Ablauf des von den Zeitdaten spezifizierten Zeitintervalls und sendet ein Zeit-abgelaufen-Signal an den ersten Controller 16, wenn das Zeitintervall vorbei ist. Als Zeitgeber 4 kann ein normaler Zeitgeberaufbau benutzt werden.
    • 6.) Wenn der erste Controller das Zeit-abgelaufen-Signal empfängt, liest er die erste Art Steuerdaten aus der ersten Steuerdatentabelle durch Bezugnahme auf sein eigenes Quellenadressenregister (in der Figur nicht gezeigt). Die in diesem Quellenadressenregister gespeicherte Adresse wird dann zur nächsten Adresse inkrementiert.
    • 7.) Die gelesene erste Art Steuerdaten wird dem Antriebsmechanismus 5 anhand der Adresse in einem Zieladressenregister (in der Figur nicht gezeigt) zugesandt.
    • 8.) Der zweite Controller 17 wird aktiviert, wenn das Senden der ersten Art Steuerdaten endet.
    • 9.) Der zweite Controller 17 liest dann die zweite Art Steuerdaten aus der zweiten Steuerdatentabelle durch Bezugnahme auf sein eigenes Quellenadressenregister (in der Figur nicht gezeigt). Wie im Fall der Zeitsteuereinheit 14 und des ersten Controllers 16 wird das Quellenadressenregister dann auf die nächste Adresse inkrementiert.
    • 10.) Die gelesene zweite Art Steuerdaten wird dem Antriebsmechanismus 5 zugesandt.
    • 11.) Wenn das Senden der zweiten Art Steuerdaten endet, wird die Zeitsteuereinheit 14 wieder aktiviert und liest die Zeitdaten des nächsten Datensatzes anhand der inkrementierten Adresse im Quellenadressenregister 19.
  • Dieser Prozeß wird zum Steuern des Antriebsmechanismus wiederholt, bis alle Datensätze verarbeitet sind und das Ansteuern endet.
  • Zweites Ausführungsbeispiel
  • Als zweites Ausführungsbeispiel der vorliegenden Erfindung wird als nächstes ein Ausführungsbeispiel beschrieben, welches die Grundsätze des ersten Ausführungsbeispiels auf einen Antriebsmechanismus anwendet, der als Beispiel eines Treibers einen Schrittmotor benutzt.
  • 5 ist ein Funktionsblockschaltbild einer Antriebssteuervorrichtung. Bei diesem Ausführungsbeispiel dient die Zeitsteuereinheit 14 aus 3 als Zeitsteuereinheit für den Phasenwechsel, während der erste Controller 16 und der zweite Controller 17 aus 3 als Steuerungen für das Phasenmuster bzw. für den Phasenstrom dienen. Wie im Fall von 3, sind diese Komponenten vorzugsweise Teile eines einzigen DMA-Controllers und nur zur Erleichterung des Verständnisses als getrennte Funktionsblöcke dargestellt. Wie gesagt, ist der Antrieb 7 bei diesem Ausführungsbeispiel ein Schrittmotor und dementsprechend die Antriebssteuerung 6 eine Motorantriebssteuerung.
  • 6 ist eine graphische Darstellung eines Beispiels einer typischen Steuerfolge eines Schrittmotors. Zum Steuern eines Schrittmotors ist es nötig, der Reihe nach die Phase des an den Motor angelegten Stroms zu ändern. Wie in 6(A) gezeigt, muß der Motor vom Start an allmählich beschleunigt werden, bis die Motorgeschwindigkeit einen bestimmten Wert erreicht, dann muß die Geschwindigkeit auf diesem Wert gehalten werden, und schließlich muß bei der Annäherung an eine gewünschte Halteposition der Motor verlangsamt werden. Die Zeitsteuerung der Phasenänderungen während der Beschleunigung unterscheidet sich von der des Betriebs bei konstanter Geschwindigkeit und Verlangsamung. Es ist auch nötig, sowohl bei der Beschleunigung, dem Betrieb mit konstanter Geschwindigkeit und der Verlangsamung den Strom zu steuern.
  • Um den Motor zu starten, ist für den Anlauf und die Beschleunigung der Motorumdrehung starker Strom nötig (siehe 6(B)). Weniger Strom ist erforderlich, um den Betrieb bei gleichbleibender Geschwindigkeit aufrechtzuerhalten, aber während der Verlangsamung muß wieder viel Strom geliefert werden, um den Motor abzubremsen. Es sei erwähnt, daß, wie 6(B) zeigt, ein Stromfluß zum Motor selbst nach dem Anhalten des Motors noch beibehalten wird, wenn er auch sehr schwach ist. Dies dient dazu, jegliche restliche Erregung des Motors rasch zu vernichten, und ein schwacher Strom fließt zum Motor in allen Phasen nach dem Anhalten des Motors (dies ist als "Stoßstrom" bekannt). Nachdem der Motor die Haltestellung erreicht, werden der Antriebssteuerung 6 die endgültigen Steuerdaten, einschließlich des Stoßstromphasenmusters (alle Phasen), Stoß stroms und der Stoßstromzufuhrzeit gesendet, und der Motorantriebsvorgang endet, nachdem die Stoßstromzufuhr vorüber ist.
  • Die unterhalb der Abszisse in 6(A) und 6(B) angegebenen Zahlen zeigen den Phasenänderungszeitpunkt an. Wie aus 6 hervorgeht, beginnt die Umdrehung des Motors 7 mit der zweiten Phasenänderungszeit.
  • Die Zeitdaten und sonstigen Steuerdaten, einschließlich aller Steuerdaten, die zum aufeinanderfolgenden Steuern des Motors 7 von der Beschleunigung, dem Betrieb bei gleichbleibender Geschwindigkeit, der Verlangsamung bis zum Anhalten entsprechend der geplanten Antriebsgröße nötig sind, werden von der CPU 1 erzeugt, ehe der Motorantrieb beginnt, und werden in den Datentabellen 10 bis 12 im Speicher 2 gespeichert.
  • Dies wird unter Hinweis auf 7 näher erläutert. 7 zeigt die Zustandsübergänge der Steuerfolge, beginnend mit dem Empfang eines Startbefehls für den Motorantrieb bis zum Setzen der Änderungszeitdaten, Phasenmusterdaten, Phasenstromdaten und dann dem Setzen der nächsten Änderungszeitdaten.
  • Wenn der Steuerungsbeginn durch die CPU 1 angezeigt wird, liest die Zeitsteuereinheit 14 aus der Zeitdatentabelle 10 die Zeitdaten des ersten Datensatzes, welche die Phasenänderungszeit bestimmen, und sendet diese Daten an den Zeitgeber 4. Auf der Grundlage der empfangenen Zeitdaten (Zustand 1: 40) überwacht der Zeitgeber 4 den Verlauf des spezifischen Zeitintervalls.
  • Wenn der Zeitgeber 4 den Ablauf des spezifischen Zeitintervalls erfaßt, liest der erste Controller 16 die Phasenmusterdaten des ersten Datensatzes aus der ersten Steuerdatentabelle 11 und sendet die Phasenmusterdaten an die Antriebssteuerung 6 (Zustand 2: 41).
  • Wenn das Senden der Phasenmusterdaten endet, liest der zweite Controller 17 die Phasenstromdaten des ersten Datensatzes aus der zweiten Steuerdatentabelle 12 und sendet die ersten Phasenstromdaten an die Antriebssteuerung 6. Sobald die Phasenstromdaten gesetzt sind, beginnt der Motorantrieb (Zustand 3: 42).
  • Wenn das Senden der Phasenstromdaten endet, wird die Zeitsteuereinheit 14 erneut angesteuert und liest und sendet die Zeitdaten des nächsten Datensatzes an den Zeitgeber 4 (Zustand 1: 40). Wenn der Zeitgeber 4 den Ablauf des spezifischen Zeitintervalls erfaßt, sendet die DMA-Einheit 15 die Phasenmusterdaten (Zustand 2: 41) und anschließend die Phasenstromdaten (Zustand 3: 42) dieses nächsten Datensatzes an die Antriebssteuerung 6. Damit beginnt der Antrieb auf der Grundlage der Steuerdaten dieses nächsten Datensatzes.
  • Aus der obigen Beschreibung geht hervor, daß die Zeitdaten eines willkürlichen iten Datensatzes ein Zeitintervall bestimmen (ab dem Moment gezählt, zu dem die Zeitdaten im Zeitgeber 4 gesetzt werden), nach welchem die Phasenmusterdaten und die Phasenstromdaten des iten Datensatzes gesetzt werden müssen. Der Motor 7 arbeitet mit dem Phasenmuster und Phasenstrom dieses iten Datensatzes, bis das von den Daten des (i + 1)ten Datensatzes spezifizierte Zeitintervall abgelaufen ist und das Phasenmuster erneut geändert wird. Der Motor 7 wird dann entsprechend dem Phasenmuster und den Phasenstromdaten des (i + 1)ten Datensatzes angesteuert, bis das von den Zeitdaten des (i + 2)ten Datensatzes spezifizierte Zeitintervall abgelaufen ist, und so weiter.
  • Der Motor 7 beginnt also im zweiten Zeitpunkt mit der Umdrehung (Start des zweiten Zeitintervalls) wie in 6(A) gezeigt, und danach wird der Motor entsprechend den spezifizierten Zeitdaten und Steuerdaten gesteuert.
  • 8 ist ein Ablaufdiagramm zur Beschreibung dieses Motorsteuerprozesses.
  • Wenn zum Beispiel ein Programm zum Antrieb des Motors 7 auffordert, berechnet die CPU 1 die Phasenänderungszeitdaten (Zeitintervalle bei diesem Beispiel), die für die Steuerung vom Start bis zum Stop des Steuerverfahrens erforderlich sind, ebenso wie die Phasenmuster und Phasenstromdaten, die in jedem Änderungszeitpunkt zu setzen sind, und speichert diese Daten in den Tabellen 10 bis 12 an jeweiligen Adressen im Speicher 2 (S100). Dann sendet die CPU 1 einen Startbefehl für den Motorantrieb an die Zeitsteuereinheit 14 (S101).
  • Als Reaktion auf den Antriebsstartbefehl von der CPU 1 liest die Zeitsteuereinheit 14 die ersten Zeitdaten (Zeitdaten des ersten Datensatzes) aus der Zeittabelle im Speicher 2 (S102) und setzt diese in den Zeitgeber 4 (S103). Der Zeitgeber beginnt mit dem Zählen, wenn die Zeitdaten gesetzt sind, und dieser Zustand wird fortgesetzt (S104 ergibt NEIN), bis das spezifizierte Zeitintervall vorüber ist und der Zeitgeber ein Zeit-abgelaufen-Signal an den ersten Controller 16 ausgibt. Wenn das Zeit-abgelaufen-Signal ausgegeben wird (S104 ergibt JA) liest der erste Controller 16 die ersten Phasenmusterdaten (diejenigen des ersten Datensatzes) aus der Phasenmusterdatentabelle im Speicher 2 (S105) und sendet sie an die Antriebssteuerung 6 (S106).
  • Wenn das Senden der Phasenmusterdaten endet, liest der zweite Controller 17 die ersten Phasenstromdaten (diejenigen des ersten Datensatzes) aus der Phasenstromdatentabelle (S107) und sendet die Phasenstromdaten an die Antriebssteuerung 6 (S108). Folglich fließt Phasenstrom zum Motor 7, und der Motor beginnt sich zu drehen.
  • Wenn es einen weiteren Datensatz gibt, das heißt Zeitdaten für eine nächste Phasenänderung (S109 ergibt JA) liest die Zeitsteuereinheit 14 die nächsten (zweiten) Zeitdaten aus der Zeitdatentabelle und leitet diese an den Zeitgeber 4 weiter (S102, S103). Der Zeitgeber beginnt wieder mit dem Zählen (S104), bis das gezählte Zeitintervall vorüber ist (S104 ergibt JA). Das bedeutet, daß das Phasenmuster und der Phasenstrom, wie von den Steuerdaten des ersten Datensatzes festgelegt, für das Zeitintervall an den Motor 7 angelegt werden, welches von den Zeitdaten des nachfolgenden (zweiten) Datensatzes angezeigt ist.
  • Wenn der Zeitgeber 4 wahrnimmt, daß das Zeitintervall vorüber ist (S104 ergibt JA), werden in der Antriebssteuerung 6 die nächsten (zweiten) Phasenmuster- und Phasenstromdaten gesetzt (S105 bis S108), und Strom fließt während des von den dritten Zeitdaten entsprechend diesem Phasen muster und diesen Phasenstromdaten festgelegten Zeitintervalls (S102 bis S104). Die gleichen Schritte S102 bis S109 sind danach Wiederholungen auf der Grundlage der Zeitdaten aus der Zeitdatentabelle. Dieser Prozeß endet, wenn es keine nächsten Zeitdaten in der Zeitdatentabelle mehr gibt.
  • Drittes Ausführungsbeispiel
  • Ein drittes Ausführungsbeispiel der vorliegenden Erfindung wird unter Hinweis auf 9 beschrieben. Das dritte Ausführungsbeispiel wendet die Grundsätze des ersten Ausführungsbeispiels auf einen Antriebsmechanismus zum Antrieb eines Druckkopfes in einem Drucker an. 9 ist ein Funktionsblockschaltbild einer Antriebssteuervorrichtung zum Steuern des Druckkopfes. Die in 3 gezeigte Zeitsteuereinheit 14, der erste Controller 16 und der zweite Controller 17 dienen als Zeitsteuereinheit für den Antrieb, als Controller zum Auslösen des Kopfantriebs bzw. als Controller für Druckdaten. Wie in dem in 3 gezeigten Fall sind diese Komponenten vorzugsweise Teile eines einzigen DMA-Controllers und lediglich zum leichteren Verständnis als separate Funktionsblöcke gezeigt. Die Antriebssteuerung 6 ist eine Kopfantriebssteuerung und der Treiber ist bei diesem Ausführungsbeispiel der Druckkopf 7'.
  • Der grundlegende Betrieb dieses Ausführungsbeispiels ist der gleiche wie zuvor unter Hinweis auf das zweite Ausführungsbeispiel beschrieben, aber die verarbeiteten Steuerdaten sind unterschiedlich. Genauer gesagt sind die Zeitdaten die Zeitdaten des Kopfantriebs und die Steuerdaten weisen Auslösedaten für den Kopfantrieb in einer Datentabelle 11' und Druckdaten in einer Datentabelle 12' auf. Diese Daten werden von der CPU vor Beginn des Antriebs in entsprechende Tabellen eingeschrieben.
  • Als nächstes wird unter Hinweis auf 10 der grundlegende Betrieb beschrieben.
  • Die Zeitsteuereinheit 14 setzt zunächst die Zeitdaten (für den Kopfantrieb) in den Zeitgeber 4 (Zustand 1: 40a). Wenn der Zeitgeber 4 ausläuft, sendet der erste Controller 16 ein Antriebstriggersignal an die Antriebssteuerung 6, um den Druckkopf anzusteuern (Zustand 2: 41a). Aus der folgenden Beschreibung ist ersichtlich, daß zu dieser Zeit nichts gedruckt wird, da noch keine Druckdaten gesendet wurden. Als nächstes sendet der zweite Controller 17 beispielsweise eine Punktzeile Druckdaten an die Antriebssteuerung 6 (Zustand 3: 42a). Es sei darauf hingewiesen, daß die Menge der gesendeten Druckdaten vorzugsweise die Datenmenge ist, die in einem Kopfdruckvorgang (Druckvorgang) gedruckt werden kann. Die Antriebssteuerung 6 speichert die empfangenen Druckdaten und veranlaßt den Druckkopf 7' sie dann zu drucken, wenn das nächste Antriebstriggersignal empfangen wird.
  • Es sei noch erwähnt, daß das zweite und dritte Ausführungsbeispiel getrennt beschrieben wurde. Es ist aber klar, daß die beiden Ausführungsbeispiele kombiniert werden können und die Motorantriebssteuerung des zweiten Ausführungsbeispiels zum Antrieb eines Papiertransportmechanismus, des Schlittenmechanismus usw. im Drucker benutzt werden kann. Ferner sei erwähnt, daß bei Verwen dung des Motors des zweiten Ausführungsbeispiels zum Antrieb von etwas anderem als dem Schlittenmechanismus, dem zweiten Ausführungsbeispiel, dieses dritte Ausführungsbeispiel und das folgende vierte Ausführungsbeispiel in einem einzigen Drucker kombiniert werden könnten.
  • Im Fall einer Kombination des zweiten und dritten Ausführungsbeispiels kann die Antriebssteuerung 6 gemäß 5 und die Antriebssteuerung 6 gemäß 9 nach Bedarf zum gemeinsamen Arbeiten veranlaßt werden. Die vorliegende Erfindung kann also getrennt auf eine Kopfantriebssteuervorrichtung und eine Motorantriebssteuervorrichtung angewandt werden, und der Betrieb dieser beiden Steuervorrichtungen kann synchronisiert werden. Synchronisiert werden kann der Betrieb beispielsweise durch Synchronisieren der Steuerdaten für den Motorantriebsmechanismus und den Kopfantriebsmechanismus, wenn die Steuerdaten erzeugt werden, und durch Speichern der synchronisierten Steuerdaten im Speicher, so daß der tatsächliche Antrieb auf der Basis der bereits synchronisierten Steuerdaten gesteuert wird. Es könnten auch andere Verfahren angewandt werden, einschließlich der Synchronisation der Motorantriebszeitsteuerung mit der tatsächlichen Kopfantriebszeitsteuerung oder auch durch Synchronisieren der Zeitsteuerung des tatsächlichen Betriebs.
  • Im Fall der vorliegend beschriebenen Auslegung werden nächste Zeit- und Steuerdaten gelesen und ausgegeben, wenn das Senden der vorherigen Zeit- und Steuerdaten vollendet ist. Es ist auch möglich, je nach den Eigenschaften des jeweiligen Treibers, Zeitdaten und Steuerdaten gleichzeitig zu senden.
  • Viertes Ausführungsbeispiel
  • Ein viertes Ausführungsbeispiel einer Antriebssteuervorrichtung gemäß der vorliegenden Erfindung wird als nächstes unter Hinweis auf 11 beschrieben, in der ein schematisches Blockdiagramm dieses Ausführungsbeispiels dargestellt ist. Der Antriebsmechanismus bei diesem Ausführungsbeispiel ist ein Schlittenantriebsmechanismus zum Hin- und Herbewegen des Druckkopfes eines seriellen Druckers in horizontaler Richtung längs einer Druckzeile. Gleiche Bezugszeichen werden in den 1 und 11 benutzt, um einander entsprechende Teile zu bezeichnen, und diese Teile werden nicht noch einmal erläutert.
  • Der Schlittenantriebsmechanismus 70 weist eine Motorantriebssteuerung 6, einen Motortreiber 74 (anzumerken ist, daß ein solcher Motortreiber normalerweise im Antriebsmechanismus 5 gemäß 5 eingeschlossen ist, obwohl hier nicht gezeigt), und einen Schrittmotor 7 zum Antrieb eines Schlittens 73 über einen Antriebskrafttransfermechanismus 71 (mit einem Zahnriemen, Zahnrädern oder anderen Mitteln) auf. Durch exaktes Ändern der Phasen des Motors 7 wird die Stellung des Schlittens und die Schlittenbewegung exakt gesteuert.
  • Wenn Zeitdaten vom Speicher 2 an den Zeitgeber 4 übermittelt werden, zählt der Zeitgeber 4 das Zeitintervall entsprechend den empfangenen Zeitdaten und gibt ein Zeit-abgelaufen-Signal an den DMA-Controller 3 aus, wenn das Zeitintervall abläuft. Der DMA-Controller 3 sendet dann spezifische Daten vom Speicher 2 an die Antriebssteuerung 6 des Antriebsmechanismus 70. Die Antriebssteue rung 6 treibt den Motortreiber 74 entsprechend diesen Steuerdaten, und der Schrittmotor 7 rotiert. Während der Rotation des Schrittmotors 7 wird der Schlitten 73 mittels des Antriebskrafttransfermechanismus 71 bewegt.
  • Im Weg des Schlittens ist an der Ausgangsstellung (HP) des Schlittenbewegungsbereichs ein Sensor 72 für die Ausgangsstellung angeordnet. Dieser HP-Detektor 72 kann ein Photodetektor, ein Ultraschalldetektor, ein mechanischer Meßfühler oder eine sonstige Sensoreinrichtung sein.
  • Das Ausgangssignal des HP-Detektors 72 wird an eine Antriebsbestätigungseinrichtung 50 angelegt. Die Antriebsbestätigungseinrichtung 50 verfolgt der Reihe nach die logische (errechnete) Schlittenposition und stellt jegliche Verschiebung zwischen der tatsächlichen Schlittenposition und der logischen Schlittenposition fest, wenn der HP-Detektor 72 den Schlitten wahrnimmt. Wenn die Verschiebung einen spezifizierten Bereich übersteigt, wird der CPU ein Unterbrechungssignal übermittelt. Wenn die CPU das Unterbrechungssignal von der Antriebsbestätigungseinrichtung 50 erfaßt, läßt sie einen spezifischen Fehlerbehandlungsprozeß ablaufen.
  • Das in 11 gezeigte Ausführungsbeispiel wird unter Hinweis auf 12 näher erläutert. 12 ist ein Funktionsblockschaltbild, welches den Betrieb der Antriebssteuervorrichtung und des Schlittenantriebsmechanismus mehr im einzelnen beschreibt. Die Zeit- und Steuerdatentabellen 10 bis 12 sind im Speicher 2 gemäß 12 vorgesehen. Die in diesen Tabellen gespeicherten Daten sind die Daten, die zum Steuern des Motors gemäß der gewünschten Bewegung des Schlittens erforderlich sind. Die Zeit- und Steuerdaten werden entsprechend einem in der Figur nicht gezeigten Motorsteuerprogramm erzeugt und im Speicher 2 gespeichert, ehe der Motorantriebsvorgang beginnt.
  • Gemäß 12 speichert die Zeitdatentabelle 10 die Zeitdaten, welche den Zeitpunkt steuern, zu dem der Motorbetrieb umschaltet. Die Phasenmusterdatentabelle 11 (erste Steuerdatentabelle) speichert die Phasenmusterdaten des dem Motor bei jeder Änderung des Betriebs zugeführten Stroms, und die Phasenstromdatentabelle 12 (zweite Steuerdatentabelle) speichert die Phasenstromdaten, die den Phasenstromfluß zum Motor bei jeder Änderung des Betriebs steuern.
  • Es sei noch darauf hingewiesen, daß 12 zwei Arten von Steuerdaten zeigt, die gespeichert werden; aber es können je nach Bedarf mehr oder weniger Arten von Steuerdaten gespeichert werden. Ferner können diese Daten in einem Register oder einer anderen Speichereinrichtung als im Speicher 2 gespeichert werden.
  • Die Datentabellen 10 bis 12 werden von einer Zeitsteuereinheit 14 für Phasenänderung, einem ersten Controller 16 (Phasenmustersteuerung) bzw. einem zweiten Controller 17 (Phasenstromsteuerung) gesteuert, die alle im DMA-Controller 3 enthalten sind. Die gelesenen Daten werden wie bei den vorhergehenden Ausführungsbeispielen dem Zeitgeber 4 und der Antriebssteuerung 6 zugeleitet. Der erste Sendevorgang an den DMA-Controller 3 wird durch ein Startsignal von der CPU 1 aktiviert. Danach wird die Zeitsteuereinheit 14 und die Controller 16 und 17 der Reihe nach aktiv gemacht, um die vom Zeitgeber 4 gesteuerten jeweiligen Daten zu lesen und zu senden, wie schon gesagt.
  • Die Zeitsteuereinheit 14 sendet zuerst Zeitdaten von der Zeitdatentabelle 10 an den Zeitgeber 4. Nach Ablauf des von den Zeitdaten angezeigten Zeitintervalls gibt der Zeitgeber 4 ein Zeit-abgelaufen-Signal an den ersten Controller 16 und auch an die Antriebsbestätigungseinrichtung 50 aus. Wenn er das Zeit-abgelaufen-Signal empfängt, liest der erste Controller 16 Phasenmusterdaten aus der Phasenmusterdatentabelle 11 und sendet die Daten an die Antriebssteuerung 6. Die Antriebssteuerung 6 gibt die empfangenen Phasenmusterdaten an den Motortreiber 74 aus. Als nächstes liest der zweite Controller 17 Phasenstromdaten aus der Phasenstromdatentabelle 12 und sendet sie an die Antriebssteuerung 6. Die Antriebssteuerung 6 gibt die empfangenen Phasenstromdaten an den Motortreiber 74 aus, und dann beginnt sich der Motor 7 zu drehen. Wenn der Motor 7 zu drehen beginnt, veranlaßt der Antriebskrafttransfermechanismus 71, daß der Schlitten 73 beginnt, den Schlittenweg zu durchlaufen.
  • Wenn das Senden der Phasenstromdaten endet, übergibt der zweite Controller 17 die Steuerung an die Zeitsteuereinheit 14. Die Zeitsteuereinheit 14 liest dann die nächsten Zeitdaten und sendet sie an den Zeitgeber 4. Der Zeitgeber 5 gibt ein Zeit-abgelaufen-Signal aus, wenn das spezifizierte Zeitintervall vorüber ist, wodurch der erste Controller 16 aktiv wird und die nächsten Phasenmusterdaten sendet. Danach setzt sich der gleiche Prozeß fort, und damit wird der Motor 7 allmählich beschleunigt und bewegt den Schlitten 73.
  • Der Schlittenweg wird als nächstes unter Hinweis auf 13 beschrieben. 13 zeigt den Bewegungsbereich 81 des Schlittens, Druckbereich 82, Nichtdruckbereich 83 sowie den Ort der Ausgangsstellung eines typischen seriellen Druckers. Der größte Teil des Schlittenbewegungsbereichs ist der Druckbereich 82. Drucken erfolgt mittels des in der Fig. nicht gezeigten Druckkopfes, während sich der Schlitten 73 durch den Druckbereich 82 bewegt. Der Druckbereich 82 ist beispielsweise je nach Art des Druckers unterschiedlich, und aus Gründen der Einfachheit ist in 13 nur ein Druckbereich 82 dargestellt. Ein an den Druckbereich nach rechts angrenzender spezifischer Bereich ist ein Nichtdruckbereich 83. Der Schlitten 73 kann auch durch den Nichtdruckbereich 83 bewegt werden, aber Drucken ist dort verboten.
  • An einer bestimmten, als Ausgangsstellung (abgekürzt "HP") bekannten Stellung (entsprechend einer ersten Bezugsposition) im Nichtdruckbereich 83 ist ein Detektor 72 für die Ausgangsstellung angeordnet (einem Ortssensor gleichwertig) (siehe 11 und 12). Wenn der Schlitten 73 über den HP-Sensor bewegt wird, nimmt dieser den Schlitten 73 wahr und ermöglicht dadurch eine Bestätigung, ob der Schlitten 73 tatsächlich in die Ausgangsstellung bewegt wurde. Der HP-Detektor 72 gibt ein Erkennungssignal an die Antriebsbestätigungseinrichtung 50, wenn er den Schlitten erfaßt.
  • Der Schlitten 73 wird durch das Antreiben des Motors 7 bewegt. Um beispielsweise eine durchgehende Zeile zu drucken, bewegt sich der Schlitten 73 vom rechten Ende des Druckbereichs 82 zum linken Ende des Druckbereichs. Wenn das Drucken vollendet ist, kann der Schlitten 73 entweder an dieser Position anhalten, zum rechten Ende des Druckbereichs zurückkehren oder zu einer anderen gewünschten Stelle bewegt werden.
  • Wie schon gesagt, wird das Bewegen des Schlittens 73 zum Drucken dadurch bewerkstelligt, daß für eine gewünschte Bewegung erforderliche Zeit- und Steuerdaten erzeugt und in einem Speicher gespeichert werden. Die gespeicherten Steuerdaten werden dann von einem DMA-Controller gelesen und an die Antriebssteuerung übermittelt. Das Erzeugen und Speichern der Zeit- und Steuerdaten kann mittels einer CPU und eines spezifischen Programms durchgeführt werden.
  • Wie im Fall des Druckens wird auch ein Schlittenantriebsvorgang, der durchgeführt wird, um zu bestätigen, ob er richtig vollendet wurde (nachfolgend "Antriebszustandsbestätigungsprozeß") auch dadurch erzielt, daß zunächst Zeit- und Steuerdaten erzeugt und gespeichert werden und dann diese Daten der Reihe nach mittels eines DMA-Controllers gelesen und an die Antriebssteuerung gesendet werden. Diese Antriebszustandsbestätigung wird vorzugsweise in einem regelmäßigen Intervall durchgeführt, um eine genaue Antriebssteuerung zu erreichen.
  • Beispielsweise wird im Fall eines Tintenstrahldruckers ein vorgetäuschter Tintenausstoßvorgang (Reinigung) regelmäßig dann durchgeführt, wenn kein Drucken bewirkt wird, um zu verhindern, daß die Düsen des Druckkopfes durch angetrocknete Tinte verstopfen, wenn das Intervall zwischen Druckvorgängen lang ist. Der Schlitten wird also regelmäßig (zum Beispiel alle 6 bis 10 Sekunden) in eine Tintenempfangsstellung bewegt, bei der Tinte in ein Tintengefäß ausgestoßen wird. Das Tintengefäß ist normalerweise in der Nähe der Ausgangsstellung im Nichtdruckbereich 83 angeordnet. Der Antriebszustandsbestätigungsprozeß kann deshalb mit diesem scheinbaren Tintenausstoßvorgang kombiniert werden. Es sei darauf hingewiesen, daß zwar für beide Verfahren der Schlittenantriebsvorgang der gleiche ist, aber der Bestätigungsprozeß für den Antriebszustand muß parallel zur Druckkopfsteuerung auf den Tintenausstoß durchgeführt werden.
  • Ein Beispiel des Bestätigungsprozesses für den Antriebszustand soll nachfolgend unter Hinweis auf 14 beschrieben werden. 14 ist ein Zustandsübergangsdiagramm zum Erläutern des Bestätigungsprozesses für den Antriebszustand.
  • Ehe der in 14 gezeigte Prozeß beschrieben wird, soll kurz auf eine typische Schlittenbewegung im Zusammenhang mit der Antriebszustandsbestätigung eingegangen werden.
  • Der Schlitten wird zuerst an einer zweiten Bezugsposition (S in 13) im Bereitschaftszustand angehalten. In diesem Zustand werden Steuer- und Zeitdaten für den Vorgang der Antriebszustandsbestätigung erzeugt und im Speicher gespeichert. Wenn dann die CPU ein Startsignal an den DMA-Controller 3 ausgibt, liest dieser die Steuerdaten aus dem Speicher und sendet sie an den Zeitgeber bzw. die Antriebssteuerung. So beginnt die Antriebssteuerung des Motors 7. Wenn der Motor angetrieben wird, bewegt sich der Schlitten 73 allmählich aus der zweiten Bezugsposition S nach rechts. Wenn der Schlitten die Ausgangsstellung durchläuft, gibt der HP-Sensor ein Erkennungssignal aus. Der Antriebszustand wird auf der Grundlage des Erkennungssignals vom HP-Sensor bestätigt.
  • Als nächstes wird das Verfahren der Antriebszustandsbestätigung beschrieben. Im Bereitschaftszu stand 51, wenn das Verfahren der Antriebszustandsbestätigung nicht läuft, sind alle Kennzeichen und Zähler usw. gelöscht. Um das Verfahren der Antriebszustandsbestätigung zu starten, erzeugt die CPU 1 Zeitdaten und Steuerdaten, um den Schlitten 73 in die Ausgangsstellung für das Verfahren der Antriebszustandsbestätigung zu bewegen und speichert diese Daten in Tabellen 10 bis 12. Nach dem Speichern dieser Daten aktiviert die CPU 1 die Zeitsteuereinheit 14 des DMA-Controllers 3 (siehe 12) und startet die Motorantriebssteuerung, damit der Schlitten bewegt wird. Das Signal, mit dem die Antriebssteuerung gestartet wird, läßt gleichzeitig das Verfahren der Antriebszustandsbestätigung anlaufen und eröffnet den Untergrenzen-Bereitschaftszustand 52, wie in 14 gezeigt.
  • In diesem Untergrenzen-Bereitschaftszustand 52 wird geprüft, ob die berechnete, logische Position des Schlittens 73 einen unteren Grenzwert erreicht hat, der für die logische Position erlaubt ist, wenn die tatsächliche Position die Ausgangsposition HP ist. Wenn das HP-Erkennungssignal erfaßt wird, ehe die logische Position des Schlittens 73 den unteren Grenzwert erreicht, weiß man, daß die tatsächliche Schlittenposition gegenüber der logischen Schlittenposition stark nach rechts versetzt ist (in 13 gesehen), und es wird festgestellt, daß ein Antriebsfehler aufgetreten ist. Es wird also bestimmt, ob die Ausgangsstellung HP wahrgenommen wird, ehe die logische Position den unteren Grenzwert erreicht (HP-Erkennung 1). Ein Antriebsfehler wird erkannt, wenn die Ausgangsstellung HP erfaßt wird, ehe die logische Schlittenposition den unteren Grenzwert erreicht, und dann wird ein Unterbrechungssignal an die CPU für einen Fehlerbehandlungsprozeß ausgegeben (Fehlerbehandlungsverfahren, Ausgabe INT Zustand 54). Wenn die Ausgangsstellung HP bei der HP-Erkennung 1 nicht festgestellt wird, wird der Untergrenzen-Bereitschaftszustand 52 fortgesetzt.
  • Wenn die logische Position den unteren Grenzwert erreicht hat, ohne daß ein HP-Erkennungssignal erfaßt wurde; wird der Obergrenzen-Bereitschaftszustand 53 angenommen. Ob die logische Position des Schlittens 73 den für die logische Position erlaubten oberen Grenzwert, wenn die tatsächliche Position die Ausgangsposition HP ist, erreicht hat, wird in diesem Obergrenzen-Bereitschaftszustand 53 geprüft. Ist das HP-Erkennungssignal noch nicht erfaßt, wenn die logische Position des Schlittens 73 den oberen Grenzwert erreicht, weiß man, daß die tatsächliche Schlittenposition gegenüber der logischen Schlittenposition stark nach links versetzt ist (in 13 gesehen), und es wird festgestellt, daß ein Antriebsfehler aufgetreten ist.
  • Um diesen Zustand zu erkennen, ob die Ausgangsstellung HP erfaßt ist, wird bei jeder Phasenänderungszeit geprüft, bis die logische Position den oberen Grenzwert erreicht (HP-Erkennung 2). Wenn die Ausgangsstellung HP nicht erfaßt ist, bis der obere Grenzwert erreicht ist, wird an die CPU 1 ein Unterbrechungssignal ausgegeben, um die CPU 1 zu aktivieren und ein spezifisches Fehlerbehandlungsverfahren ablaufen zu lassen (Zustand 54). Wenn eine Fehlerunterbrechung an die CPU 1 angelegt wird, zeigt die CPU 1 einen Antriebsfehler an, läßt ein geeignetes Fehlerbehandlungsverfahren ablaufen und wartet auf die Berichtigung des Fehlers (Zustand 56).
  • Wenn die Ausgangsstellung HP im HP-Erkennungszustand 2 erfaßt wird, weiß man, daß die Verschiebung zwischen der logischen Schlittenposition und der tatsächlichen Schlittenposition innerhalb eines annehmbaren Bereiches liegt, und ein normaler Beendigungsprozeß 55 läuft ab, um das Verfahren der Antriebszustandsbestätigung normal zu beendigen. Dieser normale Beendigungsprozeß 55 kann beispielsweise nach der HP-Erkennung den Schlitten zum rechten Ende des Druckbereichs 82 bewegen und erneut das Drucken ermöglichen (Zustand 56).
  • 15 ist ein Funktionsblockdiagramm einer exemplarischen Antriebsbestätigungseinrichtung 50 gemäß dieser Erfindung.
  • Die Antriebsbestätigungseinrichtung 50 hat ein Untergrenzenregister 61 zum Speichern des erlaubten unteren Grenzwertes und ein Obergrenzenregister 65 zum Speichern des oberen Grenzwertes. Die unteren und oberen Grenzwerte werden von der CPU 1 über den Datenbus 9 im Untergrenzenregister 61 bzw. Obergrenzenregister 65 gespeichert. Die Antriebsbestätigungseinrichtung 50 weist auch einen Zähler 63 auf, der die Phasenänderungssignale (Zeit-abgelaufen-Signale) zusammenzählt. Der Zähler 63 wird durch ein Signal von einem Controller 60 gelöscht, ehe das Verfahren der Antriebszustandsbestätigung gestartet wird. Der Zählwert des Zählers 63 wird von Vergleichsgliedern 62 und 64 mit den Werten des Untergrenzenregisters 61 bzw. des Obergrenzenregisters 65 verglichen. Wenn der Zählwert des Zählers 63 zu dem Wert im Untergrenzenregister 61 oder im Obergrenzenregister 65 paßt, wird ein Treffersignal an den Controller 60 ausgegeben.
  • Der Controller 60 arbeitet in Übereinstimmung mit Daten, die in einem Steuerregister 66 gespeichert sind, und wenn das Verfahren der Antriebszustandsbestätigung ausgeführt worden ist, wird dessen Zustand (das Ergebnis) in einem Zustandsregister 67 gespeichert. Daten von der CPU 1 werden in das Steuerregister 66 geschrieben, und die CPU 1 kann aus dem Zustandsregister 67 lesen. Die CPU 1 kann auch den aktuellen Zählwert des Zählers 63 über den Datenbus 9 lesen. Das Treffersignal, Phasenänderungssignale (Zeit-abgelaufen-Signale), Ausgangsstellungssignal HP und weitere Signale werden in den Controller 60 eingegeben, der Antriebsfehler auf der Grundlage des Treffersignalausgabezeitpunktes vom Vergleichsglied 64 und dem Zeitpunkt erfaßt, an dem das Ausgangsstellungssignal HP empfangen wird.
  • Die Arbeitsweise des Controllers 60 soll anhand von 13, 15 und 16 erläutert werden. 16 ist ein Ablaufdiagramm des Verfahrens der Antriebszustandsbestätigung des Controllers 60 der Antriebsbestätigungseinrichtung 50. Es sei angenommen, daß der Schlitten 73 anfänglich an der Position S in 13 angehalten ist.
  • Vor der Aufnahme des Verfahrens der Antriebszustandsbestätigung gibt die CPU 1 die Zeit- und Steuerdaten in den Speicher 2 ein, wie vorstehend beschrieben. Zur gleichen Zeit löscht die CPU 1 auch das Untergrenzenregister 61, das Obergrenzenregister 65, das Steuerregister 66 und den Zähler 63. Die im Obergrenzenregister 65 und im Untergrenzenregister 61 eingestellten Werte können je nach dem gewünschten Grad an Genauigkeit der Fehlererkennung frei festgelegt werden. Bei diesem Beispiel ist die untere Grenzposition auf "1000" im Untergrenzenregister 61 und die obere Grenzposition auf "1020" im Obergrenzenregister 65 gesetzt.
  • Wenn die CPU 1 die Zeitsteuereinheit 14 im DMA-Controller 3 aktiviert, aktiviert sie gleichzeitig auch die Antriebsbestätigungseinrichtung 50 (S200). Auf der Grundlage von Zeitdaten von der Zeitsteuer einheit 14 (siehe 12) gibt der Zeitgeber 4 in jedem Phasenänderungszeitpunkt ein Zeitabgelaufen-Signal aus. Aufgrund dieses Zeit-abgelaufen-Signals werden Phasenmuster- und Phasenstromdaten vom ersten Controller 16 und zweiten Controller 17 an die Antriebssteuerung 6 gesandt. Die Antriebssteuerung 6 steuert dann auf der Basis dieser Steuerdaten den Motor 7 an, und der Schlitten 73 beginnt, sich in die Ausgangsstellung HP zu bewegen.
  • Sobald die Antriebsbestätigungseinrichtung 50 mit dem Verfahren der Antriebszustandsbestätigung beginnt, wird der Zähler 63 immer dann inkrementiert, wenn der Zeitgeber 4 das Zeit-abgelaufen-Signal ausgibt (S201, S202). Dann wird geprüft, ob der HP-Detektor 72 ein Erkennungssignal ausgibt (S203 ergibt NEIN). Wenn das HP-Erkennungssignal nicht ausgegeben wird, werden die Werte vom Zähler 63 und vom Untergrenzenregister 61 verglichen (S204). Hat der Wert des Zählers 63 den Wert der unteren Grenze nicht erreicht (S204 ergibt NEIN), wird der gleiche Prozeß wiederholt (das heißt die Schritte S201, S202, S203 und S204).
  • Anmerkung: Die Erfassung des HP-Erkennungssignals zu diesem Zeitpunkt bedeutet, daß der Schlitten 73 tatsächlich die Ausgangsstellung HP erreicht hat, obwohl die logische Position des Schlittens 73 nicht die Einstellung der unteren Grenze von 1000 erreicht hat. Deshalb wird ein Fehler erkannt (S203 ergibt JA), und es wird ein Unterbrechungssignal an die CPU 1 ausgegeben (S209). Dann werden die Register 61, 65 gelöscht (S211) und ein Bereitschaftszustand angenommen (S200). Anmerkung: Die CPU 1 kann auf den Inhalt des Zählers 63 und des Zustandsregisters 67 mittels eines Unterbrechungsfehlerbehandlungsprozesses Bezug nehmen.
  • Wenn der Zählwert des Zählers 63 1000 erreicht, paßt der Wert des Untergrenzenregisters 61 zum Zählwert des Zählers 63 (S204 ergibt JA). Der Obergrenzen-Bereitschaftszustand 53 (siehe 14) wird daher angenommen, und es wird auf das nächste Zeit-abgelaufen-Signal gewartet (S205 ergibt NEIN). Wenn ein Zeit-abgelaufen-Signal empfangen wird (S205 ergibt JA), wird der Zähler 63 inkrementiert (S206), und es wird geprüft, ob das HP-Erkennungssignal ausgegeben wird (S207). Wenn das HP-Erkennungssignal nicht ausgegeben wird (S207 ergibt NEIN), wird der Wert im Obergrenzenregister 65 mit dem Zählwert des Zählers 63 verglichen (S208). Wenn die Werte nicht gleich sind (S208 ergibt NEIN), werden die gleichen Verfahrensschritte wiederholt (das heißt die Schritte S205, S206, S207, S208).
  • Wenn das HP-Erkennungssignal erfaßt wird (S207 ergibt JA), hat der Schlitten 73 die tatsächliche Ausgangsstellung HP innerhalb des Bereichs
    Untergrenze (1000) < logische Position (Zählwert) < Obergrenze (1020) erreicht.
  • Die logische und die tatsächliche Schlittenposition liegen also beide innerhalb eines spezifizierten Toleranzbereichs, es wird festgestellt, daß der Antrieb normal ist, der Zähler 63 und das Register 65 werden gelöscht (S210), und der Bereitschaftszustand 51 (siehe 14) wird angenommen.
  • Wenn der Zählwert 1020 erreicht, paßt der im Obergrenzenregister 65 gesetzte Wert mit dem Zählwert des Zählers 63 zusammen (S208 ergibt JA). Das bedeutet, daß der Schlitten, obwohl er in die logische obere Grenzposition 1020 hätte bewegt werden sollen, nicht tatsächlich die Ausgangs position erreicht hat. Deshalb wird ein Antriebsfehler erfaßt.
  • Wenn ein Fehler festgestellt wird, nachdem die Ausgangsstellung HP erfaßt wurde, kann eine Unterbrechung an die CPU 1 ausgegeben werden, die dann aufhört, den Motor 7 anzusteuern, oder der Motor 7 kann in eine bestimmte Stellung angetrieben werden, um eine Fehlerkorrektur zu ermöglichen. Um den Prozeß normal zu beendigen, können die Zeit- und Steuerdaten, die für das Antriebszustandsbestätigungsverfahren erzeugt und im Speicher 2 gespeichert werden, Daten umfassen, um den Schlitten in eine spezifische Position zurückzubewegen (zum Beispiel die zweite Bezugsposition, die in 13 mit S gekennzeichnet ist), wenn die Schrittzählung (identisch mit der vom Zähler 63 verfolgten Zählung) die Obergrenze 1020 oder 1021 übersteigt.
  • Als nächstes wird unter Hinweis auf 17 und 12 das Verhältnis zwischen der Schlittenantriebssteuerung (Motorantriebssteuerung) und der Antriebsbestätigungseinrichtung beschrieben.
  • 17 zeigt die Zustandsübergänge der kontinuierlichen Steuerschleife, beginnend mit dem Empfang des Startbefehls für den Motorantrieb bis zum Setzen der Änderungszeitdaten, Phasenmusterdaten, Phasenstromdaten und dann dem Setzen der nächsten Änderungszeitdaten sowie das Verhältnis zwischen dem Verfahren der Antriebszustandsbestätigung und dieser Operation.
  • Wenn die CPU 1 den Beginn der Antriebssteuerung für das Verfahren der Antriebszustandsbestätigung anzeigt, werden die ersten Zeitdaten in der Zeitdatentabelle 10 gelesen und an den Zeitgeber 4 übermittelt. Der Zeitgeber 4 überwacht den Verlauf des spezifischen Zeitintervalls anhand der empfangenen Zeitdaten (Zustand 1: 57).
  • Wenn der Zeitgeber 4 den Ablauf des spezifischen Zeitintervalls erfaßt, gibt er ein Zeit-abgelaufen-Signal aus. Auf der Grundlage dieses Signals liest der erste Controller 16 die ersten Phasenmusterdaten aus der Phasenmusterdatentabelle 11 und sendet die Phasenmusterdaten an die Antriebssteuerung 6 (Zustand 2: 58). Die Antriebsbestätigungseinrichtung 50 inkrementiert ihren Zähler 63 zur gleichen Zeit auch auf der Grundlage des Zeit-abgelaufen-Signals.
  • Wenn das Senden der ersten Phasenmusterdaten endet, liest der zweite Controller 17 die ersten Phasenstromdaten aus der Phasenstromdatentabelle 12 und sendet die Phasenstromdaten an die Antriebssteuerung 6. Die Umdrehung des Motors 7 beginnt, wenn dies vollendet ist (Zustand 3: 59).
  • Wenn das Senden der Phasenstromdaten endet, wird die Zeitsteuereinheit 14 erneut angesteuert, um die nächsten Zeitdaten aus der Zeitdatentabelle 10 zu lesen und an den Zeitgeber 4 zu senden (Zustand 1: 57). Der Motor 7 wird weiterhin auf der Grundlage der ersten Phasenmuster- und Phasenstromdaten angesteuert, bis der Zeitgeber 4 anhand der zweiten Daten ein Zeit-abgelaufen-Signal ausgibt.
  • Wenn der Zeitgeber 4 erkennt, daß das spezifische Zeitintervall abgelaufen ist, gibt er ein Zeitabgelaufen-Signal aus. Auf der Grundlage dieses Signals liest der erste Controller 16 die nächsten (zweiten) Phasenmusterdaten und sendet sie an die Antriebssteuerung 6 (Zustand 2: 58). Zur gleichen Zeit inkrementiert die Antriebsbestätigungseinrichtung 50 den Zähler 63 auf der Grundlage des Zeit-abgelaufen-Signals. Die nächsten (zweiten) Phasenstromdaten werden dann vom zweiten Controller 17 gelesen und weitergeleitet (Zustand 3: 59). Der Motor 7 wird folglich aufgrund der zweiten Phasenmuster- und Phasenstromdaten angesteuert, bis das nächste (dritte) Zeit-abgelaufen-Signal ausgegeben wird.
  • Aus der vorstehenden Beschreibung ist erkennbar, daß die ersten Zeitdaten einen Scheinwert darstellen für die Einstellung der ersten Phasenmuster- und Phasenstromdaten. Der Motor 7 wird mit diesem ersten Phasenmuster und Phasenstrom angetrieben, bis das von den zweiten Zeitdaten spezifizierte Zeitintervall vorüber ist und das Phasenmuster geändert wird. Ebenso wird der Motor 7 als nächstes auf der Grundlage des neu gesetzten Phasenmusters und Phasenstroms bis zur nächsten Phasenänderungszeit angetrieben.
  • Der Antrieb des Motors 7 beginnt also mit der zweiten Phasenänderungszeit, wie in 6(A) gezeigt, und der Motor wird entsprechend spezifischen Zeitdaten und Steuerdaten gesteuert. Der Zähler 63 der Antriebsbestätigungseinrichtung 50 wird immer dann inkrementiert, wenn das Zeitabgelaufen-Signal ausgegeben wird, und der Zählwert wird mit den Werten im Untergrenzenregister 61 und im Obergrenzenregister 65 verglichen.
  • Es sei darauf hingewiesen, daß die vorstehend beschriebene Operation der Antriebsbestätigung von einem in einem Speicher gespeicherten Programm gesteuert wird. Im Fall eines Druckers ist zum Beispiel ein Sensor für die Ausgangsstellung normalerweise an einem Ort angeordnet, der vom Druckbereich getrennt ist, und der Schlitten wird so angetrieben, daß er von dem Sensor für die Ausgangsstellung mindestens einmal pro Zeiteinheit erfaßt wird, um den Schlittenbetrieb zu bestätigen. Die Frequenz dieses Verfahrens der Antriebszustandsbestätigung kann vom Entwurfsingenieur frei bestimmt werden, wenn er das Antriebssteuerprogramm schreibt. Zum Beispiel kann durch regelmäßige Durchführung dieser Operation in einem bestimmten Intervall der Zeitpunkt des Bestätigungsprozesses auch entsprechend dem Betrieb des tatsächlichen Antriebsmechanismus geändert werden.
  • Wenn die erste Bezugsposition auf die Ausgangsposition vom Druckbereich entfernt gesetzt wird, kann außerdem ein Fehler sofort erfaßt werden, wenn die Ausgangsposition erfaßt wird, während gedruckt wird. Allerdings sollte klar sein, daß die erste Bezugsposition nicht notwendigerweise außerhalb des Druckbereichs liegt. Eine erste Bezugsposition kann auch in den Druckbereich verlegt werden, wenn ein Sensor dort angeordnet wird, so daß das Verfahren der Antriebszustandsbestätigung während des Druckens durchgeführt werden kann.
  • Ferner können mehrere Positionssensoren mit entsprechenden Antriebsbestätigungseinrichtungen vorgesehen sein. So könnten Positionssensoren beispielsweise an beiden Seiten der Bewegungsbahn vorgesehen sein, mehr als einer könnte im Druckbereich angeordnet sein, oder Sensoren könnten zu beiden Seiten des Bewegungsweges innerhalb des Druckbereichs angeordnet sein. Die Anordnung einer Vielzahl von Positionssensoren und Antriebsbestätigungseinrichtungen ermöglicht eine noch mehr ins einzelne gehende präzise Bestätigung der Antriebssteuerung und kann die Zuverlässsigkeit weiter verbessern.
  • Außerdem wird in einem regelmäßigen Intervall in einem Tintenstrahldrucker ein Scheinvorgang des Tintenausstoßens durchgeführt, um normales Drucken zu gewährleisten. Durch Anordnen eines Behälters für die durch dieses Scheinausstoßen ausgestoßene Tinte in der Nähe der Ausgangsstellung kann der Schlittenantrieb für den Scheinausstoß von Tinte auch für das Verfahren der Antriebszustandsbestätigung genutzt werden.
  • Es sei noch erwähnt, daß das obige Verfahren der Antriebszustandsbestätigung unter Hinweis auf einen Schlittenantriebsmechanismus für einen Drucker beschrieben wurde, daß die Erfindung aber nicht auf diesen Fall begrenzt ist. Der erfinderische Gedanke könnte sowohl hinsichtlich der Antriebssteuerung als auch des Verfahrens der Antriebszustandsbestätigung auf praktisch jedes Gebiet angewandt werden, wo eine Präzisionssteuerung des Antriebsmechanismus erforderlich ist, einschließlich eines Druckpapiertransportmechanismus, eines Rechnungstransportmechanismus in einem Geldautomaten, eines Antriebsmechanismus für einen Magnetkopf oder sonstigen Kopf, Kartenlese- und Abtastgeräte. Es liegt auf der Hand, daß der Ort der ersten und zweiten Bezugsposition auf der Grundlage der Kenntnis und Praxis auf dem jeweiligen Gebiet ordnungsgemäß bestimmt werden sollte.
  • Auch die vorstehenden Ausführungsbeispiele sind anhand eines Schrittmotor-Antriebsmechanismus und eines Druckkopf-Antriebsmechanismus beschrieben worden. Aber wie schon gesagt, kann die Erfindung auch auf andere Antriebsmechanismen angewandt werden, beispielsweise diejenigen, die einen Linearmotor, Ultraschalloszillatoren, Elektromagnete oder eine Kombination derselben benutzen. Die für diese Antriebsmechanismen spezifischen Steuerdaten können außerdem zu Zeitpunkten geliefert werden, die für den Antriebsmechanismus spezifisch sind, wofür die DMA-Steuerung gemäß der vorliegenden Erfindung benutzt wird, so daß die Steuerung des Antriebsmechanismus, sobald der Antrieb startet, ohne Beteiligung der CPU fortgesetzt werden kann.

Claims (20)

  1. Antriebssteuervorrichtung zum Steuern eines Antriebsmechanismus (5, 70) mit einer Antriebssteuereinrichtung (6) und einer von der Antriebssteuereinrichtung (6) gesteuerten Antriebseinrichtung (7; 7'; 7, 74), aufweisend: eine Datenerzeugungseinrichtung (1) zum Erzeugen einer Vielzahl von Datensätzen, die je Steuerdaten zum Steuern der Antriebseinrichtung (7; 7'; 7, 74) und zugeordnete Zeitdaten umfassen, um den Zeitpunkt, zu dem die Steuerdaten an die Antriebssteuereinrichtung (6) ausgegeben werden, zu steuern, und zum Ausgeben eines ersten Startsignals, um die Datenübertragung zur Antriebssteuereinrichtung (6) zu beginnen; eine Speichereinrichtung (2) zum Speichern der Zeitdaten und Steuerdaten; eine Zeitgebereinrichtung (4) zum Starten eines Zeitsteuervorgangs, wenn sie Zeitdaten empfängt, und zum Ausgeben eines Zeit-abgelaufen-Signals, wenn eine von den empfangenen Zeitdaten spezifizierte Zeit vorübergeht; eine erste Einrichtung mit Direktspeicherzugriff (14), die auf das erste Startsignal anspricht, um Zeitdaten aus der Speichereinrichtung (2) zu lesen und die gelesenen Zeitdaten an die Zeitgebereinrichtung (4) zu senden; und eine zweite Einrichtung mit Direktspeicherzugriff (15), die auf das Zeit-abgelaufen-Signal anspricht, um Steuerdaten aus der Speichereinrichtung (2) zu lesen und die Steuerdaten an die Antriebssteuereinrichtung (6) zu senden, dadurch gekennzeichnet, daß die zweite Einrichtung mit Direktspeicherzugriff (15) eine Einrichtung zum Ausgeben eines zweiten Startsignals aufweist, wenn das Senden der Steuerdaten eines Datensatzes vollendet ist; und die erste Einrichtung mit Direktspeicherzugriff (14) auf das zweite Startsignal anspricht, um die Zeitdaten des nächsten Datensatzes aus der Speichereinrichtung (2) zu lesen und zur Zeitgebereinrichtung (4) zu senden.
  2. Vorrichtung nach Anspruch 1, bei der die Steuerdaten in jedem Datensatz erste und zweite Arten von Steuerdaten aufweisen und die zweite Einrichtung mit Direktspeicherzugriff (15) ferner aufweist: eine erste Steuereinheit (16), die auf das Zeit-abgelaufen-Signal anspricht, um die erste Art Steuerdaten eines jeweiligen Datensatzes aus der Speichereinrichtung (2) zu lesen und zur Antriebssteuereinrichtung (6) zu senden, und eine zweite Steuereinheit (17), die dadurch aktiviert wird, daß das Senden der ersten Art Steuerdaten an die Antriebssteuereinrichtung (6) vollendet ist, um die zweite Art Steuerdaten des jeweiligen Datensatzes zu lesen, diese an die Antriebssteuereinrichtung (6) zu senden und dann das zweite Startsignal auszugeben.
  3. Vorrichtung nach Anspruch 2, bei der die Antriebseinrichtung einen Schrittmotor (7) aufweist; die Zeitdaten Zeitdaten zum Steuern einer Phasenänderungszeit des Motors (7) sind; und die Steuerdaten Phasenmusterdaten sind, die gesetzt werden, wenn sich die Motorphase ändert, und Phasenstromdaten zum Steuern des dem Motor (7) zugeführten Stroms, wenn sich die Motorphase ändert.
  4. Vorrichtung nach Anspruch 3, bei der die Datenerzeugungseinrichtung (1) geeignet ist, Zeitdaten, Steuerdaten erster Art und Steuerdaten zweiter Art auf der Basis grundlegender Zeitdaten, Phasenmusterdaten und Phasenstromdaten zur Verwendung während Motorbeschleunigung, -Verlangsamung und Betrieb mit gleichbleibender Geschwindigkeit zu erzeugen.
  5. Vorrichtung nach Anspruch 2, bei der die Antriebseinrichtung einen Druckkopf (7') aufweist; und die Zeitdaten Daten zum Steuern der Kopfantriebszeit sind, und die Steuerdaten Antriebstriggerdaten zum tatsächlichen Antreiben des Kopfes und Druckdaten aufweisen.
  6. Vorrichtung nach Anspruch 1, bei der die Antriebseinrichtung (7, 74) eine Einrichtung zum Bewegen eines beweglichen Gliedes (73) ist, ferner aufweisend: eine Positionserfassungseinrichtung (72) zum Ausgeben eines Positionserkennungssignals, wenn das bewegliche Glied (73) eine erste Bezugsposition (HP) erreicht; und eine Antriebsbestätigungseinrichtung (50) zum Berechnen einer logischen Betriebsposition des beweglichen Gliedes (73) aus den ausgegebenen Steuerdaten, Bestätigen des Betriebszustands der Antriebseinheit durch Vergleichen der logischen Betriebsposition mit der tatsächlichen Betriebsposition anhand des Erkennungssignals und Ausgeben eines Betriebsfehlersignals, wenn zwischen der logischen und der tatsächlichen Betriebsposition fehlende Übereinstimmung erfaßt wird.
  7. Vorrichtung nach Anspruch 6, bei der die Antriebsbestätigungseinrichtung (50) eine Vergleichsdatenspeichereinheit (61, 65) aufweist, die einen Vergleichswert speichert; einen Zähler (63), der an einer zweiten Bezugsposition (S) des beweglichen Gliedes (73) initialisiert wird, um jedes der Zeit-abgelaufen-Signale zu zählen; und ein Vergleichsglied (64) zum Vergleichen des Zählwertes des Zählers (63) mit dem Vergleichswert; wobei der Betriebszustand der Antriebseinrichtung (7; 7'; 7, 74) auf der Grundlage der Ausgabe des Vergleichsgliedes festgestellt wird, wenn das Positionserkennungssignal empfangen wird.
  8. Vorrichtung nach Anspruch 7, bei der die Vergleichsdatenspeichereinheit (61, 65) aufweist: eine erste und eine zweite Vergleichsdatenspeichereinheit zum Speichern eines unteren bzw. eines oberen Grenzwertes für den Zählwert des Zählers (63), der gezählt wird, während sich das bewegliche Glied (73) von der zweiten Bezugsposition (S) zu der ersten Bezugsposition (HP) bewegt; wobei die Antriebsbestätigungseinrichtung (50) das Betriebsfehlersignal ausgibt, falls das Positionserkennungssignal empfangen wird, wenn der Zählwert geringer als oder gleich dem unteren Grenzwert oder größer als oder gleich dem oberen Grenzwert ist.
  9. Vorrichtung nach Anspruch 8, bei der die Antriebsbestätigungseinrichtung (50) das Betriebsfehlersignal als Unterbrechungssignal an die Datenerzeugungseinrichtung (1) ausgibt; und die Datenerzeugungseinrichtung (1) einen Fehlerbehandlungsprozeß entsprechend dem Betriebsfehler auf der Grundlage des Unterbrechungssignals durchführt.
  10. Vorrichtung nach einem der Ansprüche 6 bis 9, bei der ein Antriebsstopsignal zum Anhalten des Betriebs des Antriebsmechanismus auf der Grundlage des Betriebsfehlersignals ausgegeben wird.
  11. Vorrichtung nach einem der Ansprüche 6 bis 10, bei der die Antriebseinrichtung (7; 7'; 7, 74) einen Schrittmotor (7) aufweist; die Zeitdaten Zeitdaten zum Steuern einer Phasenänderungszeit des Motors sind; und die Steuerdaten Phasenmusterdaten sind, die gesetzt werden, wenn sich die Motorphase ändert, und Phasenstromdaten zum Steuern des dem Motor zugeführten Stroms, wenn sich die Motorphase ändert.
  12. Vorrichtung nach Anspruch 11, bei der das bewegliche Glied (73) ein vom Schrittmotor (7) angetriebener Schlitten ist.
  13. Vorrichtung nach einem der Ansprüche 6 bis 12, bei der das bewegliche Glied (73) ein Schlitten ist, der den Tintenstrahlkopf eines Tintenstrahldruckers trägt; und die Antriebsbestätigungseinrichtung (50) das Antriebsbestätigungsverfahren durchführt, wenn der Schlitten angetrieben wird, um einen Reinigungsvorgang des Tintenstrahlkopfes durchzuführen.
  14. Verfahren zum Steuern eines Antriebsmechanismus (5, 70) mit einer Antriebssteuereinrichtung (6) und einer von der Antriebssteuereinrichtung (6) gesteuerten Antriebseinrichtung (7; 7'; 7, 74), folgende Schritte aufweisend: (a) Erzeugen und Speichern mehrerer Datensätze, die je Steuerdaten zum Steuern der Antriebseinrichtung (7; 7'; 7, 74) und zugeordnete Zeitdaten zum Steuern des Zeitpunktes umfassen, zu dem die Steuerdaten an die Antriebssteuereinrichtung (6) ausgegeben werden, und Ausgeben eines ersten Startsignals; (b) als Reaktion auf das erste Startsignal, Lesen der Zeitdaten eines ersten der gespeicherten Datensätze und Setzen der gelesenen Zeitdaten in eine Zeitgebereinrichtung (4) durch Direktspeicherzugriff; (c) als Reaktion auf Schritt (b), Starten des Betriebs der Zeitgebereinrichtung (4) und Ausgeben eines Zeit-abgelaufen-Signals, wenn ein von den im Schritt (b) gelesenen Zeitdaten spezifiziertes Zeitintervall vorübergeht; (d) Lesen der Steuerdaten des ersten Datensatzes als Reaktion auf das Zeit-abgelaufen-Signal und Senden der gelesenen Steuerdaten an die Antriebssteuereinrichtung (6) durch Direktspeicherzugriff; (e) Lesen der Zeitdaten des nächsten Datensatzes und Wiederholen der Schritte (c) bis (e) auf der Grundlage der Zeitdaten des nächsten Datensatzes; und (f) Wiederholen des Schritts (e) bis alle Datensätze verarbeitet worden sind; dadurch gekennzeichnet, daß der Schritt (d) aufweist, ein zweites Startsignal auszugeben, wenn das Senden der Steuerdaten eines Datensatzes vollendet ist; und der Schritt (e) als Reaktion auf das zweite Startsignal ausgeführt wird.
  15. Verfahren nach Anspruch 14, bei dem die Steuerdaten in jedem Datensatz mehrere Arten Steuerdaten aufweisen, und bei dem der Schritt (d) aufweist: (g) sequentielles und individuelles Lesen jeder Art Steuerdaten von einer ersten Art bis zu einer letzten Art und Senden der gelesenen Steuerdaten an die Antriebssteuereinrichtung (6).
  16. Verfahren nach Anspruch 15, bei dem die Antriebseinrichtung (7; 7'; 7, 74) einen Schrittmotor (7) aufweist und die Zeitdaten Phasenänderungszeitdaten zum Ändern der Phase des Schrittmotors (7) sind; und die Steuerdaten Phasenmusterdaten und Phasenstromdaten zum Setzen des Phasenmusters und Phasenstroms im Zeitpunkt der Phasenänderung umfassen.
  17. Verfahren nach Anspruch 15, bei dem die Antriebseinheit ein Druckkopf ist und die Zeitdaten Zeitdaten zum Steuern der Kopfantriebszeit sind; und die Steuerdaten Kopfantriebstriggerdaten und Druckdaten aufweisen.
  18. Rechnerprogramm mit einem Befehlssatz und einem Datensatz, die eine Antriebssteuervorrichtung veranlassen, ein Verfahren nach irgend einem der Ansprüche 14 bis 17 durchzuführen.
  19. Maschinenlesbarer Datenträger mit einem Rechnerprogramm, aufweisend einen Befehlssatz und einen Datensatz, die eine Antriebssteuervorrichtung veranlassen, ein Verfahren nach irgendeinem der Ansprüche 14 bis 17 durchzuführen.
  20. Datenträger nach Anspruch 19, der eine CD, Diskette, Festplatte oder ein Magnetaufzeichnungsband ist.
DE60109354T 2000-05-12 2001-04-12 Vorrichtung zur Antriebsteuerung, Verfahren zur Steuerung eines Antriebmechanismus und Datenspeichermedium mit Computerprogram Expired - Lifetime DE60109354T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2000140541 2000-05-12
JP2000140541A JP4655328B2 (ja) 2000-05-12 2000-05-12 駆動機構制御装置、駆動機構の制御方法及びその記録媒体
JP2000158348A JP4631131B2 (ja) 2000-05-29 2000-05-29 駆動機構制御装置及びその制御方法
JP2000158348 2000-05-29

Publications (2)

Publication Number Publication Date
DE60109354D1 DE60109354D1 (de) 2005-04-21
DE60109354T2 true DE60109354T2 (de) 2006-04-27

Family

ID=26591801

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60109354T Expired - Lifetime DE60109354T2 (de) 2000-05-12 2001-04-12 Vorrichtung zur Antriebsteuerung, Verfahren zur Steuerung eines Antriebmechanismus und Datenspeichermedium mit Computerprogram

Country Status (9)

Country Link
US (1) US6848061B2 (de)
EP (1) EP1154341B1 (de)
KR (1) KR100575917B1 (de)
CN (1) CN1199114C (de)
AT (1) ATE291248T1 (de)
CA (1) CA2343830C (de)
DE (1) DE60109354T2 (de)
ES (1) ES2236078T3 (de)
HK (1) HK1041951B (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4144240B2 (ja) * 2002-04-12 2008-09-03 セイコーエプソン株式会社 制御装置および制御方法
JP3997172B2 (ja) 2002-04-26 2007-10-24 キヤノン株式会社 モータの制御装置、モータの制御方法、電子機器、記録装置およびモータドライバコントローラ
US7412400B1 (en) 2002-06-27 2008-08-12 Microsoft Corporation System and method for providing personal location information to location consumers from a location services server
US7102122B2 (en) * 2003-05-29 2006-09-05 Hewlett-Packard Development Company, L.P. Methods and means for using a photosensor as an encoder and a trigger
US7114014B2 (en) * 2003-06-27 2006-09-26 Sun Microsystems, Inc. Method and system for data movement in data storage systems employing parcel-based data mapping
US20040268082A1 (en) * 2003-06-27 2004-12-30 Michael Yatziv Method and system for parcel-based data mapping
US7401234B2 (en) * 2004-03-01 2008-07-15 Freescale Semiconductor, Inc. Autonomous memory checker for runtime security assurance and method therefore
US7503074B2 (en) 2004-08-27 2009-03-10 Microsoft Corporation System and method for enforcing location privacy using rights management
JP4533239B2 (ja) * 2005-05-24 2010-09-01 キヤノン株式会社 画像読取装置および画像形成装置
US7779288B2 (en) * 2007-03-19 2010-08-17 Kabushiki Kaisha Toshiba High resolution timer circuit and time count method for suppressing increase in storage capacity
JP2011161649A (ja) * 2010-02-04 2011-08-25 Ricoh Co Ltd 画像形成装置、サーボ制御装置、プログラム
US10409234B2 (en) * 2011-11-28 2019-09-10 Kyocera Corporation Power control apparatus, power control system, and power control method
JP5939236B2 (ja) * 2013-11-29 2016-06-22 株式会社デンソー モータ制御装置
CN109520745B (zh) * 2018-11-28 2021-03-23 北京新能源汽车股份有限公司 一种车辆上下车方便性的验证装置
CN112198818B (zh) * 2019-07-08 2022-05-13 浙江宇视科技有限公司 步进式驱动结构的控制方法、装置、设备及存储介质
CN111262484A (zh) * 2020-03-23 2020-06-09 杭州涂鸦信息技术有限公司 基于linux高精度定时器的步进电机控制方法及其系统和装置
JP7759200B2 (ja) * 2021-07-07 2025-10-23 キヤノン株式会社 駆動装置の制御方法、駆動装置、リソグラフィ装置、および物品の製造方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5790740A (en) * 1980-11-26 1982-06-05 Nec Corp Information transfer device
GB2136332B (en) * 1983-01-21 1986-09-03 Protocol Eng Ltd Improvements in or relating to computer controlled tools for the production of graphic material for use in colour printing or like processes
US5140340A (en) * 1991-01-30 1992-08-18 Eastman Kodak Company Apparatus and method for printing of images with compensation for dislocation of printing media
JPH0632018A (ja) * 1992-07-22 1994-02-08 Hitachi Ltd プリンタ印字ヘッドの自動調整機構
JPH06113595A (ja) 1992-09-29 1994-04-22 Casio Comput Co Ltd モータ制御装置
US5518324A (en) * 1993-01-29 1996-05-21 International Business Machines Corporation Platen to print head gap adjustment arrangement
US5583410A (en) * 1994-10-21 1996-12-10 Pitney Bowes Inc. Method and apparatus for multiplex control of a plurality of stepper motors
JP3625508B2 (ja) * 1994-12-27 2005-03-02 株式会社リコー 画像読取装置
JP3280556B2 (ja) * 1995-11-08 2002-05-13 カルソニックカンセイ株式会社 位置決め装置
JPH09289795A (ja) * 1996-04-22 1997-11-04 Canon Inc パルスモータ駆動装置及びその制御方法
US6075336A (en) * 1996-07-26 2000-06-13 Citizen Watch Co., Ltd. Drive mechanism for stepping motor in printer
JPH11289357A (ja) * 1998-04-01 1999-10-19 Japan Radio Co Ltd 受信データ処理方式

Also Published As

Publication number Publication date
KR20010104242A (ko) 2001-11-24
HK1041951A1 (en) 2002-07-26
US20010049754A1 (en) 2001-12-06
CN1324032A (zh) 2001-11-28
ES2236078T3 (es) 2005-07-16
EP1154341A2 (de) 2001-11-14
ATE291248T1 (de) 2005-04-15
EP1154341A3 (de) 2002-11-13
CA2343830A1 (en) 2001-11-12
CN1199114C (zh) 2005-04-27
HK1041951B (zh) 2005-12-02
US6848061B2 (en) 2005-01-25
CA2343830C (en) 2005-02-08
KR100575917B1 (ko) 2006-05-02
DE60109354D1 (de) 2005-04-21
EP1154341B1 (de) 2005-03-16

Similar Documents

Publication Publication Date Title
DE60109354T2 (de) Vorrichtung zur Antriebsteuerung, Verfahren zur Steuerung eines Antriebmechanismus und Datenspeichermedium mit Computerprogram
DE69422886T2 (de) Druckvorrichtung und Steuerungsverfahren dafür
DE3805137A1 (de) Thermodrucker fuer grafikaufzeichnungen
DE60030667T2 (de) Vorrichtung und Verfahren zur Motorsteuerung
DE3851560T2 (de) Bidirektionaler Seriendrucker.
DE2751534C2 (de) Aufzeichnungsvorrichtung zum punktweisen Aufzeichnen von Bildsignalen
DE3687610T2 (de) Apparat zum schrittweise zufuehren von papierbahnen in druckmaschinen.
DE69607241T2 (de) Biaxialdrucker
DE2439850A1 (de) Steuereinrichtung zum vorzeigen des textes in einem datendrucker
EP0104628B1 (de) Verfahren und Anordnung zum Darstellen von Zeichen
EP1105836A1 (de) Drucksystem zum bedrucken eines aufzeichnungsträgers mit zwei druckern sowie verfahren zum betrieb eines derartigen drucksystems
DE69903488T2 (de) Seriendrucker mit Wagenbeschleunigungssteuerung
EP0257570A2 (de) Verfahren zum Abgleich der Schreibdüsen eines Tintendruckkopfes in Tintenschreibeinrichtungen und Schaltungsanordnung zur Durchührung des Verfahrens
DE3750459T2 (de) Zeilendrucker.
DE2901215A1 (de) Druckvorrichtung zum drucken von zeichen in punktmatrixform
DE2711704A1 (de) Druckmaschinenanordnung
DE3002942C2 (de)
DE68913869T2 (de) Beschleunigungssteuerung für eine Druckkopfanordnung.
DE2940019C2 (de)
DE2642031C3 (de) Typenscheibendrucker
DE69208914T2 (de) Drucker mit mehreren Betriebsarten
DE60026931T2 (de) Ausrichtung von Ausdrucken
DE60007491T2 (de) Steuereinheit und Verfahren zur Steuerung eines Motors für einen Drucker und Steuerungsprogramm speicherndes Speichermedium
DE1940703B2 (de) Einrichtung zum steuerbaren Vorschub einer Papierbahn in einem Drucker
DE69308058T2 (de) Verfahren zum Betrieb eines Tintenstrahldruckkopfes

Legal Events

Date Code Title Description
8364 No opposition during term of opposition