JP2000284817A - Numerical controller to simultaneously control two movable objects no common track - Google Patents

Numerical controller to simultaneously control two movable objects no common track

Info

Publication number
JP2000284817A
JP2000284817A JP11093986A JP9398699A JP2000284817A JP 2000284817 A JP2000284817 A JP 2000284817A JP 11093986 A JP11093986 A JP 11093986A JP 9398699 A JP9398699 A JP 9398699A JP 2000284817 A JP2000284817 A JP 2000284817A
Authority
JP
Japan
Prior art keywords
movable body
movement
movable
range
deceleration
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.)
Pending
Application number
JP11093986A
Other languages
Japanese (ja)
Inventor
Takayuki Hotta
尊之 堀田
Hisahiro Yonezu
寿宏 米津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyoda Koki KK
Original Assignee
Toyoda Koki KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyoda Koki KK filed Critical Toyoda Koki KK
Priority to JP11093986A priority Critical patent/JP2000284817A/en
Publication of JP2000284817A publication Critical patent/JP2000284817A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To decelerate and stop two movable objects moved on a common track so as not to cause interference between them and not to affect the work of the opposite party. SOLUTION: A numerical controller fetches a reference correction coefficient A, a tool correction coefficient B and a precision correction coefficient C from an NC(numerical control) program and a memory (steps 61 to 64) to calculate a tool correction coefficient K (a step 65). The magnitude of the resultant coefficient K is compared with minimum and the maximum correction coefficients stored in the memory (steps 66, 68), the final correction coefficient K is set (steps 67, 69) and the degree of deceleration in the case of interference is calculated (a step 71) by this numerical controller.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、共通の移動経路に
沿って互いに接近離間する方向に移動可能な2つの可動
体を個別の数値制御プログラムに従ってそれぞれ送り制
御する数値制御装置に関する。好適には、本発明は、回
転又は固定の工具を個々に装架した2つの工具台を共通
のワークに対して共通の移動経路上で別々の数値制御プ
ログラムに従って独立して位置制御でき、これによりワ
ークに対して異なる加工個所を同時に又は個別に能率良
く加工できるようにした数値制御装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a numerical control device for feeding and controlling two movable bodies movable in directions approaching and separating from each other along a common moving path in accordance with individual numerical control programs. Preferably, the present invention is capable of independently controlling the position of two tool stands individually mounted with rotating or fixed tools on a common moving path with respect to a common workpiece according to separate numerical control programs. The present invention relates to a numerical control device capable of efficiently processing different processing locations on a workpiece simultaneously or individually.

【0002】[0002]

【従来技術】一般に、加工テーブル上の工作物の複数の
加工個所を共通の移動経路に沿って個別に数値制御され
る2つの工具台により加工する場合、2つの工具台が接
近できる位置での同時加工は問題ないが、2つの工具台
がそれ以上接近できない加工個所を加工する場合工具台
同士が物理的に衝突する事態が生じる。この衝突は、工
具台の干渉として一般に呼ばれ、このような干渉は、各
工具台の移動経路を規定する数値制御プログラム(以
下、NCプログラムと云う)を他の工具台の計画される
移動経路を考慮して作成することにより回避される。
2. Description of the Related Art In general, when a plurality of machining points of a workpiece on a machining table are machined by two tool tables individually numerically controlled along a common movement path, the two tool stands are at positions where the two tool stands can approach each other. Simultaneous machining is not a problem, but when machining a machining location where two tool stands cannot be approached any more, a situation occurs where the tool stands physically collide with each other. This collision is generally referred to as interference of a tool table, and such interference is performed by using a numerical control program (hereinafter, referred to as an NC program) that defines a movement path of each tool table as a planned movement path of another tool table. This can be avoided by taking into account the above.

【0003】このようにNCプログラムを干渉が生じな
いように作成するNCプログラム上での干渉回避策で
は、NCプログラムのステップ数(データブロック数)
が大きい複雑な加工の場合では、NCプログラムの作成
者に大きな負担を強いることになる。このため、上記し
た工具台の干渉を回避する目的で、従来における一対の
工具台付工作機械を制御する数値制御装置(以下、NC
装置と云う)には、図15に示す制御機能(従来技術
1)又は図16に示す制御機能(従来技術2)が付加さ
れる。
[0003] In the interference avoidance measure on the NC program which creates the NC program so as not to cause interference, the number of steps (number of data blocks) of the NC program is used.
In the case of complicated machining with a large size, a large burden is imposed on the creator of the NC program. For this reason, in order to avoid the above-mentioned interference of the tool table, a conventional numerical controller (hereinafter, NC) for controlling a pair of machine tools with a tool table.
The control function shown in FIG. 15 (Prior Art 1) or the control function shown in FIG. 16 (Prior Art 2) is added to the apparatus.

【0004】なお、図15及び図16は、横方向に離間
した一対の工具台がそれぞれの送り原点から共通の移動
経路(例えば、X軸)に沿って互いに接近する方向に前
進され、その前進位置で加工を終えた後再びそれぞれの
送り原点へ復帰する移動の経過を縦方向の時間軸に関連
して表現した位置−時間チャートである。図15に示す
従来技術1によれば、第1工具台TH1と第2工具台T
H2を起動する起動指令が略同時期に相前後して与えら
れて、先に第1工具台TH1が例えばX軸に沿って第2
工具台TH2側に前進した場合、第2工具台TH2は起
動指令が既に与えられていても送り原点に待機されたま
まとされる。第2工具台TH2の第1工具台TH1側に
向う前進送りは、第1工具台TH1が加工位置Pa1で
の加工動作を終えて送り原点に復帰する時開始される。
FIGS. 15 and 16 show that a pair of tool stands laterally separated from each other are advanced from their respective feed origins in a direction approaching each other along a common movement path (for example, X-axis). 6 is a position-time chart expressing the progress of the movement to return to the respective feed origins after finishing the processing at the position in relation to the vertical time axis. According to the prior art 1 shown in FIG. 15, the first tool table TH1 and the second tool table T
A start command for starting H2 is given before and after about the same time, and the first tool stand TH1 is first moved along the X-axis, for example, to the second position.
In the case where the second tool table TH2 is advanced to the tool table TH2 side, the second tool table TH2 is kept waiting at the feed origin even if a start command is already given. The forward feed of the second tool base TH2 toward the first tool base TH1 is started when the first tool base TH1 completes the machining operation at the machining position Pa1 and returns to the feed origin.

【0005】図16に示す従来技術2によれば、両工具
台TH1,TH2の移動位置が常時監視される。両工具
台を起動する起動指令が略同時期に相前後して与えら
れ、これにより第1工具台TH1が先に送り原点を離
れ、この後第2工具台TH2が送り原点を離れたと仮定
する。この場合、送り距離の短い第1工具台TH1は先
に加工位置Pa1に到達し、この時点では加工位置Pb
1が加工位置Pa1よりも第1工具台TH1の送り原点
側にある送り距離の長い第2工具台TH2は未だ前進を
継続しており、加工位置Pa1に位置決めされた第1工
具台TH1に対し所定の距離まで接近すると減速されて
第1工具台TH1に対し所定の干渉回避限界位置で一時
停止される。そして、第1工具台TH1が送り原点に向
かって後退し,両工具台が前記所定間隔以上離れる時、
第2工具台TH2は加工位置Pb1に向かって移動を再
開する。
According to the prior art 2 shown in FIG. 16, the moving positions of the tool tables TH1 and TH2 are constantly monitored. It is assumed that start commands for activating both tool stands are given before and after about the same time, whereby the first tool stand TH1 first leaves the feed origin, and thereafter the second tool stand TH2 leaves the feed origin. . In this case, the first tool table TH1 having a short feed distance reaches the machining position Pa1 first, and at this time, the machining position Pb
The second tool table TH2 whose feed distance is longer than the processing position Pa1 on the side of the feed origin of the first tool table TH1 continues to advance, and the first tool table TH1 positioned at the processing position Pa1 is still moving forward. When approaching a predetermined distance, the speed is reduced and the first tool stand TH1 is temporarily stopped at a predetermined interference avoidance limit position. Then, when the first tool table TH1 is retracted toward the feed origin and both tool tables are separated by the predetermined interval or more,
The second tool rest TH2 restarts moving toward the machining position Pb1.

【0006】[0006]

【発明が解決しようとする課題】上述した第1従来技術
は、両工具台はそれらを起動する指令が略同時に与えら
れる場合でも、後から起動される他方の工具台TH2は
送り原点に待機されたままとなっているので、加工能率
が低いと云う欠点を有する。これに対して、第2従来技
術は、両工具台をそれぞれの加工点に移動させる割出動
作が一部平行して実行されるので、加工能率の点で第1
従来技術より優れている。
According to the first prior art described above, even when commands for activating both tool stands are given at substantially the same time, the other tool stand TH2 which is activated later waits at the feed origin. Since it remains as it is, there is a disadvantage that the processing efficiency is low. On the other hand, in the second prior art, the indexing operation of moving both tool stands to the respective processing points is performed partially in parallel.
Superior to prior art.

【0007】しかしながら、図16において、第1工具
台TH1が加工位置Pa1での加工動作の後に一時停止
して待機中の第2工具台TH2側にある2番目の加工位
置Pa2へ位置決めされるようにNCプログラムで指定
される場合、両工具台位置を監視する機能が働いて両工
具台はその後移動不可能となる。このような事態を避け
るためには、両工具台の動作を規定するそれぞれのNC
プログラムが互いに他のプログラムを考慮して注意深く
作成されなければならず、プログラム作成が面倒とな
る。
However, in FIG. 16, the first tool rest TH1 is temporarily stopped after the machining operation at the machining position Pa1, and is positioned at the second machining position Pa2 on the side of the waiting second tool rest TH2. , The function of monitoring the positions of both tool tables works, and both tool tables cannot be moved thereafter. In order to avoid such a situation, it is necessary to set the NC
The programs must be carefully created in consideration of each other, making the program creation cumbersome.

【0008】また、図16において、送り距離の長い第
2工具台TH2は、加工位置Pa1に位置決めされた第
1工具台TH1に対し所定の距離まで接近すると減速さ
れて第1工具台TH1に対し所定の干渉回避限界位置で
一時停止されるようになっているが、第2工具台TH2
は第1工具台TH1にかなり接近した位置で停止される
ため、減速時の衝撃により第1工具台TH1の加工精度
が悪化したり、小径の工具で加工している場合には工具
の破損が発生する場合がある。
In FIG. 16, the second tool table TH2 having a long feed distance is decelerated when approaching the first tool table TH1 positioned at the machining position Pa1 to a predetermined distance, and the second tool table TH2 is moved with respect to the first tool table TH1. Although it is temporarily stopped at a predetermined interference avoidance limit position, the second tool table TH2
Is stopped at a position very close to the first tool base TH1, the processing accuracy of the first tool base TH1 is deteriorated due to an impact at the time of deceleration, or the tool is damaged when working with a small-diameter tool. May occur.

【0009】従って、本発明の主たる目的は、共通の移
動経路に沿って互いに接近離間する方向に移動可能な2
つの可動体を個々の数値制御プログラムに従ってそれぞ
れ送り制御する数値制御装置において、上述した従来技
術の欠点を解消することにある。
Accordingly, a main object of the present invention is to provide two movable units which can move toward and away from each other along a common moving path.
It is an object of the present invention to solve the above-mentioned disadvantages of the prior art in a numerical control device for controlling the feeding of two movable bodies in accordance with individual numerical control programs.

【0010】[0010]

【課題を解決するための手段及び発明の効果】上述した
従来技術に係わる課題及び本発明の目的は、下記の手段
により解決され達成される。本発明においては、請求項
1に記載されるように、一方の可動体の加工状況に応じ
て他方の可動体の減速度を変化させて他方の可動体を一
方の可動体と干渉しない位置に減速停止させるか、また
は前記一方の可動体の加工状況に応じて前記他方の可動
体の早送り速度を変化させる減速停止手段を設ける。
Means for Solving the Problems and Effects of the Invention The above-mentioned problems relating to the prior art and the object of the present invention are solved and achieved by the following means. In the present invention, as described in claim 1, the deceleration of the other movable body is changed according to the processing situation of the one movable body so that the other movable body is in a position that does not interfere with the one movable body. There is provided deceleration stop means for decelerating and stopping, or for changing the fast-forward speed of the other movable body in accordance with the processing state of the one movable body.

【0011】従って、請求項1の発明によれば、他方の
可動体は一方の可動体の加工状況に応じて減速停止時の
減速度が変化されるか、または減速度は同一でも位置決
め時の早送り速度が一方の可動体の加工状況に応じて変
化されるので、一方の可動体がどのような状況の加工を
行っている場合でも、他方の可動体の停止による衝撃が
一方の可動体に及ぼす影響が少なくなるので、加工精度
の悪化や工具破損を招く可能性が低くなる。
Therefore, according to the first aspect of the present invention, the deceleration at the time of deceleration and stoppage of the other movable body is changed according to the processing condition of one of the movable bodies, or the deceleration is the same even when the deceleration is the same. Since the rapid traverse speed is changed in accordance with the processing situation of one movable body, the impact of the stop of the other movable body is applied to one movable body even if one movable body is processing in any situation. Since the influence is reduced, the possibility of deteriorating processing accuracy and causing tool breakage is reduced.

【0012】また、本発明は、請求項2に記載されるよ
うに、一方の可動体が他方の可動体側に最も接近される
目標位置に基づいて移動範囲境界を設定する範囲設定手
段と、移動範囲境界により区画されるそれぞれの移動許
容範囲内で一方及び他方の可動体をそれぞれが対応する
数値制御プログラムに従って移動させる移動制御手段と
を設け、さらに、NCプログラムに従う他方の可動体の
移動が移動範囲境界を超えようとするときには一方の可
動体の加工状況に応じて他方の可動体の減速度を変化さ
せて他方の可動体を一方の可動体と干渉しない位置に減
速停止させるか、または前記一方の可動体の加工状況に
応じて前記他方の可動体の早送り速度を変化させるよう
に構成する。
Further, according to the present invention, a range setting means for setting a moving range boundary based on a target position at which one movable body comes closest to the other movable body side, Movement control means for moving one and the other movable body in accordance with a numerical control program corresponding to each of the movable bodies within each of the movement allowable ranges defined by the range boundary, and further comprising movement of the other movable body in accordance with the NC program When trying to exceed the range boundary, the deceleration of the other movable body is changed according to the processing situation of one movable body, and the other movable body is decelerated and stopped at a position that does not interfere with one movable body, or The rapid traverse speed of the other movable body is changed according to the processing state of one movable body.

