DE4005042A1 - Architektur eines digitalen bewegungssteuerungselements hoher geschwindigkeit - Google Patents

Architektur eines digitalen bewegungssteuerungselements hoher geschwindigkeit

Info

Publication number
DE4005042A1
DE4005042A1 DE4005042A DE4005042A DE4005042A1 DE 4005042 A1 DE4005042 A1 DE 4005042A1 DE 4005042 A DE4005042 A DE 4005042A DE 4005042 A DE4005042 A DE 4005042A DE 4005042 A1 DE4005042 A1 DE 4005042A1
Authority
DE
Germany
Prior art keywords
switching
control
processor
buffer
control signal
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.)
Granted
Application number
DE4005042A
Other languages
English (en)
Other versions
DE4005042C2 (de
Inventor
John B Gabaldon
Daniel D Evans
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.)
Raytheon Co
Original Assignee
Hughes Aircraft Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hughes Aircraft Co filed Critical Hughes Aircraft Co
Publication of DE4005042A1 publication Critical patent/DE4005042A1/de
Application granted granted Critical
Publication of DE4005042C2 publication Critical patent/DE4005042C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-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 programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4141Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by a controller or microprocessor per axis
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33167Bus arbitration, switch computer to different memory
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33337For each axis a processor, microprocessor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34042Filter
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34076Shared, common or dual port memory, ram
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34205Modular construction, plug-in module, lsi module

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)
  • Control By Computers (AREA)
  • Control Of Position Or Direction (AREA)

Description

