CH687165A5 - A method for generating Fuehrungsgroessen for position control loops in numerically controlled machines. - Google Patents

A method for generating Fuehrungsgroessen for position control loops in numerically controlled machines. Download PDF

Info

Publication number
CH687165A5
CH687165A5 CH313193A CH313193A CH687165A5 CH 687165 A5 CH687165 A5 CH 687165A5 CH 313193 A CH313193 A CH 313193A CH 313193 A CH313193 A CH 313193A CH 687165 A5 CH687165 A5 CH 687165A5
Authority
CH
Switzerland
Prior art keywords
weighting
setpoints
path
sequence
setpoint
Prior art date
Application number
CH313193A
Other languages
German (de)
Inventor
Joerg Deisenroth
Original Assignee
Bosch Gmbh Robert
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 Bosch Gmbh Robert filed Critical Bosch Gmbh Robert
Publication of CH687165A5 publication Critical patent/CH687165A5/en

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/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path

Landscapes

  • Engineering & 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)
  • Feedback Control In General (AREA)

Description

5 5

10 10th

15 15

20 20th

25 25th

30 30th

35 35

40 40

45 45

50 50

55 55

60 60

65 65

CH 687 165 A5 CH 687 165 A5

Beschreibung description

Stand der Technik State of the art

Die Erfindung geht aus von einem Verfahren nach der Gattung des unabhängigen Patentanspruchs. Führungsgrössen für Regelkreise in numerisch gesteuerten Maschinen werden üblicherweise nach einem in Fig. 1 als Blockschaltbild dargestellten Verfahren erzeugt. Aus einem Speicher einer NC-Maschine, zum Beispiel ein RAM oder ein EEPROM, liest eine Satzaufbereitung zunächst einen Wegbefehl in Form eines NC-Satzes, welcher insbesondere Informationen über Verfahrart und eine neue Sollposition enthält, und berechnet daraus Bahngrössen für die Bewegung zwischen zwei Lagesollwerten. Dies sind zum Beispiel Länge des Bahnabschnittes, sowie Geschwindigkeit und Beschleunigung. Die vollständige Bewegungsinformation wird einem Grobinterpolator, im folgenden einfach als Interpolator bezeichnet, übergeben. Dieser unterteilt das von der Satzaufbereitung übermittelte Geschwindigkeitsprofil entsprechend einem internen Taktraster in Teilstücke. Aus den in einem zwischengeschalteten Integrator integrierten Teilstücken des Geschwindigkeitsprofils ermittelt eine nachgeschaltete Achstransformationseinheit Lagesollwerte für die einzelnen Maschinen-Achsen, welche diesen anschliessend als La-geführungsgrössen übermittelt werden. Grobinterpolation und Achstransformation sind rechenintensive Prozesse, weshalb eine Aktualisierung der den Achsen bzw. den Antriebseinheiten zugeführten Lagesollwerte nur mit einem verhältnismässig grossen Zeitraster von typischerweise etwa 10 ms erfolgen kann. Die in den Antriebseinheiten vorhandenen Lageregelkreise arbeiten dagegen wesentlich schneller, hier werden Taktzeiten von weniger als 2 ms erreicht. Deshalb werden die von der Achstransformation kommenden Lagesollwerte vor Übergabe an die Lageregelkreise der Achsen noch einer Feininterpolation unterworfen. Deren Zweck ist, angepasst an die Leistungsfähigkeit der Lageregelkreise, jeweils eine Anzahl von Zwischenstützsteilen zwischen zwei aufeinanderfolgenden Lagesollwerte einer Lagefüh-rungsgrösse zu erzeugen. The invention is based on a method according to the type of the independent claim. Command variables for control loops in numerically controlled machines are usually generated according to a method shown as a block diagram in FIG. 1. From a memory of an NC machine, for example a RAM or an EEPROM, a block preparation first reads a path command in the form of an NC block, which in particular contains information about the type of travel and a new setpoint position, and uses this to calculate path variables for the movement between two position setpoints . These are, for example, the length of the track section, as well as speed and acceleration. The complete movement information is transferred to a coarse interpolator, hereinafter simply referred to as an interpolator. This divides the speed profile transmitted by the block preparation into sections according to an internal clock pattern. A downstream axis transformation unit determines position setpoints for the individual machine axes from the parts of the speed profile integrated in an interposed integrator, which are then transmitted to them as La guide variables. Coarse interpolation and axis transformation are computation-intensive processes, which is why the position setpoints supplied to the axes or the drive units can only be updated with a relatively large time grid of typically about 10 ms. The position control loops in the drive units, on the other hand, work much faster, with cycle times of less than 2 ms. For this reason, the position setpoints coming from the axis transformation are subjected to a fine interpolation before being transferred to the position control loops of the axes. The purpose of this is to generate a number of intermediate support parts between two successive position setpoints of a position control variable, adapted to the performance of the position control loops.

