DE102009010859A1 - Processing instructions computing method for computerized numerical control machine tool, involves calculating multiple position interpolation values corresponding to position coefficients of position polynomial - Google Patents

Processing instructions computing method for computerized numerical control machine tool, involves calculating multiple position interpolation values corresponding to position coefficients of position polynomial Download PDF

Info

Publication number
DE102009010859A1
DE102009010859A1 DE102009010859A DE102009010859A DE102009010859A1 DE 102009010859 A1 DE102009010859 A1 DE 102009010859A1 DE 102009010859 A DE102009010859 A DE 102009010859A DE 102009010859 A DE102009010859 A DE 102009010859A DE 102009010859 A1 DE102009010859 A1 DE 102009010859A1
Authority
DE
Germany
Prior art keywords
polynomial
coefficients
velocity
commands
modified
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102009010859A
Other languages
German (de)
Other versions
DE102009010859B4 (en
Inventor
Ching-Hsiung Tsai
Jia-Ming Wu
Tsung-Hsin Cheng
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.)
Delta Electronics Inc
Original Assignee
Delta Electronics 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 Delta Electronics Inc filed Critical Delta Electronics Inc
Priority to DE102009010859.9A priority Critical patent/DE102009010859B4/en
Publication of DE102009010859A1 publication Critical patent/DE102009010859A1/en
Application granted granted Critical
Publication of DE102009010859B4 publication Critical patent/DE102009010859B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Abstract

The method involves allocating a storage space for storing position commands, and reading a position matrix with preset elements. A transformation matrix is read with other preset elements, and multiple position coefficients of position polynomial are calculated. Multiple position interpolation values are calculated corresponding to the position coefficients. Speed polynomial and speed coefficients of the speed polynomial are calculated using the position polynomial. Multiple speed interpolation values are calculated corresponding to the speed coefficients.

Description

HINTERGRUND DER ERFINDUNGBACKGROUND OF THE INVENTION

Gebiet der ErfindungField of the invention

Die Erfindung betrifft ein Verfahren zum Berechnen von Aufbereitungsbefehlen für ein numerisch gesteuertes System, genauer gesagt, ein Verfahren zum Berechnen von Aufbereitungsbefehlen, um ein mit hoher Ordnung differenzierbares kontinuierliches Polynom für ein numerisch gesteuertes System aufzubereiten.The The invention relates to a method for calculating conditioning commands for a numerically controlled system, more precisely, a Method of calculating conditioning instructions to one with high Order differentiable continuous polynomial for to prepare a numerically controlled system.

Beschreibung des Stands der TechnikDescription of the state of the technology

Bewegungssteuerung ist eine Kerntechnik bei Präzisionswerkzeugmaschinen, und zum Anwendungsumfang der Bewegungssteuerungstechnik gehören Industriemaschinen zur Positionssteuerung oder Geschwindigkeitssteuerung, insbesondere CNC (Computerized Numerical Control = Computer-gestützte numerische Steuerung)-Werkzeugmaschinen mit hoch präzisen Steuerungsvorgängen.motion control is a nuclear technology in precision machine tools, and belong to the scope of application of motion control technology Industrial machines for position control or speed control, in particular CNC (Computerized Numerical Control = Computer-aided numerical control) machine tools with high precision Control operations.

In ein Bewegungssteuerungssystem sind verschiedene Software- und Hardwaretechniken integriert, wobei die Kosten, die Stabilität, die Nutzungshäufigkeit, die Wartbarkeit desselben sowie die Skalierbarkeit und das Zusammenarbeitsverhalten der Software und der Hardware wichtige Faktoren zum Bewerten eines derartigen Systems sind. Ferner werden sowohl die Position als auch die Geschwindigkeit aller Spindeln einer Werkzeugmaschine berücksichtigt, um die Steuerungsqualität derselben zu bestimmen.In A motion control system are various software and hardware techniques integrated, whereby the costs, the stability, the frequency of use, maintainability, scalability and collaboration behavior software and hardware are important factors for evaluating a such system. Further, both the position and considers the speed of all spindles of a machine tool, to determine the control quality of the same.

Bei CNC-Werkzeugmaschinen ist ein CNC-System in eine Werkzeugmaschine eingebaut, und dieses System empfängt und berechnet Eingangsdaten und liefert anschließend Befehle zum Steuern von Betriebsbedingungen, wie der Spindeldrehung, des Austauschs von Schneidwerkzeugen, der Schneidbewegung, des Schaltens eines Kühlmittelschalters usw., um die beabsichtigten Steuerungsvorgänge zu realisieren.at CNC machine tools is a CNC system in a machine tool built-in, and this system receives and calculates input data and then provides commands to control operating conditions, such as the spindle rotation, the replacement of cutting tools, the Cutting movement, the switching of a coolant switch etc., to realize the intended control operations.

Während der Arbeit von CNC-Werkzeugmaschinen werden Ursprungsdaten (wie die geometrische Form sowie Konturverläufe) und entsprechende Anweisungen geliefert, um mehrere Interpolationswerte zu berechnen, um an einem noch nicht bearbeiteten Material eine genaue Bearbeitung entlang einer Konturkurve zwischen einem Startpunkt und einem Endpunkt auszuführen.While the work of CNC machine tools are original data (such as the geometric shape and contour curves) and corresponding Instructions supplied to calculate multiple interpolation values, in order to work on a not yet processed material an exact processing along a contour curve between a starting point and an end point perform.