【0013】これにより、請求項2の発明によれば、N
Cプログラムの作成時に両可動体の干渉を考慮する必要
がないので、NCプログラムの作成が容易になると共
に、NCプログラムから移動範囲境界が設定されるの
で、両可動体の加工動作を規定するNCプログラムがど
のようなものでも、容易に両可動体の干渉を防止するこ
とができる。
Thus, according to the second aspect of the present invention, N
Since it is not necessary to consider the interference between the two movable bodies when creating the C program, it is easy to create the NC program, and the moving range boundary is set from the NC program. Whatever the program, interference between the two movable bodies can be easily prevented.

【0014】そしてまた、本発明は、請求項3に記載さ
れるように、一方の可動体が他方の可動体側に最も接近
される目標位置に基づいて移動範囲境界を設定する範囲
設定手段を設け、また、一方の可動体が移動範囲境界内
で他方の可動体側に最も接近する目標位置に到達した後
に逆方向である離間方向に移動するときは両可動体の移
動許容範囲をそれぞれ縮小及び拡大するように移動範囲
境界を変更する境界変更手段を設け、さらに、NCプロ
グラムに従う他方の可動体の移動が移動範囲境界を超え
ようとするときには一方の可動体の加工状況に応じて他
方の可動体の減速度を変化させて他方の可動体を一方の
可動体と干渉しない位置に減速停止させるか、または前
記一方の可動体の加工状況に応じて前記他方の可動体の
早送り速度を変化させると共に通常の減速度にて減速停
止させ、その後に移動範囲境界が変更されて他方の可動
体の移動許容範囲が拡大されるまで他方の可動体を一時
停止するように構成する。
According to a third aspect of the present invention, there is provided a range setting means for setting a moving range boundary based on a target position at which one movable body comes closest to the other movable body. Also, when one movable body moves in the opposite direction, that is, the opposite direction after reaching the target position closest to the other movable body side within the boundary of the movement range, the movable allowable range of both movable bodies is reduced and enlarged, respectively. Boundary changing means for changing the boundary of the movement range so that the movement of the other movable body in accordance with the NC program exceeds the boundary of the movement range. The deceleration of the other movable body to decelerate and stop at a position where it does not interfere with the one movable body, or change the fast-forward speed of the other movable body according to the processing situation of the one movable body Deceleration is stopped in a normal deceleration causes, configured to suspend the other movable body to be subsequently changed movement range boundaries is permissible movable range of the other of the movable body is expanded.

【0015】このような構成を採ることにより、請求項
3の発明によれば、一方の可動体は他方の可動体よりも
優先的にそのNCプログラムに従って移動制御されるの
で、一方の可動体の移動制御が他方の可動体の移動制御
に制約されず、そのNCプログラムに計画された作業を
高能率に遂行できる。また、他方の可動体は、一方の可
動体の移動許容範囲が縮小されるに連れて自己の移動許
容範囲が拡大され、一方の可動体の移動制御の進行に従
属して自己の移動制御を徐々に進行させることができ
る。
By adopting such a configuration, according to the third aspect of the present invention, one of the movable bodies is controlled to move in accordance with the NC program preferentially over the other movable body. The movement control is not restricted by the movement control of the other movable body, and the work planned in the NC program can be efficiently performed. In addition, the other movable body has its own movable allowable range expanded as the movable allowable range of one movable body is reduced, and its own movable control is controlled in accordance with the progress of the movable control of the one movable body. Let it progress slowly.

【0016】特に、一方の可動体の移動許容範囲をその
NCプログラムによって決まる最大の移動許容範囲とし
て最初に設定し、その後は縮小するようにしたので、一
方の可動体が段階的にその移動許容範囲の境界に接近す
る場合でも他方の可動体との干渉が回避され、両可動体
が共にそれ以上相手側に前進できない立ち往生となる事
態が発生しない効果を奏する。
In particular, the movable range of one of the movable bodies is initially set as the maximum movable range determined by the NC program, and thereafter, the movable range is reduced. Even when approaching the boundary of the range, interference with the other movable body is avoided, so that there is no effect that both movable bodies will not be able to move forward to the other side and will not be stuck.

【0017】そしてまた、本発明は、請求項4に記載さ
れるように、一方の可動体の加工状況は、工具種類、工
具径及び要求加工精度の少なくとも1つを含む情報から
判断される。これにより、請求項4の発明によれば、少
ない情報で容易に一方の可動体の加工状況を把握し、一
方の可動体の現在の加工状況に最適な早送り速度に変化
させることができ、また一方の可動体の現在の加工状況
に最適な減速度にて他方の可動体を減速停止させること
ができる。
Further, according to the present invention, as described in claim 4, the machining state of one movable body is determined from information including at least one of a tool type, a tool diameter and a required machining accuracy. Thus, according to the fourth aspect of the present invention, it is possible to easily grasp the processing state of one movable body with a small amount of information, and to change the rapid traverse speed to the optimum one for the current processing state of the one movable body. The other movable body can be decelerated and stopped at a deceleration optimal for the current machining situation of one movable body.

【0018】上述した各発明において、好適には、先に
駆動される可動体を一方の可動体とし、後で駆動される
可動体を他方の可動体とすることが望ましい。駆動開始
についてのこの時間的前後関係は好ましくは各可動体が
送り原点を出発し再び送り原点に復帰する所謂1サイク
ル動作単位での前後関係を意味するが、複数サイクル単
位の動作を何れの可動体が先に動作するかという観点で
の時間関係としても把握できることは勿論のことであ
る。駆動開始の前後関係とは無関係に、実行すべき加工
個所の多少に基づいて一方の可動体及び他方の可動体を
決定するようにしても差し支えない。
In each of the above-mentioned inventions, it is preferable that the movable body driven first is one movable body and the movable body driven later is the other movable body. This temporal relationship with respect to the start of driving preferably means a so-called one-cycle operation unit in which each movable body departs from the feed origin and returns to the feed origin again. Needless to say, it can be grasped as a time relationship in terms of whether the body moves first. Regardless of the context of the start of driving, one movable body and the other movable body may be determined based on the number of processing locations to be executed.

【0019】[0019]

【実施の形態】以下、本発明の実施の形態を図面に基づ
いて説明する。図1及び図2は、本発明による数値制御
装置が制御対象とする1対の主軸ヘッド付き工作機械の
一部断面平面図及び正面図を示す。これら図において、
10は工作機械9のベッドであり、このベッド10の後
部に箱形コラム11が立設されている。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 and FIG. 2 show a partial cross-sectional plan view and a front view of a pair of machine tools with a spindle head to be controlled by a numerical controller according to the present invention. In these figures,
Reference numeral 10 denotes a bed of the machine tool 9, and a box-shaped column 11 is erected at the rear of the bed 10.

【0020】コラム11の上下のクロスビーム11aの
前面に平行に設けた一対の水平ガイドレール12に跨っ
てコの字状の第1サドル13及び第2サドル14が、そ
れぞれの上下端部で左右方向(X方向)に移動可能に案
内されている。これにより、第1サドル13及び第2サ
ドル14は、共通の移動経路(X軸ガイドレール12)
に沿って互いに接近・離間方向に移動可能である。な
お、第1及び第2サドル13,14のガイドレールを別
々に設けてもよい。
A first U-shaped saddle 13 and a second U-shaped saddle 14 straddle a pair of horizontal guide rails 12 provided in parallel with the front surface of the cross beam 11a on the upper and lower sides of the column 11, respectively. It is movably guided in the direction (X direction). Thus, the first saddle 13 and the second saddle 14 share a common movement path (X-axis guide rail 12).
Can move in the direction of approaching / separating from each other. The guide rails of the first and second saddles 13 and 14 may be provided separately.

【0021】コラム11の前面側でベッド10上には、
X軸サーボモータ18aにより回転されるボールねじ1
6がガイドレール12と並行な軸線回りに回転可能に軸
承され、このボールネジ16に螺合するナット17は第
1のサドル13に取付けられている。一方、コラム11
の上部クロスビーム11aの前面には、U軸サーボモー
タ18bにより回転されるボールねじ20がボールねじ
16と平行な軸線回りに回転可能に軸承され、このボー
ルねじ20は第2サドル14に取付けられたナット22
が螺合している。
On the bed 10 in front of the column 11,
Ball screw 1 rotated by X-axis servo motor 18a
6 is rotatably supported about an axis parallel to the guide rail 12, and a nut 17 screwed to the ball screw 16 is attached to the first saddle 13. On the other hand, column 11
On the front surface of the upper cross beam 11a, a ball screw 20 rotated by a U-axis servo motor 18b is rotatably supported around an axis parallel to the ball screw 16, and the ball screw 20 is attached to the second saddle 14. Nut 22
Is screwed.

【0022】第1サドル13と第2サドル14の左右方
向に対向する内側面には、それぞれ前後一対のガイドレ
ール23が上下方向(Y方向)に平行に延びるように固
定されている。これらガイドレール23に第1主軸ベー
ス24と第2主軸ベース25がそれぞれ対応する第1サ
ドル13と第2サドル14上で上下方向に移動可能に案
内されている。
A pair of front and rear guide rails 23 are fixed to the left and right inner surfaces of the first saddle 13 and the second saddle 14 so as to extend in the vertical direction (Y direction). The first spindle base 24 and the second spindle base 25 are guided by these guide rails 23 so as to be movable in the vertical direction on the corresponding first saddle 13 and second saddle 14, respectively.

【0023】第1サドル13と第2サドル14には、ボ
ールねじ27a,27bがガイドレール23と平行な軸
線回りに回転可能に軸承されている。これらボールねじ
27a,27bは、それらの上端でそれぞれY軸サーボ
モータ28a及びV軸サーボモータ28bに連結され、
これらモータにより回転される。ボールねじ27a,2
7bにはそれぞれ図略のナットが螺合し、これらナット
は第1主軸ベース24と第2主軸ベース25にそれぞれ
取付けられている。第1主軸ベース24と第2主軸ベー
ス25の左右方向に対向する内側面には、それぞれ上下
に離間した一対のガイドレール30が平行に前後方向
(Z方向)に延びるように固定されている。
Ball screws 27 a and 27 b are rotatably mounted on the first saddle 13 and the second saddle 14 so as to be rotatable about an axis parallel to the guide rail 23. These ball screws 27a and 27b are connected at their upper ends to a Y-axis servomotor 28a and a V-axis servomotor 28b, respectively.
It is rotated by these motors. Ball screw 27a, 2
Nuts (not shown) are screwed into 7b, respectively, and these nuts are attached to the first spindle base 24 and the second spindle base 25, respectively. A pair of guide rails 30 that are vertically separated from each other are fixed to inner surfaces of the first spindle base 24 and the second spindle base 25 that face each other in the left-right direction so as to extend in the front-rear direction (Z direction) in parallel.

【0024】それぞれの対のガイドレール30には、そ
れぞれ第1主軸ヘッド31a及び第2主軸ヘッド31b
が前後方向(Z方向)に移動可能に案内されている。第
1主軸ベース24と第2主軸ベース25には、それぞれ
ボールねじ33a,33bがガイドレール30と平行な
軸線回りに回転可能に軸承されている。これらボールね
じ33a,33bは、それらの後端にそれぞれ連結され
たZ軸サーボモータ38a及びW軸サーボモータ38b
により回転され、これによりそれらに螺合するナット3
4a,34bを介して第1主軸ヘッド31aと第2主軸
ヘッド31bを前後方向に駆動する。
Each pair of guide rails 30 has a first spindle head 31a and a second spindle head 31b, respectively.
Are movably guided in the front-rear direction (Z direction). Ball screws 33a and 33b are respectively mounted on the first spindle base 24 and the second spindle base 25 so as to be rotatable around an axis parallel to the guide rail 30. These ball screws 33a and 33b are respectively connected to a Z-axis servo motor 38a and a W-axis servo motor 38b connected to their rear ends.
Nut 3 which is rotated by
The first spindle head 31a and the second spindle head 31b are driven in the front-rear direction via 4a and 34b.

【0025】第1主軸ヘッド31a及び第2主軸ヘッド
31bは、Z方向に延びる軸線回りに第1主軸35aと
第2主軸35bを回転可能に軸承し、内蔵した図略のビ
ルトインモータによって回転駆動できる。第1主軸35
aと第2主軸35bの前端には、ドリル,エンドミル,
砥石等の工具Tが着脱可能に装着され、第1主軸35a
と第2主軸35bへの工具Tの着脱は図略の工具マガジ
ンとの間でそれぞれ自動工具交換される。
The first spindle head 31a and the second spindle head 31b rotatably support the first spindle 35a and the second spindle 35b around an axis extending in the Z direction, and can be driven to rotate by a built-in motor (not shown). . First spindle 35
a and a front end of the second spindle 35b, a drill, an end mill,
A tool T such as a grindstone is removably mounted on the first spindle 35a.
The attachment and detachment of the tool T to and from the second spindle 35b are automatically changed between a tool magazine (not shown) and the tool magazine.

【0026】コラム11の前方でベッド10上には固定
又は回転割出タイプのテーブル37が設置され、このテ
ーブル37に単一の工作物Wが図略のクランプ機構によ
り固定されている。テーブル37の左右方向(X方向)
両側には、搬入・搬出装置40が配置されている。上記
の構成により、第1及び第2主軸ヘッド31a,31b
は、サーボモータ18a,18bの駆動により共通のガ
イドレール12に沿ってX方向に移動され、またサーボ
モータ28a,28bの駆動によりY方向に移動され
て、各ヘッド31a,31b上の工具Tを工作物Wの所
望の加工位置に位置決めでき、その後サーボモータ38
a,38の駆動によりZ方向に前進させて、例えばドリ
ル等の工具Tにより加工個所に穴明けをする。
A fixed or rotary indexing type table 37 is provided on the bed 10 in front of the column 11, and a single workpiece W is fixed to the table 37 by a clamp mechanism (not shown). Left-right direction of table 37 (X direction)
A loading / unloading device 40 is arranged on both sides. With the above configuration, the first and second spindle heads 31a, 31b
Is moved in the X direction along the common guide rail 12 by the driving of the servo motors 18a and 18b, and is moved in the Y direction by the driving of the servo motors 28a and 28b, so that the tool T on each of the heads 31a and 31b is moved. The servo motor 38 can be positioned at a desired processing position of the workpiece W.
The tool is advanced in the Z direction by driving a and 38, and a hole is drilled in a processing location by a tool T such as a drill.