Die Erfindung betrifft Bewegungssteuerelemente und insbeson­ dere die Architektur zur digitalen Verarbeitung einer Schal­ tung, wie sie in solchen Steuerelementen verwendet wird.
Ein besonderer Parameter beim Entwurf eines Bewegungssteuer­ elementes bei der Anwendung von digitaler Verarbeitung ist die Länge der Abtastperiode, innerhalb welcher ein Bewe­ gungssteueralgorithmus berechnet wird. Wegen der Komplexität der vorgesehenen Steueralgorithmen, welche die gleichzeitige Steuerung von vielen Freiheitsgraden einbezieht, wird eine anwachsend kürzere Abtastperiode verlangt, um die Implemen­ tierung der Algorithmen zu ermöglichen.
Das primäre Problem bei Prozessorstrukturen von Bewegungs­ steuerelementen gemäß dem Stand der Technik ist, daß sie die verfügbare Prozessorleistung nicht effizient ausnutzen. Ins­ besondere kann ein Prozessor zeitweise abgeschalten werden, wenn auf seinen eigenen dualen Zugriffspeicher (RAM) zuge­ griffen wird. In anderen Fällen kann es für einen Prozessor erforderlich sein, vor dem Beginn von Berechnungsoperationen zu warten, während er mit der Übertragung vorangegangener Resultate zum Speicher fortfährt. In anderen Fällen hat die Lokalisierung des Speichers, welche für den dualen Zugriff verwendet wird, oder seine Zuordnung zu verschiedenen Pro­ zessoren, welche verschiedene Dimensionen steuern, einen langsamen Betrieb zur Folge.
Aufgabe der Erfindung ist es daher, Bewegungssteuerelemente zu verbessern.
Die Lösung der Aufgabe erfolgt durch die Merkmale des Anspruchs 1.
Weitere Vorteile der Erfindung ergeben sich aus den Merkma­ len der Unteransprüche.
Gemäß der Erfindung ist eine digitale Bewegungssteuerele­ ment-Architektur vorgesehen, worin eine Mehrzahl von Servo­ steuerungsmikroprozessoren jeweils mit Bahnpfaddaten (trajektory path data) für ihren jeweiligen Bewegungsgrad durch ein Bahnsteuerelement über einen gemeinsamen Bus ver­ sorgt wird. Jeder Mikroprozessor des Servosteuerelements ist einer besonderen Dimension der Bewegung zugeordnet und besitzt einen eng damit verbundenen eigenen dualen Zugriffs­ speicher und eine Entscheidungsvorrichtung, um den Zugriff zu dem dualen Zugriffsspeicher zwischen dem Mikroprozessor des Servosteuerelements und dem gemeinsamen Bus effektiv zu­ zuweisen. Die Entscheidungsvorrichtung funktioniert derart, daß der Mikroprozessor des Servorsteuerelements eine höhere Priorität zum Lesen und Schreiben des dualen Zugriffsspei­ chers (RAM) als das Bahnsteuerelement besitzt, wodurch dem Mikroprozessor des Servosteuerelements erlaubt wird, so schnell wie möglich zu arbeiten.
Es ist eine vorteilhafte Weiterbildung der Erfindung, eine verbesserte Architektur zur Implementierung eines digitalen Bewegungssteuerelementes vorzusehen.
Eine andere vorteilhafte Weiterbildung der Erfindung ist es, die Betriebsgeschwindigkeit von digitalen Bewegungs­ steuerelementen zu erhöhen.
Eine andere vorteilhafte Weiterbildung der Erfindung ist es, die Effizienz zu erhöhen, mit welcher Mehrfachprozessoren in einem digitalen Bewegungssteuerelement verwendet werden kön­ nen.
Weitere Einzelheiten, Aspekte und Vorteile der vorliegenden Erfindung ergeben sich aus der nachfolgenden Beschreibung unter Bezugnahme auf die Zeichnung. Es zeigt
Fig. 1 ein Systemblockdiagramm, welches eine bevorzugte Ausführungsform erläutert;
Fig. 2 ein Schaltungsblockdiagramm, welches gemäß der vor­ zugsweisen Ausführungsform eine Dimensionssteuer­ schaltung erläutert;
Fig. 3 ein Systemblockdiagramm, welches die Struktur und den Betrieb der Entscheidungsvorrichtung der vor­ zugsweisen Ausführungsform erläutert;
Fig. 4 ein Flußdiagramm, welches den Betrieb eines Ent­ scheidungsvorrichtungsmoduls gemäß der vorzugsweisen Ausführungsform erläutert;
Fig. 5 ein Zeitsteuerungsdiagramm, welches die Zeitsteue­ rung des Zugriffsbetriebes in der vorzugsweisen Aus­ führungsform erläutert;
Fig. 6 ein schematisches Blockdiagramm eines Bewegungs­ steuerungsprozesses; und
Fig. 7 und 8 Flußdiagramme zur Implementierung des Pro­ zesses von Fig. 5 in einen digitalen Prozes­ sor.
Die vorzugsweise Ausführungsform wird in Fig. 1 und 2 erläu­ tert. Fig. 1 zeigt ein Systemsteuerelement 11, welches Systemadressen, Daten- und Steuersignale über einen System­ bus 13 einer Mehrzahl von Steuerplatinen 15, 17, 19 bereit­ stellt. Jede Steuerplatine 15, 17, 19 steuert eine bestimmte Achse oder eine bestimmte Dimension der Bewegung.
Jede der Steuerplatinen 15, 17, 19 enthält eine DAR-Einheit 21 (dual access RAM) und einen Digitalfilter 23, welcher durch einen Mikroprozessor 24 (Fig. 2) implementiert ist. Die DAR-Einheit 21 enthält einen dualen Zugriffsspeicher (RAM) 25 (Fig. 2), welcher verwendet wird, um Daten zwischen dem Bus 13 und dem Mikroprozessor 24 zu übertragen. Jeder RAM 25 hat seinen eigenen alleinigen Satz Adressen.
Das Systemsteuerelement 11 kann gespeicherte Pfaddaten bereitstellen oder, wie in Fig. 1 gezeigt, kann ein (Bahn-) Steuermikroprozessor 500 und einen "Ein-Tiefe"-Leitungspuf­ fer 501) ("one deep" pipeline buffer) enthalten, um Pfadda­ ten in Realzeit von einer Pfaddefinitionssprache hoher Stufe zu berechnen, wie es nach dem Stand der Technik bekannt ist. Ein solcher Mikroprozessor 500 führt typischerweise einen aufeinanderfolgenden "Berechnungs- Schreib"-Betrieb durch, worin zuerst eine Pfadposition berechnet wird, dann zuerst der Puffer 501 beschrieben wird, und dann aus dem Puffer 501 eine der Steuerplatinen 15, 17, 19 beschrieben wird.
Im Gesamtbetrieb liefert das Systemsteuerelement 11 dem Bus 13 für jede Dimension der Bewegung Pfaddaten zusammen mit der Adresse der Steuerplatine 15, 17, 19, auf welche sich die Pfaddaten beziehen. Die Pfaddaten bestimmen die gewünschte Bahn der Systemanlage in jeder einzelnen Dimen­ sion. Die an den Bus 13 gelieferte Adresse wird von der DAR- Einheit 21 der Adreßplatine verwendet, um Pfaddaten zu erhalten und zu speichern.
Danach greift ein digitaler Filter 23 zu, um die gespeicher­ ten Daten wiederzuerlangen. Der digitale Filter 23 führt unter Verwendung der Pfaddaten einen Bewegungssteueralgo­ rithmus aus, um ein Signal zur Bewegungssteuerung der Systemanlage zu erzeugen. In der gezeigten Ausführungsform erzeugt der digitale Filteralgorithmus ein Bewegungssteuer­ signal, welches durch einen Verstärker 29 verstärkt wird und einem Motor 234 zugeführt wird, welcher die Bewegung der Anlage steuert. Ein Positionskodierer 235, beispielsweise eine Kodierscheibe, wird verwendet, um ein Positionsrück­ kopplungssteuersignal zu entwickeln, zur Verwendung bei der Durchführung des Steueralgorithmus.
Ein durch den digitalen Filter 23 implementierbarer Steuer­ algorithmus ist in Fig. 7 und 8 gezeigt und wird hiernach detailliert dargestellt. Der Steueralgorithmus wird einmal je Abtastperiode durch den digitalen Filter 23 ausgeführt. Der Algorithmus erfordert Pfaddaten X k-1 . . . X k-n von dem Systemsteuerelement 11 und Speicherung von Zwischenergebnis­ sen, welche von dem lokalen Mikroprozessor 24 (Digitalfil­ ter) berechnet wurden. Daher bezieht sich die Länge der Abtastperiode direkt auf die Frequenz, mit der Abweichungen vom gewünschten Pfad korrigiert werden, und daher ebenfalls auf die Genauigkeit einer solchen Steuerung. Entsprechend machen der Systembus 13 und die DAR-Einheit 21 die Pfaddaten dem digitalen Filter 23 innerhalb der Abtastperiode verfüg­ bar. Die DAR-Einheit 21 kann während der Berechnung des Algorithmus durch den digitalen Filter 23 ebenfalls Zwischenergebnisse speichern.
Die Struktur der DAR-Einheit 21 ist schematisch in Fig. 2 dargestellt. Wie in Fig. 2 gezeigt, enthält die DAR-Einheit 21 einen RAM 25, erste und zweite durchschaltende (gating) Puffer 31, 33 und eine Entscheidungsschaltung 35. Der erste durchschaltende Puffer 31 empfängt vom Systembus 13 Signal­ leitungen 37. Die Signalleitungen 37 liefern Pfaddaten, wel­ che durch den RAM gespeichert werden sollen. Der zweite durchschaltende Puffer 33 tauscht Daten zwischen dem RAM 25 und dem lokalen Mikroprozessor 24. Die durchschaltenden Puf­ fer 31, 33 kommunizieren mit dem RAM 25 über entsprechende bidirektionale Busse 41, 43, während der zweite durchschal­ tende Puffer 33 mit dem Mikroprozessor 24 über einen bidi­ rektionalen Untersystemdatenbus 45 kommuniziert. Die durch­ schaltenden Puffer 31, 33 bestimmen nur die Busisolation. Sie schalten Daten in oder aus dem Speicher 25 heraus, aber sie speichern sie nicht.
Die lokale Entscheidungsvorrichtung 35 erhält Eingänge über zwei unidirektionale Busse 47, 49. Der erste Bus 47 führt der Entscheidungsvorrichtung 35 eine Datenzugriffsanforde­ rung und Steuersignale von dem Systemdatenbus 13 zu. Der zweite Bus 49 führt der Entscheidungsvorrichtung 35 eine Datenzugriffsanforderung und Steuersignale von dem lokalen Mikroprozessor 24 zu.
Erste und zweite Freigabeleitungen 51, 53 gehen von der Ent­ scheidungsvorrichtung 35 aus. Die erste Freigabeleitung 51 führt dem ersten durchschaltenden Puffer 31 ein Freigabesi­ gnal zu, welches die Datenübermittlung zwischen dem durch­ schaltenden Puffer 31 und dem RAM 25 freigibt. Die zweite Freigabesignalleitung 53 führt dem zweiten durchschaltenden Puffer 33 ein Freigabesignal zu, welches eine Datenübertra­ gung zwischen dem durchschaltenden Puffer 33 und dem RAM 25 freigibt.
Auf diese Weise steuert die Entscheidungsvorrichtung 35, ob das Systemsteuerelement 11 oder der lokale Mikroprozessor 24 den Zugriff auf den dualen Zugriffsspeicher 25 erhält, abhängig davon, welcher durchschaltende Puffer 31, 33 ihn über die Freigabeleitungen 51, 53 freigibt. Die Entscheide­ vorrichtung 35 verwendet eine Zugriffsregel, welche dem lokalen Mikroprozessor 24 Priorität gibt. Das heißt, immer wenn der lokale Mikroprozessor 24 Zugriff auf den RAM 25 anfordert, wird die Datenübermittlung in den durchschalten­ den Puffer 31 unmittelbar nach der Beendigung des laufenden Datenzyklus abgeschalten. Jegliche Datenausgabe durch den Bahnprozessor 500, die während einer Übermittlung zwischen dem zweiten durchschaltenden Puffer 33 und dem RAM 25 gemacht wird, wird in dem Leitungspuffer 501 gespeichert, wie hiernach detailliert erläutert wird, und die Durchfüh­ rung der darauf bezogenen Datenzugriffsanforderung durch die Entscheidungsvorrichtung 35 wird verzögert, bis die Über­ mittlung durch den Mikroprozessor 24 vollendet ist.
Wenn demgemäß eine Datenübermittlung in den RAM 25 verlangt wird, empfängt die Entscheidungsvorrichtung 35 eine Datenzy­ klusanforderung von dem Mikroprozessor 24 oder auf den Lei­ tungen 47 von dem Bus 13. Die Entscheidungsvorrichtung 35 steuert die Übermittlung in die geeignete Adreßlokalisierung durch die durchschaltenden Puffer 31, 33 über die Freigabe­ leitungen 51, 53. Wenn ähnlich eine Datenübermittlung aus dem RAM 25 heraus verlangt wird, wird durch die Entschei­ dungsvorrichtung 35 eine Datenzugriffsanforderung für eine Übermittlung nach außen erhalten, und die entsprechenden Freigabeleitungen 51, 53 werden aktiviert, um die Übermitt­ lung aus einem der entsprechenden Puffer 31, 33, freizuge­ ben, wobei wiederum die Priorität der Übermittlung dem loka­ len Mikroprozessor 24 gegeben ist, welcher die digitale Fil­ terprozedur durchführt.
In der Ausführungsform, welche von dem "Ein-Tiefe"-Leitungs­ puffer 501 Gebrauch macht, speichert der Steuerprozessor 500 ein vollständiges Datensegment in den Puffer 501, beispiels­ weise ein 32 Bit breites Berechnungsergebnis, und führt danach seinen nächsten Befehl aus. Der Leitungspuffer 501 greift danach auf den Systembus 13 zu und stellt der Entscheidungsvorrichtung 35 eine Anforderung auf DAR- Zugriff. Dieses Merkmal erlaubt dem Steuerprozessor 500 mit der Berechnung fortzufahren, während seine zuletzt berechne­ ten Daten übermittelt werden. Da der RAM 25 verglichen mit der Rechengeschwindigkeit des Steuerprozessors 500 sehr schnell ist, kann der Mikroprozessor 24 eine Datenübermitt­ lung von/zu dem RAM 25 (Lese- oder Schreibzyklus) vollenden, bevor der Steuerprozessor 500 seine nächste Berechnung fer­ tigstellt. Aus demselben Grund kann der Leitungspuffer 501 eine Datenübermittlung zu dem RAM (nur Schreibzyklue) voll­ enden, bevor der Steuerprozessor 500 seine nächste Berech­ nung fertigstellt. Während eines Lesevorgangs des RAM 25 durch den Steuerprozessor 500 besteht jedoch unmittelbar vor der nächsten Berechnung der Bedarf an Daten; daher wartet der Steuerprozessor 500, bis er Zugriff auf den RAM 25 hat. Dieses Warten dauert typischerweise nicht länger als ein Mikroprozessor-Datenübermittlungszyklus an den RAM 25. Die Architektur macht sich das intensive "berechne, dann schreibe"- Durchlaufen des Steuerprozessors zunutze.
Hardwaremäßig ist der Systembus 13 als Standard-VEM-Bus gestaltet und entspricht dem Stand der Technik. Die Puffer 31, 33 werden jeweils durch 74ALS875- und 74ALS645-Schaltun­ gen gebildet, welche von Texas Instruments, Dallas, Texas, hergestellt werden. Der RAM 25 wird durch sehr schnelle sta­ tische RAM-Chips (2K×8×4), Teile-Nr. CYC 129-35, herge­ stellt von der Cypress Semiconductor Corporation, gebildet. Der lokale Mikroprozessor 24 kann ein MC 68000 von Motorola sein und mit 12,5 MHz betrieben werden.
Die Systementscheidungsvorrichtung 35 ist implementiert mit PLD-Zustandsmaschinen (Programmable Logic Devise state machines), um dem lokalen Mikroprozessor 24 zu erlauben, auf den dualen Zugriffsspeicher 25 ohne Verzögerung (keine War­ tezustände) zuzugreifen. Die Zustandsmaschinenimplantation paßt die Zeitsteuerungsabtastimpulse, welche von dem VME-Bus 13 erfordert werden, den Zeitsteuerungsbedarf der einzelnen Puffer und der verwendeten Speicherschaltkreise an. Die Art und Weise der Implementierung der Entscheidungsvorrichtung als PLD-Zustandsmaschine wird detailliert in Verbindung mit Fig. 3 und 4 erläutert.
Gemäß Fig. 3 empfängt ein Entscheidungsmodul 83 Mikroprozes­ sor-DAR-Anforderungen auf einer Leitung 80 und Steuerele­ ment-DAR-Anforderungen auf einer Leitung 81. Die Anforderun­ gen auf den Leitungen 80 und 81 kommen jeweils von einem Steuerelement-DAR-Anforderungsdekoder 79 und von einem loka­ len Mikroprozessor-DAR-Anforderungsdekoder 77. Der Steuer­ elementdekoder 79 empfängt Adreßsignale einschließlich eines Adreß- und eines Übermittlungssteuersignals (Adreßabtastim­ puls) auf Leitungen 78 von dem VME-Bus 13. Der lokale Mikro­ prozessordekoder 77 empfängt Adreßsignale einschließlich eines Adreß- und eines Übermittlungssteuersignals auf Lei­ tungen 76. Die Dekoder 77, 79 bestimmen, daß Zugriff auf den RAM 25 gesucht wird, und erzeugen das DAR-Anforderungssignal auf den passenden Ausgangsleitungen 80, 81 dem Entschei­ dungsmodul 83. Das Entscheidungsmodul 83 kann darauf eine Zugriffsbewilligung für den lokalen Mikroprozessor 24 oder das Steuerelement 11, wie durch die jeweiligen Leitungen 84, 82 angezeigt, den jeweiligen PLD(programmable logic device)- Schaltkreisen 85, 87 mitteilen.
Ein Bus 91 verläßt das erste PLD 85 und führt dem DAR-Spei­ cher (RAM) 25 über Leitungen 95 Zeitsteuersignale (Lesen/Schreiben und Byteauswahl) zu. Das PLD 85 führt zusätzlich dem durchschaltenden Puffer 33 auf der Leitung 53 ein Öffnungs/Schließ-Signal und einem Schalter 93 auf einer Leitung 86 ein "Passieren"-Signal zu. Schließlich tauscht das PLD 85 mit dem lokalen Mikroprozessor 24 über den loka­ len Bus 49 Steuer-, Quittierungs- und Zeitsteuerungssignale aus. Die durch das PLD 85 bereitgestellten Zeitsteuerungs­ signale führen die Lese/Schreib-Zeitsteuerungsanforderungen des durchschaltenden Puffers 33, des Adressenschalters 93, des Speicherbauteils 25 und des lokalen Mikroprozessors 24 aus, wie von den Herstellern angegeben. Das Öff­ nen/Schließsignal bewirkt jeweils das Öffnen und das Schließen des Datenbus zwischen dem lokalen Mikroprozessor 24 und dem RAM 25. Das "Passieren"-Signal läßt die RAM- Adresse, welche von dem lokalen Mikroprozessor 24 erzeugt wurde, zu den Adreßleitungen des RAM 25 über den Schalter 93 durch.
Wenn das Entscheidungsmodul 83 dem Steuerelement 11 über den VME-Bus 13 den Speicherzugriff gewährt, führt der PLD- Schaltkreis 87 dem RAM 25, dem durchschaltenden Puffer 31 und einem Adreßschalter 94 die erforderlichen Zeitsteuer­ signale zu. Ebenso werden dem Leitungspuffer 501 Signale zugeführt, welche erforderlich sind, um das VME-Bus Stan­ dardprotokoll anzupassen, d. h. Quittierungssignale. In die­ ser Verbindung gibt ein PLD 87 ein Öffnen/Schließsignal an den Datenbus durchschaltenden Puffer 31, RAM-Zeitsteuer­ signale (Lesen/Schreiben und Byteauswahl) über Leitungen 101, ein "Passieren"-Signal auf einer Leitung 88, und Steuer-, Quittierungs- und Zeitsteuersignale über den VME- Bus 13. Die Leitungen 101 und 88 weisen einen Bus 92 auf, welcher von dem PLD 87 ausgeht.
Der durchschaltende Puffer 31 öffnet oder schließt den Datenpfad zwischen dem VME-Bus 13 und dem RAM 25 in Abhän­ gigkeit davon, ob das Steuersignal den Öffnen- oder den Schließzustand verlangt. Wie durch die Balken über den Aus­ drücken "Öffnen" und "Schließen" in Fig. 3 angezeigt, ist kein gleichzeitiger Zugriff durch den lokalen Mikroprozessor 24 und das Steuerelement 11 gestattet (obwohl gleichzeitige Anforderungen geschehen können). Der Schalter 94 läßt eine RAM-Adresse vom VME-Bus 13 (Steuerelement 11) zu den Adreß­ leitungen des RAM 25 als Antwort auf das "Passieren"-Signal vom PLD 87 durch.
Die Schalter 93, 94 werden vorzugsweise als 74F257-Multiple­ xer, hergestellt von der Signetics Corporation, ausgeführt. Die PLD′s 83, 85, 87 können die integrierten Schaltkreise GAL208-15, GALl68-15, hergestellt von der Lattice Semicon­ ductor Corporation, sein.
Das Entscheidungsmodul 83 ist ebenfalls implementiert als PLD-Zustandsmaschine. Ein Flußdiagramm, welches den Betrieb und die Struktur des Entscheidungsmoduls 83 erläutert, wird in Fig. 4 gezeigt. Das Entscheidungsmodul wird mit einem Schritt 61 durch Einschalten oder Reset funktionell. Von dort schreitet der Fluß zum Block 63 voran, wo sich das Modul 83 in einem Zustand befindet, welcher als Zustand A bezeichnet wird. In diesem Zustand wird der Zugriff weder dem Steuerelement 11 noch dem lokalen Mikroprozessor 24 gewährt. Zustand A kann sich daher auf den Nullzustand beziehen. Im Zustand A erwartet das Entscheidungsmodul 83 entweder eine Mikroprozessor-DAR-Anforderung oder eine Zugriffsanforderung des Steuerelements, wie mit den Schrit­ ten 65 und 67 angezeigt. In Zustand A ist die Schaltung von Fig. 3 derart gestaltet, daß mit der Ausführung der DAR- Anforderung von Mikroprozessor 24 unmittelbar auf den Empfang der DAR-Anforderung begonnen wird. Demgemäß ist im Zustand A der Schalter 93 geöffnet, der Schalter 94 geschlossen und ein logischer Steuerpegel, welcher vom Puffer 33 verlangt wird, wird bereits zugeführt. Auf diese Weise läßt die Entscheidungsvorrichtung 35 eine Unterbre­ chung zu (arbiter 35 is "armed"), gibt jedoch den durch­ schaltenden Puffer 33 zum Datenzugriff nicht frei. Der Zustand des Bereitseins gestattet dem RAM 25 sofortigen Zugriff (keine Wartezustände), sollte die Prioritätsanforde­ rung ankommen. Da auf den Schritt 65 der Schritt 67 folgt, wird dem lokalen Mikroprozessor 24 die Priorität gewährt.
Wenn der lokale Mikroprozessor 24 den RAM-Zugriff verlangt, begibt sich das Entscheidungsmodul 83 in den Zustand B, wie mit Block 69 angezeigt. Danach stellt das PLD 85 den Mikro­ prozessor-Zugriffsbewilligungsstatus auf Leitung 84 fest und beginnt den Betrieb seiner Zustandsmaschine, um die Steuer­ und Zeitsteuerungsanforderungen auszuführen, wie in Verbin­ dung mit Fig. 3 erläutert. Wenn die Zugriffsbewilligung des lokalen Mikroprozessors 24 mit dem Schritt 71 noch ausge­ führt wird, verbleibt das Entscheidungsmodul 83 im Zustand B, wie durch die "Ja"-Signalleitung angezeigt. Wenn der Ein­ gang des Entscheidungsmoduls 83 mit dem Schritt 71 keine DAR-Anforderung empfängt, kehrt das Entscheidungsmodul 83 in den Zustand A zurück. Wenn zwar der Schritt 65, jedoch nicht der Schritt 67 erfüllt ist, begibt sich das Entscheidungsmo­ dul in den Zustand C, Block 73, wobei das PLD 87 aktiv wird, um Zeitsteuerungs- und Quittungssignale zu erzeugen, welche erfordert werden, um zwischen dem VME-Bus 13 und dem RAM 25 eine Datenübermittlung auszuführen. Im Zustand C überwacht das Entscheidungsmodul 83 den Zustand der DAR-Anforderung des Steuerelements während einer Übermittlung, wie im Schritt 75 angezeigt. Wenn die Steuerelement-DAR-Anforderung inaktiv ist, kehrt der Fluß zum Zustand A zurück. Wenn die Steuerelement-DAR-Anforderung noch aktiv ist, verbleibt die Maschine in Zustand C.
Während der Datenübermittlung läuft ein Hochgeschwindig­ keitstakt, und die Steuerelement-DAR-Anforderungsleitung wird viele Male mit dem Test 75 während dieses Taktes getestet. Wenn eine Datenübermittlung abgeschlossen ist, wird der Schritt 75 mit dem Zustand A beendet. Ähnlich wird die DAR-Anforderungsleitung viele Male mit einem Test 71, veranlaßt durch den Hochgeschwindigkeitstakt, getestet, und der Schritt 71 wird beendet, nachdem eine lokale Mikropro­ zessordatenübermittlung beendet ist.
Ein Merkmal des Mikroprozessors MC 68000 von Motorola, ver­ wandt als lokaler Mikroprozessor 24, stellt sicher, daß dem Steuerelement 11 nicht für eine längere Zeitperiode der Zugriff versagt wird, und stellt auf diese Weise die Ausfüh­ rung der Aufgabe sicher, dem Steuerelement 11 die Ausgabe der Pfadinformation so schnell zu gestatten, wie sie der lo­ kale Mikroprozessor 24 verwenden kann. Der Mikroprozessor MC 68000 läuft bei einer Taktrate von 12,5 MHz und kann keine andere Datenübermittlungsanforderung erheben für mindestens drei Viertel einer Mikroprozessortaktperiode nach einer Übermittlung von Daten, einem Operanden oder einem Befehl. Der Takt der Entscheidungsvorrichtung läuft mit 25 MHz zwei­ mal so schnell wie der Mikroprozessortakt. Da die Schritte 71, 75 bei jedem Taktzyklus der Entscheidungsvorrichtung durchgeführt werden, wird die Maschine zum Zustand A zurück­ kehren und eine Datenzugriffsanforderung im Wartezustand vom Steuererlement 11 feststellen, bevor der lokale Mikroprozes­ sor 24 eine andere Anforderung erheben kann. Der Leitungs­ puffer 501 verwendet diesen Betriebsmodus ebenfalls, so daß, wenn sich das Entscheidungsmodul im Zustand C befindet, eine wartende lokale Mikroprozessoranforderung festgestellt wird, bevor vom Steuerelement 11 eine Anforderung erhoben werden kann.
Der Leitungspuffer 501 kann durch eine integrierte Schaltung 74ALS646, hergestellt von Texas Instruments, gebildet sein und einer Folgerschaltung zugeordnet sein, welche ebenfalls mit programmierbaren logischen Bauteilen implementiert wer­ den kann. Die folgende Schaltung steuert nicht nur die Zeit­ steuerung, welche von der ALS646-Schaltung gefordert wird, sondern steuert ebenfalls die Folge der Ereignisse, die geschehen müssen, um Daten über den Bus 13 zu erhalten. Wenn insbesondere der Steuerprozessor 501 versucht, auf den RAM 25 zuzugreifen, während der lokale Mikroprozessor 24 auf den RAM 25 zugreift, verbleibt der Puffer 501 auf dem Bus 13, hält seine DAR-Anforderung aufrecht, bis der Mikroprozessor 24 seinen Zugriff beendet hat, und verhindert, daß der Steuerprozessor 500 den Leitungspuffer 501 überschreibt.
Fig. 5 erläutert die Zeitsteuerung des mit dem RAM 25 verbundenen Zugriffsbetriebs. Fig. 5A zeigt den Takt der Entscheidungsvorrichtung, wobei jede ansteigende Flanke der Taktpulse mit t 1, t 2, t 3 . . . t 8 bezeichnet ist. An der Flanke t 2 verlangen der Systembus 13 und der Mikroprozessor 24 beide gleichzeitig den Zugriff. Das Ergebnis ist ein Übergang vom Zustand A in Zustand B. Der durchschaltende Puffer 33 und der RAM 25 werden freigegeben, und eine Daten­ übermittlungsbestätigung wird durch das Zeitsteuerungsmodul (PLD) 85 erhoben, um dem lokalen Mikroprozessor 24 anzuzei­ gen, daß Daten zur Übermittlung verfügbar sind. An der Flanke t 3 wird die Quittierung von dem lokalen Mikroprozes­ sor 24 erkannt, und die Daten werden übermittelt. Das Zeit­ steuerungsmodul 85 schaltet den durchschaltenden Puffer 33 ab, beendet die Quittierung, und es findet ein Übergang vom Zustand B zum Zustand A statt.
An der Flanke t 4 findet ein Übergang vom Zustand A zum Zustand C statt. An der Flanke t 5 werden der durchschaltende Puffer 31 und das RAM 25 durch das Zeitsteuerungsmodul 87 freigegeben. An der Flanke t 6 erzeugt das Zeitsteuerungsmo­ dul 87 eine Quittierung (Datenübermittlungsbestätigung), und es geschieht eine Datenübermittlung mit dem Systembus 13. An der Flanke t 7 wird die Quittierung mit dem Systembus durch das Zeitsteuerungsmodul 87 und den Leitungspuffer 501 abge­ schalten. Der RAM 25 und der durchschaltende Puffer 31 wer­ den durch das Zeitsteuerungsmodul 87 ebenfalls abgeschalten, und es findet ein Übergang vom Zustand C zum Zustand A statt. An der Flanke t 8 liegt jetzt keine Anforderungsakti­ vität vor, und die Vorrichtung verbleibt im Zustand A.
Bezüglich des oben dargestellten Betriebes muß betont wer­ den, daß beim Übergang vom Zustand A auf den Zustand B die Datenübermittlung unmittelbar beginnt, da sich viele der Freigabe- und Steuersignale schon im richtigen logischen Pegel befinden, um, wie oben erwähnt, eine Datenübermittlung zu initiieren. Ein Übergang vom Zustand A zum Zustand C erfordert mehr Taktflanken, um eine Datenübermittlung zu beginnen, da Freigabe- und Steuersignale zur Unterbrechung zugelassen wurden, um eine Datenübermittlung zu dem lokalen Mikroprozessor 24 zu initiieren, jetzt jedoch in einer aus­ gewählten Folge umgeschalten werden müssen, um die Hardware- Zeitsteuerungserfordernisse der Zeitsteuerungsmodule 85, 87, des durchschaltenden Puffers 31, des Adreßschalters 94 und des RAM 25 zu erfüllen.
Eine Erläuterung eines Verfahrens, durch welches der lokale Mikroprozessor 24 zur Bewegungssteuerung in einer festgeleg­ ten Dimension ein Steuersignal erzeugen kann, wird in Fig. 6 gezeigt. Fig. 6 zeigt ein Pfadgenerator 213, welcher über jeweilige Ausgangsleitungen 214, 215 gewünschte Pfadposi­ tionsdaten X k-1, X k , X k+1 und X k ausgibt. Die Pfaddaten X k-n stellen die Pfadpositionsdaten für eindimensionale Pfadbewe­ gung dar.
Die Ausgangsleitung 214 des Pfadgenerators 213 ist an den Eingang eines Berechnungselementes 217 angeschlossen, welcher auf die Pfaddaten eine Übertragungsfunktion l/G(Z) anwendet und eine rückführungslose Steuerspannung U offene Schleife (k) über eine Leitung 218 ausgibt. Die Leitung 215 ist als Eingang an eine Additionsschaltung 227 angeschlos­ sen, welche auf einer Leitung 216 an ein Berechnungselement 221 ein Fehlersignal E k ausgibt. Das Berechnungselement 221 wendet auf den Eingang E k eine Rückkopplungssteuerübertra­ gungsfunktion D(Z) an und gibt eine Rückkopplungssteuerspan­ nung U Rückkopplung(k) auf einer Leitung 219 aus. Die Leitungen 218 und 219 sind an eine Additionsschaltung 229 angeschlossen, welche die rückführungslose Steuerspannung U offene Schleife (k) und die Rückkopplungssteuerspannung U Rückkopplung (k) addiert, um auf einer Leitung 231 eine gesamte Ausgangssteuerspannung U gesamt (k) zu erzeugen. Die Leitung 231 ist an eine reale An­ lage 225 angeschlossen, welche eine tatsächliche Pfadlokali­ sierung oder Positionierung Y k zu Folge hat, was auf einer Leitung 260 ausgegeben wird. Die reale Pfadlokalisierung Y k wird ebenfalls zu der ersten Additionsschaltung 227 zurück­ geführt und vom verlangten Pfadsignal X k subtrahiert, um das rückgekoppelte Fehlersignal E k (E k =X k -Y k ) zu liefern. Die Übertragungsfunktion der realen Anlage 225 wird reprä­ sentiert durch G*(Z).
Die Übertragungsfunktion lautet beispielsweise
wobei G*(Z) eine Anlage repräsentiert, welche einen Span­ nungsmodusverstärker, einen Motor, eine Last und einen Kodierer umfaßt, wie beispielsweise in Fig. 1 erläutert.
Bei der Anwendung der beschriebenen rückführungslosen und rückgekoppelten Steuerung auf ein digitales Servopositionie­ rungssystem für ein Drahtbondgerät ist die Rückkopplungs­ steuerung, D(Z), eine Standard-Nacheil/Voreil-Steuerung (standard lead-log control), welche auf einem gegenwärtigen Fehler basiert und in einer Differenzgleichung folgender Form implementiert ist
U Rückkopplung (k) = (A₁) Fehler k - (A₂) Fehler k-1 + (A₃) U Rückkopplung (k-1),
wobei die Parameter A 1, A 2, A 3 ausgewählt werden, um ein stabiles System zu liefern. Während in diesem Fall eine Vor­ teil/Nachteil-Steuerung verwendet wird, kann die Rückkopp­ lungssteuerung irgendeine Steuerung konventioneller Art sein, wie sie in der Industrie verwendet wird.
Die rückführungslose Steuerung wird erzeugt durch Lösen einer Differenzgleichung, welche vom Anlagemodell G(Z) abge­ leitet wird, welches die Dynamik eines Gleichstrommotors, eines Verstärkers, einer Führungsschraube, einer Last und eines Kodierers repräsentiert. Die Differenzgleichung der offenen Schleife wird gelöst für
U offene Schleife (k) = (B₁) X k+1 - (B₂) X k + (B₃) X k-1 + (B₄) U offene Schleife (k-1).
Eine Gleichung dieser Form wird nicht-kausal genannt, da die Berechnung der gegenwärtigen Steuerung U offene Schleife (k), die Kenntnis eines zukünftigen Geschehnisses, nämlich X k-1, erfordert. Nicht-kausale Gleichungen können bei Rückkopp­ lungssteuerung nicht verwendet werden, da ein zukünftiger Fehler E k+1 nicht bekannt ist. Die Berechnung der offenen Schleife verlangt jedoch einen zukünftigen Zielpunkt X k+1 entlang des Pfades. In digitalen Positionierungssystemen wie diesem werden die Zielpositionen vorausberechnet unter Ver­ wendung von trapezförmigen Geschwindigkeitsprofilen und sind somit verfügbar. Wenn die Zielpositionen im voraus nicht bekannt sind, könnte der Zielbefehl eine Abtastperiode ver­ zögert werden. So würde das nächste Ziel eine Abtastperiode, bevor es verlangt sein würde, bekannt sein.
Zur Erläuterung, es kann eine Differenzgleichung gefunden werden, welche U k für X k+1 für die in Fig. 2 gezeigte Anlage voraussagt. Die Übertragungsfunktion G*(Z) wird wie folgt invertiert:
Vereinfacht liefert Gleichung (2):
U k = 1/k [X k+1 - (1+B)X k + (B)X k-1 + (KA)U k-1]. (3)
Auf diese Weise ist U k ein vorwärtsgekoppelter Wert (feed­ forward value), welcher von den Anlageparametern (Dynamik) und der nächsten verlangten Position X k+1 abhängt. Gleichung (3) ist implementiert durch ein Berechnungselement 217 von Fig. 6. Gleichung (3) kann ebenfalls wie folgt in Ausdrücken der Geschwindigkeiten V n rückgeschrieben werden:
U k = (1/k) [V k - (B)V k-1] + AU k-1. (4)
Wie oben beschrieben, wird der digitale Filter 23 vorzugs­ weise beispielsweise als Mikroprozessor 68000 von Motorola ausgeführt, welcher bei einer Frequenz von 12,5 MHz arbei­ tet. Der digitale Filter 23 kann ebenso in verschiedenen Formen digitaler Logik, anderen programmierten Prozessoren oder Spezialprozessorschaltungen ausgeführt werden.
Der digitale Filter 23, welcher durch den lokalen Mikropro­ zessor 24 implementiert ist, führt die Funktion des Filters 217, des Filters 221 und die Summation der Vereinigungen 227 und 229 in Fig. 6 durch. Der lokale Mikroprozessor 24 empfängt die Pfad- oder Bahninformation, welche von dem Pfadgenerator 213 bereitgestellt und in den RAM 25 gespei­ chert wurde. Der lokale Mikroprozessor 24 gibt das gesamte Steuersignal U gesamt einem Digital/Analogwandler (DAC) aus. Der Digital/Analogwandler 27 wiederum stellt dem Verstärker 29 zur Steuerung des Motors 234 ein analoges Steuersignal bereit. Der Kodierer 235 folgt der tatsächlichen Motorposi­ tion und stellt dem lokalen Mikroprozessor auf einer Leitung 226 ein Rückkopplungssignal bereit. Der Digi­ tal/Analogwandler 27, der Verstärker 29, der Motor 234, der Kodierer 235 und eine Last 236 umfassen eine Anlage, welche die Übertragungsfunktion G*(Z) besitzt.
In einer tatsächlichen Ausführungsform wurde ein Pazific Scientific 2VM-62020-7 Gleichstromservomotor als Motor 234 verwendet. Ein rotierender optischer Kodierer M-98A-1000­ ICLP von Disk Instruments, welcher pro Umdrehung im Quadrat 4000 Zählungen liefert, wird als Kodierer 235 verwendet. In dieser Ausführungsform ist der Verstärker ein Glentek-Ver­ stärker GA45555, 40 Volt, 12 Ampere, mit linearem Spannungs­ modus. Der Digital/Aanalogwandler 27 ist ein Burr-Brown AD667.
Ein Flußdiagramm zur Programmierung des Mikroprozessors MC 68000 von Motorola für die Durchführung der digitalen Filterfunktionen wird in Fig. 7 und 8 dargestellt. Die Durchführung der Routine zu dem Beginn jeder Abtastperiode startet mit einem Schritt 251. Die Durchführung des Fil­ teralgorithmus wird sequentiell mit Schritten 257, 259, 261, usw. von Fig. 7 und 8 fortgeführt. Der vollständige Algo­ rithmus wird innerhalb der Abtastperiode berechnet. Der Algorithmus wird autonom von jedem lokalen Mikroprozessor 24 für die jeweilige Dimension, dessen Pfaddaten der Karte über den zugeordneten RAM 25 zugeführt werden, durchgeführt.
Die tatsächliche Position des Motors 234 wird über die Lei­ tung 226 angezeigt und wird im Schritt 257 gelesen. Im Schritt 259 wird der Positionsfehler, E k =X k -Y k , in Über­ einstimmung mit der Summationsvereinigung 227 in Fig. 6 bestimmt. Im Schritt 261 wird die Rückkopplungssteuerung D(Z) berechnet. Dieser Term D(Z) wird berechnet durch Multi­ plizierung einer Konstante A 1 mit dem Fehlersignal E k und Addition einer Größe Prec 1, welche eine vorherberechnete Größe ist, wie hernach beschrieben wird. Im Schritt 263 wird das nächste Ziel X k+1 aus dem RAM 25 in den Prozessor 24 eingelesen. Wie im Schritt 265 erläutert, wird der rückfüh­ rungslose Steuerparameter berechnet durch Multiplikation einer Konstante B 1 mit X k+1 und Dazuaddieren eines zweiten vorherberechneten Wertes Prec 2, wie nachher beschrieben wird. Im nächsten Schritt 267 wird das gesamte Steuersignal in Übereinstimmung mit der Summationsvereinigung von Fig. 6 bestimmt.
Im Schritt 269 wird auf dem gesamten Steuersignal U gesamt ein Begrenzungstest durchgeführt. Das Signal U gesamt wird mit den Parametern, welche mit DACMAX und DACMIN bezeichnet sind, verglichen und, wenn nötig, begrenzt.
Diese Parameter werden ausgewählt, um das Eingangsspannungs­ signal innerhalb einem Bereich, welcher an den Verstärker 29 angepaßt ist, zu begrenzen. Danach wird das Steuersignal U gesamt an den Digital/Analogwandler 27 und dann zu dem Ver­ stärker 29 und dem Motor 234 im Schritt 271 gesandt. Die während dieser Servoaktualisierung bestimmten Parameter wer­ den in einem Schritt 273 für die nächste Servoaktualisierung 251 gesichert. Danach schreitet die Routine zu einem Block 275 fort, wo alle möglichen Terme für die nächste Servoak­ tualisierung 251 berechnet werden, um die Zeit zwischen dem Beginnen der Abtastperiode, Schritt 251, und der Ausgabe von U gesamt an den DAC/Verstärker/Motor, Schritt 273, zu minimie­ ren. In diesem Schritt 275 werden gemäß aufgestellter Glei­ chungen die zwei Parameter Prec 1 und Prec 2 berechnet.
In einer bevorzugten Ausführungsform werden alle Aufzeich­ nungsterme anfänglich auf Null gesetzt. Die Abtastperiode beträgt eine Millisekunde und erzeugt bei dem Prozessor einen Interrupt hoher Priorität, so daß der Beginn des digi­ talen Servoalgorithmus mit dem Beginn jeder Abtastperiode synchronisiert ist. Der Pfadgenerator 213 kann vor dem Star­ ten der Bewegung oder damit gleichzeitig betrieben werden. Der Pfadgenerator 213 (Steuerelement 11 in Fig. 1) kann die vorhergehend gespeicherten Pfadinformationen herauslesen; oder, wenn gewünscht, kann ein Computer detaillierte Bahnda­ ten für einen Zielpfad als Antwort auf einen generellen Positionsbefehl berechnen.
Die offenbarte Architektur hat die Fähigkeit, schnell Daten, Befehle, Operanden, usw. an eine Vielzahl von lokalen Mikro­ prozessoren zu schreiben, da jeder der lokalen Mikroprozes­ soren 24 schnell auf den zugeordneten RAM 25 zugreifen kann, ohne mit dem Steuerelement 11 oder mit anderen lokalen Pro­ zessoren, welche den gleichzeitigen Zugriff auf das RAM 25 versuchen, entscheiden zu müssen. Es wird ein verbesserter Betrieb erreicht, da ein einziges Segment des gesamten Adreßbereiches, welches dem Steuerelement 11 verfügbar ist, einem lokalen Prozessor 24 und seiner lokalen Entscheidungs­ vorrichtung 35 zugewiesen wird.
Die vorher beschriebene Ausführungsform soll nicht als Ein­ schränkung verstanden werden, sondern stellt nur eine bevor­ zugte Ausführungsform der Erfindung dar.