Das US-Patent 6,772,020 offenbart eine Anordnung zum Erzeugen von Befehlsvariablen für Steuerungsschleifen einer CNC-Werkzeugmaschine mit einer Interpolationseinheit zum Liefern von Positionssollpunkten mit einer definierten Interpolationsscanrate, und mit einer Präzisionsinterpolationseinheit. Die Präzisionsinterpolationseinheit verfügt über einen Scanratenwandler und ein stromabwärts angeschlossenes Tiefpassfilter, wobei die Präzisionsinterpolationseinheit stromabwärts in Bezug auf die Interpolationseinheit angeordnet ist, die aus eingangsseitigen Positionssollpunkten für eine oder mehrere stromabwärts angeschlossene Steuerungsschleifen ausgangsseitige Befehlsvariablen erzeugt, wobei die Präzisionsinterpolationseinheit mit einer Steuerungsschleifen-Scanrate Befehlsvariable in einem zeitlichen Muster der Steuerungsschleife erzeugt. Die Befehlsvariablen für die Steuerungsschleifen sind so implementiert, dass die Struktur eines Filters zweiter Ordnung verwendet wird, und dieses ist ebenfalls so konzipiert, dass es zur CNC-Werkzeugmaschine passt. Jedoch ergibt sich für resultierende Pfadkurven keine Differenzierbarkeit höherer Ordnung. Wegen der hohen Komplexität der Befehlserzeugungsanordnung ist die praktische Anwendung derartiger CNC-Werkzeugmaschinen verringert.The U.S. Patent 6,772,020 discloses an arrangement for generating command variables for control loops of a CNC machine tool having an interpolation unit for providing position set points with a defined interpolation scan rate, and with a precision interpolation unit. The precision interpolation unit has a scan rate converter and a downstream-connected low-pass filter, the precision interpolation unit being located downstream of the interpolation unit generating input-side command variables from input-side position setpoints for one or more downstream-connected control loops, the precision interpolation unit having a control loop scan rate command variable in one generated temporal pattern of the control loop. The command variables for the control loops are implemented using the structure of a second-order filter, and this is also designed to match the CNC machine tool. However, there is no higher order differentiability for resulting path curves. Because of the high complexity of the command generation arrangement, the practical application of such CNC machine tools is reduced.

ZUSAMMENFASSUNG DER ERFINDUNGSUMMARY OF THE INVENTION

Demgemäß wird ein Verfahren zum Berechnen von Aufbereitungsbefehlen zum Aufbereiten eines mit hoher Ordnung differenzierbaren kontinuierlichen Polynoms für ein numerisch gesteuertes System und zum Synchronisieren der Befehle zwischen einem Servotreiber und einer Steuerungseinheit einer höheren Ebene benötigt.Accordingly, becomes a method for computing conditioning instructions for rendering a high-order differentiable continuous polynomial for a numerically controlled system and for synchronization the commands between a servo driver and a control unit needed a higher level.

Um diese Aufgabe zu lösen, ist ein Verfahren zum Berechnen von Aufbereitungsbefehlen für ein numerisch gesteuertes System in solcher Weise geschaffen, dass eine Steuerungseinheit einer höheren Ebene Positionsbefehle an einen Servotreiber zum Ansteuern eines Motors liefert. Schritte des Verfahrens werden wie folgt beschrieben: Als Erstes wird durch den Servotreiber ein Speicherraum zum Speichern von Positionsbefehlen bereitgestellt. Danach werden eine Positionsmatrix und eine Transformationsmatrix gelesen. Die Transformationsmatrix wird mit der Positionsmatrix multipliziert, um mehrere Positionskoeffizienten eines Positionspolynoms zu gewinnen, und es werden mehrere Positionsinterpolationswerte berechnet. Außerdem können ein Geschwindigkeitspolynom und ein Beschleunigungspolynom gewonnen werden. Demgemäß werden die Positionsbefehle für die Aufbereitung eines mit hoher Ordnung differenzierbaren kontinuierlichen Polynoms zum Synchronisieren des Servotreibers und der Steuerungseinheit einer höheren Ebene berechnet.In order to achieve this object, a method of calculating edit commands for a numerically controlled system is provided such that a higher level controller provides position commands to a servo driver for driving a motor. Steps of the method are described as follows: First, a memory space for storing position commands is provided by the servo driver. Thereafter, a position matrix and a transformation matrix are read. The transformation matrix is multiplied by the position matrix to obtain multiple position coefficients of a Po position polynomial and several position interpolation values are calculated. In addition, a velocity polynomial and an acceleration polynomial can be obtained. Accordingly, the position commands for conditioning a high-order differentiable continuous polynomial for synchronizing the servo driver and the higher-level control unit are calculated.

Es ist zu beachten, dass sowohl die vorstehende allgemeine Beschreibung als auch die folgende Beschreibung nur beispielhaft sind und dazu vorgesehen sind, für eine weitere Erläuterung der beanspruchten Erfindung zu sorgen. Andere Vorteile und Merkmale der Erfindung werden aus der folgenden Beschreibung, den Zeichnungen und den Ansprüchen ersichtlich werden.It Please note that both the above general description as well as the following description are exemplary only and thereto are provided for further explanation of the claimed invention. Other advantages and features The invention will become apparent from the following description, the drawings and the claims become apparent.

KURZE BESCHREIBUNG DER ZEICHNUNGBRIEF DESCRIPTION OF THE DRAWING

Die als neuartig angesehenen Merkmale der Erfindung sind speziell in den beigefügten Ansprüchen dargelegt. Die Erfindung selbst ist jedoch am besten unter Bezugnahme auf die folgende detaillierte Beschreibung der Erfindung zu verstehen, in der eine beispielhafte Ausführungsform der Erfindung unter Bezugnahme auf die beigefügten Zeichnungen angegeben ist.The As novel features of the invention are specifically described in set out in the attached claims. The invention itself, however, is best with reference to the following detailed To understand the description of the invention, in which an exemplary Embodiment of the invention with reference to the attached drawings.

