DE19614232A1 - Verfahren und Vorrichtung für die numerische Steuerung - Google Patents
Verfahren und Vorrichtung für die numerische SteuerungInfo
- Publication number
- DE19614232A1 DE19614232A1 DE19614232A DE19614232A DE19614232A1 DE 19614232 A1 DE19614232 A1 DE 19614232A1 DE 19614232 A DE19614232 A DE 19614232A DE 19614232 A DE19614232 A DE 19614232A DE 19614232 A1 DE19614232 A1 DE 19614232A1
- Authority
- DE
- Germany
- Prior art keywords
- cycle
- speed
- command pulse
- movement
- sampling cycle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/41—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
- G05B19/4103—Digital interpolation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34095—Look ahead segment calculation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34179—Variable interpolation speed or resolution
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34366—Interpolation interrupt so as to avoid fractions of command pulses
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/42—Servomotor, servo controller kind till VSS
- G05B2219/42266—Variable sampling rate, slow at low velocity
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
- Feedback Control In General (AREA)
Description
Die vorliegende Erfindung betrifft ein Achsensteuerverfahren in
einer numerischen Steuervorrichtung, und insbesondere eine
numerische Steuervorrichtung und ein numerisches
Steuerverfahren, bei welchen dann, wenn ein NC-
Bearbeitungsprogramm (numerisch gesteuertes
Bearbeitungsprogramm) ausgeführt wird, Schwankungen einer
Vorschubgeschwindigkeit und eine Verschiebung einer
Bewegungsortskurve, die in einem Intervall zwischen einem
bestimmten Programmblock und einem nächsten Programmblock
erzeugt werden, ausgeschaltet sind, und die
Bearbeitungsgenauigkeit eines Werkstücks dadurch verbessert
wird, daß sehr feinfühlige Befehle während der Beschleunigung
oder Verzögerung ausgegeben werden.
Fig. 16 ist ein Blockschaltbild, welches den Gesamtaufbau
einer konventionellen numerischen Steuervorrichtung zeigt. In
dieser Figur weist die konventionelle numerische
Steuervorrichtung ein Bearbeitungsprogramm 1 auf, einen
Programmanalyseabschnitt 2, einen Interpolationsabschnitt 3,
einen Bewegungsbefehlsimpulsverteilungsabschnitt 4, einen
Beschleunigungs-/Verzögerungsabschnitt 5, einen
Befehlsimpulsausgabeabschnitt 6, einen Antriebsabschnitt 7, und
einen Motor 8, welcher das Objekt der Steuerung darstellt.
Das Bearbeitungsprogramm 1 ist ein NC-Bearbeitungsprogramm, und
ist einer Speichervorrichtung gespeichert. Es wird darauf
hingewiesen, daß das Bearbeitungsprogramm 1 in mehrere
Programmblöcke unterteilt ist, und in der numerischen
Steuervorrichtung auch als ein diskreter Programmblock
behandelt wird. Der Programmanalyseabschnitt 2 analysiert das
Bearbeitungsprogramm 1, und berechnet einen Bewegungsstartpunkt
und einen Bewegungsendpunkt in jedem Programmblock. Der
Interpolationsabschnitt 3 führt eine Interpolation in
Abhängigkeit von einem Bewegungsstartpunkt und einem
Bewegungsendpunkt für jeden Programmblock durch, der von dem
Programmanalyseabschnitt 2 analysiert wurde, und gibt
Bewegungsraten in jede Axialrichtung aus, beispielsweise
Bewegungsraten in der X-, Y- und Z-Axialrichtung, wenn der Raum
für die Steuerung ein dreidimensionaler Raum ist.
Der Bewegungsbefehlsimpulsverteilungsabschnitt 4 berechnet eine
Bewegungsrate für einen Einheitszeitraum in Abhängigkeit von
einer Bewegungsrate in jede Axialrichtung, die in dem
Interpolationsabschnitt 3 erhalten wird, und gibt einen
Geschwindigkeitsbefehlsimpuls aus. Es wird darauf hingewiesen,
daß während der Ausführung der Steuerung des Motors 8 einmal
für jeden vorbestimmten Zeitraum (nachstehend als Abtastzyklus
bezeichnet) eine Bewegungsrate für den Einheitszeitraum für
einen Abtastzyklus berechnet wird, und daß die Impulsbreite
eines Geschwindigkeitsbefehlsimpulses einem Abtastzyklus
entspricht.
Der Beschleunigungs-/Verzögerungsabschnitt 5 empfängt einen
Geschwindigkeitsbefehlsimpuls von dem
Bewegungsbefehlsimpulsverteilungsabschnitt 4, und führt eine
Verarbeitung zur Beschleunigung oder Verzögerung des
Geschwindigkeitsbefehlsimpulses durch, wenn eine Änderung des
Inhalts des Geschwindigkeitsbefehls auftritt. Der
Befehlsimpulsausgabeabschnitt 6 ist eine Ausgangsschnittstelle
zum Liefern des Geschwindigkeitsbefehlsimpulses, der in dem
Beschleunigungs-/Verzögerungsabschnitt 5 eine Bearbeitung in
Bezug auf eine Beschleunigung oder Verzögerung erhalten hat, an
den Antriebsabschnitt 7. Dann steuert der Antriebsabschnitt 7
den Motor 8, der den zu steuernden Gegenstand darstellt,
entsprechend dem ihm zugeführten Geschwindigkeitsbefehlsimpuls.
Nachstehend erfolgt eine Beschreibung von Bearbeitungsvorgängen
bei der voranstehend geschilderten, konventionellen numerischen
Steuervorrichtung. Bei der nachfolgenden Beschreibung werden
Befehle für einen Startpunkt und einen Endpunkt der Bewegung
auf einer zweidimensionalen Ebene in jedem Programmblock
beschrieben, sowie ein Geschwindigkeitsbefehlsimpuls, der von
dem Bewegungsbefehlsimpulsverteilungsabschnitt 4 bei einem
festgelegten Abtastzyklus eingestellt wird, und es werden die
Schwierigkeiten erläutert, die bei dieser numerischen
Steuervorrichtung auftreten, die auf der konventionellen
Technik beruht.
Fig. 17 zeigt einen Geschwindigkeitsbefehlsimpuls, der von dem
Geschwindigkeitsbefehlsimpulsverteilungsabschnitt 4 für einen
Bewegungsstartpunkt 101, einen Bewegungsendpunkt 102 und einen
festgelegten Abtastzyklus T101 eingestellt wird, und dies
stellt einen Fall dar, in welchem in dem endgültigen
Abtastzyklus kein Bruchteil erzeugt wird, wenn eine
Bewegungsrate für einen Programmblock durch einen Abtastzyklus
unterteilt wird.
Wie voranstehend geschildert wird ein
Geschwindigkeitsbefehlsimpuls, der dem Antriebsabschnitt 7
zugeführt wird, für einen festgelegten Abtastzyklus berechnet.
Wenn ein Bewegungsbereich und eine Vorschubgeschwindigkeit in
jeder Axialrichtung festgelegt werden, abhängig von dem
Ergebnis der Untersuchung eines Programmblocks, berechnet der
Bewegungsbefehlsimpulsverteilungsabschnitt 4 einen
Geschwindigkeitsbefehlsimpuls für jede Abtastzeit über die
folgende Beziehung:
Bewegungsbereich für einen Abtastzyklus
= Vorschubgeschwindigkeit×Abtastzyklus
= Vorschubgeschwindigkeit×Abtastzyklus
Wenn irgendeine Änderung bei dem Geschwindigkeitsbefehl
auftritt, wird eine Bearbeitung für eine Beschleunigung oder
Verzögerung von dem Beschleunigungs-/Verzögerungsabschnitt 5
bei dem Geschwindigkeitsbefehlsimpuls durchgeführt, und wird
der Geschwindigkeitsbefehlsimpuls, mit welchem eine Bearbeitung
bezüglich einer Beschleunigung oder einer Verzögerung
durchgeführt wurde, über den Befehlsimpulsausgabeabschnitt 6 an
den Antriebsabschnitt 7 geliefert, wodurch der Motor 8
angetrieben wird.
Wenn beispielsweise irgendeine Änderung einer Geschwindigkeit
auftritt, wenn Programmblöcke jeweils für einen Schneidvorschub
nacheinander ablaufen, kann die schneidend bearbeitete
Oberfläche beschädigt werden, und aus diesem Grund wird
gewöhnlich dann, wenn die Vorschubgeschwindigkeit konstant ist,
die Bearbeitung zur Beschleunigung oder Verzögerung durch den
Beschleunigungs-/Verzögerungsabschnitt 5 oder eine Bearbeitung
zum Anhalten der Werkstückbearbeitung nicht durchgeführt, und
geht die Systemsteuerung zur Steuerverarbeitung durch den
nächsten Programmblock über.
Wenn ein Abtastzyklus in jedem Programmblock auf einem
konstanten Wert gehalten wird, kann in einem Fall, in welchem
eine Bewegungsrate für einen Programmblock durch einen
Abtastzyklus unterteilt wird, manchmal ein Bruchteil in dem
endgültigen Abtastzyklus erzeugt werden, infolge einer
Bewegungsrate für den Programmblock. Der
Geschwindigkeitsbefehlsimpuls in diesem Fall ist in Fig. 18
dargestellt. Die Figur zeigt einen
Geschwindigkeitsbefehlsimpuls für einen Startpunkt P101 und
einen Endpunkt P103 jeweils für die Bewegung, und den
Abtastzyklus T101.
Wie voranstehend geschildert wird dann, wenn ein
Geschwindigkeitsbefehlsimpuls mit einem Bruchteil, der in dem
endgültigen Abtastzyklus erzeugt wird, unverändert für die
Antriebssteuerung des Motors 8 verwendet wird, eine hohe
Geschwindigkeitsänderung in einem Intervall zwischen
Programmblöcken erzeugt, was auf nachteilige Weise die
Werkstücksbearbeitungsgenauigkeit verschlechtert.
Als Verfahren zur Lösung dieses Problems wurde bei der
konventionellen Technik eine Vorgehensweise verwendet, bei
welcher ein in dem endgültigen Abtastzyklus erzeugter Bruchteil
zum nächsten Programmblock hinzuaddiert wurde, oder eine
Vorgehensweise, bei welcher die Amplitude eines
Geschwindigkeitsbefehlsimpulses (Befehlsgeschwindigkeit)
geändert wurde, so daß nicht ein Bruchteil in jedem
Programmblock erzeugt wird.
Fig. 19 zeigt einen Geschwindigkeitsbefehlsimpuls in einem
Fall, in welchem die Vorgehensweise verwendet wird, bei welcher
ein Bruchteil eines Geschwindigkeitsbefehlsimpulses, der in dem
endgültigen Abtastzyklus in einem ersten Programmblock erzeugt
wird, einem Geschwindigkeitsbefehlsimpuls in einem ersten
Abtastzyklus in einem darauffolgenden, zweiten Programmblock
hinzuaddiert wird. Fig. 20 zeigt einen
Geschwindigkeitsbefehlsimpuls in einem Fall, in welchem die
Vorgehensweise verwendet wird, bei welcher eine Amplitude
(Befehlsgeschwindigkeit) eines Geschwindigkeitsbefehlsimpulses
für jeden Programmblock geändert wird, so daß ein Bruchteil
nicht erzeugt wird.
Zuerst erfolgt eine Beschreibung von Schwierigkeiten, die in
einem Fall auftreten, in welchem die Vorgehensweise des
Hinzuaddierens eines in dem endgültigen Abtastzyklus erzeugten
Bruchteils zum nächsten Programmblock verwendet wird, unter
Bezugnahme auf die Fig. 21A und 21B. Die Fig. 21A und 21B
zeigen Geschwindigkeitsbefehlsimpulse, die von zwei
Programmblöcken erzeugt werden, nämlich einem ersten und einem
zweiten Programmblock, in einem zweidimensionalen Vektor, der
Y-Axialrichtung und der X-Axialrichtung (Fig. 21A), sowie eine
Ortskurve, die ursprünglich entsprechend dem Befehl verfolgt
werden sollte, und die tatsächliche Bewegungsortskurve (Fig.
21B).
Das Bearbeitungsprogramm 1 bei diesem konkreten Beispiel ist
nachstehend angegeben:
N1 G1 Y20. F1000;
N2 G1 X15. Y15.
N2 G1 X15. Y15.
In Fig. 21B wird nämlich eine Bewegung von einem Startpunkt
P104 zu einem Endpunkt P105 in dem ersten Programmblock
befohlen, und eine Bewegung von einem Startpunkt P105 zu einem
Endpunkt P106 in dem zweiten Programmblock befohlen, und daher
wird eine Steuerung entsprechend einem festgelegten
Abtastzyklus T101 zur Verfügung gestellt.
Wie aus Fig. 21A hervorgeht, wird zuerst als Richtungsbefehl
für einen zweidimensionalen Vektor ein Bruchteil eines
Geschwindigkeitsbefehlsimpulses, der in dem endgültigen
Abtastzyklus in dem ersten Programmblock erzeugt wird, zu einem
Geschwindigkeitsbefehlsimpuls in dem ersten Abtastzyklus in dem
nächsten, zweiten Programmblock hinzuaddiert, und wird ein
Geschwindigkeitsbefehlsimpuls für einen Richtungsbefehl eines
Vektors erzeugt. Dann werden in Abhängigkeit von dem
Geschwindigkeitsbefehlsimpuls für einen Richtungsbefehl für
einen Vektor Geschwindigkeitsbefehlsimpulse für jede
Axialrichtung (die Y-Axialrichtung und die X-Axialrichtung)
erzeugt.
Aus diesem Grund wird eine Bewegungssteuerung in dem ersten
Abtastzyklus in dem zweiten Programmblock auf solche Weise zur
Verfügung gestellt, daß trotz der Tatsache, daß ursprünglich
eine Bewegung von einem Punkt P107 über einen Punkt 105 zu
einem Punkt 108 durchgeführt werden sollte, tatsächlich eine
Bewegung direkt von dem Punkt P107 zum Punkt P108 erfolgt. Die
tatsächliche Bewegungsortskurve wird nämlich gegenüber jener
verschoben, die ursprünglich entsprechend dem Befehl folgen
sollte, und es wird ein Fehler in der Bewegungsortskurve
erzeugt.
Nachstehend erfolgt eine Beschreibung von in einem Fall
auftretenden Problemen, in welchem die Vorgehensweise der
Änderung einer Amplitude eines Befehlsimpulses
(Befehlsgeschwindigkeit) verwendet wird, so daß in jedem
Programmblock kein Bruchteil erzeugt wird, unter Bezugnahme auf
Fig. 22. Fig. 22 zeigt Geschwindigkeitsbefehlsimpulse, die in
drei Programmblöcken erzeugt werden, nämlich in dem ersten,
zweiten und dritten Programmblock. Wie aus dieser Figur
hervorgeht, wird bei diesem Verfahren eine
Befehlsgeschwindigkeit in jedem Programmblock so geändert, daß
sich die Geschwindigkeit in jedem Programmblock ändert, und
selbst in einem Fall, in welchem eine Befehlsgeschwindigkeit in
mehreren Programmblöcken auf einem konstanten Niveau gehalten
werden sollte, tritt manchmal eine Geschwindigkeitsänderung
auf, wodurch die Werkstücksbearbeitungsgenauigkeit
verschlechtert wird.
Weiterhin zeigt Fig. 23 einen Geschwindigkeitsbefehlsimpuls in
einem Fall, in welchem versucht wird, eine Bewegungssteuerung
durchzuführen, die eine schnelle Beschleunigung oder
Verzögerung hervorruft, und zwar unter Verwendung der
konventionellen Vorgehensweise. In einem Fall, in welchem eine
rechteckige Form einer Geschwindigkeitsänderung angefordert
wird, wie durch die durchgezogene Linie bezeichnet,
entsprechend einem Programmbefehl, weist das erzeugte
Beschleunigungs- oder Verzögerungsmuster eine Trapezform auf,
wie durch die gestrichelte Linie angedeutet ist. Darüberhinaus
ist der tatsächlich erzeugte Geschwindigkeitsbefehlsimpuls
konstant, unabhängig davon, ob der Abtastzyklus eine
Beschleunigung oder eine Verzögerung betrifft, so daß der
Befehl sehr ungenau wird, und eine Geschwindigkeitsänderung bei
der Beschleunigung oder Verzögerung nicht auf einen hohen Wert
gesetzt werden kann, da die Werkstückbearbeitungsgenauigkeit
auf einem bestimmten Niveau gehalten werden muß.
Wie voranstehend geschildert treten bei dem konventionellen Typ
einer numerischen Steuervorrichtung deswegen, da ein
Abtastzyklus auf einem konstanten Wert gehalten wird, die
nachstehend geschilderten Schwierigkeiten auf.
Erstens tritt in einem Fall, in welchem ein Bruchteil in einem
Geschwindigkeitsbefehlsimpuls für den endgültigen Abtastzyklus
eines Programmblocks erzeugt wird, eine hohe
Geschwindigkeitsänderung in einem Intervall zwischen
Programmblöcken auf, was die Werkstückbearbeitungsgenauigkeit
verringert.
Zweitens wird in einem Fall, in welchem das Verfahren des
Addierens eines Bruchteils, der in dem endgültigen Abtastzyklus
erzeugt wird, zu einem nachfolgenden Programmblock verwendet
wird, um daß voranstehend geschilderte, erste Problem zu lösen,
die tatsächliche Bewegungsortskurve gegenüber jener verschoben,
die ursprünglich verfolgt werden sollte, wodurch ein Fehler in
Bezug auf die Bewegungsortskurve erzeugt wird, und daher die
Werkstückbearbeitungsgenauigkeit verschlechtert wird.
Drittens tritt in einem Fall, in welchem das Verfahren der
Änderung der Amplitude eines Geschwindigkeitsbefehlsimpulses
verwendet wird, so daß nicht ein Bruchteil in jedem
Programmblock erzeugt wird, um das erste, voranstehend
geschilderte Problem zu lösen, eine Geschwindigkeitsänderung in
jedem Programmblock auf, und tritt eine
Geschwindigkeitsänderung selbst in einem Fall auf, in welchem
eine Befehlsgeschwindigkeit über mehrere Programmblöcke auf
einem konstanten Niveau gehalten werden sollte, was die
Werkstückbearbeitungsgenauigkeit verringert.
Viertens wird in einem Fall, in welchem eine Bewegungssteuerung
erfolgt, die eine schnelle Beschleunigung oder Verzögerung
hervorruft, der Befehl grob oder ungenau, und ist es unmöglich,
die Geschwindigkeit bei der Beschleunigung oder Verzögerung
wesentlich zu ändern, da die Werkstückbearbeitungsgenauigkeit
auf einem bestimmten Niveau gehalten werden muß.
Ein Ziel der vorliegenden Erfindung besteht in der
Bereitstellung eines numerischen Steuerverfahrens und einer
numerischen Steuervorrichtung, bei welchen eine hohe
Werkstückbearbeitungsgenauigkeit in einem Intervall dadurch
erzielt wird, daß eine Änderung der Vorschubgeschwindigkeit
ausgeschaltet wird, und eine Verschiebung der
Bewegungsortskurve ausgeschaltet wird, die in einem Intervall
der Werkstückbearbeitung zwischen Programmblöcken erzeugt wird,
und eine Toleranz bei der Bearbeitung durch eine numerische
Steuervorrichtung dadurch erzeugt wird, daß die
Arbeitsbelastung der numerischen Steuervorrichtung verringert
wird.
Ein weiteres Ziel der vorliegenden Erfindung besteht in der
Ermöglichung einer feinen Bewegungssteuerung selbst bei einer
Werkstückbearbeitung, welche eine schnelle Beschleunigung oder
Verzögerung hervorruft, und in der Verbesserung der
Werkstückbearbeitungsgenauigkeit bei der Bearbeitung eines
Werkstücks.
Bei einem numerischen Steuerverfahren gemäß einer Zielrichtung
der vorliegenden Erfindung wird in einem Fall, in welchem eine
Bewegungsrate und eine Vorschubgeschwindigkeit in jeder
Axialrichtung aus einer Bewegungsposition eines Werkzeugs und
einer Vorschubgeschwindigkeit des Werkzeugs dadurch berechnet
werden, daß fortschreitend ein Bearbeitungsprogramm durch einen
Programmblock oder durch mehrere Programmblöcke analysiert
wird, ein Befehlsimpuls, der von einem festgelegten
Abtastzyklus unterteilt wird, erzeugt, abhängig von der
berechneten Bewegungsrate und der Vorschubgeschwindigkeit, und
wird der Zeitpunkt zur Ausgabe des Befehlsimpulses an ein zu
steuerndes Objekt entsprechend dem Abtastzyklus gesteuert, und
wird der Abtastzyklus so geändert, daß in dem Befehlsimpuls ein
Bruchteil nicht erzeugt wird, wodurch ein Abtastzyklus durch
einen Programmblock oder durch mehrere Programmblöcke geändert
werden kann, was das Ausschalten einer Schwankung einer
Vorschubgeschwindigkeit und eine Verschiebung der
Bewegungsortskurve ausschaltet, die in einem Intervall der
Werkstückbearbeitung zwischen Programmblöcken erzeugt werden.
Bei einem numerischen Steuerverfahren gemäß einer weiteren
Zielrichtung der vorliegenden Erfindung werden eine
Bewegungsposition eines Werkzeugs und eine
Vorschubgeschwindigkeit des Werkzeugs durch fortschreitende
Analyse eines Bearbeitungsprogramms durch einen Programmblock
oder mehrere Programmblöcke erhalten, werden eine Bewegungsrate
und eine Vorschubgeschwindigkeit entsprechend der
Bewegungsgeschwindigkeit eines Werkzeugs und entsprechend einer
Vorschubgeschwindigkeit des Werkzeugs berechnet, wird ein
Abtastzyklus so geändert, daß ein Bruchteil für einen
Befehlsimpuls nicht in dem einen Programmblock oder in den
mehreren Programmblöcken erzeugt wird, wird ein Befehlsimpuls
erzeugt, der gleichmäßig durch die geänderte Abtastrate
unterteilt ist, in Abhängigkeit von der berechneten
Bewegungsrate und der Vorschubgeschwindigkeit, und wird der
Zeitpunkt zur Ausgabe des erzeugten Befehlsimpuls an ein zu
steuerndes Objekt entsprechend dem Abtastzyklus gesteuert,
wodurch ein Abtastzyklus durch einen Programmblock oder durch
mehrere Programmblöcke geändert werden kann, was eine
Ausschaltung einer Schwankung einer Vorschubgeschwindigkeit
gestattet, und die Ausschaltung einer Verschiebung der
Bewegungsortskurve, die in einem Werkstückbearbeitungsintervall
zwischen den Programmblöcken erzeugt wird.
Bei einer numerischen Steuervorrichtung gemäß einer weiteren
Zielrichtung der vorliegenden Erfindung erhält eine
Analysevorrichtung eine Bewegungsposition eines Werkzeugs und
eine Vorschubgeschwindigkeit des Werkzeugs durch
fortschreitende Analyse eines Bearbeitungsprogramm anhand eines
Programmblocks oder mehrerer Programmblöcke, eine
Interpolationsvorrichtung berechnet eine Bewegungsrate und eine
Vorschubgeschwindigkeit entsprechend der Bewegungsposition
eines Werkzeugs und der Vorschubgeschwindigkeit des Werkzeugs,
eine Abtastzyklusberechnungsvorrichtung ändert einen
Abtastzyklus, so daß ein Bruchteil eines Befehlsimpulses nicht
in einem Programm oder in mehreren Programmblöcken erzeugt
wird, eine Befehlsimpulserzeugungsvorrichtung erzeugt einen
Befehlsimpuls, der gleichmäßig durch den geänderten
Abtastzyklus unterteilt ist, abhängig von der berechneten
Bewegungsrate und der Vorschubgeschwindigkeit, und eine
Abtaststeuervorrichtung steuert den Zeitpunkt zur Ausgabe des
erzeugten Befehlsimpulses an ein zu steuerendes Objekt
entsprechend einem Abtastzyklus, wodurch ein Abtastzyklus für
einen Programmblock oder für mehrere Programmblöcke geändert
werden kann, was eine Ausschaltung von Schwankungen einer
Vorschubgeschwindigkeit erlaubt, und ebenso eine Ausschaltung
einer Verschiebung der Bewegungsortskurve, die in Intervallen
der Werkstückbearbeitung zwischen Programmblöcken erzeugt wird.
Bei einer numerischen Steuervorrichtung gemäß einer weiteren
Zielrichtung der vorliegenden Erfindung gleicht die
Abtastzyklusberechnungsvorrichtung den Abtastzyklus an, wodurch
eine Schwankung einer Vorschubgeschwindigkeit und eine
Verschiebung einer Bewegungsortskurve, die in einem Intervall
der Werkstückbearbeitung zwischen Programmblöcken erzeugt wird,
ausgeschaltet werden können.
Bei einer numerischen Steuervorrichtung gemäß einer weiteren
Zielrichtung der vorliegenden Erfindung ändert die
Abtastzyklusberechnungsvorrichtung einen Abtastzyklus stärker
als den ursprünglichen Abtastzyklus, wenn in einem endgültigen
Abtastzyklus für einen Programmblock oder für mehrere
Programmblöcke ein Befehlsimpuls für den endgültigen
Abtastzyklus einen Bruchteil kleiner ist als ein Befehlsimpuls
in einem anderen Abtastzyklus, wodurch die Arbeitsbelastung
einer numerischen Steuervorrichtung verringert werden kann.
Bei einer numerischen Steuervorrichtung gemäß einer weiteren
Zielrichtung der vorliegenden Erfindung ermittelt die
Abtastzyklusberechnungsvorrichtung in Abhängigkeit von der
Vorschubgeschwindigkeit, die von der Interpolationsvorrichtung
berechnet wird, ob die momentane Betriebsart eine
Beschleunigung oder Verzögerung darstellt, oder stellt bei
einer Bewegung bei konstanter Geschwindigkeit einen
Abtastzyklus auf einen kürzeren Zeitraum ein als jenen für eine
Bewegung mit konstanter Geschwindigkeit bei der Beschleunigung
oder Verzögerung, und stellt einen Abtastzyklus auf einen
längeren Zeitraum ein als jenen für die Beschleunigung oder
Verzögerung bei der Bewegung mit konstanter Geschwindigkeit.
Wie voranstehend geschildert kann eine Steuerung für die
Geschwindigkeit dadurch zur Verfügung gestellt werden, daß sie
glatt geändert wird, und zwar dadurch, daß ein Abtastzyklus
zeitlich kürzer bei der Beschleunigung oder Verzögerung
ausgebildet wird, und kann die Arbeitsbelastung für die
numerische Steuervorrichtung dadurch verringert werden, daß ein
Abtastzyklus zeitlich länger bei der Bewegung mit konstanter
Geschwindigkeit ausgebildet wird.
Bei einer numerischen Steuervorrichtung gemäß einer weiteren
Zielrichtung der vorliegenden Erfindung bestimmt die
Abtastzyklusberechnungsvorrichtung, ob ein Befehl für die
Bewegung ausgegeben wurde oder nicht, und stellt einen
Abtastzyklus auf einen längeren Zeitraum ein als einen
bestimmten Wert, beispielsweise auf einen unendlich langen
Zeitraum, wenn ein Befehl für eine Bewegung nicht ausgegeben
wurde, und versetzt die Vorrichtung in den
Bereitschaftszustand, wodurch die Arbeitsbelastung für eine
numerische Steuervorrichtung verringert werden kann.
Bei einer numerischen Steuervorrichtung gemäß einer weiteren
Zielrichtung der vorliegenden Erfindung ändert die
Abtastzyklusberechnungsvorrichtung dann, wenn sie einen Befehl
für einen Freilauf empfängt, den Abtastzyklus, so daß in dem
Befehlsimpuls kein Bruchteil erzeugt wird, wodurch selbst in
der Freilaufbetriebsart eine Schwankung einer
Vorschubgeschwindigkeit und eine Verschiebung einer
Bewegungsortskurve, die in einem Intervall der
Werkstückbearbeitung zwischen Programmblöcken erzeugt wird,
ausgeschaltet werden können.
Die Erfindung wird nachstehend anhand zeichnerisch
dargestellter Ausführungsbeispiele näher erläutert, aus welchen
weitere Vorteile und Merkmale hervorgehen. Es zeigt:
Fig. 1 ein Blockschaltbild des Gesamtaufbaus einer
numerischen Steuervorrichtung gemäß einer
Ausführungsform der vorliegenden Erfindung;
Fig. 2 ein konkretes Blockschaltbild eines
Unterbrechungssteuerabschnitts in der numerischen
Steuervorrichtung gemäß einer Ausführungsform der
vorliegenden Erfindung;
Fig. 3 ein Flußdiagramm zur Erläuterung der Bearbeitung in
einem Bewegungsbefehlsimpulsverteilungsabschnitt und
in einem Abtastzeitintervallberechnungsabschnitt
gemäß Ausführungsform 1;
Fig. 4A bis 4C erläuternde Ansichten eines
Geschwindigkeitsbefehlsimpulses für einen konkreten
Befehl für eine Bewegung auf der Grundlage einer
konventionellen Technik und ebenso auf der Grundlage
der Ausführungsform 1;
Fig. 5A eine erläuternde Ansicht einer Ortskurve entsprechend
einem Befehl für eine Bewegung mit zwei
Programmblöcken;
Fig. 5B eine erläuternde Ansicht von
Geschwindigkeitsbefehls impulsen in dem
zweidimensionalen Vektor in Y-Achsenrichtung und X-
Achsenrichtung, der erzeugt werden soll;
Fig. 5C eine erläuternde Ansicht einer aktuellen
Bewegungsortskurve des Vektors;
Fig. 6 ein Flußdiagramm zur Erläuterung der Bearbeitung
durch einen
Bewegungsbefehlsimpulsverteilungsabschnitt und durch
einen Abtastzeitintervallberechnungsabschnitt gemäß
Ausführungsform 2;
Fig. 7 eine erläuternde Ansicht eines
Geschwindigkeitsbefehlsimpulses für einen konkreten
Befehl für eine Bewegung gemäß Ausführungsform 2;
Fig. 8 ein Flußdiagramm zur Erläuterung der Verarbeitung
durch den Bewegungsbefehls impulsverteilungsabschnitt
und durch einen
Abtastzeitintervallberechnungsabschnitt gemäß
Ausführungsform 3;
Fig. 9 eine erläuternde Ansicht eines
Geschwindigkeitsbefehlsimpulses für einen konkreten
Befehl für die Bewegung gemäß Ausführungsform 3;
Fig. 10 ein Flußdiagramm zur Erläuterung der Verarbeitung
durch den Bewegungsbefehlsimpulsverteilungsabschnitt
und einen Abtastzeitintervallberechnungsabschnitt
gemäß Ausführungsform 3;
Fig. 11 ein Flußdiagramm zur Erläuterung der Bearbeitung
durch den Bewegungsbefehlsimpulsverteilungsabschnitt
und einen Abtastzeitintervallberechnungsabschnitt
gemäß Ausführungsform 4;
Fig. 12A und 12B Zeitablaufdiagramme, welche den Zeitpunkt
für eine normale Übertragung von der numerischen
Steuervorrichtung an eine Servoseite gemäß
Ausführungsform 4 zeigen;
Fig. 13A und 13B Zeittaktdiagramme, welche einen normalen
Übertragungszeitpunkt von der numerischen
Steuervorrichtung an die Servoseite gemäß
Ausführungsform 4 zeigen;
Fig. 14A und 14B Zeitablaufdiagramme, welche einen Zustand
zeigen, in welchem ein Freilaufbefehl
(Hochgeschwindigkeitsbefehl) gemäß Ausführungsform 5
empfangen wird;
Fig. 15A und 15B Zeitablaufdiagramme, welche einen Zustand
zeigen, in welchem ein Freilaufbefehl
(Niedergeschwindigkeitsbefehl) gemäß Ausführungsform
5 empfangen wird;
Fig. 16 ein Blockschaltbild des Gesamtaufbaus einer
konventionellen numerischen Steuervorrichtung;
Fig. 17 eine erläuternde Ansicht, welche ein Verfahren zur
Unterteilung einer Bewegungsrate in jedem
Programmblock durch einen Abtastzyklus für
Geschwindigkeitsbefehlsimpulse bei einem Beispiel auf
der Grundlage der konventionellen Technik zeigt;
Fig. 18 eine erläuternde Ansicht, welche ein Verfahren zur
Unterteilung einer Bewegungsrate in jedem
Programmblock durch einen Abtastzyklus für
Geschwindigkeitsbefehlsimpulse in dem auf der
konventionellen Technik beruhenden Beispiel zeigt;
und schließlich einen Fall zeigt, in welchem ein
Bruchteil des Geschwindigkeitsbefehlsimpulses in
einem endgültigen Abtastzyklus erzeugt wird;
Fig. 19 eine erläuternde Ansicht, welche ein Verfahren zur
Unterteilung einer Bewegungsrate in jedem
Programmblock durch einen Abtastzyklus für
Geschwindigkeitsbefehlsimpulse in dem auf der
konventionellen Technik beruhenden Beispiel zeigt;
und insbesondere eine erläuternde Ansicht eines
ersten Verfahrens zur Behandlung eines Falles zeigt,
in welchem ein Bruchteil in dem
Geschwindigkeitsbefehlsimpuls erzeugt wurde;
Fig. 20 eine erläuternde Ansicht, welche ein Verfahren zur
Unterteilung einer Bewegungsrate in jedem
Programmblock durch einen Abtastzyklus für
Geschwindigkeitsbefehlsimpulse in dem auf der
konventionellen Technik beruhenden Beispiel zeigt;
und insbesondere eine erläuternde Ansicht eines
zweiten Verfahrens zur Behandlung eines Falles zeigt,
in welchem ein Bruchteil in dem
Geschwindigkeitsbefehlsimpuls erzeugt wurde;
Fig. 21A und 21B erläuternde Ansichten einiger Probleme in
einem Fall, in welchem das erste Verfahren zur
Behandlung dieser Probleme bei dem auf der
konventionellen Technik beruhenden Beispiel verwendet
wird (Fig. 21 ist eine erläuternde Ansicht eines
Geschwindigkeitsbefehlsimpulses, der entsprechend
zwei Programmblöcken in dem zweidimensionalen Vektor
erzeugt wird, nämlich bezüglich der Y-Achsenrichtung
und der X-Achsenrichtung, und Fig. 21 ist eine
erläuternde Ansicht eines Befehls und dessen
aktueller Bewegungsortskurve);
Fig. 22 eine erläuternde Ansicht einiger Probleme, die in
einem Fall auftreten, in welchem das zweite Verfahren
zur Behandlung dieser Probleme bei dem Beispiel
verwendet wird, welches auf der konventionellen
Technik beruht; und
Fig. 23 eine erläuternde Ansicht eines
Geschwindigkeitsbefehlsimpulses, eines Befehls für
ein Programm, und eines Musters bei der
Beschleunigung für einen Abtastzyklus bei der
Beschleunigung oder Verzögerung in dem auf der
konventionellen Technik beruhenden Beispiel.
Fig. 1 ist ein Blockschaltbild, welches den Gesamtaufbau der
numerischen Steuervorrichtung gemäß Ausführungsform 1 der
vorliegenden Erfindung zeigt. Die numerische Steuervorrichtung
bei dieser Ausführungsform kann einen Abtastzyklus so
zurücksetzen, daß ein Abtastzyklus in dem Programmblock auf
einem konstanten Niveau oder Pegel mit der befohlenen
Vorschubgeschwindigkeit gehalten wird, wenn ein
Geschwindigkeitsbefehlsimpuls, der von einem Abtastzyklus
unterteilt wird, entsprechend einer Bewegungsrate und einer
Vorschubgeschwindigkeit für einen Programmblock erzeugt wird.
In Fig. 1 weist die numerische Steuervorrichtung gemäß der
vorliegenden Ausführungsform ein Werkstückbearbeitungsprogramm
1 auf, einen Programmanalyseabschnitt (eine Analysevorrichtung)
2, einen Interpolationsabschnitt (eine
Interpolationsvorrichtung) 3, einen
Bewegungsbefehlsimpulsverteilungsabschnitt
(Befehlsimpulserzeugungsabschnitt) 14, einen
Beschleunigungs-/Verzögerungsabschnitt 15, einen
Befehlsimpulsausgabeabschnitt 16, einen Treiber- oder
Antriebsabschnitt 17, einen
Abtastzeitintervallberechnungsabschnitt
(Abtastzyklusberechnungsvorrichtung) 9, einen
Unterbrechungssteuerabschnitt (Abtaststeuerabschnitt ) 10,
sowie einen Motor 8, der den zu steuernden Gegenstand
darstellt. Es wird darauf hingewiesen, daß in dieser Figur
dieselben Bezugszeichen den Bauteilen zugeordnet sind, welche
dieselbe Funktion spielen wie in dem auf der konventionellen
Technik (Fig. 16) beruhenden Beispiel, und insoweit erfolgt
keine erneute Beschreibung.
Der Bewegungsbefehlsimpulsverteilungsabschnitt 14 berechnet
eine Bewegungsrate in jeder Axialrichtung, die einen Steuerraum
bildet, die in dem Interpolationsabschnitt 3 erhalten wird,
beispielsweise in der X-Achsenrichtung, der Y-Achsenrichtung
und der Z-Achsenrichtung, und berechnet eine Bewegungsrate für
eine Zeiteinheit abhängig von der Vorschubgeschwindigkeit in
jeder Axialrichtung, und gibt Geschwindigkeitsbefehlsimpulse in
jede Axialrichtung aus. Es wird darauf hingewiesen, daß die
Steuerung für den Motor 8 für ein bestimmtes Zeitintervall
(nachstehend als Abtastzyklus bezeichnet) durchgeführt wird, so
daß eine Bewegungsrate für eine Zeiteinheit für einen
Abtastzyklus berechnet wird, und daß eine Impulsbreite eines
Geschwindigkeitsbefehlsimpulses einem Abtastzyklus entspricht.
In dem Abtastzyklus wird zuerst ein normaler Abtastzyklus auf
einen Standardwert eingestellt, und wird an Befehlsimpulse in
jede Axialrichtung verteilt und erzeugt von dem
Bewegungsbefehlsimpulsverteilungsabschnitt 14, aber wenn dies
aufgrund des erzeugten Geschwindigkeitsbefehlsimpulses
erforderlich ist, wird der Abtastzyklus durch den
Abtastzeitintervallberechnungsabschnitt 9 zurückgesetzt, und
wird der zurückgesetzte Abtastzyklus erneut an
Geschwindigkeitsbefehlsimpulse in jede Axialrichtung durch den
Bewegungsbefehlsimpulsverteilungsabschnitt 14 verteilt.
Der Abtastzyklusberechnungsabschnitt 9 empfängt die
Geschwindigkeitsbefehlsimpulse, die durch den normalen
Abtastzyklus (Standardwert) unterteilt werden, in dem
Bewegungsbefehlsimpulsverteilungsabschnitt 14, bestimmt für
einen Programmblock, ob ein Geschwindigkeitsbefehlsimpuls, der
einen Bruchteil eines endgültigen Abtastzyklus darstellt,
erzeugt wurde oder nicht, und wenn festgestellt wird, daß ein
Bruchteil erzeugt wurde, wird der Abtastzyklus so
zurückgesetzt, daß der Abtastzyklus in dem Programmblock auf
einem konstanten Pegel oder Niveau gehalten wird, ohne einen
Bruchteil infolge der befohlenen Vorschubgeschwindigkeit zu
erzeugen.
Der Unterbrechungssteuerabschnitt 10 erzeugt eine Unterbrechung
(Interrupt) für den Befehlsimpulsausgabeabschnitt 16 für den
Abtastzyklus entsprechend dem in dem
Abtastzyklusberechnungsabschnitt 9 eingestellten Abtastzyklus.
Fig. 2 ist ein Blockschaltbild, welches den konkreten Aufbau
des Unterbrechungssteuerabschnitts 10 zeigt. In dieser Figur
weist der Unterbrechungssteuerabschnitt 10 einen Zeitgeber 21
auf, einen Zähler 22, einen Oszillator 23 für den Betrieb des
Zeitgebers 21, und eine Unterbrechungsroutine 24.
Der Unterbrechungssteuerabschnitt 10 legt einen Wert für einen
Zähler 22 aus dem in dem Abtastzyklusberechnungsabschnitt 9
eingestellten Abtastzyklus fest, und stellt ihn für den Zähler
22 ein. Wenn ein von dem Oszillator 23 berechneter Wert für den
Zeitgeber 21 den voreingestellten Wert für den Zähler 22
erreicht, gibt der Zeitgeber 21 eine Anforderung nach einer
Unterbrechung an die Unterbrechungsroutine 24 aus. Die
Unterbrechungsroutine 14 reagiert auf die Anforderung nach
einer Unterbrechung, und erzeugt eine Unterbrechung für den
Befehlsimpulsausgabeabschnitt 16. Hierdurch steuert der
Unterbrechungssteuerabschnitt 10 einen Ausgabezeitpunkt von dem
Befehlsimpulsausgabeabschnitt 16 durch den voreingestellten
Abtastzyklus.
Der Beschleunigungs-/Verzögerungsabschnitt 15 empfängt
Geschwindigkeitsbefehlsimpulse von dem
Bewegungsbefehlsimpulsverteilungsabschnitt 14, und in einem
Fall, in welchem eine Änderung des Inhalts des Befehls für eine
Geschwindigkeit auftritt, führt der Abschnitt eine Bearbeitung
zur Beschleunigung oder Verzögerung bei dem
Geschwindigkeitsbefehlsimpuls durch. Der
Befehlsimpulsausgabeabschnitt 16 ist eine
Ausgangsschnittstelle, welche den
Geschwindigkeitsbefehlsimpuls, der eine Bearbeitung in Bezug
auf eine Beschleunigung oder Verzögerung in dem
Beschleunigungs-/Verzögerungsabschnitt 15 erfahren hat, an den
Antriebsabschnitt 7 liefert, und reagiert auf die Unterbrechung
von dem Unterbrechungssteuerabschnitt 10 mit der Ausgabe eines
Geschwindigkeitsbefehlsimpulses. Weiterhin steuert der
Antriebsabschnitt 17 den Motor 8, der den zu steuernden
Gegenstand darstellt, in Abhängigkeit von dem gelieferten
Geschwindigkeitsbefehlsimpuls und dem Abtastzyklus, der in dem
Abtastzyklusberechnungsabschnitt 9 voreingestellt wurde.
Nunmehr erfolgt eine Beschreibung der Bearbeitung durch die
numerische Steuervorrichtung gemäß der vorliegenden
Ausführungsform. Zuerst analysiert der Programmanalyseabschnitt
2 ein Werkstückbearbeitungsprogramm 1, welches in einer
Speichervorrichtung gespeichert ist, für einen Speicherblock,
und berechnet einen Startpunkt für die Bewegung und einen
Endpunkt für diese in dem Programmblock, entsprechend der
befohlenen Bewegungsposition für ein Werkzeug und einer
Vorschubgeschwindigkeit für das Werkzeug. Der
Interpolationsabschnitt 3 führt eine Interpolationsbearbeitung
entsprechend dem berechneten Startpunkt für die Bewegung und
dem Endpunkt für die Bewegung durch, welche an eine
Bewegungsrate in jeder Axialrichtung und eine
Vorschubgeschwindigkeit in jeder Axialrichtung verteilt werden.
Als nächstes erfolgt eine detaillierte Beschreibung jeder
Bearbeitung durch den
Bewegungsbefehlsimpulsverteilungsabschnitt 14 und durch den
Abtastzeitintervallberechnungsabschnitt 9, die jeweils einen
für die vorliegende Ausführungsform speziellen Abschnitt
darstellen, unter Bezugnahme auf Fig. 3 und die Fig. 4A bis
4C. Fig. 3 ist ein Flußdiagramm zur Erläuterung der
Bearbeitung durch den
Bewegungsbefehlsimpulsverteilungsabschnitt 14 und den
Abtastzeitintervallberechnungsabschnitt 9, und die Fig. 4A
bis 4C sind Ansichten zur Erläuterung des
Geschwindigkeitsbefehlsimpulses auf der Grundlage der
konventionellen Technik und auf der Grundlage der vorliegenden
Ausführungsform, in Bezug auf den konkreten Befehl für die
Bewegung.
Es wird darauf hingewiesen, daß bei der in den Fig. 4A bis
4C gezeigten Ausführungsform, im Gegensatz zum Startpunkt P1
und dem Endpunkt P2 für die Bewegung (vergleiche Fig. 4A),
eine konventionelle Art eines Geschwindigkeitsbefehlsimpulses
in Fig. 4B ein Geschwindigkeitsbefehlsimpuls ist, der
entsprechend einem Abtastzyklus T1 erzeugt wird, und daß es
sich um einen Fall handelt, in welchem ein Bruchteil in dem
endgültigen Abtastzyklus erzeugt wird, wenn die Bewegungsrate
für einen Programmblock durch den Abtastzyklus T1 unterteilt
wird. Zwar stellt ein Geschwindigkeitsbefehlsimpuls bei der in
Fig. 4C gezeigten Ausführungsform einen
Geschwindigkeitsbefehlsimpuls dar, der entsprechend dem
rückgesetzten Abtastzyklus T2 erzeugt wurde, und aus diesem
Grund wird in dem endgültigen Abtastzyklus kein Bruchteil
erzeugt.
In Fig. 3 stellen die Schritte S10 bis S12 und die Schritte
16, 17 eine Bearbeitung dar, die jedesmal von dem
Bewegungsbefehlsimpulsverteilungsabschnitt 14 durchgeführt
wird, und stellen die Schritte S14, S15 sowie S17 eine
Bearbeitung dar, die jeweils von dem
Abtastzeitintervallberechnungsabschnitt 9 durchgeführt wird.
Zuerst wird im Schritt S10 ein normaler Abtastzyklus T1, der
einen Standard- oder Normalwert darstellt, als ein Abtastzyklus
eingestellt. Dann werden im Schritt S11 eine Bewegungsrate und
als Vorschubgeschwindigkeit (Befehlsgeschwindigkeit) für einen
Programmblock von dem Interpolationsabschnitt 3 empfangen.
Daraufhin wird im Schritt S12 eine Bewegungsrate für einen
Abtastzyklus aus der empfangenen, befohlenen Geschwindigkeit
und dem voreingestellten Abtastzyklus T1 berechnet. Der
Ausdruck für die Berechnung ist folgendermaßen:
Bewegungsrate für einen Abtastzyklus
= befohlene Geschwindigkeit×Abtastzyklus (T1)
= befohlene Geschwindigkeit×Abtastzyklus (T1)
Der Geschwindigkeitsbefehlsimpuls, der von der voranstehend
geschilderten Bearbeitung erzeugt wird, entspricht dem
konventionellen Typ, der in Fig. 4B gezeigt ist.
Dann werden im Schritt S13 ein Quotient und ein Rest für einen
Programmblock entsprechend einem Abtastzyklus berechnet. Der
Ausdruck für die Berechnung ist folgendermaßen:
Bewegungsrate für einen Programmblock/Bewegungsrate für
einen Abtastzyklus = Quotient + Rest
Dann erfolgt im Schritt S14 eine Festlegung, ob ein Rest
vorhanden ist oder nicht (ob ein Rest ungleich Null vorhanden
ist oder nicht) . Wenn festgestellt wird, daß es keinen Rest
gibt, geht die Systemsteuerung zum Schritt S17 über. Wenn
dagegen festgestellt wird, daß ein Rest vorhanden ist, geht die
Systemsteuerung zum Schritt S15 über, und wird der Abtastzyklus
zurückgesetzt, so daß der Rest gleich Null wird. Der Ausdruck
hierfür ist folgendermaßen:
Abtastzyklus
= Abtastzyklus×(1 + Rest/Quotient)
Hierdurch kann der zurückgesetzte Abtastzyklus T2 erhalten
werden.
Im Schritt S16 wird erneut eine Bewegungsrate für einen
Abtastzyklus aus der befohlenen Geschwindigkeit und dem
zurückgesetzten Abtastzyklus T2 berechnet. Der Ausdruck für die
Berechnung ist folgendermaßen:
Bewegungsrate für einen Abtastzyklus
= befohlene Geschwindigkeit×Abtastzyklus (T2)
= befohlene Geschwindigkeit×Abtastzyklus (T2)
Der wie voranstehend geschildert regenierte
Geschwindigkeitsbefehlsimpuls ist in Fig. 4C dargestellt. Es
wird darauf hingewiesen, daß in dem in Fig. 4C wie
voranstehend geschilderten Beispiel dann, wenn ein Abtastzyklus
angeglichen werden soll, ein Abtastzyklus trotz der Tatsache,
daß er als ein Zeitraum länger als der ursprüngliche
Abtastzyklus eingestellt ist, auf einen kürzeren Zeitraum als
der ursprüngliche Abtastzyklus eingestellt werden kann.
Weiterhin wird im Schritt S17 der zurückgesetzte Abtastzyklus
T2 von dem Abtastzeitintervallberechnungsabschnitt 9 an den
Unterbrechungssteuerabschnitt 10 und den Antriebsabschnitt 17
ausgegeben, und wird auch der regenerierte
Geschwindigkeitsbefehlsimpuls von dem
Bewegungsbefehlsimpulsverteilungsabschnitt 14 an den
Beschleunigungs-/Verzögerungsabschnitt 15 ausgegeben. Mit
diesem Schritt ist jede Verarbeitung in dem
Bewegungsbefehlsimpulsverteilungsabschnitt 14 und dem
Abtastzeitintervallberechnungsabschnitt 9 fertig.
Dann wird in dem Beschleunigungs-/Verzögerungsabschnitt 15 ein
Geschwindigkeitsbefehlsimpuls von dem
Bewegungsbefehlsimpulsverteilungsabschnitt 14 empfangen, und
wird in einem Fall, in welchem irgendeine Änderung des Inhalts
des Befehls für eine Geschwindigkeit auftritt, eine Bearbeitung
für eine Beschleunigung oder Verzögerung bei dem
Geschwindigkeitsbefehlsimpuls durchgeführt. Dann wird in dem
Befehlsimpulsausgabeabschnitt 16 der
Geschwindigkeitsbefehlsimpuls, mit welchem die Bearbeitung für
eine Beschleunigung oder Verzögerung in dem
Beschleunigungs-/Verzögerungsabschnitt 15 durchgeführt wird, an
den Antriebsabschnitt 7 geliefert. Diese Lieferung wird
entsprechend der Unterbrechung von dem
Unterbrechungssteuerabschnitt 10 durchgeführt. Weiterhin wird
in dem Antriebsabschnitt 17 der Motor 8, der den zu steuernden
Gegenstand darstellt, entsprechend dem gelieferten
Geschwindigkeitsbefehlsimpuls und den gelieferten Abtastzyklus
(T2) gesteuert, der in dem Abtastzyklusberechnungsabschnitt 9
zurückgesetzt wurde.
Nunmehr erfolgt eine Beschreibung unter Bezugnahme auf konkrete
Beispiele, bei welchen mit der numerischen Steuervorrichtung
gemäß der vorliegenden Erfindung die wie voranstehend bei der
konventionellen Technik auftretenden Probleme gelöst werden
können. Die vorliegende Erfindung wird nämlich bei einem
konkreten Beispiel (vergleiche Fig. 21) eingesetzt, die zur
Erläuterung der Probleme bei dem Verfahren verwendet wird, bei
welchem ein in dem endgültigen Abtastzyklus erzeugter Bruchteil
zu einem darauffolgenden Programmblock hinzuaddiert wird. Fig.
5A ist eine Ansicht zur Erläuterung einer Ortskurve
entsprechend einem Befehl für eine Bewegung entsprechend einem
ersten und einem zweiten Programmblock, Figur B ist eine
erläuternde Ansicht von Geschwindigkeitsbefehlsimpulsen, die
von den zwei Programmblöcken in dem zweidimensionalen Vektor
erzeugt werden, nämlich Y-Achsenrichtung und X-Achsenrichtung,
und Fig. 5C ist eine erläuternde Ansicht einer aktuellen
Bewegungsortskurve entsprechend den erzeugten
Geschwindigkeitsbefehlsimpulsen.
Fig. 5A zeigt eine Bewegung von einem Startpunkt P104 zu einem
Endpunkt P105 in dem ersten Programmblock, sowie eine Bewegung
von dem Startpunkt P105 zu einem Endpunkt P106 in dem zweiten
Programmblock.
Wie aus Fig. 5B hervorgeht, wird ein
Geschwindigkeitsbefehlsimpuls erzeugt. Zuerst wird nämlich ein
Abtastzyklus auf T3 und T4 durch einen
Abtastzyklusberechnungsabschnitt 9 für einen ersten bzw.
zweiten Programmblock zurückgesetzt. Dann wird ein
Geschwindigkeitsbefehlsimpuls (Richtungsbefehl für einen
zweidimensionalen Vektor) von dem
Bewegungsbefehlsimpulsverteilungsabschnitt 14 entsprechend den
Abtastzyklen T3 und T4 und auch entsprechend der
Vorschubgeschwindigkeit (der befohlenen Geschwindigkeit)
erzeugt, die wie voranstehend geschildert zurückgesetzt wurde,
und werden Geschwindigkeitsbefehlsimpulse für jede
Axialrichtung (Y- und X-Axialrichtung) entsprechend dem
Geschwindigkeitsbefehlsimpuls auf der Grundlage des
Richtungsbefehls für den Vektor erzeugt.
Wie voranstehend geschildert wird bei der vorliegenden
Ausführungsform ein Abtastzyklus zurückgesetzt, so daß nicht in
jedem Programmblock ein Bruchteil erzeugt wird, und beeinflußt
ein in einem Programmblock erzeugter Bruchteil nicht einen
Geschwindigkeitsbefehlsimpuls in einem darauffolgenden
Programmblock, wie bei der konventionellen Technik, so daß sich
die aktuelle Bewegungsortskurve nicht in Bezug auf eine
befohlene Bewegungsortskurve verschiebt, und exakte
Betriebsabläufe sichergestellt werden, wie in Fig. 5C gezeigt
ist.
Wie voranstehend geschildert wird bei der numerischen
Steuervorrichtung gemäß der vorliegenden Ausführungsform dann,
wenn ein Geschwindigkeitsbefehlsimpuls, der durch einen
Abtastzyklus unterteilt wird, entsprechend einer Bewegungsrate
und einer Vorschubgeschwindigkeit für einen Programmblock
erzeugt wird, ein Abtastzyklus so zurückgesetzt, daß der
Abtastzyklus in dem Programmblock für die befohlene
Vorschubgeschwindigkeit auf einem konstanten Wert gehalten
wird, so daß beispielsweise dann, wenn ein
Werkstückbearbeitungsbefehl von einem Bearbeitungsprogramm
ausgegeben wird, in welchem Betriebsabläufe für das Schneiden
und den Vorschub hintereinander ausgeführt werden, sich der
Abtastzyklus für jeden Programmblock ändert, wobei eine
Geschwindigkeitsänderung in einem Intervall zwischen
Programmblöcken ausgeschaltet ist, was dazu führt, daß die Form
eines Abschnitts zwischen einem Bereich, bei dem
Werkstückbearbeitung entsprechend einem Programmblock erfolgte,
und einem anderen Bereich, der entsprechend einem
darauffolgenden Programmblock bearbeitet wurde, exakt
bearbeitet werden kann.
Nachstehend erfolgt eine Beschreibung einer numerischen
Steuervorrichtung gemäß Ausführungsform 2 der vorliegenden
Erfindung. Die numerische Steuervorrichtung gemäß der
vorliegenden Ausführungsform ändert einen endgültigen
Abtastzyklus auf solche Weise, daß ein Bruchteil in einem Fall
nicht erzeugt wird, in welchem anderenfalls ein Bruchteil in
dem endgültigen Abtastzyklus für den Programmblock erzeugt
werden würde, wenn ein Geschwindigkeitsbefehlsimpuls erzeugt
wird, der durch den Abtastzyklus unterteilt wird, und zwar aus
einer Bewegungsrate und einer Vorschubgeschwindigkeit für einen
Programmblock.
Der Aufbau der numerischen Steuervorrichtung gemäß der
vorliegenden Ausführungsform ist ebenso wie bei der
Ausführungsform 1 (vergleiche Fig. 1). Allerdings haben der
Bewegungsbefehlsimpulsverteilungsabschnitt 14 und der
Abtastzyklusberechnungsabschnitt 9 unterschiedliche Funktionen
als die entsprechenden Vorrichtungen bei der Ausführungsform 1.
Bei dem Bewegungsbefehlsimpulsverteilungsabschnitt 14 wird
nämlich zuerst, wie bei der Ausführungsform 1, eine
Bewegungsrate für einen Abtastzyklus (Standardwert) berechnet,
entsprechend einer Bewegungsrate in jeder von Axialrichtungen,
die einen Steuerraum bilden, der in dem Interpolationsabschnitt
3 erhalten wird, beispielsweise in der X-Axialrichtung, der Y-
Axialrichtung und der Z-Axialrichtung, und entsprechend einer
Vorschubgeschwindigkeit in jede Axialrichtung, und es wird ein
Geschwindigkeitsbefehlsimpuls in jede Axialrichtung ausgegeben.
Falls erforderlich, abhängig von dem erzeugten
Geschwindigkeitsbefehlsimpuls, wird ein zweiter Abtastzyklus
von dem Abtastzyklusberechnungsabschnitt 9 berechnet, und wird
ein Geschwindigkeitsbefehlsimpuls in jede Axialrichtung von dem
Bewegungsbefehlsimpulsverteilungsabschnitt 14 unter Verwendung
des zweiten Abtastzyklus erzeugt.
Der Abtastimpulsberechnungsabschnitt 9 empfängt den
Geschwindigkeitsbefehlsimpuls, der in einem normalen
Abtastzyklus (Standardwert) in dem
Bewegungsbefehlsimpulsverteilungsabschnitt 14 erzeugt wird,
stellt fest, ob ein Geschwindigkeitsbefehlsimpuls, der ein
Bruchteil in dem darauffolgenden Abtastzyklus sein kann,
erzeugt wird oder nicht, in einem Abtastzyklus von
Programmblöcken, und berechnet bei der Erzeugung eines
Bruchteils den endgültigen Abtastzyklus als den zweiten
Abtastzyklus durch die befohlene Vorschubgeschwindigkeit, so
daß in dem endgültigen Abtastzyklus in dem Programmblock kein
Bruchteil erzeugt wird.
Nunmehr erfolgt eine Beschreibung der Bearbeitung durch die
numerische Steuervorrichtung gemäß der vorliegenden
Ausführungsform. Die Bearbeitung abgesehen von jener in dem
Bewegungsbefehlsimpulsverteilungsabschnitt 14 und dem
Abtastzeitintervallberechnungsabschnitt 9 ist ebenso wie bei
der Ausführungsform 1, so daß insoweit keine erneute
Beschreibung erfolgt.
Nunmehr erfolgt im einzelnen eine Beschreibung der Bearbeitung
durch den Bewegungsbefehlsimpulsverteilungsabschnitt 14 und den
Abtastzeitintervallberechnungsabschnitt 9 unter Bezugnahme auf
die Fig. 6 und 7. Fig. 6 ist ein Flußdiagramm zur
Erläuterung der Bearbeitung durch den
Bewegungsbefehlsimpulsverteilungsabschnitt 14 und den
Abtastzeitintervallberechnungsabschnitt 9, und Fig. 7 ist eine
Ansicht zur Erläuterung eines Geschwindigkeitsbefehlsimpulses
bei einem konkreten Befehl für die Bewegung.
Es wird darauf hingewiesen, daß das konkrete Beispiel gemäß
Fig. 7 einen Fall zeigt, in welchem eine Bewegungssteuerung
entsprechend zwei Programmblöcken zur Verfügung gestellt wird,
also einem ersten und einem zweiten Programmblock, wobei
angenommen wird, daß ein Startpunkt P3 und ein Endpunkt P4 für
die Bewegung von dem ersten Programmblock berechnet werden, und
ein Startpunkt P4 und ein Endpunkt P5 für die Bewegung von dem
zweiten Programmblock berechnet werden, und die befohlene
Geschwindigkeit (Sollgeschwindigkeit) in dem ersten
Programmblock dieselbe ist wie jene in dem zweiten
Programmblock.
Das Flußdiagramm von Fig. 6 zeigt die Verarbeitung, die bei
einem Abtastzyklus für jeden Programmblock durchgeführt wird,
die Schritte S20, S26 bezeichnen Bearbeitungen, die jeweils von
dem Bewegungsbefehlsimpulsverteilungsabschnitt 14 durchgeführt
werden, und die Schritte S21 bis S26 zeigen Bearbeitungen, die
jeweils von dem Abtastzeitintervallberechnungsabschnitt 9
durchgeführt werden. Da für die Programmblöcke die Bearbeitung
dieselbe ist, wird nachstehend der erste Programmblock
beschrieben.
Im Schritt S20 wird ein Abtastzyklus auf die normale Abtastzeit
T5 eingestellt, die einen Standard- oder Normwert darstellt.
Dann wird im Schritt S21 ein Bewegungsbereich (momentan
übrigbleibender Bereich) berechnet, der in dem Programmblock
verbleiben sollte, in Abhängigkeit von dem Bewegungsbereich,
der zu dem Zeitpunkt übrigbleibt, wenn der vorherige
Abtastzyklus endet (der vorherige, verbleibende Bereich), und
abhängig von dem Bewegungsbereich für einen Abtastzyklus T5 zu
dem Zeitpunkt, wenn der momentane Abtastzyklus endet. Der für
die Berechnung verwendete Ausdruck ist folgendermaßen:
Momentan verbleibender Bereich = Vorher verbleibender
Bereich - Bewegungsbereich für einen Abtastzyklus (T5)
Hierbei wird angenommen, daß in einem Anfangs schritt der
Bearbeitung für jeden Programmblock eine Bewegungsrate des
Programmblocks auf den vorher verbleibenden Bereich eingestellt
wird, und daß die Bewegungsrate der vorher verbleibenden Rate
in dem ursprünglichen Abtastzyklus entspricht.
Im Schritt S22 erfolgt eine Bestimmung, ob der wie voranstehend
geschildert berechnete, momentan verbleibende Bereich kleiner
als ein Bewegungsbereich für einen Abtastzyklus T5 ist oder
nicht. In einem Fall, in welchem festgestellt wird, daß der
momentan übrigbleibende Bereich größer als der Bewegungsbereich
für eine Abtastzeit ist, wird hier ein Bruchteil nicht in dem
darauffolgenden Abtastzyklus erzeugt, und geht die
Systemsteuerung zum Schritt S26 über. Ebenfalls wird in einem
Fall, in welchem festgestellt wird, daß der momentan
verbleibende Bereich kleiner als der Bewegungsbereich eine
Abtastzeit ist, ein Bruchteil in dem darauffolgenden
Abtastzyklus erzeugt, und die Systemsteuerung geht zum Schritt
S23 über, um dort den zweiten Abtastzyklus zu berechnen.
Im Schritt S23 wird eine Bewegungsrate, die von dem momentanen
Abtastzyklus gesteuert werden soll (momentane Bewegungsrate),
aus folgendem Ausdruck berechnet:
Momentane Bewegungsrate = Bewegungsrate eines Abtastzyklus
+ Momentan verbleibender Bereich
Im Schritt S24 wird der momentane Abtastzyklus (der zweite
Abtastzyklus) T5′ durch folgenden Ausdruck berechnet, und
zurückgesetzt:
Zweiter Abtastzyklus = Momentane Bewegungsrate/Befohlene
Geschwindigkeit
Da der Abtastzyklus, der in dem Pfad dieser Folge von
Bearbeitungsschritten liegt, die Tatsache anzeigt, daß der
Abtastzyklus zum momentanen Zeitpunkt ein endgültiger Zyklus in
dem Programmblock ist, wird dann der verbleibende Bereich auf
Null im Schritt S25 zurückgesetzt, zur Bearbeitung durch den
darauffolgenden Programmblock.
Weiterhin wird im Schritt S26 der zweite Abtastzyklus T5′, der
in dem Abtastzyklus T5 berechnet wurde, oder in dem
Abtastzeitintervallberechnungsabschnitt 9, an den
Unterbrechungssteuerabschnitt 10 ausgegeben, den
Bewegungsbefehlsimpulsverteilungsabschnitt 14, und den
Antriebsabschnitt 17, und weiterhin wird der
Geschwindigkeitsbefehlsimpuls, der in Abhängigkeit von dem
Abtastzyklus T5 oder dem zweiten Abtastzyklus T5′ erzeugt
wurde, von dem Bewegungsbefehlsimpulsverteilungsabschnitt 14 an
den Beschleunigungs-/Verzögerungsabschnitt 15 ausgegeben.
Wie voranstehend geschildert wird bei der numerischen
Steuervorrichtung gemäß der vorliegenden Ausführungsform dann,
wenn ein durch einen Abtastzyklus unterteilter
Geschwindigkeitsbefehlsimpuls entsprechend einer Bewegungsrate
und einer Vorschubgeschwindigkeit für einen Programmblock
erzeugt wird, und in einem Fall, in welchem ein Bruchteil in
dem endgültigen Abtastzyklus des Programmblocks erzeugt wird,
der endgültige Abtastzyklus so geändert, daß kein Bruchteil
erzeugt wird, so daß beispielsweise dann, wenn ein Befehl zur
Werkstückbearbeitung von einem Werkstückbearbeitungsprogramm
ausgegeben wird, in welchem Betriebsabläufe zum Schneiden und
für den Vorschub nacheinander durchgeführt werden, der
Abtastzyklus für jeden Programmblock geändert werden kann, was
Auswirkungen auf andere Programmblöcke ausschaltet, und ebenso
eine Geschwindigkeitsänderung in einem Intervall zwischen
Programmblöcken, und dies führt dazu, daß die Form eines
Abschnitts zwischen einem Bereich, der entsprechend einem
Programmblock bearbeitet wurde, und einem anderen Bereich, der
entsprechend einem darauffolgenden Programmblock bearbeitet
wurde, exakt bearbeitet werden kann.
Nachstehend erfolgt eine Beschreibung einer numerischen
Steuervorrichtung gemäß Ausführungsform 3 der vorliegenden
Erfindung. Die numerische Steuervorrichtung gemäß der
vorliegenden Erfindung stellt eine Steuerung für eine glatte
Bewegung zur Verfügung, durch kürzere Ausbildung eines
Abtastzyklus bei der Beschleunigung oder Verzögerung, wenn ein
Geschwindigkeitsbefehlsimpuls erzeugt wird, der durch einen
Abtastzyklus unterteilt wird, entsprechend einer Bewegungsrate
und einer Vorschubgeschwindigkeit für einen Programmblock, der
eine Steuerung für die Beschleunigung oder Verzögerung
einschließt.
Der Aufbau der numerischen Steuervorrichtung gemäß der
vorliegenden Ausführungsform ist grundsätzlich ebenso wie bei
der Ausführungsform 1 (vgl. Fig. 1). Allerdings sind die
Funktionen des Bewegungsbefehlsimpulsverteilungsabschnitts 14
und des Abtastzyklusberechnungsabschnitts 9 anders als bei der
Ausführungsform 1.
In dem Bewegungsbefehlsimpulsverteilungsabschnitt 14 wird
zuerst, wie bei der Ausführungsform 1, eine Bewegungsrate für
einen Abtastzyklus (Standardwert) berechnet, entsprechend einer
Bewegungsrate in jeder der Axialrichtungen, die einen
Steuerraum bilden, welche in dem Interpolationsabschnitt 3
erhalten wird, beispielsweise der X-Axialrichtung, der Y-
Axialrichtung und der Z-Axialrichtung, und entsprechend einer
Vorschubgeschwindigkeit in jeder Axialrichtung, und es wird ein
Geschwindigkeitsbefehlsimpuls für jede Axialrichtung
ausgegeben. Falls dies entsprechend dem erzeugten
Geschwindigkeitsbefehlsimpuls erforderlich ist, wird ein
zweiter Abtastzyklus von dem Abtastzyklusberechnungsabschnitt 9
berechnet, und wird ein Geschwindigkeitsbefehlsimpuls in jeder
Axialrichtung von dem
Bewegungsbefehlsimpulsverteilungsabschnitt 14 unter Verwendung
des zweiten Abtastzyklus erzeugt.
Weiterhin empfängt der Abtastzyklusberechnungsabschnitt 9 einen
Geschwindigkeitsbefehlsimpuls, der in einem normalen
Abtastzyklus erzeugt wird (Standardwert) in dem
Bewegungsimpulsverteilungsabschnitt 14, stellt einmal für jeden
Abtastzyklus fest, ob es sich um eine Steuerung für die
Beschleunigung oder die Verzögerung handelt oder nicht, und
wenn festgestellt wird, daß es um eine Steuerung für die
Beschleunigung oder Verzögerung geht, wird ein Abtastzyklus auf
einen zweiten Abtastzyklus eingestellt, der durch Teilen des
normalen Abtastzyklus durch einen festgelegten, positiven
ganzzahligen Wert erhalten wird.
Nunmehr erfolgt eine Beschreibung von Bearbeitungsvorgängen der
numerischen Steuervorrichtung gemäß der vorliegenden Erfindung.
Arbeitsgänge abgesehen von denen, die von dem
Bewegungsbefehlsimpulsverteilungsabschnitt 14 und dem
Abtastzeitintervallberechnungsabschnitt 9 durchgeführt werden,
sind ebenso wie jene, die unter Bezugnahme auf die
Ausführungsform 1 geschildert wurden, so daß insoweit keine
erneute Beschreibung erfolgt.
Unter Bezugnahme auf die Fig. 8 und 9 erfolgt nunmehr eine
detaillierte Beschreibung der Bearbeitung in dem
Bewegungsbefehlsimpulsverteilungsabschnitt und dem
Abtastzeitintervallberechnungsabschnitt 9. Fig. 9 ist ein
Flußdiagramm, welches die Bearbeitung in dem
Bewegungsbefehlsimpulsverteilungsabschnitt 14 und in dem
Abtastzeitintervallberechnungsabschnitt 9 zeigt, wogegen Fig.
9 eine Darstellung zur Erläuterung eines
Geschwindigkeitsbefehlsimpulses für einen bestimmten Befehl für
eine Bewegung ist. Es wird darauf hingewiesen, daß das konkrete
Beispiel in Fig. 9 einen Geschwindigkeitsbefehlsimpuls für
einen Bewegungsbefehl durch einen Programmblock zeigt, der
einen Steuerung für die Beschleunigung oder Verzögerung
einschließt, und daß in dieser Figur die durchgezogene Linie
und eine gestrichelte Linie einen Programmbefehl bzw. ein
Beschleunigung/Verzögerungsmuster bezeichnet.
Das Flußdiagramm von Fig. 8 zeigt die Bearbeitung, die in
einem Abtastzyklus für jeden Programmblock ausgeführt wird, und
der Schritt S50 bezeichnet die Bearbeitung, die von dem
Bewegungsbefehlsimpulsverteilungsabschnitt 14 ausgeführt wird,
wogegen die Schritte S51 und S52 die Bearbeitung zeigen, die
von dem Abtastzeitintervallberechnungsabschnitt 9 durchgeführt
wird.
Zuerst wird im Schritt S50 als Abtastzyklus eine normale Zeit
T6 eingestellt, die einen Standardwert darstellt.
Dann erfolgt im Schritt S51 eine Bestimmung, ob sich eine von
dem Programmblock befohlene Geschwindigkeit von der momentanen
Vorschubgeschwindigkeit unterscheidet oder nicht, nämlich ob
eine von dem Programmblock befohlene Geschwindigkeit ungleich
der momentanen Geschwindigkeit ist oder nicht. Daher wird in
einem Fall, in welchem festgestellt wird, daß die von dem
Programmblock befohlene Geschwindigkeit gleich der momentanen
Vorschubgeschwindigkeit ist, dies so angesehen, daß die
Steuerung für eine Bewegung mit konstanter Geschwindigkeit
vorgesehen ist, und die Bearbeitung endet mit unverändertem
momentanen Abtastzyklus, und in einem Fall, in welchem
festgestellt wird, daß sich die befohlene Geschwindigkeit von
der momentanen Vorschubgeschwindigkeit unterscheidet, so wird
dies so angesehen, daß eine Steuerung für die Beschleunigung
oder Verzögerung vorhanden ist, und es wird im Schritt S52 der
Abtastzyklus T6 so zurückgesetzt, daß er kürzer wird. Den
zweiten Abtastzyklus T6′, der wie voranstehend geschildert
zurückgesetzt wird, erhält man beispielsweise aus nachstehender
Gleichung:
Abtastzeitintervall = Abtastzeitintervall/n
Hierbei ist n eine positive ganze Zahl (N < 1).
Weiterhin wird, obwohl dies nicht im den Flußdiagramm von Fig.
8 gezeigt ist, der in dem
Abtastzeitintervallberechnungsabschnitt 9 berechnete
Abtastzyklus T6 oder der zweite Abtastzyklus T6′ an den
Unterbrechungssteuerabschnitt 10 ausgegeben, an den
Bewegungsbefehlsimpulsverteilungsabschnitt 14, und an den
Antriebsabschnitt 17, und von dem
Bewegungsbefehlsimpulsverteilungsabschnitt 14 wird ein
Geschwindigkeitsbefehlsimpuls, der entsprechend dem
Abtastzyklus T6 oder dem zweiten Abtastzyklus T6′ erzeugt wird,
an den Beschleunigungs/Verzögerungsabschnitt 15 ausgegeben.
Fig. 9 zeigt einen Fall, in welchem n gleich 4 ist, und der
Abtastzyklus T6′ bei der Beschleunigung oder Verzögerung kürzer
gewählt wird. Wie aus dieser Figur hervorgeht, kann in diesem
Falle eine glattere Geschwindigkeitssteuerung zur Verfügung
gestellt werden, verglichen mit einem Fall, in welchem ein
Geschwindigkeitsbefehlsimpuls auf der Grundlage des üblichen
Abtastzyklus erzeugt wird (vgl. Fig. 23).
Wie voranstehend geschildert wird bei der numerischen
Steuervorrichtung gemäß der vorliegenden Ausführungsform eine
glatte Bewegungssteuerung dadurch zur Verfügung gestellt, daß
ein Abtastzyklus für die Beschleunigung oder Verzögerung kürzer
ausgebildet wird, wenn ein durch eine Abtastrate dividierter
Geschwindigkeitsbefehlsimpuls aus einer Bewegungsrate und einer
Vorschubgeschwindigkeit für einen Programmblock erzeugt wird,
der eine Steuerung für die Beschleunigung oder Verzögerung
aufweist, so daß eine schnelle Geschwindigkeitsänderung selbst
dann ausgeschaltet werden kann, wenn eine Steuerung für die
Beschleunigung oder Verzögerung vorgesehen ist, wodurch eine
Werkstückbearbeitung mit hoher Geschwindigkeit und hoher
Genauigkeit ausgeführt werden kann.
Nachstehend erfolgt die Beschreibung eines Falles, in welchem
eine glatte Bewegungssteuerung dadurch durchgeführt wird, daß
ein Abtastzyklus für die Beschleunigung oder Verzögerung
relativ kürzer ausgebildet wird.
Der Aufbau der numerischen Steuervorrichtung in diesem Fall ist
grundsätzlich ebenso wie bei der Ausführungsform 1. Allerdings
unterscheidet sich die Funktion des
Abtastzyklusberechnungsabschnitts 9 bezüglich folgender
Einzelheiten. Wenn nämlich der Abtastzyklusberechnungsabschnitt
9 einen Geschwindigkeitsbefehlsimpuls empfängt, der
entsprechend einem Abtastzyklus (Standardwert) in dem
Bewegungsbefehlsimpulsverteilungsabschnitt 14 erzeugt wird, und
eine Bestimmung erfolgt, ob die Steuerung die Beschleunigung
oder Verzögerung oder eine Bewegung mit konstanter
Geschwindigkeit in jedem Abtastzyklus für einen Programmblock
betrifft, und wenn festgestellt wird, daß es sich um eine
Steuerung für die Beschleunigung oder Verzögerung handelt, wird
der Abtastzyklus auf einen zweiten Abtastzyklus zurückgesetzt,
der durch Multiplizieren des Abtastzyklus (des Standardwertes)
mit einem festgelegten, positiven ganzzahligen Wert erhalten
wird.
Nachstehend erfolgt eine Beschreibung eines
Bearbeitungsvorgangs bei dieser numerischen Steuervorrichtung.
Die Bearbeitung abgesehen von jener durch den
Bewegungsbefehlsimpulsverteilungsabschnitt 14 und den
Abtastzeitintervallberechnungsabschnitt 9 ist ebenso wie bei
der Ausführungsform 1, so daß insoweit hier keine erneute
Beschreibung erfolgt.
Unter Bezugnahme auf Fig. 10 wird im einzelnen die Bearbeitung
durch den Bewegungsbefehlsimpulsverteilungsabschnitt 14 und den
Abtastzeitintervallberechnungsabschnitt 9 beschrieben. Fig. 10
ist ein Flußdiagramm zur Erläuterung der Bearbeitung durch den
Bewegungsbefehlsimpulsverteilungsabschnitt 14 und den
Abtastzeitintervallberechnungsabschnitt. Das Flußdiagramm in
dieser Figur zeigt die Bearbeitung, die in jedem Abtastzyklus
für jeden Programmblock durchgeführt wird, wobei der Schritt
S60 die Bearbeitung angibt, die von dem
Bewegungsbefehlsimpulsverteilungsabschnitt 14 durchgeführt
wird, während die Schritte S61, S62 die Bearbeitung zeigen, die
von dem Abtastzeitintervallberechnungsabschnitt 9 durchgeführt
wird.
Zuerst wird im Schritt S60 als Abtastzyklus eine übliche
Abtastzeit (T7) eingestellt, welche einen Standardwert
darstellt.
Dann erfolgt im Schritt S61 eine Festlegung, ob eine von dem
Programmblock befohlene Geschwindigkeit gleich der momentanen
Vorschubgeschwindigkeit ist, nämlich ob der nachstehende
Ausdruck erfüllt ist oder nicht:
Von einem Programmblock befohlene Geschwindigkeit
= momentane Geschwindigkeit
Wenn daher in einem Fall bestimmt wird, daß sich die von dem
Programmblock befohlene Geschwindigkeit von der momentanen
Vorschubgeschwindigkeit unterscheidet, wird dies als ein Fall
angesehen, in welchem eine Steuerung für die Beschleunigung
oder Verzögerung vorgesehen ist, und die Bearbeitung wird mit
unverändertem Abtastzyklus beendet. Falls die befohlene
Geschwindigkeit gleich der momentanen Vorschubgeschwindigkeit
ist, so wird dies als solcher Fall angesehen, daß nunmehr eine
Steuerung für eine Bewegung mit konstanter Geschwindigkeit zur
Verfügung gestellt wird, und es wird im Schritt S62 der
Abtastzyklus T7 zurückgesetzt, so daß er länger wird. Der wie
voranstehend geschildert zurückgesetzte, zweite Abtastzyklus
T7′ wird beispielsweise aus folgender Gleichung erhalten:
Abtastzeitintervall = Abtastzeitintervall×n
Hierbei ist n eine positive ganze Zahl (n < 1).
Obwohl dies nicht in Fig. 20 dargestellt ist, wird dann der
Abtastzyklus T7 oder der zweite Abtastzyklus T7′, der von dem
Abtastzeitintervallberechnungsabschnitt 9 berechnet wird, an
den Unterbrechungssteuerabschnitt 10, den
Bewegungsbefehlsimpulsverteilungsabschnitt 14 und den
Antriebsabschnitt 17 ausgegeben, und von dem
Bewegungsbefehlsimpulsverteilungsabschnitt 14 wird an den
Beschleunigungs/Verzögerungsabschnitt 15 ein
Geschwindigkeitsbefehlsimpuls ausgegeben, der entsprechend dem
Abtastzyklus T7 oder dem zweiten Abtastzyklus T7′ erzeugt
wurde.
Wie voranstehend geschildert wird bei der numerischen
Steuervorrichtung gemäß der vorliegenden Ausführungsform eine
glatte Bewegungssteuerung dadurch zur Verfügung gestellt, daß
ein Abtastzyklus für die Beschleunigung oder Verzögerung
relativ kürzer ausgebildet wird, wenn ein
Geschwindigkeitsbefehlsimpuls, der durch einen Abtastzyklus
geteilt wird, aus einer Bewegungsrate und einer
Vorschubgeschwindigkeit für einen Programmblock erzeugt wird,
der eine Steuerung für die Beschleunigung oder Verzögerung
umfaßt, so daß selbst dann, wenn eine Steuerung der
Beschleunigung oder Verzögerung erfolgt, eine schnelle
Geschwindigkeitsänderung ausgeschaltet ist, und eine
Werkstückbearbeitung mit hoher Geschwindigkeit und hoher
Genauigkeit durchgeführt werden kann. Weiterhin wird durch
Einstellung eines Abtastzyklus auf den üblichen Abtastzyklus
bei der Beschleunigung oder Verzögerung, und durch eine
Einstellung des Abtastzyklus auf einen längeren Wert bei der
Steuerung für eine Bewegung mit konstanter Geschwindigkeit, die
Arbeitsbelastung der numerischen Steuervorrichtung in der
Betriebsart mit konstanter Vorschubgeschwindigkeit verringert,
und kann eine Bearbeitung abgesehen von jener des Motors 8,
beispielsweise eine Bearbeitung für eine Bildschirmanzeige, mit
hoher Geschwindigkeit ausgeführt werden.
Nachstehend erfolgt eine Beschreibung einer numerischen
Steuervorrichtung gemäß Ausführungsform 4 der vorliegenden
Erfindung. Die numerische Steuervorrichtung gemäß der
vorliegenden Ausführungsform gibt keinen Befehl an einen zu
steuernden Gegenstand (Objekt) aus, wenn ein Befehl für eine
Bewegung nicht von einem Bearbeitungsprogramm ausgegeben wurde,
so daß die Arbeitsbelastung der numerischen Steuervorrichtung
verringert ist.
Der Aufbau der numerischen Steuervorrichtung gemäß der
vorliegenden Ausführungsform ist grundsätzlich ebenso wie bei
der Ausführungsform 3. Allerdings unterscheidet sich die
Funktion des Abtastzyklusberechnungsabschnitts 9 in folgender
Hinsicht. Der Abtastzyklusberechnungsabschnitt 9 empfängt
nämlich einen Geschwindigkeitsbefehlsimpuls, der entsprechend
einem Abtastzyklus (Standardwert) in dem
Bewegungsbefehlsimpulsverteilungsabschnitt 14 erzeugt wird,
stellt fest, ob ein Befehl für eine Bewegung in jedem
Abtastzyklus für einen Programmblock ausgegeben wurde oder
nicht, und dann wird in einem Fall, in welchem festgestellt
wird, daß ein Befehl für eine Bewegung nicht ausgegeben wurde,
der Abtastzyklus auf den Wert unendlich zurückgesetzt.
Nunmehr erfolgt eine Beschreibung der Bearbeitung durch die
numerische Steuervorrichtung gemäß der vorliegenden
Ausführungsform. Die Bearbeitung abgesehen von jener durch den
Bewegungsbefehlsimpulsverteilungsabschnitt 14 und den
Abtastzeitintervallberechnungsabschnitt 9 ist ebenso wie bei
der Ausführungsform 1, so daß insoweit keine erneute
Beschreibung erfolgt.
Unter Bezugnahme auf Fig. 11 erfolgt eine detaillierte
Beschreibung der Bearbeitung durch den
Bewegungsbefehlsimpulsverteilungsabschnitt 14 und den
Abtastzeitintervallberechnungsabschnitt 9. Fig. 11 zeigt ein
Flußdiagramm zur Erläuterung der Bearbeitung durch den
Bewegungsbefehlsimpulsverteilungsabschnitt 14 und den
Abtastzeitintervallberechnungsabschnitt 9. Das Flußdiagramm in
dieser Figur zeigt die in jedem Abtastzyklus für jeden
Programmblock durchgeführte Bearbeitung, wobei der Schritt S70
die von dem Bewegungsbefehlsimpulsverteilungsabschnitt 14
durchgeführte Bearbeitung zeigt, wogegen die Schritte S71, S72
die von dem Abtastzeitintervallberechnungsabschnitt 9
durchgeführte Bearbeitung zeigen.
Zuerst wird im Schritt S70 als Abtastzyklus eine Abtastzeit
(T8) eingestellt, die einen Standardwert darstellt.
Dann erfolgt im Schritt S71 eine Bestimmung, ob ein Befehl für
eine Bewegung ausgegeben wurde oder nicht. Falls festgestellt
wird, daß ein Befehl für eine Bewegung ausgegeben wurde, endet
die Bearbeitung mit unverändertem Abtastzyklus. Falls ein
Befehl für eine Bewegung nicht ausgegeben wurde, so wird dies
so betrachtet, daß eine Steuerung für eine Bewegung mit
konstanter Geschwindigkeit vorgesehen ist, und dann wird im
Schritt S72 der Abtastzyklus auf den Wert unendlich
zurückgesetzt.
Obwohl dies in dem Flußdiagramm von Fig. 11 nicht gezeigt ist,
wird der Abtastzyklus T8 auch an den
Unterbrechungssteuerabschnitt 10 ausgegeben, an den
Bewegungsbefehlsimpulsverteilungsabschnitt 14, und an den
Antriebsabschnitt 17, und wird von dem
Bewegungsbefehlsimpulsverteilungsabschnitt 14 ein
Geschwindigkeitsbefehlsimpuls, der entsprechend dem
Abtastzyklus T8 erzeugt wird, an den
Beschleunigungs/Verzögerungsabschnitt ausgegeben. Aus diesem
Grund wird in einem Fall, in welchem der Abtastzyklus T8 den
Wert unendlich aufweist, ein Geschwindigkeitsbefehlsimpuls von
dem Befehlsimpulsausgabeabschnitt 16 nicht ausgegeben, und auch
kein Steuersignal von dem Antriebsabschnitt, so daß die
Arbeitsbelastung der numerischen Steuervorrichtung verringert
werden kann.
Nunmehr erfolgt eine Beschreibung der Ausgabe an den
Antriebsabschnitt und des Betriebszustandes der numerischen
Steuervorrichtung in einem Fall, in welchem ein Abtastzyklus
länger als ein festgelegter Wert gewählt wird.
Fig. 12A ist ein Zeitablaufdiagramm, welches den Zeitpunkt der
Übertragung von einer üblichen numerischen Steuervorrichtung an
eine Servoseite zeigt, und wie aus dieser Figur hervorgeht,
wird ein Befehl für eine Bewegung von der numerischen
Steuervorrichtung an die Servoseite innerhalb eines Intervalls
von mehreren Millimetern (variabel) ausgegeben. Dieser Befehl
für eine Bewegung enthält eine Zeit, bis ein nächster Befehl
übertragen wird (einen Zeitraum bis zum Zeitablauf), und in
einem Fall, in welchem ein nächster Befehl für die Bewegung
nicht ausgesandt wird, selbst wenn dieser Zeitraum für den
Zeitablauf abgelaufen ist, so wird festgestellt, daß irgendein
anomaler Zustand aufgetreten ist, und wird ein
Notfallstoppsignal ausgegeben.
Fig. 12B zeigt einen Fall, in welchem ein Befehlszyklus an die
Servoseite sehr lang ausgebildet wird, und die Bearbeitung zur
Übertragung in der Seite einer numerischen Steuervorrichtung
weggelassen ist, und in diesem Fall wird ein sehr langer
Zeitablauf-Zeitraum T bis zum nächsten Befehl in dem
endgültigen Befehl für die numerische Steuervorrichtung
eingestellt. Aus diesem Grund wird an der Servoseite nach
Ausführung des endgültigen Befehls, bis der Zeitablauf-Zeitraum
T vergangen ist, nicht angenommen, daß irgendein anomaler
Zustand aufgetreten ist, und der Bereitschaftszustand wird
beibehalten. Während dieses Zeitraums kann eine Zeit
entsprechend einem Zeitraum, der für die tatsächlich nicht
durchgeführte Übertragung in der numerischen Steuervorrichtung
erforderlich ist, für eine andere Bearbeitung verwendet werden,
beispielsweise eine Bildschirmanzeige oder Eingabe/Ausgabe-
Bearbeitung (I/O-Bearbeitung).
Falls es erforderlich ist, den Bereitschaftszustand für einen
Zeitraum fortzusetzen, der länger als der Zeitablaufzeitraum T
ist, wie in Fig. 13A gezeigt, so wird ein Befehl für den
Zeitablauf-Zeitraum erneut von der numerischen
Steuervorrichtung an die Servoseite ausgegeben, mit einer
Bewegungsrate von 0 innerhalb des Zeitablauf-Zeitraums T. Die
Servoseite setzt den Bereitschaftszustand über einen weiteren
Zeitablauf-Zeitraum T nach Empfang dieses Befehls fort (ein
anomaler Zustand tritt nicht auf).
Wenn es erforderlich ist, eine Bewegung an der Servoseite
innerhalb des Zeitablauf-Zeitraums T erneut zu beginnen, wie in
Fig. 13B gezeigt, so wird ein Befehl mit einer Bewegungsrate,
die nicht gleich 0 ist, von der numerischen Steuervorrichtung
an die Servoseite innerhalb des Zeitablauf-Zeitraums T
ausgegeben. Wenn die Servoseite diesen Befehl empfängt, verläßt
sie den Bereitschaftszustand, und startet erneut den normalen
Betrieb für eine Bewegung.
Wie voranstehend geschildert wird bei der numerischen
Steuervorrichtung gemäß der vorliegenden Ausführungsform in
einem Fall, in welchem ein Befehl für eine Bewegung nicht von
einem Werkstückbearbeitungsprogramm ausgegeben wurde, nicht ein
Befehl an einen zu steuernden Gegenstand ausgegeben, so daß die
Arbeitsbelastung der numerischen Steuervorrichtung verringert
wird, wenn ein Befehl nicht ausgegeben wurde, und eine
Bearbeitung für andere Teile als den Motor 8 oder dergleichen,
beispielsweise für eine Bildschirmanzeige, mit hoher
Geschwindigkeit durchgeführt werden kann.
Nunmehr erfolgt eine Beschreibung der numerischen
Steuervorrichtung gemäß Ausführungsform 5 der vorliegenden
Erfindung. Die numerische Steuervorrichtung gemäß der
vorliegenden Ausführungsform erzeugt nicht einen Bruchteil
eines Abtastzyklus durch Änderung des Abtastzyklus, wenn der
Bruchteil in dem Abtastzyklus erzeugt wurde, wenn ein
Geschwindigkeitsbefehlsimpuls aus einer Bewegungsrate und einer
Vorschubgeschwindigkeit für jeden Programmblock in einem Fall
erzeugt wird, in welchem ein Befehl für einen Freilauf
empfangen wird.
Der Aufbau der numerischen Steuervorrichtung gemäß der
vorliegenden Ausführungsform ist grundsätzlich ebenso wie bei
der Ausführungsform 1 (vgl. Fig. 1). Allerdings sind die
Funktionen des Bewegungsbefehlsimpulsverteilungsabschnitts 14
und des Abtastzyklusberechnungsabschnitts 9 anders als bei der
Ausführungsform 1.
Die Fig. 14A und 14B sind Zeitablaufdiagramme, die einen
Geschwindigkeitsbefehlsimpuls in einem Fall zeigen, in welchem
ein Befehl für einen Freilauf (120%) eingegeben wurde. In
dieser Figur wird, wenn der Freilaufbefehl zum Zeitpunkt t
eingegeben wird, ein Ausgangsimpuls gegenüber dem Punkt t1 um
das 1,2-fache verstärkt. Wenn in diesem Fall ein Befehl mit dem
Abtastzyklus ausgegeben wird, bevor die Eingabe des
Freilaufbefehls erfolgt, wird in dem Ausgangsimpuls ein
Bruchteil erzeugt, wie durch die durchgezogene Linie in Fig.
14A gezeigt ist. Daher wird wie in Fig. 14B gezeigt der
Abtastzyklus geändert, so daß in dem Befehlsimpuls kein
Bruchteil erzeugt wird.
Die Fig. 15A und 15B sind Zeitablaufdiagramme, die einen
Geschwindigkeitsbefehlsimpuls in einem Fall zeigen, in welchem
ein Befehl für einen Freilauf (80%) eingegeben wurde. In dieser
Figur wird, wenn der Freilaufbefehl zum Zeitpunkt t eingegeben
wird, ein Ausgangsimpuls gegenüber dem Zeitpunkt t1 um das
0,8-fache verringert. Wenn in diesem Fall ein Befehl mit dem
Abtastzyklus ausgegeben wird, bevor die Eingabe des
Freilaufbefehls erfolgt ist, wird in dem Ausgangsimpuls ein
Bruchteil erzeugt, wie durch die durchgezogene Linie in Fig.
15A gezeigt ist. Daher wird wie in Fig. 15B gezeigt der
Abtastzyklus geändert, so daß in dem Befehlsimpuls kein
Bruchteil erzeugt wird.
Wie voranstehend geschildert kann bei der numerischen
Steuervorrichtung gemäß der vorliegenden Ausführungsform selbst
dann, wenn ein Befehl für einen Freilauf empfangen wird, ein
Abtastzyklus so geändert werden, daß ein Bruchteil in dem
Befehlsimpuls nicht erzeugt wird, so daß selbst beim Freilauf
eine Änderung einer Vorschubgeschwindigkeit und eine
Verschiebung der Bewegungsortskurve ausgeschaltet werden
können, die in einem Intervall der Werkstückbearbeitung
zwischen Programmblöcken erzeugt werden.
Wie voranstehend geschildert wird bei dem numerischen
Steuerverfahren gemäß einer Zielrichtung der vorliegenden
Erfindung in einem Fall, in welchem eine Bewegungsrate und eine
Vorschubgeschwindigkeit in jeder Axialrichtung aus einer
Bewegungsposition eines Werkzeugs und einer
Vorschubgeschwindigkeit des Werkzeugs durch fortschreitende
Analyse eines Werkstückbearbeitungsprogramms programmblockweise
oder anhand mehrerer Programmblöcke berechnet werden, ein durch
einen festgelegten Abtastzyklus unterteilter Befehlsimpuls
entsprechend der berechneten Bewegungsrate und
Vorschubgeschwindigkeit erzeugt, und wird der Ausgabezeitpunkt
des Befehlsimpuls an einen zu steuernden Gegenstand
entsprechend dem Abtastzyklus gesteuert, und wird der
Abtastzyklus so geändert, daß in dem Befehlsimpuls kein
Bruchteil erzeugt wird, wodurch ein Abtastzyklus durch einen
Programmblock oder durch mehrere Programmblöcke geändert werden
kann, und sich eine hochgenaue Werkstückbearbeitung zwischen zu
bearbeitenden Bereichen entsprechend jedem Programmblock
dadurch erzielen läßt, daß Schwankungen einer
Vorschubgeschwindigkeit und eine Verschiebung einer
Bewegungsortskurve ausgeschaltet werden, die in einem Intervall
der Werkstückbearbeitung zwischen Programmblöcken erzeugt
werden, und gleichzeitig eine Toleranz für die Bearbeitung in
der numerischen Steuervorrichtung dadurch erzeugt werden kann,
daß die Arbeitsbelastung der numerischen Steuervorrichtung
verringert wird.
Bei dem numerischen Steuerverfahren gemäß einer weiteren
Zielrichtung der vorliegenden Erfindung werden eine
Bewegungsposition eines Werkzeugs und eine
Vorschubgeschwindigkeit des Werkzeugs dadurch erhalten, daß
fortschreitend ein Werkstückbearbeitungsprogramm durch einen
Programmblock oder mehrere Programmblöcke analysiert wird,
werden eine Bewegungsrate und eine Vorschubgeschwindigkeit
entsprechend der Bewegungsposition eines Werkzeugs und der
Vorschubgeschwindigkeit des Werkzeugs berechnet, wird ein
Abtastzyklus so geändert, daß ein Bruchteil in einem
Befehlsimpuls in einem Programmblock oder in mehreren
Programmblöcken nicht erzeugt wird, wird der Befehlsimpuls
erzeugt, der durch den geänderten Abtastzyklus entsprechend der
berechneten Bewegungsrate und der Vorschubgeschwindigkeit
gleichmäßig unterteilt ist, und wird der Ausgabezeitpunkt des
erzeugten Befehlsimpuls an einen zu steuernden Gegenstand
entsprechend dem Abtastzyklus geändert, wodurch ein
Abtastzyklus durch einen Programmblock oder durch mehrere
Programmblöcke geändert werden kann, und durch Ausschaltung von
Schwankungen einer Vorschubgeschwindigkeit und der Verschiebung
einer Bewegungsortskurve, die in einem Intervall der
Werkstückbearbeitung zwischen Programmblöcken erzeugt werden,
eine hochexakte Werkstückbearbeitung zwischen zu bearbeitenden
Flächen entsprechend jedem Programmblock erzielt werden kann,
und gleichzeitig durch Verringerung der Arbeitsbelastung einer
numerischen Steuervorrichtung eine Toleranz zur Bearbeitung
durch die numerische Steuervorrichtung erzeugt werden kann.
Bei der numerischen Steuervorrichtung gemäß einer Zielrichtung
der vorliegenden Erfindung erhält eine Analysevorrichtung eine
Bewegungsposition eines Werkzeugs und eine
Vorschubgeschwindigkeit des Werkzeugs durch fortschreitende
Analyse eines Werkstückbearbeitungsprogramms durch einen
Programmblock oder durch mehrere Programmblöcke, eine
Interpolationsvorrichtung berechnet eine Bewegungsrate und eine
Vorschubgeschwindigkeit entsprechend der Bewegungsposition
eines Werkzeugs und der Vorschubgeschwindigkeit des Werkzeugs,
eine Abtastzyklusberechnungsvorrichtung ändert einen
Abtastzyklus, so daß ein Bruchteil eines Befehlsimpulses nicht
in dem einen Programmblock oder in den mehreren Programmblöcken
erzeugt wird, eine Befehlsimpulserzeugungsvorrichtung erzeugt
einen Befehlsimpuls, der gleichförmig durch den geänderten
Abtastzyklus entsprechend der berechneten Bewegungsrate und der
berechneten Vorschubgeschwindigkeit unterteilt ist, und eine
Abtaststeuervorrichtung steuert den Ausgabezeitpunkt des
erzeugten Befehlsimpulses an einen zu steuernden Gegenstand
entsprechend dem Abtastzyklus, wodurch ein Abtastzyklus durch
einen Programmblock oder durch mehrere Programmblöcke geändert
werden kann, und sich durch Ausschaltung von Schwankungen einer
Vorschubgeschwindigkeit und einer Verschiebung der Ortskurve,
die in einem Intervall der Werkstückbearbeitung zwischen
Programmblöcken erzeugt werden, eine hochgenaue
Werkstückbearbeitung zwischen Bereichen, die entsprechend jedem
Programmblock bearbeitet werden sollen, erzielen läßt, und
gleichzeitig durch Verringerung der Arbeitsbelastung einer
numerischen Steuervorrichtung eine Toleranz für die Bearbeitung
durch die numerische Steuervorrichtung erzeugt werden kann.
Bei der numerischen Steuervorrichtung gemäß einer anderen
Zielrichtung der vorliegenden Erfindung gleicht die
Abtastzyklusberechnungsvorrichtung einen Abtastzyklus an,
wodurch eine hochgenaue Werkstückbearbeitung zwischen zu
bearbeitenden Bereichen entsprechend jedem Programmblock
dadurch erzielt werden kann, daß Schwankungen einer
Vorschubgeschwindigkeit und eine Verschiebung einer
Bewegungsortskurve ausgeschaltet werden können, die in einem
Intervall der Werkstückbearbeitung zwischen Programmblöcken
erzeugt werden, und gleichzeitig die Toleranz zur Bearbeitung
durch die numerische Steuervorrichtung durch Verringerung der
Arbeitsbelastung der numerischen Steuervorrichtung erzeugt
werden kann.
Bei der numerischen Steuervorrichtung gemäß einer weiteren
Zielrichtung der vorliegenden Erfindung ändert die
Abtastzyklusberechnungsvorrichtung einen Abtastzyklus stärker
als den ursprünglichen Abtastzyklus, wenn in einem endgültigen
Abtastzyklus in dem einen Programmblock oder den mehreren
Programmblöcken ein Befehlsimpuls für den endgültigen
Abtastzyklus einen Bruchteil kleiner ist als ein Befehlsimpuls
in einem anderen Abtastzyklus, wodurch die Arbeitsbelastung der
numerischen Steuervorrichtung verringert werden kann.
Bei der numerischen Steuervorrichtung gemäß einer weiteren
Zielrichtung der vorliegenden Erfindung stellt die
Abtastzyklusberechnungsvorrichtung entsprechend der von der
Interpolationsvorrichtung berechneten Vorschubgeschwindigkeit
fest, ob die momentane Betriebsart eine Beschleunigung oder
Verzögerung oder eine Bewegung mit konstanter Geschwindigkeit
ist, stellt einen Abtastzyklus auf einen kürzeren Zeitraum ein
als jenen für die Bewegung bei konstanter Geschwindigkeit, bei
einer Beschleunigung oder Verzögerung, und stellt einen
Abtastzyklus auf einen längeren Zeitraum ein als jenen für die
Beschleunigung oder Verzögerung bei der Bewegung mit konstanter
Geschwindigkeit. Wie voranstehend geschildert wird ein
Abtastzyklus bei der Beschleunigung oder Verzögerung zeitlich
kürzer eingestellt, was es ermöglicht, eine Geschwindigkeit
durch deren glatte Änderung zu steuern, und weiterhin wird ein
Abtastzyklus auf einen längeren Zeitraum bei der Bewegung mit
konstanter Geschwindigkeit eingestellt, was eine Feinsteuerung
der Bewegung bei der Werkstückbearbeitung entsprechend einer
schnellen Beschleunigung oder Verzögerung gestattet, und aus
diesem Grunde kann die Werkstückbearbeitungsgenauigkeit
verbessert werden, und die Arbeitsbelastung einer numerischen
Steuervorrichtung verringert werden.
Bei der numerischen Steuervorrichtung gemäß einer weiteren
Zielrichtung der vorliegenden Erfindung stellt die
Abtastzyklusberechnungsvorrichtung fest, ob ein Befehl für eine
Bewegung ausgegeben wurde oder nicht, stellt einen Abtastzyklus
auf einen Zeitraum ein, der länger als ein festgelegter Wert
ist, beispielsweise auf einen unendlich langen Zeitraum, wenn
ein Befehl für eine Bewegung nicht ausgegeben wurde, und
versetzt die Vorrichtung in den Bereitschaftszustand, wodurch
die Arbeitsbelastung der numerischen Steuervorrichtung
verringert werden kann, und daher eine andere Bearbeitung als
die Steuerung eines zu steuernden Gegenstands auf schnelle
Weise durchgeführt werden kann, beispielsweise eine
Bildschirmanzeige.
Bei der numerischen Steuervorrichtung gemäß einer weiteren
Zielrichtung der vorliegenden Erfindung ändert die
Abtastzyklusberechnungsvorrichtung dann, wenn sie einen
Freilaufbefehl empfängt, einen Abtastzyklus so , daß ein
Bruchteil in dem Befehlsimpuls nicht erzeugt wird, wodurch
Schwankungen einer Vorschubgeschwindigkeit und eine
Verschiebung der Bewegungsortskurve, die in einem Intervall der
Werkstückbearbeitung zwischen Programmblöcken erzeugt werden,
selbst in der Freilaufbetriebsart ausgeschaltet werden, was
eine hochgenaue Werkstückbearbeitung zwischen Bereichen
ermöglicht, die entsprechend jedem Programmblock bearbeitet
werden sollen, wobei gleichzeitig eine Toleranz für die
Bearbeitung der numerischen Steuervorrichtung dadurch erzeugt
werden kann, daß die Arbeitsbelastung der numerischen
Steuervorrichtung verringert wird.
Zwar wurde die Erfindung unter Bezugnahme auf bestimmte
Ausführungsformen zum Zwecke einer vollständigen und deutlichen
Offenbarung geschildert, jedoch sollen die beigefügten
Patentansprüche hierdurch nicht eingeschränkt werden, sondern
sollen das Wesen und den Umfang der vorliegenden Erfindung
widerspiegeln, die sich aus der Gesamtheit der vorliegenden
Anmeldeunterlagen ergeben, und insbesondere sämtliche
Abänderungen und alternativen Ausbildungen der
Ausführungsbeispiele umfassen, die einem Fachmann auf diesem
Gebiet bei der Lektüre auffallen.
1: Bearbeitungsprogramm
2: Programmanalyseabschnitt
3: Interpolationsabschnitt
8: Motor
9: Abtastzyklusberechnungsabschnitt
10: Unterbrechungssteuerabschnitt
14: Bewegungsbefehlsimpulsverteilungsabschnitt
15: Beschleunigungs/Verzögerungsabschnitt
16: Befehlsimpulsausgabeabschnitt
17: Antriebsabschnitt
2: Programmanalyseabschnitt
3: Interpolationsabschnitt
8: Motor
9: Abtastzyklusberechnungsabschnitt
10: Unterbrechungssteuerabschnitt
14: Bewegungsbefehlsimpulsverteilungsabschnitt
15: Beschleunigungs/Verzögerungsabschnitt
16: Befehlsimpulsausgabeabschnitt
17: Antriebsabschnitt
9: Abtastzyklusberechnungsabschnitt
10: Interpolationsabschnitt
16: Befehlsimpulsausgabeabschnitt
21: Zeitgeber
22: Zähler
24: Unterbrechungsroutine
10: Interpolationsabschnitt
16: Befehlsimpulsausgabeabschnitt
21: Zeitgeber
22: Zähler
24: Unterbrechungsroutine
NO: Nein
YES: Ja
S10: Abtastzyklus = normaler Abtastzyklus
S11: Eingabe der Bewegungsrate für einen Programmblock
S12: Bewegungsrate für Abtastrate berechnet
a) : Bewegungsrate für einen Abtastzyklus = befohlene Geschwindigkeit×Abtastzyklus
S13: Berechnung von Quotient und Rest
b) : Bewegungsrate für einen Programmblock- Bewegungsrate für einen Abtastzyklus = Quotient + Rest
S14: Ist ein Rest vorhanden ?
S15: Abtastzyklus = Abtastzyklus×(1 + Rest/Quotient)
S16: Bewegungsrate = Abtastzyklus×befohlene Geschwindigkeit
S17: Abtastzyklus und Geschwindigkeitsbefehlsimpuls ausgegeben
END: Ende
YES: Ja
S10: Abtastzyklus = normaler Abtastzyklus
S11: Eingabe der Bewegungsrate für einen Programmblock
S12: Bewegungsrate für Abtastrate berechnet
a) : Bewegungsrate für einen Abtastzyklus = befohlene Geschwindigkeit×Abtastzyklus
S13: Berechnung von Quotient und Rest
b) : Bewegungsrate für einen Programmblock- Bewegungsrate für einen Abtastzyklus = Quotient + Rest
S14: Ist ein Rest vorhanden ?
S15: Abtastzyklus = Abtastzyklus×(1 + Rest/Quotient)
S16: Bewegungsrate = Abtastzyklus×befohlene Geschwindigkeit
S17: Abtastzyklus und Geschwindigkeitsbefehlsimpuls ausgegeben
END: Ende
MIGRATION RANGE FOR A SAMPLING CYCLE:
Bewegungsbereich für einen Abtastzyklus
END POINT P2:
Endpunkt P2
START POINT P1:
Startpunkt P1
FRACTION:
Bruchteil
SPEED:
Geschwindigkeit
INSTRUCTED SPEED:
Befohlene Geschwindigkeit
TIME:
Zeit
SAMPLING CYCLE T1:
Abtastzyklus T1
NEW SAMPLING CYCLE T2:
Neuer Abtastzyklus T2
Bewegungsbereich für einen Abtastzyklus
END POINT P2:
Endpunkt P2
START POINT P1:
Startpunkt P1
FRACTION:
Bruchteil
SPEED:
Geschwindigkeit
INSTRUCTED SPEED:
Befohlene Geschwindigkeit
TIME:
Zeit
SAMPLING CYCLE T1:
Abtastzyklus T1
NEW SAMPLING CYCLE T2:
Neuer Abtastzyklus T2
LOCUS ACCORDING TO INSTRUCTION FOR MIGRATION:
Ortskurve entsprechend Bewegungsbefehl
SPEED:
Geschwindigkeit
FIRST BLOCK:
Erster Block
SECOND BLOCK:
Zweiter Block
INSTRUCTED SPEED:
Befohlene Geschwindigkeit
INSTRUCTION FOR VECTOR DIRECTION:
Befehl für Vektorrichtung
SAMPLING CYCLE T3:
Abtastzyklus T3
SAMPLING CYCLE T4:
Abtastzyklus T4
TIME:
Zeit
INSTRUCTION FOR Y-AXIAL:
Befehl für Y-Achse
INSTRUCTION FOR X-AXIAL:
Befehl für X-Achse
MIGRATION RANGE FOR A SAMPLING CYCLE:
Bewegungsbereich für einen Abtastzyklus
Ortskurve entsprechend Bewegungsbefehl
SPEED:
Geschwindigkeit
FIRST BLOCK:
Erster Block
SECOND BLOCK:
Zweiter Block
INSTRUCTED SPEED:
Befohlene Geschwindigkeit
INSTRUCTION FOR VECTOR DIRECTION:
Befehl für Vektorrichtung
SAMPLING CYCLE T3:
Abtastzyklus T3
SAMPLING CYCLE T4:
Abtastzyklus T4
TIME:
Zeit
INSTRUCTION FOR Y-AXIAL:
Befehl für Y-Achse
INSTRUCTION FOR X-AXIAL:
Befehl für X-Achse
MIGRATION RANGE FOR A SAMPLING CYCLE:
Bewegungsbereich für einen Abtastzyklus
S20: Abtastzyklus = normaler Abtastzyklus
S21: Momentan verbleibender Bereich = vorher verbleibender Bereich - Bewegungsbereich für Abtastzyklus
NO: Nein
YES: Ja
S22: Momentan verbleibender Bereich < Bewegungsbereich für einen Abtastbereich
S23: Momentaner Bewegungsbereich = Bewegungsbereich eines Abtastzyklus + momentan verbleibender Bereich
S24: Momentaner Abtastzyklus = momentaner Bewegungsbereich/befohlene Geschwindigkeit
S25: Verbleibender Bereich = 0
S26: Abtastzyklus und Geschwindigkeitsbefehlsimpuls ausgegeben
END: Ende
S21: Momentan verbleibender Bereich = vorher verbleibender Bereich - Bewegungsbereich für Abtastzyklus
NO: Nein
YES: Ja
S22: Momentan verbleibender Bereich < Bewegungsbereich für einen Abtastbereich
S23: Momentaner Bewegungsbereich = Bewegungsbereich eines Abtastzyklus + momentan verbleibender Bereich
S24: Momentaner Abtastzyklus = momentaner Bewegungsbereich/befohlene Geschwindigkeit
S25: Verbleibender Bereich = 0
S26: Abtastzyklus und Geschwindigkeitsbefehlsimpuls ausgegeben
END: Ende
END POINT OF FIRST BLOCK (START POINT OF SECOND BLOCK):
Endpunkt des ersten Blocks (Startpunkt des zweiten Blocks
MIGRATION RANGE FOR A SAMPLING CYCLE:
Bewegungsbereich für einen Abtastzyklus
START POINT OF FIRST BLOCK:
Startpunkt des ersten Blocks
END POINT OF SECOND BLOCK:
Endpunkt des zweiten Blocks
SPEED:
Geschwindigkeit
INSTRUCTED SPEED:
Befohlene Geschwindigkeit
TIME:
Zeit
NORMAL SAMPLING CYCLE T5:
Normaler Abtastzyklus T5
SAMPLING CYCLE T5′:
Abtastzyklus T5′
SAMPLING CYCLE T5′′:
Abtastzyklus T5′′
FIRST BLOCK:
Erster Block
SECOND BLOCK:
Zweiter Block
Endpunkt des ersten Blocks (Startpunkt des zweiten Blocks
MIGRATION RANGE FOR A SAMPLING CYCLE:
Bewegungsbereich für einen Abtastzyklus
START POINT OF FIRST BLOCK:
Startpunkt des ersten Blocks
END POINT OF SECOND BLOCK:
Endpunkt des zweiten Blocks
SPEED:
Geschwindigkeit
INSTRUCTED SPEED:
Befohlene Geschwindigkeit
TIME:
Zeit
NORMAL SAMPLING CYCLE T5:
Normaler Abtastzyklus T5
SAMPLING CYCLE T5′:
Abtastzyklus T5′
SAMPLING CYCLE T5′′:
Abtastzyklus T5′′
FIRST BLOCK:
Erster Block
SECOND BLOCK:
Zweiter Block
S50: Abtastzyklus = normaler Abtastzyklus
NO: Nein
YES: Ja
S51: Befohlene Geschwindigkeit des Blocks = momentane Geschwindigkeit ?
S52: Abtastzyklus = Abtastzyklus/n
END: Ende
NO: Nein
YES: Ja
S51: Befohlene Geschwindigkeit des Blocks = momentane Geschwindigkeit ?
S52: Abtastzyklus = Abtastzyklus/n
END: Ende
SPEED:
Geschwindigkeit
TIME:
Zeit
PROGRAM INSTRUCTION:
Programmbefehl
ACCELERATION/DECELERATION PATTERN:
Beschleunigungs/Verzögerungsmuster
ACTURAL PULSE OUTPUTTED:
Tatsächlich aus gegebener Impuls
SAMPLING CYCLE In ACCELERATION OR DECELERATION T6′:
Abtastzyklus bei Beschleunigung oder Verzögerung T6′
NORMAL SAMPLING CYCLE T6:
Normaler Abtastzyklus T6
Geschwindigkeit
TIME:
Zeit
PROGRAM INSTRUCTION:
Programmbefehl
ACCELERATION/DECELERATION PATTERN:
Beschleunigungs/Verzögerungsmuster
ACTURAL PULSE OUTPUTTED:
Tatsächlich aus gegebener Impuls
SAMPLING CYCLE In ACCELERATION OR DECELERATION T6′:
Abtastzyklus bei Beschleunigung oder Verzögerung T6′
NORMAL SAMPLING CYCLE T6:
Normaler Abtastzyklus T6
S60: Abtastzyklus = normaler Abtastzyklus
NO: Nein
YES: Ja
S61: Befohlene Geschwindigkeit des Blocks = momentane Geschwindigkeit ?
S62: Abtastzyklus = Abtastzyklus/n
END: Ende
NO: Nein
YES: Ja
S61: Befohlene Geschwindigkeit des Blocks = momentane Geschwindigkeit ?
S62: Abtastzyklus = Abtastzyklus/n
END: Ende
S70: Abtastzyklus = normaler Abtastzyklus
YES: Ja
No: Nein
S71: Befehl für Bewegung ausgegeben ?
S72: Abtastzyklus = unendlich
END: Ende
YES: Ja
No: Nein
S71: Befehl für Bewegung ausgegeben ?
S72: Abtastzyklus = unendlich
END: Ende
TIMING FOR TRANSMISSION FROM ORDINARY NC TO SERVO:
Zeitpunkt für Übertragung von normaler Numeriksteuerung an Servo
TRANSMISSION FROM NC TO SERVO:
Übertragung von Numeriksteuerung an Servo
SEVERAL MILLIMETERS:
Einige Millimeter
CASE WHERE INSTRUCTION CYCLE . . . IN NC OMITTED:
Fall, in welchem Befehlszyklus an Servo sehr lang ausgebildet ist, und Bearbeitung für Übertragung in Numeriksteuerung weggelassen ist
(STAND-BY-STATE):
(Bereitschaftszustand)
TIME OUT PERIOD T:
Zeitablauf-Zeitraum T
Zeitpunkt für Übertragung von normaler Numeriksteuerung an Servo
TRANSMISSION FROM NC TO SERVO:
Übertragung von Numeriksteuerung an Servo
SEVERAL MILLIMETERS:
Einige Millimeter
CASE WHERE INSTRUCTION CYCLE . . . IN NC OMITTED:
Fall, in welchem Befehlszyklus an Servo sehr lang ausgebildet ist, und Bearbeitung für Übertragung in Numeriksteuerung weggelassen ist
(STAND-BY-STATE):
(Bereitschaftszustand)
TIME OUT PERIOD T:
Zeitablauf-Zeitraum T
TRANSMISSION FROM NC TO SERVO:
Übertragung von Numeriksteuerung an Servo
(STAND-BY STATE):
(Bereitschaftszustand)
(TIME OUT PERIOD CONTINUED):
(Zeitablauf-Zeitraum fortgesetzt)
TIME OUT PERIOD T:
Zeitablauf-Zeitraum T
Übertragung von Numeriksteuerung an Servo
(STAND-BY STATE):
(Bereitschaftszustand)
(TIME OUT PERIOD CONTINUED):
(Zeitablauf-Zeitraum fortgesetzt)
TIME OUT PERIOD T:
Zeitablauf-Zeitraum T
CASE OF INSTRUCITON FOR OVERRIDE (HIGH-SPEED):
Fall eines Befehls für Freilauf (hohe Geschwindigkeit)
ACTUAL INSTRUCTION:
Tatsächlicher Befehl
CASE OF NO OVERRIDE:
Fall ohne Freilauf
SPEED:
Geschwindigkeit
OVERRIDE:
Freilauf
TIME:
Zeit
Fall eines Befehls für Freilauf (hohe Geschwindigkeit)
ACTUAL INSTRUCTION:
Tatsächlicher Befehl
CASE OF NO OVERRIDE:
Fall ohne Freilauf
SPEED:
Geschwindigkeit
OVERRIDE:
Freilauf
TIME:
Zeit
CASE OF INSTRUCTION FOR OVERRIDE (LOW-SPEED):
Fall eines Befehls für Freilauf (niedrige Geschwindigkeit)
ACTUAL INSTRUCITON:
Tatsächlicher Befehl
CASE OF NO OVERRIDE:
Fall ohne Freilauf
SPEED:
Geschwindigkeit
OVERRIDE:
Freilauf
TIME:
Zeit
Fall eines Befehls für Freilauf (niedrige Geschwindigkeit)
ACTUAL INSTRUCITON:
Tatsächlicher Befehl
CASE OF NO OVERRIDE:
Fall ohne Freilauf
SPEED:
Geschwindigkeit
OVERRIDE:
Freilauf
TIME:
Zeit
1: Bearbeitungsprogramm
2: Programmanalyseabschnitt
3: Interpolationsabschnitt
4: Bewegungsbefehlsimpulsverteilungsabschnitt
5: Beschleunigungs/Verzögerungsabschnitt
6: Befehlsimpulsausgabeabschnitt
7: Antriebsabschnitt
8: Motor
2: Programmanalyseabschnitt
3: Interpolationsabschnitt
4: Bewegungsbefehlsimpulsverteilungsabschnitt
5: Beschleunigungs/Verzögerungsabschnitt
6: Befehlsimpulsausgabeabschnitt
7: Antriebsabschnitt
8: Motor
INSTRUCTED SPEED:
Befohlene Geschwindigkeit
START POINT P101:
Startpunkt P101
END POINT P102:
Endpunkt P102
SPEED:
Geschwindigkeit
INSTRUCTED SPEED:
Befohlene Geschwindigkeit
TIME:
Zeit
SAMPLING CYCLE T101:
Abtastzyklus T101
Befohlene Geschwindigkeit
START POINT P101:
Startpunkt P101
END POINT P102:
Endpunkt P102
SPEED:
Geschwindigkeit
INSTRUCTED SPEED:
Befohlene Geschwindigkeit
TIME:
Zeit
SAMPLING CYCLE T101:
Abtastzyklus T101
MIGRATION RANGE FOR A SAMPLING CYCLE:
Bewegungsbereich für einen Abtastzyklus
END POINT:
Endpunkt
START POINT:
Startpunkt
FRACTION:
Bruchteil
SPEED:
Geschwindigkeit
INSTRUCTED SPEED:
Befohlene Geschwindigkeit
TIME:
Zeit
SAMPLING CYCLE:
Abtastzyklus
Bewegungsbereich für einen Abtastzyklus
END POINT:
Endpunkt
START POINT:
Startpunkt
FRACTION:
Bruchteil
SPEED:
Geschwindigkeit
INSTRUCTED SPEED:
Befohlene Geschwindigkeit
TIME:
Zeit
SAMPLING CYCLE:
Abtastzyklus
SPEED:
Geschwindigkeit
FIRST BLOCK:
Erster Block
SECOND BLOCK:
Zweiter Block
INSTRUCTED SPEED:
Befohlene Geschwindigkeit
TIME:
Zeit
SAMPLING CYCLE:
Abtastzyklus
Geschwindigkeit
FIRST BLOCK:
Erster Block
SECOND BLOCK:
Zweiter Block
INSTRUCTED SPEED:
Befohlene Geschwindigkeit
TIME:
Zeit
SAMPLING CYCLE:
Abtastzyklus
MIGRATION RANGE FOR A SAMPLING CYCLE:
Bewegungsbereich für einen Abtastzyklus
END POINT:
Endpunkt
START POINT:
Startpunkt
SPEED:
Geschwindigkeit
INSTRUCTED SPEED:
Befohlene Geschwindigkeit
TIME:
Zeit
ACTUAL SPEED:
Tatsächliche Geschwindigkeit
SAMPLING CYCLE:
Abtastzyklus
Bewegungsbereich für einen Abtastzyklus
END POINT:
Endpunkt
START POINT:
Startpunkt
SPEED:
Geschwindigkeit
INSTRUCTED SPEED:
Befohlene Geschwindigkeit
TIME:
Zeit
ACTUAL SPEED:
Tatsächliche Geschwindigkeit
SAMPLING CYCLE:
Abtastzyklus
SPEED:
Geschwindigkeit
FIRST BLOCK:
Erster Block
SECOND BLOCK:
Zweiter Block
INSTRUCTION FOR VECTOR DIRECTION:
Befehl für Vektorrichtung
INSTRUCTED SPEED:
Befohlene Geschwindigkeit
SAMPLING CYCLE:
Abtastzyklus
FRACTION:
Bruchteil
TIME:
Zeit
INSTRUCTION FOR Y-AXIAL:
Befehl für Y-Achse
INSTRUCTION FOR X-AXIAL:
Befehl für X-Achse
Geschwindigkeit
FIRST BLOCK:
Erster Block
SECOND BLOCK:
Zweiter Block
INSTRUCTION FOR VECTOR DIRECTION:
Befehl für Vektorrichtung
INSTRUCTED SPEED:
Befohlene Geschwindigkeit
SAMPLING CYCLE:
Abtastzyklus
FRACTION:
Bruchteil
TIME:
Zeit
INSTRUCTION FOR Y-AXIAL:
Befehl für Y-Achse
INSTRUCTION FOR X-AXIAL:
Befehl für X-Achse
ACTUAL LOCUS:
Tatsächliche Ortskurve
INSTRUCTED LOCUS:
Befohlene Ortskurve
MIGRATION RANGE FOR A SAMPLING CYCLE:
Bewegungsbereich für einen Abtastzyklus
Tatsächliche Ortskurve
INSTRUCTED LOCUS:
Befohlene Ortskurve
MIGRATION RANGE FOR A SAMPLING CYCLE:
Bewegungsbereich für einen Abtastzyklus
SPEED:
Geschwindigkeit
FIRST BLOCK:
Erster Block
SECOND BLOCK:
Zweiter Block
THIRD BLOCK:
Dritter Block
INSTRUCTED SPEED:
Befohlene Geschwindigkeit
TIME:
Zeit
SAMPLING CYCLE:
Abtastzyklus
Geschwindigkeit
FIRST BLOCK:
Erster Block
SECOND BLOCK:
Zweiter Block
THIRD BLOCK:
Dritter Block
INSTRUCTED SPEED:
Befohlene Geschwindigkeit
TIME:
Zeit
SAMPLING CYCLE:
Abtastzyklus
SPEED:
Geschwindigkeit
PROGRAM INSTSRUCTION:
Programmbefehl
ACCELERATION/DECELARATION PATTERN:
Beschleunigungs/Verzögerungsmuster
ACTUAL PULSE OUTPUTTED:
Tatsächlich aus gegebener Impuls
TIME:
Zeit
SAMPLING CYCLE:
Abtastzyklus
Geschwindigkeit
PROGRAM INSTSRUCTION:
Programmbefehl
ACCELERATION/DECELARATION PATTERN:
Beschleunigungs/Verzögerungsmuster
ACTUAL PULSE OUTPUTTED:
Tatsächlich aus gegebener Impuls
TIME:
Zeit
SAMPLING CYCLE:
Abtastzyklus
Claims (8)
1. Numerisches Steuerverfahren, mit folgenden Schritten:
Berechnen einer Bewegungsrate und einer Vorschubgeschwindigkeit in jeder Axialrichtung aus einer Bewegungsposition eines Werkzeugs und einer Vorschubgeschwindigkeit des Werkzeugs durch fortschreitende Analyse eines Werkstücksbearbeitungsprogramms durch einen Programmblock oder durch mehrere Programmblöcke;
Erzeugung eines Befehlsimpulses, der entsprechend einem festgelegten Abtastzyklus unterteilt wird, in Abhängigkeit von der berechneten Bewegungsrate und Vorschubgeschwindigkeit;
Steuern des Ausgabezeitpunktes des Befehlsimpulses an einen zu steuernden Gegenstand entsprechend dem Abtastzyklus; und
Ändern des Abtastzyklus auf solche Weise, daß in dem Befehlsimpuls kein Bruchteil erzeugt wird.
Berechnen einer Bewegungsrate und einer Vorschubgeschwindigkeit in jeder Axialrichtung aus einer Bewegungsposition eines Werkzeugs und einer Vorschubgeschwindigkeit des Werkzeugs durch fortschreitende Analyse eines Werkstücksbearbeitungsprogramms durch einen Programmblock oder durch mehrere Programmblöcke;
Erzeugung eines Befehlsimpulses, der entsprechend einem festgelegten Abtastzyklus unterteilt wird, in Abhängigkeit von der berechneten Bewegungsrate und Vorschubgeschwindigkeit;
Steuern des Ausgabezeitpunktes des Befehlsimpulses an einen zu steuernden Gegenstand entsprechend dem Abtastzyklus; und
Ändern des Abtastzyklus auf solche Weise, daß in dem Befehlsimpuls kein Bruchteil erzeugt wird.
2. Numerisches Steuerverfahren, mit folgenden Schritten:
Erhalten einer Bewegungsposition eines Werkzeugs und einer Vorschubgeschwindigkeit des Werkzeugs durch fortschreitende Analyse eines Werkstückbearbeitungsprogramms durch einen Programmblock oder durch mehrere Programmblöcke;
Berechnen einer Bewegungsrate und einer Vorschubgeschwindigkeit entsprechend der Bewegungsposition eines Werkzeugs und der Vorschubgeschwindigkeit des Werkzeugs;
Änderung eines Abtastzyklus auf solche Weise, daß ein Bruchteil eines Befehlsimpulses nicht in dem einen Programmblock oder in den mehreren Programmblöcken erzeugt wird;
Erzeugung eines Befehlsimpulses, der gleichmäßig durch den Abtastzyklus unterteilt ist, in dem dritten Schritt, entsprechend der Bewegungsrate und der Vorschubgeschwindigkeit, die in dem zweiten Schritt berechnet wurden; und
Steuern des Ausgabezeitpunktes des Befehlsimpulses, der in dem vierten Schritt erzeugt wurde, an einen zu steuernden Gegenstand entsprechend dem Abtastzyklus.
Erhalten einer Bewegungsposition eines Werkzeugs und einer Vorschubgeschwindigkeit des Werkzeugs durch fortschreitende Analyse eines Werkstückbearbeitungsprogramms durch einen Programmblock oder durch mehrere Programmblöcke;
Berechnen einer Bewegungsrate und einer Vorschubgeschwindigkeit entsprechend der Bewegungsposition eines Werkzeugs und der Vorschubgeschwindigkeit des Werkzeugs;
Änderung eines Abtastzyklus auf solche Weise, daß ein Bruchteil eines Befehlsimpulses nicht in dem einen Programmblock oder in den mehreren Programmblöcken erzeugt wird;
Erzeugung eines Befehlsimpulses, der gleichmäßig durch den Abtastzyklus unterteilt ist, in dem dritten Schritt, entsprechend der Bewegungsrate und der Vorschubgeschwindigkeit, die in dem zweiten Schritt berechnet wurden; und
Steuern des Ausgabezeitpunktes des Befehlsimpulses, der in dem vierten Schritt erzeugt wurde, an einen zu steuernden Gegenstand entsprechend dem Abtastzyklus.
3. Numerische Steuervorrichtung, welche aufweist:
eine Analysevorrichtung zum Erhalten einer Bewegungsposition eines Werkzeugs und einer Vorschubgeschwindigkeit des Werkzeugs durch fortschreitende Analyse eines Werkstückbearbeitungsprogramms durch einen Programmblock oder durch mehrere Programmblöcke;
eine Interpolationsvorrichtung zur Berechnung einer Bewegungsrate und einer Vorschubgeschwindigkeit entsprechend der Bewegungsposition eines Werkzeugs und der Vorschubgeschwindigkeit des Werkzeugs;
eine Abtastzyklusberechnungsvorrichtung zur Änderung eines Abtastzyklus auf solche Weise, daß ein Bruchteil eines Befehlsimpulses nicht in dem einen Programmblock oder in den mehreren Programmblöcken erzeugt wird;
eine Befehlsimpulserzeugungsvorrichtung zur Erzeugung eines Befehlsimpulses, der gleichmäßig durch einen Abtastzyklus unterteilt ist, der durch die Abtastzyklusberechnungsvorrichtung entsprechend der Bewegungsrate und der Vorschubgeschwindigkeit geändert wird, die von der Interpolationsvorrichtung berechnet werden; und
eine Abtaststeuervorrichtung zum Steuern des Ausgabezeitpunktes eines Befehlsimpulses, der von der Befehlsimpulserzeugungsvorrichtung erzeugt wird, an einen zu steuernden Gegenstand, entsprechend dem Abtastzyklus.
eine Analysevorrichtung zum Erhalten einer Bewegungsposition eines Werkzeugs und einer Vorschubgeschwindigkeit des Werkzeugs durch fortschreitende Analyse eines Werkstückbearbeitungsprogramms durch einen Programmblock oder durch mehrere Programmblöcke;
eine Interpolationsvorrichtung zur Berechnung einer Bewegungsrate und einer Vorschubgeschwindigkeit entsprechend der Bewegungsposition eines Werkzeugs und der Vorschubgeschwindigkeit des Werkzeugs;
eine Abtastzyklusberechnungsvorrichtung zur Änderung eines Abtastzyklus auf solche Weise, daß ein Bruchteil eines Befehlsimpulses nicht in dem einen Programmblock oder in den mehreren Programmblöcken erzeugt wird;
eine Befehlsimpulserzeugungsvorrichtung zur Erzeugung eines Befehlsimpulses, der gleichmäßig durch einen Abtastzyklus unterteilt ist, der durch die Abtastzyklusberechnungsvorrichtung entsprechend der Bewegungsrate und der Vorschubgeschwindigkeit geändert wird, die von der Interpolationsvorrichtung berechnet werden; und
eine Abtaststeuervorrichtung zum Steuern des Ausgabezeitpunktes eines Befehlsimpulses, der von der Befehlsimpulserzeugungsvorrichtung erzeugt wird, an einen zu steuernden Gegenstand, entsprechend dem Abtastzyklus.
4. Numerische Steuervorrichtung nach Anspruch 3,
dadurch gekennzeichnet, daß die
Abtastzyklusberechnungsvorrichtung den Abtastzyklus
angleicht.
5. Numerische Steuervorrichtung nach Anspruch 3,
dadurch gekennzeichnet, daß die
Abtastzyklusberechnungsvorrichtung einen Abtastzyklus
stärker ändert als den ursprünglichen Abtastzyklus, wenn
in einem endgültigen Abtastzyklus des einen
Programmblockes oder der mehreren Programmblöcke ein
Befehlsimpuls für den endgültigen Abtastzyklus einen
Bruchteil kleiner ist als der Befehlsimpuls in anderen
Abtastzyklen.
6. Numerische Steuervorrichtung nach Anspruch 3,
dadurch gekennzeichnet, daß die
Abtastzyklusberechnungsvorrichtung entsprechend der
Vorschubgeschwindigkeit, die von der
Interpolationsvorrichtung berechnet wird, bestimmt, ob die
momentane Betriebsart eine Beschleunigung oder Verzögerung
oder eine Bewegung mit konstanter Geschwindigkeit ist,
einen Abtastzyklus auf einen kürzeren Zeitraum als den
Zeitraum für eine Bewegung mit konstanter Geschwindigkeit
bei der Beschleunigung oder Verzögerung einstellt, und
auch einen Abtastzyklus auf einen längeren Zeitraum als
jenen für Beschleunigung oder Verzögerung bei der Bewegung
mit konstanter Geschwindigkeit einstellt.
7. Numerische Steuervorrichtung nach Anspruch 3,
dadurch gekennzeichnet, daß die
Abtastzyklusberechnungsvorrichtung bestimmt, ob ein Befehl
für eine Bewegung ausgegeben wurde oder nicht, eine
Abtastzeit auf einen längeren Zeitraum als einen
festgelegten Wert einstellt, wenn ein Befehl für eine
Bewegung nicht ausgegeben wurde, und die Vorrichtung in
den Bereitschaftszustand versetzt.
8. Numerische Steuervorrichtung nach Anspruch 3,
dadurch gekennzeichnet, daß die
Abtastzyklusberechnungsvorrichtung dann, wenn sie einen
Freilaufbefehl empfängt, den Abtastzyklus so ändert, daß
ein Bruchteil nicht in dem Befehlsimpuls erzeuge wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7094728A JPH08292809A (ja) | 1995-04-20 | 1995-04-20 | 数値制御方法および数値制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19614232A1 true DE19614232A1 (de) | 1996-10-24 |
Family
ID=14118182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19614232A Withdrawn DE19614232A1 (de) | 1995-04-20 | 1996-04-10 | Verfahren und Vorrichtung für die numerische Steuerung |
Country Status (4)
Country | Link |
---|---|
US (1) | US5723962A (de) |
JP (1) | JPH08292809A (de) |
DE (1) | DE19614232A1 (de) |
TW (1) | TW263578B (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10255037A1 (de) * | 2002-11-26 | 2004-06-09 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zum Bearbeiten eines Werkstücks |
WO2009080131A1 (de) * | 2007-12-20 | 2009-07-02 | Dr. Johannes Heidenhain Gmbh | Verfahren und vorrichtung zur signalabtastung |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0881034B1 (de) * | 1996-11-07 | 2009-01-07 | Kabushiki Kaisha Mori Seiki Seisakusho | Verfahren und vorrichtung zur analyse eines nc-programmes für nc-bearbeitung |
JPH11149306A (ja) * | 1997-11-14 | 1999-06-02 | Fanuc Ltd | 加工機の制御装置 |
FR2809242B1 (fr) * | 2000-05-18 | 2002-10-11 | Delphi Tech Inc | Systeme de detection de la position de fin de course d'une piece mobile par detection du courant de blocage |
JP3603051B2 (ja) * | 2001-06-22 | 2004-12-15 | 東芝機械株式会社 | 数値制御工作機械の送り速度・加速度制御方法および数値制御装置 |
US7904870B2 (en) * | 2008-04-30 | 2011-03-08 | International Business Machines Corporation | Method and apparatus for integrated circuit design model performance evaluation using basic block vector clustering and fly-by vector clustering |
JP2010170435A (ja) * | 2009-01-24 | 2010-08-05 | Tamagawa Seiki Co Ltd | モーション制御用指令システム、モーション制御用指令方法およびモーション制御システム |
JP2012135821A (ja) * | 2010-12-24 | 2012-07-19 | Seiko Epson Corp | ロボットシミュレーション装置、ロボットシミュレーション方法、及びロボットシミュレーションプログラム |
JP5778430B2 (ja) * | 2011-01-12 | 2015-09-16 | Dmg森精機株式会社 | 工作機械の制御装置 |
JPWO2019064919A1 (ja) * | 2017-09-26 | 2020-10-15 | 日本電産株式会社 | ロボット教示装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3854081A (en) * | 1973-05-14 | 1974-12-10 | Bendix Corp | Servo error signal generator for numerical control systems |
JPS5332476B2 (de) * | 1973-08-30 | 1978-09-08 | ||
US3825735A (en) * | 1973-11-12 | 1974-07-23 | Atomic Energy Commission | Command pulse generator for computer-controlled machining |
JPS54123673A (en) * | 1978-03-16 | 1979-09-26 | Fanuc Ltd | Positioning control system |
JPS60198606A (ja) * | 1984-03-21 | 1985-10-08 | Fanuc Ltd | 数値制御装置の加減速方式 |
JP2793804B2 (ja) * | 1987-02-23 | 1998-09-03 | 株式会社東芝 | パルス分配方法 |
JPS6479808A (en) * | 1987-09-21 | 1989-03-24 | Toshiba Machine Co Ltd | Method for controlling feeding speed |
JPH02121006A (ja) * | 1988-10-31 | 1990-05-08 | Fujitsu Ltd | ディジタルサーボ制御用関数発生装置 |
JPH04205114A (ja) * | 1990-11-30 | 1992-07-27 | Hitachi Seiko Ltd | 速度パターン生成方法 |
-
1995
- 1995-04-20 JP JP7094728A patent/JPH08292809A/ja active Pending
- 1995-05-25 TW TW084105269A patent/TW263578B/zh active
-
1996
- 1996-03-12 US US08/614,013 patent/US5723962A/en not_active Expired - Fee Related
- 1996-04-10 DE DE19614232A patent/DE19614232A1/de not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10255037A1 (de) * | 2002-11-26 | 2004-06-09 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zum Bearbeiten eines Werkstücks |
US7292910B2 (en) | 2002-11-26 | 2007-11-06 | Kuka Roboter Gmbh | Method and device for machining a workpiece |
WO2009080131A1 (de) * | 2007-12-20 | 2009-07-02 | Dr. Johannes Heidenhain Gmbh | Verfahren und vorrichtung zur signalabtastung |
Also Published As
Publication number | Publication date |
---|---|
TW263578B (en) | 1995-11-21 |
JPH08292809A (ja) | 1996-11-05 |
US5723962A (en) | 1998-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60302920T2 (de) | Numerische Steuerung | |
DE69229309T2 (de) | Verfahren und Vorrichtung zur Überwachung des Vorschubes in numerisch gesteuerten Systemen | |
DE102018000369B4 (de) | Numerische steuerung | |
DE3750020T2 (de) | Numerische Vorschubeinrichtung für eine Werkzeugmaschine. | |
DE102005015810A1 (de) | Bearbeitungszeit-Berechnungsvorrichtung | |
DE3545795A1 (de) | Verfahren und vorrichtung fuer die numerische steuerung mit geschwindigkeitsdifferenz-verminderung | |
DE112019007578T5 (de) | Numerische Steuerung, numerisches Steuerverfahren und Maschinenlernvorrichtung | |
DE3851387T2 (de) | Geschwindigkeitsregelvorrichtung in einem servolenksystem. | |
DE2138815A1 (de) | Numerische Werkzeugmaschinensteue rung | |
DE69910119T2 (de) | Steuerungseinheit für Maschine | |
DE19614232A1 (de) | Verfahren und Vorrichtung für die numerische Steuerung | |
DE4011591A1 (de) | Apparat zur numerischen steuerung einer werkzeugmaschine mit einer lernfunktion und verfahren zum lernen eines bearbeitungsprogramms fuer den apparat | |
DE19532146A1 (de) | NC-Verfahren und zugehörige Vorrichtung | |
DE102020003527A1 (de) | Numerische Steuervorrichtung | |
EP0543034B1 (de) | Verfahren zum Betrieb einer numerisch gesteuerten Werkzeugmaschine und Werkzeugmaschine zur Ausübung des Verfahrens | |
DE102015004930B4 (de) | Numerische Steuervorrichtung für Maschinenwerkzeug | |
DE4005042A1 (de) | Architektur eines digitalen bewegungssteuerungselements hoher geschwindigkeit | |
DE2103049C3 (de) | Vorrichtung eines numerisch gesteuerten Folgesystems | |
DE4335830A1 (de) | Drahtschneidemaschine mit elektrischer Entladung und zugehöriges Verfahren | |
EP3955073A1 (de) | Betreiben einer wenigstens zweiachsigen werkzeugmaschine | |
EP3438773A1 (de) | Bearbeitung von werkstücken mit modellgestützter fehlerkompensation | |
DE602004000384T2 (de) | Numerische Steuereung | |
DE3902460C2 (de) | ||
DE102019007392A1 (de) | Numerisches Steuersystem | |
DE19600882C1 (de) | Verfahren zur dezentralen Steuerung eines Motorantriebs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8139 | Disposal/non-payment of the annual fee |