Prozess- bzw. maschinenseitig besteht an die Führungsgrössenerzeugung die Anforderung, dass die schliesslich entstehende Bewegung während eines aus einem oder mehreren NC-Sätzen bestehenden Bearbeitungsabschnittes möglichst glatt verläuft. Unter «glattem» Verlauf wird dabei verstanden, dass das an der Maschine während einer Bewegung auftretende Ruckverhalten, welches sich als dritte Ableitung des Ortes nach der Zeit ergibt, möglichst wenige scharfe Spitzen aufweist, oder mathematisch gesprochen, dass die das Ruckverhalten beschreibende Funktion möglichst überall stetig differenzierbar ist. Je ruckfreier und glatter der resultierende Bewegungsablauf erfolgt, desto konturtreuer, das heisst ohne Verzerrungen durch Überschwingungen kann die Sollbewegungsbahn eingehalten werden. Gleichzeitig sinkt bei glattem Bewegungsablauf die mechanische Beanspruchung der Maschine. On the process or machine side, there is a requirement for the generation of the reference variable that the movement that ultimately arises runs as smoothly as possible during a machining section consisting of one or more NC blocks. “Smooth” course is understood to mean that the jerk behavior that occurs on the machine during a movement, which results as the third derivative of the location over time, has as few sharp peaks as possible, or, mathematically speaking, that the function describing the jerk behavior occurs as far as possible is constantly differentiable. The smoother and smoother the resulting movement, the more true to the contour, i.e. without distortion caused by overshoots, the target movement path can be maintained. At the same time, the mechanical stress on the machine decreases when the movement is smooth.

Aus diesem Grund erfolgt die Berechnung der Lageführungsgrössen so, dass der Verlauf der Geschwindigkeit in Beschleunigungs- bzw. Bremsphasen bei der Bewegung der Maschine während eines Bearbeitungsabschnittes linear in Abhängigkeit von der Zeit wird. For this reason, the position control variables are calculated so that the course of the speed in acceleration or braking phases during the movement of the machine during a machining section becomes linear as a function of time.

Im einfachsten Fall weist ein solcher Geschwindigkeitsverlauf eine Trapezform auf, wie in Fig. 2 gezeigt; aufgetragen sind in Fig. 2 a) der Ruckverlauf R, in Fig. 2 b) der Beschleunigungsverlauf a, in Fig. 2 c) der Geschwindigkeitsverlauf v, in Fig. 2 d) die Lage L jeweils über der Zeit t, T bezeichnet jeweils die Taktzeit des Interpolators. Der bei einem solchen Geschwindigkeitsverlauf an der Maschine auftretende Beschleunigungsverlauf (Teilfigur b), hat dann Rechteckform, der zugehörige Ruckverlauf (Teilfigur a), weist 6-lmpulsform auf. In the simplest case, such a speed profile has a trapezoidal shape, as shown in FIG. 2; 2 a) the jerk curve R is plotted, in FIG. 2 b) the acceleration curve a, in FIG. 2 c) the speed curve v, in FIG. 2 d) the position L in each case over the time t, T denotes in each case the cycle time of the interpolator. The acceleration profile (part figure b) that occurs on the machine with such a speed profile then has a rectangular shape, the associated jerk profile (part figure a) has a 6-pulse shape.

Zwar liefert eine das in Fig. 2 dargestellte Verhalten aufweisende Führungsgrösse bereits für die Praxis durchaus brauchbare Resultate. Für hochgenaue Anwendungen sowie für sehr teure Maschinen ist es jedoch grundsätzlich wünschenswert, den Bewegungsablauf weiter zu glätten. Dies könnte prinzipiell in einfacher Weise geschehen, indem die Bahngrössenerzeugung in der Satzaufbereitung so erfolgt, dass die Beschleunigung bei einer Geschwindigkeitsänderung einen trapezförmigen Verlauf aufweist. Das Verhalten der Geschwindigkeit würde in diesem Fall ein Trapez mit parabelartig verschliffenen Kanten sein, das Ruckverhalten wäre rechteckförmig. Die Realisierung dieser einfachen Lösung scheitert jedoch daran, dass dabei der Rechenaufwand sowohl zur Ermittlung derartiger Geschwindigkeitsprofile als auch zur Durchführung deren Interpolation beträchtlich ansteigen würde, wodurch sich die Interpolationstaktzeit unter Umständen beträchtlich verlängern würde. Admittedly, a command variable exhibiting the behavior shown in FIG. 2 already delivers results that are quite useful in practice. For high-precision applications and for very expensive machines, however, it is generally desirable to further smooth the motion sequence. In principle, this could be done in a simple manner by generating the path size in the block preparation in such a way that the acceleration has a trapezoidal shape when the speed changes. The behavior of the speed in this case would be a trapezoid with parabolically ground edges, the jerk behavior would be rectangular. However, the implementation of this simple solution fails because the computational effort both for determining such speed profiles and for carrying out their interpolation would increase considerably, as a result of which the interpolation cycle time might be considerably extended.

Ein anderer bekannter Vorschlag zur weiteren Glättung der Führungsgrössen, der das hinsichtlich der Interpolation bestehende Rechenzeitproblem vermeidet, besteht darin, nicht die dem Interpolator zugeführte Eingangsgrösse zu beeinflussen, sondern dem Interpolator ein Filter nachzuschalten, welches die Führungsgrösse zusätzlich glättet. Another known proposal for further smoothing of the command variables, which avoids the computing time problem with regard to the interpolation, is not to influence the input variable supplied to the interpolator, but to connect a filter after the interpolator, which additionally smoothes the command variable.

Ein auf diesem zweiten Ansatz beruhendes Verfahren ist aus der EP 419 705 bekannt. Gemäss dieser Schrift ist zur Führungsgrössenglättung ein Filter vorgesehen, welches den Verlauf der in Form von Geschwindigkeitssollwerten vorliegenden Führungsgrössen durch Faltung mit einer Rechteckfunktion verschleift. Das vorgeschlagene Verfahren begrenzt zwar auftretende Rucke auf eine maximale Höhe. Grundsätzlich ist aber eine noch bessere Glättung der Führungsgrössen wünschenswert. A method based on this second approach is known from EP 419 705. According to this document, a filter is provided for smoothing the reference variables, which filters the course of the reference variables in the form of speed setpoints by folding with a rectangular function. The proposed method limits jerks occurring to a maximum height. Basically, however, an even better smoothing of the command variables is desirable.