1 ist eine schematische Ansicht zur Kommunikation zwischen einer Steuerungseinheit einer höheren Ebene und einem Servotreiber bei einer Ausführungsform der Erfindung; 1 Fig. 12 is a schematic view of communication between a higher-level control unit and a servo driver in an embodiment of the invention;

2 ist eine schematische Ansicht zum Erläutern des Berechnens von Aufbereitungsbefehlen; 2 Fig. 12 is a schematic view for explaining the computation of rendering commands;

3 ist ein Flussdiagramm zum Veranschaulichen des Berechnens von Aufbereitungsbefehlen; und 3 Fig. 10 is a flow chart illustrating the computation of rendering commands; and

4 ist eine schematische Ansicht zum Veranschaulichen von Positionsbefehlen, wie sie von der Steuerungseinheit einer höheren Ebene an den Servotreiber übertragen und durch diesen abgetastet werden. 4 FIG. 12 is a schematic view illustrating position commands transmitted from and scanned by the higher-level control unit to the servo driver. FIG.

DETAILLIERTE BESCHREIBUNG DER ERFINDUNGDETAILED DESCRIPTION THE INVENTION

In Zusammenwirkung mit den beigefügten Zeichnungen wird nachfolgend der technische Inhalt der Erfindung anhand einer bevorzugten Ausführungsform, die nicht zum Einschränken des Schutzumfangs zu verwenden ist, beschrieben. Alle äquivalenten Variationen und Modifizierungen zu den beigefügten Ansprüchen sollen durch diese Ansprüche abgedeckt sein.In The interaction with the attached drawings will become hereafter the technical content of the invention with reference to a preferred embodiment, not to be used to limit the scope of protection is described. All equivalent variations and modifications to the appended claims intended by this Claims to be covered.

Nun wird auf die Zeichnungsfiguren Bezug genommen, um eine Ausführungsform der Erfindung detailliert zu beschreiben.Now Reference is made to the drawing figures to an embodiment to describe the invention in detail.

Unter Bezugnahme auf die 1 wird zunächst die Kommunikation zwischen einer Steuerungseinheit einer höheren Ebene und einem Servotreiber bei der Ausführungsform erläutert. Als Beispiel wird das elektrische System einer CNC-Werkzeugmaschine verwendet. Die Steuerungseinheit 10 einer höheren Ebene erzeugt periodisch über eine G-Code-Interpretationseinheit (nicht dargestellt) periodisch Positionsdaten. Die Steuerungseinheit 10 einer höheren Ebene ist elektrisch mit einem Servotreiber 20 verbunden, und sie liefert pulsförmige Positionsbefehle θ(i) an diesen. Die Positionsbefehle θ(i) werden über eine Übertragungsleitung zwischen der Steuerungseinheit 10 einer höheren Ebene und dem Servotreiber 20 übertragen. Die Steuerungseinheit 10 einer höheren Ebene und der Servotreiber 20 verfügen jeweils über eine serielle Kommunikationsschnittstelle 102 bzw. 202 für hohe Geschwindigkeit. Die Periode der von der Steuerungseinheit 10 einer höheren Ebene übertragenen Aufbereitungsbefehle θ(i) beträgt T (Sekunden), und die Periode der durch den Servotreiber 20 empfangenen Positionsbefehle θ(i) beträgt T (Sekunden). Außerdem beträgt die Abtastrate eines im Servotreiber 20 installierten digitalen Signalprozessors (DSP) 204 H (Sekunden). Wenn die Periode der vom Servotreiber 20 empfangenen Positionsbefehle θ(i) 0,5 ms beträgt (T = 0,5 ms), beträgt die Abtastrate des digitalen Signalprozessors 204 0,05 ms (H = 0,05 ms). Demgemäß liefert der digitale Signalprozessor 204 in 0,5 ms neun Interpolationswerte für eine Kompensation der Positionsbefehle θ(i). Durch den digitalen Signalprozessor 204 ist eine Befehlsaufbereitungs-Recheneinheit 2042 gebildet, und ferner wird eine Steuerungsschleife 2044 dazu verwendet, für eine Aufbereitung der Positionsbefehle θ(i) in ein mit hoher Ordnung differenzierbares kontinuierliches Polynom zu sorgen.With reference to the 1 First, the communication between a higher-level control unit and a servo driver in the embodiment will be explained. As an example, the electrical system of a CNC machine tool is used. The control unit 10 a higher level periodically generates position data via a G-code interpretation unit (not shown). The control unit 10 a higher level is electric with a servo driver 20 and supplies pulse-shaped position commands θ (i) to them. The position commands θ (i) are transmitted via a transmission line between the control unit 10 a higher level and the servo driver 20 transfer. The control unit 10 a higher level and the servo driver 20 each have a serial communication interface 102 respectively. 202 for high speed. The period of the control unit 10 higher level rendering commands θ (i) is T (seconds), and the period by the servo driver 20 received position commands θ (i) is T (seconds). In addition, the sampling rate is one in the servo driver 20 installed digital signal processor (DSP) 204 H (seconds). If the period of the servo driver 20 received position commands θ (i) is 0.5 ms (T = 0.5 ms), is the sampling rate of the digital signal processor 204 0.05 ms (H = 0.05 ms). Accordingly, the digital signal processor provides 204 in 0.5 ms, nine interpolation values for a compensation of the position commands θ (i). Through the digital signal processor 204 is a command-conditioning unit 2042 and, further, a control loop 2044 is used to provide for conditioning the position commands θ (i) into a high order differentiable continuous polynomial.

