-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zur automatischen Einstellung eines Motorreglers, die Regelparameter in einer Feedback- bzw. Rückkopplungs-Regelung und/oder einer Feedforward- bzw. Vorwärtskopplungs-Regelung des Motorreglers unter Verwendung der Feedback-Regelung und/oder der Feedforward-Regelung automatisch einstellt.
-
Beschreibung der verwandten Technik
-
Als erste konventionelle Technologie zur automatischen Einstellung von Feedback-Regelparametern und Feedforward-Regelparametern ist die japanische Patentoffenlegungsschrift
JP H06-102905 A bekannt. In dieser ersten konventionellen Technologie werden die Feedback-Regelparameter aus einer Antwortform eines Regelbetrags bezüglich eines Regelanweisungswerts durch Kenntnisverarbeitung geschätzt. Als nächstes wird der optimale Feedforward-Parameter aus der Antwortform durch Fuzzy-Inferenz oder einem neuronalen Netzwerk bestimmt.
-
Des Weiteren schließen Beispiele einer zweiten konventionellen Technologie die japanische Patentoffenlegungsschrift
JP 2003-61377 A ein. Diese zweite konventionelle Technologie ist dadurch gekennzeichnet, dass, wenn der Regelbetrag bezüglich des Regelanweisungswerts in Inhalten, die speziell ein automatisches Feedforward-Einstellverfahren betreffen, überschwingt, eine Feedforward-Verstärkung gesenkt wird. Wenn der Betrag nicht überschwingt, wird die Feedforward-Verstärkung erhöht. Wenn eine Auswertungsfunktion eingeführt wird und ein Wert der Funktion nicht mehr als ein vorgegebener Wert ist, ist das Einstellen beendet.
-
Während des Einstellens der Feedback-Regelparameter werden Verstärkungen einer Positionsregeleinheit und einer Geschwindigkeitsregeleinheit gewöhnlich maximiert, um eine Regelungsleistung zu verbessern. In einem Mechanismus, der aus einem Motor, einer Antriebsobjektlast und einer Verbindungswelle besteht, ist jedoch eine in dem Mechanismus inhärente Antiresonanzfrequenz vorhanden. Der Mechanismus besitzt die Eigenschaft, dass eine Vibration in der Nähe der Antiresonanzfrequenz sehr leicht erzeugt wird. Daher werden während des eigentlichen Einstellens die Parameter leicht heruntergetunt, so dass die Verstärkungen der Regeleinheiten in der Nähe der Antiresonanzfrequenz nicht übermäßig zunehmen. Als einfache Einrichtung zur Realisierung einer solchen subtilen Einstellung wird ein Verfahren betrachtet, bei dem die Verstärkungen der Positionsregeleinheit und der Geschwindigkeitsregeleinheit in einem solchen Bereich erhöht werden, dass verhindert wird, dass eine mechanische Vibration im Übermaß erzeugt wird, während die Vibration tatsächlich an eine Maschine auf der Antiresonanzfrequenz angelegt wird. Das einfachste und sicherste Verfahren zum Anlegen der Vibration an den Mechanismus, dessen Antiresonanzfrequenz unbekannt ist, auf der Antiresonanzfrequenz ist es, eine Schrittanweisung als Positionsanweisung (Regelanweisungswert) zu geben. Daher könnte gemäß der ersten konventionellen Technologie, da der Regelanweisungswert von außen eingegeben wird, ein Fall auftreten, dass die Vibration auf der Antiresonanzfrequenz in Abhängigkeit von dem angewendeten Regelanweisungswert nicht ausreichend angelegt wird. In einem Fall, in dem die Verstärkungen der Positionsregeleinheit und der Geschwindigkeitsregeleinheit erhöht werden, während eine Positionierungsbetätigung unter solchen Vibrationsbedingungen wiederholt wird und die mechanische Vibration wie vorstehend beschrieben ausgewertet wird, könnten übermäßig große Verstärkungen auf ein solches Maß gesetzt werden, dass eine Oszillation selbst mit einer geringen Störung auftritt.
-
Weiterhin besteht während des Einstellens der Feedforward-Regelparameter eine Nachfrage nach einer solchen Einstellung, um einen Überschwingbetrag auf nicht mehr als einen definierten Wert bezüglich mehrerer Positionsanweisungsmuster zu setzen und weiterhin eine Stabilisierungszeit in einem spezifischen Positionsanweisungsmuster zur häufigen Verwendung zu minimieren. In den ersten und zweiten konventionellen Technologien ist es jedoch, da die Einstelleinrichtung darin keinen Positionsanweisungsmuster erzeugenden Abschnitt oder eine Funktion zum Registrieren mehrerer Positionsanweisungsmuster aufweist, schwierig gewesen, Einstellbedingungen, die mit den vorstehend beschriebenen Positionsanweisungsmustern verknüpft sind, zu setzen.
-
Die
US 7023153 B2 beschreibt eine Motorsteuerungsvorrichtung, die zur Einstellung einer Steuerungsverstärkung ein Grundbetriebsmuster für den Motor erzeugt, dieses mehrmals anwendet und so die Steuerungsverstärkung einstellt.
-
Aufgabe der vorliegenden Erfindung ist die Bereitstellung eines Verfahrens und einer Vorrichtung zur automatischen Einstellung, die imstande sind, entsprechende Feedback- und/oder Feedforward-Regelparameter in kurzer Zeit zu erhalten.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Gemäß einem zu bevorzugenden Modus zur Ausführung der vorliegenden Erfindung wird in einem Motorregler, in dem eine Positionsregeleinheit, eine Geschwindigkeitsregeleinheit und eine Stromregeleinheit miteinander im Tandem verbunden sind, in einem Fall, in dem ein Positionsanweisungsmuster für eine Einstellbetätigung, das sich ständig ändert, als Positionsanweisungswert der Positionsregeleinheit erzeugt wird und dieses Positionsanweisungsmuster als Positionsanweisung der Positionsregeleinheit angewendet wird, eine Antwortfrequenz der Positionsregeleinheit und/oder der Geschwindigkeitsregeleinheit in einem Bereich erhöht, in dem eine Vibrationsamplitude einer Positionsabweichungswellenform einen vorgegebenen Wert nicht überschreitet.
-
Genauer gesagt, wird des Weiteren ein Grad der Änderung des Positionsanweisungsmusters auf der Basis eines Gesamtträgheitswerts J eines Antriebssystems eines Motors bestimmt.
-
Weiterhin wird bevorzugt, dass der Grad der Änderung des Positionsanweisungsmusters so bestimmt wird, dass eine Geschwindigkeit des Motors eine zulässige Maximalgeschwindigkeit des Motors nicht überschreitet, und der Motor beschleunigt oder verlangsamt, ohne auf eine Zeitspanne mit konstanter Geschwindigkeit zu warten.
-
Des Weiteren umfasst gemäß dem zu bevorzugten Modus der vorliegenden Erfindung der Motorregler zusätzlich zu der Positionsregeleinheit, der Geschwindigkeitsregeleinheit und der Stromregeleinheit, die im Tandem miteinander verbunden sind, Folgendes: eine Positions-Feedforward-Regeleinheit, die den Positionsanweisungswert zum Ausgeben eines Positions-Feedforwardsignals eingibt, und der Motorregler ist so gestaltet, dass er eine Ausgabe der Positionsregeleinheit und das Positions-Feedforwardsignal aufaddiert, um einen Geschwindigkeitsanweisungswert auszugeben. Im Motorregler werden mehrere Betätigungen in Ansprechung auf mehrere Positionsanweisungsmuster durchgeführt, die zuvor als Positionsanweisungen der Positionsregeleinheit registriert wurden, und ein Regelparameter der Positions-Feedforward-Regeleinheit wird so eingestellt, dass ein Überschwingbetrag einen vorgegebenen Wert in den mehreren Betätigungen nicht überschreitet.
-
In einem spezifischen Beispiel der vorliegenden Erfindung wird während des Einstellens der Feedback-Regelparameter das Positionsanweisungsmuster für eine kurze Bewegungsdistanz angelegt, um den Motor in der Nähe der maximalen Ausgabe zu betätigen, die von einem Motorregelsystem des Reglers übertragen werden kann. Dementsprechend wird ein Mechanismus selbst in der Nähe der Antiresonanzfrequenz ausreichend vibriert. Des Weiteren werden während der Erzeugung der Positionsanweisungsmuster der Gesamtträgheitsmomentwert J des Antriebssystems und ein zulässiger Maximaldrehmomentwert τmax des Motorreglers berücksichtigt und eine Beschleunigungsrate wird automatisch gesetzt, um die Rate in einem Bereich, der den zulässigen Maximaldrehmomentwert τmax nicht überschreitet, zu maximieren. Des Weiteren wird das Positionsanweisungsmuster so gesetzt, dass das Überschreiten der Maximalgeschwindigkeit des Motors verhindert wird.
-
Somit wird automatisch das einer gestuften Anweisung nächste Positionsanweisungsmuster erzeugt, das Bedingungen erfüllt, dass das Regelsystem nicht gesättigt ist und die Feedback-Regelparameter eingestellt werden.
-
Andererseits werden, wenn die Feedforward-Regelparameter eingestellt werden, mehrere Positionsanweisungsmuster erzeugt, und Einstellbedingungen werden für jedes Positionsanweisungsmuster gesetzt.
-
Gemäß dem zu bevorzugenden Modus der vorliegenden Erfindung können die Feedback-Regelparameter in kurzer Zeit nach Maßgabe der automatisch erzeugten Positionsanweisungsmuster eingestellt werden.
-
Weiterhin kann gemäß dem zu bevorzugenden Modus der vorliegenden Erfindung der Überschwingbetrag auf nicht mehr als den definierten Wert bezüglich der mehreren Positionsanweisungsmuster gesetzt werden, die im Voraus durch einen Benutzer registriert werden.
-
Des Weiteren können gemäß dem zu bevorzugenden Modus der vorliegenden Erfindung die Feedforward-Regelparameter automatisch so eingestellt werden, dass eine Stabilisierungszeit in dem spezifischen Positionsanweisungsmuster für häufigen Gebrauch minimiert wird.
-
Andere Aufgaben und Eigenschaften der vorliegenden Erfindung werden aus der folgenden Beschreibung von Ausführungsformen ersichtlich.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein Regelblockdiagramm, das ein Verfahren zur automatischen Einstellung von Feedback-Regelparametern eines Motorreglers in einer ersten Ausführungsform der vorliegenden Erfindung zeigt;
-
2 ist ein Flussdiagramm für die Erzeugung von Positionsanweisungsmustern in der Ausführungsform der 1;
-
3A, 3B sind Wellenformdiagramme, die jeweils Drehmomente, Geschwindigkeiten und die Positionsanweisungsmuster in Abläufen zur Erzeugung der Positionsanweisungsmuster zur automatischen Einstellung der Feedback-Regelparameter zeigen;
-
4 ist ein Flussdiagramm zur automatischen Einstellung der Feedback-Regelparameter in der ersten Ausführungsform;
-
5 ist ein erstes Flussdiagramm zum Messen einer Vibrationsamplitude, einer Stabilisierungszeit und eines Überschwingbetrags in der ersten Ausführungsform;
-
6 ist ein zweites Flussdiagramm, das ein Verfahren zum Messen der Vibrationsamplitude, der Stabilisierungszeit und des Überschwingbetrags in der ersten Ausführungsform zeigt;
-
7 ist ein Wellenformdiagramm, das ein Verfahren zum Messen der Vibrationsamplitude, der Stabilisierungszeit und des Überschwingbetrags in der ersten Ausführungsform zeigt;
-
8 ist ein Regelblockdiagramm einer Vorrichtung zur automatischen Einstellung für einen Motorregler, wobei die Vorrichtung weiterhin eine Einrichtung zur automatischen Einstellung von Feedforward-Regelparametern in einer zweiten Ausführungsform der vorliegenden Erfindung einschließt;
-
9A, 9B sind Erläuterungsansichten, die Beziehungen zwischen einer Feedforward-Verstärkung und einer Stabilisierungszeit bzw. zwischen der Verstärkung und einem Überschwingbetrag in der Ausführungsform der 8 zeigen;
-
10 ist ein Ablaufflussdiagramm eines Verfahrens zur automatischen Einstellung einer Feedforward-Verstärkung Kff in der zweiten Ausführungsform;
-
11A, 11B sind Diagramme, die Beziehungen zwischen einer Feedforward-Zeitkonstante und einer Stabilisierungszeit bzw. zwischen der Konstante und einer Grenz-Feedforward-Verstärkung Kff_bd in der zweiten Ausführungsform zeigen;
-
12 ist ein erstes Flussdiagramm für die Suche nach der Grenz-Feedforward-Verstärkung Kff_bd;
-
13 ist ein zweites Flussdiagramm für die Suche nach der Grenz-Feedforward-Verstärkung Kff_bd;
-
14 ist ein drittes Flussdiagramm für die Suche nach der Grenz-Feedforward-Verstärkung Kff_bd;
-
15 ist eine Erläuterungsansicht einer Datenstruktur für die Suche nach einer optimalen Feedforward-Zeitkonstante Tff_opt;
-
16 ist eine Erläuterungsansicht eines Vorgangs zur Suche nach der optimalen Feedforward-Zeitkonstante Tff_opt;
-
17 zeigt ein Beispiel eines Einstellbildschirms einer Funktion zur automatischen Einstellung der Feedback-Regelparameter;
-
18 zeigt ein Beispiel eines Einstellbildschirms einer Funktion zur automatischen Einstellung eines Positions-Feedforward-Regelparameters; und
-
19 ist ein Aufbaudiagramm, das ein Beispiel für das gesamte System eines Motorreglers zeigt, in dem die vorliegende Erfindung Verwendung finden kann.
-
BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
Nachstehend werden bevorzugte Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die Zeichnungen beschrieben.
-
[Ausführungsform 1]
-
1 ist ein Regelblockdiagramm, das ein Verfahren zur automatischen Einstellen für einen Motorregler in einer ersten Ausführungsform der vorliegenden Erfindung zeigt. Aufgabe der ersten Ausführungsform ist es, Feedback-Regelparameter automatisch einzustellen. In 1 steht 1 für einen Motor, 2 steht für eine durch den Motor 1 angetriebene Antriebsobjektlast, 3 steht für eine Verbindungswelle, die den Motor 1 mit der Antriebsobjektlast 2 verbindet, und 4 steht für eine Leistungswandlungseinheit, die den Motor 1 antreibt. Das Bezugszeichen 5 steht für eine Positionserfassungseinheit, die an einer Drehwelle des Motors 1 angebracht ist und einen erfassten Positionswert θM der Drehwelle des Motors 1 ausgibt, und 6 steht für eine Subtrahiereinheit, die eine Positionsabweichung θe zwischen einem Positionsanweisungswert θM* und dem erfassten Positionswert θM des Motors 1 berechnet. Das Bezugszeichen 7 steht für eine Positionsregeleinheit, die einen Geschwindigkeitsanweisungswert ωM* nach Maßgabe der Positionsabweichung θe ausgibt, und 8 steht für eine Geschwindigkeitsberechnungseinheit, die den aus der Positionserfassungseinheit 5 ausgegebenen erfassten Positionswert θM eingibt und einen erfassten Geschwindigkeitswert ωM der Drehwelle des Motors 1 ausgibt. Das Bezugszeichen 9 steht für eine Subtrahiereinheit, die eine Geschwindigkeitsabweichung ωe zwischen dem Geschwindigkeitsanweisungswert ωM* und dem erfassten Geschwindigkeitswert ωM des Motors 1 berechnet, und 10 steht für eine Geschwindigkeitsregeleinheit, die einen Drehmomentstromanweisungswert Iq* nach Maßgabe der Geschwindigkeitsabweichung ωe ausgibt. Das Bezugszeichen 11 steht für eine Stromerfassungseinheit, die einen dem Motor 1 zugeführten erfassten Drehmomentstromwert Iq erfasst, und 12 steht für eine Subtrahiereinheit, die eine Stromabweichung Ie zwischen dem Drehmomentstromanweisungswert Iq* und dem dem Motor 1 zugeführten erfassten Drehmomentstromwert Iq berechnet. Das Bezugszeichen 13 steht für eine Stromregeleinheit, die einen Ausgabestrom der Leistungswandlungseinheit 4 nach Maßgabe der Stromabweichung Ie einstellt. Das Bezugszeichen 14 steht für einen Feedback-Regelparametereinstellabschnitt, der Parameter der Positionsregeleinheit 7 und der Geschwindigkeitsregeleinheit 10 automatisch einstellt. Dieser Einstellabschnitt gibt die Positionsabweichung θe ein und gibt den Positionsabweichungswert θM*, eine in der Positionsregeleinheit 7 zu setzende Positionsantwortfrequenz und eine in der Geschwindigkeitsregeleinheit 10 zu setzende Geschwindigkeitsantwortfrequenz aus.
-
Der Feedback-Regelparametereinstellabschnitt 14 weist einen automatischen Einstellalgorithmus der später beschriebenen Feedback-Regelparameter und eine gestufte Positionsanweisungsmuster-Erzeugungseinrichtung auf, die für das automatische Einstellen der Feedback-Regelparameter erforderlich sind. Eine grundlegende Betätigung des Abschnitts besteht in der Maximierung der Positionsantwortfrequenz und der Geschwindigkeitsantwortfrequenz in einem Bereich, in dem eine Vibrationsamplitude der Positionsabweichung θe zu einer Zeit, wenn eine gestufte Positionsanweisung angewendet wird, einen durch einen Benutzer gesetzten vorgegebenen Wert, beispielsweise einen zulässigen Wert, nicht überschreitet.
-
2 ist ein Flussdiagramm zur Erzeugung von jeweiligen Positionsanweisungsmustern in der Ausführungsform der 1.
-
3A, 3B sind Wellenformdiagramme, die Drehmomente, Geschwindigkeiten und die Positionsanweisungsmuster in Abläufen zur Erzeugung der jeweiligen Positionsanweisungsmuster zum automatischen Einstellen der Feedback-Regelparameter zeigen.
-
Insbesondere wird die automatische Positionsanweisungsmuster-Erzeugungseinrichtung unter Bezugnahme auf das Flussdiagramm der 2 und das Wellenformdiagramm der 3 beschrieben. Im Flussdiagramm der 2 wird ein Geschwindigkeitsmuster erzeugt, das sich ebenso viel wie ein angegebener Bewegungsbetrag (Drehwinkel für den Motor) θmax mit dem maximalen Drehmoment dreht, ohne den Geschwindigkeitsanweisungswert zu sättigen, und schließlich werden die Positionsanweisungsmuster erzeugt. Zu diesem Zeitpunkt ist keine Konstant-Geschwindigkeits-Zeitspanne im Geschwindigkeitsmuster angegeben. Weiterhin ist es ein Prinzip, eine Bewegungsdistanz so kurz wie möglich zu setzen. Dementsprechend können die Positionsanweisungsmuster eine höhere Frequenzkomponente einschließen.
-
In 2 beginnt das Flussdiagramm mit dem Vorgang 20 und der Bewegungsbetrag θmax wird im Vorgang 21 berechnet. Es ist beschrieben worden, dass der kleinere Bewegungsbetrag θmax besser ist. Wenn jedoch der Bewegungsbetrag θmax übermäßig klein gesetzt ist, wird ein absoluter Wert des Betrags manchmal übermäßig klein, ungeachtet eines Verhältnisses der Vibrationsamplitude, die die Positionsabweichung θe bezüglich des Bewegungsbetrags θmax ist. In diesem Fall sinkt die Vibrationsamplitude unter eine Auflösung der Positionserfassungseinheit 5, und es kann keine Vibration erfasst werden. Daher wird der Bewegungsbetrag θmax durch die Gleichung (1) bestimmt: θmax = α·θvib (1), worin θvib ein zulässiger Wert der Vibrationsamplitude der durch den Benutzer gesetzten Positionsabweichung θe ist. Das heißt, wenn die Vibrationsamplitude der Positionsabweichung θe geringer als θvib ist, bedeutet die Positionsabweichung θe einen Schwellwert zur Beurteilung, dass der Motor nicht vibriert. Des Weiteren ist α eine durch den Benutzer gesetzte positive Konstante und bedeutet ein Verhältnis des Bewegungsbetrags θmax bezüglich des zulässigen Werts θvib der Vibrationsamplitude der Positionsabweichung θe. Wenn beispielsweise α = 100 gesetzt ist, wird der Bewegungsbetrag θmax so berechnet, dass θvib 1/100 des Bewegungsbetrags θmax beträgt. Daher ist es möglich, die Vibration, die eine Amplitude von 1/100 oder mehr des Bewegungsbetrags θmax angibt, sicher zu erfassen. Ein Wert von 100 oder mehr wird gewöhnlich empirisch auf α gesetzt.
-
Als nächstes wird im Vorgang
22 eine ideale Maximalgeschwindigkeit ω
peak des Motors durch die Gleichung (2) in einem Fall berechnet, dass der Motor mit einem zulässigen Maximaldrehmomentwert τ
max beschleunigt wird, der durch eine Kombination aus dem Motorregler und dem Motor bestimmt wird.
worin τ
max für den zulässigen maximalen Drehmomentwert steht, θ
max für den Bewegungsbetrag steht und J für den Gesamtträgheitsmoment steht, der durch Summieren der Trägheitsmomentwerte des Motors, der Verbindungswelle und der Antriebsobjektlast ermittelt wird. Als nächstes wird im Beurteilungsvorgang
23 die ideale Maximalgeschwindigkeit ω
peak des Motors mit einer zulässigen Maximalgeschwindigkeit ω
max des Motors verglichen. Wenn die ideale Maximalgeschwindigkeit ω
peak unter der zulässigen Maximalgeschwindigkeit ω
max des Motors liegt, schaltet der Vorgang zum Vorgang
24. Der Vorgang
24 betrifft einen Fall, in dem, selbst wenn der Motor mit dem zulässigen Maximaldrehmoment τ
max beschleunigt wird, die Geschwindigkeit des Motors die zulässige Maximalgeschwindigkeit ω
max nicht überschreitet.
-
3A zeigt den Fall, in dem, selbst wenn der Motor mit dem zulässigen Maximaldrehmoment τmax beschleunigt wird, die Geschwindigkeit des Motors die zulässige Maximalgeschwindigkeit ωmax nicht überschreitet. Das heißt, wie vorstehend beschrieben ist, wird zuerst bestimmt, dass der Bewegungsbetrag θmax das α-Fache der gesetzten zulässigen Vibrationsamplitude θvib beträgt. Wenn der Motor entlang dieser Distanz mit dem zulässigen Maximaldrehmoment τmax beschleunigt wird und sofort, ohne irgendeine Konstantgeschwindigkeits-Zeitspanne zwischenzufügen, mit dem zulässigen maximalen Drehmoment τmax verlangsamt, wird durch ein positives und negatives Drehmoment 41 ein Geschwindigkeitsmuster 40 erhalten. Dementsprechend wird ein Positionsanweisungsmuster 42 im Bewegungsbetrag θmax erhalten. Wenn die ideale Maximalgeschwindigkeit ωpeak des Motors zu diesem Zeitpunkt die zulässige Maximalgeschwindigkeit ωmax des Motors nicht überschreitet, kann das Geschwindigkeitsmuster 40 so wie es ist verwendet werden. Daher setzt der Vorgang 24 die ideale Maximalgeschwindigkeit ωpeak auf die Maximalgeschwindigkeit und schaltet zum Vorgang 25. Der Vorgang 25 berechnet durch die Gleichung (3) eine Beschleunigungs- oder Verlangsamungszeit ta, wenn der Motor bis zur idealen Maximalgeschwindigkeit ωpeak mit dem zulässigen Maximaldrehmomentwert τmax beschleunigt, setzt die Zeit und schaltet zum Vorgang 26, wodurch der Vorgangsfluss beendet wird.
-
-
Als nächstes wird zum leichteren Verständnis der Fall angenommen, bei dem die zulässige Maximalgeschwindigkeit des Motors übermäßig klein ist. Der Fall wird unter Bezugnahme auf 3B beschrieben. Es wird nun im Beurteilungsvorgang 23 angenommen, dass die ideale Maximalgeschwindigkeit ωpeak die niedrige zulässige Maximalgeschwindigkeit ωmax des Motors übersteigt. Daher schaltet der Vorgang zum Vorgang 27. Wenn im Vorgang 27 der Motor mit dem zulässigen Maximaldrehmoment τmax beschleunigt, übersteigt die Geschwindigkeit des Motors manchmal die zulässige Maximalgeschwindigkeit ωmax. Daher setzt, wie in 3B gezeigt ist, der Vorgang die zulässige Maximalgeschwindigkeit ωmax des Motors zwangsläufig auf die Maximalgeschwindigkeit und schaltet zum Vorgang 28. Das heißt, das Geschwindigkeitsmuster wird zu einem Muster, das mit dem Bezugszeichen 43 bezeichnet ist, und eine Bewegungsdistanz θSL, die durch Integrieren des Musters mit der Zeit erhalten wird, kann den Bewegungsbetrag θmax nicht erreichen. Der Vorgang 28 berechnet durch die Gleichung (4) eine Beschleunigungs- oder Verlangsamungszeit tb, um den Motor auf die zulässige Maximalgeschwindigkeit ωmax mit dem zulässigen maximalen Drehmomentwert τmax zu beschleunigen, setzt die Zeit und schaltet zum Vorgang 26, wodurch er den Vorgangsfluss beendet. tb = J·ωmax/τmax (4)
-
Der Bewegungsbetrag θSL des Motors zu diesem Zeitpunkt kann durch die Gleichung (5) dargestellt werden.
-
-
Des Weiteren kann zu diesem Zeitpunkt eine Größe θSL der Drehmomentausgabe aus dem Motor durch die Gleichung (6) dargestellt werden und man sieht, dass die Größe kleiner als der zulässige maximale Drehmomentwert τmax wird.
-
-
4 ist ein Flussdiagramm für die automatische Einstellung der Feedback-Regelparameter in der ersten Ausführungsform. Es wird ein Algorithmus für die automatische Einstellung der Feedback-Regelparameter im Feedback-Regelparametereinstellabschnitt 14 unter Bezugnahme auf diese Figur beschrieben. In 4 steht Fs_min für eine durch den Benutzer gesetzte Minimalgeschwindigkeitsantwortfrequenz, Fs_max steht für eine durch den Benutzer gesetzte Maximalgeschwindigkeitsantwortfrequenz und div_Fs steht für einen durch den Benutzer gesetzten Geschwindigkeitsantwortfrequenzinkrementierschritt. Dies bedeutet, dass während des später beschriebenen Einstellens die Geschwindigkeitsantwortfrequenz eingestellt wird, während die Frequenz von Fs_min auf Fs_max um so viel wie der Schritt div_Fs erhöht wird. Gleichermaßen steht Fp_min für eine durch den Benutzer gesetzte Minimalpositionsantwortfrequenz, Fp_max steht für eine durch den Benutzer gesetzte Maximalpositionsantwortfrequenz und div_Fp steht für einen durch den Benutzer gesetzten Positionsantwortfrequenzinkrementierschritt. Dies bedeutet, dass während des später beschriebenen Einstellens die Positionsantwortfrequenz eingestellt wird, während die Frequenz von Fp_min auf Pp-max um so viel wie der Schritt div_Fp erhöht wird. Des Weiteren steht θvib für einen zulässigen Vibrationsamplitudenwert der durch den Benutzer gesetzten Positionsabweichung θe. Weiterhin steht Fs für die in der Geschwindigkeitsregeleinheit 10 gesetzte gegenwärtige Geschwindigkeitsantwortfrequenz und Fp steht für die in der Positionsregeleinheit 7 gesetzte gegenwärtige Positionsantwortfrequenz. Weiterhin steht Fp_v0 für eine Maximalpositionsantwortfrequenz einer Vibrationsgrenze und zeichnet die Maximalpositionsantwortfrequenz auf, auf der die Vibrationsamplitude einer Positionsabweichungswellenform der zulässige Wert θvib oder weniger ist. Zusätzlich steht Fs_v1 für eine optimale Geschwindigkeitsantwortfrequenz, die schließlich durch das Einstellen erhalten wird, und Fp-vl steht für eine optimale Positionsantwortfrequenz, die schließlich durch das Einstellen erhalten wird. Wenn ein Merker flag_fpmax ,1' ist, ist angegeben, dass die Maximalpositionsantwort erreicht ist, während die Vibrationsamplitude der Positionsabweichungswellenform der zulässige Wert θvib oder weniger bleibt.
-
Ein Grundgedanke des Einstellens gemäß dem vorliegenden Flussdiagramm beruht darauf, dass die Positionsantwortfrequenz und die Geschwindigkeitsantwortfrequenz so hoch wie möglich in einem Bereich gesetzt werden, in dem keine Vibration in der Positionsabweichungswellenform induziert wird. Es ist empirisch bekannt, dass selbst in einem Fall, in dem die Vibration in der Positionsabweichungswellenform in einem Vorgang des allmählichen Erhöhens der Positionsantwortfrequenz erzeugt wird, wenn die Geschwindigkeitsantwortfrequenz leicht erhöht wird, Vibrationen der Positionsabweichungswellenform manchmal reduziert sein können. Um diese empirische Regel anzuwenden, wird in einem Fall, in dem die Vibrationen in der Positionsabweichungswellenform erzeugt werden, die Geschwindigkeitsantwortfrequenz um so viel wie div_Fs erhöht, und die Vibrationen werden neu ausgewertet.
-
Als Nächstes wird das Flussdiagramm der 4 der Reihe nach beschrieben. In 4 beginnt das Flussdiagramm im Vorgang 50. Im Vorgang 51 werden Variablen initialisiert. Im Initialisierungsvorgang 51 wird Fs_min in Fs eingesetzt und die Geschwindigkeitsantwortfrequenz wird zur Minimalgeschwindigkeitsantwortfrequenz Fs_min initialisiert. Gleichermaßen wird Fp_min in Pp eingesetzt, und die Positionsantwortfrequenz beginnt aus der Minimalpositionsantwortfrequenz Fp_min eingestellt zu werden. Des Weiteren beginnt die Maximalpositionsantwortfrequenz Fp_v0 der Vibrationsgrenze aus der Minimalpositionsantwortfrequenz Fp_min eingestellt zu werden, und der Merker flag_fpmax wird zu ,0' initialisiert. Als Nächstes schaltet der Vorgang zum Vorgang 52, um die Vibrationsamplitude der Positionsabweichung θe in einem Fall zu messen, in dem die durch die vorbeschriebene Einrichtung erzeugte gestufte Positionsanweisung als Positionsanweisungswert θM* in 1 angewendet wird. Eine Einrichtung zum Messen der Vibrationsamplitude dieser Positionsabweichung θe wird später beschrieben. Als Nächstes schaltet der Vorgang zum Beurteilungsvorgang 53, um zu beurteilen, ob die Vibrationsamplitude der Positionsabweichung θe unter dem zulässigen Wert θvib liegt oder nicht. Wenn im Beurteilungsvorgang 53 beurteilt wird, dass die Vibrationsamplitude der zulässige Wert θvib oder weniger ist, ist es möglich, die Positionsantwortfrequenz weiter zu erhöhen, und der Vorgang schaltet zum Vorgang 54. In dem Beurteilungsvorgang 54 wird beurteilt, ob die gegenwärtige Positionsantwortfrequenz Fp kleiner als die Maximalpositionsantwortfrequenz Fp_max ist oder nicht. Wenn die gegenwärtige Frequenz weniger als die Maximalfrequenz ist, schaltet der Vorgang zum Vorgang 55. Der Vorgang 55 addiert den Positionsantwortfrequenzinkrementierschritt div_Fp zur gegenwärtigen Positionsantwortfrequenz Fp hinzu und schaltet zum Vorgang 52. Andererseits schaltet in einem Fall, in dem im Beurteilungsvorgang 54 beurteilt wird, dass die gegenwärtige Positionsantwortfrequenz Fp die Maximalpositionsantwortfrequenz Fp_max oder mehr ist, der Vorgang zu Vorgang 56. Der Vorgang 56 setzt den Merker flag_fpmax auf ,1', gibt deutlich an, dass die Maximalpositionsantwort erreicht ist, während die Vibrationsamplitude der Positionsabweichungswellenform der zulässige Wert θvib oder weniger bleibt, und schaltet zur Beurteilungsverarbeitung 57. Im Beurteilungsvorgang 57 wird beurteilt, ob die gegenwärtige Geschwindigkeitsantwortfrequenz Fs weniger als die Maximalgeschwindigkeitsantwortfrequenz Fs_max ist. Wenn die gegenwärtige Frequenz weniger als die Maximalfrequenz ist, schaltet der Vorgang zum Vorgang 58. Der Vorgang 58 addiert den Geschwindigkeitsantwortfrequenzinkrementierschritt div_Fs zur gegenwärtigen Geschwindigkeitsantwortfrequenz Fs. Während die Vibrationsamplitude der Positionsabweichungswellenform gesenkt wird, schaltet der Vorgang zum Vorgang 52. In einem Fall, in dem im Beurteilungsvorgang 57 beurteilt wird, dass die gegenwärtige Geschwindigkeitsantwortfrequenz Fs die maximale Geschwindigkeitsantwortfrequenz Fs_max oder mehr ist, bedeutet dies, dass sowohl die Positionsantwortfrequenz als auch die Geschwindigkeitsantwortfrequenz die Maximalwerte erreichen, während die Vibrationsamplitude der Positionsabweichungswellenform der zulässige Wert θvib oder weniger bleibt. Der Vorgang schaltet zum Vorgang 59. Der Vorgang 59 ersetzt die gegenwärtige Geschwindigkeitsantwortfrequenz Fs und die gegenwärtige Positionsantwortfrequenz Fp in der optimalen Geschwindigkeitsantwortfrequenz Fs_v1 bzw. der optimalen Positionsantwortfrequenz Fp_v1 und schaltet zum Vorgang 60, wodurch er den Vorgangsfluss beendet.
-
In einem Fall, in dem im Beurteilungsvorgang 53 beurteilt wird, dass die Vibrationsamplitude nicht weniger als der zulässige Wert θvib ist, schaltet der Vorgang zum Beurteilungsvorgang 61. Der Beurteilungsvorgang 61 überprüft den Merker flag_fpmax, um zu beurteilen, ob die Maximalpositionsfrequenz erreicht worden ist oder nicht, während die Vibrationsamplitude der Positionsabweichungswellenform der zulässige Wert θvib oder weniger bleibt. Wenn flag_fpmax = 0 nicht festgestellt wird, ist vorliegend gemeint, dass die Maximalpositionsantwort erreicht ist, während die Vibrationsamplitude der Positionsabweichungswellenform der zulässige Wert θvib oder weniger bleibt, und die Geschwindigkeitsantwortfrequenz wird erhöht, bis die Vibrationsamplitude der Positionsabweichungswellenform den zulässigen Wert θvib überschreitet. Der Vorgang schaltet zum Vorgang 67. Der Vorgang 67 ersetzt in der optimalen Geschwindigkeitsantwortfrequenz Fs_v1 einen Wert, der durch Subtrahieren des Geschwindigkeitsantwortfrequenzinkrementierschritts div_Fs von der gegenwärtigen Geschwindigkeitsantwortfrequenz Fs erhalten wird, um Bedingungen zu setzen, dass die Vibrationsamplitude der Positionsabweichungswellenform der zulässige Wert θvib oder weniger ist. Danach schaltet der Vorgang zum Vorgang 60, wodurch er den Vorgangsfluss beendet. Wenn flag_fpmax = 0 im Beurteilungsvorgang 61 beurteilt ist, schaltet der Vorgang zum Beurteilungsvorgang 62, um die gegenwärtige Positionsantwortfrequenz Fp mit der Maximalpositionsantwortfrequenz Fp_v0 der Vibrationsgrenze zu vergleichen. Wenn „Fp > Fp_v0” nicht festgestellt wird, bedeutet dies vorliegend, dass keine Bedingungen existieren, dass die gegenwärtige Positionsantwortfrequenz Fp die Maximalpositionsantwortfrequenz Fp_v0 der Vibrationsgrenze überschreitet, und der Vorgang schaltet zum Vorgang 67. Wenn „Fp > Fp_v0 im Beurteilungsvorgang 62 festgestellt wird, schaltet der Vorgang zum Beurteilungsvorgang 63. Im Beurteilungsvorgang 63 wird beurteilt, ob die gegenwärtige Geschwindigkeitsantwortfrequenz Fs weniger als die Maximalgeschwindigkeitsantwortfrequenz Fs_max ist. Wenn beurteilt wird, dass die gegenwärtige Frequenz weniger als die Maximalfrequenz ist, schaltet der Vorgang zum Vorgang 64. Im Vorgang 64 wird der Geschwindigkeitsantwortfrequenzinkrementierschritt div_Fs zur gegenwärtigen Geschwindigkeitsantwortfrequenz Fs addiert, um die Vibrationsamplitude der Positionsabweichungswellenform zu reduzieren. Des Weiteren wird der Positionsantwortfrequenzinkrementierschritt div_Fp von der gegenwärtigen Positionsantwortfrequenz Fp subtrahiert, so dass die Vibrationsamplitude der Positionsabweichungswellenform sicher der zulässige Wert θvib oder weniger ist, und der Vorgang schaltet zum Vorgang 65. Der Vorgang 65 speichert die gegenwärtige Positionsantwortfrequenz Fp als Maximalpositionsantwortfrequenz Fp_v0 der Vibrationsgrenze und schaltet zum Vorgang 52, um die Positionsantwortfrequenz weiter zu erhöhen. In einem Fall, indem im Beurteilungsvorgang 63 beurteilt wird, dass die gegenwärtige Geschwindigkeitsantwortfrequenz Fs die Maximalgeschwindigkeitsantwortfrequenz Fs_max oder mehr ist, bedeutet dies, dass die gegenwärtige Geschwindigkeitsantwortfrequenz Fs nicht mehr weiter erhöht werden kann, und der Vorgang schaltet zum Vorgang 66. Der Vorgang 66 setzt die gegenwärtige Geschwindigkeitsantwortfrequenz Fs in die optimale Geschwindigkeitsantwortfrequenz Fs_v1 ein. Des Weiteren schaltet nach dem Einsetzen in die optimale Positionsantwortfrequenz Fp_v1 von einem Wert, der durch Subtrahieren des Positionsantwortfrequenzinkrementierschritts div_Fp von der gegenwärtigen Positionsantwortfrequenz Fp so, das die Vibrationsamplitude der Positionsabweichungswellenform notwendigerweise der zulässige Wert θvib oder weniger ist, der Vorgang zum Vorgang 60, wodurch er den Vorgangsfluss beendet.
-
5 und 6 sind Flussdiagramme zum Messen der Vibrationsamplitude, einer Stabilisierungszeit und eines Überschwingbetrags in der ersten Ausführungsform. Es wird ein Messverfahren der Vibrationsamplitude der Positionsabweichungswellenform, der Stabilisierungszeit und des Überschwingbetrags beschrieben, der für den Feedback-Regelparametereinstellabschnitt 14 und einen Positions-Feedforward-Regelparametereinstellabschnitt 17 notwendig ist, die später unter Bezugnahme auf die Flussdiagramme beschrieben werden. In den 5 und 6 bezeichnet „timeout” eine durch den Benutzer gesetzte Stabilisierungsüberwachungsauszeit-Zeit, und dies ist ein Einstellparameter zum Messen der Stabilisierungszeit für die Zeit „timeout” von einer Zeit als einem Startpunkt, wenn die Positionsabweichungswellenform zum ersten Mal Null kreuzt. Des Weiteren steht posin_plus für eine durch den Benutzer gesetzte Stabilisierungsbeurteilungsabweichung. Wenn ein absoluter Wert einer Positionsabweichung stabilisiert wird, um posin_plus oder weniger anzugeben, wird beurteilt, dass die Position stabilisiert ist. Des Weiteren steht poserr für die Positionsabweichung. Zusätzlich steht poserr_work für eine Positionsabweichung zum Messen einer Vibration und eines Überschwingens, und dies ist ein Zustandsbetrag, der ermittelt wird durch Einstellen eines Symbols der Positionsabweichung poserr so, dass sofort nach Anwenden der gestuften Positionsanweisung die Positionsabweichung von einer positiven Seite konstant, ungeachtet einer Rotationsrichtung des Motors, gestartet wird. Des Weiteren steht flag_poserr_plus für einen Merker, welcher angibt, dass sofort nach Anwenden der gestuften Positionsinformation die Positionsabweichung von der positiven Seite gestartet wird. Wenn die Positionsabweichung von der positiven Seite startet, wird flag_poserr_plus = 1 gesetzt. Wenn die Positionsabweichung von einer negativen Seite startet, wird flag_poserr_plus = 0 gesetzt. Daher ist poserr_work = poserr, wenn flag_poserr_plus = 1. Wenn flag_poserr_plus = 0, dann ist poserr_work_ = –poserr. Weiterhin ist poserr_min der Minimalpositionsabweichungswert und stellt eine Variable dar, um den Minimalwert von poserr_work zu diesem Zeitpunkt, unmittelbar nachdem die gestufte Positionsanweisung sich geändert hat, bis das Messen der Stabilisierungszeit beendet ist, konstant zu halten. Des Weiteren steht poserr_vib für den maximalen Vibrationsamplitudenwert in der Positionsabweichung und stellt eine Variable dar, um den Maximalwert von der Vibrationsamplitude von poserr_work, die durch „poserr_work-poserr_min” berechnet wird, konstant zu halten. Des Weiteren steht flag_plsin für einen Abweichungserreichungsmerker zum Beurteilen der Stabilisierung. Wenn der absolute Wert der Positionsabweichung die Stabilisierungsbeurteilungsabweichung posin_pls oder weniger ist, wird flag_plsin = 1 gesetzt. Wenn nicht, wird flag_plsin = 0 gesetzt. Zusätzlich steht flag_plsin_bk für den vorherigen Wert des Abweichungserreichungsmerkers zum Beurteilen der Stabilisierung, und dieser Merker gibt einen Wert an, der gleich demjenigen des zuvor gesetzten flag_plsin ist. Weiterhin steht time_s für eine Messzeit und gibt eine Zeit an, die von einem Startpunkt unmittelbar nachdem die gestufte Positionsanweisung sich geändert hat, verstrichen ist. Des Weiteren steht time_w für eine Stabilisierungsüberwachungszeit und gibt eine Zeit an, die von einer Zeit als einem Startpunkt, wenn die Positionsabweichungswellenform zum ersten Mal Null kreuzt, verstrichen ist. Zusätzlich steht St für eine Stabilisierungszeit und die Messzeit time_s wird jedes Mal in St eingesetzt, wenn der absolute Wert der Positionsabweichung sich von einem Wert, der größer als die Stabilisierungsbeurteilungsabweichung posin_pls in posin_pls oder weniger ändert. Wenn daher die Stabilisierungsüberwachungsauszeit-Zeit „timeout” so gesetzt wird, dass sie entsprechend lang ist, wird in St eine Zeit gespeichert, die unmittelbar nachdem sich die gestufte Positionsanweisung geändert hat, erforderlich ist, bis die Positionsabweichung schließlich stabilisiert ist. Des Weiteren steht over_shoot für einen Überschwingbetrag bezüglich des Positionsanweisungswerts der Motorposition. Nachdem die Positionsabweichung stabilisiert ist, wird ein Wert des Überschwingbetrags gleich einem Symbolumkehrwert des oben beschriebenen poserr_min.
-
Als nächstes werden die Flussdiagramme der 5 und 6 der Reihe nach beschrieben. In 5 und 6 werden im Vorgang 80 die Flussdiagramme begonnen und im Beurteilungsvorgang 81 wird eine Änderung des Positionsanweisungswerts θM* bestätigt. Vorliegend gibt es keine Änderung der Positionsanweisung, bis die gestufte Positionsanweisung eingegeben ist. Daher wird der Beurteilungsvorgang 81 wiederholt ausgeführt, aber wenn die gestufte Positionsanweisung eingegeben ist, wird beurteilt, dass „es eine Änderung im Positionsanweisungswert θM* gibt”, und der Vorgang schaltet zum Beurteilungsvorgang 82. Im Beurteilungsvorgang 82 wird beurteilt, ob die Positionsanweisung konstant ist oder nicht. Vorliegend wird, wenn die gestufte Positionsanweisung vollständig ansteigt, die Positionsanweisung konstant und die Verarbeitung schaltet zum Beurteilungsvorgang 83. Andererseits wird, während die gestufte Positionsanweisung ansteigt, der Beurteilungsvorgang 82 wiederholt ausgeführt. Im Beurteilungsvorgang 83 wird beurteilt, ob die Positionsabweichung poserr positiv oder negativ ist. Wenn sie positiv ist, schaltet der Vorgang zum Vorgang 84. Der Vorgang 84 setzt „1” auf den Merker flag_poserr_plus, was angibt, dass die Positionsabweichung von der positiven Seite beginnt, und schaltet zum Vorgang 85. Der Vorgang 85 initialisiert den Minimalpositionsabweichungswert poserr_min zur Positionsabweichung poserr und schaltet zum Initialisierungsvorgang 86. Wenn die Beurteilungsverarbeitung 83 beurteilt, dass die Positionsabweichung poserr negativ ist, schaltet der Vorgang zum Vorgang 87, um „0” auf den Merker flag_poserr_plus zu setzen, was angibt, dass die Positionsabweichung von der positiven Seite beginnt, und der Vorgang schaltet zum Vorgang 88. Der Vorgang 88 initialisiert den Minimalpositionsabweichungswert poserr_min zum Symbolumkehrwert –poserr der Positionsabweichung poserr und schaltet zum Initialisierungsvorgang 86. Im Initialisierungsvorgang 86 werden der Maximalvibrationsamplitudenwert poserr_vib in der Positionsabweichung, die Messzeit time_s, die Stabilisierungsüberwachungszeit time_w und der vorherige Wert flag_plsin_bk des Abweichungserreichungsmerkers zum Beurteilen der Stabilisierung zu Null initialisiert, und der Vorgang schaltet zum Vorgang 90. Der Vorgang 90 addiert 1 zur Messzeit time_s und schaltet zum Beurteilungsvorgang 91. In einem Fall, in dem der Vorgang 91 beurteilt, dass der absolute Wert der Positionsabweichung poserr die Stabilisierungsbeurteilungsabweichung posin_pls oder weniger ist, schaltet der Vorgang zum Vorgang 92, um „1” auf den Stabilisierungsbeurteilungsabweichungserreichungsmerker flag_plsin zu setzen, und der Vorgang schaltet zum Beurteilungsvorgang 93. Im Vorgang 93 wird beurteilt, ob der vorherige Wert flag_plsin_bk des Abweichungserreichungsmerkers zum Beurteilen der Stabilisierung Null ist. Wenn flag_plsin_bk = 0, schaltet der Vorgang zum Vorgang 94, um die Messzeit time_s in der Stabilisierungszeit St zu speichern. Der Vorgang schaltet zum Vorgang 95. Bei der Vorbereitung für den nächsten Positionsabweichungsbeurteilungsvorgang 91 setzt der Vorgang 95 den gegenwärtigen Wert der Stabilisierungsbeurteilungsabweichungserreichungsmerkers flag_plsin in den vorherigen Wert flag_plsin_bk des Abweichungserreichungsmerkers zum Beurteilen der Stabilisierung ein, und der Vorgang schaltet zum Beurteilungsvorgang 97. In einem Fall, in dem der Beurteilungsvorgang 91 beurteilt, dass der Absolute Wert der Positionsabweichung poserr nicht die Stabilisierungsbeurteilungsabweichung posin_pls oder weniger ist, schaltet der Vorgang zum Vorgang 96, um „0” auf den Stabilisierungsbeurteilungsabweichungserreichungsmerker flag_plsin zu setzen, und der Vorgang schaltet zum Vorgang 95. Wenn im Beurteilungsvorgang 93 beurteilt wird, dass flag_plsin_bk = 1, ist die Positionsabweichung bereits stabilisiert. Daher muss die Stabilisierungszeit St nicht aktualisiert werden und der Vorgang schaltet zum Vorgang 95. Der Beurteilungsvorgang 97 überprüft den Merker flag_poserr_plus, welche angibt, dass die Positionsabweichung von der positiven Seite startet. Wenn flag_poserr_plus = 1, wird beurteilt, dass die Positionsabweichung von der positiven Seite startet, die Positionsabweichung poserr wird so, wie sie ist, in die Vibrations-/Überschwingmesspositionsabweichung poserr_work eingesetzt, um zum Beurteilungsvorgang 99 zu schalten. Wenn flag_poserr_plus = 0 im Beurteilungsvorgang 97 ist, wird beurteilt, dass die Positionsabweichung von der negativen Seite startet, und der Symbolumkehrwert –poserr der Positionsabweichung poserr wird in die Vibrations-/Überschwingmesspositionsabweichung poserr_work eingesetzt, und der Vorgang schaltet zum Beurteilungsvorgang 99. Im Vorgang 99 wird beurteilt, ob die Vibrations-/Überschwingmesspositionsabweichung poserr_work unter dem Minimalpositionsabweichungswert poserr_min ist oder nicht. Wenn die Abweichung nicht mehr als der Minimalwert ist, schaltet der Vorgang zum Vorgang 101, um den Minimalpositionsabweichungswert poserr_min auf die gegenwärtige Vibrations-/Überschwingmesspositionsabweichung poserr_work zu aktualisieren, und der Vorgang schaltet zum Beurteilungsvorgang 102. In einem Fall, in dem im Beurteilungsvorgang 99 beurteilt wird, dass die Vibrations-/Überschwingmesspositionsabweichung poserr_work über dem Minimalpositionsabweichungswert poserr_min liegt, schaltet der Vorgang zum Beurteilungsvorgang 102, ohne den Minimalpositionsabweichungswert poserr_min zu aktualisieren. Im Vorgang 102 wird der bis hierhin in der Positionsabweichung gemessene Maximalvibrationsamplitudenwert poserr_vib mit „poserr_work-poserr_min” verglichen. Des Weiteren wird, wenn poserr_vib kleiner ist, poserr_vib zu „poserr_work_poserr_min” aktualisiert und der Vorgang schaltet zum Beurteilungsvorgang 104. Wenn der Beurteilungsvorgang 102 beurteilt, dass poserr_vib größer ist, schaltet der Vorgang zum Vorgang 104, ohne poserr_vib zu aktualisieren. Im Vorgang 104 wird beurteilt, ob der Minimalpositionsabweichungswert poserr_min unter Null ist, um zu erfassen, dass die Positionsabweichung Null gekreuzt hat. Wenn poserr_min ≤ 0, beurteilt der Vorgang vorliegend, dass die Positionsabweichung Null in der Vergangenheit gekreuzt hat, und schaltet zum Vorgang 105. Der Vorgang 105 addiert 1 zur Stabilisierungsüberwachungszeit time_w, was die Zeit angibt, die von der Zeit als Startpunkt verstrichen ist, als die Positionsabweichungswellenform Null zum ersten Mal gekreuzt hat, und der Vorgang schaltet zum Beurteilungsvorgang 106. In einem Fall, in dem poserr_min ≤ 0 im Beurteilungsvorgang 104 nicht festgestellt wird, beurteilt der Vorgang, dass die Positionsabweichungswellenform Null noch nicht gekreuzt hat, und schaltet zum Vorgang 90. Im Vorgang 106 wird die Stabilisierungsüberwachungszeit time_w von einem Startpunkt unmittelbar nachdem sich die gestufte Positionsanweisung geändert hat, mit der Stabilisierungsüberwachungsauszeit-Zeit „timeout” verglichen. Wenn time_w ≥ timeout, schaltet der Vorgang zum Vorgang 107, um die Überwachung der Stabilisierung zu beenden. Wenn andererseits time_w ≥ timeout im Vorgang 106 nicht festgestellt wird, schaltet der Vorgang zum Vorgang 90, um die Stabilisierungsüberwachung fortzusetzen. Der Vorgang 107 setzt als den Überschwingbetrag over_shoot einen Symbolumkehrwert –poserr_min des Minimalpositionsabweichungswerts poserr_min und schaltet zum Vorgang 108, um das Messen der Vibrationsamplitude der Positionsabweichungswellenform, der Stabilisierungszeit und des Überschwingbetrags zu beenden.
-
7 ist ein Wellenformdiagramm, das das Messverfahren der Vibrationsamplitude, der Stabilisierungszeit und des Überschwingbetrags in der ersten Ausführungsform zeigt. Ein spezifisches Beispiel eines Ergebnisses der Flussdiagramme der 5 und 6 wird durch Verwendung einer Wellenform jedes Abschnittszustandsbetrags gezeigt. In 7 zeigt eine Wellenform 120 den Positionsanweisungswert θM* und eine Wellenform 121 zeigt die Positionsabweichung poserr und die Vibrations-/Überschwingmesspositionsabweichung poserr_work. Eine Wellenform 122 zeigt den Stabilisierungsbeurteilungsabweichungserreichungsmerker flag_plsin, eine Wellenform 123 zeigt den Minimalpositionsabweichungswert poserr_min und eine Wellenform 124 zeigt poserr_work-poserr_min. Die Abszisse jeder Wellenform gibt die Messzeit time_s an. Eine Zeit, wenn die Wellenform 120, die die Positionsanweisung angibt, vollständig ansteigt, wird auf time_s = 0 gesetzt. In diesem Fall ist, da die Positionsanweisungswellenform 120 in eine positive Richtung wechselt, poserr_work in time_s ≥ 0 gleich der Positionsabweichung poserr. Wenn die Positionsanweisungswellenform 120 in eine negative Richtung wechselt, ist die Wellenform 121, die poserr_work angibt, vorliegend unverändert und die einzige Positionsabweichung poserr gibt eine Wellenform an, die durch lineares Umwandeln der Wellenform 121 symmetrisch bezüglich einer Zeitachse erhalten wird. Die Wellenform 122, die den Stabilisierungsbeurteilungsabweichungserreichungsmerker flag_plsin angibt, nimmt „1” an, wenn die poserr_work angebende Wellenform 121 zwischen –posin_pls und posin_pls in der grafischen Darstellung existiert. In einem anderen Fall nimmt der Merker „0” an. Wenn die Positionsabweichungswellenform wie in diesem Beispiel vibriert, geht der Stabilisierungsbeurteilungsabweichungserreichungsmerker flag_plsin zwischen „0” und „1” mehrmals hin und her. Danach, insbesondere, wenn die Stabilisierungsüberwachungsauszeit-Zeit „timeout” ausreichend lang gesetzt ist, bleibt der Merker schließlich bei „1”. Die Stabilisierungszeit St wird auf die Messzeit time_s bei jeder ansteigenden Kante (Pfeil) des Stabilisierungsbeurteilungsabweichungserreichungsmerkers flag_plsin aktualisiert. Die Stabilisierungsüberwachungszeit time_w ist eine Zeit, die zum Messen der Stabilisierungsüberwachungsauszeit-Zeit „timeout” erforderlich ist. Wie durch eine Zeitachse 125 in der Figur gezeigt ist, wird angenommen, dass die Zeit, wenn die Positionsabweichungswellenform 121 Null zum ersten Mal kreuzt, der Startpunkt ist. Somit wird zusätzlich zur Messzeit time_s die Stabilisierungsüberwachungszeit time_w von dem Startpunkt, wenn die Positionsabweichungswellenform 121 zum ersten Mal Null kreuzt, neu angeordnet. Der Grund dafür ist, dass die Zeit, die von der Zeit, wenn die Positionsabweichungswellenform Null kreuzt, bis die Wellenform stabilisiert ist, erforderlich ist, kaum durch Regelparameter wie die Positionsantwortfrequenz und die Geschwindigkeitsantwortfrequenz beeinflusst wird. Dementsprechend wird, wenn die Stabilisierungsüberwachungsauszeit-Zeit „timeout” durch den Benutzer gesetzt wird, ein konstanter Wert einfach ohne Berücksichtigung irgendeines Regelparameters, wie etwa der Positionsantwortfrequenz oder der Geschwindigkeitsantwortfrequenz gesetzt, so dass die Stabilisierungszeit St exakt gemessen werden kann. Die Wellenform 123 zeigt den Minimalpositionsabweichungswert poserr_min und gibt den Minimalwert an jedem Zeitpunkt der Wellenform poserr_work wie exakt gesehen an, wenn er mit der Vibrations-/Überschwingmesspositionsabweichung poserr_work verglichen wird. Die Wellenform 124 zeigt poserr_work-poserr_min und ist eine Wellenform, die durch Extrahieren von lediglich Vibrationskomponenten aus der Vibrations-/Überschwingmesspositionsabweichung poserr_work erhalten wird. Dies kann in einem Fall verstanden werden, in dem gesehen wird, dass poserr_work-poserr_min konstant Null ist, wenn poserr_work eine allmählich abnehmende Wellenform ist, die keine Vibration beinhaltet. Der Maximalvibrationsamplitudenwert poserr_vib in der schließlich zu erhaltenden Positionsabweichung ist ein Spitzenhaltewert der Wellenform 124.
-
Wie vorstehend beschrieben ist, können, wenn die Flussdiagramme der 5 und 6 verwendet werden, die Vibrationsamplitude der Positionsabweichungswellenform, die Stabilisierungszeit und der Überschwingbetrag, die für den Feedback-Regelparametereinstellabschnitt 14 erforderlich sind, gemessen werden. Es ist zu beachten, dass selbst in dem Positions-Feedforward-Regelparametereinstellabschnitt 17 einer zweiten, später beschriebenen Ausführungsform die Vibrationsamplitude der Positionsabweichungswellenform, die Stabilisierungszeit und der Überschwingbetrag verwendet werden können.
-
[Ausführungsform 2]
-
8 ist ein Regelblockdiagramm einschließlich einer Einrichtung zum automatischen Einstellen von Feedforward-Regelparametern eines Motorreglers in einer zweiten Ausführungsform der vorliegenden Erfindung. In der zweiten Ausführungsform wird zusätzlich zur automatischen Einstellung der Feedforward-Regelparameter der
1 ein Positions-Feedforward-Regelparameter automatisch eingestellt. In
8 sind dieselben Funktionskomponenten wie diejenigen der
1 mit denselben Bezugszeichen bezeichnet und eine redundante Beschreibung wird vermieden. Das Bezugszeichen
7 steht für eine Positionsregeleinheit, die ein Positionsregeleinheitausgabesignal ω
FB* nach Maßgabe einer Positionsabweichung θ
e ausgibt, und 15 steht für eine Positions-Feedforward-Regeleinheit, die einen Positionsanweisungswert θ
M* eingibt und ein Positions-Feedforward-Regeleinheitausgabesignal ω
FF* ausgibt. Eine Beziehung zwischen der Eingabe und der Ausgabe kann durch die Gleichung (7) dargestellt werden:
worin s für den Laplace-Operator steht und Kff und Tff für eine Feedforward-Verstärkung bzw. eine Feedforward-Zeitkonstante als Parameter der Regeleinheiten stehen.
-
Das Bezugszeichen 17 steht für einen Regelparametereinstellabschnitt, der die Feedforward-Verstärkung Kff und die Zeitkonstante Tff in der Positions-Feedforward-Regeleinheit 15 zusätzlich zu den Parametern der Positionsregeleinheit 7 und einer Geschwindigkeitsregeleinheit 10 auf dieselbe Weise wie im Abschnitt 14 der 1 automatisch einstellt. Daher hat zusätzlich zur Funktion des Abschnitts 14 der Regelparametereinstellabschnitt eine Funktion des Eingebens der Positionsabweichung θe und Ausgebens des Positionsanweisungswerts θM*, sowie der Feedforward-Verstärkung Kff und der Feedforward-Zeitkonstante Tff, die in der Positions-Feedforward-Regeleinheit 15 zu setzen sind. Der Regelparametereinstellabschnitt 17 weist darin einen automatischen Einstellalgorithmus des später beschriebenen Positions-Feedforward-Regelparameters und eine Funktion des aufeinander folgenden Ausgebens mehrerer durch einen Benutzer zuvor registrierter Positionsanweisungsmuster als die Positionsanweisungswerte θM* auf. Als grundlegende Betätigung arbeitet der Regelparametereinstellabschnitt tatsächlich nach Maßgabe aller der mehreren Positionsanweisungsmuster, erfüllt Bedingungen, dass Überschwingbeträge aller Positionsanweisungsmuster zulässige Werte nicht überschreiten und minimiert eine Stabilisierungszeit in einem spezifischen Positionsanweisungsmuster. Zu dieser Zeit sucht der Abschnitt automatisch nach der Feedforward-Verstärkung Kff und der Feedforward-Zeitkonstante Tff der Positions-Feedforward-Regeleinheit.
-
Als nächstes wird spezifisch ein automatisches Einstellverfahren der Feedforward-Verstärkung Kff beschrieben. Zuerst wird eine Vorstellung des Verfahrens unter Bezugnahme auf 9 beschrieben.
-
9A, 9B sind Erläuterungsansichten, die Beziehungen zwischen einer Feedforward-Verstärkung und der Stabilisierungszeit bzw. zwischen der Verstärkung und dem Überschwingbetrag in der Ausführungsform der 8 zeigen. 9A zeigt eine Beziehung zwischen der Feedforward-Verstärkung und der Stabilisierungszeit und 9B zeigt eine Beziehung zwischen der Feedforward-Verstärkung und dem Überschwingbetrag. In 9A gibt die Abszisse die Feedforward-Verstärkung Kff an und die Ordinate gibt die Stabilisierungszeit an. Grundsätzlich neigt die Stabilisierungszeit dazu, umso kürzer zu werden, je größer die Feedforward-Verstärkung Kff ist. Wie in der Figur gezeigt ist, verlängert sich die Stabilisierungszeit rapide, wenn die Feedforward-Verstärkung Kff einen bestimmten Wert oder mehr angibt. Andererseits gibt die Abszisse in 9B die Feedforward-Verstärkung Kff an und die Ordinate gibt den Überschwingbetrag an. Während die Feedforward-Verstärkung Kff klein ist, wird kein Überschwingbetrag erzeugt. Wenn jedoch die Feedforward-Verstärkung Kff einen bestimmten Wert oder mehr angibt, beginnt die Erzeugung des Überschwingens. Danach nimmt ein Betrag des erzeugten Überschwingens bezüglich Kff monoton zu.
-
Wie aus den oben beschriebenen 9A, 9B ersichtlich ist, kann gesagt werden, dass sich in einem Fall, in dem der Überschwingbetrag Null oder ausreichend klein ist, die Stabilisierungszeit verkürzt, wenn die Feedforward-Verstärkung Kff groß gesetzt wird. Wenn die Feedforward-Verstärkung Kff groß gesetzt wird, nimmt der Überschwingbetrag zu. Daher ist ersichtlich dass zum Minimieren der Stabilisierungszeit die Feedforward-Verstärkung Kff in einem Bereich maximiert werden kann, in dem der Überschwingbetrag den zulässigen Wert nicht überschreitet.
-
Daher wird in dem nachstehend beschriebenen Vorgangsflussdiagramm bezüglich aller zuvor registrierten Positionsanweisungsmuster nach der maximalen Feedforward-Verstärkung Kff gesucht, die die Bedingungen erfüllt, dass der Überschwingbetrag den zulässigen Wert nicht überschreitet.
-
10 ist ein Vorgangsflussdiagramm eines automatischen Einstellverfahrens der Feedforward-Verstärkung Kff in der zweiten Ausführungsform. Es ist zu beachten, dass ein automatisches Einstellverfahren der Feedforward-Zeitkonstante Tff später beschrieben wird, da das automatische Einstellen der Feedforward-Verstärkung Kff für ein Verfahren zum Einstellen der Feedforward-Zeitkonstante erforderlich ist.
-
In 10 steht Kff_ini für einen durch den Benutzer gesetzten Initial-Feedforward-Verstärkungswert, dmax_Kff steht für einen durch den Benutzer gesetzten maximalen Feedforward-Verstärkungssuchschritt und dmin_Kff steht für einen durch den Benutzer gesetzten minimalen Feedforward-Verstärkungssuchschritt. Des Weiteren steht Kff für die in der Positions-Feedforward-Regeleinheit 15 gesetzte gegenwärtige Feedforward-Verstärkung, div_Kff steht für den gegenwärtigen Feedforward-Verstärkungssuchschritt und Kff_bd steht für eine Grenz-Feedforward-Verstärkung, die schließlich erhalten wird. Während des später beschriebenen Einstellens wird die Suche von Kff = Kff_ini gestartet. In einem Fall, in dem Kff = Kff_ini wird, wenn der Überschwingbetrag weniger als ein zulässiger Wert ist, Kff um so viel wie der Schritt dmax_Kff erhöht. In einem Fall, in dem Kff = Kff_ini wird, wenn der Überschwingbetrag nicht weniger als der zulässige Wert ist, Kff um so viel wie der Schritt dmax_Kff gesenkt. Des Weiteren ändert sich in einem Fall, in dem sich während des Aktualisierens von Kff um so viel wie der Schritt dmax_Kff der Überschwingbetrag von unterhalb des zulässigen Werts zum zulässigen Wert oder mehr ändert, oder der Überschwingbetrag sich von dem zulässigen Wert oder mehr zu dem zulässigen Wert ändert, der folgende Vorgang durchgeführt. Das heißt, es bedeutet, dass, während der vorliegende Feedforward-Verstärkungssuchschritt div_Kff um die Hälfte reduziert wird, Kff erhöht, gesenkt und gesucht wird, bis div_Kff unter den minimalen Feedforward-Verstärkungssuchschritt fällt.
-
Als nächstes wird das Flussdiagramm der 10 der Reihe nach beschrieben. In 10 beginnt das Flussdiagramm in Vorgang 150 und im Initialisierungsvorgang 151 wird die gegenwärtige Feedforward-Verstärkung Kff zum Anfangs-Feedforward-Verstärkungswert Kff_ini initialisiert. Des Weiteren wird der vorliegende Feedforward-Verstärkungssuchschritt div_Kff zum maximalen Feedforward-Verstärkungssuchschritt dmax_Kff initialisiert, um zum Vorgang 152 zu schalten. Der Vorgang 152 führt eine Betätigung gemäß allen zuvor durch den Benutzer registrierten Positionsanweisungsmustern durch, misst die Stabilisierungszeit und den Überschwingbetrag für jede Betätigung durch die vorstehend beschriebene Einrichtung und schaltet zum Beurteilungsvorgang 153. Der Beurteilungsvorgang 153 wertet den Überschwingbetrag für jedes Betätigungsmuster aus und schaltet zum Vorgang 154, wenn der Überschwingbetrag in einem der Betätigungsmuster nicht weniger als der zulässige Wert ist. Der Vorgang 154 subtrahiert den vorliegenden Feedforward-Verstärkungssuchschritt div_Kff von der vorliegenden Feedforward-Verstärkung Kff und schaltet zum Vorgang 155. In derselben Weise wie im Vorgang 152 führt der Vorgang 155 den Betrag gemäß allen im Voraus durch den Benutzer registrierten Positionsanweisungsmustern durch, misst die Stabilisierungszeit und den Überschwingbetrag für jede Betätigung und schaltet zum Beurteilungsvorgang 156. Der Beurteilungsvorgang 156 bewertet den Überschwingbetrag für jedes Betätigungsmuster und schaltet zum Vorgang 157, wenn der Überschwingbetrag in allen Betätigungsmustern weniger als der zulässige Wert ist. Andererseits schaltet in einem Fall, in dem der Beurteilungsvorgang 156 beurteilt, dass der Überschwingbetrag in einem der Betätigungsmuster nicht weniger als der zulässige Wert ist, der Vorgang zum Vorgang 154, um die gegenwärtige Feedforward-Verstärkung Kff weiter zu reduzieren. Im Vorgang 157 wird als ein Kandidat der maximalen Verstärkung Kff, um den Überschwingbetrag in allen Betätigungsmustern auf weniger als den zulässigen Wert zu setzen, die Grenz-Feedforward-Verstärkung Kff_bd auf die gegenwärtige Feedforward-Verstärkung Kff aktualisiert und der Vorgang schaltet zum Vorgang 158. Unter Berücksichtigung des anschließenden Flusses addiert der Vorgang 158 den gegenwärtigen Feedforward-Verstärkungssuchschritt div_Kff zu der gegenwärtigen Feedforward-Verstärkung Kff, setzt wieder Bedingungen, dass der Überschwingbetrag in einem der Betätigungsmustern nicht weniger als der zulässige Wert ist, und schaltet zum Vorgang 159. In einem Fall, in dem der Beurteilungsvorgang 153 beurteilt, dass der Überschwingbetrag in allen Betätigungsmustern weniger als der zulässige Wert ist, schaltet der Vorgang zum Vorgang 160. Im Vorgang 160 wird als einer der Kandidaten der maximalen Verstärkung Kff, um den Überschwingbetrag in allen Betätigungsmustern auf weniger als den zulässigen Wert zu setzen, die Grenz-Feedforward-Verstärkung Kff_bd auf den gegenwärtige Feedforward-Verstärkung Kff aktualisiert, und der Vorgang schaltet zum Vorgang 161. Der Vorgang 161 addiert den gegenwärtigen Feedforward-Verstärkungssuchschritt div_Kff zur gegenwärtigen Feedforward-Verstärkung Kff und schaltet zum Vorgang 162. In derselben Weise wie im Vorgang 155 führt der Vorgang 162 die Betätigung gemäß aller zuvor durch den Benutzer registrierten Positionsanweisungsmuster durch, misst die Stabilisierungszeit und den Überschwingbetrag für jede Betätigung und schaltet zum Beurteilungsvorgang 163. Der Beurteilungsvorgang 163 wertet den Überschwingbetrag für jedes Betätigungsmuster aus und schaltet zum Vorgang 159, wenn der Überschwingbetrag in einem der Betätigungsmuster nicht weniger als der zulässige Wert ist. Andererseits schaltet in einem Fall, in dem der Beurteilungsvorgang 163 beurteilt, dass der Überschwingbetrag in allen Betätigungsmustern weniger als der zulässige Wert ist, der Vorgang zum Vorgang 160, um die gegenwärtige Feedforward-Verstärkung Kff weiter zu erhöhen. In dem an den Vorgang 159 anschließenden Fluss wird Kff erhöht, gesenkt und gesucht, während der gegenwärtige Feedforward-Verstärkungssuchschritt div_Kff um die Hälfte reduziert wird. Der Vorgang 159 reduziert den gegenwärtigen Feedforward-Verstärkungssuchschritt div_Kff um die Hälfte und schaltet zum Beurteilungsvorgang 165. Im Beurteilungsvorgang 165 wird beurteilt, ob der gegenwärtige Feedforward-Verstärkungssuchschritt div_Kff über dem minimalen Feedforward-Verstärkungssuchschritt dmin_Kff liegt. Wenn der gegenwärtige Schritt nicht weniger als der minimale Schritt ist, schaltet der Vorgang weiterhin zum Vorgang 166. Wenn er weniger als der minimale Schritt ist, schaltet der Vorgang zu 176, wodurch er die Suche nach der Feedforward-Verstärkung Kff beendet. Der Vorgang 166 subtrahiert den gegenwärtigen Feedforward-Verstärkungssuchschritt div_Kff von der gegenwärtigen Feedforward-Verstärkung Kff und schaltet zum Vorgang 167. In derselben Weise wie im Vorgang 162 führt der Vorgang 167 die Betätigung gemäß allen durch den Benutzer zuvor registrierten Positionsanweisungsmustern durch, misst die Stabilisierungszeit und den Überschwingbetrag für jede Betätigung und schaltet zum Beurteilungsvorgang 168. Der Beurteilungsvorgang 168 bewertet den Überschwingbetrag für jedes Betätigungsmuster und schaltet zum Vorgang 169, wenn der Überschwingbetrag in allen Betätigungsmustern weniger als der zulässige Betrag ist. Andererseits schaltet in einem Fall, in dem der Beurteilungsvorgang 168 beurteilt, dass der Überschwingbetrag in einem der Betätigungsmuster nicht weniger als der zulässige Wert ist, der Vorgang zum Vorgang 159, um die gegenwärtige Feedforward-Verstärkung Kff weiter zu reduzieren. Im Vorgang 169 wird als einer der Kandidaten der maximalen Verstärkung Kff zum Setzen des Überschwingbetrags in allen Betätigungsmustern auf weniger als den zulässigen Wert die Grenz-Feedforward-Verstärkung Kff_bd auf die gegenwärtige Feedforward-Verstärkung Kff aktualisiert und der Vorgang schaltet zum Vorgang 170. Der Vorgang 170 reduziert den gegenwärtigen Feedforward-Verstärkungssuchschritt div_Kff um die Hälfte und schaltet zum Beurteilungsvorgang 171. Im Beurteilungsvorgang 171 wird beurteilt, ob der gegenwärtige Feedforward-Verstärkungssuchschritt div_Kff über dem minimalen Feedforward-Verstärkungssuchschritt dmin_Kff liegt oder nicht. Des Weiteren schaltet, wenn der gegenwärtige Schritt nicht weniger als der minimale Schritt ist, der Vorgang zum Vorgang 172. Wenn er weniger als der minimale Schritt ist, schaltet der Vorgang zum Vorgang 176, wodurch er die Suche nach der Feedforward-Verstärkung Kff beendet. Der Vorgang 172 addiert den gegenwärtigen Feedforward-Verstärkungssuchschritt div_Kff zu der gegenwärtigen Feedforward-Verstärkung Kff und schaltet zum Vorgang 173. In derselben Weise wie im Vorgang 167 führt der Vorgang 173 die Betätigung in allen durch den Benutzer zuvor registrierten Positionsanweisungsmustern durch, misst die Stabilisierungszeit und den Überschwingbetrag für jede Betätigung und schaltet zum Beurteilungsvorgang 174. Der Beurteilungsvorgang 174 wertet den Überschwingbetrag für jedes Betätigungsmuster aus. Wenn der Überschwingbetrag in einem der Betätigungsmuster nicht weniger als der zulässige Wert ist, schaltet der Vorgang zu dem Vorgang 159, um die gegenwärtige Feedforward-Verstärkung Kff weiter zu reduzieren. Andererseits schaltet in einem Fall, in dem der Beurteilungsvorgang 174 beurteilt, dass der Überschwingbetrag in allen Betätigungsmustern weniger als der zulässige Wert ist, der Vorgang zum Vorgang 175. Im Vorgang 175 wird als einer der Kandidaten der maximalen Verstärkung Kff zum Setzen des Überschwingbetrags in allen Betätigungsmustern auf weniger als den zulässigen Wert die Grenz-Feedforward-Verstärkung Kff_bd auf die gegenwärtige Feedforward-Verstärkung Kff aktualisiert. Der Vorgang schaltet zum Vorgang 170, um die gegenwärtige Feedforward-Verstärkung Kff weiter zu erhöhen.
-
Wie vorstehend beschrieben ist, wird gemäß der Verwendung des Flussdiagramms der 10 bezüglich aller zuvor registrierten Positionsanweisungsmuster die maximale Feedforward-Verstärkung Kff, die Bedingungen erfüllt, dass der Überschwingbetrag den zulässigen Wert nicht überschreitet, als Grenz-Feedforward-Verstärkung Kff_bd festgestellt. Wenn der zulässige Wert des Überschwingbetrags ausreichend klein ist, wird die Stabilisierungszeit minimiert.
-
Des Weiteren zeigen die vorstehend beschriebenen 9A, 9B spezifisch den Einstellvorgang gemäß dem Flussdiagramm der 10. Die Einstellparameter zu diesem Zeitpunkt schließen folgende ein: Kff_ini = 0,10, dmin_Kff = 0,005, dmax_Kff = 0,10 und der zulässige Überschwingwert = 2 [Impulse]. In 9A, 9B wird die Suche in der Reihenfolge von (1) bis (6) durchgeführt und schließlich setzt der Vorgang 170 div_Kff = 0,003125. Daher wird die Antwort auf den nächsten Beurteilungsvorgang 171 negativ und der Vorgangsfluss endet.
-
11 zeigt Diagramme von Beziehungen zwischen der Feedforward-Zeitkonstante und der Stabilisierungszeit bzw. zwischen der Konstante und der Grenz-Feedforward-Verstärkung Kff_bd in der zweiten Ausführungsform. Es wird die Beziehung zwischen der Feedforward-Zeitkonstante und der Stabilisierungszeit in der in 11A gezeigten Grenz-Feedforward-Verstärkung (maximaler Wert) und die Beziehung zwischen der Feedforward-Zeitkonstante und der in 11B gezeigten Grenz-Feedforward-Verstärkung beschrieben.
-
In 11A gibt die Abszisse die Feedforward-Zeitkonstante Tff an und die Ordinate gibt die Stabilisierungszeit in der Grenz-Feedforward-Verstärkung an. In 11B gibt die Abszisse die Feedforward-Zeitkonstante Tff an und die Ordinate gibt die Feedforward-Verstärkung an. Als Parameter jeder graphischen Darstellung sind drei verschiedene Arten von Positionsanweisungsmustern ausgewählt. Vorliegend ist die Grenz-Feedforward-Verstärkung Kff_bd die maximale Feedforward-Verstärkung Kff, die die Bedingungen erfüllt, dass der Überschwingbetrag den zulässigen Wert bezüglich jedes Positionsanweisungsmusters nicht überschreitet. Insbesondere werden numerische Werte jeder Wellenform der 11B durch Ausführen des vorstehend beschriebenen Flussdiagramms der 10 gemäß jedem einzelnen Positionsanweisungsmuster unter der Bedingung, dass die Feedforward-Zeitkonstante Tff fest ist, ermittelt. Die numerischen Werte jeder Wellenform der 11A werden als Stabilisierungszeit St_bd mit der auf diese Weise ermittelten Grenz-Feedforward-Verstärkung Kff_bd gespeichert. Vorliegend ist es aus den 11A, 11B ersichtlich, dass die optimale Feedforward-Konstante, die der minimalen Stabilisierungszeit zu geben ist, zu dem Positionsanweisungsmuster unterschiedlich ist. Beispielsweise beträgt in 11A die optimale Feedforward-Zeitkonstante des Positionsanweisungsmusters 1 ungefähr 5 ms und die optimalen Feedforward-Zeitkonstanten der Positionsanweisungsmuster 2 und 3 betragen ungefähr 9 ms bzw. 10 ms. 11B zeigt, dass die Grenz-Feedforward-Verstärkung Kff_bd sich ebenfalls von dem Positionsanweisungsmuster unterscheidet.
-
Wie vorstehend in dem spezifischen Beispiel beschrieben ist, ändern sich die optimale Feedforward-Zeitkonstante und die Grenz-Feedforward-Verstärkung Kff_bd mit dem Positionsanweisungsmuster. Daher werden die Positions-Feedforward-Regelparameter unter Verwendung der tatsächlich von dem Benutzer zu verwendenden Positionsanweisungsmuster eingestellt. Wenn die geeigneten Positions-Feedforward-Regelparameter bezüglich mehrerer Positionsanweisungsmuster bestimmt werden, kann der Benutzer die Positionsanweisungsmuster bezeichnen, in denen die Stabilisierungszeit zu minimieren ist. Des Weiteren wird vorgeschlagen, die Feedforward-Zeitkonstante, die die Minimierung der Stabilisierungszeit in den Positionsanweisungsmustern realisiert, herausgefunden wird.
-
12 bis 14 sind Flussdiagramme, um nach der auf dem vorstehend beschriebenen Gedanken basierenden Grenz-Feedforward-Verstärkung Kff_bd zu suchen. In den vorliegenden Flussdiagrammen wird, um einen Parametersetzwert und ein Stabilisierungszeitmessergebnis mit der Grenz-Feedforward-Verstärkung Kff_bd effizient zu speichern und auszuwerten, eine Datenstruktur vom Strukturanordnungstyp verwendet, die aus drei Strukturelementen data[0], data[1] und data[2] besteht, die in 15 gezeigt sind.
-
15 ist eine Erläuterungsansicht einer Datenstruktur für die Suche nach einer optimalen Feedforward-Zeitkonstanten Tff_opt. Es wird die Datenstruktur vom Strukturanordnungstyp verwendet, die aus drei Strukturelementen data[0], data[1] und data[2] besteht. Jede Struktur beinhaltet die folgenden vier Elemente. Das erste Element ist die Feedforward-Zeitkonstante Tff und das nächste Element ist die Grenz-Feedforward-Verstärkung Kff_bd für die Konstante Tff. Ein weiteres Element ist die Stabilisierungszeit St_bd für ein zu bevorzugendes Positionsanweisungsmuster mit Tff und Kff_bd und das letzte Element ist der Index „next” zur Angabe der nächsten Daten, der eine Anordnungszahl zum Speichern von Daten auf der nächsten kleinen Konstanten Tff angibt. Des Weiteren steht sm_index für einen minimalen Tff-Datenangabeindex, der die Anordnungsnummer der Anordnung angibt, in der die vorliegenden Daten auf der minimalen Konstanten Tff unter den Strukturanordnungen data[0], data[1] und data[2] gespeichert sind. Es wird angenommen, dass die folgende Beschreibung von Bezugseinrichtungen auf jedes Strukturelement ähnlich der Beschreibung der C-Sprache ist. Wenn beispielsweise auf das Element St_bd der Strukturanordnung data[1] Bezug genommen wird, wird data[1].St_bd beschrieben. Wie in 15 gezeigt ist, ist es in einem Fall, in dem data[0].next = 1, selbst wenn data[data[0].next].St-bd beschrieben wird, möglich, auf das Element St_bd von data[1] Bezug zu nehmen.
-
In den Flussdiagrammen der 12 bis 14 steht Tff_ini für einen durch den Benutzer gesetzten Anfangs-Feedforward-Zeitkonstantenwert, und dmin_Tff steht für den durch den Benutzer gesetzten minimalen Feedforward-Zeitkonstantensuchschritt. Des Weiteren steht dmax_Tff für einen durch den Benutzer gesetzten maximalen Feedforward-Zeitkonstantensuchschritt, Tff steht für die gegenwärtige Feedforward-Zeitkonstante, die in der Positions-Feedforward-Regeleinheit 15 gesetzt ist, und div_Tff steht für den gegenwärtigen Feedforward-Zeitkonstantensuchschritt. Des Weiteren steht Tff_opt für eine schließlich zu ermittelnde optimale Feedforward-Zeitkonstante, und Kff_opt steht für eine optimale Feedforward-Verstärkung, die gleich der Grenz-Feedforward-Verstärkung Kff_bd in der optimalen Feedforward-Zeitkonstante Tff_opt ist. Zusätzlich steht dat_count für einen anfänglich erfassten Datenzähler zum Bestätigen, dass sich auf Tff drei erfasste Daten befinden, und data[] und sm_index sind vorstehend beschrieben worden.
-
Als nächstes wird ein Suchumriss/Überblick für die optimale Feedforward-Zeitkonstante Tff_opt gemäß dem vorliegenden Flussdiagramm unter Bezug auf 16 beschrieben.
-
16 ist eine Erläuterungsansicht eines Vorgangs für die Suche nach der optimalen Feedforward-Zeitkonstante Tff_opt. In der Figur gibt die Abszisse die Feedforward-Zeitkonstante Tff an und die Ordinate gibt die Stabilisierungszeit St_bd für das bevorzugte Positionsanweisungsmuster in der Grenz-Feedforward-Verstärkung Kff_bd mit der Feedforward-Zeitkonstante Tff an. In einem in 16 gezeigten Beispiel wird Tff_ini = Tff_1 gesetzt. In dem vorliegenden Flussdiagramm wird, während ständig drei Daten auf Tff ausgewertet werden, die als nächste zu suchende Tff bestimmt. Daher werden zuerst die Daten (1) von Tff = Tff_1 als Startpunkt betrachtet und Daten (2) und Daten (3) werden als Intervall von dmax_Tff erfasst. Als nächstes werden die Daten (1), (2) und (3) ausgewertet. Da die Zeit St_bd von jedem dieser Daten bezüglich Tff monoton abnimmt, wird eine weitere Verringerung von St_bd erwartet, Daten (4) werden als Erstreckung von Daten (3) erfasst und die Daten (1), die einen Überlauf erfahren haben, werden verworfen. Als nächstes werden die Daten (2), (3) und (4) ausgewertet. Da die Zeit St_bd von jedem von ihnen bezüglich Tff abwärts konvex ist, wird angenommen, dass die optimale Feedforward-Zeitkonstante Tff_opt „zwischen den Daten (2) und den Daten (3)” oder „zwischen den Daten (3) und den Daten (4)” vorhanden ist. Zu diesem Zeitpunkt kann die Seite, auf der Tff_opt existiert, nicht bestimmt werden, aber die Stabilisierungszeiten St_bd der Daten (2) und (4) auf entgegengesetzten Enden werden miteinander verglichen, um nach den Daten, die die kürzere Stabilisierungszeit angeben, zu suchen. Daher werden Daten (5) an einem Mittelpunkt zwischen den Daten (3) und den Daten (4) erfasst und die Daten (2) werden verworfen. Als nächstes werden die Daten (3), (5) und (4) ausgewertet. Da die Zeit St_bd von jedem von ihnen bezüglich Tff abwärts konvex ist, werden die Stabilisierungszeiten St_bd der Daten (3) und (4) gleichermaßen miteinander verglichen, Daten (6), die die kürzere Stabilisierungszeit angeben, werden erfasst und die Daten (4) werden verwarfen. Als nächstes werden die Daten (3), (6) und (5) ausgewertet. Da die Zeit St_bd von jedem von ihnen bezüglich Tff monoton abnimmt, werden Daten (7) als Erstreckung der Daten (5) erfasst und die Daten (3), die einen Überlauf erfahren haben, werden verworfen. Hier werden die Daten (6), (5) und (7) ausgewertet, und die Zeit St_bd von jedem von ihnen ist bezüglich Tff abwärts konvex. Wenn jedoch die optimale Feedforward-Zeitkonstante weiter gesucht wird, fällt der gegenwärtige Feedforward-Zeitkonstantensuchschritt div_Tff unter den durch den Benutzer gesetzten minimalen Feedforward-Zeitkonstantensuchschritt dmin_Tff. Daher ist die Suche beendet, und Tff der Daten (5), die zu diesem Zeitpunkt der minimale Punkt ist, wird als optimale Feedforward-Zeitkonstante Tff_opt ermittelt. Der Suchumriss gemäß den in den 12 bis 14 gezeigten Flussdiagrammen ist unter Bezug auf 16 beschrieben worden.
-
Als nächstes werden die Flussdiagramme der 12 bis 14 der Reihe nach beschrieben. Zuerst beginnt in 200 das Flussdiagramm. Im Initialisierungsvorgang 201 wird die gegenwärtige Feedforward-Zeitkonstante Tff zum Anfangs-Feedforward-Zeitkonstantenwert Tff_ini initialisiert und der maximale Feedforward-Zeitkonstantensuchschritt dmax_Tff wird zum gegenwärtigen Feedforward-Zeitkonstantensuchschritt dvi_Tff initialisiert. Die Anordnung der Strukturanordnung data[] wird der Reihe nach von der kleinen zu speichernden Konstante Tff zu data[0], data[1] und data[2] initialisiert. Daher wird der Index „next” zur Angabe der nächsten Daten auf data[0].next = 1, data[1].next = 2 und data[2].next = 0 gesetzt. Des Weiteren wird der minimale Tff-Datenangabeindex sm_index zu sm_index = 0 initialisiert. Um die Anzahl der gegenwärtig erworbenen Daten auf Null zu setzen, wird der ursprünglich erworbene Datenzähler auf dat_count = 0 initialisiert, und der Vorgang schaltet zu Vorgang 202. Der Vorgang 202 führt das in 10 gezeigte, vorstehend beschriebene Grenz-Feedforward-Verstärkung-Kff_bd-Suchflussdiagramm aus und schaltet zum Vorgang 203. Der Vorgang 203 speichert die gegenwärtige Feedforward-Zeitkonstante Tff in data[dat_count].Tff und speichert die Grenz-Feedforward-Verstärkung Kff_bd mit der gegenwärtigen Konstante Tff in data[dat_count].Kff_bd. Der Vorgang speichert weiterhin die Stabilisierungszeit St_bd für das bevorzugte Positionsanweisungsmuster mit den gegenwärtigen Werten von Tff und Kff_bd in data[dat_count].St_bd und schaltet zum Beurteilungsvorgang 204. Der Beurteilungsvorgang 204 bewertet den Wert des anfänglich erworbenen Datenzählers dat_count und schaltet zum Beurteilungsvorgang 205, wenn die Anzahl der Daten auf Tff drei beträgt. Wenn die Anzahl der Daten nicht drei ist, schaltet der Vorgang zum Vorgang 206. Der Vorgang 206 addiert den gegenwärtigen Feedforward-Zeitkonstantensuchschritt div_Tff zur gegenwärtigen Feedforward-Zeitkonstante Tff, addiert 1 zu dem Wert des anfänglich erworbenen Datenzählers dat_count und schaltet zum Vorgang 202. Im Beurteilungsvorgang 205 wird beurteilt, ob die Stabilisierungszeit St_bd für das bevorzugte Positionsanweisungsmuster bezüglich der Feedforward-Zeitkonstante Tff abwärts konvex ist oder nicht. Insbesondere wird, wenn dieser Vorgang zu dem Folgendem führt, beurteilt, dass die Stabilisierungszeit abwärts konvex ist, und der Vorgang schaltet zum Vorgang 207. Das heißt data[sm_index].St_bd > data[data[sm_index].next].St_bd und data[data[data[sm_index].next].next].St_bd > data[data[sm_index].next].St_bd. Der Vorgang 207 reduziert den gegenwärtigen Feedforward-Zeitkonstantensuchschritt div_Tff um die Hälfte und schaltet zum Beurteilungsvorgang 208. Der Beurteilungsvorgang 208 beurteilt, ob der gegenwärtige Feedforward-Zeitkonstantensuchschritt div_Tff über dem minimalen Feedforward-Zeitkonstantensuchschritt dmin_Tff liegt, und schaltet zum Beurteilungsvorgang 209, wenn der gegenwärtige Schritt nicht weniger als der minimale Schritt ist. Wenn der gegenwärtige Schritt weniger als der minimale Schritt ist, schaltet der Vorgang zum Vorgang 210. Im Beurteilungsvorgang 209 wird von drei Daten die Stabilisierungszeit St_bd für das bevorzugte Positionsanweisungsmuster in den Daten über die minimale Konstante Tff mit derjenigen in den Daten über die maximale Konstante Tff verglichen.
-
Insbesondere wird beurteilt, ob data[sm_index].St_bd > data[data[data[sm_index].next.next].St_bd festgestellt wird oder nicht. Wenn dies festgestellt wird, schaltet der Vorgang zu Vorgang 212. Im Vorgang 212 wird zum Erwerben neuer Daten in einem Mittelpunkt zwischen der zweitgrößten Konstante Tff und der maximalen Konstante Tff ein Wert von Tff durch Aufaddieren der zweitgrößten Konstante Tff mit dem Schritt div Tff ermittelt. Insbesondere aktualisiert der Vorgang die gegenwärtige Feedforward-Zeitkonstante Tff auf data[data[sm_index].next].Tff+div_Tff und schaltet zum Vorgang 213. Der Vorgang 213 führt das vorstehend beschriebene Grenz-Feedforward-Verstärkung-Kff_bd-Suchflussdiagramm der 10 aus und schaltet zum Vorgang 214. Im Vorgang 214 werden die im Vorgang 213 erworbenen neuen Daten in das Anordnungselement überschrieben, in dem die Daten über die gegenwärtige minimale Konstante Tff zum Aktualisieren des Elements gespeichert werden. Daher wird die gegenwärtige Feedforward-Zeitkonstante Tff in data[sm_index].Tff gespeichert und die Grenz-Feedforward-Verstärkung Kff_bd mit der vorliegenden Konstante Tff wird in data[sm_index].Kff_bd gespeichert. Des Weiteren ist die Stabilisierungszeit St_bd für das bevorzugte Positionsanweisungsmuster mit den gegenwärtigen Werten von Tff und Kff_bd in data[sm_index].St_bd gespeichert. Weiterhin ist eine korrigierte Störung des Indexes „next” zur Angabe der nächsten Daten vorhanden, der durch Überschreiben der neuen Daten auf die zweitgrößte Konstante Tff in das Anordnungselement erzeugt wird, in dem die Daten über die minimale Konstante Tff zum Aktualisieren des Elements gespeichert worden sind. Insbesondere wird ein Wert von data[sm_index].next in einer temporären Variable tmp gespeichert und data[sm_index].next wird zu data[data[sm_index].next].next aktualisiert. Des Weiteren wird data[data[sm_index].next].next zu sm_index aktualisiert und data[data[data[sm_index].next].next].next wird zu dem Wert der temporären Variable tmp aktualisiert. Schließlich wird sm_index zu dem Wert der temporären Variablen tmp aktualisiert und der Vorgang schaltet zum Beurteilungsvorgang 205. Wenn data[sm_index].St_bd > data[data[data[sm_index].next.next].St_bd nicht im Beurteilungsvorgang 209 festgestellt wird, schaltet der Vorgang zum Vorgang 215. Im Vorgang 215 wird zum Erfassen der neuen Daten in einem Mittelpunkt zwischen der minimalen Konstanten Tff und der zweitgrößten Konstanten Tff ein Wert von Tff durch Subtrahieren von div_Tff von der zweitgrößten Konstanten Tff ermittelt. Insbesondere aktualisiert der Vorgang die gegenwärtige Feedforward-Zeitkonstante Tff zu data[data[sm_index].next].Tff-div_Tff und schaltet zum Vorgang 216. Der Vorgang 216 führt das vorstehend beschriebene Grenz-Feedforward-Verstärkung-Kff_bd-Suchflussdiagramm der 10 aus und schaltet zum Vorgang 217. Im Vorgang 217 wird zum Überschreiben der in dem Vorgang 216 erworbenen neuen Daten in das Anordnungselement, in dem die Daten über die gegenwärtige maximale Konstante Tff zum Aktualisieren des Elements gespeichert sind, die gegenwärtige Feedforward-Zeitkonstante Tff in data[data[data[sm_index].next].next].Tff gespeichert. Des Weiteren wird die Grenz-Feedforward-Verstärkung Kff_bd mit der gegenwärtigen Konstanten Tff in data[data[data[sm_index].next].next].Kff_bd gespeichert. Die Stabilisierungszeit St_bd für das bevorzugte Positionsanweisungsmuster mit den gegenwärtigen Werten von Tff und Kff_bd wird in data[data[data[sm_index].next].next].St_bd gespeichert. Weiterhin gibt es eine korrigierte Störung des Indexes „next” zur Angabe der nächsten Daten, der durch Überschreiben der neuen Daten auf der zweitgrößten Konstanten Tff in das Anordnungselement erzeugt wird, in dem die Daten über die maximale Konstante Tff zum Aktualisieren des Elements gespeichert worden sind. Insbesondere wird der Wert von data[sm_index].next in der temporären Variablen tmp gespeichert und data[sm_index].next wird zu data[data[sm_index].next].next aktualisiert. Weiterhin wird data[data[sm_index].next].next zu data[data[data[sm_index].next].next].next aktualisiert. Des Weiteren wird data[data[data[sm_index].next].next].next zu dem Wert der temporären Variablen tmp aktualisiert und der Vorgang schaltet zu dem Beurteilungsvorgang 205. Wenn div_Tff ≥ dmin_Tff nicht in dem Beurteilungsvorgang 208 festgestellt wird, schaltet der Vorgang zu Vorgang 210. Im Vorgang 210 wird data[data[sm_index].next].Tff, die die zweitgrößte Konstante Tff ist, auf die optimale Feedforward-Zeitkonstante Tff_opt gesetzt. Weiterhin setzt der Vorgang data[data[sm_index].next].Kff_bd, der die Grenz-Feedforward-Verstärkung Kff_bd in der zweitgrößten Konstante Tff ist, auf die optimale Feedforward-Verstärkung Kff_opt und schaltet zu einem Endzustand 211. Andererseits schaltet in einem Fall, in dem der Beurteilungsvorgang 205 beurteilt, dass die Stabilisationszeit St_bd für das bevorzugte Positionsanweisungsmuster bezüglich der Feedforward-Zeitkonstanten nicht abwärts konvex ist, der Vorgang zum Beurteilungsvorgang 218. Der Beurteilungsvorgang 218 beurteilt, ob die Stabilisierungszeit St_bd für das bevorzugte Positionsanweisungsmuster bezüglich der Feedforward-Zeitkonstanten Tff monoton ansteigt oder nicht. Wenn data[sm_index].St_bd < data[data[sm_index].next].St_bd < data[data[data[sm_index].next].next].St_bd, beurteilt der Vorgang vorliegend, dass die Zeit monoton zunimmt, und schaltet zum Vorgang 219. Im Vorgang 219 wird, da die Zeit monoton zunimmt, eine Abnahme von St_bd erwartet und neue Daten werden als Erstreckung der Daten über die minimale Konstante Tff erworben. Insbesondere aktualisiert der Vorgang die gegenwärtige Feedforward-Zeitkonstante Tff zu data[sm_index].Tff-div_Tff und schaltet zum Vorgang 220. Der Vorgang 220 führt das vorstehend beschriebene Grenz-Feedforward-Verstärkung-Kff_bd-Suchflussdiagramm der 10 aus und schaltet zum Vorgang 221. Der Vorgang 221 überschreibt die im Vorgang 220 erfassten neuen Daten in das Anordnungselement, in dem die Daten über die gegenwärtige maximale Konstante Tff zum Aktualisieren des Elements gespeichert werden. Daher wird die gegenwärtige Feedforward-Zeitkonstante Tff in data[data[data[sm_index].next].next].Tff gespeichert. Des Weiteren wird die Grenz-Feedforward-Verstärkung Kff_bd mit der gegenwärtigen Konstante Tff in data[data[data[sm_index].next].next].Kff_bd gespeichert. Die Stabilisierungszeit St_bd für das bevorzugte Positionsanweisungsmuster mit den gegenwärtigen Werten von Tff und Kff_bd wird in data[data[data[sm_index].next].next].St_bd gespeichert. Des Weiteren werden die Daten über die minimale Konstante Tff in das Anordnungselement überschrieben, in dem die Daten über die maximale Konstante Tff zum Aktualisieren des Elements gespeichert worden sind, und dementsprechend wird der minimale Index sm_index zur Angabe der Tff-Daten aktualisiert. Insbesondere wird der Wert von data[data[sm_index].next].next ersetzt und der Vorgang schaltet zum Beurteilungsvorgang 205. In einem Fall, in dem in dem Beurteilungsvorgang 218 nicht beurteilt wird, dass die Stabilisierungszeit monoton zunimmt, wird beurteilt, dass die Zeit monoton abnimmt und der Vorgang schaltet zum Vorgang 222. Im Vorgang 222 wird, da die Zeit monoton abnimmt, ein weiteres Absteigen von St_bd erwartet und neue Daten werden als Erstreckung der Daten über die maximale Konstante Tff erworben. Insbesondere aktualisiert der Vorgang die gegenwärtige Feedforward-Zeitkonstante Tff auf data[sm_index].Tff+3xdiv_Tff und schaltet zum Vorgang 223. Der Vorgang 223 führt das vorstehend beschriebene Grenz-Feedforward-Verstärkung-Kff_bd-Suchflussdiagramm der 10 aus und schaltet zum Vorgang 224. Im Vorgang 224 werden die im Vorgang 223 erfassten neuen Daten in das Anordnungselement überschrieben, in dem die Daten über die gegenwärtige minimale Konstante Tff zum Aktualisieren des Elements gespeichert werden. Daher wird die gegenwärtige Feedforward-Zeitkonstante Tff in data[sm_index].Tff gespeichert und die Grenz-Feedforward-Verstärkung Kff_bd mit der gegenwärtigen Konstante Tff wird in data[sm_index].Kff_bd gespeichert. Weiterhin wird die Stabilisierungszeit St_bd für das bevorzugte Positionsanweisungsmuster mit den gegenwärtigen Werten von Tff und Kff_bd in data[sm_index].St_bd gespeichert. Des Weiteren werden die Daten über die maximale Konstante Tff in das Anordnungselement überschrieben, in dem die Daten über die minimale Konstante Tff zum Aktualisieren des Elements gespeichert worden sind, und dementsprechend wird der minimale Index sm_index zur Angabe der Tff-Daten aktualisiert. Insbesondere wird der Wert von data[sm_index].next ersetzt und der Vorgang schaltet zum Beurteilungsvorgang 205.
-
Wie vorstehend beschrieben wurde, ist es, während der Überschwingbetrag auf den vorgegebenen (zulässigen) Wert oder weniger bezüglich aller zuvor registrierter Positionsanweisungsmuster unterdrückt wird, möglich, automatisch nach den Positions-Feedforward-Regelparametern zu suchen, um die Stabilisierungszeit in dem bezeichneten spezifischen Positionsanweisungsmuster zu minimieren.
-
Es ist zu beachten, dass im Vorgang 203, 214, 217, 221 und 224 die Stabilisierungszeit St_bd für das bevorzugte Positionsanweisungsmuster auf data[].St_bd gesetzt wird, aber es kann die längste Stabilisierungszeit von allen bewerteten Positionsanweisungsmustern gesetzt werden.
-
Als nächstes sind in den 17, 18 Beispiele für einen Einstellparameter-Einrichtbildschirm gezeigt.
-
17 zeigt ein Aufbaubeispiel eines Bildschirms eines Personalcomputers für den Benutzer, um Einstellbedingungen während des automatischen Einstellens der Feedback-Regelparameter in der ersten Ausführungsform der vorliegenden Erfindung einzugeben. In 17 entsprechen Eingabeelemente den vorstehend beschriebenen Einstellparametern. Zum Beispiel entspricht das Bezugszeichen 290 der minimalen Positionsantwortfrequenz Fp_min, 291 entspricht der maximalen Positionsantwortfrequenz Fp_max und 292 entspricht dem Positionsantwortfrequenzinkrementierschritt div_Fp. Weiterhin entspricht 293 der Minimalgeschwindigkeitsantwortfrequenz Fs_min, 294 entspricht der Maximalgeschwindigkeitsantwortfrequenz Fs_max, 295 entspricht dem Geschwindigkeitsantwortfrequenzinkrementierschritt div_Fs, 296 entspricht dem zulässigen Vibrationsamplitudenwert θvib der Positionsabweichung θe und 297 entspricht der Stabilisierungsüberwachungsauszeit-Zeit „timeout”. Des Weiteren sind ausschließlich wählbare Prüfkästchen 298 und 299 für den Benutzer angeordnet, um auszuwählen, ob die gestufte Positionsanweisung automatisch erzeugt oder die Anweisung manuell gesetzt werden soll. Im vorliegenden Fall wird, wenn das Kästchen 298 ausgewählt wird, der in dem Flussdiagramm der 2 gezeigte Vorgang ausgeführt und das Positionsanweisungsmuster wird automatisch gesetzt. Andererseits muss, wenn das Kästchen 299 ausgewählt wird, der Benutzer Elemente einer Beschleunigungs-/Verlangsamungszeit 300, einer Bewegungsentfernung 301 und einer Maximalgeschwindigkeit 302 setzen und das Positionsanweisungsmuster bestimmen.
-
18 zeigt ein Aufbaubeispiel eines Bildschirms eines Personalcomputers für den Benutzer, um während des automatischen Einstellens der Positions-Feedforward-Regelparameter in der zweiten Ausführungsform der vorliegenden Erfindung Einstellbedingungen einzugeben. In 18 entsprechen Eingabeelemente den vorstehend beschriebenen Einstellparametern. Beispielsweise entspricht das Bezugszeichen 311 dem minimalen Feedforward-Verstärkungssuchschritt dmin_Kff und 312 entspricht dem maximalen Feedforward-Verstärkungssuchschritt dmax_Kff. Weiterhin entspricht das Bezugszeichen 314 dem anfänglichen Feedforward-Zeitkonstantenwert Tff_ini, 316 entspricht dem minimalen Feedforward-Zeitkonstantensuchschritt dmin_Tff, 317 entspricht dem maximalen Feedforward-Zeitkonstantensuchschritt dmax_Tff und 318 entspricht der Stabilisierungsüberwachungsauszeit-Zeit „timeout”.
-
Des Weiteren sind 320 bis 324 jeweils Einstellbedingungen-Einrichtbildschirme von Positionsanweisungsmustern 1 bis 5. Einer der Bereiche 320 bis 324, auf dem Musternamen angezeigt sind, kann mit einer Maus angeklickt werden, um den Einrichtbildschirm des entsprechenden Musters zu öffnen. Es ist zu beachten, dass 18 einen Zustand zeigt, in dem der Einrichtbildschirm des Positionsanweisungsmusters 1 geöffnet ist, aber der Einrichtbildschirm eines anderen Positionsanweisungsmusters weist einen Aufbau ähnlich demjenigen des Musters 1 auf. Danach wird eine Beschleunigungs-/Verlangsamungszeit in dem Positionsanweisungsmuster auf ein Kästchen 300 gesetzt, eine Bewegungsentfernung in dem Positionsanweisungsmuster wird auf ein Kästchen 301 gesetzt und die Maximalgeschwindigkeit in dem Positionsanweisungsmuster wird auf ein Kästchen 302 gesetzt, um das Positionsanweisungsmuster zu bestimmen. Des Weiteren entspricht das Bezugszeichen 325 einem zulässigen Wert eines Überschwingbetrags in dem Positionsanweisungsmuster und 326 entspricht einer Abweichung posin_pls zum Beurteilen der Stabilisierung in dem Positionsanweisungsmuster. Ein Prüfkästchen 327 setzt fest, ob das Einstellen in dem Positionsanweisungsmuster durchgeführt wird oder nicht. Ein Auswahlelement 313 wird angebracht, um festzusetzen, ob das Einstellen der Positions-Feedforward-Zeitkonstante durchgeführt wird oder nicht. Das Auswahlelement beinhaltet „mit Einstellen” und „ohne Einstellen”. Wenn das Element „ohne Einstellen” ausgewählt wird, wird das Flussdiagramm der 10 ausgeführt und die einzige Positions-Feedforward-Verstärkung wird bezüglich der gegenwärtigen Positions-Feedforward-Zeitkonstante eingestellt. Wenn andererseits „mit Einstellen” ausgewählt wird, werden die Flussdiagramme der 12 bis 14 ausgewählt, um das Einstellen sowohl der Positions-Feedforward-Verstärkung als auch der -Zeitkonstante durchzuführen. Ein Auswahlelement 319 wird angeordnet, um das am meisten bevorzugte Positionsanweisungsmuster zu bezeichnen, in dem die Stabilisierungszeit zu minimieren ist. Im Auswahlelement 313 ist es möglich, eines der in dem Prüfkästchen 327 markierten Positionsanweisungsmuster und „Muster mit maximaler Stabilisierungszeit” auszuwählen.
-
19 ist ein Aufbaudiagramm, das das Gesamtsystem eines Motorreglers zeigt, in dem die der ersten und zweiten Ausführungsform gemeinsame vorliegende Erfindung angewendet werden kann. In 19 steht das Bezugszeichen 341 für eine Kugelumlaufspindeleinheit, 342 steht für einen Motor, 343 steht für eine Positionserfassungseinheit des Motors 343, 345 steht für einen Schlitten, auf dem eine Last 344 angebracht ist, 339 steht für einen Verstärker zur Verstärker des Stellsignals und 346 steht für ein Kabel, das ein Positionserfassungssignal des Motors 342 zum Verstärker zur Verstärker des Stellsignals 339 überträgt. Des Weiteren steht das Bezugszeichen 347 für ein Kabel, das eine Antriebsleitung von dem Verstärker zur Verstärker des Stellsignals 339 zum Motor 342 zuführt, und 349 steht für ein Kabel, das dem Verstärker zur Verstärker des Stellsignals eine Leistung zuführt. Des Weiteren steht das Bezugszeichen 352 für einen Personalcomputer, in den der Benutzer Einstellbedingungen während des automatischen Einstellens von Feedback-Regelparametern und Positions-Feedforward-Regelparametern eingibt, und 353 steht für ein Kommunikationskabel zum Übertragen der Einstellbedingungen von dem Personalcomputer 352 zum Verstärker zur Verstärker des Stellsignals 339.
-
Als nächstes werden Entsprechungen zwischen den Bezugszeichen der 1 und 8, die in den vorstehenden Beschreibungen der ersten und zweiten Ausführungsform verwendet werden, und den Bezugszeichen der 19 beschrieben. Der Motor 1 entspricht 342, die Positionserfassungseinheit 5 entspricht 343, die Last 2 entspricht 344 und 345, und die Antriebswelle 3 entspricht einer Kugelumlaufspindel in der Kugelumlaufspindeleinheit 341. Die folgenden Aufbauelemente sind in dem Verstärker zur Verstärker des Stellsignals 339 beinhaltet. Das heißt, der Verstärker zur Verstärker des Stellsignals beinhaltet zunächst die Leistungswandlungseinheit 4 und gewöhnliche Regler wie die Subtrahiereinheit 6, die Positionsregeleinheit 7, die Geschwindigkeitsberechnungseinheit 8, die Subtrahiereinheit 9, die Geschwindigkeitsregeleinheit 10, die Stromerfassungseinheit 11, die Subtrahiereinheit 12 und die Stromregeleinheit 13. Weiterhin sind zusätzlich zu dem Feedback-Regelparametereinstellabschnitt 14 oder 17, der gemäß der vorliegenden Erfindung hinzugefügt ist, die Positions-Feedforward-Regeleinheit 15, die Addiereinheit 16 und dergleichen im Verstärker zur Verstärker des Stellsignals 339 beinhaltet.