Aufgabe der vorliegenden Erfindung ist es, ein verbessertes Verfahren zur Erzeugung von Führungsgrössen für Regelkreise in numerisch gesteuerten Maschinen anzugeben. The object of the present invention is to provide an improved method for generating control variables for control loops in numerically controlled machines.

Diese Aufgabe wird gelöst durch ein Verfahren mit den Merkmalen des unabhängigen Patentan- This object is achieved by a method with the features of the independent patent

2 2nd

5 5

10 10th

15 15

20 20th

25 25th

30 30th

35 35

40 40

45 45

50 50

55 55

60 60

65 65

CH 687 165 A5 CH 687 165 A5

spruchs. Das erfindungsgemässe Verfahren gestattet es in vorteilhafter Weise, die Bewegungscharakteristik in beliebiger Weise an einen individuellen Prozess anzupassen, indem bestimmte Koeffizienten, mittels derer ein Bewegungsverhalten beeinflussbar ist, verändert werden. Das vorgeschlagene Verfahren kann leicht als mathematischer Algorithmus dargestellt werden, und ist bequem auf einen Rechner implementierbar. saying. The method according to the invention advantageously allows the movement characteristics to be adapted in any way to an individual process by changing certain coefficients by means of which a movement behavior can be influenced. The proposed method can easily be represented as a mathematical algorithm and can be easily implemented on a computer.

Ein Ausführungsbeispiel der Erfindung wird nachfolgend anhand der Zeichnung näher erläutert. Zeichnung Es zeigen An embodiment of the invention is explained below with reference to the drawing. Drawing show it

Fig. 1 ein Blockschaltbild einer üblichen NC-Maschinensteuerung, 1 is a block diagram of a conventional NC machine control,

Fig. 2 eine Charakteristik von Führungsgrössen für numerische Steuerungen, 2 shows a characteristic of command variables for numerical controls,

Fig. 3 ein Geschwindigkeitsprofil eines Bearbeitungsabschnittes mit einem zugehörigen Verlauf der Lageführungsgrösse, 3 shows a speed profile of a machining section with an associated course of the position control variable,

Fig. 4 ein Blockschaltbild eines Teils einer NC-Steuerung, 4 is a block diagram of part of an NC control,

Fig. 5 ein Blockschaltbild des vorgeschlagenen Regelalgorithmus, 5 is a block diagram of the proposed control algorithm,

Fig. 6 eine Verteilung von Wichtungskoeffizienten, 6 shows a distribution of weighting coefficients,

Fig. 7 ein Schaubild zur Darstellung der Ermittlung der Wichtungskoeffizienten, 7 is a graph showing the determination of the weighting coefficients,

Fig. 8 ein zur Bewegungssollbahn nach Fig. 7 gehörendes Geschwindigkeitsprofil. 8 is a speed profile belonging to the nominal movement path according to FIG. 7.

Beschreibung description

Grundgedanke des vorgeschlagenen Verfahrens, die interpolierten Bahnsollwerte so nachzubearbei-ten, dass sich ein gewünschtes Maschinenverhalten einstellt. Fig. 4 zeigt die Plazierung eines zur Durchführung des Verfahrens einzusetzenden Filters. Seine Struktur ist in Fig. 5 abgebildet. Entsprechend der digitalen Struktur der numerischen Steuerung ist das Filter ein digitales Filter. Allen das Filter betreffenden mathematischen Darstellungen liegt deshalb im folgenden ein diskreter «Laplace»-Raum zugrunde. Einführungen in die zugehörige Theorie finden sich in praktisch allen Lehrbüchern über digitale Regelsysteme. The basic idea of the proposed method of reworking the interpolated path setpoints so that a desired machine behavior is achieved. Fig. 4 shows the placement of a filter to be used to carry out the method. Its structure is shown in Fig. 5. According to the digital structure of the numerical control, the filter is a digital filter. All mathematical representations relating to the filter are therefore based on a discrete «Laplace» space in the following. Introductions to the associated theory can be found in practically all textbooks on digital control systems.

Es bezeichnen in Fig. 5: v(k) die Geschwindigkeit zum Abtast-Zeitpunkt k T, (die systembedingte Abtastzeitkonstante T wird der Einfachheit halber nachfolgend nicht mehr jeweils mitangeführt, statt k T 5: v (k) denotes the speed at the sampling time k T, (for the sake of simplicity, the system-dependent sampling time constant T is no longer listed below instead of k T)

wird z.B. lediglich k gesetzt); L(k) die Soll-Lage zum Zeitpunkt k; t.(k) die modifizierte Soll-Lage zum Zeitpunkt k; die Bezugszeichen 41 einen Integrator, 42 ein Totzeitglied n-ter Ordnung 43 ein Totzeitglied erster Ordnung und 44 Wichtungsfaktoren. Eingangsgrösse in den Interpolator ist das von der Satzaufbereitung übermittelte Geschwindigkeitsprofil V, vgl. Fig. 1. Das interpolierte Ausgangssignal v(K) ist einer Folge von Totzeitgliedern 1-ster Ordnung 43 sowie einem Integrator 41 zugeführt. Jedem Totzeitglied 43 ist ein Proportionalelement 44 zugeordnet, deren Ausgangssignale in einer Summierstelle 45 zusammengefasst werden. e.g. only k set); L (k) the target position at time k; t. (k) the modified target position at time k; the reference numerals 41 an integrator, 42 a nth-order dead time element 43 a first-order dead time element and 44 weighting factors. The input variable in the interpolator is the speed profile V transmitted by the block preparation, cf. 1. The interpolated output signal v (K) is fed to a sequence of first-order dead time elements 43 and an integrator 41. A proportional element 44 is assigned to each dead time element 43, the output signals of which are combined in a summing point 45.