Nun wird auf die 2 und 3 Bezug genommen, bei denen es sich um eine schematische Ansicht zum Veranschaulichen des Berechnens von Aufbereitungsbefehlen bzw. ein Flussdiagramm hierzu handelt. Gemäß einer detaillierten Beschreibung zum Berechnen von Aufbereitungsbefehlen wird wie folgt vorgegangen. Als Erstes wird durch den Servotreiber 20 ein Speicherraum 2046 zum Speichern von Positionsbefehlen θ(i) bereitgestellt (S100), und die Positionsbefehle θ(i) werden von der Steuerungseinheit 10 einer höheren Ebene an den Servotreiber 20 übertragen. Die Positionsbefehle θ(i) werden unter Verwendung einer Warteschlangenvorgehensweise (first-in-first-out, FIFO) im Speicherraum 2026 abgespeichert, um eine Positionsmatrix mit k auf 1 Elementen zu bilden. Die Positionsmatrix verfügt über ein Element θ(0) für die aktuelle Position sowie k-1 Elemente θ(–1), θ(–2), θ(–3), ... und θ(k-1) für vorangegangene Positionselemente. Es ist ein Positionspolynom θ(n) vom Grad (k-1) definiert. K möge den Wert 6 haben, d. h., der Grad des Positionspolynoms θ(n) ist 5, um das Positionspolynom θ(n) zu veranschaulichen, das wie folgt ausgedrückt ist: θ(n) = a5·n5 + a4·n4 + a3·n3 + a2·n2 + a1·n + a0 (Gleichung 1) Now on the 2 and 3 Reference is made, which is a schematic view for illustrating the preparation of processing commands or a flowchart thereto. In accordance with a detailed description for calculating edit commands, the procedure is as follows. First, by the servo driver 20 a storage room 2046 for storing position commands θ (i) is provided (S100), and the position commands θ (i) are supplied from the control unit 10 a higher level to the servo driver 20 transfer. The position commands θ (i) are stored in memory space using a first-in-first-out (FIFO) approach 2026 stored to form a position matrix with k on 1 element. The position matrix has an element θ (0) for the current position and k-1 elements θ (-1), θ (-2), θ (-3), ... and θ (k-1) for previous position elements , A position polynomial θ (n) of degree (k-1) is defined. Let K have the value 6, that is, the degree of the position polynomial θ (n) is 5 to illustrate the position polynomial θ (n) expressed as follows: θ (n) = a 5 · n 5 + a 4 · n 4 + a 3 · n 3 + a 2 · n 2 + a 1 · N + a 0 (Equation 1)

Danach wird die Positionsmatrix mit k-auf-1 Elementen gelesen (S102). Wenn k den Wert 6 hat, verfügt die Positionsmatrix über sechs Elemente, bei denen es sich um das Element θ(0) der aktuellen Position und Elemente θ(–1), θ(–2), θ(–3), θ(–4), θ(–5) der fünf vorangegangenen Positionen handelt. Danach wird eine Transformationsmatrix M mit kontinuierlich k auf k Elementen gelesen (S104). Die Transformationsmatrix M ist eine Matrix mit konstanten Elementen und die Elemente der Transformationsmatrix M werden entsprechend der Dimension dieser Transformationsmatrix M bestimmt. Demgemäß kann das Positionspolynom θ(n) wie folgt ausgedrückt werden: θ(0) = a5·(0)5 + a4·(0)4 + a3·(0)3 + a2·(0)2 + a1·(0) +a0 (Gl. 2.1) θ(–1) = a5·(–1)5 + a4·(–1)4 + a3·(–1)3 + a2·(–1)2 + a1·(–1) + a0 (Gl. 2.2) θ(–2) = a5·(–2)5+ a4·(–2)4 + a3·(–2)3 + a2·(–2)2 + a1·(–2) + a0 (Gl. 2.3) θ(–3) = a5·(–3)5+ a4·(–3)4 + a3·(–3)3 + a2·(–3)2 + a1·(–3) + a0 (Gl. 2.4) θ(–4) = a5·(–4)5+ a4·(–4)4 + a3·(–4)3 + a2·(–4)2 + a1·(–4) + a0 (Gl. 2.5) θ(–5) = a5·(–5)5 + a4·(–5)4 + a3·(–5)3 + a2·(–5)2 + a1·(–5) + a0 (Gl. 2.6) Thereafter, the position matrix is read with k-on-1 elements (S102). When k is 6, the position matrix has six elements which are the current position element θ (0) and elements θ (-1), θ (-2), θ (-3), θ ( -4), θ (-5) of the five previous positions. Thereafter, a transformation matrix M having continuous k on k elements is read (S104). The transformation matrix M is a matrix with constant elements and the elements of the transformation matrix M are determined according to the dimension of this transformation matrix M. Accordingly, the position polynomial θ (n) can be expressed as follows: θ (0) = a 5 · (0) 5 + a 4 · (0) 4 + a 3 · (0) 3 + a 2 · (0) 2 + a 1 · (0) + a 0 (Equation 2.1) θ (-1) = a 5 ·(-1) 5 + a 4 ·(-1) 4 + a 3 ·(-1) 3 + a 2 ·(-1) 2 + a 1 · (-1) + a 0 (Equation 2.2) θ (-2) = a 5 · (-2) 5 + a 4 · (-2) 4 + a 3 · (-2) 3 + a 2 · (-2) 2 + a 1 · (-2) + a 0 (Equation 2.3) θ (-3) = a 5 · (-3) 5 + a 4 · (-3) 4 + a 3 · (-3) 3 + a 2 · (-3) 2 + a 1 · (-3) + a 0 (Equation 2.4) θ (-4) = a 5 · (-4) 5 + a 4 · (-4) 4 + a 3 · (-4) 3 + a 2 · (-4) 2 + a 1 · (-4) + a 0 (Equation 2.5) θ (-5) = a 5 · (-5) 5 + a 4 · (-5) 4 + a 3 · (-5) 3 + a 2 · (-5) 2 + a 1 · (-5) + a 0 (Equation 2.6)