Claims (22)

1. Eine digitale Architektur für ein Bewegungssteuerele­ ment mit:
einem Systembus zum Bereitstellen von Pfaddaten, wobei die Pfaddaten eine Mehrzahl von Teilmengen von Pfadda­ ten umfassen und jede Teilmenge einer verlangten Bahn einer ausgewählten Dimension einer Bewegung entspricht;
einer Mehrzahl von digitalen Prozessorvorrichtungen, eine für jede Bewegungsdimension, wobei jede der Pro­ zessorvorrichtungen zur Berechnung eines Steuersignals für ihre Bewegungsdimension die dazu entsprechende Teilmenge der Pfaddaten verwendet;
einer Vielzahl von Speichervorrichtungen, wobei jede an den Systembus und an jeweils eine der Mehrzahl der digitalen Prozessorvorrichtungen angeschlossen ist, zum Empfang und zum Speichern der entsprechenden Teilmenge von Pfaddaten von dem Bus und zum Speichern der über­ tragenen Daten zum und von dem angeschlossenen Prozes­ sor; und
einer Mehrzahl von Steuervorrichtungen, wobei eine an jede der Speichervorrichtungen angeschlossen ist, zum Empfang von Steuersignalen von dem Systembus und von jeweils einer der Mehrzahl von Prozessorvorrichtungen, welche an die Speichervorrichtung angeschlossen ist, zum Steuern des Zugriffs zu der angeschlossenen Spei­ chervorrichtung als Antwort auf die Steuersignale.
2. Die Architektur nach Anspruch 1, des weiteren gekenn­ zeichnet durch
eine Bahnprozessorvorrichtung zur Berechnung und zum Schreiben der Pfaddaten als Pfaddatenwörter; und
eine Puffervorrichtung zum Empfang der Pfaddatenwörter von der Bahnprozessorvorrichtung zum Speichern der Pfaddatenwörter, ein Wort zur Zeit, und zum Ausgeben der Pfaddatenwörter an den Systembus.
3. Die Architektur nach Anspruch 1, dadurch gekennzeich­ net, daß jede der Speichervorrichtungen aufweist:
eine Speichervorrichtung mit direktem Zugriff zum Spei­ chern der entsprechenden Untermenge von Pfaddaten;
eine erste durchschaltende Puffervorrichtung, welche auf ein erstes Puffer durchschaltendes Steuersignal anspricht, zum Durchschalten der Untermenge von Pfadda­ ten zwischen dem Systembus und der Speichervorrichtung mit direktem Zugriff; und
eine zweite durchschaltende Puffervorrichtung, welche auf ein zweites Puffer durchschaltendes Steuersignal anspricht, zum Durchschalten der Untermenge von Pfadda­ ten zwischen der entsprechenden digitalen Prozessorvor­ richtung und der Speichervorrichtung mit direktem Zugriff.
4. Die Architektur nach Anspruch 3, dadurch gekennzeich­ net, daß jede der Steuervorrichtungen aufweist:
eine Vorrichtung, die auf eine erste Zugriffsanforde­ rung anspricht, welche über den Systembus empfangen wurde, um ein erstes Zugriffsbewilligungssteuersignal zu erzeugen, und welche auf eine zweite Zugriffsanfor­ derung anspricht, welche von der entsprechenden digita­ len Prozessorvorrichtung empfangen wurde, um ein zwei­ tes Zugriffsbewilligungssteuersignal zu erzeugen; und
eine Folgervorrichtung, welche auf das erste Zugriffs­ bewilligungssteuersignal anspricht, um das erste Puffer durchschaltende Steuersignal zu erzeugen, und welche auf das zweite Zugriffsbewilligungssteuersignal anspricht, um das zweite Puffer durchschaltende Steuer­ signal zu erzeugen.
5. Die Architektur nach Anspruch 4, dadurch gekennzeich­ net, daß die Steuersignale erste Adreßsignale, welche über den Systembus empfangen wurden, und zweite Adreß­ signale umfassen, welche von jeweils einem der digita­ len Prozessorvorrichtungen erzeugt wurden, und worin die Steuervorrichtung des weiteren aufweist:
eine erste Schaltvorrichtung zum Schalten der ersten Adreßsignale zu der Speichervorrichtung mit direktem Zugriff als Antwort auf ein erstes Adreßschaltsteuer­ signal; und
eine zweite Schaltvorrichtung zum Schalten der zweiten Adreßsignale zur Speichervorrichtung mit direktem Zugriff als Antwort auf ein zweites Adreßschaltsteuer­ signal.
6. Die Architektur nach Anspruch 5, dadurch gekennzeich­ net, daß die Folgervorrichtung des weiteren erste und zweite Adreßschaltsteuersignale erzeugt.
7. Die Architektur nach Anspruch 6, dadurch gekennzeich­ net, daß die Folgervorrichtung des weiteren ein erstes Quittierungssignal zum Durchführen einer Datenübertra­ gung zwischen der Speichervorrichtung mit direktem Zugriff und dem Systembus und ein zweites Quittierungs­ signal zum Durchführen einer Datenübertragung zwischen der Speichervorrichtung mit direktem Zugriff und jeweils einem der digitalen Prozessorvorrichtungen erzeugt.
8. Die Architektur nach Anspruch 7, dadurch gekennzeich­ net, daß die Folgervorrichtung des weiteren aufweist:
eine erste programmierbare logische Bauteilvorrichtung, welche das erste Zugriffsbewilligungssteuersignal empfängt und darauf anspricht, zum Erzeugen des ersten Puffer durchschaltenden Steuersignals, des ersten Adreßschaltsteuersignals und des ersten Quittierungs­ signals; und
eine zweite programmierbare logische Bauteilvorrich­ tung, welche das zweite Zugriffsbewilligungssteuer­ signal empfängt und darauf anspricht, zum Erzeugen des zweiten Puffer durchschaltenden Steuersignals, des zweiten Adreßschaltsteuersignals und des zweiten Quittierungssignals.
9. Die Architektur nach Anspruch 4, dadurch gekennzeich­ net, daß, wenn die auf eine Zugriffsanforderung anspre­ chende Vorrichtung eine erste Zugriffsanforderung und eine zweite Zugriffsanforderung gleichzeitig empfängt, die Folgervorrichtung die Erzeugung des den ersten Puffer durchschaltenden Steuersignals verzögert und sofort das den zweiten Puffer durchschaltende Steuer­ signal erzeugt.
10. Die Architektur nach Anspruch 4, dadurch gekennzeich­ net, daß die auf eine Zugriffsanforderung ansprechende Vorrichtung eine Zustandsmaschinenvorrichtung zum Ein­ nehmen eines ersten Zustands und eines zweiten Zustands aufweist, welche sich als Antwort auf die zweite Zugriffsanforderung in den ersten Zustand begibt, und welche sich als Antwort auf die erste Zugriffsanforde­ rung in den zweiten Zustand begibt.
11. Die Architektur nach Anspruch 10, gekennzeichnet durch eine erste Taktvorrichtung, welche eine Folge von Takt­ flanken erzeugt und worin die Zustandsmaschine als Ant­ wort auf die Folge von Taktflanken arbeitet und bei der ersten Taktflanke das zweite Zugriffsbewilligungssignal erzeugt.
12. Die Architektur nach Anspruch 11, dadurch gekennzeich­ net, daß die Folgervorrichtung die zweite durchschal­ tende Puffervorrichtung und die Speichervorrichtung mit direktem Zugriff freigibt und eine Vollendung der Da­ tenübertragung zwischen jeweils einer der digitalen Prozessorvorrichtungen und der Speichervorrichtung mit direktem Zugriff auf das Vorliegen der nächsten Takt­ flanke in der Folge nach der ersten Taktflanke bewirkt.
13. Die Architektur nach Anspruch 12, des weiteren gekenn­ zeichnet durch eine zweite Taktvorrichtung zum Treiben jeweils einer der digitalen Prozessorvorrichtungen, wo­ bei die Taktrate der ersten Taktvorrichtung ausgewählt wird, um größer als die der zweiten Taktvorrichtung zu sein, und so daß eine Datenübertragung zwischen jeweils einer der digitalen Prozessorvorrichtungen und der Speichervorrichtung mit direktem Zugriff erreicht wird, bevor die digitale Prozessorvorrichtung imstande ist, eine andere zweite Zugriffsanforderung zu erheben.
14. Die Architektur nach Anspruch 10, dadurch gekennzeich­ net, daß die Folgervorrichtung eine Mehrzahl von Steu­ ersignalen in Vorbereitung auf das Geschehen des ersten Zustands der Zustandsmaschine setzt.
15. Die Architektur nach Anspruch 14, dadurch gekennzeich­ net, daß die Mehrzahl von Steuersignalen das zweite Puffer durchschaltende Steuersignal und das zweite Adreßschaltsteuersignal umfassen.
16. Schaltkreis zur Übertragung von Pfaddatenwörtern zwi­ schen einer Steuerprozessorvorrichtung zur Berechnung von Pfaddaten, welcher eine Ausgangsvorrichtung zum Ausgeben von Pfaddatenwörtern und Steueradreßsignalen besitzt, und einer lokalen Prozessorvorrichtung zum Ausgeben von lokalen Prozessoradreßsignalen, und zur Erzeugung eines Steuersignals zum Steuern einer einzi­ gen Dimension einer Pfadbewegung als Antwort auf die Pfaddatenwörter mit:
einer Leitungspuffervorrichtung mit einer einzigen Stufe, welche einen Ausgang und einen Eingang aufweist, der an die Ausgangsvorrichtung der Steuerprozessorvor­ richtung angeschlossen ist, zum Speichern eines ersten Pfaddatenwortes, ausgegeben durch die Prozessorvorrich­ tung, während die Prozessorvorrichtung ein zweites Pfaddatenwort berechnet;
einer Busvorrichtung, welche an den Ausgang der Lei­ tungspuffervorrichtung angeschlossen ist;
einer Speichervorrichtung mit direktem Zugriff;
einer ersten durchschaltenden Puffervorrichtung, welche angeschlossen ist zwischen der Busvorrichtung und der Speichervorrichtung mit direktem Zugriff, zum Durch­ schalten von Daten dazwischen als Antwort auf ein erstes Puffer durchschaltendes Steuersignal;
einer zweiten durchschaltenden Puffervorrichtung, wel­ che angeschlossen ist zwischen der lokalen Prozessor­ vorrichtung und dem Speicher mit direktem Zugriff, zum Durchschalten von Daten dazwischen als Antwort auf ein zweites Puffer durchschaltendes Steuersignal;
einer ersten Schaltvorrichtung zum Durchschalten von Adressen von der Busvorrichtung zu der Speichervorrich­ tung mit direktem Zugriff als Antwort auf ein erstes Adressen durchschaltendes Steuersignal;
einer zweiten Schaltvorrichtung zum Durchschalten von Adressen von der lokalen Prozessorvorrichtung zu der Speichervorrichtung mit direktem Zugriff als Antwort auf ein zweites Adressen durchschaltendes Steuersignal; und
einer Steuervorrichtung, welche auf die Steueradreßsig­ nale und die Adreßsignale des lokalen Prozessors anspricht, zur aufeinanderfolgenden Erzeugung der ersten und zweiten Puffer durchschaltenden Steuer­ signale und der ersten und zweiten Adressen durchschal­ tenden Steuersignale zum Steuern von Datenübertragungen zwischen der Steuerprozessorvorrichtung und der Spei­ chervorrichtung mit direktem Zugriff und zwischen der lokalen Prozessorvorrichtung und der Speichervorrich­ tung mit direktem Zugriff.
17. Die Schaltung nach Anspruch 16, dadurch gekennzeichnet, daß die Steuervorrichtung eine Zustandsmaschinenvor­ richtung zum Einnehmen eines ersten und eines zweiten Zustands aufweist, wobei der erste Zustand als Antwort auf den Empfang der lokalen Prozessoradreßsignale und der zweite Zustand als Antwort auf den Empfang der lokalen Prozessoradreßsignale eingenommen wird.
18. Die Schaltung nach Anspruch 17, des weiteren dadurch gekennzeichnet, daß eine erste Taktvorrichtung eine Folge von Taktflanken erzeugt, und worin die Zustands­ maschine als Antwort auf die erste Taktvorrichtung arbeitet.
19. Die Schaltung nach Anspruch 18, dadurch gekennzeichnet, daß die Steuervorrichtung die Durchführung der Daten­ übermittlung zwischen der lokalen Prozessorvorrichtung und der Speichervorrichtung mit direktem Zugriff durch die zweite durchschaltende Puffervorrichtung während der Periode von zwei Taktflanken bewirkt.
20. Die Schaltung nach Anspruch 19, des weiteren dadurch gekennzeichnet, daß eine zweite Taktvorrichtung zum Ansteuern der lokalen Prozessorvorrichtung vorgesehen ist, wobei die Taktrate der ersten Taktvorrichtung aus­ gewählt wird, um höher zu sein als die der zweiten Taktvorrichtung, und so daß eine Datenübertragung zwi­ schen der lokalen Prozessorvorrichtung und der Spei­ chervorrichtung mit direktem Zugriff erreicht wird, bevor die lokale Prozessorvorrichtung imstande ist, einen zweiten Satz lokaler Prozessoradreßsteuersignale zu erzeugen.
21. Die Schaltung nach Anspruch 16, dadurch gekennzeichnet, daß die Steuervorrichtung die Speichervorrichtung mit direktem Zugriff bei einer höheren Geschwindigkeit als die Berechnungsgeschwindigkeit der Steuerprozessorvor­ richtung oder der lokalen Prozessorvorrichtung be­ treibt, so daß eine Datenübertragung zwischen der loka­ len Prozessorvorrichtung und der Speichervorrichtung mit direktem Zugriff erreicht wird, bevor die Steuer­ prozessorvorrichtung die Berechnung eines Pfaddatenwor­ tes vollenden kann, und worin die Steuervorrichtung des weiteren arbeitet, so daß ein Datenwort, welches von der Steuerprozessorvorrichtung übertragen wird, in der Leitungspuffervorrichtung gespeichert wird, während eine Übertragung von Daten zwischen der lokalen Prozes­ sorvorrichtung und der Speichervorrichtung mit direktem Zugriff geschieht, und so daß eine Übertragung zu der Speichervorrichtung mit direktem Zugriff von der Lei­ tungspuffervorrichtung vollendet wird, bevor die Steu­ erprozessorvorrichtung ihre nächste Berechnung vollen­ det.
22. Die Schaltung nach Anspruch 21, dadurch gekennzeichnet, daß, wenn die Steuerprozessorvorrichtung eine Busdaten­ übertragung von der Speichervorrichtung mit direktem Zugriff verlangt, während eine lokale Datenübertragung zwischen der lokalen Prozessorvorrichtung und der Spei­ chervorrichtung mit direktem Zugriff geschieht, die Steuerprozessorvorrichtung bis zur Vollendung der loka­ len Datenübertragung wartet, bevor die Busdatenübertra­ gung verlangt wird.
DE4005042A 1989-02-17 1990-02-16 Mehrrechnersystem zur Durchführung von Bewegungssteuerungen Expired - Fee Related DE4005042C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/312,105 US4977494A (en) 1989-02-17 1989-02-17 High speed digital motion controller architecture