Das Ausgangssignal der Summierstelle 45 ist einer weiteren Summierstelle 46 zugeführt, der ausserdem unter Zwischenschaltung eines Totzeitgliedes n-ter Ordnung 42 das Ausgangssignal des Integrators 41 zugeführt ist. Am Ausgang der Summierstelle liegt ein modifizierter Lagesollwert Î. (k) an. Das in Fig. 5 dargestellte Filter lässt sich leicht in Form eines Programmes für eine numerische Steuerung realisieren, wenn die Wichtungsfaktoren 44, die die eigentliche Filterwirkung bestimmen, bekannt sind. Ein Verfahren zu deren Bestimmung wird nachfolgend erläutert. The output signal of the summing point 45 is supplied to a further summing point 46, which is also supplied with the output signal of the integrator 41 with the interposition of an nth-order 42 dead time element. At the output of the summing point there is a modified position setpoint Î. (k) on. The filter shown in FIG. 5 can easily be implemented in the form of a program for a numerical control if the weighting factors 44, which determine the actual filter effect, are known. A method for determining them is explained below.

Prinzip des vorgeschlagenen Filterverfahrens ist es, durch geeignete Summierung aus jeweils einer festen Anzahl von vom Interpolator ausgegebenen Lagesollwerten einen modifizierten Lagesollwert zu ermitteln. The principle of the proposed filter method is to use suitable summation to determine a modified position setpoint from a fixed number of position setpoints output by the interpolator.

Jeder zur Ermittlung eines modifizierten Lagesollwertes herangezogene Lagesollwert wird mit einem Koeffizienten gewichtet, das heisst, er wird mit einer Zahl zwischen 0 und 1 multipliziert, welche seine Bedeutung für die Bestimmung des aktuellen modifizierten Lagesollwertes festlegt. In mathematischer Darstellung bestimmt sich ein modifizierter Lagesollwert demnach wie folgt; Each position setpoint used to determine a modified position setpoint is weighted with a coefficient, that is, it is multiplied by a number between 0 and 1, which defines its meaning for determining the current modified position setpoint. In a mathematical representation, a modified position setpoint is determined as follows;

h H

L(k) = ci L(k-i) (1) L (k) = ci L (k-i) (1)

;=c? ; = c?

Darin bezeichnen L(k) Interpolator-Lagesollwerte, q Wichtungskoeffizienten, t(k) modifizierte Lage-sollwerte, n ist die Anzahl n der jeweils berücksichtigten Lagesollwerte, n bestimmt die Filterordnung. Damit im stationären Zustand, dieser liegt beispielsweise vor, wenn ein zeitlich sich nicht ändernder Lagesollwert vorgegeben wird, ein vorgegebener Lagesollwert am Ausgang des Filters auch tatsächlich er3 L (k) designate interpolator position setpoints, q weighting coefficients, t (k) modified position setpoints, n is the number n of the position setpoints taken into account, n determines the filter order. This means that in the steady state, for example, if a position setpoint that does not change over time is specified, a specified position setpoint at the output of the filter is actually er3

5 5

10 10th

15 15

20 20th

25 25th

30 30th

35 35

40 40

45 45

50 50

55 55

60 60

65 65

CH 687 165 A5 CH 687 165 A5

reicht wird, muss für die Wichtungskoeffizieriten c, die Nebenbedingung L = 1 erfüllt sein. is sufficient, the constraint L = 1 must be fulfilled for the weighting coefficients c.

hO hO

Bei Beachtung dieser Nebenbedingung können die Wichtungskoeffizienten prinzipiell frei gewählt werden. Da gerade die Wichtungskoeffizienten die Filterwirkung ausmachen, kann durch deren geeignete Wahl das Verhalten der Maschine beeinflusst werden, insbesondere kann eine Glättung des Bewegungsverhaltens erzielt werden. If this secondary condition is observed, the weighting coefficients can in principle be chosen freely. Since it is precisely the weighting coefficients that make up the filter effect, the behavior of the machine can be influenced by their suitable choice, in particular smoothing of the movement behavior can be achieved.