【0027】工具Tがエンドミルである場合、工具Tと
工作物Wとの当接位置で主軸ヘッド31a,31bを互
いに直交するX,Y及びZ方向に同時2軸又は3軸制御
して工作物Wにコンタリング加工を施すことができる。
必要であれば、テーブル37上に複数の工作物を取付け
るようにしてもよい。上記のように構成される工作機械
9の図1における左側には、コンピュータを内蔵する数
値制御装置(以下、CNC装置と云う)70とシーケン
スコントローラ80が配置されている。この数値制御装
置70とシーケンスコントローラ80は、工作機械9と
搬入・搬出装置40の動作を制御する。
When the tool T is an end mill, the spindle heads 31a and 31b are simultaneously controlled in two orthogonal or three axes in the X, Y and Z directions orthogonal to each other at the contact position between the tool T and the workpiece W. W can be contoured.
If necessary, a plurality of workpieces may be mounted on the table 37. On the left side of the machine tool 9 configured as described above in FIG. 1, a numerical controller (hereinafter, referred to as a CNC device) 70 containing a computer and a sequence controller 80 are arranged. The numerical controller 70 and the sequence controller 80 control operations of the machine tool 9 and the loading / unloading device 40.

【0028】図3に示すように、CNC装置70は、C
PU71、メモリ72と対話式データ入力装置73によ
って主に構成されている。インターフェイス74を介し
てCPU71に接続されたデータ入力装置73は、表示
装置73aを有し、テンキー73bによりNCプログラ
ムや各種パラメータデータを対話形式で入力し、スイッ
チ群73cにより各種命令を入力する。
As shown in FIG. 3, the CNC device 70
It is mainly composed of a PU 71, a memory 72, and an interactive data input device 73. A data input device 73 connected to the CPU 71 via the interface 74 has a display device 73a, and inputs an NC program and various parameter data in an interactive manner using a numeric keypad 73b, and inputs various commands through a switch group 73c.

【0029】図略のインターフェイスを介してCPU7
1に接続されたシーケンスコントローラ80は、NCプ
ログラム中に指定される各種補助機能命令、例えば、主
軸回転指令、クーラントのオン・オフ命令や工具交換指
令を受取り、この命令に応じたシーケンス制御を実行す
る。メモリ72は、CPU71の処理動作を定義するシ
ステムプログラムを記憶するエリア72aと、このシス
テムプログラムに従ってCPU71が実行する第1及び
第2主軸ヘッド用のNCプログラムを記憶するNCプロ
グラムエリア72bと、第1及び第2主軸ヘッドのX方
向における移動許容境界となる境界座標BC1,BC2
を記憶するエリア72cと、システムプログラムに従う
制御過程における演算処理のためのフラッグエリア72
dと、ワーキングエリア72e及び、工具や加工精度な
どの情報に応じた補正係数からなる変速情報を記憶する
エリア72fとを含む。
The CPU 7 via an interface (not shown)
The sequence controller 80 connected to 1 receives various auxiliary function commands specified in the NC program, for example, a spindle rotation command, a coolant ON / OFF command and a tool change command, and executes sequence control according to these commands. I do. The memory 72 includes an area 72a that stores a system program that defines the processing operation of the CPU 71, an NC program area 72b that stores an NC program for the first and second spindle heads executed by the CPU 71 according to the system program, And the boundary coordinates BC1 and BC2 which are the movement allowable boundaries in the X direction of the second spindle head.
And a flag area 72 for arithmetic processing in a control process according to the system program.
d, a working area 72e, and an area 72f for storing shift information including correction coefficients corresponding to information such as tools and machining accuracy.

【0030】図11を参照して後に詳しく説明するよう
に、境界座標BC1は第1主軸ヘッド31aが図2にお
いて右側に前進する許容範囲の右端を定義し、境界座標
BC2は第2主軸ヘッド31bが図2において左側に前
進する許容範囲の左端を定義する。CPU71は、イン
ターフェイス75を介して、所定の微小時間間隔でNC
プログラムの各データブロックに指定される目標位置ま
での多数の補間点をX,Y,Z軸制御用の駆動ユニット
76a〜78a及びU,V,W軸制御用の駆動ユニット
76b〜78bへ出力し、逆に各制御軸のサーボモータ
18a,28a,38a,18b,28b及び38bに
付属のエンコーダeから位置帰還信号をインターフェイ
ス75を経由して入力する。
As will be described later in detail with reference to FIG. 11, the boundary coordinate BC1 defines the right end of the allowable range in which the first spindle head 31a advances to the right in FIG. 2, and the boundary coordinate BC2 defines the second spindle head 31b. Defines the left end of the permissible range that advances to the left in FIG. The CPU 71 controls the NC at predetermined small time intervals via the interface 75.
A large number of interpolation points up to a target position specified in each data block of the program are output to drive units 76a to 78a for X, Y, Z axis control and drive units 76b to 78b for U, V, W axis control. Conversely, a position feedback signal is input via an interface 75 from an encoder e attached to the servo motors 18a, 28a, 38a, 18b, 28b and 38b of each control axis.

【0031】図4はCPU71の処理動作の概略を説明
するための機能説明図で、同図において破線矢印は各種
処理への移行順序を示し、実線矢印はデータの流れを示
す。今、第1及び第2主軸ヘッド31a,31bが同時
にそれぞれのNCプログラムに従ってテーブル37上の
工作物Wの主軸ヘッド側に向いた面上の複数の加工個所
を協働して順次加工する場合を想定する。
FIG. 4 is a functional explanatory diagram for explaining the outline of the processing operation of the CPU 71. In FIG. 4, the broken arrows indicate the order of transition to various processes, and the solid arrows indicate the flow of data. Now, assume that the first and second spindle heads 31a and 31b simultaneously and sequentially process a plurality of processing locations on a surface of the workpiece W on the table 37 facing the spindle head in accordance with the respective NC programs. Suppose.

【0032】この場合、シーケンサ80には作業者によ
り両主軸ヘッド31a,31bを起動する指令が個々又
は単一の押しボタンスイッチを操作することにより与え
られ、シーケンサ80はCPU71にNC実行指令を与
えて主軸ヘッド31a用のNCプログラム(以下、第1
NCプログラム)及び主軸ヘッド31b用のNCプログ
ラム(以下、第2NCプログラム)を順次実行させる。
In this case, a command to activate the two spindle heads 31a and 31b is given to the sequencer 80 by operating an individual or single push button switch, and the sequencer 80 gives an NC execution command to the CPU 71. NC program for the spindle head 31a (hereinafter referred to as the first
An NC program) and an NC program (hereinafter, a second NC program) for the spindle head 31b are sequentially executed.

【0033】なお、シーケンサ80は、両主軸ヘッドを
同時に起動する指令の入力を認識する場合、内蔵のイン
ターロックプログラムの実行により、通常は図2におい
て左側に配置された第1主軸ヘッド31aを先に起動さ
せるようにCPU71に指令する。CPU71は、先ず
プログラム実行処理101を行い、この処理においてメ
モリ72から第1NCプログラムの最初のデータブロッ
クを読出し、デコードし、デコードした情報を移動情報
101aとしてメモリ72内ワーキングエリア72eに
記憶する。この処理においては、CPU71は、第1主
軸ヘッドの前述した移動許容範囲の境界座標BC1を設
定できるようにするため、第1NCプログラム中の最初
の1サイクル加工動作分の複数のデータブロックをサー
チし、これらブロック中で指定されるX軸の最大目標位
置を抽出し、同じくワーキングエリア72eに登録す
る。
When the sequencer 80 recognizes the input of a command for simultaneously starting the two spindle heads, the sequencer 80 normally executes the built-in interlock program to first move the first spindle head 31a arranged on the left side in FIG. To the CPU 71 to be activated. The CPU 71 first performs a program execution process 101, and in this process, reads the first data block of the first NC program from the memory 72, decodes it, and stores the decoded information in the working area 72e in the memory 72 as movement information 101a. In this process, the CPU 71 searches a plurality of data blocks for the first one-cycle machining operation in the first NC program in order to set the boundary coordinate BC1 of the movement allowable range of the first spindle head. The maximum target position of the X axis specified in these blocks is extracted and registered in the working area 72e.

【0034】ここで、「1サイクル加工動作」とは、各
主軸ヘッドが送り原点を離れた後、1又はそれ以上の加
工位置で加工動作を遂行した後に、再び送り原点に復帰
するまでの動作ステップである。また、「最大目標位
置」とは、各加工位置への割出しステップを規定する複
数のデータブロックの何れかが各主軸ヘッドを最も相手
側の主軸ヘッド寄りに位置決めする座標位置である。
Here, "one-cycle machining operation" refers to an operation after each spindle head leaves the feed origin, performs a machining operation at one or more machining positions, and then returns to the feed origin again. Step. The “maximum target position” is a coordinate position at which any of a plurality of data blocks defining an indexing step to each machining position positions each spindle head closest to the other spindle head.

【0035】その後、CPU71は、移動/チェック処
理102を実行する。この処理は、補間点演算処理と干
渉チェック処理及び変速処理を含む。先ず、ワーキング
エリア72e内の前記移動情報101aが両主軸ヘッド
31a,31b間で干渉を生じ得るX軸の移動指令を含
む場合、メモリ72内の干渉軸テーブル72iを参照し
て干渉チェック処理が必要と判断される。この処理によ
り、干渉を生じると判断されるときは駆動ユニット76
a〜78aへの補間点の出力は行われず、メモリ72内
のエリア72fに記憶された変速情報である補正係数に
基づいて変速処理がなされ、移動許容範囲の境界を超え
ない位置で減速停止される。NCプログラムと加工パラ
メータから干渉チェック処理が不要或いはこの処理の結
果として干渉が生じないと判断されるときは、ワーキン
グエリア72eに記憶される移動情報101aに基づき
1ms(ミリ秒)後に各制御軸が到達すべき補間点を各
制御軸について演算し、各制御軸の駆動ユニット76a
〜78aへ出力する。
Thereafter, the CPU 71 executes a move / check process 102. This process includes an interpolation point calculation process, an interference check process, and a shift process. First, when the movement information 101a in the working area 72e includes an X-axis movement command that may cause interference between the two spindle heads 31a and 31b, an interference check process is required by referring to the interference axis table 72i in the memory 72. Is determined. When it is determined that interference occurs due to this processing, the driving unit 76
The output of the interpolation points to a to 78a is not performed, the shift processing is performed based on the correction coefficient which is the shift information stored in the area 72f in the memory 72, and the deceleration is stopped at a position not exceeding the boundary of the allowable movement range. You. When it is determined from the NC program and the processing parameters that the interference check processing is unnecessary or that no interference occurs as a result of this processing, each control axis is controlled after 1 ms (millisecond) based on the movement information 101a stored in the working area 72e. The interpolation point to be reached is calculated for each control axis, and the drive unit 76a of each control axis is calculated.
To 78a.

【0036】第1主軸ヘッド31aについて、移動/チ
ェック処理102を実行した後、第2NCプログラムに
ついてプログラム実行処理103を前述した処理101
と同様に実行し、移動情報103aとしてワーキングエ
リア72eに記憶し、移動/チェック処理104を実行
する。この処理104は、前述した処理102と同様な
手順でなされ、第2主軸ヘッド31bが第1主軸ヘッド
31aと干渉しないことが確認されると、第2主軸ヘッ
ド31bの制御軸U,V,Wを制御する駆動ユニット7
6b〜78bに補間点が前記微小時間毎に出力される。
After executing the movement / check processing 102 for the first spindle head 31a, the program execution processing 103 for the second NC program is performed in the processing 101 described above.
Is stored in the working area 72e as the movement information 103a, and the movement / check processing 104 is executed. The process 104 is performed in the same procedure as the process 102 described above. When it is confirmed that the second spindle head 31b does not interfere with the first spindle head 31a, the control axes U, V, W of the second spindle head 31b are controlled. Drive unit 7 for controlling
Interpolation points are output from 6b to 78b every minute time.

【0037】続いて、移動/チェック処理102,10
4の各々が1ms毎に1回実行されるように交互に繰り
返し実行され、駆動ユニット76a〜78a及び76b
〜78bに対し補間点が1ms毎に出力される。この結
果、X,Y,Z軸のサーボモータ18a,28a,38
aが駆動され、またこれと同時にU,V,W軸のサーボ
モータ18b,28b,38bが駆動され、第1主軸ヘ
ッド31aと第2主軸ヘッド32aは、互いに他のもの
と干渉しない限りX軸上で相手側に接近するように移動
され、共通の単一工作物Wを同時加工することができ
る。
Subsequently, movement / check processing 102, 10
4 are performed alternately and repeatedly so that each of the drive units 76a-78a and 76b is executed once every 1 ms.
Interpolation points are output every 1 ms for .about.78b. As a result, the X, Y, and Z axis servo motors 18a, 28a, 38
a, and at the same time, the servomotors 18b, 28b, 38b of the U, V, W axes are driven, so that the first spindle head 31a and the second spindle head 32a are in the X axis unless they interfere with each other. It is moved so as to approach the other side, and a single common workpiece W can be simultaneously processed.

【0038】移動/チェック処理102又は104にお
いて、1ブロックのNCデータが指定する目標位置に各
制御軸X,Y,Z又はU,V,Wが到達したことがそれ
ら制御軸用のエンコーダ出力から確認する時、つまり1
ブロック分の位置決め制御の完了を確認する時、この完
了を確認した移動/チェック処理102,104と対応
するプログラム実行処理101又は103を実行し、次
の1ブロックのNCデータの読出し、デコード処理等を
前述したように行なう。
In the movement / check processing 102 or 104, the fact that each of the control axes X, Y, Z or U, V, W has reached the target position specified by one block of NC data is determined from the encoder output for those control axes. When checking, that is, 1
When confirming the completion of the positioning control for the block, the program execution processing 101 or 103 corresponding to the movement / check processing 102, 104 confirming the completion is executed, and the NC data of the next one block is read, decoded, etc. Is performed as described above.

【0039】このようにして、CPU71は、第1主軸
ヘッド31a及び第2主軸ヘッド31bの数値制御処理
を時分割で実行する。なお、図4の移動/チェック処理
による通常の干渉チェックとは別に、図4に示すよう
に、移動位置監視処理が実行されており、第1主軸ヘッ
ド31a及び第2主軸ヘッド31bの現在位置、移動方
向、移動速度を監視し、両主軸ヘッド間の距離が停止に
必要な距離よりも短くなった場合に、通常の干渉チェッ
クの実行に関わらず減速停止を実行するようになってい
る。また、図4は、入力装置73により、対をなす干渉
軸X,Uが干渉軸テーブル72iに、NCプログラムが
NCプログラムエリア72bに、変速情報がエリア72
fにそれぞれ設定登録されることを示している。
As described above, the CPU 71 executes the numerical control processing of the first spindle head 31a and the second spindle head 31b in a time-division manner. In addition, apart from the normal interference check by the movement / check processing of FIG. 4, the movement position monitoring processing is executed as shown in FIG. 4, and the current positions of the first spindle head 31a and the second spindle head 31b, The moving direction and the moving speed are monitored, and when the distance between the two spindle heads becomes shorter than the distance required for stopping, deceleration stop is executed regardless of execution of the normal interference check. FIG. 4 shows the input device 73 that the interference axes X and U forming a pair are stored in the interference axis table 72i, the NC program is stored in the NC program area 72b, and the shift information is stored in the area 72.
f indicates that the setting is registered.

