-
Die vorliegende Erfindung bezieht sich auf ein numerisches
Steuerverfahren, das in der Lage ist, verschiedene Steuerungen
bei hohen Geschwindigkeiten mit einer gewünschten
Positionierungsgenauigkeit durchzuführen.
-
Bei einer Positionierungssteuerung, die durch ein numerisches
Steuergerät bewirkt wird, wird ein Steuerobjekt derart
gesteuert, daß eine Abweichung zwischen einer Ziel-Position und einer
Ist-Position in einen vorbestimmten Bereich fällt.
Beispielsweise liest das numerische Steuergerät beim Bearbeiten eines
Werkstücks ein NC-Programm Block für Block aus, in welchem
Bearbeitungsbedingungen, wie eine Werkzeugposition, angegeben
sind, und führt betreffende Blöcke des Programms in
Aufeinanderfolge aus. In dem Fall des auf diese Weise ausgelesenen
Blocks, der einen Bewegungsbefehl beinhaltet, entscheidet das
numerische Steuergerät, ob eine Positionierungssteuerung für
einen Block beendet ist, wenn die Größe eines gespeicherten
Werts in einem Fehlerregister, welches in einer Servoschaltung
enthalten ist, die einen Teil eines Werkzeugtreibersystems
bildet, einen Wert unterhalb eines voreingestellten In-Positions-
Werts während der Ausführung dieses Blocks erreicht, und
startet dann das Ausführen dieses Blocks, wobei der gespeicherte
Wert einen Fehler oder eine Abweichung zwischen einem Ziel-
Bewegungsbetrag eines Werkzeugs, welcher durch den
Bewegungsbefehl angegeben ist, und einem Ist-Bewegungsbetrag des
Werkzeugs, der durch einen Positions-Detektor erfaßt ist,
repräsentiert.
-
Bei der Positionierungssteuerung dieser Art ist die
Positionierungsgenauigkeit verbessert, jedoch wird eine Zeitperiode, die
für das Positionieren erforderlich ist, verlängert, wenn der
In-Positions-Wert auf einen kleineren Wert gesetzt ist.
-
Gemäß dem herkömmlichen Verfahren wird der In-Positions-Wert
fest eingestellt, und demzufolge ist es schwierig, gleichzeitig
eine verbesserte Positionierungsgenauigkeit und eine verkürzte
Ausführungszeitperiode für die erwünschte Positionierung zu
erreichen.
-
Die Aufgabe der vorliegenden Erfindung besteht darin, ein
numerisches Steuerverfahren zu schaffen, das in der Lage ist,
verschiedene Steuerungen bei hohen Geschwindigkeiten auszuführen,
wobei eine gewünschte Positionierungsgenauigkeit
aufrechterhalten bleibt, und zwar durch veränderbares Einstellen der
Positionierungsgenauigkeit.
-
Um die zuvor genannte Aufgabe zu lösen, ist ein numerisches
Steuerverfahren gemäß der vorliegenden Erfindung, wie sie in
Anspruch 1 angegeben ist, vorgesehen, das Schritte umfaßt zum
(a) Voreinstellen von Werten eines Parameters, wobei jeder
Parameterwert eine Positionierungsgenauigkeit für eine
zugeordnete von Arten von Bewegungsbefehlen repräsentiert, und (b)
Auslesen zum Ausführen eines numerischen Steuerprogramms Block
für Block. Der Schritt (b) enthält Schritte zum (b1) Bestimmen
einer Kombination von Arten von Bewegungsbefehlen, die jeweils
in einer Vielzahl von aufeinanderfolgenden Blöcken angegeben
sind, welche einen Block enthalten, der momentan auszuführen
ist, (b2) Auswählen eines entsprechenden der Parameter-Werte,
die durch Schritt (a) eingestellt sind, in Übereinstimmung mit
dem Ergebnis der Bestimmung gemäß Schritt (b1) und Starten der
Ausführung des momentan betreffenden Blocks und (b3) Starten
der Ausführung des nächsten Blocks, wenn auf der Grundlage des
Parameter-Werts, der in Schritt (b2) ausgewählt ist, bestimmt
ist, daß die Positionierung, die dem Bewegungsbefehl für den
momentan betreffenden Block zugeordnet ist, beendet ist.
-
Wie zuvor erläutert, ist es gemäß der vorliegenden Erfindung,
da die Positionierungsgenauigkeit veränderbar während der
Ausführung der Steuerung in Übereinstimmung mit einer Kombination
von Bewegungsbefehlen eingestellt wird, die sequentiell aus
einem NC-Programm ausgelesen weiden, möglich, verschiedene
Steuerungen bei hohen Geschwindigkeiten mit gewünschter
Genauigkeit auszuführen.
-
Fig. 1 zeigt ein Blockschaltbild, das ein numerisches Steuerge
rät und periphere Elemente zum Ausführen eines
numerischen Steuerverfahrens gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung darstellt.
-
Fig. 2 zeigt ein Flußdiagramm eines Vorbereitungsprozesses zur
Ausführung der Positionierungssteuerung, die durch das
Gerät gemäß Fig. 1 bewirkt wird.
-
Fig. 3 zeigt ein Flußdiagramm, das einen Prozess zur Ausführung
der Positionierungssteuerung angibt.
-
Gemäß Fig. 1 umfaßt ein numerisches Steuergerät (im folgenden
als NC-Gerät bezeichnet) 1 eine zentrale Verarbeitungseinheit
(im folgenden als CPU bezeichnet) 10, die durch einen Bus 16
mit einem ROM 11, welcher z. B. ein Management-Programm zur
allgemeinen Steuerung des NC-Geräts 1 speichert, einem RAM 12
zur vorübergehenden Speicherung von Daten, einem
nichtflüchtigen Speicher 13 zum Speichern eines NC-Programms zur
Bearbeitung und von Parametern, wie In-Positions-Werte, welche
später erläutert werden, einer Dateneingabe-Einrichtung (im
folgenden als CRT/MDI bezeichnet) 14 mit einer
Katodenstrahlröhren-(CRT-)Anzeigeeinrichtung und einer Seervo-Schnittstelle
15 verbunden ist. Mit der Schnittstelle 15 sind
Servoschaltungen 17X, 17Y und 17Z zum Treiben von Servomotoren MX, MY und MZ
verbunden, die drei Steuerachsen (X-, Y- u. Z-Achsen) einer NC-
Werkzeugmaschine zugeordnet sind.
-
In den Servoschaltungen 17X, 17Y u. 17Z sind Fehlerregister
18x, 18Y u. 18Z enthalten, die derart angeordnet sind, daß sie
Impulse, welche von der CPU 10 durch die Servo-Schnittstelle 15
verteilt sind, und Rückkopplungsimpulse aus
Positions-Detektoren PX, Py u. PZ, die jeweils auf den Servomotoren MX, MY u. MZ
montiert sind, aufnehmen und jeweils Fehler oder Abweichungen
εx, εy u. εz zwischen befohlenen Bewegungsbeträgen und
Ist-Bewegungsbeträgen speichern.
-
Die CPU 10 ist derart beschaffen, daß sie diese Abweichungen
oder Fehlerbeträge durch die Servo-Schnittstelle 15 erfaßt und
eine Positionierungssteuerung in einer Weise ausführt, daß
jeder Fehlerbetrag zu einem Wert Null wird, um dadurch die
Werkzeugmaschine so zu treiben, daß beispielsweise ein Werkstück
(nicht gezeigt) in einer gewünschten Form ausgebildet wird.
-
Im folgenden wird die Arbeitsweise des numerischen Steuergeräts
1 erklärt.
-
Zunächst wird das NC-Programm in dem nicht flüchtigen Speicher
13 gespeichert, und es werden verschiedene In-Positions-Werte
als Parameter, die bezeichnend für die
Positionierungsgenauigkeit sind, durch die CRT/MDI 14 eingegeben und jeweils in
zugeordneten Adreßbereichen des nichtflüchtigen Speichers 13
gespeichert.
-
Im folgenden wird eine Erklärung der Einstellung der
In-Positions-Werte gegeben. Gemäß der vorliegenden Erfindung sind die
In-Positions-Werte im wesentlichen änderbar einstellbar. Der
Grund dafür, derart zu verfahren, liegt darin, daß sich eine
gewünschte Positionierungsgenauigkeit des Endpunkts in einem
bestimmten Block, d.h. des Beginnpunkts in dem nächsten Block,
von Fall zu Fall ändert, wenn das NC-Programm Block für Block
ausgeführt wird. Mehr im einzelnen wird der In-Positions-Wert
gemäß der vorliegenden Erfindung auf einen kleinen Wert
eingestellt, wenn die Positionierung präzise ausgeführt werden
sollte. Andererseits wird der In-Positions-Wert auf einen großen
Wert eingestellt, um den Positionierungsprozeß bei einer hohen
Geschwindigkeit zu bewirken. Ferner wird die gewünschte
Positionierungsgenauigkeit in Abhängigkeit von einer Kombination
von Arten von Mehrfachbewegungsbefehlen, die in
Aufeinanderfolge auszuführen sind, bestimmt.
-
In diesem Ausführungsbeispiel wird der In-Position-Wert
unterschiedlich für die Fälle eingestellt, in denen (i) beide von
zwei Bewegungsbefehlen, die in Aufeinanderfolge auszuführen
sind, Hochgeschwindigkeitsbefehle sind, entweder einer dieser
Befehle ein Hochgeschwindigkeitsbefehl und ein anderer Befehl
ein Schneidbefehl ist, bzw. (ii) beide der zwei Befehle
Schneidbefehle sind. Mehr im einzelnen wird der In-Position-
Wert auf einen Wert A für den Fall (i) und auf einen Wert B,
der kleiner als der Wert A ist, für den Fall (ii) eingestellt.
-
Wenn das NC-Gerät 1 betrieben wird, nachdem verschiedene In-
Position-Werte eingestellt sind, führt die CPU 10 eine
Zeitmultiplex-Steuerung durch. Das bedeutet dem Anschein nach, daß
die CPU 10 gleichzeitig einen Vorbereitungsprozeß, einen
Ausführungsprozeß und weitere Prozesse ausführt. In dem
Vorbereitungsprozeß liest die CPU Befehlsdaten eines Blocks des
betreffenden NC-Programm aus und wandelt diese Daten in Daten einer
Form um, die auszuführen ist. In dem Ausführungsprozeß führt
dieser für jede Achse eine Impulsverteilung durch.
-
Anhand von Fig. 2 und Fig. 3 wird im folgenden eine Erklärung
der Vorbereitungs- u. Ausführungsprozesse, welche sich auf die
vorliegende Erfindung beziehen, gegeben.
-
In dem Vorbereitungsprozeß, wie er in Fig. 2 gezeigt ist,
werden Befehlsdaten, die in einem betreffenden Block angegeben
sind, aus dem NC-Programm ausgelesen (Schritt S1), und dann
werden die Daten in Daten der Ausführungsform umgesetzt
(Schritt S2), welche dann in einem Vorbereitungsregister R1
gespeichert werden (Schritt S3) . Als nächstes wird eine
Entscheidung dahingehend getroffen, ob Daten, die zuvor in einem
Ausführungsregister R2 gespeichert wurden, zur Ausführung durch
die CPU 10 ausgelesen oder nicht ausgelesen worden sind und das
Register R2 von Daten frei ist (Schritt S4) . Falls entschieden
wird, daß das Register R2 frei von Daten ist, werden die
Ausführungsform-Daten, die in dem Vorbereitungsregister R1
gespeichert sind, zu dem Ausführungsregister R2 übertragen und darin
gespeichert (Schritt S5) . Das bedeutet, daß das
Ausführungsregister R2 in sich Ausführungsdaten, die dem auszuführenden
Block zur gegenwärtigen Zeit zugeordnet sind, speichert,
während das Vorbereitungsregister R1 in sich die Ausführungsform-
Daten, die dem nächsten Block zugeordnet sind, speichert. Die
CPU 10 führt die Verarbeitung gemäß den Schritten S1 bis S5
innerhalb einer Zeitperiode aus, die jedem Zyklus der
Zeitmultiplex-Steuerung zugewiesen ist.
-
Andererseits liest die CPU 10 in dem Ausführungsprozeß die
Ausführungsform-Daten, welche in dem Ausführungsregister R2
gespeichert sind, aus (Schritt S10) und startet die
Impulsverteilungs-Verarbeitung (Schritt S11), um auf diese Weise Impulse
auf die Fehlerregister 18X, 18Y u. 18Z durch die
Servo-Schnittstelle 15 zu verteilen. Als Folge davon werden die Servomotoren
MX, MY u. MZ getrieben, und die betreffenden Registerwerte
werden jedesmal dann, wenn die Fehlerregister 18X, 18Y u. 18Z
jeweils mit einem Rückkopplungsimpuls versorgt werden, welcher
durch die Positionsdetektoren PX, PY u. PZ erzeugt wird,
verringert. Die Servomotoren MX, MY u. MZ werden so getrieben, daß
Fehlerbeträge εx, εy u. εz, welche in den Fehlerregister 18X,
18Y u. 18Z akkumuliert sind, zu einem Wert Null werden.
-
Gleichzeitig mit der Ausführung des Impulsverteilungs-Prozesses
in Zeitmultiplex-Technik entscheidet die CPU 10, ob in dem
Block, der auszuführen ist, ein Schneidbefehl enthalten oder
nicht enthalten ist (Schritt S12) . Wenn der Schneidbefehl
angegeben ist, entscheidet die CPU 10, ob ein Schneidbefehl auch in
dem nächsten Block, der bereits ausgelesen worden ist,
enthalten oder nicht enthalten ist (Schritt S13) . Falls entschieden
wird, daß der nächste Block ebenfalls den Schneidbefehl
enthält, liest die CPU 10 den In-Position-Wert von B aus, der
vorab in diesem Adreßbereich des nicht flüchtigen Speichers 13
gespeichert ist, welcher Wert den Ergebnissen dieser
Entscheidung entspricht, und speichert denselben in einem Register C
(Schritt S14) . Andererseits wird, wenn in Schritt S12
entschieden ist, daß kein Schneidbefehl in dem Block, der auszuführen
ist, enthalten ist, und wenn in Schritt S13 entschieden ist,
daß ein Befehl des nächsten Blocks kein Schneidbefehl ist, d.
h. wenn kein Schneidbefehl in irgendeinem der zwei Blöcke
enthalten ist, der In-Position-Wert von A in dem Register C
gespeichert, welcher Wert zuvor in demjenigen Adreßbereich des
nichtflüchtigen Speichers 13 gespeichert worden ist, der den
Ergebnissen dieser Entscheidungen entspricht (Schritt S15).
Dann liest die CPU 10 die Fehlerwerte εx, εy u. εz aus den
Fehlerregister 18X, 18Y u. 18Z aus und entscheidet, ob die
Größe jedes der Fehlerwerte kleiner als ein zugeordneter der
In-Position-Werte A u. B, die in dem Register C gespeichert
sind, oder nicht kleiner ist (Schritte S16, S18 u. 20) . Wenn
entschieden ist, daß die Größe irgendeines der Fehlerwerte εx,
εy u. εz kleiner als der In-Position-Wert ist, stellt die CPU 10
ein zugeordnetes oder mehrere von Kennzeichnungs-Bits FX, FY u.
FZ auf den Wert "1" (Schritte S17, S19 u. S21) . Wenn alle der
Kennzeichnungs-Bits Fx, FY u. FZ auf "1" gestellt sind (Schritt
S22), bestimmt die CPU 10, daß die Ziel-Position oder der
Endpunkt für den Block, der augenblicklich ausgeführt wird,
erreicht ist. Dann werden alle der Kennzeichnungs-Bits FX, FY
u. FZ auf "0" gestellt (Schritt F23), und das Programm kehrt zu
Schritt S10 zurück, um die Bearbeitung für den nächsten Block
zu starten.
-
Die vorliegende Erfindung ist nicht auf das zuvor angegebene
Ausführungsbeispiel beschränkt und kann auf verschiedene Art
und Weise modifiziert werden. Beispielsweise wird in dem zuvor
beschriebenen Ausführungsbeispiel die Erfüllung jeder von zwei
In-Position-Wert-Auswahlbedingungen geprüft, d.h. ob eine
Verschiebung von Schneidgeschwindigkeit zu
Schneidgeschwindigkeit oder anderen Arten von Verschiebungen vorgenommen wird,
und jeder der zwei In-Position-Werte wird in Abhängigkeit
davon ausgewählt, ob die betreffende Bedingung erfüllt ist.
Indessen ist es stattdessen möglich, den In-Position-Wert des
Typs zu benutzen, der einen unterschiedlichen Wert in
Abhängigkeit von einer Kombination von Arten von Bewegungsbefehlen für
den gegenwärtigen und den nächsten Block hat. In diesem Fall
werden die In-Position-Werte für betreffende Kombinationen
vorab eingestellt, es wird eine Bestimmung des Typs der
Kombination von Befehlen anstelle der Entscheidungen gemäß den
Schritten S12 u. S13 in Fig. 3 durchgeführt und ferner wird der In-
Position-Wert in Übereinstimmung mit dem Ergebnis der zuvor
erläuterten Entscheidung in dem Register C eingestellt.
-
Darüber hinaus kann die vorliegende Erfindung, obwohl sie auf
eine Drei-Achsen-Steuerung in dem zuvor beschriebenen
Ausführungsbeispiel angewendet ist, in Übereinstimmung mit einer
Erhöhung oder Erniedrigung der Anzahl von Steuerachsen
modifiziert werden.