Zur Bestimmung der Wichtungskoeffizienten ist zunächst die Filterordnung n festzulegen und damit, wieviele vorhergehende Lagesollwerte jeweils in die Ermittlung eines modifizierten Lagesollwertes l(k) eingehen sollen. Je grösser die Filterordnung n gewählt wird, das heisst, je mehr Lagesollwerte jeweils bei der Bildung eines modifizierten Lagesollwertes berücksichtigt werden, um so besser wird der Glättungseffekt, um so länger wird allerdings auch die erforderliche Rechenzeit. Als praktisch sinnvoll erwiesen haben sich Filterordnungen von n = 10 bis 20. Für die Wahl der Wichtungskoeffizienten hat es sich vorteilhaft erwiesen, diese so zu bestimmen, dass die mittleren Werte einer Folge von in die Bestimmung eines modifizierten Lagesollwertes eingehenden Lagesollwerten stärker gewichtet werden, und dass die Gewichtung bezüglich der Mitte symmetrisch verläuft. Dies sei an einem Beispiel erläutert. Es seien die Wichtungskoeffizienten für ein Filter der Ordnung n = 6 zu wählen, es sind also sechs Wichtungskoeffizienten ci bis C6 zu bestimmen. Das Hauptgewicht liegt auf den beiden mittleren Koeffizienten C3 und C4, wenn beispielsweise die Koeffizienten C3 und C4 zu 0,3 gewählt werden. Eine symmetrische Koeffizientenwahl ergibt sich, wenn weiter die Koeffizienten C2 und c4 zu 0,15 und die Koeffizienten ci und C6 zu 0,05 gewählt werden. Durch so gewählte Koeffizienten ci bis ce wird auch die Koeffizientennebenbedingung erfüllt, dass die Summe der Koeffizienten gleich 1 betragen muss. To determine the weighting coefficients, the filter order n must first be determined and thus how many previous position setpoints are to be included in the determination of a modified position setpoint l (k). The larger the filter order n is chosen, that is, the more position setpoints are taken into account when forming a modified position setpoint, the better the smoothing effect, but the longer the required computing time. Filter orders from n = 10 to 20 have proven to be practical. For the selection of the weighting coefficients, it has proven to be advantageous to determine them in such a way that the mean values of a sequence of position setpoints that are used in the determination of a modified position setpoint are weighted more strongly, and that the weighting is symmetrical with respect to the center. This is explained using an example. The weighting coefficients for a filter of order n = 6 have to be selected, so six weighting coefficients ci to C6 have to be determined. The main emphasis is on the two middle coefficients C3 and C4, for example if the coefficients C3 and C4 are chosen to be 0.3. A symmetrical selection of coefficients results if the coefficients C2 and c4 are further selected to be 0.15 and the coefficients ci and C6 are selected to be 0.05. Coefficients ci to ce selected in this way also satisfy the coefficient constraint that the sum of the coefficients must equal 1.

Die vorstehend angegebene Koeffizientenverteilung ist in Fig. 6 graphisch dargestellt, aufgetragen ist der Wert c des Wichtungskoeffizienten über seiner Position n in der Folge. Beispielhaft ist in Fig. 6 noch eine weitere mögliche Verteilungskurve für die Wahl der Wichtungskoeffizienten dargestellt, Linie 61. Selbstverständlich sind auch andere Verteilungen möglich. The above-mentioned coefficient distribution is shown graphically in FIG. 6, the value c of the weighting coefficient is plotted against its position n in the sequence. Another possible distribution curve for the choice of weighting coefficients is shown in FIG. 6, line 61. Of course, other distributions are also possible.

Eine andere Möglichkeit zur Bestimmung der Wichtungskoeffizienten besteht darin, diese graphisch zu ermitteln. Dies ist anhand Fig. 7 dargestellt. Nach diesem Verfahren wird zunächst ein angestrebter Zielverlauf für das Verhalten derjenigen Bahngrösse des Regelkreises beim Übergang zwischen zwei Bahnsollwerten zeichnerisch dargestellt, deren Übergang ohne Filterung sprung- bzw. rechteckförmig ist. In der Regel ist dies die Bahnbeschleunigung, vgl. z.B. Fig. 2 b. Vorzugsweise handelt es sich bei der vorgegebenen Ziel-Übergangsfunktion um eine bezüglich eines Mittel- oder Wendepunktes symmetrische Kurve. Dargestellt wird ein Kurvenverlauf x(k) zwischen den Ordinatenwerten 0 und 1 über dem Taktraster k des Interpolators. Another possibility for determining the weighting coefficients is to determine them graphically. This is shown in FIG. 7. According to this method, a desired course of the target for the behavior of that path size of the control loop during the transition between two path setpoints, the transition of which, without filtering, is jump-like or rectangular is shown. As a rule, this is the path acceleration, cf. e.g. Fig. 2 b. The predetermined target transition function is preferably a curve which is symmetrical with respect to a center or turning point. A curve shape x (k) is shown between the ordinate values 0 and 1 over the clock pattern k of the interpolator.

Aus der Zeichnung ergeben sich nun die Wichtungskoeffizienten jeweils als Ordinatenzuwachs des Zielverlaufs zwischen zwei aufeinanderfolgenden Abtastzeitpunkten, im Beispiel Fig. 7 ergibt sich beispielsweise der Wichtungskoeffizient c, aus der Differenz X2-X1 der Ordinatenwerte zu den Abtastzeitpunkten ki und kz, der Wichtungskoeffizient C2 aus der Differenz X3-X2 der Ordinatenwerte zu den Abtastzeitpunkten k3 und k2. From the drawing, the weighting coefficients now each result as the ordinate increase of the target course between two successive sampling times; in the example in FIG. 7, the weighting coefficient c results, for example, from the difference X2-X1 of the ordinate values at the sampling times ki and kz, the weighting coefficient C2 from the Difference X3-X2 of the ordinate values at the sampling times k3 and k2.

Eine Realisierung eines Filters, welcher mit den erhaltenen Wichtungskoeffizienten ci in einfacher Realization of a filter that is easier with the obtained weighting coefficients ci

Weise Gleichung (1) ausführt, um modifizierte Lagesollwerte L(k) zu erhalten, ist allerdings nicht möglich. Grund hierfür ist, dass die Lagesollwerte L(k) innerhalb eines NC-Satzes jeweils auf den Endwert des vorhergehenden NC-Satzes bezogen werden. Ihr Verlauf wird dadurch an den NC-Satzwechseln umstetig, wie in Fig. 3 b dargestellt. Dadurch käme es insbesondere an NC-Satzwechseln zu Bahnfehlern. Würde der jeweils aktuelle Lagesollwert stets gemäss Gleichung (1) aus einer Folge gewichteter vorhergehender Lagesollwerte ermittelt werden, würde im Beispiel der Fig. 3 b in den ersten modifizierten Lagesollwert des NC-Satzes II eine Anzahl von Bahnsollwerten des NC-Satzes I eingehen und dadurch zu erheblicher Verfälschung des zu bestimmenden Lagesollwertes führen. Executing the equation (1) in order to obtain modified position setpoints L (k) is, however, not possible. The reason for this is that the position setpoints L (k) within an NC block are each related to the final value of the previous NC block. As a result, their course becomes continuous at the NC block changes, as shown in FIG. 3b. This would result in NC errors, in particular, in path errors. If the respective current position setpoint were always determined in accordance with equation (1) from a sequence of weighted previous position setpoints, in the example in FIG. 3b a number of path setpoints of NC set I would be included in the first modified position setpoint, and thereby lead to considerable falsification of the position setpoint to be determined.