【0040】図5〜図10は、CPU71に前述した移
動/チェック処理102及び104を交互に実行させる
ためのシステムフローチャートを示す。以下、このフロ
ーチャートを参照して第1主軸ヘッド31aのための移
動/チェック処理102を中心にしてこのフローチャー
トに基づく処理過程を詳細に説明する。先ず、図5に示
すステップS1において、ワーキングエリア72eに記
憶されている1ブロックのNCデータに基づく制御が完
了したか否か判定され、このNCデータの目標位置に指
定された全ての制御軸X,Y,Zが到達したとき、この
処理が終了し、前述した処理101〜104への移行を
制御する図略のメインルーチンに移行する。
FIGS. 5 to 10 show a system flowchart for causing the CPU 71 to execute the above-described movement / check processing 102 and 104 alternately. Hereinafter, the processing steps based on this flowchart will be described in detail focusing on the movement / check processing 102 for the first spindle head 31a with reference to this flowchart. First, in step S1 shown in FIG. 5, it is determined whether the control based on the NC data of one block stored in the working area 72e is completed, and all the control axes X designated at the target position of the NC data are determined. , Y, and Z have arrived, this processing ends, and the processing shifts to the main routine (not shown) for controlling the shift to the processing 101 to 104 described above.

【0041】このメインルーチンは、第2主軸ヘッド3
1bについて既にNC制御処理が開始されているとき
は、図4の移動/チェック処理104を行なうために、
CPU71に図5の処理をステップS1から再開させる
ようにする。第2主軸ヘッド31bについて未だNC制
御処理が開始されていないが、シーケンサ80から第2
主軸ヘッド31bについてのNC制御処理を起動する指
令が与えられている場合では、図4のプログラム実行処
理103をCPU71が実行するように仕向ける。ま
た、シーケンサ80から第2主軸ヘッド31bについて
のNC制御処理を起動する指令が与えられていない場合
では、メインルーチンは第1主軸ヘッド31aについて
図4のプログラム実行処理101をCPU71が実行す
るように仕向ける。
This main routine is executed by the second spindle head 3
When the NC control process has already been started for 1b, in order to perform the movement / check process 104 in FIG.
The CPU 71 restarts the processing in FIG. 5 from step S1. Although the NC control process for the second spindle head 31b has not been started yet, the sequencer 80
When an instruction to start the NC control process for the spindle head 31b is given, the CPU 71 causes the CPU 71 to execute the program execution process 103 in FIG. When the sequencer 80 does not issue an instruction to start the NC control process for the second spindle head 31b, the main routine is executed such that the CPU 71 executes the program execution process 101 of FIG. 4 for the first spindle head 31a. Drive.

【0042】ここで、説明の便宜上、図4の移動/チェ
ック処理102を図5のフローチャートに従ってCPU
71が実行を開始した直後であると仮定しよう。この場
合、次にステップS2が実行される。各NCプログラ
ム、この場合第1NCプログラムの第1ブロックは、X
軸移動範囲設定のためのGコード命令を含む。このた
め、ステップS2において移動範囲設定Gコードが識別
されると、ステップS3において図6のサブルーチンに
基づき移動範囲設定処理が実行される。この処理では、
ワーキングエリア72eから前述した1サイクル動作の
最大目標位置である境界座標BC1が読込まれて指令許
容範囲として設定される(ステップS31)。
Here, for convenience of explanation, the movement / check processing 102 of FIG. 4 is executed by the CPU in accordance with the flowchart of FIG.
Let's assume that 71 has just started executing. In this case, step S2 is executed next. The first block of each NC program, in this case the first NC program, is X
Includes G code command for axis movement range setting. Therefore, when the moving range setting G code is identified in step S2, the moving range setting process is executed in step S3 based on the subroutine of FIG. In this process,
The boundary coordinates BC1, which is the maximum target position of the one-cycle operation described above, is read from the working area 72e and set as a command allowable range (step S31).

【0043】この場合、第1主軸ヘッド31aが第2主
軸ヘッド31bよりも先に起動されてNC制御されてい
るので、第2主軸ヘッド31bの境界座標BC2と比較
されて干渉の有無がチェックされるが(ステップS3
2)、干渉なしと判定され、前記指令許容範囲、つまり
最大目標位置BC1がそのまま移動許容範囲として設定
される(ステップS33)。つまり、第1主軸ヘッド3
1aは、この1サイクル動作においては優先制御対象と
され、その移動許容範囲は優先移動許容範囲として第2
主軸ヘッド31bの移動許容範囲である従属移動許容範
囲に影響されずに設定される。
In this case, since the first spindle head 31a is started and controlled by the NC before the second spindle head 31b, the first spindle head 31a is compared with the boundary coordinate BC2 of the second spindle head 31b to check for interference. (Step S3
2) It is determined that there is no interference, and the command allowable range, that is, the maximum target position BC1 is set as it is as the movement allowable range (step S33). That is, the first spindle head 3
1a is a priority control target in this one-cycle operation, and its allowable movement range is the second priority allowable movement range.
It is set without being affected by the subordinate movement allowable range that is the allowable movement range of the spindle head 31b.

【0044】逆に、第2主軸ヘッド31bが既にNC制
御されている状態で第1主軸ヘッド31aが図11のt
2時点のように送り原点Pa0から加工位置Pa4に向
かう次ぎの1サイクル動作を実行する場合では、第1主
軸ヘッド31aは従属制御対象とされ、そのときの移動
許容範囲は従属許容範囲として設定される。この場合、
もし優先制御対象である第2主軸ヘッド31bの移動許
容範囲BC2と干渉すると判定されるとき(ステップS
32)、相手の境界座標BC2に干渉クリアランスIC
を加算した値、つまり相手の移動許容範囲より自分側に
干渉クリアランスIC分引っ込んだ座標値が移動許容範
囲として設定される(ステップS34)。
Conversely, when the second spindle head 31b is already under the NC control, the first spindle head 31a is moved to t in FIG.
When the next one-cycle operation from the feed origin Pa0 to the processing position Pa4 is executed as at two points in time, the first spindle head 31a is set as a slave control target, and the movement allowable range at that time is set as the slave allowable range. You. in this case,
If it is determined that they interfere with the allowable movement range BC2 of the second spindle head 31b, which is the priority control target (step S
32), the interference clearance IC is added to the boundary coordinate BC2 of the partner.
, That is, the coordinate value that is reduced by the interference clearance IC from the other party's movement allowable range to the own side is set as the movement allowable range (step S34).

【0045】なお、本実施の形態では、NCプログラム
の第1ブロックにX軸移動範囲設定のための前記Gコー
ドのみを指定し、境界座標BC1を1サイクル動作を指
令するNCデータブロックからサーチしてワーキングエ
リア72eに登録したものを使用するようにしている
が、第1ブロックに前記Gコードに付随して境界座標B
C1を直接指定するようにしてもよい。
In this embodiment, only the G code for setting the X-axis movement range is specified in the first block of the NC program, and the boundary coordinates BC1 are searched from the NC data block instructing one-cycle operation. Although the data registered in the working area 72e is used, the boundary coordinates B
C1 may be directly specified.

【0046】変形例として、NCプログラムにはX軸移
動範囲設定のための何らの情報も指定せずに、CNC装
置71が第1ブロックの指令を実行する前に自動的にX
軸の移動範囲を設定する処理をシステムプログラム中に
組み込んでもよい。また、ステップS33及びステップ
34で設定する移動許容範囲は、各主軸ヘッド31a,
31bの工具主軸35a,35bの座標位置を指定して
もよいが、本実施の形態では図11に示すように、2重
丸で示す工具主軸35a,35bの座標位置よりも幾分
相手の主軸ヘッド側にオフセットしてある。このオフセ
ット量は、各主軸ヘッドの相手側へ最も突出る部分の工
具主軸からの距離が設定され、ステップ33及び34の
処理ではこのオフセット量が移動許容範囲の算出に加味
される。
As a modified example, the NC program does not specify any information for setting the X-axis movement range, and the CNC device 71 automatically executes the X-block before executing the command of the first block.
The processing for setting the movement range of the axis may be incorporated in the system program. In addition, the allowable movement range set in steps S33 and S34 is determined based on each spindle head 31a,
Although the coordinate position of the tool spindles 35a and 35b of the tool spindle 31b may be designated, in this embodiment, as shown in FIG. 11, the counter spindle is slightly more than the coordinate position of the tool spindles 35a and 35b indicated by double circles. Offset to head side. The offset amount is set to the distance from the tool spindle to the portion of each spindle head that protrudes most toward the mating side. In the processing of steps 33 and 34, this offset amount is added to the calculation of the allowable movement range.

【0047】移動範囲設定処理S3が完了すると、後述
するステップ15を経由して前記メインルーチンに復帰
され、第1NCプログラムの第2ブロックのデータにつ
いて図4のプログラム実行処理が行なわれるので、再び
ステップS1及びS2を経由して次にステップS4に至
り、干渉チェックの要否が判断される。本実施の態様に
おいては、第1及び第2主軸ヘッド31a,31bの干
渉は、両ヘッドがX軸上で互いに接近する場合生じるの
で、NCプログラムの第2ブロックに指定された軸指定
データがX軸の指定を含む場合、干渉チェック要として
判定される。
When the movement range setting process S3 is completed, the process returns to the main routine via step 15 described later, and the program execution process of FIG. 4 is performed on the data of the second block of the first NC program. Then, the process proceeds to step S4 via S1 and S2, and it is determined whether or not the interference check is necessary. In this embodiment, since the interference between the first and second spindle heads 31a and 31b occurs when the two heads approach each other on the X axis, the axis designation data designated in the second block of the NC program is If an axis is specified, it is determined that interference check is required.

【0048】干渉チェック要と判断された場合、ステッ
プS5で範囲外確認チェックが図7のサブルーチンに従
って実行される。このルーチンにより、実行中の1ブロ
ックのNCデータで指定されるX軸の目標位置及びこの
目標位置への移動経路(補間点)がステップS31にて
設定された指令許容範囲内であるか否か比較される(ス
テップS51及びS52)。もし目標位置または移動経
路が指令許容範囲を外れるときは、ステップS53で異
常処理が実行され、図略の異常警報手段により異常アラ
ームが通知され、工作機械が停止される。
If it is determined that an interference check is necessary, an out-of-range check is performed in step S5 according to a subroutine shown in FIG. According to this routine, the target position of the X axis specified by the NC data of one block being executed and whether or not the movement path (interpolation point) to the target position is within the command allowable range set in step S31. They are compared (steps S51 and S52). If the target position or the movement route is out of the command allowable range, an abnormal process is executed in step S53, an abnormal alarm is notified by an abnormal alarm means (not shown), and the machine tool is stopped.

【0049】目標位置及び移動経路が共に指令許容範囲
内であることが確認されるときは、後述するステップS
9において第1及び第2主軸ヘッド31a,31bが干
渉されると判断される時の減速停止する主軸ヘッドの減
速度(単位時間当たりの速度の減少割合いであり、加速
度と同義である)を決定する処理が図8のサブルーチン
に従って実行される。この処理では先ず、図13に示す
ような形式でメモリ72内のエリア72fに記憶されて
いる基準補正係数Aを取出す(ステップS61)。ステ
ップS62では工具番号を示すNCプログラム中のT指
令を読取り、このT指令に記述された工具番号に対応す
る工具情報を工具情報テーブル721から取出す。次
に、加工補正テーブル723からステップS61で取出
した工具情報に対応する工具補正係数Bを取出す(ステ
ップS63)。次に、加工サイクル毎にその加工の精度
のランクを現わす精度番号をNCプログラム中から読取
り、この精度番号に対応する精度補正係数Cを、精度補
正テーブル722から取出す(ステップS64)。そし
て、これらの補正係数A,B,Cを乗じることで最終的
な補正係数Kが算出される(ステップS65)。
When it is confirmed that both the target position and the movement route are within the command allowable range, a step S to be described later is performed.
9 to determine the deceleration of the spindle head that decelerates and stops when it is determined that the first and second spindle heads 31a and 31b are interfered (the rate of decrease in speed per unit time, which is synonymous with acceleration). Is performed according to the subroutine of FIG. In this process, first, the reference correction coefficient A stored in the area 72f in the memory 72 is extracted in a format as shown in FIG. 13 (step S61). In step S62, a T command in the NC program indicating the tool number is read, and tool information corresponding to the tool number described in the T command is extracted from the tool information table 721. Next, a tool correction coefficient B corresponding to the tool information extracted in step S61 is extracted from the machining correction table 723 (step S63). Next, an accuracy number indicating the rank of the accuracy of the machining is read from the NC program for each machining cycle, and an accuracy correction coefficient C corresponding to the accuracy number is extracted from the accuracy correction table 722 (step S64). Then, a final correction coefficient K is calculated by multiplying these correction coefficients A, B, and C (step S65).

【0050】ステップS66では、この補正係数Kが、
リミット情報テーブル724に記憶されている最大補正
係数Kmaxよりも大きい値であるか否か判定され、も
し補正係数Kが最大補正係数Kmaxよりも大きいと判
定される場合は、補正係数Kを最大補正係数Kmaxに
設定し(ステップS67)、補正係数Kが最大補正係数
Kmaxよりも大きくない判定される場合は、続いて補
正係数Kが最小補正係数Kminよりも小さいか否か判
定され(ステップS68)、もし補正係数Kが最小補正
係数Kminよりも小さいと判定される場合は、補正係
数Kを最小補正係数Kminに設定し(ステップS6
9)、補正係数Kが最小補正係数Kminよりも小さく
ないと判定される場合は、前述のステップS65にて算
出された値がそのまま補正係数Kとなる(ステップS7
0)。
In step S66, the correction coefficient K is
It is determined whether or not the correction coefficient K is larger than the maximum correction coefficient Kmax stored in the limit information table 724. If the correction coefficient K is determined to be larger than the maximum correction coefficient Kmax, the correction coefficient K is set to the maximum correction coefficient Kmax. The coefficient Kmax is set (step S67). If it is determined that the correction coefficient K is not larger than the maximum correction coefficient Kmax, it is subsequently determined whether the correction coefficient K is smaller than the minimum correction coefficient Kmin (step S68). If it is determined that the correction coefficient K is smaller than the minimum correction coefficient Kmin, the correction coefficient K is set to the minimum correction coefficient Kmin (step S6).
9) If it is determined that the correction coefficient K is not smaller than the minimum correction coefficient Kmin, the value calculated in step S65 becomes the correction coefficient K as it is (step S7).
0).

