-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die Erfindung betrifft eine numerische Steuerung, die eingerichtet ist zum Glätten (Unterdrücken) von Geschwindigkeitsvariationen aufgrund von abrupten Änderungen von Positionsabweichungen.
-
Zum Stand der Technik
-
Eine numerische Steuerung, die mit einem Servomotor eine Steuerachse, wie eine bewegbare Komponente einer Maschine oder einer anderen Vorrichtung, antreibt, führt typischerweise eine Positionsschleifenregelung durch. Bei der Positionsschleifenregelung bremst der Servomotor abrupt ab oder beschleunigt abrupt aufgrund der Wirkung eines Positionsabweichungszählers, der bei der Positionsregelung eingesetzt wird, so dass in einigen Fällen ein glatter (laufruhiger) Betrieb verhindert ist. Als eine Lösung des Problems beschreibt beispielsweise die
japanische Patentveröffentlichung 2007-172394 eine Technik, die eine glatte Bewegung der Steuerachse ermöglicht durch Addition eines Positionsabweichungsbetrages entsprechend einer tatsächlichen Geschwindigkeit, die gewonnen wird, wenn von einem Zustand, in dem kein Strom durch den Servomotor fließt (”Servo-Aus”-Zustand), umgeschaltet wird in einen Zustand, in dem dort Strom fließt (”Servo-Ein”-Zustand), zu einem befohlenen Bewegungsbetrag, der an den Servomotor in einem ersten Bewegungsbefehl-Ausgabezyklus nach dem Umschalten abgegeben wird.
-
Bei dieser Technik wird allerdings der befohlene, an den Servomotor gegebene Bewegungsbetrag so ausgegeben, dass die tatsächliche Geschwindigkeit, mit der die Steuerachse sich bewegt, wenn der Servo-Aus-Zustand umgeschaltet wird in den Servo-Ein-Zustand als anfängliche Geschwindigkeit eingestellt ist. Deshalb bleibt das folgende Problem ungelöst: wirkt eine Last, wie eine externe Kraft, auf den Servomotor, der im Servo-Ein-Zustand, gemäß der Positionsschleifenregelung angetrieben wird, und wird die Last abrupt entfernt, nachdem die Positionsabweichung akkumuliert ist, beschleunigt der Servomotor abrupt mit seinem maximalen Drehmoment, um zu versuchen, die akkumulierte Positionsabweichung zu eliminieren und dies ergibt eine instabile Geschwindigkeit.
-
Wenn beispielsweise die Geschwindigkeit einer Antriebsachse entsprechend einem befohlenen Bewegungsbetrag Pcmd in jedem verteilten Zyklus auf eine konstante Geschwindigkeit Vcmd gesteuert wird, dann ist die in einem Positionsabweichungszähler akkumulierte Positionsabweichung Err typischerweise konstant, wie in 7 dargestellt ist. Wenn aber die tatsächliche Geschwindigkeit V0 der Antriebsachse aufgrund einer angelegten Last abfällt, wächst die Diskrepanz <1>, <2> und <3> zwischen dem befohlenen Bewegungsbetrag und dem tatsächlichen Bewegungsbetrag der Antriebsachse und dies ergibt einen Anstieg der Positionsabweichung Err. Wird dann die Last abrupt entfernt, ändert sich die tatsächliche Geschwindigkeit V0 der Antriebsachse abrupt im nachfolgenden verteilten Zyklus [A], weil die Positionsabweichung Err augenblicklich eliminiert ist, was in unerwünschter Weise eine instabile Aktion der Antriebsachse ergibt.
-
KURZBESCHREIBUNG DER ERFINDUNG
-
Ein Ziel der Erfindung ist die Bereitstellung einer numerischen Steuerung, die in der Lage ist, eine Situation zu beherrschen, in welcher eine Last auf einen Servomotor wirkt, so dass eine Positionsabweichung akkumuliert wird, und wobei die Last abrupt entfernt wird, und die in der Lage ist, zu verhindern, dass der Servomotor abrupt mit seinem maximalen Drehmoment beschleunigt, um die akkumulierte Positionsabweichung zu eliminieren.
-
Bei einer numerischen Steuerung gemäß der Erfindung wird die Positionsabweichung gewonnen durch einen Positionsabweichungszähler auf Basis einer Befehlsposition entsprechend einem befohlenen Bewegungsbetrag, ausgegeben von einer Positionsbefehlseinheit, und einer detektierten tatsächlichen Position in jedem Befehlsbewegungszyklus und die Positionsschleifenregelung wird ausgeführt auf Basis der ermittelten Positionsabweichung, um die Steuerachse anzutreiben und zu regeln. Die numerische Steuerung hat eine Einstelleinheit für den befohlenen Bewegungsbetrag, welche einen angepassten Befehlsbewegungsbetrag berechnet auf Basis des befohlenen Bewegungsbetrages, ausgegeben von der Positionsbefehlseinheit, der Positionsabweichung, gewonnen durch den Positionsabweichungszähler, und einer tatsächlichen Geschwindigkeit der Steuerachse, und welche den berechneten, angepassten Befehlsbewegungsbetrag an den Positionsabweichungszähler abgibt.
-
Die Einstelleinheit für den befohlenen Bewegungsbetrag kann eingerichtet sein, den angepassten Befehlsbewegungsbetrag so zu berechnen, dass der angepasste Befehlsbewegungsbetrag nicht einen maximalen Befehlsbewegungsbetrag überschreitet. In diesem Fall kann der vorgegebene maximale Befehlsbewegungsbetrag ein Einstellwert sein, der als Parameter in die numerische Steuerung eingegeben wird, oder ein Befehlswert, der durch einen Programmlauf in der numerischen Steuerung ausgegeben wird, oder ein Befehlswert, der in Form eines Eingabesignals in die numerische Steuerung gegeben wird.
-
Die Einstelleinheit für den befohlenen Bewegungsbetrag kann eingerichtet sein, den angepassten Befehlsbewegungsbetrag zu berechnen auf Basis einer befohlenen Beschleunigung, welche die Änderungsrate des angepassten Befehlsbewegungsbetrages in jedem Bewegungsbefehlsausgabezyklus spezifiziert. In diesem Fall kann die befohlene Beschleunigung ein Einstellwert sein, der als Parameter in die numerische Steuerung eingegeben wird, ein befohlener Wert, ausgegeben durch einen Programmlauf in der numerischen Steuerung, oder ein befohlener Wert, in Form eines Eingabesignals in die numerische Steuerung.
-
Bei der vorliegenden Erfindung beschleunigt der Servomotor nicht abrupt, sondern kann auf eine Zielposition und eine Zielgeschwindigkeit zurückkehren, auch wenn eine Last auf den Servomotor im Betrieb unter Positionsschleifenregelung wirkt, wobei Positionsabweichungen akkumuliert werden und wenn die Last sodann abrupt entfernt wird. Wenn beispielsweise ein Werkstück oder ein anderer Gegenstand im Arbeitsbereich einer Fördervorrichtung stecken bleibt und die Förderrichtung durch einen Servomotor angetrieben wird, so dass die Betriebsgeschwindigkeit des Servomotors aufgrund der auf ihn wirkenden Last abfällt und wenn sodann die Last entfernt wird, kann eine Situation vermieden werden, in welcher die Maschine abrupt mit hoher Geschwindigkeit arbeitet; vielmehr kann die Maschine schnell in einen Zustand normaler Steuerung zurückkehren, in welcher die Zielposition und die Zielgeschwindigkeit befehlsgemäß erreicht werden.
-
KURZBESCHREIBUNG DER FIGUREN
-
Obige Ziele und Merkmale der Erfindung sowie weitere Ziele und Merkmale werden noch deutlicher aus der nachfolgenden Beschreibung von Ausführungsbeispielen mit Bezug auf die Figuren:
-
1 ist ein Blockdiagramm wichtiger Komponenten einer numerischen Steuerung gemäß der Erfindung;
-
2 ist ein funktionales Blockdiagramm zur Erläuterung der Funktion der numerischen Steuerung gemäß 1;
-
3 zeigt Änderungen der Geschwindigkeit eines Antriebsachsenmotors gemäß einem ersten Beispiel eines Verfahrens zur Einstellung des befohlenen Bewegungsbetrages, ausgeführt durch eine Einstelleinheit für den befohlenen Bewegungsbetrag in der numerischen Steuerung gemäß 2;
-
4 zeigt als Flussdiagramm ein erstes Beispiel eines Verfahrens zum Einstellen und Anpassen des befohlenen Bewegungsbetrages, ausgeführt durch die Einstelleinheit für den befohlenen Bewegungsbetrag in der numerischen Steuerung gemäß 2;
-
5 zeigt im Überblick Änderungen der Geschwindigkeit des Antriebsachsenmotors gemäß einem zweiten Beispiel für die Anpassung des befohlenen Bewegungsbetrages, ausgeführt durch die Einstelleinheit für den befohlenen Bewegungsbetrag der numerischen Steuerung gemäß 2;
-
6 zeigt als Flussdiagramm ein zweites Beispiel des Verfahrens für die Anpassung des befohlenen Bewegungsbetrages, ausgeführt durch die Einstelleinheit für den befohlenen Bewegungsbetrag in der numerischen Steuerung gemäß 2; und
-
7 erläutert ein Problem bei der Servomotorgeschwindigkeitssteuerung im Stand der Technik.
-
BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSBEISPIELE IM EINZELNEN
-
1 zeigt als Blockdiagramm Hauptkomponenten einer numerischen Steuerung 10 gemäß der Erfindung. Eine CPU 11 liest ein in einem ROM 12 gespeichertes Systemprogramm über einen Bus 20 aus und steuert die numerische Steuerung 10 als Ganzes entsprechend dem ausgelesenen Systemprogramm. Ein RAM 13 speichert zeitweise Rechendaten und Anzeigedaten sowie weiterhin verschiedene Daten, die durch eine Bedienungsperson über eine Anzeige-/MDI-Einheit 70 eingegeben werden.
-
Eine CMOS 14 ist als nichtflüchtiger Speicher eingerichtet, der durch eine nicht gezeigte Batterie gestützt wird, so dass ein gespeicherter Zustand auch bei Ausschalten der numerischen Steuerung 10 beibehalten wird. Die COMS 14 speichert ein Bearbeitungsprogramm, das über eine Schnittstelle 15 ausgelesen wird, ein Bearbeitungsprogramm, welches über die Anzeige-/MDI-Einheit eingegeben worden ist, und andere Arten von Informationen. Die ROM 12 speichert weiterhin verschiedene vorab geschriebene Systemprogramme für Verfahren, wie das Editieren und Erzeugen von Bearbeitungsprogrammen sowie Verfahren für den automatischen Betrieb.
-
Die verschiedenen Bearbeitungsprogramme, wie ein Bearbeitungsprogramm für die Realisierung der vorliegenden Erfindung, können über die Schnittstelle 15 und die Anzeige-/MDI-Einheit 70 eingegeben und im CMOS-Speicher 14 abgespeichert werden.
-
Die Schnittstelle 15 erlaubt eine Verbindung zwischen der numerischen Steuerung 10 und einer externen Vorrichtung 72, wie einem Adapter. Ein Bearbeitungsprogramm, verschiedene Parameter und weitere Arten von Informationen werden aus der externen Vorrichtung 72 ausgelesen. Ein in der numerischen Steuerung 10 editiertes Bearbeitungsprogramm kann über die externe Vorrichtung 72 in einem externen Speicher abgespeichert werden.
-
Eine programmierbare Maschinensteuerung (PMC) 16 gibt über eine I/O-Einheit 17 (Eingabe/Ausgabe-Einheit) ein Signal an eine Hilfseinrichtung (z. B. einen Aktuator, wie eine Roboterhand zum Werkzeugaustausch) in einer Werkzeugmaschine entsprechend einem Ablaufprogramm in der numerischen Steuerung 10 zur Steuerung der Hilfseinrichtung. Die PMC 16 empfängt auch Signale über verschiedene Schalter auf einer Bedienoberfläche im Hauptkörper der Werkzeugmaschine, führt die erforderliche Verarbeitung der Signale aus und liefert die Verarbeitungsergebnisse an den Prozessor 11.
-
Die Anzeige-/MDI-Einheit 70 ist eine Einrichtung für eine manuelle Dateneingabe mit einer Anzeige, einer Tastatur und weiteren Komponenten, und eine Schnittstelle 18 empfängt Befehle und Daten von der Tastatur in der Anzeige-/MDI-Einheit 70 und liefert sie an die CPU 11. Eine Schnittstelle 19 ist mit einem Bedienfeld 71 verbunden, welches einen manuellen Pulsgenerator und weitere Komponenten aufweist.
-
Achsensteuerschaltungen 30 und 31 bezüglich jeweiliger Achsen empfangen befohlene Bewegungsbeträge bezüglich der zugeordneten Achsen und geben Befehle für diese an Servoverstärker 40 und 41. Die Servoverstärker 40 und 41 empfangen die Befehle und treiben einen Antriebsachsenmotor 50 und einen Motor 51 für eine angetriebene Achse an. Jede der Achsen ist mit einem Servomotor versehen mit eingebautem Positions-/Geschwindigkeitsdetektor und ein Positions-/Geschwindigkeitsrückkoppelsignal von dem jeweiligen Positions-/Geschwindigkeitsdetektor wird in die zugeordnete Achsensteuerschaltung 30 bzw. 31 für eine Rückkoppelregelung rückgeführt. Im Blockdiagramm gemäß 1 ist die Positions-/Geschwindigkeitsrückkopplung nicht näher dargestellt.
-
2 ist ein funktionales Blockdiagramm zur Erläuterung der Funktion der numerischen Steuerung gemäß 1.
-
Die numerische Steuerung 10 wird hauptsächlich gebildet aus einer numerischen Steuereinheit 100 und einer Servosteuereinheit 200. Die numerische Steuereinheit 100 hat eine Positionsbefehlseinheit 110, eine Einstelleinheit 120 für einen befohlenen Bewegungsbetrag, und eine Akkumulationseinheit 130 für Abweichungen bezüglich einer befohlenen Bewegungsbetraganpassung, und die Servosteuereinheit 200 hat einen Positionsabweichungszähler 210.
-
Die Positionsbefehlseinheit 110 berechnet einen befohlenen Bewegungsbetrag, gemäß dem der Antriebsachsenmotor arbeiten sollte, entsprechend einem Bewegungsbefehl, gegeben durch ein Bearbeitungsprogramm oder eine Bedienungsperson, sowie einen Restbewegungsbetrag, der gewonnen wird aus der Akkumulationseinheit 130 für die befohlene Bewegungsbetragsanpassung, und gibt den berechneten befohlenen Bewegungsbetrag aus.
-
Die vorliegende Erfindung ist insbesondere dadurch gekennzeichnet, dass die numerische Steuereinheit 100 der numerischen Steuerung 10 die Einstelleinheit 120 aufweist für den befohlenen Bewegungsbetrag; diese führt ein Verfahren zur Anpassung eines befohlenen Bewegungsbetrages aus, welches weiter unten noch näher beschrieben wird, um einen angepassten Befehlsbewegungsbetrag in einem Befehlsbewegungszyklus zu berechnen auf Basis des befohlenen Bewegungsbetrages, ausgegeben durch die Positionsbefehlseinheit 110, der Positionsabweichung, gewonnen durch den Positionsabweichungszähler 210 in der Servosteuereinheit 200, und den Geschwindigkeitsrückkoppelwertes, rückgeführt vom Antriebsachsenmotor 50, und gibt den so berechneten, angepassten Befehlsbewegungsbetrag an den Positionsabweichungszähler 210 und die Abweichungsakkumulationseinheit 130 für den befohlenen Bewegungsbetrag.
-
Die Abweichungsakkumulationseinheit 130 akkumuliert den angepassten Befehlsbewegungsbetrag, gewonnen aus der Anpassungseinheit 120 für den befohlenen Bewegungsbetrag, entsprechend dem Restbewegungsbetrag, und gibt den akkumulierten Wert an die Positionsbefehlseinheit 110.
-
Der Positionsabweichungszähler 210 subtrahiert einen Positionsrückmeldewert vom Positions-/Geschwindigkeitsdetektor (nicht gezeigt), der in dem Antriebsachsenmotor 50 vorgesehen ist, von dem angepassten Befehlsbewegungsbetrag aus der Einstelleinheit 120 für den befohlenen Bewegungsbetrag, um die Positionsabweichung zu bestimmen. Die Servosteuereinheit 200 steuert die Geschwindigkeit des Antriebsachsenmotors 50 auf Basis der Positionsabweichung, bestimmt durch den Positionsabweichungszähler 210. Das Verfahren zum Steuern des Antriebsachsenmotors 50 entsprechend der Positionsabweichung in der Servosteuereinheit 200 braucht nicht näher beschrieben zu werden, weil dieses Verfahren als solches bekannt ist für eine numerische Steuerung, welche eine Maschine oder eine andere Vorrichtung steuert.
-
Ein erstes Ausführungsbeispiel für einen Anpassungsvorgang bezüglich eines befohlenen Bewegungsbetrages, ausgeführt durch die Anpassungseinheit 120 für den befohlenen Bewegungsbetrag gemäß 2, wird nunmehr mit Bezug auf die 3 und 4 näher beschrieben.
-
3 zeigt im Überblick Änderungen der Geschwindigkeit eines Antriebsachsenmotors 50 gemäß 2.
-
In einer Situation, in welcher der Antriebsachsenmotor 50 mit einer Geschwindigkeit angetrieben wird, die größer ist als eine Grenzgeschwindigkeit Vlim hierfür, mit dem Antriebsachsenmotor gegebenen Bewegungsbeträgen in einem verteilten Zyklus gemäß 7 (verteilter Zyklus [A] in 7), löscht die numerische Steuerung 10 Positionsabweichungen (<1> + <2> + <3>), die in dem Positionsabweichungszähler 210 akkumuliert sind und welche größer sind oder gleich einer befohlenen Geschwindigkeit Vcmd, und die Differenz (Vcmd – V0) zwischen der befohlenen Geschwindigkeit Vcmd und der tatsächlichen Geschwindigkeit V0, die durch eine externe Last reduziert ist, und ein angepasster Befehlsbewegungsbetrag Pout werden so berechnet, dass die tatsächliche Geschwindigkeit des Antriebsachsenmotors 50 auf die Grenzgeschwindigkeit Vlim gemäß 3 fixiert ist und an die Servosteuereinheit 200 gegeben wird. Die gelöschte Positionsabweichung (<1> + <2> + <3>) und die Geschwindigkeitsdifferenz (Vcmd – V0) werden an die Abweichungsakkumulationseinheit 130 für die befohlene Bewegungsbetragsanpassung gegeben und als Restbewegungsbetrag akkumuliert.
-
4 zeigt als Flussdiagramm ein erstes Beispiel eines Anpassungsverfahrens für den befohlenen Bewegungsbetrag, ausgeführt durch die Anpassungseinheit 120 für den befohlenen Bewegungsbetrag. Das Verfahren wird erläutert entsprechend den einzelnen Schritten nach dem Flussdiagramm gemäß 4.
- – [Schritt S401] Ein befohlener Bewegungsbetrag Pcmd, ausgegeben an die Servosteuereinheit 200, wird gewonnen.
- – [Schritt S402] Eine Positionsabweichung Err wird von dem Positionsabweichungszähler 210 gewonnen.
- – [Schritt S403] Die tatsächliche Geschwindigkeit V0, rückgemeldet vom Antriebsachsenmotor 50, wird gewonnen.
- – [Schritt S404] Der in Schritt S401 gewonnene befohlene Bewegungsbetrag Pcmd wird konvertiert in den Bewegungsbetrag für jeden verteilten Zyklus (t), zur Bestimmung der befohlenen Geschwindigkeit Vcmd, und die in Schritt S402 ausgelesene Positionsabweichung Err wird konvertiert in den Bewegungsbetrag für jeden verteilten Zyklus (t), um eine Geschwindigkeit Verr zu bestimmen entsprechend der Positionsabweichung, und die ermittelte Geschwindigkeit Vcmd wird zur Geschwindigkeit Verr addiert, um eine Geschwindigkeit V zu gewinnen.
- – [Schritt S405] Es wird ermittelt, ob die Geschwindigkeit V größer ist als die Grenzgeschwindigkeit Vlim oder nicht. Ist die Geschwindigkeit V größer als die Grenzgeschwindigkeit Vlim (JA), geht das Verfahren zu Schritt S406, während dann, wenn die Geschwindigkeit V gleich oder kleiner ist als die Grenzgeschwindigkeit Vlim (NEIN), das Verfahren zu Schritt S409 geht.
- – [Schritt S406] Es wird ein Anpassungsbewegungsbetrag Vadj (= –(V – V0)) berechnet, der zum Löschen der Geschwindigkeit V verwendet wird, und zwar aus der Differenz zwischen der Geschwindigkeit V und der tatsächlichen Geschwindigkeit V0 (V – V0), wie sich aus der nachfolgenden Gleichung (1) ergibt, und sodann wird die Differenz (Vlim – V0) zwischen der Grenzgeschwindigkeit Vlim und der tatsächlichen Geschwindigkeit V0 zum angepassten Bewegungsbetrag Vadj (= –(V – V0)) addiert, welcher verwendet wird zum Löschen (Aufheben) der Geschwindigkeit V, wie oben beschrieben und repräsentiert durch die nachfolgende Gleichung (2) zum Berechnen des angepassten Befehlsbewegungsbetrages Pout. Vadj = –(V – Vcmd – V0) = –(V – V0) (1) Pout = –(V – V0) + Vlim – V0 = –(V – Vlim) (2)
- – [Schritt S407] Der angepasste Verlauf Vadj (= –(V – V0)), der in Schritt S406 berechnet worden ist und zum Aufheben der Geschwindigkeit V eingesetzt wird, wird an die Abweichungsakkumulationseinheit 130 für die befohlene Bewegungsbetragsanpassung gegeben.
- – [Schritt S408] Der angepasste Befehlsbewegungsbetrag Pout (= –(V = Vlim)), welcher in Schritt S406 berechnet wurde, wird an die Servosteuereinheit 200 gegeben und der Anpassungsprozess bezüglich des befohlenen Bewegungsbetrages in diesem verteilten Zyklus wird beendet.
- – [Schritt S409] Der befohlene Bewegungsbetrag Pcmd wird gesetzt als angepasster Befehlsbewegungsbetrag Pout und das Verfahren geht zu Schritt S408.
-
Wie oben beschrieben, passt bei einer abrupten Geschwindigkeitsänderung die Anpassungseinheit 120 für den befohlenen Bewegungsbetrag den befohlenen Bewegungsbetrag an, welcher an die Servosteuereinheit 200 zu geben ist, um den abrupten Wechsel der Geschwindigkeit zu glätten, und die Abweichungsakkumulationseinheit 130 für die befohlene Bewegungsbetragsanpassung führt den so geglätteten Bewegungsbetrag zurück auf den Restbewegungsbetrag, der verwendet wird durch die Positionsbefehlseinheit 110, wodurch die Antriebsachse steuerbar ist auf Basis eines Befehls mit einem abrupten Wechsel der Geschwindigkeit der Antriebsachse, der aber geglättet ist.
-
Ein Überblick über ein zweites Ausführungsbeispiel für den Anpassungsvorgang bezüglich des befohlenen Bewegungsbetrages, ausgeführt durch die Anpassungseinheit 120 für den befohlenen Bewegungsbetrag gemäß 2, wird nunmehr mit Blick auf die 5 und 6 näher beschrieben.
-
Beim zweiten Ausführungsbeispiel eines Anpassungsverfahrens für den befohlenen Bewegungsbetrag wird eine spezifische Beschleunigung Acmd in dem Anpassungsprozess für den befohlenen Bewegungsbetrag eingesetzt, wobei der Prozess ausgeführt wird durch die Anpassungseinheit 120 für den befohlenen Bewegungsbetrag, um den angepassten Befehlsbewegungsbetrag Pout so anzupassen, dass Änderungen der Geschwindigkeit des Antriebsachsenmotors 50 Übergänge haben mit Geschwindigkeiten, die bestimmt sind aufgrund der befohlenen Beschleunigung.
-
5 erläutert im Überblick Änderungen der Geschwindigkeit des Antriebsachsenmotors 50 gemäß 2.
-
In einer Situation, in welcher der Antriebsachsenmotor 50 mit einer Geschwindigkeit angetrieben wird, die größer ist als eine Grenzgeschwindigkeit Vlim hierfür und der an den Antriebsachsenmotor 50 in einem verteilten Zyklus gegebene Bewegungsbetragsbefehl 7 entspricht (verteilter Zyklus [A] in 7), hebt die numerische Steuerung 10 die Positionsabweichung (<1> + <2> + <3>) auf, die im Positionsabweichungszähler 210 akkumuliert ist, wobei die Geschwindigkeit gleich oder größer ist als die befohlene Geschwindigkeit Vcmd, und die Differenz (Vcmd – V0) zwischen der befohlenen Geschwindigkeit Vcmd und der tatsächlichen Geschwindigkeit V0, Letztere reduziert durch eine externe Last, und ein angepasster Befehlsbewegungsbetrag Pout wird so berechnet, dass die tatsächliche Geschwindigkeit des Antriebsachsenmotors 50 einen glatten Übergang gemäß 5 durchführt, entsprechend einem Ausgangssignal an die Servosteuereinheit 200.
-
Die aufgehobene Positionsabweichung (<1> + <2> + <3>) und die Geschwindigkeitsdifferenz (Vcmd – V0) werden an die Abweichungsakkumulationseinheit 130 für die befohlene Bewegungsbetragsabweichung gegeben und als Restbewegungsbetrag akkumuliert.
-
Danach werden ein angepasster Befehlsbewegungsbetrag Pout, festgelegt aufgrund der tatsächlichen Geschwindigkeit V0, und die spezifische Beschleunigung Acmd für jeden verteilten Zyklus berechnet bis die Geschwindigkeit die Grenzgeschwindigkeit Vlim erreicht und dies wird an die Servosteuereinheit 200 gegeben. Nachdem die Geschwindigkeit die Grenzgeschwindigkeit Vlim erreicht hat, wird die Geschwindigkeit des Antriebsachsenmotors 50 so gesteuert, dass sie auf die Grenzgeschwindigkeit Vlim fixiert ist.
-
Die spezifische Beschleunigung Acmd kann eingestellt werden auf einen Wert innerhalb eines im Voraus eingestellten Bereiches, beispielsweise in dem CMOS 14, unter Berücksichtigung der Leistung der einzelnen Antriebsachsenmotoren, oder sie kann durch ein Programm, wie das NC-Programm, ausgegeben werden, oder als Eingabesignal in die numerische Steuerung 10.
-
6 zeigt als Flussdiagramm das zweite Ausführungsbeispiel des Anpassungsvorganges für den befohlenen Bewegungsbetrag, wie er durch die Anpassungseinheit 120 für den befohlenen Bewegungsbetrag ausgeführt wird. Der Prozess wird nun mit den einzelnen Schritten entsprechend dem Flussdiagramm nach 6 erläutert.
- – [Schritt S601] Es wird der befohlene Bewegungsbetrag Pcmd gewonnen, der an die Servosteuereinheit 200 gegeben wird.
- – [Schritt S602] Aus dem Positionsabweichungszähler 210 wird die Positionsabweichung Err gewonnen.
- – [Schritt S603] Die vom Antriebsachsenmotor 50 rückgemeldete tatsächliche Geschwindigkeit V0 wird gewonnen.
- – [Schritt S604] Der in Schritt S601 gewonnene befohlene Bewegungsbetrag Pcmd wird in jedem verteilten Zyklus (t) in einen Bewegungsbetrag konvertiert, um die befohlene Geschwindigkeit Vcmd zu bestimmen; die in Schritt S602 ausgelesene Positionsabweichung Err wird in den Bewegungsbetrag in jedem verteilten Zyklus (t) konvertiert, um die Geschwindigkeit Verr entsprechend der Positionsabweichung zu bestimmen, und die ermittelte Geschwindigkeit Vcmd wird zur Geschwindigkeit Verr addiert, um die Geschwindigkeit V zu berechnen.
- – [Schritt S605] Es wird ermittelt, ob die Geschwindigkeit V größer ist als die Grenzgeschwindigkeit Vlim oder nicht. Ist die Geschwindigkeit V größer als die Grenzgeschwindigkeit Vlim (JA), geht das Verfahren zu Schritt S606, während dann, wenn die Geschwindigkeit V gleich oder kleiner ist als die Grenzgeschwindigkeit Vlim (NEIN), das Verfahren zu Schritt S609 geht.
- – [Schritt S606] Es wird geprüft, ob der angepasste Befehlsbewegungswert Pout, gewonnen durch Addition des Bewegungsbetrages (Acmd × t), abgeleitet aus der spezifischen Beschleunigung Acmd, zum angepassten Bewegungsbetrag Vadj (= –(V – V0)), verwendet zur Aufhebung der Geschwindigkeit V, gleich oder kleiner ist als Vlim oder nicht. Ist Pout kleiner als oder gleich Vlim, geht das Verfahren zu Schritt S607, während dann, wenn Pout größer ist als Vlim, das Verfahren zu Schritt S610 geht.
- – [Schritt S607] Der angepasste Bewegungsbetrag Vadj (= –(V – V0)), der verwendet wird zur Aufhebung der Geschwindigkeit V, wird berechnet auf Basis der Differenz (V – V0) zwischen der Geschwindigkeit V und der tatsächlichen Geschwindigkeit V0, entsprechend obiger Gleichung (1), und sodann wird der Bewegungsbetrag (Acmd × t), abgeleitet aus der befohlenen Beschleunigung, zum angepassten Verlauf Vadj addiert, entsprechend der nachfolgenden Gleichung (2), um so den angepassten Befehlsbewegungsbetrag Pout zu berechnen. Pout = –(V – V0) + Acmd × t (3)
- –] Der angepasste, zur Aufhebung der Geschwindigkeit [Schritt S608V verwendete Verlauf Vadj (= –(V – V0)) wird an die Abweichungsakkumulationseinheit 130 für die befohlene Bewegungsbetragsanpassung gegeben.
- – [Schritt S609] Der angepasste Befehlsbewegungsbetrag Pout wird an die Servosteuereinheit 200 gegeben.
- – [Schritt S610] Die Differenz (Vlim – V0) zwischen der Grenzgeschwindigkeit Vlim und der tatsächlichen Geschwindigkeit V0 wird zum eingestellten Verlauf Vadj (= –(V – V0)) addiert, verwendet zur Aufhebung der Geschwindigkeit V, um den angepassten Befehlsbewegungsbetrag Pout zu berechnen, entsprechend der obigen Gleichung (2), d. h. die folgende Rechnung Pout = (Vlim – V0) = (V – V0) = Vlim – V (=wird ausgeführt, um den angepassten Befehlsbewegungsbetrag Pout Vlim – V) zu berechnen und das Verfahren geht zu Schritt S608.
- – [Schritt S611] Der befohlene Bewegungsbetrag Pcmd wird auf den angepassten Befehlsbewegungsbetrag Pout eingestellt und das Verfahren geht zu Schritt S609.
-
Wie oben beschrieben ist, kann beim zweiten Ausführungsbeispiel des Anpassungsprozesses für den befohlenen Bewegungsbetrag dann, wenn die Geschwindigkeit sich abrupt ändert, die Anpassungseinheit 120 für den befohlenen Bewegungsbetrag diesen zur Abgabe an die Servosteuereinheit 200 so anpassen, dass der abrupte Wechsel der Geschwindigkeit geglättet ist und der angepasste Befehlsbewegungsbetrag Pout so abgeändert ist, dass Änderungen der Geschwindigkeit der Antriebsachse glatt verlaufen mit einer Geschwindigkeit, die sich aus der spezifizierten Beschleunigung Acmd ergibt.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-