Publications (2)

Publication Number Publication Date
DE4005042A1 true DE4005042A1 (de) 1990-08-30
DE4005042C2 DE4005042C2 (de) 1994-05-19

Family

ID=23209904

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4005042A Expired - Fee Related DE4005042C2 (de) 1989-02-17 1990-02-16 Mehrrechnersystem zur Durchführung von Bewegungssteuerungen

Country Status (3)

Country Link
US (1) US4977494A (de)
JP (1) JPH0348304A (de)
DE (1) DE4005042C2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0422244A1 (de) * 1989-04-19 1991-04-17 Fanuc Ltd. Numerische steuerungseinheit

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5317501A (en) * 1987-10-13 1994-05-31 Bernhard Hilpert Control system for a numerically controlled machine
US5249297A (en) * 1991-04-29 1993-09-28 Hewlett-Packard Company Methods and apparatus for carrying out transactions in a computer system
US5210856A (en) * 1991-08-07 1993-05-11 Chips And Technologies, Inc. Non-aligned DRAM state machine for page-mode DRAM control
US5301282A (en) * 1991-10-15 1994-04-05 International Business Machines Corp. Controlling bus allocation using arbitration hold
US5414814A (en) * 1992-05-08 1995-05-09 The United States Of America As Represented By The Secretary Of The Navy I/O interface between VME bus and asynchronous serial data computer
JPH0798692A (ja) * 1993-05-31 1995-04-11 Mitsubishi Electric Corp マイクロコンピュータ
US5644486A (en) * 1994-10-24 1997-07-01 Pitney Bowes Inc. Programmable controller for mechanical systems
US5847960A (en) * 1995-03-20 1998-12-08 Electro Scientific Industries, Inc. Multi-tool positioning system
US5751585A (en) * 1995-03-20 1998-05-12 Electro Scientific Industries, Inc. High speed, high accuracy multi-stage tool positioning system
US5946449A (en) * 1996-04-05 1999-08-31 Georgia Tech Research Corporation Precision apparatus with non-rigid, imprecise structure, and method for operating same
US6084372A (en) * 1998-12-29 2000-07-04 Schneider Automation Inc. Electronic gearing from/to non-zero follower motion with phase adjust
CN102866646B (zh) * 2012-09-20 2014-09-03 重庆望江工业有限公司 一种实时控制***及控制方法
JP6368434B2 (ja) * 2016-05-19 2018-08-01 株式会社日立製作所 Pld管理方法及びpld管理システム
CN109324541B (zh) * 2018-09-10 2020-05-26 广东工贸职业技术学院 运动控制***

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0103714A2 (de) * 1982-09-07 1984-03-28 General Electric Company Mehrprozessoren-Achsensteuerung

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58208862A (ja) * 1982-05-31 1983-12-05 Toshiba Corp 共有メモリ制御方式
US4620118A (en) * 1982-10-01 1986-10-28 At&T Bell Laboratories Dual port access circuit with automatic asynchronous contention resolving capability
US4623971A (en) * 1983-06-30 1986-11-18 Cincinnati Milacron Inc. Machine control with motor velocity constraint
US4622633A (en) * 1983-12-06 1986-11-11 Tri Sigma Corporation Object building method for self configuring computer network
US4635206A (en) * 1984-10-15 1987-01-06 Cincinnati Milacron Inc. Method and apparatus for oscillating a tool carried by a manipulator
US4623990A (en) * 1984-10-31 1986-11-18 Advanced Micro Devices, Inc. Dual-port read/write RAM with single array
US4629955A (en) * 1985-09-04 1986-12-16 French Daniel B Method and apparatus for machine control
JPS62290908A (ja) * 1986-06-10 1987-12-17 Mitsubishi Electric Corp 数値制御装置の接続制御装置
US4773025A (en) * 1986-11-20 1988-09-20 Unimation, Inc. Multiaxis robot control having curve fitted path control
US4835710A (en) * 1987-07-17 1989-05-30 Cincinnati Milacron Inc. Method of moving and orienting a tool along a curved path
US4796232A (en) * 1987-10-20 1989-01-03 Contel Corporation Dual port memory controller
US4912633A (en) * 1988-10-24 1990-03-27 Ncr Corporation Hierarchical multiple bus computer architecture

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0103714A2 (de) * 1982-09-07 1984-03-28 General Electric Company Mehrprozessoren-Achsensteuerung

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DE-Z: eee Elektronik-Applikation, Nr. 6, 1988, S. 42-46 *
US-Firmenschrift: INTEL, Automotive Handbook, Intel Corp., Lit. Distrib., Santa Clara, CA, 1987, S. 8-1 bis 8-3 und 19-47 bis 19-101 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0422244A1 (de) * 1989-04-19 1991-04-17 Fanuc Ltd. Numerische steuerungseinheit
EP0422244A4 (de) * 1989-04-19 1994-02-23 Fanuc Ltd.