【0051】そして、第1及び第2主軸ヘッド31a,
31bが干渉されると判断される時の減速停止する主軸
ヘッドの減速度が、干渉時とは無関係の通常の減速停止
時の減速度に補正係数Kを乗じた値として設定される
(ステップ71)。ステップS6の処理が完了すると、
ステップS7が実行され、補間処理の開始を記憶する図
略のフラッグがセットされる。ステップS8では、相手
の移動許容範囲のチェックが図9のサブルーチンに従っ
て実行される。
Then, the first and second spindle heads 31a,
The deceleration of the spindle head that decelerates and stops when it is determined that interference occurs at 31b is set as a value obtained by multiplying the deceleration at the time of normal deceleration and stop irrelevant to the interference by the correction coefficient K (step 71). ). When the processing in step S6 is completed,
Step S7 is executed, and a flag (not shown) that stores the start of the interpolation process is set. In step S8, the check of the movement allowable range of the other party is executed according to the subroutine of FIG.

【0052】先ず、自己の移動許容範囲が相手の移動許
容範囲に干渉クリアランスICを加算したものとしてス
テップS34で設定済であるか否か判定され(ステップ
S81)、もし設定済でない場合は自己の指令許容範囲
と相手の移動許容範囲に干渉クリアランスICを加算し
た範囲とがラップするか否か判定され(ステップS8
2)、第1主軸ヘッド31aが優先制御対象であってラ
ップしないと判定されるときは前述した指令許容範囲が
自己の移動許容範囲として設定され(ステップS8
3)、減速停止時の減速度が非干渉時である通常の減速
度に設定される(ステップS85)。
First, it is determined whether or not the own movement allowable range has been set as a value obtained by adding the interference clearance IC to the other party's movement allowable range in step S34 (step S81). It is determined whether or not the command allowable range overlaps with the range obtained by adding the interference clearance IC to the opponent's movement allowable range (step S8).
2) When it is determined that the first spindle head 31a is a priority control target and does not wrap, the above-described command allowable range is set as its own movement allowable range (step S8).
3) The deceleration at the time of deceleration stop is set to the normal deceleration at the time of non-interference (step S85).

【0053】逆に、第1主軸ヘッド31aを従属制御対
象とする1サイクル動作の場合にラップすると判定され
るときは、相手の移動許容範囲に干渉クリアランスIC
を加算した範囲を自己の移動許容範囲として設定し(ス
テップS84)、実行中の1ブロックのNCデータで指
定されるX軸の目標位置が移動許容範囲を超えるか否か
が判定され(ステップS91)、越えるときは減速停止
時の減速度が前述のステップS71で算出された減速度
に設定し(ステップS92)、越えないと判定されると
きは、通常の減速度に設定される(ステップS93)。
On the other hand, when it is determined that the lap is performed in the case of the one-cycle operation in which the first spindle head 31a is the subordinate control object, the interference clearance IC is set within the allowable movement range of the other party.
Is set as its own movement allowable range (step S84), and it is determined whether or not the X-axis target position specified by the NC data of one block being executed exceeds the movement allowable range (step S91). If it exceeds, the deceleration at the time of deceleration stop is set to the deceleration calculated in the above-mentioned step S71 (step S92), and if it is determined that it does not exceed, the normal deceleration is set (step S93). ).

【0054】次に、減速停止に必要な減速停止距離がこ
の設定された減速度に応じて算出され(ステップS8
6)、この減速停止距離を現在のX軸位置に加算して一
時停止位置を求め(ステップS87)、この一時停止位
置がステップS83又はS84で設定された自己の移動
許容範囲を超えるか否かが判定され(ステップS8
8)、超えないときは図略の干渉判定記憶用のフラッグ
がリセットされ(ステップS89)、逆に超えると判定
されるときは同フラッグがセットされる(ステップS9
0)。そして、ステップ89,90で設定された干渉判
定記憶用フラッグを参照して、ステップS9では干渉有
無のチェックが行なわれ、干渉なしの場合、ステップS
10において1ms後のX軸の補間点が速度指令を勘案
して演算され、X軸駆動ユニット76aに出力される。
この場合、同一の1ブロック中に他の1又は2軸である
Y軸とZ軸の軸指定およびこれに付随する目標位置が指
定されている場合では、Y軸又はZ軸の1ms後の補間
点も演算されてY軸又はZ軸駆動ユニット77a,78
aへ出力される。
Next, the deceleration stop distance required for deceleration stop is calculated according to the set deceleration (step S8).
6), the deceleration stop distance is added to the current X-axis position to determine a temporary stop position (step S87), and whether or not the temporary stop position exceeds its own allowable movement range set in step S83 or S84. Is determined (step S8).
8) If not exceeded, the flag for storing interference determination (not shown) is reset (step S89). Conversely, if it is determined to exceed, the flag is set (step S9).
0). Then, with reference to the interference determination storage flag set in steps 89 and 90, in step S9, the presence or absence of interference is checked.
At 10, the X-axis interpolation point after 1 ms is calculated in consideration of the speed command, and is output to the X-axis drive unit 76a.
In this case, if the axis designation of the other one or two axes, the Y axis and the Z axis, and the target position associated therewith are designated in the same one block, the interpolation is performed 1 ms after the Y axis or the Z axis. The points are also calculated and the Y-axis or Z-axis drive units 77a, 78
output to a.

【0055】これにより、X軸サーボモータ18aが単
独で、或いはY軸又はZ軸サーボモータ28a,38b
と同時に駆動され、第1の主軸ヘッド31aが1ms後
の補間点へX軸方向に、或いはY軸又はZ軸方向に移動
される。続くステップS11及びS12は、優先移動許
容範囲を自己の送り原点側に狭め、従属移動許容範囲を
後述するステップS194において相手の送り原点側へ
拡大できるようにするために実行される。具体的には、
第1主軸ヘッド31aが優先制御対象となる1サイクル
動作中において図11の第2加工位置Pa2から第3加
工位置Pa3へX軸に沿って後退する動作を指令するN
Cデータブロックには所定番号を付随するGコードの情
報として移動許容範囲変更指令が指定されており、この
変更指令がステップS11で認識されるとき、ステップ
S12において移動許容範囲を狭める処理が実行され
る。この処理は、ステップS83又はS84でメモリ7
2の境界座標記憶エリア72cに設定した移動許容範囲
を読出し、この移動許容範囲からステップS10で算出
した補間点までの移動距離を減算し、この減算結果を再
び境界座標記憶エリア72cに更新記憶させることによ
り行われる。
As a result, the X-axis servo motor 18a can be used alone, or the Y-axis or Z-axis servo motors 28a and 38b can be used.
Simultaneously, the first spindle head 31a is moved in the X-axis direction or the Y-axis or Z-axis direction to the interpolation point 1 ms later. Subsequent steps S11 and S12 are executed in order to narrow the allowable range of the preferential movement to the own sending origin side, and to expand the dependent moving allowable range to the sending origin side of the other party in step S194 described later. In particular,
During the one-cycle operation in which the first spindle head 31a is a priority control target, N instructs an operation of retreating along the X axis from the second processing position Pa2 to the third processing position Pa3 in FIG.
In the C data block, a movement allowable range change command is designated as information of a G code accompanied by a predetermined number. When the change command is recognized in step S11, a process of narrowing the movement allowable range is executed in step S12. You. This processing is performed by the memory 7 in step S83 or S84.
The movement allowable range set in the second boundary coordinate storage area 72c is read, the movement distance to the interpolation point calculated in step S10 is subtracted from the allowable movement range, and the subtraction result is updated and stored in the boundary coordinate storage area 72c again. This is done by:

【0056】ステップS10で求められた補間点に第1
主軸ヘッド31aが到達すると、駆動ユニット76a〜
78aからの補間完了信号が全てオン状態となる。これ
により、CPU71の処理は、ステップS13からステ
ップS14へ移行し、このステップでは従属制御対象と
される第2主軸ヘッド31bについて図5のフローチャ
ートに従って移動/チェック処理を実行し、再びステッ
プS8へ復帰する。その後、ステップS8〜S13まで
の処理が繰り返し実行され、次の1ms後の補間点に第
1主軸ヘッド31aが位置決めされる。
The first interpolation point obtained in step S10 is
When the spindle head 31a reaches, the drive units 76a to 76a
All the interpolation completion signals from 78a are turned on. As a result, the process of the CPU 71 shifts from step S13 to step S14. In this step, the second spindle head 31b to be subjected to the subordinate control is moved / checked according to the flowchart of FIG. 5, and then returns to step S8. I do. Thereafter, the processing of steps S8 to S13 is repeatedly executed, and the first spindle head 31a is positioned at the next interpolation point 1 ms later.

【0057】このようにしてステップS8〜S13まで
の一連の移動制御処理を何度も繰り返すことにより、第
1主軸ヘッド31aは1ブロックのNCデータに指定さ
れた目標位置に到達する。目標位置に到達する時、ステ
ップS13において移動完了が確認され、CPU71は
ステップ15にて各フラッグをリセットした後、メイン
ルーチンへ復帰する。これにより、図4に示すプログラ
ム実行処理101に移行し、NCプログラムの次の1ブ
ロックのデータを読出及び解析して、この解析データを
移動情報101aとしてワーキングエリア72eに記憶
させ、この後再び図5の移動/チェック処理に移行す
る。
By repeating the series of movement control processing from step S8 to step S13 many times, the first spindle head 31a reaches the target position specified by one block of NC data. When reaching the target position, completion of the movement is confirmed in step S13, and the CPU 71 resets each flag in step 15, and then returns to the main routine. As a result, the processing shifts to the program execution processing 101 shown in FIG. 4, where the data of the next block of the NC program is read and analyzed, and this analysis data is stored in the working area 72e as the movement information 101a. Then, the process proceeds to the move / check process of No. 5.

【0058】上述した1ms毎の補間処理の過程でステ
ップS14が実行され、この時第2主軸ヘッド13b用
の補間処理実行フラッグがセット状態にあると第2主軸
ヘッド31bのための補間処理が実行される。同様に、
1ブロックの目標位置が到達され、第1主軸ヘッド31
aを制御しているCPU71の処理がステップS13か
ら最初のステップS1に移行する途中において第2主軸
ヘッド13b用の補間処理実行フラッグがセット状態に
あると第2主軸ヘッド31bのための補間処理が実行さ
れる。
Step S14 is executed in the course of the above-described interpolation processing every 1 ms. At this time, if the interpolation processing execution flag for the second spindle head 13b is set, the interpolation processing for the second spindle head 31b is executed. Is done. Similarly,
When the target position of one block is reached, the first spindle head 31
If the interpolation process execution flag for the second spindle head 13b is in the set state while the process of the CPU 71 controlling the process a shifts from step S13 to the first step S1, the interpolation process for the second spindle head 31b is performed. Be executed.

【0059】図11のt1時点のように、従属制御対象
とされる第2主軸ヘッド31bが優先制御対象である第
1主軸ヘッド31aに接近しすぎると、第2主軸ヘッド
31bのためにCPU71が図5のフローチャートに従
って実行している補間処理のステップS9おいて干渉有
りと判定され、このときCPU71の処理はステップS
16へ進む。
As shown at time t1 in FIG. 11, when the second spindle head 31b, which is the subject of the slave control, gets too close to the first spindle head 31a, which is the subject of the priority control, the CPU 71 for the second spindle head 31b. In step S9 of the interpolation processing executed according to the flowchart of FIG. 5, it is determined that there is interference, and at this time, the processing of the CPU 71 proceeds to step S9.
Proceed to 16.

【0060】このステップS16では、干渉回避のため
の一時停止が完了しているか否か判定され、完了してい
ないときは前述のステップS71で算出された減速度に
基づいて1ms後の減速補間点が演算され、この補間点
がU軸用の駆動ユニット76bに出力される(ステップ
S17)。U軸と他の1もしくは2軸が同時制御される
NCデータブロックの制御下にある場合では、これら他
の制御軸の1ms後の減速補間点も演算され、この補間
点がこれら制御軸用の駆動ユニット77b,78bへも
出力される。
In this step S16, it is determined whether or not the temporary stop for avoiding the interference has been completed. If not, the deceleration interpolation point after 1 ms based on the deceleration calculated in step S71 described above. Is calculated, and this interpolation point is output to the U-axis drive unit 76b (step S17). When the U-axis and the other one or two axes are under the control of the NC data block that is controlled simultaneously, the deceleration interpolation point 1 ms after these other control axes is also calculated, and this interpolation point is used for these control axes. It is also output to the drive units 77b and 78b.

【0061】ステップS17の後、ステップS18を経
由してステップS8に戻り、これによりステップS17
が繰り返し実行され、最終的に従属制御対象である第2
主軸ヘッド31bが例えば図11の第1一時停止位置P
im1で一時停止される。一時停止が完了されるとき、
ステップS16で一時停止の完了が確認され図略一時停
止完了フラッグがセットされる。この場合、ステップS
16に続きステップS19〜ステップS21が順次実行
される。ステップS19では、図10に示す停止解除チ
ェックのためのサブルーチンが実行される。
After step S17, the process returns to step S8 via step S18.
Is repeatedly executed, and the second dependent control object is finally determined.
The spindle head 31b is moved to the first pause position P in FIG.
Paused at im1. When the pause is completed,
In step S16, the completion of the suspension is confirmed, and a suspension completion flag (not shown) is set. In this case, step S
After step 16, steps S19 to S21 are sequentially executed. In step S19, a subroutine for stop release check shown in FIG. 10 is executed.

【0062】このサブルーチンのステップS191〜S
194及びステップS200〜202は、図9のサブル
ーチンにおけるステップS81〜S84及びステップS
91〜93にそれぞれ対応し、これにより従属制御対象
である第2主軸ヘッド31bの移動許容範囲が優先制御
対象である第1主軸ヘッド31aの移動許容範囲に干渉
クリアランスICを加算した範囲の境界座標に設定され
(ステップS194)、優先制御対象か否かや、目標位
置が移動許容範囲を超えているか否かにより、減速停止
時の減速度が設定される(ステップS195,201,
202)。
Steps S191-S of this subroutine
194 and steps S200 to S202 correspond to steps S81 to S84 and step S84 in the subroutine of FIG.
Boundary coordinates of the range in which the interference clearance IC is added to the movement allowable range of the first spindle head 31a, which is the subject of priority control, for the second spindle head 31b, which is the subject of subordinate control, (Step S194), and the deceleration at the time of deceleration stop is set depending on whether or not the target is the priority control target and whether or not the target position is beyond the allowable movement range (steps S195, 201, S195).
202).