Diese Schwierigkeit wird umgangen, indem die zur Bestimmung der modifizierten Lagesollwerte L(k) erforderliche Bildung einer Summe von gewichteten Lagesollwerten gemäss Gleichung (1) überführt wird in die Bildung einer Summe von gewichteten Bahngeschwindigkeiten. This difficulty is avoided by converting the formation of a sum of weighted position setpoints according to equation (1) required to determine the modified position setpoints L (k) into the formation of a sum of weighted web speeds.

Zur Bestimmung der Wichtungsfaktoren bi des Filters nach Fig. 5 werden deshalb die modifizierten 5 are therefore used to determine the weighting factors bi of the filter according to FIG

Lagesollwerte t(k) gemäss Gleichung (1) in Abhängigkeit der zu jedem in die Sollwertberechnung eingehenden vorhergehenden Sollwert gehörenden Bahngeschwindigkeit wie folgt dargestellt: Position setpoints t (k) according to equation (1) as a function of the path speed associated with each previous setpoint that is included in the setpoint calculation as follows:

t(k) = cn L(k-n) t (k) = cn L (k-n)

+ Cn-1 (L(k-n) + v(k-(n-1))) + Cn-1 (L (k-n) + v (k- (n-1)))

+ c," (L(k-n) + v (k-(n-1))+ v(k-1)) (2) + c, "(L (k-n) + v (k- (n-1)) + v (k-1)) (2)

+ c0 (L(k-n) + v(k-(n-l)) + ... + v (k-1) + v(k)) + c0 (L (k-n) + v (k- (n-l)) + ... + v (k-1) + v (k))

4 4th

5 5

10 10th

15 15

20 20th

25 25th

30 30th

35 35

40 40

45 45

50 50

55 55

60 60

65 65

CH 687 165 A5 CH 687 165 A5

Durch Umformung lässt sich daraus die folgende Beziehung für eine modifizierte Sollage t(k) ableiten: The following relationship for a modified target position t (k) can be derived from this by reshaping:

L(k) = L(k-n) + L (k) = L (k-n) +

i-O 3-0 i-O 3-0

c.) v(k-i) c.) v (k-i)

«SO "SO

b. v(k-i) i b. v (k-i) i

+ L(k-n) (3) + L (k-n) (3)

Die hierin auftretenden Koeffizienten bi sind nun die Wichtungsfaktoren für das Filter gemäss Fig. 5. The coefficients bi occurring here are now the weighting factors for the filter according to FIG. 5.

Die Bildung eines modifizierten Lagesollwertes t(k) beruht somit auf n-1 Bahngeschwindigkeitswerten v(k-i) zu vorhergehenden Abtastzeitpunkten sowie auf jeweils einem vorhergehenden Lagewert L(k-n). The formation of a modified position setpoint t (k) is thus based on n-1 web speed values v (k-i) at previous sampling times and on a previous position value L (k-n).

Letzterer liegt bezüglich des zu bestimmenden modifizierten Lagesollwertes L(k) am weitesten in der Vergangenheit und dient als Startwert. Aus der Darstellung Gleichung (3) ergibt sich die Struktur des Filters gemäss Fig. 5. Das Filter weist inbesondere einen Signalpfad über Integrator 41 und Totzeitglied 42 zur Bildung eines Lagewertes L (k-n), sowie n-1 Signalpfade zur Bildung der Geschwindigkeitswerte auf. Zu beachten ist, dass die Summe der Wichtungskoeffizienten bi eine Bedingung ^ b. =1 The latter is furthest in the past with regard to the modified position setpoint L (k) to be determined and serves as a starting value. The structure of the filter according to FIG. 5 results from the representation of equation (3). In particular, the filter has a signal path via integrator 41 and dead time element 42 to form a position value L (k-n), and n-1 signal paths to form the speed values. It should be noted that the sum of the weighting coefficients bi is a condition ^ b. = 1

t nicht erfüllt. t not met.

Fig. 8 zeigt die Wirkung eines Filters nach Fig. 5. Aufgetragen ist die Bewegungsgeschwindigkeit über der Zeit k. Mit 81 ist der Verlauf einer Bahngeschwindigkeit ohne Filterung bezeichnet, mit 82 der Verlauf einer Bahngeschwindigkeit mit Filterung. Letzterer weist gegenüber erstem abgerundete «Ek-ken» auf. FIG. 8 shows the effect of a filter according to FIG. 5. The speed of movement is plotted against the time k. 81 denotes the course of a web speed without filtering, 82 the course of a web speed with filtering. Compared to the first, the latter has rounded “corners”.

Claims (8)

PatentansprücheClaims 1. Verfahren zur Erzeugung einer Führungsgrösse für einen Lageregelkreis einer numerisch bahngesteuerten Maschine, wobei von einer numerischen Steuerung Bahnsollwerte als Folge zeitdiskreter Steuerwerte zu diskreten Abtastzeitpunkten (k) vorgegeben werden, aus denen mittels eines Filters diskrete Lagesollwerte erzeugt werden, welche dem Lageregelkreis als Führungsgrösse zugeführt werden,1.Procedure for generating a reference variable for a position control loop of a numerically path-controlled machine, path setpoints being specified by a numerical control as a result of discrete-time control values at discrete sampling times (k), from which discrete position setpoints are generated by means of a filter, which are supplied to the position control loop as a reference variable become, dadurch gekennzeichnet, dass die Bestimmung eines Lagesollwertes (î.(k)) zu einem Zeitpunkt (k) folgende Schritte aufweist:characterized in that the determination of a position setpoint (î. (k)) at a point in time (k) comprises the following steps: - Heranziehen einer Folge von vorhergehenden Bahnsollwerten, bestehend aus einem zum Abtastzeitpunkt k-n genommenen Lagesollwert (L(k-n)) sowie einer Folge von i zu nachfolgenden Abtastzeitpunkten k-i genommenen Bahngeschwindigkeitswerten (v(k-i)), wobei für i gilt: i = 0, 1, 2 n-1,- Using a sequence of previous path setpoints, consisting of a position setpoint (L (kn)) taken at the sampling time kn and a sequence of i path velocity values (v (ki)) taken at subsequent sampling times ki, where i applies: i = 0, 1 , 2n-1, - Wichten der Elemente der Folge durch Verknüpfen mit Wichtungskoeffizienten (cj), welche so bestimmt sind, dass ein ohne Filterung sprung- oder rampenförmiger Verlauf einer Folge von Bahnsollwerten durch Filterung überführt wird in einen glatten, stetig differenzierbaren Verlauf,- weighting of the elements of the sequence by linking with weighting coefficients (cj), which are determined in such a way that a course of a sequence of path setpoints without a step or a ramp is filtered by filtering into a smooth, continuously differentiable course, - Summieren der gewichteten Bahnsollwerte (L(k-n), v(k-i)).- Summing the weighted path setpoints (L (k-n), v (k-i)). 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Wichtung der Bahnsollwerte durch Multiplikation mit Wichtungsfaktoren (bi) erfolgt.2. The method according to claim 1, characterized in that the weighting of the web setpoints is carried out by multiplication by weighting factors (bi). 3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass zunächst Wichtungskoeffizienten (ci)3. The method according to claim 2, characterized in that first weighting coefficients (ci) zur Wichtung einer Folge von n aufeinanderfolgenden Lagesollwerten (L(k-i) mit i = 0 n) gewählt werden, wobei die Summe der n gewichteten Lagesollwerte (L(k-i)) einen modifizierten Lagesolwertfor weighting a sequence of n successive position setpoints (L (k-i) with i = 0 n), the sum of the n weighted position setpoints (L (k-i)) being a modified position sol value (L(k)) liefert, und anschliessend die Darstellung des modifizierten Lagesollwertes (t(k)) überführt wird in eine Summe aus einem gewichteten, zum Abtastzeitpunkt k-n genommenen Lagesollwert (L(k-n)) und n mit modifizierten Koeffizienten gewichteten, zu Abtastzeiten n-i mit i = 0, ..., n-1 genommenen(L (k)) returns, and then the representation of the modified position setpoint (t (k)) is converted into a sum of a weighted position setpoint (L (kn)) taken at the sampling time kn and weighted with modified coefficients at sampling times ni with i = 0, ..., n-1 taken Bahngeschwindigkeiten (v(n-i)), wobei die modifizierten Koeffizienten ( c . ) die Wichtungsfak-Path velocities (v (n-i)), whereby the modified coefficients (c.) j >o 3j> o 3 toren (bi) sind.gates (bi) are. 4. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass jeder Wichtungsfaktor (bi) mit den Wichtungskoeffizienten (ci) über die Beziehung n-/f4. The method according to claim 2, characterized in that each weighting factor (bi) with the weighting coefficient (ci) over the relationship n- / f L (k)= L(k-n) + b. v(k-i) mit b. = c.L (k) = L (k-n) + b. v (k-i) with b. = c. I = L> 1 1 j:0DI = L> 1 1 j: 0D zusammenhängt.related. 55 55 1010th 1515 2020th 2525th 3030th 3535 4040 4545 5050 5555 6060 6565 CH 687 165 A5CH 687 165 A5 5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Wichtungskoeffizienten (ei) so gewählt sind, dass bei Filterung einer Folge von Bahnsollwerten (a(k), v(k). L(k)), die ein sprung- oder rampenförmiges Verhalten mit nichtstetigen Knickpunkten aufweist, diese überführt wird in einen Verlauf mit der Form einer überall stetig differenzierbaren symmetrischen Funktion.5. The method according to claim 1, characterized in that the weighting coefficients (ei) are selected such that when filtering a sequence of setpoint values (a (k), v (k). L (k)) which is a step or ramp Behavior with discontinuous breakpoints, this is converted into a course in the form of a symmetrical function that can be continuously differentiated everywhere. 6. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die Wichtungskoeffizienten (a) so gewählt sind, dass bei Filterung einer Folge von Bahnsollwerten (a(k), v(k), L(k)), die ein sprung- oder rampenförmiges Verhalten mit nichtstetigen Knickpunkten aufweist, diese überführt wird in einen Verlauf mit der Form einer sin2-Funktion.6. The method according to claim 3, characterized in that the weighting coefficients (a) are selected such that when filtering a sequence of setpoint values (a (k), v (k), L (k)), which is a step or ramp Behavior with non-continuous breakpoints, this is converted into a curve with the form of a sin2 function. 7. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Wichtungskoeffizienten q graphisch aus einem in Form einer Funktion X (k) vorgegebenen Zielverlauf für den Übergang zwischen zwei aufeinanderfolgenden Bahnsollwerten bestimmt werden, indem ein Koeffizient c, jeweils aus der Differenz von zwei zu aufeinanderfolgenden Abtastzeitpunkten (k, (k+1)) gehörenden Funktionswerten xi, X2 des Zielverlaufs ermittelt wird.7. The method according to claim 1, characterized in that the weighting coefficients q are determined graphically from a target course in the form of a function X (k) for the transition between two successive setpoint values by a coefficient c, in each case from the difference of two to successive Sampling times (k, (k + 1)) belonging function values xi, X2 of the target course is determined. 8. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass für die Wichtungskoeffizienten (ci) gilt:8. The method according to claim 1, characterized in that for the weighting coefficients (ci) applies: 66
CH313193A 1993-02-04 1993-10-18 A method for generating Fuehrungsgroessen for position control loops in numerically controlled machines. CH687165A5 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19934303090 DE4303090B4 (en) 1993-02-04 1993-02-04 Method for generating reference variables for position control circuits in numerically controlled machines