Die obigen Gleichungen (Gleichung 1.2 bis Gleichung 2.6) werden in Matrixform wie folgt ausgedrückt:

Figure 00070001
The above equations (Equation 1.2 to Equation 2.6) are expressed in matrix form as follows:
Figure 00070001

Auch ist die Transformationsmatrix M wie folgt definiert:

Figure 00070002
Also, the transformation matrix M is defined as follows:
Figure 00070002

Anschließend werden k Positionskoeffizienten des Positionspolynoms θ(n) berechnet (S106). Die sechs Positionskoeffizienten (k = 6), d. h. a0 bis a5 können wie folgt durch die Transformationsmatrix M berechnet werden:

Figure 00070003
Subsequently, k position coefficients of the position polynomial θ (n) are calculated (S106). The six position coefficients (k = 6), ie a 0 to a 5, can be calculated by the transformation matrix M as follows:
Figure 00070003

Danach werden mehrere Positionsinterpolationswerte entsprechend dem Positionspolynom θ(n) und den Positionskoeffizienten berechnet (S108). Die Positionsbefehle θ(i) können durch das Positionspolynom θ(n) vom Grad k-1 berechnet werden. Wenn i eine ganze Zahl ist, sind die Positionsbefehle θ(i) Positionsdaten, wie sie von einer Steuerungseinheit 10 einer höheren Ebene übertragen werden, und wenn i keine ganze Zahl ist, sind die Positionsbefehle θ(i) die Positionsinterpolationswerte. Beispielsweise sind neun Positionsinterpolationswerte θ(–0,1), θ(–0,2), θ(–0,3) ... bzw. θ(0,9), und die neun Positionsinterpolationswerte liegen zwischen θ(0) und θ(–1).Thereafter, a plurality of position interpolation values corresponding to the position polynomial θ (n) and the position coefficient are calculated (S108). The position commands θ (i) can be calculated by the position polynomial θ (n) of degree k-1. If i is an integer, the position commands θ (i) are positional data as read from a control unit 10 are transmitted at a higher level, and when i is not an integer, the position commands θ (i) are the position interpolation values. For example, nine position interpolation values are θ (-0.1), θ (-0.2), θ (-0.3) ... and θ (0.9), respectively, and the nine position interpolation values are between θ (0) and θ (-1).

Außerdem werden ein Geschwindigkeitspolynom ω(n) vom Grad k-2 und mehrere Geschwindigkeitskoeffizienten des Geschwindigkeitspolynoms durch Bilden der ersten Ableitung des Positionspolynoms θ(n) berechnet (S 110). Die Gleichung 1 entspricht der ersten Ableitung zum Berechnen des Geschwindigkeitspolynoms ω(n), d. h. ω(n) = dθ(n)/dn wie folgt: ω(n) = 5a5·n4 + 4a4·n3 + 3a3·n2 + 2a2·n + a1 (Gleichung 3) In addition, a velocity polynomial ω (n) of degree k-2 and a plurality of velocity coefficients of the velocity polynomial are calculated by taking the first derivative of the position polynomial θ (n) (S 110). Equation 1 corresponds to the first derivative for calculating the velocity polynomial ω (n), ie ω (n) = dθ (n) / dn as follows: ω (n) = 5a 5 · n 4 + 4a 4 · n 3 + 3a 3 · n 2 + 2a 2 · N + a 1 (Equation 3)

Danach werden mehrere Geschwindigkeitsinterpolationswerte entsprechend dem Geschwindigkeitspolynom ω(n) und den Geschwindigkeitskoeffizienten berechnet (S112).After that become multiple speed interpolation values accordingly the velocity polynomial ω (n) and the velocity coefficient calculated (S112).

Zusätzlich werden ein Beschleunigungspolynom α(n) vom Grad k-3 und mehrere Beschleunigungskoeffizienten desselben durch Bilden der ersten Ableitung des Geschwindigkeitspolynoms ω(n) berechnet (S114). Die Gleichung 3 wird der ersten Ableitung unterzogen, um das Beschleunigungspolynom α(n), d. h. α(n) = dω(n)/dn wie folgt zu berechnen: α(n) = 20a5·n3 + 12a4·n2 + 6a3·n + 2a2 (Gleichung 4) In addition, an acceleration polynomial α (n) of degree k-3 and a plurality of acceleration coefficients thereof are calculated by taking the first derivative of the velocity polynomial ω (n) (S114). Equation 3 is subjected to the first derivative to calculate the acceleration polynomial α (n), ie α (n) = dω (n) / dn, as follows: α (n) = 20a 5 · n 3 + 12a 4 · n 2 + 6a 3 · N + 2a 2 (Equation 4)

Abschließend werden mehrere Beschleunigungsinterpolationswerte entsprechend dem Beschleunigungspolynom α(n) und den Beschleunigungskoeffizienten berechnet (S116).Finally For example, a plurality of acceleration interpolation values corresponding to Acceleration polynomial α (n) and the acceleration coefficient calculated (S116).