【0063】次に、1ms後の再移動補間点がU軸及び
同時制御の場合は他の軸についても演算され(ステップ
S196)、演算されたU軸の補間点が第2主軸ヘッド
31bの移動許容範囲内となるか否か判定される(ステ
ップS197)。この場合、範囲内であれば再移動フラ
ッグをセットし(ステップS198)、逆に範囲外とな
れば同フラッグをリセット状態とし(ステップS19
9)、ステップS20に処理を進める。
Next, when the re-moving interpolation point after 1 ms is the U-axis and the simultaneous control, the other axes are calculated (step S196), and the calculated U-axis interpolation point is moved by the second spindle head 31b. It is determined whether it is within the allowable range (step S197). In this case, if it is within the range, the re-movement flag is set (step S198), and if it is outside the range, the flag is reset (step S19).
9) The process proceeds to step S20.

【0064】この停止解除チェックサブルーチンでは、
一時停止状態からスローアップ制御を行なう関係でステ
ップS197でのチェックが一時停止に必要な距離を考
慮せずに行われ、この点が図9の相手範囲チェック用の
サブルーチンと異なる。再移動フラッグの設定状態に応
じて、ステップS20では移動再開可能であるか否か判
定され、移動再開不可であるときはステップS196で
演算した再移動補間点を駆動ユニット76b或いはこの
ユニット及び他のユニット77b,77bへ出力せずに
ステップS18に進み、移動再開可能であるときはステ
ップS21で前記再移動補間点を駆動ユニットへ出力す
る。
In the stop release check subroutine,
Because the slow-up control is performed from the temporary stop state, the check in step S197 is performed without considering the distance required for the temporary stop, which is different from the subroutine for subroutine range check in FIG. According to the setting state of the re-movement flag, it is determined in step S20 whether the movement can be resumed. If the movement cannot be resumed, the re-movement interpolation point calculated in step S196 is determined by the drive unit 76b or this unit and other units. The process proceeds to step S18 without outputting to the units 77b, 77b. If the movement can be restarted, the re-movement interpolation point is output to the drive unit in step S21.

【0065】これにより、1ms毎にステップS196
で演算される再移動補間点が移動許容範囲外となる限り
従属制御対象とされる第2主軸ヘッド31bは一時停止
位置に保持されるが、再移動補間点が移動許容範囲内と
なれば1ms毎に第2主軸ヘッド31bが再移動送りさ
れる。ステップS17,S20及びS21に続いて実行
されるステップS18では、優先制御対象である第1主
軸ヘッド31aが補間動作を実行中であるときCPU7
1がこの第1主軸ヘッド31aについて図5の制御動作
を実行する。このため、従属制御対象とされる第2主軸
ヘッド31bは、優先制御対象である第1主軸ヘッド3
1aの移動許容範囲がステップS12で縮小されるま
で、一時停止される。そして、第1主軸ヘッド31aの
移動許容範囲の縮小に伴って第2主軸ヘッド31bは、
その移動許容範囲がステップS194で拡大されると、
この拡大につれて移動を再開する。
As a result, step S196 is performed every 1 ms.
As long as the re-movement interpolation point calculated by the above is outside the movement allowable range, the second spindle head 31b to be subjected to the dependent control is held at the temporary stop position, but if the re-movement interpolation point is within the movement allowable range, 1 ms Each time, the second spindle head 31b is re-moved and fed. In step S18 executed after steps S17, S20 and S21, when the first spindle head 31a to be subjected to the priority control is performing the interpolation operation, the CPU 7
1 executes the control operation of FIG. 5 for the first spindle head 31a. For this reason, the second spindle head 31b which is the subject of the dependent control is different from the first spindle head 3
The movement is temporarily stopped until the allowable movement range of 1a is reduced in step S12. Then, with the reduction of the allowable movement range of the first spindle head 31a, the second spindle head 31b
When the allowable movement range is expanded in step S194,
Movement is resumed as this enlarges.

【0066】つまり、各主軸ヘッド31a,31bの各
々は、従属制御対象とされる場合、優先制御対象とされ
る一方の主軸ヘッドについてのステップS12での移動
許容範囲の縮小に連れて、自己の移動許容範囲をステッ
プS194にて拡大するようになっている。なお、ステ
ップS4に続くステップ22は、干渉しないY軸又はZ
軸を指定する1ブロックのNCデータについて実行され
るステップで、このステップは詳細図示省略されている
が、図5中のステップS7、S10、S13及びS14
に対応する処理を含む。
That is, when each of the spindle heads 31a and 31b is to be subjected to subordinate control, each of the spindle heads 31a and 31b has its own head as the allowable movement range of one of the spindle heads to be subjected to priority control is reduced in step S12. The allowable movement range is expanded in step S194. Step 22 following step S4 is performed on the Y-axis or Z-axis without interference.
This step is executed for one block of NC data for designating an axis. Although this step is not shown in detail, steps S7, S10, S13 and S14 in FIG.
Is included.

【0067】これにより、Y軸又はZ軸が指定される1
ブロックのNCデータを実行する場合、ステップS4か
らステップS22に移行され、前述した補間処理開始フ
ラッグをセットして補間処理の実行中を記憶し、その後
そのデータブロックで指定された1ms後の補間点を演
算して指定軸の駆動ユニットへ出力し、この補間点演算
及び出力処理をそのデータブロックで指定された各制御
軸の目標位置が到達されるまで1ms毎に繰り返し実行
する。
Thus, the Y axis or the Z axis is designated.
When the NC data of the block is to be executed, the process proceeds from step S4 to step S22, in which the above-described interpolation processing start flag is set to store the execution of the interpolation processing, and then the interpolation point 1 ms later specified in the data block is set. Is calculated and output to the drive unit of the designated axis, and this interpolation point calculation and output processing are repeatedly executed every 1 ms until the target position of each control axis designated by the data block is reached.

【0068】上記した移動/チェック処理動作は第1主
軸ヘッド31aを優先制御対象として制御する1サイク
ル動作を想定して記述したが、第2主軸ヘッド31bを
優先制御対象として制御する1サイクル動作も実質的に
同一である。この場合、第2主軸ヘッド31b用のNC
プログラムには、第1主軸ヘッド31aの制御軸X,
Y,Zにそれぞれ対応する制御軸としてU,V,Wの制
御軸が指定される。第2主軸ヘッド31bを優先制御対
象として制御する1サイクル動作では、ステップS9に
続いてステップS10〜S13が実行され、この場合の
従属制御対象である第1主軸ヘッド31aが第2主軸ヘ
ッド31bと干渉する場合、この第1主軸ヘッド31a
についてステップS16〜S21が実行される。
The above-described movement / check processing operation has been described assuming a one-cycle operation in which the first spindle head 31a is controlled as a priority control object. However, a one-cycle operation in which the second spindle head 31b is controlled as a priority control object is also described. Substantially the same. In this case, the NC for the second spindle head 31b
The program includes the control axes X and X of the first spindle head 31a.
U, V, and W control axes are designated as control axes corresponding to Y and Z, respectively. In the one-cycle operation for controlling the second spindle head 31b as the priority control target, steps S10 to S13 are executed following step S9, and the first spindle head 31a, which is the slave control target in this case, is connected to the second spindle head 31b. In the case of interference, the first spindle head 31a
Are executed for steps S16 to S21.

【0069】第2主軸ヘッド31b用のNCプログラム
を作成する場合、制御軸をU,V,Wとして指定しても
よいが、プログラム作成者の便宜のためにX,Y,Zと
してしNCプログラムを作成させ、第2主軸ヘッド31
bについて図4のプログラム実行処理103を行なう際
にこれら制御軸X、Y、ZをU,V,Wに自動的に読み
替えるようにしてもよい。
When creating an NC program for the second spindle head 31b, the control axes may be designated as U, V, and W, but for convenience of the program creator, the NC axes are designated as X, Y, and Z. And the second spindle head 31
The control axes X, Y, and Z may be automatically read as U, V, and W when the program execution processing 103 shown in FIG.

【0070】左右方向を第1及び第2主軸ヘッド31
a,31bのX軸に沿う送り位置とし、上下方向を時間
経過として両主軸ヘッドのX軸移動を表現した説明図1
1を参照して、第1主軸ヘッド31aが優先制御対象と
して先に起動され、この直後に第2主軸ヘッド31bが
従属制御対象として起動される場合における両主軸ヘッ
ドの送り制御を以下に補足説明する。なお、同図におい
ては、第1主軸ヘッド31aのY及びZ軸に沿う運動及
び第2主軸ヘッド31bのV及びW軸に沿う運動は省略
されている。
The first and second spindle heads 31 extend in the left-right direction.
FIG. 1 is an explanatory view showing the X-axis movement of both spindle heads with the feed position along the X-axis of a and 31b and the elapse of time in the vertical direction.
1, the feed control of the two spindle heads when the first spindle head 31a is activated first as the priority control target and immediately thereafter is activated as the second spindle head 31b as the subordinate control target will be supplementarily described below. I do. In the figure, the movement of the first spindle head 31a along the Y and Z axes and the movement of the second spindle head 31b along the V and W axes are omitted.

【0071】第1主軸ヘッド31aが最初に駆動される
場合、NCプログラムの第1ブロックに指定される移動
範囲設定Gコードに従って、移動許容範囲の境界座標B
C1が送り原点x0から第2主軸ヘッド31b側のx1
に移される(ステップS33)。この境界座標の設定
後、X軸送り用の複数のNCデータブロックの実行によ
り、第1主軸ヘッド31aがPa1,Pa2,Pa3の
各加工位置に順次位置決めされ、これらの位置でY方向
に移動された後Z方向に送られて、工作物Wに例えば穴
明け加工が施され、再び、送り開始位置Pa0へ復帰さ
れる。第1主軸ヘッド31aが最も第2主軸ヘッド31
b側に接近した加工位置Pa2から送り原点Pa0に復
帰されるに連れて、優先移動許容範囲の境界座標BC1
が順次縮小後退されるように変更される(ステップS1
2)。
When the first spindle head 31a is driven first, the boundary coordinates B of the movement allowable range are set according to the movement range setting G code specified in the first block of the NC program.
C1 is x1 on the second spindle head 31b side from the feed origin x0.
(Step S33). After setting the boundary coordinates, the first spindle head 31a is sequentially positioned at each of the processing positions Pa1, Pa2, and Pa3 by executing a plurality of NC data blocks for X-axis feed, and is moved in the Y direction at these positions. Then, the workpiece W is sent in the Z direction, for example, a hole is formed in the workpiece W, and the workpiece W is returned to the feed start position Pa0 again. The first spindle head 31a is the second spindle head 31
As the machining position Pa2 approaches the b side and returns to the feed origin Pa0, the boundary coordinates BC1 of the preferential movement allowable range
Are sequentially reduced and retracted (step S1).
2).

【0072】従属制御対象である第2主軸ヘッド31b
用のNCプログラムは、その後データブロックに従って
同主軸ヘッド31bを第1加工位置Pb1、第2加工位
置Pb2に順次位置決めしてこれらの位置で工作物Wに
加工を施し、送り開始位置Pb0に復帰するように作成
される。第2主軸ヘッド31bについては、そのNCプ
ログラムの第1ブロックに指定される移動範囲設定Gコ
ードに従って、その境界座標BC2が送り原点のu0か
ら第1主軸ヘッド31a側のu1に移される(ステップ
S34)。この場合、最初に設定される境界座標BC2
は、境界座標BC1が既に自身の指令許容範囲内に張り
出して設定されてしまっているので、境界座標BC1の
位置x1よりも後退したu1位置とされる。従って、第
2工具主軸31bは第1加工位置Pb1まで直ちに移動
できず、その手前で減速停止され、Pim1位置で一時
停止される(ステップS16)。
The second spindle head 31b to be controlled independently
The NC program then sequentially positions the spindle head 31b at the first machining position Pb1 and the second machining position Pb2 according to the data block, performs machining on the workpiece W at these positions, and returns to the feed start position Pb0. Is created as follows. For the second spindle head 31b, the boundary coordinate BC2 is moved from u0 of the feed origin to u1 on the first spindle head 31a side in accordance with the movement range setting G code specified in the first block of the NC program (step S34). ). In this case, the first set boundary coordinates BC2
Is set as the u1 position which is set back from the position x1 of the boundary coordinate BC1 because the boundary coordinate BC1 has already been set to protrude within its own command allowable range. Accordingly, the second tool spindle 31b cannot immediately move to the first machining position Pb1, and is decelerated and stopped just before the first processing position Pb1, and temporarily stopped at the Pim1 position (step S16).

【0073】そして、この減速停止処理は、例えば第1
主軸ヘッド31aのNCプログラムが図12に示すよう
なブロックを含んでおり、メモリ72内のエリア72f
に図13に示す各テーブルが記憶されているとすると以
下のように実行される。ステップS6に示すように、先
ず、リミット情報テーブル724から基準補正係数A=
0.7が取出される(ステップS61)。次に、図12
に示すNCプログラムに記述されているT03を読取
り、工具情報テーブル721からこの03番に対応する
工具情報を取出す(ステップS62)。この場合は03
番の工具はタップであり、その直径は8(mm)となっ
ている。
The deceleration stop processing is performed, for example, in the first
The NC program of the spindle head 31a includes a block as shown in FIG.
If the respective tables shown in FIG. 13 are stored in the table, the processing is executed as follows. As shown in step S6, first, the reference correction coefficient A =
0.7 is taken out (step S61). Next, FIG.
Then, T03 described in the NC program shown in (1) is read, and tool information corresponding to the number 03 is taken out from the tool information table 721 (step S62). In this case 03
The numbered tool is a tap, and its diameter is 8 (mm).

【0074】次に、加工補正テーブル723から、直径
8(mm)のタップのに対応する補正係数B=0.5が
取出される(ステップS63)。次に、図12に示すN
Cプログラムに記述されている精度番号=4に対応する
補正係数C=0.8が精度補正テーブル722から取出
される(ステップS64)。そして、補正係数Kが K=A×B×C =0.7×0.5×0.8 =0.28 により算出される。
Next, a correction coefficient B = 0.5 corresponding to a tap having a diameter of 8 (mm) is extracted from the processing correction table 723 (step S63). Next, N shown in FIG.
The correction coefficient C = 0.8 corresponding to the accuracy number = 4 described in the C program is extracted from the accuracy correction table 722 (step S64). Then, the correction coefficient K is calculated by the following equation: K = A × B × C = 0.7 × 0.5 × 0.8 = 0.28.