Also Published As

Publication number Publication date
JPH0348304A (ja) 1991-03-01
DE4005042C2 (de) 1994-05-19
US4977494A (en) 1990-12-11

Similar Documents

Publication Publication Date Title
DE2714805C2 (de)
DE19728726B4 (de) Robotercontroller und dessen Steuerverfahren
EP0107026B1 (de) Speicherprogrammierbare Steuerung
DE4005042A1 (de) Architektur eines digitalen bewegungssteuerungselements hoher geschwindigkeit
EP0006164B1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
DE3508291A1 (de) Realzeit-datenverarbeitungssystem
DE3338333A1 (de) Logiksimulatorgeraet zur gueltigkeitspruefung einer logikstruktur
DE2317417A1 (de) Takt- und steuerlogikschaltung
DE1915818B2 (de) Steuerschaltung für ein elektronisches Datenverarbeitungssystem
DE2911909C2 (de) Digitales Datenverarbeitungsgerät
DE2755616A1 (de) Asymmetrischer multiprozessor
DE4010311C2 (de) Datenprozessor
DE2912073C2 (de)
DE3930313A1 (de) Vektorprozessor
DE10026145A1 (de) Programmierbare Steuereinheit
DE60221515T2 (de) Speichersystem für schleifenbeschleunigung nach wunsch
DE19883000B4 (de) Servosystem-Steuereinrichtung
EP0113379A1 (de) Rechnerkopplung
DE2244941A1 (de) Impulsinterpolationssystem
DE4026413C2 (de) Positionier-Steuervorrichtung
DE2139053A1 (de) Numerische Werkzeugmaschinensteue rung
DE3123379C2 (de)
EP0525214A1 (de) Verfahren zum Betreiben eines Automatisierungsgeräts
DE3127794A1 (de) Steuerung fuer eine zoom-einrichtung
EP0121039B1 (de) Speicherprogrammierbare Steuerung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8125 Change of the main classification

Ipc: G05B 19/403

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee