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
Links
- 230000033001 locomotion Effects 0.000 title claims description 41
- 238000000034 method Methods 0.000 title claims description 33
- 230000000694 effects Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 8
- 241000269627 Amphiuma means Species 0.000 claims 3
- 101100049849 Arabidopsis thaliana XK1 gene Proteins 0.000 claims 2
- 238000012886 linear function Methods 0.000 claims 2
- 238000012545 processing Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 15
- 239000000872 buffer Substances 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 9
- 230000000977 initiatory effect Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000013479 data entry Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/41—Numerical 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/4103—Digital 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.
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)
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)
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 |
-
1990
- 1990-08-06 US US07/563,366 patent/US5229698A/en not_active Expired - Lifetime
-
1991
- 1991-08-02 CA CA002048383A patent/CA2048383C/en not_active Expired - Lifetime
- 1991-08-05 DE DE69113917T patent/DE69113917T2/de not_active Expired - Lifetime
- 1991-08-05 EP EP91113159A patent/EP0470564B1/de not_active Expired - Lifetime
- 1991-08-06 JP JP3196608A patent/JPH0580834A/ja active Pending
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 |