【0075】この補正係数K=0.28がリミット情報
テーブル724に記憶されている最小補正係数の0.3
よりも小さいので(ステップS68)、補正係数はこの
最小補正係数の0.3に設定される。そして、第2工具
主軸31bは通常の減速時の減速度にこの補正係数0.
3を乗じた減速度で減速停止される。このように、工具
径の細いタップ加工においてある程度の精度が要求され
る場合は、干渉防止時には最小の減速度で減速停止され
るようになっている。
The correction coefficient K = 0.28 is equal to 0.3 of the minimum correction coefficient stored in the limit information table 724.
(Step S68), the correction coefficient is set to the minimum correction coefficient of 0.3. Then, the second tool spindle 31b sets the deceleration at the time of normal deceleration to this correction coefficient 0.
It is decelerated and stopped at the deceleration multiplied by 3. As described above, when a certain degree of accuracy is required in tapping with a small tool diameter, the deceleration is stopped at a minimum deceleration when interference is prevented.

【0076】そして、第1主軸ヘッド31aが第2加工
位置Pa2を離れ第3加工位置Pa3へ移動するに連れ
てその境界座標BC1が順次縮小後退される(ステップ
S12)ので、これと同期して境界座標BC2が順次拡
大前進される(ステップS194)。これと共に、第2
主軸ヘッド31bは第1加工位置Pb1に向けて移動を
再開し(ステップS20,S21)、拡大される境界座
標BC2に沿って移動される。
Then, as the first spindle head 31a leaves the second machining position Pa2 and moves to the third machining position Pa3, the boundary coordinates BC1 are sequentially reduced and retracted (step S12). The boundary coordinates BC2 are sequentially enlarged and advanced (step S194). Along with this, the second
The spindle head 31b restarts moving toward the first processing position Pb1 (steps S20 and S21), and moves along the enlarged boundary coordinates BC2.

【0077】第1主軸ヘッド31aが第3加工位置Pa
3に位置決めされる時、その境界座標BC1もX2位置
に設定され、境界座標BC2がu2位置で拡大前進を一
時停止され、第2主軸ヘッド31bは前述と同じ減速度
で減速停止され、Pim2位置で再度一時停止される。
そして、第1主軸ヘッド31aが送り原点Pa0へ復帰
して1サイクル動作を完了するとき、境界座標BC2が
第2主軸ヘッド31bの指令許容範囲の境界座標位置で
あるu3位置まで拡大され、第2主軸ヘッド31bは第
1加工位置Pb1へ位置決めされて加工動作を遂行でき
るようになる。
The first spindle head 31a is moved to the third machining position Pa
3, the boundary coordinate BC1 is also set to the X2 position, the boundary coordinate BC2 is temporarily stopped from expanding at the u2 position, the second spindle head 31b is decelerated and stopped at the same deceleration as described above, and the Pim2 position is set. Will be paused again.
Then, when the first spindle head 31a returns to the feed origin Pa0 and completes one cycle operation, the boundary coordinate BC2 is enlarged to the position u3 which is the boundary coordinate position of the command allowable range of the second spindle head 31b, The spindle head 31b is positioned at the first processing position Pb1, and can perform the processing operation.

【0078】第1主軸ヘッド31aが送り開始位置Pa
0へ復帰された後、工具交換動作が実行され、2番目の
1サイクル動作が開始される。2番目の1サイクル動作
のための第1ブロックのGコードに基づき、境界座標B
C1の再設定が行われる。この場合、第1主軸ヘッド3
1aが従属制御対象とされ、第2主軸ヘッド31aが優
先制御対象とされる。2番目の1サイクル動作における
第1加工位置は第1主軸ヘッド31aが最も第2主軸ヘ
ッド31b側に接近する位置Pa4として想定されてい
るが、前述したように第2主軸ヘッド31bの移動許容
範囲の境界座標BC2がu3位置まで拡大されているの
で、x3位置に第1主軸ヘッド31aの境界座標BC1
が設定され(ステップS34)、第2主軸ヘッド31b
の加工状況に応じた減速度で減速停止され、Pim1位
置で一時停止される。この境界座標BC1は、の境界座
標BC2が縮小後退されるに連れて徐々に拡大前進さ
れ、最終的には加工位置Pa4への第1主軸ヘッド31
aの位置決めを許容するx4位置まで拡大される。
When the first spindle head 31a is at the feed start position Pa
After returning to 0, a tool change operation is performed, and a second one-cycle operation is started. Based on the G code of the first block for the second one-cycle operation, the boundary coordinates B
C1 is reset. In this case, the first spindle head 3
1a is a slave control target, and the second spindle head 31a is a priority control target. The first processing position in the second one-cycle operation is assumed to be a position Pa4 where the first spindle head 31a is closest to the second spindle head 31b side, but as described above, the allowable movement range of the second spindle head 31b. Since the boundary coordinate BC2 of the first spindle head 31a is enlarged to the position u3, the boundary coordinate BC1 of the first spindle head 31a is located at the position x3.
Is set (step S34), and the second spindle head 31b is set.
Is decelerated and stopped at a deceleration corresponding to the processing state of the above, and is temporarily stopped at the Pim1 position. The boundary coordinate BC1 is gradually enlarged and advanced as the boundary coordinate BC2 of the first spindle head 31 is moved to the machining position Pa4.
It is enlarged to the x4 position that allows the positioning of a.

【0079】上記動作説明から明らかなように、先に送
り原点から相手側に向かって前進する一方の主軸ヘッド
(優先ヘッド)は、後から送り開始位置を離れる他方の
主軸ヘッド(従属ヘッド)よりも優先的に自己の移動許
容範囲の境界座標BC1を最大の指令許容範囲位置x1
まで張り出すことができ、これにより優先ヘッドが従属
ヘッドに優先して加工動作を進めることができる。これ
に対し、従属ヘッドは優先ヘッドとの干渉が生じると判
定されるときは、優先ヘッドの加工条件に応じた減速度
で減速停止されて干渉が回避されるまで待機され、その
後干渉が生じない範囲まで優先ヘッド側に前進される。
As is apparent from the above description of the operation, one spindle head (priority head) which advances first from the feed origin toward the other side is different from the other spindle head (subordinate head) which leaves the feed start position later. Also preferentially sets the boundary coordinate BC1 of its own movement allowable range to the maximum command allowable range position x1.
The priority head can advance the processing operation in preference to the subordinate head. On the other hand, when it is determined that the dependent head causes interference with the priority head, the dependent head is decelerated and stopped at a deceleration corresponding to the processing condition of the priority head, and waits until interference is avoided, after which no interference occurs It is advanced to the priority head side to the range.

【0080】そして、優先ヘッドがその境界座標を最大
値まで拡大した後に初期値(ゼロ)まで縮小するまで優
先ヘッドとしての加工の優先権が与えられる。しかしな
がら、優先ヘッドが送り開始位置へ一旦復帰され、従属
ヘッドが送り開始位置を離れている状態で優先ヘッドが
再び送り開始位置を離れるときは、主従関係が逆転さ
れ、先の従属ヘッド及び優先ヘッドがそれぞれ優先及び
従属ヘッドとされる。
Then, the priority of processing as the priority head is given until the priority head enlarges its boundary coordinates to the maximum value and then reduces it to the initial value (zero). However, when the priority head is once returned to the feed start position and the priority head leaves the feed start position again in a state where the subordinate head has left the feed start position, the master-slave relationship is reversed, and the previous subordinate head and the priority head Are the priority and subordinate heads, respectively.

【0081】図14は、本発明による第2の実施の形態
におけるCNC装置70の概略構成を示すブロック図
で、この形態は前述したCPUが第1主軸ヘッド31a
用の制御軸X,Y,Zを制御する第1CPU71aと第
2主軸ヘッド31b用の制御軸U,V,Wを制御する第
2CPU71bからなることを特徴とする。入力装置7
3及びそれぞれがCPU71aとCPU71bに対応す
るメモリ172a,172bは、データバスDBにより
CPU71a,71bに接続される。各メモリ172
a,172bには、図5〜図10に示すシステムプログ
ラムが記憶され他、対応する主軸ヘッド用のNCプログ
ラムが記憶され、さらに両主軸ヘッドの移動許容範囲の
境界座標BC1,BC2が記憶されるようにして各CP
U71a,71bが図6のステップS32、図9のステ
ップS81及びS82、図11のステップS191及び
S192において相手の主軸ヘッドの設定移動範囲を参
照できるようにしている。
FIG. 14 is a block diagram showing a schematic configuration of a CNC device 70 according to a second embodiment of the present invention.
And a second CPU 71b controlling the control axes U, V, W for the second spindle head 31b. Input device 7
3 and memories 172a and 172b respectively corresponding to the CPUs 71a and 71b are connected to the CPUs 71a and 71b by the data bus DB. Each memory 172
a and 172b store the NC programs for the corresponding spindle heads in addition to the system programs shown in FIGS. 5 to 10, and further store the boundary coordinates BC1 and BC2 of the allowable movement range of both spindle heads. Like each CP
U71a and 71b can refer to the set movement range of the other spindle head in step S32 in FIG. 6, steps S81 and S82 in FIG. 9, and steps S191 and S192 in FIG.

【0082】各CPU71a,71bのその他動作は前
述した第1の実施の形態における第1主軸ヘッド31a
を制御する場合のCPU71の動作と実質的に同一であ
るので、詳細な記述は省略する。この形態では、各CP
U71a,71bが自己のシステムプログラムに従って
個別に動作できるので、図5中の相手処理ステップ(例
えば、S14、S18等)は不要であり、実行されな
い。
Other operations of the CPUs 71a and 71b are the same as those of the first spindle head 31a in the first embodiment.
Is substantially the same as the operation of the CPU 71 when controlling the control, and a detailed description is omitted. In this mode, each CP
Since U71a and 71b can operate individually according to their own system programs, the partner processing steps (for example, S14, S18, etc.) in FIG. 5 are unnecessary and are not executed.

【0083】上述した実施の態様には、下記の変更が可
能であり、このような変更の下でも本発明は実施可能で
ある。主軸ヘッド31a,31bが移動する共通の制御
軸は、上述した共用のガイドレール12,12に代え
て、個別のガイドレールとしてもよい。干渉が生じる主
軸ヘッド31a,31bの移動方向は、工具Tを工作物
に向けて前後動する方向でもよい。
The following modifications can be made to the above-described embodiment, and the present invention can be implemented even under such modifications. The common control shaft on which the spindle heads 31a and 31b move may be individual guide rails instead of the common guide rails 12 and 12 described above. The direction of movement of the spindle heads 31a and 31b where the interference occurs may be a direction in which the tool T moves back and forth toward the workpiece.

【0084】主軸ヘッド31a,31bにそれぞれ境界
座標BC1,BC2を設定しているが、単一の境界座標
とし、この単一の境界座標の両側を主軸ヘッド31a,
31bのそれぞれの移動許容範囲として設定してもよ
い。図5の干渉チェック及び移動範囲の変更は、1つの
補間点を出力する毎に行なってもよいが、所定の数の補
間点を出力する毎に行なうように粗い処理としてもよ
い。
Boundary coordinates BC1 and BC2 are set on the spindle heads 31a and 31b, respectively. A single boundary coordinate is set, and both sides of the single boundary coordinate are set on the spindle heads 31a and 31b.
31b may be set as each allowable movement range. The interference check and the change of the movement range in FIG. 5 may be performed each time one interpolation point is output, or may be a rough process that is performed every time a predetermined number of interpolation points are output.

【0085】数値制御装置70の制御対象を工作機械の
主軸ヘッドとしたが、上述した実施の形態におけるX軸
とU軸のように干渉を生じ得る共通の制御軸上を移動す
るその他の可動体としてもよい。減速度の補正係数の算
出に、工具の長さ、工具の回転速度、送り速度を加える
ようにしてもよい。第1主軸ヘッド31aの加工状況に
応じて第2主軸ヘッド31bの減速度を変化させて第2
主軸ヘッド31bが第1主軸ヘッド31aと干渉しない
位置に減速停止させるようにしたが、第1主軸ヘッド3
1aの加工状況に応じて第2主軸ヘッド31bの位置決
め時の早送り速度を変化させ、干渉防止のための減速時
には、通常の減速度にて減速停止させるようにしてもよ
い。
Although the object to be controlled by the numerical controller 70 is the spindle head of the machine tool, other movable members that move on a common control axis that may cause interference, such as the X axis and the U axis in the above-described embodiment. It may be. The length of the tool, the rotation speed of the tool, and the feed speed may be added to the calculation of the deceleration correction coefficient. The deceleration of the second spindle head 31b is changed in accordance with the machining state of the first spindle head 31a to perform the second
The spindle head 31b is decelerated and stopped at a position where it does not interfere with the first spindle head 31a.
The fast-forward speed at the time of positioning the second spindle head 31b may be changed according to the machining condition 1a, and the deceleration may be stopped at a normal deceleration speed during deceleration for preventing interference.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明による実施の態様における数値制御装置
が制御対象とする2つの主軸ヘッドを備えた工作機械の
一部を破断した平面図。
FIG. 1 is a partially cutaway plan view of a machine tool having two spindle heads to be controlled by a numerical controller according to an embodiment of the present invention.

【図2】図1のA−A線矢視方向から観た前記工作機械
の正面図。
FIG. 2 is a front view of the machine tool viewed from the direction of arrows AA in FIG. 1;

【図3】図1の工作機械を制御する前記数値制御装置の
概略構成を示すブロック図。
FIG. 3 is a block diagram showing a schematic configuration of the numerical controller that controls the machine tool of FIG. 1;

【図4】図3の数値制御装置が実行する制御処理の概要
を説明するための制御機能ブロック図。
FIG. 4 is a control function block diagram for explaining an outline of a control process executed by the numerical control device of FIG. 3;

【図5】図4の制御機能ブロック図における移動/チェ
ック機能を前記数値制御装置に実行させるためのシステ
ム制御プログラムのフローチャート。
FIG. 5 is a flowchart of a system control program for causing the numerical control device to execute the movement / check function in the control function block diagram of FIG. 4;

【図6】図5のフローチャートの移動範囲設定処理ステ
ップにて実行されるサブルーチンの詳細を示すフローチ
ャート。
FIG. 6 is a flowchart showing details of a subroutine executed in a movement range setting processing step of the flowchart in FIG. 5;

【図7】図5のフローチャートの範囲外確認ステップに
て実行されるサブルーチンの詳細を示すフローチャー
ト。
FIG. 7 is a flowchart showing details of a subroutine executed in an out-of-range confirmation step of the flowchart in FIG. 5;

【図8】図5のフローチャートの減速度決定ステップに
て実行されるサブルーチンの詳細を示すフローチャー
ト。
FIG. 8 is a flowchart showing details of a subroutine executed in a deceleration determination step of the flowchart in FIG. 5;

【図9】図5のフローチャートの相手範囲チェックステ
ップにて実行されるサブルーチンの詳細を示すフローチ
ャート。
FIG. 9 is a flowchart showing details of a subroutine executed in a partner range check step in the flowchart of FIG. 5;

【図10】図5のフローチャートの停止解除チェックス
テップにて実行されるサブルーチンの詳細を示すフロー
チャート。
FIG. 10 is a flowchart showing details of a subroutine executed in a stop release check step in the flowchart of FIG. 5;

【図11】本発明により数値制御装置が2つの主軸ヘッ
ドを制御する場合の移動制御機能を説明する制御位置−
時間チャート。
FIG. 11 is a control position illustrating a movement control function when the numerical controller controls two spindle heads according to the present invention.
Time chart.

【図12】本発明の数値制御装置のメモリ内に記憶され
ているNCプログラムの一部を表す図。
FIG. 12 is a diagram showing a part of an NC program stored in a memory of the numerical controller according to the present invention.

【図13】本発明の数値制御装置のメモリ内に記憶され
ている変速情報を表す図。
FIG. 13 is a view showing shift information stored in a memory of the numerical controller according to the present invention.

【図14】本発明による別の実施の形態における数値制
御装置の概略構成を示すブロック図。
FIG. 14 is a block diagram showing a schematic configuration of a numerical control device according to another embodiment of the present invention.

【図15】従来の数値制御装置が2つの主軸ヘッドを制
御する場合の移動制御機能を説明する制御位置−時間チ
ャート。
FIG. 15 is a control position-time chart for explaining a movement control function when a conventional numerical controller controls two spindle heads.

【図16】別の従来の数値制御装置が2つの主軸ヘッド
を制御する場合の移動制御機能を説明する制御位置−時
間チャート。
FIG. 16 is a control position-time chart for explaining a movement control function when another conventional numerical controller controls two spindle heads.

【符号の説明】[Explanation of symbols]

31a,31b・・・第1及び第2主軸ヘッド 12,12・・・ガイドレール 70・・・数値制御装置 71・・・CPU 72・・・メモリ 76a〜78a・・・X,Y,Z軸駆動ユニット 76b〜78b・・・U,V,W軸駆動ユニット BC1,BC2・・・境界座標 S3・・・移動範囲設定処理ステップ S6・・・減速度決定ステップ S12・・・移動範囲変更ステップ S17・・・減速補間点演算・出力ステップ S19・・・停止解除チェックステップ 31a, 31b: First and second spindle heads 12, 12, Guide rail 70: Numerical control device 71: CPU 72: Memory 76a to 78a: X, Y, Z axes Drive units 76b to 78b ... U, V, W axis drive units BC1, BC2 ... Boundary coordinates S3 ... Move range setting processing step S6 ... Deceleration determination step S12 ... Move range change step S17 ... Deceleration interpolation point calculation / output step S19 ... Stop release check step

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 共通の経路に沿って移動可能な2つの可
動体を互いに接近離間する方向に個別のNCプログラム
に従ってそれぞれ移動制御する数値制御装置において、
前記一方の可動体の加工状況に応じて前記他方の可動体
の減速度を変化させて前記他方の可動体を一方の可動体
と干渉しない位置に減速停止させるか、または前記一方
の可動体の加工状況に応じて前記他方の可動体の早送り
速度を変化させる減速停止手段とを含むことを特徴とす
る数値制御装置。
1. A numerical controller for controlling the movement of two movable bodies movable along a common path in a direction approaching and separating from each other according to an individual NC program,
The deceleration of the other movable body is changed according to the processing situation of the one movable body to decelerate and stop the other movable body at a position that does not interfere with the one movable body, or A numerical control device comprising: deceleration stop means for changing a rapid traverse speed of the other movable body according to a processing situation.
【請求項2】 共通の経路に沿って移動可能な2つの可
動体を互いに接近離間する方向に個別のNCプログラム
に従ってそれぞれ移動制御する数値制御装置において、
一方の可動体が他方の可動体側に最も接近される目標位
置に基づいて移動範囲境界を設定する範囲設定手段と、
前記移動範囲境界により区画されるそれぞれの移動許容
範囲内で前記一方及び他方の可動体をそれぞれが対応す
る前記数値制御プログラムに従って移動させる移動制御
手段と、前記NCプログラムに従う前記他方の可動体の
移動が前記移動範囲境界を超えようとするときには前記
一方の可動体の加工状況に応じて前記他方の可動体の減
速度を変化させて前記他方の可動体を一方の可動体と干
渉しない位置に減速停止させるか、または前記一方の可
動体の加工状況に応じて前記他方の可動体の早送り速度
を変化させる減速停止手段とを含むことを特徴とする数
値制御装置。
2. A numerical controller for controlling the movement of two movable bodies movable along a common path in a direction approaching and separating from each other in accordance with individual NC programs.
Range setting means for setting a moving range boundary based on a target position where one movable body is closest to the other movable body side;
Movement control means for moving the one and the other movable bodies in accordance with the corresponding numerical control program within respective movement allowable ranges defined by the movement range boundaries, and movement of the other movable body in accordance with the NC program When trying to exceed the boundary of the movement range, the deceleration of the other movable body is changed in accordance with the processing state of the one movable body to decelerate the other movable body to a position where it does not interfere with the one movable body. A numerical control device comprising: deceleration stop means for stopping or changing a rapid traverse speed of the other movable body according to a processing condition of the one movable body.
【請求項3】 共通の経路に沿って移動可能な2つの可
動体を互いに接近離間する方向に個別のNCプログラム
に従ってそれぞれ移動制御する数値制御装置において、
一方の可動体が他方の可動体側に最も接近される目標位
置に基づいて移動範囲境界を設定する範囲設定手段と、
前記移動範囲境界により区画されるそれぞれの移動許容
範囲内で前記一方及び他方の可動体をそれぞれが対応す
る前記数値制御プログラムに従って移動させる移動制御
手段と、前記一方の可動体が前記移動範囲境界内で前記
他方の可動体側に最も接近する前記目標位置に到達した
後に前記他方の可動体側から遠ざかる離間方向に移動す
るときは前記一方及び他方の可動体の前記移動許容範囲
をそれぞれ縮小及び拡大するように前記移動範囲境界を
前記一方の可動体の前記離間方向移動と共に変更する境
界変更手段と、さらに、前記NCプログラムに従う前記
他方の可動体の移動が前記移動範囲境界を超えようとす
るときには前記一方の可動体の加工状況に応じて前記他
方の可動体の減速度を変化させて前記他方の可動体を一
方の可動体と干渉しない位置に減速停止させるか、また
は前記一方の可動体の加工状況に応じて前記他方の可動
体の早送り速度を変化させると共に通常の減速度にて減
速停止させ、その後に前記移動範囲境界が変更されて前
記他方の可動体の移動許容範囲が拡大されるまで前記他
方の可動体を一時停止する減速停止手段とを含むことを
特徴とする数値制御装置。
3. A numerical controller for controlling the movement of two movable bodies movable along a common path in a direction of approaching and separating from each other according to an individual NC program.
Range setting means for setting a moving range boundary based on a target position where one movable body is closest to the other movable body side;
Movement control means for moving the one and the other movable bodies in accordance with the corresponding numerical control program within respective movement permissible ranges defined by the movement range boundary, and wherein the one movable body is within the movement range boundary When moving in the direction away from the other movable body after reaching the target position closest to the other movable body side, the movable permissible ranges of the one and the other movable bodies are respectively reduced and enlarged. Boundary changing means for changing the boundary of the movable range together with the movement of the one movable body in the separating direction; and further comprising the step of: when the movement of the other movable body according to the NC program is going to exceed the boundary of the movable range. The deceleration of the other movable body is changed in accordance with the processing state of the movable body, and the other movable body interferes with the one movable body. Decelerating to a position where there is no deceleration, or changing the rapid traverse speed of the other movable body according to the processing condition of the one movable body and decelerating and stopping at a normal deceleration, and thereafter the moving range boundary is changed A deceleration stop means for temporarily stopping the other movable body until the movement allowable range of the other movable body is expanded.
【請求項4】 請求項1乃至3に記載の数値制御装置に
おいて、前記一方の可動体の加工状況は、工具種類、工
具径及び要求加工精度の少なくとも1つを含む情報から
判断されることを特徴とする数値制御装置。
4. The numerical controller according to claim 1, wherein the machining state of the one movable body is determined from information including at least one of a tool type, a tool diameter, and a required machining accuracy. Numerical control unit characterized.
JP11093986A 1999-03-31 1999-03-31 Numerical controller to simultaneously control two movable objects no common track Pending JP2000284817A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11093986A JP2000284817A (en) 1999-03-31 1999-03-31 Numerical controller to simultaneously control two movable objects no common track

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11093986A JP2000284817A (en) 1999-03-31 1999-03-31 Numerical controller to simultaneously control two movable objects no common track

Publications (1)

Publication Number Publication Date
JP2000284817A true JP2000284817A (en) 2000-10-13

Family

ID=14097734

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11093986A Pending JP2000284817A (en) 1999-03-31 1999-03-31 Numerical controller to simultaneously control two movable objects no common track

Country Status (1)

Country Link
JP (1) JP2000284817A (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002328711A (en) * 2001-04-27 2002-11-15 Mitsubishi Electric Corp Numerical control method and its device
JP2002341915A (en) * 2001-05-16 2002-11-29 Citizen Watch Co Ltd Method for machining work in numerically controlled machine tool and its program
JP2002341913A (en) * 2001-05-16 2002-11-29 Citizen Watch Co Ltd Method for machining work in numerically controlled machine tool and its program
JP2007069269A (en) * 2005-09-02 2007-03-22 Nakamura Tome Precision Ind Co Ltd Method for changing stroke range of tool rest in two-spindle opposed lathe
JP2008500620A (en) * 2004-05-24 2008-01-10 シーメンス アクチエンゲゼルシヤフト Computer-aided determination of additional position target values for additional elements that can be moved with position guidance in machines, in particular production machines
KR20130086785A (en) * 2012-01-26 2013-08-05 두산인프라코어 주식회사 Operation panel arm control method
JP2016153155A (en) * 2015-02-20 2016-08-25 ファナック株式会社 Human-robot cooperative system causing robot to evacuate
JP2018094663A (en) * 2016-12-12 2018-06-21 Dmg森精機株式会社 Tool changer and positioning method for gripping device
JP2018101338A (en) * 2016-12-21 2018-06-28 ファナック株式会社 Numerical control device
CN113759825A (en) * 2021-09-09 2021-12-07 深圳市富瑞精密制品有限公司 On-line control system and control method based on five rotating shafts and CNC (computer numerical control) machining center

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4599750B2 (en) * 2001-04-27 2010-12-15 三菱電機株式会社 Numerical control method and apparatus
JP2002328711A (en) * 2001-04-27 2002-11-15 Mitsubishi Electric Corp Numerical control method and its device
JP4541589B2 (en) * 2001-05-16 2010-09-08 シチズンホールディングス株式会社 Workpiece machining method and program in numerically controlled machine tool
JP2002341915A (en) * 2001-05-16 2002-11-29 Citizen Watch Co Ltd Method for machining work in numerically controlled machine tool and its program
JP2002341913A (en) * 2001-05-16 2002-11-29 Citizen Watch Co Ltd Method for machining work in numerically controlled machine tool and its program
JP2008500620A (en) * 2004-05-24 2008-01-10 シーメンス アクチエンゲゼルシヤフト Computer-aided determination of additional position target values for additional elements that can be moved with position guidance in machines, in particular production machines
US7826928B2 (en) 2004-05-24 2010-11-02 Siemens Aktiengesellschaft Computer-supported determination method for supplementary position set values for a position guided moving supplementary element of a machine in particular a production machine
JP4504286B2 (en) * 2005-09-02 2010-07-14 中村留精密工業株式会社 How to change the stroke range of the tool post on a two-spindle facing lathe
JP2007069269A (en) * 2005-09-02 2007-03-22 Nakamura Tome Precision Ind Co Ltd Method for changing stroke range of tool rest in two-spindle opposed lathe
KR20130086785A (en) * 2012-01-26 2013-08-05 두산인프라코어 주식회사 Operation panel arm control method
KR101865237B1 (en) * 2012-01-26 2018-06-07 두산공작기계 주식회사 Operation panel arm control method
JP2016153155A (en) * 2015-02-20 2016-08-25 ファナック株式会社 Human-robot cooperative system causing robot to evacuate
US9737989B2 (en) 2015-02-20 2017-08-22 Fanuc Corporation Human cooperation robot system in which robot is caused to perform retreat operation
JP2018094663A (en) * 2016-12-12 2018-06-21 Dmg森精機株式会社 Tool changer and positioning method for gripping device
JP2018101338A (en) * 2016-12-21 2018-06-28 ファナック株式会社 Numerical control device
CN113759825A (en) * 2021-09-09 2021-12-07 深圳市富瑞精密制品有限公司 On-line control system and control method based on five rotating shafts and CNC (computer numerical control) machining center
CN113759825B (en) * 2021-09-09 2023-04-11 深圳市富瑞精密制品有限公司 Control method based on five-axis rotation and CNC machining center online control system

Similar Documents

Publication Publication Date Title
EP0104409B1 (en) A method of establishing safe zones in a numerically controlled machine
US7689300B2 (en) Numerical control unit
JP4695727B1 (en) Numerically controlled machine tool
JP5813058B2 (en) Numerical controller with a function for shortening the starting point path of a complex fixed cycle
JPS6332586B2 (en)
JP2000284817A (en) Numerical controller to simultaneously control two movable objects no common track
KR930010589B1 (en) Cutting tool stop control apparatus
JP2006075916A (en) Protective cover opening/closing device for machine tool
JPS6365469B2 (en)
JP4947534B2 (en) Machine tool and method of operating machine tool
JPWO2004074953A1 (en) Numerical controller
JP5908552B1 (en) Machine tool controller
JP3587046B2 (en) Numerical control device that simultaneously controls two movable bodies on a common path
US10996655B2 (en) Numerical controller
JPH08263115A (en) Interference evading method for nc machine tool
JP2002273601A (en) Multispindle machine tool
JP2008009758A (en) Machine tool
JP2000305612A (en) Numerical controller capable of controlling plural main shafts
US20180364681A1 (en) Numerical controller
JP4672288B2 (en) Control device for controlling movement of movable part of machine tool, machine tool having control device, and moving method of movable part
JP2007249671A (en) Method for preventing collision in machine tool
US20230033414A1 (en) Numerical controller
JPS5918184B2 (en) Tool evacuation/return device in case of tool abnormality in machine tools
WO2022039142A1 (en) Numerical control device, machine tool, and machine tool control method
JP2021039401A (en) Numerical control device