Das Positionspolynom θ(n), das Geschwindigkeitspolynom ω(n) und das Beschleunigungspolynom α(n) sind in Phase, wodurch eine Servoverzögerung zwischen der Steuerungseinheit 10 einer höheren Ebene und dem Servotreiber 20 gemäß der Gleichung 1, der Gleichung 3 und der Gleichung 4 deutlich verringert ist.The position polynomial θ (n), the velocity polynomial ω (n) and the acceleration polynomial α (n) are in phase, whereby a servo delay between the control unit 10 a higher level and the servo driver 20 according to the equation 1, the equation 3 and the equation 4 is significantly reduced.

Es wird auf die 4 Bezug genommen, die eine schematische Ansicht von Positionsbefehlen ist, wie sie von der Steuerungseinheit einer höheren Ebene an den Servotreiber übertragen und durch diesen abgetastet werden. Da die Positionsbefehle θ(i) zwischen dem Servotreiber 20 und der Steuerungseinheit 10 einer höheren Ebene nicht synchron sind, wird das Positionspolynom θ(n) modifiziert, um zu einem modifizierten Positionspolynom θ(t) zu werden, um die Positionsbefehle θ(i) zwischen dem Servotreiber 20 und der Steuerungsschleife 2046 der Steuerungseinheit 10 einer höheren Ebene zu synchronisieren.It will be on the 4 Reference is made, which is a schematic view of position commands as transmitted from and scanned by the higher-level control unit to the servo driver. Since the position commands θ (i) between the servo driver 20 and the control unit 10 are out of synch, the position polynomial θ (n) is modified to become a modified position polynomial θ (t) to the position commands θ (i) between the servo driver 20 and the control loop 2046 the control unit 10 to synchronize a higher level.

Die Variable n im Positionspolynom θ(n) (Gleichung 1) wird durch eine Variable t ersetzt, um ein modifiziertes Positionspolynom θ(t) zu erhalten (Gleichung 5), wobei t = Ta + n × Ts – Tc. gilt. Das modifizierte Positionspolynom θ(t) ist wie folgt ausgedrückt: x(t) = a5·(t)5 + a4·(t)4 + a3·(t)3 + a2·(t)2 + a1·t + a0 (Gleichung 5)wobei Ta der Zeitpunkt ist, zu dem die Positionsbefehle θ(i) anfänglich in die Steuerungsschleife 2046 übertragen werden; Ts der Zeitpunkt der Positionsbefehle θ(i) ist, wie sie durch die Steuerungsschleife 2046 abgetastet werden; und Tc die Periode der Positionsbefehl θ(i) der Steuerungseinheit 10 einer höheren Ebene ist.The variable n in the position polynomial θ (n) (Equation 1) is replaced by a variable t to obtain a modified position polynomial θ (t) (Equation 5), where t = Ta + n × Ts-Tc. applies. The modified position polynomial θ (t) is expressed as follows: x (t) = a 5 * (T) 5 + a 4 * (T) 4 + a 3 * (T) 3 + a 2 * (T) 2 + a 1 · T + a 0 (Equation 5) where Ta is the time at which the position commands θ (i) initially enter the control loop 2046 be transmitted; Ts is the timing of the position commands θ (i) as through the control loop 2046 be scanned; and Tc is the period of the position command θ (i) of the control unit 10 a higher level is.

Auch können mehrere abgetastete Positionsbefehle x0, x1, ... x7 der Steuerungsschleife 2046 gemäß der Gleichung 5 berechnet werden.Also, multiple sampled position commands x0, x1, ... x7 of the control loop 2046 according to of equation 5 are calculated.

In ähnlicher Weise kann ein modifiziertes Geschwindigkeitspolynom ω(t) dadurch berechnet werden, dass das modifizierte Positionspolynom θ(t) der ersten Ableitung unterzogen wird, und es kann auch ein modifiziertes Beschleunigungspolynom α(t) dadurch berechnet werden, dass das modifizierte Geschwindigkeitspolynom ω(t) der ersten Ableitung unterzogen wird.In similar Way, a modified velocity polynomial ω (t) calculated by the modified position polynomial θ (t) is subjected to the first derivative, and it can also be a modified Acceleration polynomial α (t) are calculated by the modified velocity polynomial ω (t) of the first Derivative is subjected.

Zusammengefasst gesagt, zeigt die Erfindung die folgenden Vorteile:

  • 1. Die von der Steuerungseinheit einer höheren Ebene an den Servotreiber übertragenen Positionsbefehle können berechnet werden, um ein mit hoher Ordnung differenzierbares kontinuierliches Polynom aufzubereiten.
  • 2. Das Positionspolynom, das Geschwindigkeitspolynom und das Beschleunigungspolynom sind in Phase, wodurch eine Servoverzögerung zwischen der Steuerungseinheit einer höheren Ebene und dem Servotreiber deutlich verringert ist.
  • 3. Es ist einfach Positionskoeffizienten, Positionsinterpolationswerte, Geschwindigkeitskoeffizienten, Geschwindigkeitsinterpolationswerte, Beschleunigungskoeffizienten und Beschleunigungsinterpolationswerte entsprechend der Transformationsmatrix mit konstanten Elementen zu berechnen.
  • 4. Es können mehrere Abtastpositionsbefehle der Regelungsschleife des Servotreibers berechnet werden, um die Positionsbefehle zwischen dem Servotreiber und der Steuerungseinheit einer höheren Ebene zu synchronisieren.
In summary, the invention has the following advantages:
  • 1. The position commands transmitted from the higher level control unit to the servo driver can be calculated to prepare a high order differentiable continuous polynomial.
  • 2. The position polynomial, the velocity polynomial and the acceleration polynomial are in phase, significantly reducing servo delay between the higher level controller and the servo driver.
  • 3. It is easy to calculate position coefficients, position interpolation values, velocity coefficients, velocity interpolation values, acceleration coefficients, and acceleration interpolation values corresponding to the constant-element transformation matrix.
  • 4. Multiple sense position commands of the control loop of the servo driver may be calculated to synchronize the position commands between the servo driver and the higher level controller.

Obwohl die Erfindung unter Bezugnahme auf ihre bevorzugte Ausführungsform beschrieben wurde, ist es zu beachten, dass die Erfindung nicht auf zugehörige Einzelheiten eingeschränkt ist. In der vorstehenden Beschreibung sind verschiedene Ersetzungen und Modifizierungen nahegelegt, und andere werden dem Fachmann ersichtlich. Daher sollen alle derartigen Ersetzungen und Modifizierungen vom Schutzumfang der in den beigefügten Ansprüchen definierten Erfindung umfasst sein.Even though the invention with reference to its preferred embodiment has been described, it should be noted that the invention is not is limited to related details. In the above description, various substitutions and Modifications suggested and others will become apparent to those skilled in the art. Therefore, all such substitutions and modifications of Scope of protection in the appended claims be defined invention.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list The documents listed by the applicant have been automated generated and is solely for better information recorded by the reader. The list is not part of the German Patent or utility model application. The DPMA takes over no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • - US 6772020 [0006] - US 6772020 [0006]

Claims (8)

Verfahren zum Berechnen von Aufbereitungsbefehlen für einnumerisch gesteuertes System, das eine Steuerungseinheit einer höheren Ebene zum Liefern von Positionsbefehlen an einen Servotreiber zum Ansteuern eines Motors aufweist, mit den folgenden Schritten: (a) Bereitstellen von Speicherraum zum Speichern der Positionsbefehle; (b) Lesen einer Positionsmatrix mit k auf 1 Elementen; (c) Lesen einer Transformationsmatrix mit k auf k Elementen; (d) Berechnen mehrerer Positionskoeffizienten eines Positionspolynoms vom Grad k-1; (e) und Berechnen mehrerer Positionsinterpolationswerte entsprechend dem Positionspolynom und den Positionskoeffizienten.Method of calculating conditioning instructions for a numerically controlled system comprising a control unit a higher level to provide position commands a servo driver for driving a motor, comprising following steps: (a) Provide storage space for Storing the position commands; (b) reading a position matrix with k on 1 element; (c) reading a transformation matrix with k on k elements; (d) calculating a plurality of position coefficients a position polynomial of degree k-1; (e) and calculating several Position interpolation values corresponding to the position polynomial and the position coefficient. Verfahren nach Anspruch 1, gekennzeichnet durch die folgenden Schritte: (f) Berechnen eines Geschwindigkeitspolynoms vom Grad k-2 sowie mehrerer Geschwindigkeitskoeffizienten des Geschwindigkeitspolynoms mittels der ersten Ableitung des Positionspolynoms nach dem Schritt (d); und (g) Berechnen mehrerer Geschwindigkeitsinterpolationswerte entsprechend dem Geschwindigkeitspolynom und den Geschwindigkeitskoeffizienten.Method according to claim 1, characterized by following steps: (f) calculating a velocity polynomial of degree k-2 and several velocity coefficients of the velocity polynomial by means of the first derivative of the position polynomial after the step (D); and (g) calculating a plurality of velocity interpolation values according to the velocity polynomial and the velocity coefficients. Verfahren nach Anspruch 2, gekennzeichnet durch die folgenden Schritte: (h) Berechnen eines Beschleunigungspolynoms vom Grad k-3 und mehrerer Beschleunigungskoeffizienten desselben mittels der ersten Ableitung des Geschwindigkeitspolynoms nach dem Schritt (g); und (i) Berechnen mehrerer Beschleunigungsinterpolationswerte entsprechend dem Beschleunigungspolynom und den Beschleunigungskoeffizienten.Method according to claim 2, characterized by following steps: (h) calculating an acceleration polynomial of degree k-3 and several acceleration coefficients thereof by means of the first derivative of the velocity polynomial after the Step (g); and (i) calculating a plurality of acceleration interpolation values according to the acceleration polynomial and the acceleration coefficients. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Positionsmatrix k Elemente aufweist, die aus einem Element der aktuellen Position und k-1 Elementen zu vorigen Positionselementen bestehen.Method according to claim 1, characterized in that the position matrix comprises k elements which consist of one element the current position and k-1 elements to previous position elements consist. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Positionspolynom mit der Transformationsmatrix multipliziert wird, um die Koeffizienten des Positionspolynoms zu erhalten.Method according to claim 1, characterized in that that the position polynomial multiplied by the transformation matrix is to obtain the coefficients of the position polynomial. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Positionspolynom modifiziert wird, um ein modifiziertes Positionspolynom zum Synchronisieren der Positionsbefehle zwischen dem Servotreiber und der Steuerungsschleife der Steuerungseinheit einer höheren Ebene zu erzeugen, wobei das Positionspolynom wie folgt ausgedrückt ist: θ(n) = a(k-1)·n(k-1) + a(k-2)·n(k-2) + a(k-3)·n(k-3) + ... + a1·n + a0; unddie Variable n des Positionspolynoms durch eine Variable t ersetzt wird, um das modifizierte Positionspolynom zu erlangen, das wie folgt ausgedrückt ist: θ(t) = a(k-1)·t(k-1) + a(k-2)·t(k-2) + a(k-3)·t(k-3) + ... + a1·t + a0 wobei t = Ta + n X Ts-Tc gilt, mit Ta = Zeitpunkt, zu dem die Positionsbefehle anfänglich an die Steuerungsschleife übertragen werden; Ts = Zeitpunkt, zu dem die Positionsbefehle durch die Steuerungsschleife abgetastet werden; und Tc = Periode der Positionsbefehle der Steuerungseinheit einer höheren Ebene.The method of claim 1, characterized in that the position polynomial is modified to produce a modified position polynomial for synchronizing the position commands between the servo driver and the control loop of the higher level control unit, the position polynomial being expressed as follows: θ (n) = a (K-1) · n (K-1) + a (K-2) · n (K-2) + a (K-3) · n (K-3) + ... + a 1 · N + a 0 ; and the variable n of the position polynomial is replaced by a variable t to obtain the modified position polynomial expressed as follows: θ (t) = a (K-1) · t (K-1) + a (K-2) · t (K-2) + a (K-3) · t (K-3) + ... + a 1 · T + a 0 where t = Ta + n × Ts-Tc, where Ta = time at which the position commands are initially transmitted to the control loop; Ts = time at which the position commands are sampled by the control loop; and Tc = period of the position commands of the higher-level control unit. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass das modifizierte Positionspolynom der ersten Ableitung unterzogen wird, um ein modifiziertes Geschwindigkeitspolynom zu erhalten.Method according to Claim 6, characterized that the modified position polynomial is subjected to the first derivative to obtain a modified velocity polynomial. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass das modifizierte Geschwindigkeitspolynom der ersten Ableitung unterzogen wird, um ein modifiziertes Beschleunigungspolynom zu erhalten.Method according to claim 7, characterized in that that the modified velocity polynomial of the first derivative is subjected to a modified acceleration polynomial receive.
DE102009010859.9A 2009-02-27 2009-02-27 A method of calculating conditioning commands for a numerically controlled system Active DE102009010859B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102009010859.9A DE102009010859B4 (en) 2009-02-27 2009-02-27 A method of calculating conditioning commands for a numerically controlled system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102009010859.9A DE102009010859B4 (en) 2009-02-27 2009-02-27 A method of calculating conditioning commands for a numerically controlled system