Publications (1)

Publication Number Publication Date
CH687165A5 true CH687165A5 (en) 1996-09-30

Family

ID=6479563

Family Applications (1)

Application Number Title Priority Date Filing Date
CH313193A CH687165A5 (en) 1993-02-04 1993-10-18 A method for generating Fuehrungsgroessen for position control loops in numerically controlled machines.

Country Status (4)

Country Link
JP (1) JP3871278B2 (en)
CH (1) CH687165A5 (en)
DE (1) DE4303090B4 (en)
FR (1) FR2701128B1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6774598B1 (en) 1999-09-08 2004-08-10 Dr. Johannes Heidenhain Gmbh Method and circuitry for producing nominal position values for a closed loop position control of a numerically continuous-path controlled machine
DE19944607A1 (en) * 1999-09-17 2001-03-22 Isg Ind Steuerungstechnik Gmbh Batch-wide speed control of numerically controlled machine tool/robot involves successive stages to determine speed variation in which maximum speed not exceeded over minimum range
DE10139638A1 (en) 2001-08-11 2003-02-20 Heidenhain Gmbh Dr Johannes Command variable generation system for numerically controlled machine, has precision interpolator unit generating command variables for control loops in time pattern of control loops with control loop scanning rate
JP2003122402A (en) * 2001-10-09 2003-04-25 Yaskawa Electric Corp Method for controlling servo controller
DE10357650B4 (en) 2003-12-10 2019-04-25 Dr. Johannes Heidenhain Gmbh Method for smoothing polygons in NC programs

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59168513A (en) * 1983-03-16 1984-09-22 Fanuc Ltd Acceleration and deceleration control system
EP0419705A1 (en) * 1989-09-27 1991-04-03 Siemens Aktiengesellschaft Method for reducing jerkiness of numerical drive systems
IT1237199B (en) * 1989-11-17 1993-05-26 Ettore Cernuschi STEEL REDUCER REDUCER FOR PIPES.
JP2840139B2 (en) * 1991-04-24 1998-12-24 ファナック株式会社 Foreseeable repetition control device

Also Published As

Publication number Publication date
JP3871278B2 (en) 2007-01-24
FR2701128A1 (en) 1994-08-05
FR2701128B1 (en) 1995-05-19
DE4303090A1 (en) 1994-08-11
JPH06250718A (en) 1994-09-09
DE4303090B4 (en) 2006-11-23

Similar Documents

Publication Publication Date Title
DE102009024130B4 (en) Method for real-time capable path planning of continuous, jerk-free setpoint trajectories
EP1226476B1 (en) Method and circuitry for producing nominal position values for a closed loop position control of a numerically continuous-path controlled machine
DE102013002516A1 (en) Numerical controller with machining curve creating function
EP1421452B1 (en) Array for generating reference input variables for regulating circuits of a numerically controlled machine
EP0419706B1 (en) Method for position or path control
DE69026324T2 (en) Regulator with two degrees of freedom
DE2659090C2 (en)
EP3818420B1 (en) Time-optimized guidance of movement between rail sections
CH687165A5 (en) A method for generating Fuehrungsgroessen for position control loops in numerically controlled machines.
WO1998015880A1 (en) Method and control structure for controlling moments in numerically controlled elastic (and therefore oscillation-capable) multiple mass systems
DE102016012634A1 (en) Numerical control with curvature and curvature change dependent speed control
DE19629845A1 (en) PID controller
CH621179A5 (en)
DE60223165T2 (en) CONTROL PROCEDURE FOR A SERVO CONTROL DEVICE
EP3691806A1 (en) Evenness control using optimizer
DE3938083C2 (en)
DE69327766T2 (en) Method and device for a composite course control system
DE4238938C2 (en) Method for interpolating a position control signal
DE69330976T2 (en) Control method to achieve a target value
DE4333146A1 (en) Regulating speed of electric motor - using sensitivity function and complementary sensitivity function each multiplied by frequency weighting function
DE102022121582A1 (en) Device and method for stepper motor control and 3D printer
DE202022104818U1 (en) Device for stepper motor control and 3D printer
AT502382A4 (en) METHOD FOR CONTROLLING AND / OR REGULATING AN INJECTION MOLDING MACHINE
EP0001269A2 (en) Track guiding process for a machine tool
DE112021004071T5 (en) machine tool control device

Legal Events

Date Code Title Description
PL Patent ceased