DE69113917T2 - Verfahren und Einrichtung zur Steuerung der Bewegung eines Maschinenteiles. - Google Patents

Verfahren und Einrichtung zur Steuerung der Bewegung eines Maschinenteiles.

Info

Publication number
DE69113917T2
DE69113917T2 DE69113917T DE69113917T DE69113917T2 DE 69113917 T2 DE69113917 T2 DE 69113917T2 DE 69113917 T DE69113917 T DE 69113917T DE 69113917 T DE69113917 T DE 69113917T DE 69113917 T2 DE69113917 T2 DE 69113917T2
Authority
DE
Germany
Prior art keywords
time
subinterval
coordinates
values
machine part
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
DE69113917T
Other languages
English (en)
Other versions
DE69113917D1 (de
Inventor
Thomas Minnich
Harold A Morser
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.)
Milacron Inc
Original Assignee
Milacron Inc
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 Milacron Inc filed Critical Milacron Inc
Publication of DE69113917D1 publication Critical patent/DE69113917D1/de
Application granted granted Critical
Publication of DE69113917T2 publication Critical patent/DE69113917T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/41Numerical 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 characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • G05B19/4103Digital interpolation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Control Of Position Or Direction (AREA)

Description

  • Diese Erfindung betrifft im allgemeinen das numerische Steuern von Maschinen. Insbesondere betrifft diese Erfindung das Steuern der Bewegung van Maschinenteilen, um die Relativbewegung eines Arbeitspunktes entlang eines vorherbestimmten Weges zu bewirken.
  • Von besonderem Interesse ist dabei die koordinierte Bewegung einer Vielzahl von Teilen einer Maschine, wie die in Fig. 1 gezeigte Maschine 10. Teile 12, 14 und 16, die jeweils entlang einer Längsachse bewegbar sind, wie die gezeigte X-, Y- und Z- Achse, können so gesteuert werden, daß ein Arbeitspunkt 18 dazu gebracht wird, sich entlang eines Weges beim Durchführen der Arbeit auf einem Arbeitsstück WPC zu bewegen. Längswege sind typischerweise durch Wegendpunkte festgelegt die durch Koordinatensätze der orthogonalen X-, Y- und Z-Achsen dargestellt werden. Kreiswege werden durch eine Kombination von Wegendpunkten und Kreismittelpunktsdaten festgelegt. Beim Stand der Technik wird Bewegung entlang eines Weges durch Interpolation von Zwischenpunkten auf dem Weg mit einer vorherbestimmten Repetitionsrate und durch Steuern der Bewegung der Maschinenteile in Antwort auf die Zwischenpunkte erreicht. Die Steuerung von Treibern zum Bewirken der Bewegung der Maschinenteile wird durch Unterteilung der Positionsveränderungen entlang der Achsen in Unter-Inkremente gemäß eines Positionssteuerschleifenabschlußintervalls erreicht.
  • Die bekannte Technik kann zu einem Wegfehler zwischen dem gewünschten Weg und dem tatsächlichen Weg führen, der durch die Unterteilung der Positionsveränderungen herbeigeführt wird.
  • Fig. 2 illustriert, beispielsweise, den tatsächlichen Weg der Bewegung, wenn die bekannte Technik verwendet wird, um die bogenförmige Bewegung durch orthogonale Längsmaschinenachsen zu bewirken. Zwischen Punkten Pk-1 und Pk folgt der Arbeitspunkt 18, der über lineare Unter-Inkremente vorwärtsbewegt wird, der Sehne L1, die die Zwischenpunkte miteinander verbindet. Dies führt zu einer Aweichung von dem gewünschten Bogenweg C1. Der Wegfehler δ ist:
  • δ = Pp - Pchd
  • wobei:
  • Pp = Koordinaten des Mittelpunkts der Kurve C1
  • Pchd = Koordinaten des Mittelpunkts der Sehne L1
  • Die Sehnen können Längen von mehreren Unter-Inkrementen aufweisen, was zu einem nicht akzeptierbar großen Wegfehler δ führt, wenn der gewünschte Bogenweg einen relativ kleinen Radius aufweist. Während herkömmlicherweise der Wegfehler mit Bezug auf orthogonale Maschinenteile, die eine bogenförmige Bewegung ausführen, dargestellt wird, ist es zu verstehen, daß andere Maschinenkonstruktionen, beispielsweise industrielle Roboter, die Drehgelenke enthalten, entsprechend, wenn die Bewegung eines Arbeitspunkts entlang Längswegen bewirkt wird, Wegfehler herstellen wird, wenn die Positionsänderungen entlang der Achsen linear in der Zeit zwischen Zwischenwegpunkten unterteilt sind. Im allgemeinen rühren Wegfehler, die hier von Interesse sind, von der Verwendung einer linearen Unter-Bogenweiteninterpolation in Fällen, wenn die benötigten Positionsänderungen, um einen gewünschten Weg zu folgen, bezüglich der Zeit nicht linear sind.
  • In US-A-3,969,615 ist ein System für die Erzeugung von Steuerpulsen offenbart, um die Bewegung eines Maschinenwerkzeuges entlang eines nicht linearen Weges zu koordinieren, bei welchem die Positionierungsgenauigkeit entlang eines umrissenen Wegs durch eine parabolische Interpolation unter Verwendung eines Digitaldifferentialanalysators verbessert wird.
  • Auf ähnliche Weise ist in EP-A-O 319 587 die Steuerung der Bewegung entlang eines nicht linearen Weges durch Interpolierung einer Kurve in einem numerischen Steuersystem offenbart, wobei die Verwendung von Polynomkoeffizienten und einer krummlinigen Koordinate involviert ist, um Koordinatenkomponenten eines Positionsvektors herzustellen, wobei die Interpolation als eine Funktion der Zeit durchgeführt wird.
  • Im Gegensatz dazu liefert die gegenwärtige Erfindung die Berechnung der Zwischenkoordinaten als die Summe von Produkten von zeitunabhängigen Koeffizienten und vorangegangenen, gegenwärtigen und Ziel-Positionskommandos. Die Parabolfunktion der Zeit der gegenwärtigen Erfindung wird durch eine Summe von Produkten von zeitunabhängigen Koeffizienten und drei aufeinanderfolgenden Positionskommandos bestimmt, die an einem vorherbestimmten Zeitintervall hergestellt werden.
  • Gemäß dieser Erfindung wird eine Vorrichtung zum Steuern der Bewegung von Maschinenteilen bereitgestellt, um die Bewegung eines Arbeitspunktes entlang eines vorherbestimmten Weges zu erreichen, wobei Maschinenteilpositionskommandos, die an einem vorherbestimmten Zeitintervall hergestellt sind, Wegpunkte festlegen, durch welche der Arbeitspunkt zu bewegen ist, und die Vorrichtung gekennzeichnet ist durch ein Mittel zum periodischen Berechnen von Koordinaten der Positionen jedes Maschinenteils, zwischen den Positionskommandos und getrennt durch ein Unterintervall der Zeit, kleiner als das vorherbestimmte Zeitintervall, wobei die Zwischenpositionskoordinaten gemäß einer Parabolfunktion der Zeit berechnet werden, die durch eine Sunirne der Produkte der aufeinanderfolgenden Positionskommandos und zeitunabhängiger Koeffizienten bestimmt ist, wobei die aufeinanderfolgenden Positionskommandos vorangegangenen, gegenwärtigen bzw. Ziel-Wegpunkten entsprechen; und ein Mittel zum Herstellen von Steuersignaien zum Bewirken der Bewegung jedes der Maschinenteile durch die jeweiligen Zwischenkoordinaten mit einer Rate, die durch das Unterintervall festgelegt ist.
  • Gemäß dieser Erfindung wird auch ein Verfahren zum Steuern der Bewegung bewegbaren Maschinenteilen bereitgestellt, um die Bewegung eines Arbeitspunktes entlang eines vorherbestimmten Weges zu bewirken, wobei die Maschinenteilpositionskommandos, die an einem vorherbestimmten Zeitintervall hergestellt werden, Wegpunkte festlegt, durch welche der Arbeitspunkt zu bewegen ist, und das Verfahren dadurch gekennzeichnet ist, daß Koordinaten der Positionen jedes Maschinenteils zwischen den Positionskommandos periodisch berechnet werden an einem Unterintervall der Zeit, das kleiner als das vorherbestimmte ist, gemäß einer Parabolfunktion der Zeit, die durch eine Summe der Produkte der aufeinanderfolgenden Positionskommandos und zeitunabhängiger Koeffizienten bestimmt ist, wobei die aufeinanderfolgenden Positionskommandos den vorangegangenen, gegenwärtigen bzw. Ziel-Wegpunkten entsprechen; und Bewegen jedes Maschinenteils in Antwort auf die entsprechenden Zwischenkoordinaten mit einer Rate gesteuert wird, die durch das Unterintervall bestimmt ist.
  • Die Erfindung wird deutlicher für die folgende detaillierte Beschreibung, die mit Bezug auf die beiliegenden Zeichungen zu lesen ist, für eine Maschine, die ein bevorzugtes Ausführungsbeispiel dieser Erfindung ist und zwecks beispielhafter Darstellung der Erfindung ausgewählt worden ist, werden.
  • In den beiliegenden Zeichnungen:
  • Fig. 1 illustriert eine Maschine mit bewegbaren Teilen, die im Laufe des Herstellens eines gefertigten Arbeitsstückes zu steuern sind.
  • Fig. 2 illustriert den Wegfehler, der von der bekannten Steuertechnik herrührt.
  • Fig. 3 illustriert die Maschinenteilbewegungssteuerung, die durch die gegenwärtige Erfindung hervorgerufen wird.
  • Fig. 4 ist ein Blockdiagramm einer Maschinensteuerung zum Bewirken der Bewegungssteuerung in Übereinstimmung mit der gegenwärtigen Erfindung.
  • Fig. 5 ist ein Blockdiagramm des Signalverarbeitungsmoduls der in Fig. 4 gezeigten Motorsteuerung.
  • Fig.en 6a und 6b sind Flußdiagramme von Routinen, die von dem Signalverarbeitungsmodul von Fig. 5 durchgeführt werden, um eine Bewegungssteuerung hervorzurufen, wie in Fig. 3 dargestellt.
  • Fig.en 7a und 7b sind Flußdiagrainrne von Prozeduren, die in Verbindung mit dem Unter-Bogenweiteninterpolationsbearbeiten der Fig.en 6a und 6b durchgeführt werden.
  • Um die gegenwärtige Erfindung zu illustrieren, wird eine computernumerische Steuerung (CNC), die ein bevorzugtes Ausführungsbeispiel bildet, im Detail beschrieben. Diese Steuerung entspricht der Acramatic 950-Steuerung, die von Cincinnati Milacron Inc. erhältlich ist. Eine Servomechanismussteuerung, die die Maschinenteilbewegungssteuerung gemäß der gegenwärtigen Erfindung implementiert, ist zur Verwendung mit solch einer CNC gedacht. Während das bevorzugte Ausführungsbeispiel in erheblichen Detail beschrieben wird, ist es nicht dazu gedacht, den Gegenstand der Erfindung auf diese Details zu beschränken. Es ist stattdessen gedacht, den Gegenstand der Erfindung durch die anhängenden Ansprüche zusammen mit allen Äquivalenten dazu festzulegen.
  • Um den Wegfehler δ, der mit Bezug auf Fig. 2 beschrieben ist, zu eliminieren oder reduzieren, ist es wünschenswert, zusätzliche Zwischenpunkte zwischen den aufeinanderfolgenden Zwischenpunkten Pi zu erzeugen. Da der Weggenerator, der diese Punkte steuert, Wegbezugsfunktionen, wie Beschleunigung, Abbremsung und Wegmodifikation steuert, ist es nicht praktisch, um einfach die Repetitionsrate, mit welcher Zwischenwegpunktkoordinaten hergestellt werden, zu erhöhen. Wie mit Bezug auf Fig. 2 beschrieben, stellte die Linearunterteilung der Größen der Positionsveränderung entlang der Achsen zum Herstellen der Endpositionskommandos für den Maschinenservomechanismus Punkte her, die eher auf einer Sehne als auf dem gewünschten Weg liegen.
  • Es wird vom Fachmann verstanden werden, daß irgendein Bewegungsweg im orthogonalen Raum alternativerweise beschrieben werden kann als Parameterfunktionen der Zeit in jeder Achse. Daher können aufeinanderfolgende Positionen, beispielsweise, des X-Achsenglieds mittels einer auf Zeit basierenden Polynomkurve beschrieben werden, die eine vorherbestimmte Anzahl Q von Achsenpositionen X, die auf dem Weg liegen (Wegpunkte), miteinander verbindet. Die Polynomkurve kann in der Zeit unterteilt werden, um Positionsdatenzwischenwerte der Wegpunkte zu erhalten. Während jeder aufeinanderfolgende Wegpunkt erzeugt wird, kann die Polynomdarstellung der Kurve wieder ausgewertet werden unter Verwendung der Werte der letzten Q-Achsenpunkte, um neue Positionsdaten für Zwischenpositionen herzustellen, die zwischen den letzten beiden aufeinanderfolgenden Wegpunkten liegen.
  • Die Anmelder haben die Verwendung einer auf der Zeit basierenden Parabolfunktion, wie in Fig. 3 gezeigt, zum Herstellen der Positionsdaten zwischen den Wegpunkten ausgewählt. Die Parabolkurve ist in eine willkürlich gewählte Anzahl N von gleichen Unterintervallen der Zeit unterteilt, wobei N zwei (2) oder mehr ist. Die Parabolkurve ist durch drei auf einanderfolgende Wegpunkte festgelegt, die durch gleiche Zeitintervalle voneinander getrennt sind, die, beispielsweise, festgelegt sind durch ein Positions-Update-Intervall einer Maschinensteuerung. Da die drei Positionen in der Zeit einen gleichen Abstand voneinander aufweisen, ist die vorangegangene Position Xk-1 geeigneterweise der Zeit -N zugeordnet, die gegenwärtige Position Xk der Zeit Null zugeordnet, und die Zielposition Xk+1 der Zeit N zugeordnet. Die Parabolkurve schafft die folgende Beziehung zwischen Position und Zeit:
  • X(t) = At² + Bt + C (1) δwobei die Koeffizienten A, B, C den folgenden Bedingungen genügen:
  • X(0) = Xk
  • X (-N) = Xk-1
  • X (N) = Xk+1
  • Aus Gleichung (1) und den bekannten Bedingungen sind die Koeffizienten bestimmbar als:
  • A = (Xk-1 - 2*Xk + Xk+1) /2*N² (2)
  • B = (Xk+1 - Xk-1) /2*N (3)
  • C = Xk (4)
  • Durch Ersetzen von A, B und C durch die Gleichungen (2), (3) und (4) in Gleichung (1) und Gruppieren der Terme entsteht der folgende Ausdruck für X(t):
  • X(t) = [(t² - Nt)/2*N²]*Xk-1 + (6)
  • (1 - 2*t²/2*N²)*Xk +
  • [(t² + Nt)/2*N²]*Xk+1
  • Der gleiche Ausdruck ist anwendbar für die anderen orthogonalen Achsen Y und Z durch Austauschen der vorangegangenen, gegenwärtigen und Ziel-Positionen jeder Achse in Gleichung (6) zum Erhalten der Werte für Y(t) und Z(t). Die vorangegangenen, gegenwärtigen und Ziel-Positionen sind bei jeder wiederholenden Herstellung der Zwischenpunktkoordinaten durch einen herkömmlichen Weggenerator, wie zuvor beschrieben, bekannt. Die Koeffizienten dieser Größen, die in Gleichung (6) auftauchen, können mit der Rate des Auftretens der Unterintervalle in t berechnet werden. Jedoch, da die Werte für irgendeinen Wert N konstant sind, haben sich die Anmelder dazu entschieden, Werte für diese Koeffizienten für jede t in Nachschautabellen zum Abruf beim Voranschreiten der Zeit von t nach N-1 zu speichern. Die Berechnung jedes X(t) wird dadurch erheblich vereinfacht, und die Bearbeitungszeit wird minimiert.
  • Wie zuvor erwähnt, haben die Anmelder die Steuertechnik, die in Fig. 3 illustriert ist, in einer Servomechanismussteuerung implementiert, die zur Verwendung mit einer computernumerischen Steuerung (CNC) gedacht ist. Die CNC erzeugt Wegpunktdaten an einem vorherbestimmten Update-Intervall in Antwort auf Eingabedaten, die, beispielsweise, in einem numerischen Steuerprogramm zugeführt werden. Die CNC, die durch das Blockdiagramm von Fig. 4 dargestellt ist, enthält: eine Betriebspersonen- oder Verwenderschnittstelle; eine Maschinenmechanismusschnittstelle und -Steuerung; Programmspeicher- und Druckeinrichtungen; eine Maschinenarbeitszyklussteuerung; eine Arbeitsstückprogrammauswertung; und eine Wegerzeugungssteuerung.
  • Die Betriebspersonenschnittstelle umfaßt ein Anzeigegerät 30, wie ein CRT oder ein anderes alphanumerisches Anzeigegerät, eine Vorrichtung zum manuellen Dateneingeben, wie eine Tastatur 32, und einen Betriebspersonenstationssteuerer 34. Der Betriebspersonenstationssteuerer empfängt Daten, die angezeigt werden sollen, von den NC-Systemprozessoren und formatiert die Daten für das Anzeigegerät 30. Manuelle Dateneingaben über die Tastatur 32 werden durch den Betriebspersonenstationssteuerer 34 zum Verteilen an andere numerische Steuersystemelemente codiert. Der Betriebspersonenstationssteuerer 34 ermöglicht manuelle Dateneingabe in Übereinstimmung mit dem aktiven Betriebsmodus der Maschine, wie durch die Maschinenarbeitszyklussteuerung bestimmt.
  • Zusätzlich zu dem manuellen Dateneingeben können Arbeitsstückprogramme in lokale Speicher des Steuergeräts mittels Hauptdatentransfervorrichtungen, wie, beispielsweise, ein Bandlesegerät 36 oder eine Datenkommunikationsschnittstelle 38 eingegeben werden. Die Hauptspeicherung von Arbeitsstückprogrammen wird auf einem Scheibenspeicher 40 bereitgestellt. Ein Programmspeicher- und -Drucksteuerer 42 leitet die Kommunikation der Daten von den Eingabevorrichtungen 36 und 48 zu und von dem Hauptspeicher 40 sowie zu und von dem Betriebspersonenstationssteuerer 34. Zwei Arbeitsstückprogrammpuffer 44 und 46 sind für aktive und alternative Arbeitsstückprogramme bereitgestellt. Programmbefehle werden zur Ausführung von dem aktiven Puffer 44 übertragen. Der alternative Puffer 46 stellt eine Speicherung eines Programms bereit, das ausgedruckt werden kann, während die Durchführung eines Programms stattfindet.
  • Der komplette Betriebsarbeitszyklus der CNC wird durch den Arbeitszyklussteuerer 50 gesteuert. Der Arbeitszyklussteuerer 50 arbeitet als ein herkömmlicher programmierbarer Steuerer, um Steuerprogramme durchzuführen, die in Beziehung stehen mit Maschinendruckknöpfen, Lichtern, Grenzschaltern und -mechanismen, wie Übertrager, Arbeitsgerätwechsler, Arbeitsstückübertragungsvorrichtungen und dergleichen, mit dem Betriebsarbeitszyklus der gesteuerten Maschine. Die Maschinenelemente sind im allgemeinen durch Blöcke 52 gekennzeichnet und werden durch eine Maschinen-Eingabe-Ausgabe-Schnittstelle 54 überwacht und gesteuert. Beim Steuern des Betriebsarbeitszykluses der Maschine führt der Arbeitszyklussteuerer 50 eine Übertragung der Arbeitsstückprogramminstruktionen von dem aktiven Puffer 44 zu einem Blockprozessor 56. Ferner zeigt der Arbeitszyklussteuerer 50 den Maschinenstatus an und bewirkt die geeignete Antwort auf Fehlerbedingungen.
  • Arbeitsstückprogramme bestehen aus Blöcken von Instruktionen, die Daten enthalten, die Positionsachsenkoordinaten, Drehspindelgeschwindigkeiten, verschiedene Funktionen und Arbeitssteuercodes festlegen. Diese Programme sind so erzeugt, daß sie an bekannte Programmkonventionen, wie EIA RS 274, angepaßt sind. Der Blockprozessor 56 decodiert jeden Informationsblock und verteilt die Daten, wie zum Steuern der Maschinenfunktionen geeignet. Eine verschiedene Funktion, eine Drehspindelgeschwindigkeit und Werkzeugdaten, die zu Maschinenfunktionen gehören, wie Werkzeugauswahl, Übertragungsgeschwindigkeitsänderungen und Mechanismussteuerung, sind in dem Datenspeicher 58 plaziert. Koordinatendaten, die Endpunkte der Maschinenteilachsen der Bewegung spezifizieren, sind in dem Datenspeicher 60 angeordnet. Ein Codeexpandergerät 62 arbeitet nach Arbeitszyklussteuercodes, um die Auswahl der Auftragsdaten von dem Auftragsdatenspeicher 64 zu treffen und den gewünschten Modus der Wegerzeugung auszuwählen.
  • Ein Wegerzeugungsprozessor 66 erzeugt Koordinatenachsenpositionskommandos für jedes Maschinenpositions-Update-Intervall in Übereinstimmung mit dem Maschinenbetrieb, der durch die Instruktionen des aktiven Arbeitsstückprogramms festgelegt wird. Die Positionskommandos Xk, Yk und Zk, die von dem Wegerzeugungsprozessor 66 hergestellt werden, reflektieren die Rate der Positionsänderung für alle Maschinenachsen, wie durch die programmierten Koordinaten, Schubraten und Arbeitszykluskommandos festgelegt. Arbeitszyklussteuercodes zur Wegerzeugungsauswahl können verwendet werden, um das Verfahren der Unter- Bogenweiten-Interpolation zu steuern, die durch eine Servomechanismussteuerung 28 bewirkt wird.
  • Zusätzlich zu dem Wegerzeugungsprozessor 66 können Koordinatenachsenpositionskommandos von einem Hilfs-Bogenweiten-Generator 68 erzeugt werden. Der Hilfsgenerator 68 erzeugt Achsenbewegungskommandos in Übereinstimmung mit der Maschinenaktivität, wie durch den Maschinenhersteller festgelegt, wie, beispielsweise, Bewegungen zu vorherbestimmten Orten, um Veränderungen des Werkzeuges oder Arbeitskopfes zu bewirken, oder in Antwort auf Eingaben der Bedienperson. Während es nicht üblich ist für solche Bewegungen, simultan mit Bewegungen durchgeführt zu werden, die von einem Arbeitsstückprogramm bestimmt werden, werden die Hilfsbewegungskommandos mit den Bewegungskommandos, die in Antwort auf die Arbeitsstückprogrammkoordinaten hergestellt werden, an einem Positionskommandoaddierer 70 auf summiert, was zu Nettobewegungskommandos führt. Das Resultat dieses Aufsummierens wird dann der Servomechanismus- Steuerung 28 eingegeben.
  • Die Servomechanismussteuerung 28 führt dann eine geschlossene Schleifensteuerung der Maschinenteilaktiviergeräte, wie Motoren 134 bis 140, durch. Die Steuerung des Motorstroms wird über Stromschalter an einem Leistungsblock 130 in Antwort auf Steuersignale, die von der Servomechanismussteuerung 28 erzeugt werden, durchgeführt. Die aktuelle Position der Aktiviergeräte wird durch Positionstransducer 142 bis 148 gemessen, die mechanisch direkt oder indirekt von den Motoren 134, 136, 138 bzw. 140 angetrieben werden. Die Servomechanismussteuerung 28 enthält einen Signalbearbeitungsmodul 20 und einen Schnittstellenmodul 22. Der Schnittstellenmodul 22 bildet keinen Teil der gegenwärtigen Erfindung, und weitere Details desselben werden hier nicht angegeben.
  • Der Signalbearbeitungsmodul 20 der Servomechanismussteuerung 28 führt die Unter-Bogenweiten-Interpolation durch, um Achsenpositionsdaten zwischen den Wegpunkten herzustellen, die von der CNC in Übereinstimmung mit der in Fig. 3 illustrierten Technik erzeugt werden. Zusätzlich berechnet der Signalbearbeitungsmodul 20 Positionsschleifenfolgefehler, d.h., den Unterschied zwischen der befohlenen Position und der tatsächlichen Position für jedes Intervall der Position der geschlossenen Schleife, berechnet Geschwindigkeitskommandos in Übereinstimmung mit den Folgefehlern und stellt gegenwärtige Kommandos zum Steuern der Motorgeschwindigkeiten her. Die gegenwärtigen Kommandosignale für jeden Motor, der gesteuert wird, werden periodisch in die Register in dem Schnittstellenmodul 22 geliefert, der Steuersignale für die Stromschalter des Leistungsblocks 130 liefert.
  • Daten werden zwischen der CNC und dem Bearbeitungsmodul 20 für digitale Signale über einen Systemdatenbus 26 ausgetauscht. In dem von den Anmeldern bevorzugten Ausführungsbeispiel wird die Kommunikation zwischen der Servomechanismussteuerung 28 und der CNC über einen Datenbus erreicht, der an die Signalspezifikation von IEEE-Standard 796-88 für den P1-Verbinder angepaßt sind. Die Daten, die unter der Steuerung des Betriebspersonenstationssteuerer 34 oder von dem Arbeitsstückprogramm eingegeben werden, sowie Daten von dem Auftragsdatenspeicher 64 sind alle erhältlich über den Datenbus 26 für die Servomechanismussteuerung 28. Die Daten werden zwischen dem Bearbeitungsmodul 20 für digitale Signale und dem Schnittstellenmodul 22 über einen geeigneten Servosteuerbus 64 ausgetauscht, der unabhängige Daten- und Andressenleitungen bereitstellt.
  • Der Signalbearbeitungsmodul 20 wird nun mit Bezug auf Fig. 5 beschrieben. Der Signalbearbeitungsmodul 20 verwendet die Digitalsignalprozessoren 80 und 86, um die Berechnungen durchzuführen, um die Unter-Bogenweiten-Positionskoordinaten und die gegenwärtigen Kommandosignale zum Steuern der Maschinenteilaktiviergeräte, wie die Motoren 134 bis 140, zu erzeugen. Die Anmelder haben die TMS 320C25 Digitalsignalprozessoren, die von Texas Instruments Inc. erhältlich sind, ausgewählt. Die Programme, die von dem Signalprozessor 80 durchgeführt werden, sind in einem Festwertspeicher 84 gespeichert und umfassen: Berechnungsroutinen 200 für aktuelle Positionen; Positionsschleifensteuerroutinen 202; Geschwindigkeitsschleifensteuerroutinen 204 und Hardware-Anzeigeroutinen 208. Der Signalprozessor 86 arbeitet in Verbindung mit Programmen, die in einem Speicher 90 gespeichert sind und folgendes umfassen: Modus -Routinen und Ermöglichungskommandobearbeitungsroutinen 212; Unter-Bogenweite-Interpolationsroutinen 216; Initiierungsroutinen 220 und Modusänderungssteuerroutinen 224.
  • Die Signalprozessoren 80 und 86 enthalten eingebaute Adressenund Datenbusse, die unabhängig mit den Systembussen verbunden sind, wie weiter hier beschrieben wird. Der Datenbus 26 liefert separate Signalleitungen für Adressendaten, die durch den Systembusadressentreiber 72 ausgetauscht werden. Die Systembusdaten werden durch ein Datensendeempfangsgerät 74 ausgetauscht. Der Systemdatenbus 26 stellt zusätzliche Signalleitungen für Unterbrechungssignale bereit, die mit der Unterbrechungsschnittstelle 76 verbunden sind. Ein lokaler Speicher zum Unterstützen des Austausches der Daten über den Bus ist in einem RAM-Speicher 78 bereitgestellt. Daten, die zu dem Servosystembus 24 gehören, werden über den Datensendeempfänger 92 ausgetauscht, und die Servosystembusadressen werden über den Adressentreiber 94 ausgetauscht.
  • Es wird mit Bezug auf Fig. 5 weitergemacht und der Signalprozessor 80 betrachtet; ein Adressenpuffer 110 ist zwischen dem Adressenbus des Signalprozessors 80 und dem direkten Adressenbus 112, der dem Programmspeicher 84 bedient, zwischengeschaltet. In einer ähnlichen Weise ist ein Adressentreiber 104 zwischen dem Adressenbus des Signalprozessors 80 und einem lokalen Adressenbus 106, der den Systembusadressentreiber 72 und den Speicher 78 bedient, zwischengeschaltet. Ein Datenbuspuffer 96 ist zwischen dem Datenbus des Signalprossors 80 und dem Programmspeicher 84 zwischengeschaltet. Ein Datensendeempfänger 98 ist zwischen dem Datenbus des Signalprozessors 80 und einem lokalen Datenbus 100, der einen Systembusdatensendeempfänger 74 und den Speicher 78 bedient, zwischengeschaltet. Die Adressen- und Datenbusse des Prozessors 80 sind mit einem 5ervosystemadressenpuffer 94 bzw. einem Servosystemdatensendeempfänger 92 verbunden. Die Funktionen, die von dem Signalprozessor 80 durchgeführt werden, werden primär zur Positions- und Geschwindigkeitsschleifensteuerung geführt, die zur Erzeugung der gegenwärtigen Kommandosignale gehört, somit zur direkten Verbindung zu dem Servosystembus über den Sendeempfänger 92 und dem Puffer 94. Da diese Funktionen nicht einen Teil der gegenwärtigen Erfindung bilden, sind weitere Details davon nicht hier angegeben.
  • Es wird der Prozessor 86 betrachtet; ein Adressentreiber 108 ist zwischen dem Adressenbus des Signalprozessors 86 und dem lokalen Adresseiibus 106, der den Systemadressentreiber 72 und den Speicher 78 bedient, zwischengeschaltet. Ein Adressenpuffer 114 ist zwischen dem Adressenbus des Signalprozessors 86 und dem direkten Adressenbus 116 zwischengeschaltet, der den Datenspeicher 88, der die Speicherung der erhältlichen Daten, die von dem Prozessor 86 verwendet werden, und den Programmspeicher 90 verbindet. Ein Datenpuffer 122 ist zwischen dem Datenbus des Signalprozessors 86 und den Datenkanälen des Datenspeichers 88 und des Programmspeichers 90 zwischengeordnet.
  • Ein Datensendeempfänger 102 ist zwischen dem Datenbus des Signalprozessors 86 und dem lokalen Datenbus 100, der den Systemdatenbussendeempfänger 74 und den Speicher 78 bedient, zwischengeschaltet.
  • Es wird mit Bezug auf Fig. 5 fortgefahren; ein Oszillator und ein Zähler 118 stellen Ausgänge bereit, die als Taktsignale von dem Taktgeneraotr 120 decodiert sind. Diese Taktsignale steuern die Durchführrate des Programms durch die Prozessoren 80 und 86 und bestimmen die vorherbestimmten Zeitintervalle, die in der Berechnung der gegenwärtigen Kommandosignale und der Unterintervalle der Unter-Bogenweiten-Interpolation vorausgesetzt werden.
  • Die Funktionen, die von dem Signalprozessor 86 durchgeführt werden, umfassen die Unter-Bogenweiten-Interpolation. Der Betrieb des Prozessors 86 wird mit Bezug auf die Flußdiagramme der Figuren 6a, 6b, 7a und 7b beschrieben. Das Bearbeiten, das von dem Signalprozessor 86 durchgeführt wird, wird beschrieben als Hintergrundsbearbeitung, die kontinuierlich durchgeführt wird, bis ein Unterbrechungssignal auftritt und die Bearbeitungsprozedur unterbricht. Die Unterbrechungsprozedurbearbeitung, die hier von Interesse ist, tritt in Antwort auf eine Unterbrechung ein, die von dem Taktgenerator 120 erzeugt wird, was in Verbindung steht mit dem Servomechanismusschleifenschließintervall.
  • Ein Flußdiagramm der Prozedur der Hintergrundsbearbeitung, die von dem Prozessor 86 durchgeführt wird, ist in Fig. 6a dargestellt. Am Bearbeitungsschritt 260 werden die Initiierungsroutinen durchgeführt, wenn der Zustand des Servomechanismussteuerers, wie durch die Zustandsübertragungssteuerroutinen 224 bestimmt, Initiierung der Daten in Vorbereitung der Servohandlung fordert. Die Initiierungsroutinen umfassen die Berechnung der Werte, die zusammen mit der Durchführung der Parabol-Unter-Bogenweiten-Interpolationsprozeduren verwendet werden. Nach Abschluß der Initiierungsroutinen fährt die Hintergrundsprograrninbearbeitung mit dem Durchführen einer Endlosschleife fort, die die Durchführung von Routinen 224 zur Steuerung des Modus am Arbeitsschritt 280 enthält. Die Modussteuerroutinen 224 bewirken die Steuerung der Übertragung der Servomechanismussteuerung 28 zwischen vorherbestimmten Steuerzuständen durch Bereitstellen zum Verifizieren aller Bedingungen, die notwendig sind, um von Steuerzustand zu Steuerzustand fortzuschreiten. Diese Routinen steuern das Anlegen und Entfernen von Strom zu den gesteuerten Aktivierungsgeräten in Übereinstimmung mit Kommandos, die von der CNC hergestellt werden, und den instantanen Bedingungen des Servomechanismussteuerers. Andere Hintergrundsbearbeitungsroutinen führen Funktionen aus, die in Verbindung stehen mit der Servomechanismusschleifensteuerung und werden allgemein durch den Verfahrensschritt 282 angedeutet. Details dieser Routinen bilden keinen Teil der gegenwärtigen Erfindung und werden hier nicht beschrieben. Bearbeiten der Endlosschleife, was die Arbeitsschritte 280 und 282 enthält, fährt fort bis zum Auftreten einer Unterbrechung.
  • Die Unterbrechungsprozedurbearbeitung wird mit Bezug auf Fig. 6b beschrieben. In dem Prozeßarbeitsschritt 300 werden die Positionskommandos, die von der CNC hergestellt sind, in den lokalen Speicher vom Speicher 78 geladen. Diese Positionskommandos werden von den Unter-Bogenweiten-Interpolationsprozeduren verwendet, um Koordinaten der Zwischenpositionen der Maschinenteile herzustellen. Am Arbeitsschritt 308 werden Moduskommandodaten und -achsen, die Zustandsdaten von der CNC ermöglichen, in den lokalen Speicher geladen. Diese Daten enthalten Servotypkennzeichen, d.h., Geschwindigkeit und Position, die anzeigen, welche der gesteuerten Motoren aktiviert sind, und die Arbeitszyklussteuerdaten werden verwendet, um den Typ der Unter-Bogenweiten-Interpolation auszuwählen, der durchgeführt werden soll.
  • Die Unterbrechungsprozedurbearbeitung fährt fort mit der Durchführung der Unter-Bogenweiten-Interpolationsroutinen 216 am Arbeitsschritt 310. Die Unter-Bogenweiten-Interpolation bewirkt das Reduzieren der Veränderung der Position, die von der numerischen Steuerung an dem Update-Intervall befehligt wurde, in Unter-Inkremente, die als Positionskommandos POC CMDI an dem Schleifenschließintervall ausgegeben werden sollen. Das Update-Intervalle der numerischen Steuerung wird effektiv in das Schleifenschließintervall der Servomechanismussteuerung 12 unterteilt, um Inkrementpositionskommandos für den Positionsschleifenservomechanismus herzustellen. Zum Unter-Bogenweiten- Interpolieren entlang einer geraden Linie ist der Algorithmus zum Herstellen von Positionskommandos wie folgt:
  • POS CMSI = Xk + S* (δt/UT)
  • wobei:
  • X die Wegpunktkoordinaten, die von der CNC hergestellt werden, festlegen, und die Indizes k und k+1 die gegenwärtigen bzw. Ziel-Daten festlegen.
  • S = Änderung der Position am Update-Intervall = Xk+1 -Xk
  • δt = Unter-Bogenweiten-Intervall
  • I = Index zum Identifizieren des Unter-Intervalls, für welches Positionskommandos hergestellt werden.
  • UT = Update-Intervall
  • Der Algorithmus zum Herstellen der Positionskommandos in Übereinstimmung mit der Parabol-Unter-Bogenweiten-Interpolationstechnik, die hier beschrieben wird, lautet wie folgt:
  • POS CMDI = Xk-1*M1I + Xk*M2I + Xk+1*M3I
  • wobei:
  • X die Wegpunktkoordinaten, die von der CNC hergestellt werden, festlegt, und die Indizes k, k-1 und k+1 die gegenwärtigen, vorangegangenen bzw. Ziel-Daten bestimmten.
  • M1 = Koeffizient des vorangegangenen Wegpunktes
  • M2 = Koeffizient des gegenwärtigen Wegpunktes
  • M3 = Koeffizient des Zielwegpunkts
  • I = Index zum Identifizieren des Unter-Intervalls, für welches die Positionskommandos berechnet worden sind.
  • Die neuerzeugten Positionskommandos POS CMDI werden in dem Speicher 78 für den Zugriff durch den Prozessor 80 gespeichert. Nach der Beendigung der Durchführung der Unter-Bogenweiten-Interpolationsroutinen wird die Durchführung der Hintergrundsprogamme weitergeführt durch Zurückkehren über den Anschluß 330.
  • Die Beschreibung der Prozeduren, die van dem Prozessor 86 durchgeführt werden, um die Positionskommandos in Übereinstimmung mit dem hier beschriebenen Algorithmus zu erzeugen, wird hier mit Bezug auf die Figuren 7a und 7b gegeben. Eine Prozedur zum Berechnen der Werte der Koeffizienten, die in Gleichung (6) verwendet werden, wird durch das Flußdiagramm in Fig. 7a illustriert. Wie zuvor erwähnt, haben die Anmelder sich dazu entschlossen, die Werte dieser Koeffizienten zum Abruf während der Durchführung der Unter-Bogenweiten-Interpolation zu berechnen und zu speichern. Die Prozedur des Fluß diagramms von Fig. 7a wird als Teil der Initiierungsprozedur des Arbeitsschrittes 260 des Flußdiagramms von Fig. 6a, das vor dem Durchführen des Hintergrundsprogramms durchgeführt wird, durchgeführt.
  • Wie Fig. 7a am Arbeitsschritt 262 zu entnehmen ist, ist ein Index I gleich eins und eine Unter-Inkrementenzahl N gleich der vorangegangenen Zahl Q der Unter-Inkremente, die, beispielsweise, von dem Auftragsdatenspeicher 64 der CNC geliefert werden, gesetzt. Am Arbeitsschritt 264 wird der Koeffizient M1 des vorangegangenen Wegpunktes berechnet und an einem Ort gespeichert, der durch den Index I identifiziert ist. Am Arbeitsschritt 266 wird der Koeffizient M2 des gegenwärtigen Wegpunktes berechnet und an einem Ort gespeichert, der durch den Index I identifiziert ist. Am Arbeitsschritt 268 wird der Koeffizient M3 des Zielwegpunkts berechnet und an einem Ort gespeichert, der durch den Index I identifiziert ist. Am Arbeitsschritt 270 wird der Index I um eins erhöht. Am Entscheidungsarbeitsschritt 272 wird der Index mit der Unter-Inkrementenzahl N verglichen, und, wenn beide gleich sind, wird die Durchführung der Initiierungsprozeduren fortgeführt über den Anschluß 274. Wenn festgestellt worden ist, daß der Wert des Index I kleiner als die Unter-Inkrementenzahl N am Entscheidungsschritt 272 ist, fährt die Durchführung zu dem Verarbeitungsschritt 264 fort. Werte für die Koeffizienten M1I, M2I und M3I werden berechnet und auf diese Weise für ganzzahlige Werte von I von 1 bis N gespeichert.
  • Mit den Werten der Koeffizienten M1I, M2I und M3I, die gespeichert sind, kann die Durchführung der Unter-Bogenweiten-Interpolationsberechnungen in Übereinstimmung mit der in dem Fluß diagramm von Fig. 7b illustrierten Prozedur fortgefahren werden. Diese Prozedur wird durch den Prozessor 86 in Verbindung mit dem Bearbeitungsschritt 310 von Fig. 6b durchgeführt. Am Bearbeitungsschritt 312 wird ein Unter-Inkrementenindex I gesetzt, der eins ist, und es wird eine Unter-Inkrementenzahl N gesetzt, die gleich der vorangegangenen Anzahl K der Unter- Inkremente ist. Am Entscheidungsschritt 314 wird die CNC-Interpolationsmoduskommandoflagge getestet, um festzustellen, ob lineare oder parabolische Unter-Bogenweiten-Interpolation durchgeführt werden muß. Wenn eine lineare Unter-Bogenweiten- Interpolation durchzuführen ist, findet eine Berechnung der Iten Positionskommandos POS CMDI am Arbeitsschritt 316 in Übereinstimmung mit dem vorherbeschriebenen Algorithmus statt. Wenn eine parabolische Unter-Bogenweiten-Interpolation durchzuführen ist, findet eine Berechnung der I-ten Positionskommandos POS CMDI am Arbeitsschritt 318 durch Aufaddieren der Produkte der Koeffizienten M1I, M2I und M3I mit den vorangegangenen, gegenwärtigen und Ziel-Wegpositionskoordinaten für jede gesteuerte Achse statt. Nach dem Berechnen der Positionskommandos wird der Index I um eins am Arbeitsschritt 320 erhöht. Am Arbeitsschrit:t 322 wird der Index I dann mit der Unter-Inkrementenzahl N verglichen und, wenn gleich, wird mit der Durchführung der Prozedur des Flußdiagrainms von Fig. 6b über den Anschluß 324 fortgefahren. Wenn der Index I kleiner ist als die Unter-Inkrementenzahl N, wird die Durchführung am Arbeitsschritt 314 wird weitergeführt, und die Berechnung der Positionskommandos POS CMDI wird auf diese Weise für ganzzahlige Werte mit dem Index I von 1 bis N fortgeführt.
  • Wie zuvor erwähnt, ist die Unter-Bogenweiten-Interpolationstechnik der gegenwärtigen Erfindung genauso gut geeignet für Maschinen mit bewegbaren Drehgliedern, wie Industrieroboter. Im allgemeinen ist die gegenwärtige Erfindung anwendbar für jede Steuerung der Bewegung eines Maschinenteils, um eine Bewegung entlang eines Weges zu bewirken, wobei die Positionsänderungen des (Glieds bezüglich der Zeit durch eine Polynomkurve über die aufeinanderfolgenden Wegpunkte, die das Polynom bestimmen, festgelegt werden. Daher ist diese Anmeldung nicht als Beschränkung der Erfindung gedacht, da die Erfindung mit Bezug auf eine Steuerung einer Maschine beschrieben worden ist, die Glieder aufweist, die eine Translation durchführen, um eine akurate Bewegung eines Arbeitspunktes zu erreichen.

Claims (10)

1. Vorrichtung zum Steuern der Bewegung von Maschinenteilen (12, 14, 16), um die Bewegung eines Arbeitspunktes (18) entlang eines vorherbestimmten Weges zu erreichen, wobei Maschinenteilpositionskominandos, die an einem vorherbestimmten Zeitintervall hergestellt sind, Wegpunkte (XK) festlegen, durch welche der Arbeitspunkt zu bewegen ist, und die Vorrichtung gekennzeichnet ist durch:
a. ein Mittel (20) zum periodischen Berechnen von Koordinaten der Positionen jedes Maschinenteils, zwischen den Positionskorarnandos und getrennt durch ein Unterintervall der Zeit, kleiner als das vorherbestimmte Zeitintervall, wobei die Zwischenpositionskoordinaten gemäß einer Parabolfunktion der Zeit berechnet werden, die durch eine Summe der Produkte der aufeinanderfolgenden Positionskommandos und zeitunabhängiger Koeffizienten (M1, M2, M3) bestimmt ist, wobei die aufeinanderfolgenden Positionskommandos vorangegangenen, gegenwärtigen bzw. Ziel-Wegpunkten (XK-1, XK, XK+1) entsprechen; und
b. ein Mittel (22) zum Herstellen von Steuersignalen zum Bewirken der Bewegung jedes der Maschinenteile durch die jeweiligen Zwischenkoordinaten mit einer Rate, die durch das Unterintervall festgelegt ist.
2. Vorrichtung nach Anspruch 1, gekennzeichnet durch:
a. Mittel (869 220) zum Bestimmen der Sätze der Werte der zeitunabhängigen Koeffizienten (M1, M2, M3); und
b. ein Mittel (88) zum Speichern der Sätze der Werte.
3. Vorrichtung nach Anspruch 2, bei der das Mittel zum Bestimmen der Sätze der Werte der zeitunabhängigen Koeffizienten ferner gekennzeichnet ist durch:
a. Mittel (86, 220, 226, 270, 272) zum Herstellen eines Indexsignals, das jedes Unterintervall identifiziert; und
b. Mittel (86, 220, 264, 266, 268) zum Berechnen der Werte eines Satzes der zeitunabhängigen Koeffizienten für das identifizierte Unterintervall.
4. Vorrichtung nach Anspruch 3, bei der das Mittel zum Berechnen der Koordinaten der Maschinenteilpositionen ferner gekennzeichnet ist durch Mittel (86, 216, 312, 320, 323) zum Herstellen eines Indexsignals, das ein Unterintervall identifiziert, für welches ein Maschinenteilkoordinantenwert zu berechnen ist.
5. Vorrichtung nach Anspruch 1, bei der das Mittel zum Berechnen der Zwischenkoordinate ferner gekennzeichnet ist durch Mittel (86, 216, 314) zum selektiven Berechnen von Zwischenkoordinaten gemäß einer linearen Funktion der Zeit und einer parabolischen Funktion der Zeit.
6. Verfahren zum Steuern der Bewegung von bewegbaren Maschinenteilen (12, 14. 16), um die Bewegung eines Arbeitspunktes (18) entlang eines vorherbestimmten Weges zu bewirken, wobei die Maschinenteilpositionskorniuandos, die an einem vorherbestimmten Zeitintervali hergestellt werden, Wegpunkte (XK) festlegen, durch welche der Arbeitspunkt zu bewegen ist, und das Verfahren dadurch gekennzeichnet ist, daß:
a. Koordinaten der Positionen jedes Maschinenteils zwischen den Positionskommandos periodisch berechnet werden (318) an einem Unterintervall der Zeit, das kleiner als das vorherbestimmte ist, geinäß einer Parabolfunktion der Zeit, die durch eine Summe der Produkte der aufeinanderfolgenden Positionskorninandos und zeitunabhängiger Koeffizienten (M1, M2, M3) bestimmt ist, wobei die aufeinanderfolgenden Positionskommandos den vorangegangenen, gegenwärtigen bzw. Ziel-Wegpunkten (XK-1, XK, XK+1) entsprechen; und
b. Bewegen jedes Maschinenteils in Antwort auf die entsprechenden Zwischenkoordinaten mit einer Rate gesteuert wird, die durch das Unterintervall bestimmt ist.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß Sätze von Werten der zeitunabhängigen Koeffizienten (M1, M2, M3) berechnet und gespeichert werden (262-272).
8. Verfahren nach Anspruch 7, bei dem das Berechnen der Sätze der Werte der Koeffizienten ferner dadurch gekennzeichnet ist, daß:
a. ein Indexsignal, das jedes Unterintervall identifiziert, hergestellt wird (262, 270, 272); und
b. ein Satz der Werte der zeitunabhängigen Koeffizienten berechnet wird (264, 266, 268) für jedes identifizierte Unterintervall.
9. Verfahren nach Anspruch 8, bei dem das Berechnen der Koordinaten der Zwischenpositionen ferner dadurch gekennzeichnet ist, daß ein Indexwert hergestellt wird (312, 320, 322), der ein Unterintervall identifiziert, und die Koordinate eines Maschinenteils für das identifizierte Unterintervall berechnet wird (318)
10. Verfahren nach Anspruch 6, gekennzeichnet durch wahlweises Berechnen (314, 316, 318) der Werte der Zwischenkoordinaten gemäß einer linearen Fuktion der Zeit und gemäß der Parabolfunktion der Zeit.
DE69113917T 1990-08-06 1991-08-05 Verfahren und Einrichtung zur Steuerung der Bewegung eines Maschinenteiles. Expired - Lifetime DE69113917T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/563,366 US5229698A (en) 1990-08-06 1990-08-06 Method and apparatus for sub-span interpolation

Publications (2)

Publication Number Publication Date
DE69113917D1 DE69113917D1 (de) 1995-11-23
DE69113917T2 true DE69113917T2 (de) 1996-04-04

Family

ID=24250220

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69113917T Expired - Lifetime DE69113917T2 (de) 1990-08-06 1991-08-05 Verfahren und Einrichtung zur Steuerung der Bewegung eines Maschinenteiles.

Country Status (5)

Country Link
US (1) US5229698A (de)
EP (1) EP0470564B1 (de)
JP (1) JPH0580834A (de)
CA (1) CA2048383C (de)
DE (1) DE69113917T2 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0477397B2 (de) * 1990-09-25 1999-09-01 Dr. Johannes Heidenhain GmbH Verfahren zur Ermittlung von Werkzeugbahnkonturen bei numerisch gesteuerten Maschinen
EP0583487B1 (de) * 1992-07-21 1995-10-04 Siemens Aktiengesellschaft Verfahren zur zeitoptimalen bahntreuen Abbremsung der Achsantriebe von numerisch gesteuerten Maschinen
US5438522A (en) * 1992-12-18 1995-08-01 Cincinnati Milacron Inc. Method and apparatus for sub-span interpolation
US5621294A (en) * 1995-11-21 1997-04-15 Universal Instruments Corporation Apparatus and method for force compensation in a variable reluctance motor
DE19600882C1 (de) * 1996-01-12 1997-09-04 Heesemann Juergen Verfahren zur dezentralen Steuerung eines Motorantriebs
JPH11149306A (ja) * 1997-11-14 1999-06-02 Fanuc Ltd 加工機の制御装置
US6539128B1 (en) * 1999-04-16 2003-03-25 Macronix International Co., Ltd. Method and apparatus for interpolation
US6922606B1 (en) 1999-11-19 2005-07-26 Siemens Energy & Automation, Inc. Apparatus and method for smooth cornering in a motion control system
US7505614B1 (en) 2000-04-03 2009-03-17 Carl Zeiss Microimaging Ais, Inc. Remote interpretation of medical images
JP3592628B2 (ja) * 2000-12-06 2004-11-24 恒彦 山崎 数値制御方法
US6922607B2 (en) * 2000-12-06 2005-07-26 Tsunehiko Yamazaki Numerically controlled method
GB2418033B (en) * 2003-06-02 2007-06-20 Honda Motor Co Ltd Teaching data preparing method for articulated robot
DE10326606B4 (de) * 2003-06-13 2008-05-29 Minebea Co., Ltd. Verfahren zur Kommutierung eines bürstenlosen Gleichstrommotors
US7247095B2 (en) * 2004-10-08 2007-07-24 Nulph James L Method and system for marketing and game selection for lottery products
JP2009011468A (ja) * 2007-07-03 2009-01-22 Aloka Co Ltd 超音波診断装置
US8214415B2 (en) 2008-04-18 2012-07-03 Motion Engineering Incorporated Interpolator for a networked motion control system
CN101887250B (zh) * 2009-05-12 2012-05-30 鸿富锦精密工业(深圳)有限公司 Cnc工具机控制装置
US9222769B2 (en) 2012-12-08 2015-12-29 Grale Technologies High speed metrology with numerically controlled machines
US11587287B2 (en) * 2019-11-08 2023-02-21 Thomas Percy Method of forming a physical model of a geographic area

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1189959A (en) * 1965-09-03 1970-04-29 Olivetti & Co Spa Improvements in Numerical Control Devices
US3857025A (en) * 1971-05-07 1974-12-24 Remington Arms Co Inc Numerically controlled engraving machine system
US3860805A (en) * 1973-05-07 1975-01-14 Bendix Corp Method and apparatus for producing a fairing contour in numerical control systems
US3969615A (en) * 1974-12-20 1976-07-13 The United States Of America As Represented By The United States Energy Research And Development Administration Interpolator for numerically controlled machine tools
JPS597963B2 (ja) * 1977-06-28 1984-02-22 沖電気工業株式会社 数値制御における円弧補間回路
US4262336A (en) * 1979-04-27 1981-04-14 Pritchard Eric K Multi-axis contouring control system
EP0075792B1 (de) * 1981-09-24 1987-08-26 Hitachi, Ltd. Steuerungssystem für Roboterhand
JPS6020209A (ja) * 1983-07-14 1985-02-01 Matsushita Electric Ind Co Ltd ロボツトの補間制御方法
JPS60107106A (ja) * 1983-11-15 1985-06-12 Mitsubishi Electric Corp 曲線補間装置
US4689756A (en) * 1984-06-29 1987-08-25 Shin Meiwa Industry Co., Ltd. Robot interpolation control method
US4672190A (en) * 1984-12-21 1987-06-09 The Gerber Scientific Instrument Company Line following system and process with matrix generating
EP0254884B1 (de) * 1986-07-09 1990-02-28 Siemens Aktiengesellschaft Verfahren zum Bestimmen von die Steuerung eines Roboters leitenden Raumpunkten
DE3640987C1 (de) * 1986-12-01 1993-04-29 Agie Ag Ind Elektronik Numerisches Steuersystem fuer hochdynamische Prozesse
JPS647207A (en) * 1987-06-30 1989-01-11 Fanuc Ltd Spline interpolating system
US4835710A (en) * 1987-07-17 1989-05-30 Cincinnati Milacron Inc. Method of moving and orienting a tool along a curved path
EP0340538B2 (de) * 1988-05-03 1995-11-22 Siemens Aktiengesellschaft Verfahren zum Steuern der Bewegung eines Maschinenelementes
JPH02113305A (ja) * 1988-10-24 1990-04-25 Fanuc Ltd スプライン補間方法
IT1232128B (it) * 1989-07-05 1992-01-23 Advanced Data Processing Dispositivo elettronico di interpolazione polinomiale per controlli numerici di macchine utensili, particolarmente fresatrici per la lavorazione di stampi e macchina incorporante detto dispositivo
EP0417337B1 (de) * 1989-09-11 1993-12-29 Siemens Aktiengesellschaft Verfahren zum Betrieb einer numerisch gesteuerten Werkzeugmaschine oder eines Roboters

Also Published As

Publication number Publication date
CA2048383A1 (en) 1992-02-07
EP0470564B1 (de) 1995-10-18
US5229698A (en) 1993-07-20
EP0470564A2 (de) 1992-02-12
DE69113917D1 (de) 1995-11-23
CA2048383C (en) 1996-11-26
EP0470564A3 (en) 1992-05-06
JPH0580834A (ja) 1993-04-02

Similar Documents

Publication Publication Date Title
DE69113917T2 (de) Verfahren und Einrichtung zur Steuerung der Bewegung eines Maschinenteiles.
DE2636148C2 (de) Verfahren zur Bahnsteuerung eines Elementes mittels linearer oder zirkularer Interpolation
DE69032694T2 (de) Dynamische fehlerverbesserung hervorgerufen durch den servomechanismus in einem numerisch kontrollierten rechnersystem und seine verwendung in einem stetigen zyklus
DE3872044T2 (de) Bewegungssteuerprozess mit mindestwegzeiterzeugung.
DE3587608T2 (de) Fehlerkorrektur im wege eines roboters.
EP0145967B1 (de) Krummliniges Interpolationsverfahren und -system
DE102005015810B4 (de) Bearbeitungszeit-Berechnungsvorrichtung
EP0312544B1 (de) Durch iterative splinefunktion gesteuerter positionierungsmechanismus
DE3886138T2 (de) Numerisch gesteuerte Werkzeugmaschine.
DE69219335T2 (de) Steuerungssystem für werkzeugmaschine
DE19618332A1 (de) Numerische Steuervorrichtung mit Spline-Interpolationsfunktion
DE112017000203B4 (de) Numerische Steuerung und numerisches Steuerungsverfahren
DE3344633A1 (de) Verfahren und vorrichtung zur steuerung eines roboters
WO2010136586A1 (de) Verfahren und vorrichtung zur echtzeitfähigen bahnplanung vierter ordnung zur generierung kontinuierlicher, rucksprungfreier sollwerttrajektorien
DE102011018536A1 (de) Numerische Steuerung mit einer Oszillationsvorgangsfunktion, die im Stande ist, Geschwindigkeit in einem optionalen Abschnitt zu ändern
DE102011104445A1 (de) Numerische Steuerung für eine Werkzeugmaschine mit einer Funktion zur Geschwindigkeitssteuerung einer Bogenführung
DE3886748T2 (de) Geschwindigkeitsregelanordnung.
EP0530401B1 (de) Verfahren zum Auslösen von positionsbezogenen Schaltvorgängen während eines von einem Roboter oder einer Werkzeugmaschine ausgeführten Bearbeitungsvorganges
US5004968A (en) Method for acceleration and deceleration control of servomotors
EP0419706B1 (de) Verfahren zur numerischen Positions- oder Bahnsteuerung
EP0706103B1 (de) Verfahren und Vorrichtung zur numerischen Bahnsteuerung von Werkzeugmaschinen oder Robotern
DE102018004444B4 (de) Steuervorrichtung mit Bewertungsprogramm und Parameteroptimierungsverfahren
DE69021795T2 (de) Elektronisches Polynomisches Interpolationsgerät für numerische Steuerungen von Werkzeugmaschinen, besonders für Fräsmaschinen für die Herstellung von Stanzen und mit diesem Gerät ausgerüstete Maschinen.
DE102017009751A1 (de) Numerische Steuervorrichtung
DE2643148C2 (de)

Legal Events

Date Code Title Description
8364 No opposition during term of opposition