Publications (2)

Publication Number Publication Date
DE102009010859A1 true DE102009010859A1 (en) 2010-09-02
DE102009010859B4 DE102009010859B4 (en) 2017-07-13

Family

ID=42371770

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102009010859.9A Active DE102009010859B4 (en) 2009-02-27 2009-02-27 A method of calculating conditioning commands for a numerically controlled system

Country Status (1)

Country Link
DE (1) DE102009010859B4 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6772020B2 (en) 2001-08-11 2004-08-03 Johannes Heidenhain Gmbh Arrangement for generating command variables for control loops of a numerically controlled machine

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6782306B2 (en) * 1999-12-16 2004-08-24 Siemens Energy & Automation Motion control system and method utilizing spline interpolation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6772020B2 (en) 2001-08-11 2004-08-03 Johannes Heidenhain Gmbh Arrangement for generating command variables for control loops of a numerically controlled machine

Also Published As

Publication number Publication date
DE102009010859B4 (en) 2017-07-13

Similar Documents

Publication Publication Date Title
DE102005015810B4 (en) Processing time calculator
DE102015004318B4 (en) Servo control unit for reducing a synchronization error during synchronous processing
DE19607361C2 (en) Spark erosion machine with an electrode with a geometrically simple shape and spark erosion processing method therefor
DE102011110111B4 (en) Numerical control of a multi-axis machine tool for controlling the position of the tool center point position
DE202011110733U1 (en) A predictive control and virtual display system for a numerically controlled machine tool
DE112014006247T5 (en) Motor controller
DE102020204854A1 (en) Machine learning apparatus, numerical control system and machine learning method
DE102011018536A1 (en) Numerical control with an oscillation function capable of changing speed in an optional section
DE102012000932A1 (en) Numerical control device with a workpiece error compensation unit for a three-axis machine tool
DE102012003196A1 (en) A numerical control apparatus having a speed control function for a multi-axis machining apparatus
DE602005005106T2 (en) Numerical control
DE102016103440A1 (en) Control device that can centrally manage a controller by grouping multiple systems
DE112009004583B4 (en) Numerical control device, method for controlling the same and system program therefor
DE102015008246B4 (en) Numerical control with tool tip point control function
DE102017206795A1 (en) Control device and control method for changing the operation according to engine temperature
DE102014009761A1 (en) Numerical control device for controlling a five-axis processing machine
DE102015009210A1 (en) Numerical control with support of a left-handed coordinate system
DE102020003527A1 (en) Numerical control device
DE102009038155A1 (en) Servomotor controller for controlling servomotors in e.g. drill bit, has adjusting unit adjusting reverse correction amount based on selection of acceleration, and acceleration control instruction calculated by calculation unit
DE102019007393A1 (en) Numerical control
EP3438773B1 (en) Processing of workpieces with model-supported error compensation
DE102009044348B4 (en) A tool path calculating apparatus for a numerically controlled system and a method of operating the same
DE102018003638A1 (en) Numerical control
DE102014016807B4 (en) Numerical control device with a function for simultaneously executing a plurality of instructions using data in table format
DE102009010859B4 (en) A method of calculating conditioning commands for a numerically controlled system

Legal Events

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