JP3198010B2 - Control method and control device for machine tool - Google Patents
Control method and control device for machine toolInfo
- Publication number
- JP3198010B2 JP3198010B2 JP11631794A JP11631794A JP3198010B2 JP 3198010 B2 JP3198010 B2 JP 3198010B2 JP 11631794 A JP11631794 A JP 11631794A JP 11631794 A JP11631794 A JP 11631794A JP 3198010 B2 JP3198010 B2 JP 3198010B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- execution
- blocks
- start timing
- control
- 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.)
- Expired - Lifetime
Links
Landscapes
- Numerical Control (AREA)
Description
【0001】[0001]
【産業上の利用分野】この発明は、工作機械の制御方法
及び制御装置に関し、特に制御プログラムの複数のブロ
ックを同時に実行し、複数の制御軸を有する工作機械の
各制御軸を相互に関連して動作させるように制御する制
御方法及びそれを実行する制御装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a control method and a control device for a machine tool, and more particularly to a method for simultaneously executing a plurality of blocks of a control program and relating each control axis of a machine tool having a plurality of control axes. TECHNICAL FIELD The present invention relates to a control method for performing control so as to operate the control device and a control device for executing the control method.
【0002】[0002]
【従来の技術】数値制御装置のように、制御プログラム
によって制御される複数の制御軸(独立して制御可能な
可動部)を有する工作機械において、制御プログラムの
複数のブロックを同時に実行して、その各制御軸を相互
に関連して動作させるように制御することが行なわれて
いる。2. Description of the Related Art A machine tool having a plurality of control axes (movable parts independently controllable) controlled by a control program, such as a numerical controller, executes a plurality of blocks of the control program at the same time. Control is performed so that each control axis operates in relation to each other.
【0003】その場合、例えば各制御軸毎に独立した系
統の制御プログラムによって制御し、各系統間のタイミ
ングの調整をとるが、例えば特開平1−303502号
公報に見られるように、各系統のプログラムの同時に実
行する各ブロックに開始待合せ指令を入れて、それ以前
のブロックの実行が早く終了した方が遅く終了する方の
終了を待って、次の各ブロックの実行開始タイミングの
同期をとる方法がとられており、待ち時間を入れて実行
開始タイミングを調節していた。In this case, for example, control is performed by a control program of an independent system for each control axis to adjust the timing between the systems. For example, as disclosed in JP-A-1-303502, A method in which a start wait command is input to each block of a program to be executed at the same time, and the earlier execution of the preceding block is terminated earlier, and the later execution is synchronized with the execution start timing of each block. The execution start timing was adjusted with a waiting time.
【0004】[0004]
【発明が解決しようとする課題】しかしながら、上述の
ような工作機械において、複数の制御軸による各動作の
終了(所定の加工作業の完了、目的位置への移動完了な
ど)タイミングを正確に同期させることが必要な場合が
あるが、従来の制御方法ではそのような制御はできない
ために、無駄な待ち時間が出てしまうばかりか、複数系
統の制御プログラム間の微妙なタイミング調整はできな
いという問題があった。However, in the above-described machine tool, the timing of ending each operation by a plurality of control axes (the completion of a predetermined machining operation, the completion of movement to a target position, etc.) is accurately synchronized. However, there is a problem that the conventional control method cannot perform such control, which results in unnecessary waiting time and delicate timing adjustment between control programs of a plurality of systems. there were.
【0005】この発明は、このよう問題に鑑みてなされ
たものであり、複数の制御軸を有する工作機械の各制御
軸を相互に関連して動作させる場合の待ち時間を削減し
て、加工時間を短縮すること、及び複数の制御軸による
各動作の終了タイミングを正確に同期させることができ
るようにすることを目的とする。The present invention has been made in view of such a problem, and reduces the waiting time when the control axes of a machine tool having a plurality of control axes are operated in relation to each other to reduce the processing time. And to enable accurate synchronization of the end timing of each operation by a plurality of control axes.
【0006】[0006]
【課題を解決するための手段】この発明は、制御プログ
ラムの複数のブロックを同時に実行し、複数の制御軸を
有する工作機械の各制御軸を相互に関連して動作させる
ように制御する工作機械の制御方法において、上記の目
的を達成するため、次の(a)〜(d)の各段階を実行
することによって、制御プログラムの同時に実行する複
数のブロックの実行終了タイミングを同期させることを
特徴とする。SUMMARY OF THE INVENTION According to the present invention, there is provided a machine tool for simultaneously executing a plurality of blocks of a control program and controlling each control axis of a machine tool having a plurality of control axes to operate in relation to each other. In order to achieve the above object, in the control method of (1), the following steps (a) to (d) are executed to synchronize the execution end timings of a plurality of blocks of the control program to be executed simultaneously. And
【0007】(a) 上記制御プログラムの少くとも同時に
実行する複数のブロツクを実行形式に変換する段階、
(b) その実行形式に変換した各ブロックの実行時間をそ
れぞれ算出する段階、(c) 上記同時に実行する複数のブ
ロツクのうち、上記制御プログラムのスタートから時間
的に連続していて実行開始タイミングが予め決っている
ブロックを特定する段階、(A) converting a plurality of blocks to be executed at least simultaneously of the control program into an executable form;
(b) calculating the execution time of each block converted into the execution format, and (c) among the plurality of blocks to be executed simultaneously, the execution start timing is continuous in time from the start of the control program. Identifying a predetermined block,
【0008】(d) その特定したブロックの実行開始タイ
ミング及び実行時間と、同時に実行する複数のブロック
のうち実行開始タイミングが決っていないブロックの実
行時間とから、該複数のブロックの実行終了タイミング
が同期するように、上記実行開始タイミングが決ってい
ないブロックの実行開始タイミングを算出して決定する
段階、(D) From the execution start timing and execution time of the specified block and the execution time of the block whose execution start timing is not determined among a plurality of blocks executed at the same time, the execution end timing of the plurality of blocks is determined. Calculating and determining the execution start timing of the block whose execution start timing has not been determined so as to be synchronized;
【0009】上記制御プログラムが複数の系統の制御プ
ログラムからなり、上記同時に実行する複数のブロック
が、それぞれ異なる系統の制御プログラムに属していて
もよい。その場合、上記複数の系統の各制御プログラム
に属する同時に実行する各ブロックには、それぞれ実行
終了タイミングを同期させることを示す終了待ち合わせ
指令を入れておくとよい。[0009] The control program may comprise a plurality of systems of control programs, and the plurality of blocks to be executed simultaneously belong to different systems of control programs. In this case, it is preferable that each block belonging to each control program of the plurality of systems to be executed at the same time is provided with an end wait command indicating that the execution end timing is synchronized.
【0010】また、上記終了待ち合わせ指令を有し且つ
実行開始タイミングが予め決っていないブロック以前の
1つ以上のブロックを、該終了待ち合わせ指令を有する
ブロックと連続して実行するようにしてもよい。その場
合、上記終了待ち合わせ指令を有するブロックと連続し
て実行するブロックに連続実行指令を入れておくとよ
い。あるいは、上記終了待ち合わせ指令に、該指令を有
するブロックと連続して実行するブロック数を指定する
情報を入れておくようにしてもよい。[0010] One or more blocks before the block having the end wait instruction and having an execution start timing not determined in advance may be executed continuously with the block having the end wait instruction. In this case, a continuous execution command may be input to a block that is to be executed continuously with the block having the end waiting command. Alternatively, information for designating the number of blocks to be executed continuously with the block having the command may be inserted in the end wait command.
【0011】この発明はまた、制御プログラムの複数の
ブロックを同時に実行し、複数の制御軸を有する工作機
械の各制御軸を相互に関連して動作させるように制御す
る工作機械の制御装置において、上記の目的を達成する
ため、次の(1)〜(4)の各手段を設け、上記制御プログラ
ムの同時に実行する複数のブロックの実行終了タイミン
グを同期させるようにしたものも提供する。[0011] The present invention also provides a machine tool control device for simultaneously executing a plurality of blocks of a control program and controlling each control axis of a machine tool having a plurality of control axes to operate in relation to each other. In order to achieve the above object, the present invention also provides an apparatus in which the following means (1) to (4) are provided to synchronize the execution end timings of a plurality of blocks of the control program which are simultaneously executed.
【0012】(1) 上記制御プログラムの少くとも同時に
実行する複数のブロツクを実行形式に変換するプログラ
ム変換手段、(2) 該手段によって実行形式に変換した各
ブロックの実行時間をそれぞれ算出する実行時間算出手
段、(3) 上記同時に実行する複数のブロツクのうち、上
記制御プログラムのスタートから時間的に連続していて
実行開始タイミングが予め決っているブロックを特定す
るブロック特定手段と、(1) a program conversion means for converting a plurality of blocks of the control program, which are executed at least simultaneously, into an executable form; (2) an execution time for calculating an execution time of each block converted into an executable form by the means; Calculating means, (3) a block specifying means for specifying a block which is temporally continuous from the start of the control program and whose execution start timing is predetermined, among the plurality of blocks to be simultaneously executed,
【0013】(4) 該手段によつて特定したブロックの実
行開始タイミング及び実行時間と、上記同時に実行する
複数のブロックのうち実行開始タイミングが決っていな
いブロックの実行時間とから、該複数のブロックの実行
終了タイミングが同期するように、上記実行開始タイミ
ングが決っていないブロックの実行開始タイミングを算
出して決定する実行終了同期手段、(4) From the execution start timing and execution time of the block specified by the means and the execution time of the block whose execution start timing is not determined among the plurality of blocks to be executed simultaneously, the plurality of blocks are determined. Execution end synchronization means for calculating and determining the execution start timing of the block whose execution start timing has not been determined, so that the execution end timings of the blocks are synchronized.
【0014】[0014]
【作用】この発明による工作機械の制御方法及び制御装
置によれば、複数の制御軸を有する工作機械の各制御軸
を相互に関連して動作させるように制御するための制御
プログラムの全部、あるいは少くとも同時に実行する複
数のブロツクを予め実行形式に変換し、その実行形式に
変換した各ブロックの実行時間をそれぞれ算出する。According to the machine tool control method and the control device of the present invention, all of the control program for controlling the control axes of the machine tool having a plurality of control axes to operate in association with each other, or A plurality of blocks to be executed at least simultaneously are converted into an execution format in advance, and the execution time of each block converted into the execution format is calculated.
【0015】そして、同時に実行する複数のブロツクの
うち、上記制御プログラムのスタートから時間的に連続
していて実行開始タイミングが予め決っているブロック
の実行開始タイミング及び実行時間と、実行開始タイミ
ングが決っていないブロックの実行時間とから、上記複
数のブロックの実行終了タイミングが同期するように、
上記実行開始タイミングが決っていないブロックの実行
開始タイミングを算出して決定することにより、制御プ
ログラムの同時に実行する複数のブロックの実行終了タ
イミングを同期させる。[0015] Of a plurality of blocks to be executed at the same time, the execution start timing and execution time of the block which is temporally continuous from the start of the control program and whose execution start timing is predetermined, and the execution start timing are determined. From the execution time of the block that has not been executed, the execution end timing of the plurality of blocks is synchronized.
By calculating and determining the execution start timing of the block whose execution start timing has not been determined, the execution end timings of a plurality of blocks that are simultaneously executed by the control program are synchronized.
【0016】したがって、工作機械の複数の制御軸によ
る相互に関連する動作の待ち時間を削減して加工時間を
短縮することができると共に、各動作の終了タイミング
を正確に同期させることができる。なお、上記同時に実
行する複数のブロックがそれぞれ異なる系統の制御プロ
グラムに属していても、その各ブロックの実行終了タイ
ミングを同期させることができる。Therefore, it is possible to reduce the waiting time for the operations related to each other by the plurality of control axes of the machine tool to shorten the machining time, and to accurately synchronize the end timings of the operations. Even if the plurality of blocks to be executed simultaneously belong to different control programs, the execution end timing of each block can be synchronized.
【0017】その場合、その各系統の制御プログラム中
の同時に実行する各ブロックに、それぞれ実行終了タイ
ミングを同期させることを示す終了待ち合わせ指令を入
れておけば、上記各処理を行なう際に、実行終了タイミ
ングを同期させる必要があるブロツクの識別が容易にな
る。In this case, if each block to be executed simultaneously in the control program of each system is provided with an end waiting command indicating that the execution end timing is synchronized, the execution end is executed when each of the above processes is performed. Blocks that need to be synchronized in timing are easily identified.
【0018】また、同時に実行する複数のブロックのう
ち、実行開始タイミングが予め決っていないブロックと
それ以前の1つ以上のブロックとを連続して実行すると
により、同じ制御軸による複数の関連動作を連続して行
なわせ、且つその動作終了タイミングを他の制御軸によ
る動作の終了タイミングと同期させることができる。Further, among a plurality of blocks to be executed at the same time, a block whose execution start timing is not predetermined and one or more blocks earlier than the block are successively executed to execute a plurality of related operations by the same control axis. It can be performed continuously, and the operation end timing can be synchronized with the operation end timing of another control axis.
【0019】その場合、上記連続して実行するブロック
に連続実行指令を入れておくか、上記終了待ち合わせ指
令に、連続して実行するブロック数を指定する情報を入
れておけば、終了待ち合わせ指令を有するブロックに対
してどのブロックから連続して実行すればよいのかを容
易に判別することができる。In this case, if a continuous execution command is inserted in the block to be continuously executed or information for designating the number of blocks to be continuously executed is entered in the end waiting command, the end waiting command is issued. It is possible to easily determine which block should be executed successively for blocks having the same.
【0020】[0020]
【実施例】以下、この発明の実施例を図面に基づいて具
体的に説明する。図1はこの発明による工作機械の制御
方法を実施するための制御装置の一実施例を示すブロッ
ク構成図であり、破線M内は複数の制御軸を有する工作
機械の駆動部側である。DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present invention will be specifically described below with reference to the drawings. FIG. 1 is a block diagram showing an embodiment of a control device for implementing a method of controlling a machine tool according to the present invention. A broken line M indicates a drive unit side of a machine tool having a plurality of control axes.
【0021】この制御装置は、CPUを備えたシステム
制御部1と、複数のキーを有する入力スイッチ2と、C
RTあるいはLCD等による表示器3と、入力スイッチ
2からの各種指令の入力及び表示器3への各種情報の表
示を制御する入出力制御部4とを備えている。This control device comprises a system control unit 1 having a CPU, an input switch 2 having a plurality of keys,
The display 3 includes an indicator 3 such as an RT or an LCD, and an input / output controller 4 for controlling input of various commands from the input switch 2 and display of various information on the display 3.
【0022】また、システム制御プログラム用メモリ
(ROM)5及びシステム用メモリ(RAM)6を備え
ており、システム制御部(CPU)1は、システム制御
プログラム用メモリ5に格納されているシステム制御プ
ログラムにしたがって、システム用メモリ6をワーキン
グメモリとしてこの発明に係る各種処理を実行すると共
に、この制御装置全体を統括制御する。Further, a system control program memory (ROM) 5 and a system memory (RAM) 6 are provided. The system control unit (CPU) 1 is provided with a system control program stored in the system control program memory 5. Accordingly, various processes according to the present invention are executed using the system memory 6 as a working memory, and the control device is entirely controlled.
【0023】さらに、この発明に係わるものとして、制
御対象とする工作機械の各軸の制御プログラムを格納す
る制御プログラム格納部(ROM又はRAM)7と、実
行形式に変換されたプログラムを格納する実行形式プロ
グラム格納部(RAM)8と、プログラム形式変換部
9,実行時間算出部10,実行開始タイミング確定ブロ
ック特定部11,実行終了同期部12,及び制御プログ
ラム処理部13と動作制御部14を備えている。Further, according to the present invention, a control program storage unit (ROM or RAM) 7 for storing a control program for each axis of a machine tool to be controlled, and an execution program for storing a program converted into an execution format. A format program storage unit (RAM) 8, a program format conversion unit 9, an execution time calculation unit 10, an execution start timing fixed block identification unit 11, an execution end synchronization unit 12, a control program processing unit 13, and an operation control unit 14. ing.
【0024】そして、プログラム形式変換部9は、制御
プログラム格納部7に格納されている制御プログラムの
少くとも同時に実行する複数のブロックを実行形式に変
換して、実行形式プログラム格納部8に格納する。実行
時間算出部10は、その実行形式プログラム格納部8に
格納された実行形式に変換されたプログラムの各ブロッ
クの実行時間をそれぞれ算出する。The program format conversion unit 9 converts at least a plurality of blocks of the control program stored in the control program storage unit 7 to be executed at least simultaneously into an execution format, and stores the converted program in the execution format program storage unit 8. . The execution time calculation unit 10 calculates the execution time of each block of the program converted into the execution format stored in the execution format program storage unit 8.
【0025】実行開始タイミング確定ブロック特定部1
1は、上記同時に実行する複数のブロックのうち、制御
プログラムのスタートから時間的に連続していて実行開
始タイミングが予め決っているブロックを特定する。あ
るいはそのスタートから時間的に連続していプログラム
の系統を特定しても、実行開始タイミングが予め決って
いるブロックを特定できる。Execution start timing decision block specifying unit 1
Reference numeral 1 designates a block which is temporally continuous from the start of the control program and whose execution start timing is predetermined, among the plurality of blocks to be executed simultaneously. Alternatively, even if a system of a program that is temporally continuous from the start is specified, a block whose execution start timing is predetermined can be specified.
【0026】実行終了同期部12は、その特定したブロ
ックの実行開始タイミング及び実行時間算出部10で算
出された実行時間と、同時に実行する複数のブロックの
うち実行開始タイミングが決っていないブロックの実行
時間とから、その複数のブロックの実行終了タイミング
が同期(一致)するように、実行開始タイミングが決っ
ていないブロックの実行開始タイミングを算出して決定
する。これらの各部の処理は、システム制御部1のCP
Uによって実行される。The execution end synchronization unit 12 executes the execution start timing of the specified block and the execution time calculated by the execution time calculation unit 10 and executes the execution start timing of a plurality of blocks which are not executed at the same time. From the time, the execution start timings of the blocks whose execution start timings have not been determined are calculated and determined so that the execution end timings of the plurality of blocks are synchronized (matched). The processing of these units is performed by the CP of the system control unit 1.
Performed by U.
【0027】このようにして、実行開始タイミングを決
定したブロックを含む実行形式の制御プログラムを順次
制御プログラム処理部13へ送って実行処理し、動作制
御部14によって各ブロックの実行開始タイミングで駆
動パルスを発生して、工作機械の各軸のモータ制御駆動
部21,22,…を制御し、モータ23,24,…を駆
動させる。各軸のモータ23,24,…にはサーボモー
タを使用するとよい。動作制御部14はさらに、複数の
アクチュエータ制御駆動部25等に制御信号を送ってア
クチュエータ26等を駆動させたり、複数のセンサ28
等からの検知信号をセンサ入力部27等を介して入力す
る。In this way, the control program of the execution format including the block whose execution start timing is determined is sequentially sent to the control program processing unit 13 for execution processing, and the operation control unit 14 controls the drive pulse at the execution start timing of each block. Are controlled to control the motor control drive units 21, 22,... Of each axis of the machine tool to drive the motors 23, 24,. Servo motors are preferably used for the motors 23, 24,. The operation control unit 14 further sends a control signal to a plurality of actuator control driving units 25 and the like to drive the actuators 26 and the like,
And the like are input via the sensor input unit 27 and the like.
【0028】このようにして、複数系統の制御プログラ
ムの同時に実行する複数のブロックの実行終了タイミン
グを同期させることにより、工作機械の各制御軸を相互
に関連して動作させる場合の待ち時間を削減して加工時
間を短縮することができると共に、複数の制御軸による
各動作の終了タイミングを正確に同期(一致)させるこ
とができる。As described above, by synchronizing the execution end timings of a plurality of blocks simultaneously executed by a plurality of control programs, a waiting time when the control axes of the machine tool are operated in relation to each other is reduced. As a result, the machining time can be reduced, and the end timing of each operation by the plurality of control axes can be accurately synchronized (matched).
【0029】この実施例において、プログラム形式変換
部9による制御プログラムの各ブロックを実行形式に変
換する処理を、コンパイル方式によって予め制御プログ
ラムの全ブロックを読み出して実行形式に変換しておけ
ば、その各ブロックの実行時間と開始条件を求めること
ができる。In this embodiment, the process of converting each block of the control program into an executable format by the program format converting unit 9 may be performed by reading all the blocks of the control program in advance and converting them into an executable format by a compile method. The execution time and start condition of each block can be obtained.
【0030】開始の条件とは、当該ブロックが実行を開
始するための条件で、プログラム先頭または指定した地
点を起点とする時刻、または動作の完了,ブロックの完
了,ブロックの途中の制御軸の指定された位置,速度,
トルクなどの検出時点、指定したドウェル時間後、など
の条件を意味する。The start condition is a condition for starting execution of the block. The start condition is a time starting from the beginning of the program or a designated point, or completion of operation, completion of the block, designation of a control axis in the middle of the block. Position, velocity,
This means conditions such as the time of detection of torque and the like, after a specified dwell time, and the like.
【0031】多系統プログラムの2つ又はそれ以上の系
統間で、それぞれのブロックの終了が同時に完了するよ
うに待ち合わせ指令したとき、この終了待ち合わせを指
令した個所で全ての系統のブロックが同時に実行を終了
するように、終了待ち合わせがあるブロック又はそれ以
前のブロック(複数になる場合もある)の実行開始条件
を決め直す。When a wait command is issued between two or more systems of a multi-system program so that the end of each block is completed at the same time, the blocks of all the systems simultaneously execute at the point where the end wait is instructed. In order to end the execution, the execution start condition of the block having the end waiting or the block before (or a plurality of blocks before) may be determined again.
【0032】一般に、完了が最も遅いブロックの終了
に、他の早く終わるブロックの終了を待ち合わせる。そ
の場合、最後の1ブロックだけについて終了を一致させ
るように開始時点をずらす方法と、最後の1ブロツクよ
り前でそれ以前の他の待ち合わせによる拘束条件を持た
ないブロックまで遡った一群の複数ブロックについて、
その各ブロックの開始時点をずらす方法とがある。In general, the end of the latest completed block is waited for the end of another earlier completed block. In this case, a method of shifting the start time so that the end of only the last one block is matched, and a method of moving a group of a plurality of blocks before the last one block and going back to a block which does not have a constraint due to other waiting before that one block. ,
There is a method of shifting the start time of each block.
【0033】多系統プログラムの2つ又はそれ以上の系
統間で、ある系統のブロックの特定の条件(位置,時
間,ブロック開始など)で、他の系統のブロックが同時
に終了するように待ち合わせ指令をしたとき、上記と同
様に終了待ち合わせがあるブロック又はそれ以前のブロ
ック(複数になる場合もある)の実行開始条件を決め直
す。A queuing command is issued between two or more systems of a multi-system program under specific conditions (position, time, block start, etc.) of a block of one system so that blocks of another system are simultaneously finished. Then, similarly to the above, the execution start condition of the block waiting for completion or the block before that (there may be a plurality of blocks) is determined again.
【0034】なお、終了待ち合わせの指令とその他の待
ち合わせ条件とが矛盾を生じる場合にはエラー(アラー
ム)を発生し、その他にも条件の矛盾を生じるときには
エラー(アラーム)を発生するようにすれば、プログラ
ムチェック時の便宜に供することができる。An error (alarm) is generated when the end wait command and other wait conditions cause inconsistency, and an error (alarm) is generated when other conditions are inconsistent. This can be provided for convenience when checking a program.
【0035】終了待ち合わせ指令があるブロック以降の
ブロックについて、終了待ち合わせを行なったために発
生する変更を考慮して開始条件を組みなおす。以上の処
理を終えた後、図1の実行形式プログラム格納部8に全
ブロックの実行データを格納して、コンパイル処理を終
了する。しかしながら、このコンパイル方式によると、
実行形式プログラム格納部8に、予め全ブロックの実行
データを格納しておくメモリ容量が必要になるのでコス
ト高になる。The start condition is reconfigured for blocks subsequent to the block in which the end wait instruction is issued, taking into account the changes that occur due to the end wait. After the above processing is completed, the execution data of all the blocks is stored in the execution format program storage unit 8 of FIG. 1, and the compilation processing ends. However, according to this compilation method,
Since the execution format program storage unit 8 needs a memory capacity for storing execution data of all blocks in advance, the cost increases.
【0036】そこで、制御プログラムを1ブロックある
いは予め決めた数のブロックずつ、実行する前に先読み
して実行形式に変換していくインタプリタ方式を採用し
てこの発明の制御方法を実行することもできる。図2
は、この実施例におけるインタプリタ方式による制御プ
ログラムの先読み変換処理のフローチャートである。Therefore, the control method of the present invention can be executed by adopting an interpreter system in which a control program is read in one block or a predetermined number of blocks before execution and converted into an execution format. . FIG.
FIG. 9 is a flowchart of a prefetch conversion process of a control program by an interpreter method in this embodiment.
【0037】この処理を開始すると、まずステップ1で
先読みブロック数Mを設定する。これは、制御プログラ
ムのスタートから時間的に連続していて、各ブロックの
実行開始タイミングが予め決っている系統の先読みブロ
ック数を設定することであり、他の系統の先読みブロッ
ク数は加算しない。そして、ステップ2で制御プログラ
ムを1ブロック読込み、ステップ3で終了待ち合わせ指
令か否かを判断し、終了待ち合わせ指令であればステッ
プ4へ進んで、終了待ち合わせ指令処理のサブルーチン
を実行する。その処理内容については後述する。When this processing is started, first, in step 1, the number M of prefetch blocks is set. This is to set the number of prefetch blocks of a system that is temporally continuous from the start of the control program and whose execution start timing of each block is predetermined, and does not add the number of prefetch blocks of other systems. Then, in step 2, one block of the control program is read, and in step 3, it is determined whether or not an end waiting command is issued. If it is an end waiting command, the flow advances to step 4 to execute a subroutine for end waiting instruction processing. The processing content will be described later.
【0038】終了待ち合わせ指令でなければステップ5
へ進んで、そのブロックを実行形式に変換し、ステップ
6でその変換結果を実行形式プログラム格納部8(図
1)に格納する。次いで、ステップ7で最終ブロックか
否かを判断し、そうであればステップ10へ進んで、実
行形式プログラム格納部8に格納している残ブロックの
変換結果を制御プログラム処理部13に送って実行し、
処理を終了する。If it is not an end waiting command, step 5
Then, the block is converted into an executable format, and in step 6, the result of the conversion is stored in the executable format program storage unit 8 (FIG. 1). Next, in step 7, it is determined whether or not the block is the last block. If so, the process proceeds to step 10, in which the conversion result of the remaining block stored in the executable program storage unit 8 is sent to the control program processing unit 13 to execute And
The process ends.
【0039】最終ブロックでなければ、ステップ8でM
+1ブロック目の変換結果を格納したか否かを判断し、
そうでなければステップ2へ戻って制御プログラムの次
の1ブロックを読込んで、上述の処理を繰り返す。そし
て、M+1ブロック目の変換結果を格納すると、最初に
格納したブロックの変換結果を制御プログラム処理部1
3に送って実行した後、ステップ2へ戻る。If it is not the last block, M
Judge whether the conversion result of the +1 block is stored,
If not, the flow returns to step 2 to read the next block of the control program, and repeat the above processing. When the conversion result of the (M + 1) th block is stored, the conversion result of the first stored block is stored in the control program processing unit 1.
Then, the process returns to step 2 after being sent to step 3.
【0040】このようにして、例えば M=3 の場合
は、図4に示すように、制御プログラム格納部7に格納
されている制御プログラムを第1ブロックから1ブロッ
クずつ読み出して、プログラム形式変換部9で実行形式
に変換し、実行形式プログラム格納部8に順次格納する
が、そこに3ブロックの変換結果を格納した後、M+1
ブロック目である4ブロック目の変換結果を格納した時
には、最初に格納したブロック(図示の例では第1ブロ
ック)の変換結果を制御プログラム処理部13へ送って
実行する。In this way, for example, when M = 3, as shown in FIG. 4, the control program stored in the control program storage 7 is read from the first block one block at a time, In step 9, the data is converted into an executable format and sequentially stored in the executable format program storage unit 8.
When the conversion result of the fourth block, which is the block, is stored, the conversion result of the first stored block (the first block in the illustrated example) is sent to the control program processing unit 13 and executed.
【0041】以後1ブロック変換して実行形式プログラ
ム格納部8に格納する度に、第2ブロック,第3ブロツ
クと先に格納したブロックからその変換結果を順次制御
プログラム処理部13へ送って実行する。Thereafter, each time one block is converted and stored in the execution format program storage section 8, the conversion results from the second block, the third block and the previously stored block are sequentially sent to the control program processing section 13 and executed. .
【0042】次に、図2におけるステップ4の終了待ち
合わせ指令処理のサブルーチンの内容を図3のフローチ
ャートによって説明する。この処理を開始すると、まず
ステップ11でN=0にし、ステップ12で実行開始タ
イミング確定系統(プログラムのスタートから時間的に
連続していて、各ブロックの実行開始タイミングが予め
決っている系統)を特定する。Next, the contents of the subroutine of the end wait command processing in step 4 in FIG. 2 will be described with reference to the flowchart in FIG. When this process is started, first, at step 11, N = 0 is set, and at step 12, an execution start timing determination system (a system which is temporally continuous from the start of the program and whose execution start timing of each block is predetermined) is set. Identify.
【0043】そして、ステップ13で全系統の終了待ち
合わせ指令の次のブロック(同時に実行する複数のブロ
ック)の制御プログラムを読込む。ここで、ステップ1
2で特定された系統のブロックが、実行開始タイミング
が予め決っているブロックとして特定されることにな
る。次いで、その読込んだ各ブロックのプログラムをそ
れぞれステップ14で実行形式に変換し、ステップ15
でその変換した各ブロックの実行時間を算出する。そし
て、ステップ16で実行開始タイミング確定系統(ブロ
ック)の実行時間が最長か否かを判断する。Then, in step 13 , the control program of the next block (a plurality of blocks to be executed at the same time) of the end wait command of all the systems is read. Here, step 1
The block of the system specified in 2 is specified as a block whose execution start timing is predetermined. Next, the read program of each block is converted into an executable form in step 14, and the program is executed in step 15.
Calculates the execution time of each converted block. Then, in step 16, it is determined whether or not the execution time of the execution start timing decision system (block) is the longest.
【0044】この判断でYESであれば、ステップ17
で他の系統のブロックの実行開始タイミングを算出す
る。それは、実行開始タイミング確定系統のブロックの
実行開始タイミングta及び実行時間TA と他の系統の
ブロックの実行時間TB とから、これらの各ブロックの
実行終了タイミングが同期(一致)するように、他の系統
のブロックの実行開始タイミングをtbとすると、数1
の演算によって算出する。If the determination is YES, step 17
Calculates the execution start timing of the block of another system. That is, based on the execution start timing ta and the execution time TA of the block of the execution start timing determined system and the execution time TB of the block of the other system, the other blocks are synchronized so that the execution end timing of each block is synchronized (matched). Assuming that the execution start timing of the system block is tb, Equation 1
Is calculated.
【0045】[0045]
【数1】tb=ta+(TA−TB)## EQU1 ## tb = ta + (TA-TB)
【0046】そして、ステップ18でその他の系統のブ
ロックの実行形式プログラムに、ステップ17で算出し
て決定された実行開始タイミングの指示を追加して、こ
のサブルーチンの処理を終了し、図2のフローチャート
の処理に戻る。ステップ16の判断で実行開始タイミン
グ確定系統のブロックの実行時間が最長ではない場合に
は、ステップ19でNを+1して、ステップ20で実行
開始タイミング確定系統の終了待ち合わせ指令のNブロ
ック前のブロックを読込む。At step 18, an instruction of the execution start timing calculated and determined at step 17 is added to the execution format program of the block of the other system, and the processing of this subroutine is completed. Return to the processing of. If the execution time of the block of the execution start timing determined system is not the longest in the determination of step 16, N is incremented by 1 in step 19, and the block before the block N of the execution start timing determined system end wait command is determined in step 20. Read.
【0047】そして、ステップ21で実行形式に変換
し、ステップ22でそのブロックの実行時間を算出す
る。ステップ23でその算出した実行時間を実行開始タ
イミング確定系統のブロックの実行時間に加算してステ
ップ16の判断に戻る。その結果、実行開始タイミング
確定系統の実行時間(この場合終了待ち合わせするブロ
ックとその一つ前のブロックの実行時間)が最長になれ
ば、ステップ17へ進むが、そうでなければ再びステッ
プ19へ進んでNをさらに+1して上述したステップ2
0〜23の処理を繰り返す。Then, in step 21, the data is converted into an execution format, and in step 22, the execution time of the block is calculated. In step 23, the calculated execution time is added to the execution time of the block of the execution start timing decision system, and the process returns to the determination in step 16. As a result, if the execution time of the execution start timing decision system (in this case, the execution time of the block waiting for completion and the immediately preceding block) is the longest, the process proceeds to step 17; otherwise, the process proceeds to step 19 again. In step 2, the N is further increased by
The processing of 0 to 23 is repeated.
【0048】ここで、他の系統のブロックの実行開始タ
イミング算出について、図5によって説明する。(a)
はN=0の場合の例、(b)はN=1の場合の例を示
す。図中の斜線を施して示すブロックが終了待ち合わせ
指令であり、その各右側のブロックが同時に実行してそ
の実行終了タイミングを同期させる複数のブロックであ
る。ta,tb,TA ,TB は次のとおりである。 ta:実行開始タイミング確定系統のブロックの実行開
始タイミング、 TA :同じくその実行時間(1+Nブロック分) tb:他の系統のブロックの実行開始タイミング、 TB :同じくその実行時間、Here, the calculation of the execution start timing of a block of another system will be described with reference to FIG. (A)
Shows an example when N = 0, and (b) shows an example when N = 1. Blocks indicated by diagonal lines in the figure are end waiting commands, and the blocks on the right side thereof are a plurality of blocks that are simultaneously executed to synchronize their execution end timings. ta, tb, TA, and TB are as follows. ta: execution start timing of the block of the execution start timing determined system, TA: the execution time of the block (for 1 + N blocks) tb: execution start timing of the block of the other system, TB: the execution time of the block
【0049】上述した数1の演算によつて他の系統のブ
ロックの実行開始タイミングtbを算出するには、TA
>TB でなければならないので、TA <TB の場合は、
図5の(b)に示すようにN=1にして、実行開始タイ
ミング確定系統の終了待ち合わせ指令の1ブロック前の
ブロックの実行開始タイミングをtaとし、その後の2
ブロックの実行時間をTA とする。In order to calculate the execution start timing tb of the block of the other system by the calculation of the above equation 1, it is necessary to use TA
> TB, so if TA <TB,
As shown in FIG. 5B, N = 1, the execution start timing of the block one block before the end wait instruction of the execution start timing determination system is set to ta,
Let TA be the execution time of the block.
【0050】それでもTA >TB にならない場合は、N
=2にして実行開始タイミング確定系統の終了待ち合わ
せ指令の2ブロック前のブロックの実行開始タイミング
をtaとし、その後の3ブロックの実行時間をTA とす
る。このように、TA >TBになるまでNを大きくして
いく。この場合、図2に示したインタプリタ方式の先読
み処理における先読みブロック数Mが、N+2>M に
なると、既に実行しているブロックの実行開始タイミン
グを後から要求することになり、実行開始タイミングが
決められなくなる。If TA> TB still does not hold, N
= 2, the execution start timing of the block two blocks before the end wait instruction of the execution start timing decision system is set to ta, and the execution time of the subsequent three blocks is set to TA. In this manner, N is increased until TA> TB. In this case, when the number M of prefetched blocks in the prefetching process of the interpreter system shown in FIG. 2 becomes N + 2> M, the execution start timing of the already executed block is requested later, and the execution start timing is determined. Can not be.
【0051】次に、この発明をNC旋盤に適用して、突
っ切りバイトによる突っ切り加工の終了と加工済みワー
クを受けるセパレータの前進完了とを同期させるように
する実施例について説明する。Next, a description will be given of an embodiment in which the present invention is applied to an NC lathe so as to synchronize the end of the parting-off with the parting-off tool with the completion of the advance of the separator for receiving the processed work.
【0052】図6は、この発明を実施するNC旋盤の要
部平面図であり、主軸台30に主軸31を回転可能に保
持し、その主軸31の先端部にチャック31aを内蔵し
ている。さらにその前方に主軸31と軸線Lを共通にす
るガイドブッシュ32を備えたガイドブッシュ装置36
が固設されている。FIG. 6 is a plan view of a main part of an NC lathe embodying the present invention, in which a spindle 31 is rotatably held by a headstock 30, and a chuck 31a is built in the tip of the spindle 31. Further, a guide bush device 36 having a guide bush 32 having a common axis L with the main shaft 31 in front thereof.
Is fixed.
【0053】そして、丸棒状の加工材料34をこれらの
主軸31及びガイドブッシュ32を貫通させて、ガイド
ブッシュ32から被加工部分(以下「ワーク」という)
35だけ突出させてチャックで固定して保持し、図示し
ないモータの回転による主軸31の回転に伴って、加工
材料34も回転される。また、この加工材料34を保持
する主軸31は、主軸台30と共に一点鎖線で示す軸線
Lに沿う方向(矢示A方向)に移動する。Then, a round bar-shaped working material 34 is passed through the main shaft 31 and the guide bush 32, and the work piece (hereinafter referred to as "work") is formed from the guide bush 32.
The work material 34 is also rotated by the rotation of the main shaft 31 caused by the rotation of a motor (not shown) by projecting by 35 and fixing and holding the chuck. The spindle 31 holding the work material 34 moves together with the headstock 30 in a direction (along arrow A) along an axis L indicated by a dashed line.
【0054】一方、ガイドブッシュ32の周囲には、図
示を省略しているがくし歯式又はターレット式の刃物台
が設けられており、各種のバイト(刃物)を選択して、
軸線Lに直交する方向(矢示B方向)に移動させ、ワー
ク35を加工する。加工が完了したワーク35は突っ切
りバイト33の前進によって加工材料34から切り落さ
れる。On the other hand, a comb-shaped or turret-type tool rest (not shown) is provided around the guide bush 32, and various types of cutting tools (knives) are selected.
The workpiece 35 is processed by moving the workpiece 35 in a direction perpendicular to the axis L (the direction indicated by the arrow B). The workpiece 35 that has been processed is cut off from the processing material 34 by the advance of the cut-off tool 33.
【0055】その時ワーク回収装置40は、セパレータ
であるワーク受け器44を、実線で示す待機位置HPか
ら仮想線で示す加工位置の直下の前進位置FPへ前進さ
せ、ワーク35を受け取って再び実線で示す待機位置H
Pへ戻す。矢示Cはこのワーク受け器44の前進・後退
方向を示す。At that time, the work collecting device 40 advances the work receiver 44 as a separator from the standby position HP shown by the solid line to the advance position FP immediately below the processing position shown by the virtual line, receives the work 35, and again receives the work 35 by the solid line. Standby position H shown
Return to P. Arrow C indicates the forward / backward direction of the work receiver 44.
【0056】ワーク回収装置40は図7にも示すよう
に、スライドブロック41が2本のガイドレール42,
42に矢示C方向に摺動自在に装着され、その一側部に
支持板43を介して金網で形成されたワーク受け器44
が回動可能に支持されており、図示しないモータ等によ
り、図7の手前側に実線で示す上向状態と仮想線で示す
横向き状態とに回動される。As shown in FIG. 7, the work collection device 40 includes a slide block 41 having two guide rails 42,
A workpiece receiver 44 slidably mounted in the direction indicated by arrow C on one side 42 and formed on one side thereof with a wire mesh via a support plate 43.
Is rotatably supported, and is rotated by a motor or the like (not shown) toward an upward state shown by a solid line and a horizontal state shown by a virtual line on the near side in FIG.
【0057】そして、スライドブロック41の他側部に
沿って両端部を延長させて設けたラック45にサーボモ
ータ46によって回転されるピニオン47を噛み合わせ
ており、そのサーボモータ46の正逆回転によって、ス
ライドブロック41をワーク受け器44と共に矢示C方
向に往復移動させ、仮想線で示す前進位置へ前進して加
工済みのワークを受け取る際には、ワーク受け器44を
上向きにし、実線で示す待機位置に戻ったときには、ワ
ーク受け器44を横向にして、受け取ったワークをワー
ク受け箱48へ収納させる。A pinion 47 rotated by a servomotor 46 is meshed with a rack 45 provided with both ends extending along the other side of the slide block 41. When the slide block 41 is reciprocated in the direction of arrow C together with the work receiver 44 to advance to the forward position shown by the imaginary line and receives the processed work, the work receiver 44 is turned upward and shown by the solid line. When returning to the standby position, the work receiver 44 is turned sideways and the received work is stored in the work receiving box 48.
【0058】ワーク受け器44は金網で形成されている
ため、ワーク35と共に流れ落ちる切削油や細かい切り
粉を通過させてワーク35のみを分離することができ
る。しかし、このワーク回収装置40がワーク35の突
っ切り加工が完了する前に速くワーク受け器44を前進
位置FPに移動させると、その加工中の大きな切り屑が
ワーク受け器44内に入ってしまい、ワーク35と分離
が困難になる。Since the work receiver 44 is formed of a wire mesh, only the work 35 can be separated by passing the cutting oil or fine cutting powder flowing down with the work 35. However, if the work collecting device 40 quickly moves the work receiver 44 to the advance position FP before the cut-off processing of the work 35 is completed, large chips during the processing enter the work receiver 44, Separation from the work 35 becomes difficult.
【0059】そのため、突っ切りバイト33による突っ
切り加工の終了と、加工済みワーク35を受けるワーク
受け器(以下「セパレータ」と称す」44の前進完了と
が同時になるようにするのが望ましい。しかし、従来は
セパレータの前進速度を予測して、突っ切りバイトによ
る突っ切り加工開始後所定の時点でセパレータの前進を
開始させるように、実行開始待ち合わせで制御していた
ので、動作完了時点を完全に一致させることは難かし
く、セパレータの前進完了が突っ切り加工完了より遅れ
るとワークを受け取れなくなるため、若干余裕を持たせ
てセパレータの前進完了の方が早めになるようにしてい
た。そのため、ワークと共に大きな切り屑が混入してし
まうことが多かった。For this reason, it is desirable that the end of the parting-off operation by the parting-off tool 33 and the completion of the advance of the work receiver (hereinafter referred to as “separator”) 44 for receiving the processed work 35 be simultaneously performed. Predicts the advance speed of the separator and controls the separator to start moving forward at a predetermined time after the start of the cut-off process with the cut-off tool. It is difficult, and if the completion of the advance of the separator is later than the completion of the parting-off process, the work cannot be received. I often did it.
【0060】そこでこの実施例では、前述したこの発明
による実行終了待ち合わせを適用して、プログラムのス
タートから時間的に連続していて、各ブロックの実行開
始タイミングが予め決っている実行開始タイミング確定
系統の制御プログラムに属する突っ切りバイト33によ
る突っ切り加工の制御を行なうブロックと、その他の系
統の制御プログラムに属するワーク回収装置40による
セパレータ44の前進の制御を行なうブロックとに、実
行終了待ち合わせ指令を入れて(インタプリタ方式の場
合は各ブロックの直前に入れる)、両ブロックの実行終
了タイミングを同期させる。Therefore, in this embodiment, the execution end waiting according to the present invention is applied, and the execution start timing determination system in which the execution start timing of each block is temporally continuous from the start of the program and the execution start timing of each block is predetermined. And a block for controlling the advance of the separator 44 by the work collecting device 40 belonging to the control program of the other system and a block for controlling the parting-off processing by the parting-off tool 33 belonging to the control program of FIG. (In the case of the interpreter system, it is inserted immediately before each block), and the execution end timing of both blocks is synchronized.
【0061】その場合のタイミングチャートの例を図8
に示す。図8において、(a)は突っ切りバイト33を
移動させるX軸の、(b)はセパレータ44を移動させ
るA軸の、それぞれ送り速度(縦軸)の変化と時間経過
(横軸)との関係を示している。この実施例の突っ切り
バイト33を移動させるX軸の図示しないサーボモータ
と、セパレータ44を前進・後退させるA軸のサーボモ
ータ46を、図1の2個のモータ23,24とすればよ
い。FIG. 8 shows an example of a timing chart in that case.
Shown in In FIG. 8, (a) shows the relationship between the change of the feed speed (vertical axis) and the time lapse (horizontal axis) of the X-axis for moving the cut-off tool 33 and (b) of the A-axis for moving the separator 44. Is shown. The X-axis servo motor (not shown) for moving the cut-off tool 33 and the A-axis servo motor 46 for moving the separator 44 forward and backward in this embodiment may be the two motors 23 and 24 in FIG.
【0062】突っ切りバイト33は、時点taでX=1
2の位置から前進を開始して、実行時間TA 後の時点t
cでX=0(バイトの刃先が主軸の軸線Lに達する位
置)になって、突っ切りを完了する。その後ワーク35
にへそが残らないように、さらにX=−3の位置まで前
進して停止する。At the time point ta, the cut-off byte 33 becomes X = 1.
At the time t after the execution time TA,
At c, X = 0 (the position where the cutting edge of the cutting tool reaches the axis L of the spindle), and the cutoff is completed. Then work 35
And further stop at the position of X = -3 so that no navel remains.
【0063】一方、セパレータ44は、突っ切りバイト
33の前進開始時点taより時間Tc だけ遅れた時点t
bで、待機位置HPから前進を開始し、その実行時間T
B後の時点tcで前進端位置FPに達し、ごく短時間停
止してから後退を開始し、時点tdで待機位置HPへ戻
る。On the other hand, the separator 44 is set at the time t, which is delayed by the time Tc from the advance start time ta of the cut-off tool 33.
b, the forward movement is started from the standby position HP, and the execution time T
At time tc after B, it reaches the forward end position FP, stops for a very short time, starts retreating, and returns to the standby position HP at time td.
【0064】この場合、前述したように予め制御プログ
ラムの実行形式への変換後、突っ切り加工の実行時間T
A と、セパレータの前進時間TB を算出し、セパレータ
の前進開始時点tbは、前述した終了待ち合わせ指令の
処理において、 tb=ta+TC =ta+(TA−TB ) によって実行前に算出され、このセパレータ前進のブロ
ックの実行形式のプログラム中に指示が追加されてい
る。In this case, as described above, after the control program is converted into the execution form in advance, the execution time T
A and the advance time TB of the separator are calculated, and the advance start time tb of the separator is calculated before execution by tb = ta + TC = ta + (TA-TB) in the processing of the end wait command described above. Instructions have been added to block executable programs.
【0065】したがって、この実施例によれば、突っ切
りバイト33による突っ切り加工の完了時点とセパレー
タ44の前進完了時点とを精度よく同期させることがで
きるので、セパレータ44内にワーク35以外の余分な
切り屑や切り粉が入るのを最小限にすることができ、特
に微小な部品を突っ切り加工した場合にその部品(ワー
ク)と切り屑とが、ワーク受け箱48内に混在して収納
されて選別が困難になるようなことを防止できる。Therefore, according to this embodiment, the time when the parting-off process by the parting-off tool 33 is completed and the time when the advance of the separator 44 is completed can be accurately synchronized. It is possible to minimize the entry of swarf and swarf. In particular, when a minute part is cut off, the part (work) and the swarf are mixed and stored in the work receiving box 48 for sorting. Can be prevented from becoming difficult.
【0066】図9は、この実施例における複数系統の制
御プログラムによる各種の実行終了待ち合わせ指令の設
定例を示す説明図である。図中、斜線を施して示す狭い
ブロツクeは終了待ち合わせ指令、横線を施した狭いブ
ロックsは開始待ち合わせ指令、散点を施した狭いブロ
ックcは連続実行指令である。そして、各終了待ち合わ
せ指令eの直後のブロックが実行終了タイミングの同期
をとるブロック(「終了同期ブロツク」という)であ
る。FIG. 9 is an explanatory diagram showing an example of setting various execution end waiting commands by the control programs of a plurality of systems in this embodiment. In the figure, a narrow block e indicated by diagonal lines is an end waiting command, a narrow block s indicated by a horizontal line is a start waiting instruction, and a narrow block c indicated by a dotted line is a continuous execution command. The block immediately after each end wait instruction e is a block for synchronizing the execution end timing (referred to as an "end synchronization block").
【0067】この図9の(a),(b),(d),(e)は、い
ずれも系統1が実行開始タイミング確定系統である。そ
して、(a)は、実行開始タイミング確定系統(系統1)
の終了同期ブロツク(突っ切り)の実行時間TA が、系
統2の終了同期ブロツク(セバレータ前進)の実行時間
TB より長い(TA >TB )場合である。In FIGS. 9 (a), 9 (b), 9 (d) and 9 (e), the system 1 is the execution start timing determining system. (A) is an execution start timing determination system (system 1)
The execution time TA of the end synchronization block (cutoff) is longer than the execution time TB of the end synchronization block (separator advance) of the system 2 (TA> TB).
【0068】(b)は、実行開始タイミング確定系統(系
統1)の終了同期ブロツクの実行時間TA が、系統2の
終了同期ブロツクの実行時間TB より短い(TA <TB
)場合であり、実行開始タイミング確定系統の終了同
期ブロツクより1ブロック前のブロック(外径)に遡っ
て、そのブロックの実行開始タイミングをtaとし、そ
の後の2ブロックの実行時間の合計をTA として、系統
2の終了同期ブロツク(セパレータ前進)の実行開始タ
イミングtbを算出するIn (b), the execution time TA of the end synchronization block of the execution start timing decision system (system 1) is shorter than the execution time TB of the end synchronization block of system 2 (TA <TB).
In this case, going back to the block (outer diameter) one block before the end synchronization block of the execution start timing determination system, the execution start timing of the block is set to ta, and the total execution time of the subsequent two blocks is set to TA. , The execution start timing tb of the end synchronous block (separator advance) of the system 2 is calculated.
【0069】(c)は、実行開始タイミング確定系統が初
めは系統3であったが、開始待ち合わせ指令sによって
系統1に移り、系統1の終了同期ブロツク(突っ切り)
と系統2の終了同期ブロツク(セパレータ前進)とで実
行終了待ち合わせを行なう。この場合は(TA <TB )
であるから、系統3の1ブロック前(中ぐり)に遡っ
て、そのブロックの実行開始時点をtaとし、そのブロ
ック(中ぐり)の実行時間と系統1の終了同期ブロツク
(突っ切り)の実行時間との和をTA とする。In (c), the execution start timing decision system is initially system 3, but is shifted to system 1 by the start waiting command s, and the end synchronization block (cutoff) of system 1 is performed.
And the end synchronization block (separator advance) of system 2 waits for the end of execution. In this case, (TA <TB)
Therefore, going back one block (boring) before the system 3 and setting the execution start time of the block as ta, the execution time of the block (boring) and the execution time of the end synchronization block (cutoff) of the system 1 And the sum of these as TA.
【0070】(d)は、終了待ち合わせ指令e以前にある
開始待ち合わせ指令sで実行の同期を取ると、終了待ち
合わせ指令での同期終了が成立しなくなる場合で、ミス
プログラムであるからエラー(アラーム)を発生してそ
れを知らせる(プログラムチェック時)。(D) is a case in which if the execution is synchronized with the start wait command s before the end wait command e, the synchronization end by the end wait command will not be established. And informs it (during program check).
【0071】(e)は、系統2の終了同期ブロツク(セパ
レータ前進)とその1ブロック前のブロック(ワーク受
け器上向き)の前に連続実行指令があり、この2つのブ
ロックを連続して実行する。この場合、終了待ち合わせ
指令eにそのブロックと連続して実行するブロック数の
情報を入れておくようにするとよい。(f)は、実行開始
タイミング確定系統が系統1から系統2へ移る3系統の
例であり、☆印の付してあるブロックが実行開始タイミ
ング確定していない終了同期ブロツクである。In (e), there is a continuous execution command before the end synchronous block (separator advance) of the system 2 and the block one block before (workpiece upward), and these two blocks are continuously executed. . In this case, it is preferable that information on the number of blocks to be executed consecutively with the block is entered in the end wait instruction e. (f) is an example of three systems in which the execution start timing determination system shifts from the system 1 to the system 2 and the block marked with a star is an end synchronization block in which the execution start timing has not been determined.
【0072】なお、この図9の例では終了待ち合わせ指
令を、全て終了同期ブロツクの直前に入れているが、コ
ンパイル方式の場合には、終了同期ブロツクの直後に終
了待ち合わせ指令を入れるようにしてもよい。また、プ
ログラムチェック時には、実行開始タイミング確定系統
に連続実行指令又は終了待ち合わせ指令中に連続実行ブ
ロック数の情報があった場合、それらは誤って設定され
ているので読み飛ばすか、又はアラームを発生するとよ
い。In the example shown in FIG. 9, the end wait command is all entered immediately before the end synchronous block. However, in the case of the compile method, the end wait instruction may be entered immediately after the end synchronous block. Good. Also, at the time of program check, if there is information on the number of continuous execution blocks in the continuous execution command or the end wait command in the execution start timing determination system, they are incorrectly set and skipped, or if an alarm is generated Good.
【0073】上述の実施例は、NC制盤における突っ切
り加工とセパレータの前進とを実行終了タイミングで同
期させるようにした例について述べたが、この発明はこ
れに限るものではなく、工作機械の複数の制御軸一方の
動作がある条件に達した時に他方の動作が同時に終了す
るようにする必要がある場合には、全て有効である。例
えば、主軸回転の始動/停止とチャックの開/閉、ある
いはエンドミルによる複数の刃物での加工が同時に終わ
るようにする場合等にも適用できる。In the above-described embodiment, the example has been described in which the parting-off process and the advance of the separator in the NC control panel are synchronized at the execution end timing. However, the present invention is not limited to this, and a plurality of machine tools may be used. This is all the case when it is necessary to terminate one operation of one control axis at a time when the other operation reaches a certain condition. For example, the present invention can be applied to a case where the start / stop of spindle rotation and the opening / closing of a chuck, or the case where processing with a plurality of blades by an end mill is simultaneously completed.
【0074】[0074]
【発明の効果】以上説明してきたように、この発明によ
れば、複数の制御軸を有する工作機械の各制御軸を相互
に関連して動作させる場合の待ち時間を削減して、加工
時間を短縮すること、及び複数の制御軸による各動作の
終了タイミングを正確に同期させることができる。As described above, according to the present invention, the waiting time when the control axes of a machine tool having a plurality of control axes are operated in relation to each other is reduced, and the machining time is reduced. It is possible to reduce the time and accurately synchronize the end timing of each operation by the plurality of control axes.
【図1】この発明による工作機械の制御方法を実施する
ための制御装置の一実施例を示すブロック構成図であ
る。FIG. 1 is a block diagram showing an embodiment of a control device for implementing a method of controlling a machine tool according to the present invention.
【図2】図1の実施例によるインタプリタ方式による制
御プログラムの先読み変換処理のフローチャートであ
る。FIG. 2 is a flowchart of a prefetch conversion process of a control program by an interpreter method according to the embodiment of FIG. 1;
【図3】図2におけるステップ4の終了待ち合わせ指令
処理のサブルーチンのフローチャートである。FIG. 3 is a flowchart of a subroutine of an end waiting command processing of step 4 in FIG. 2;
【図4】図2の制御プログラムの先読み変換処理を M
=3 の場合の例で示す説明図である。FIG. 4 is a diagram illustrating a prefetch conversion process of the control program of FIG.
FIG. 4 is an explanatory diagram showing an example in the case of = 3.
【図5】図3における他の系統のブロックの実行開始タ
イミング算出に関する説明図である。FIG. 5 is an explanatory diagram relating to execution start timing calculation of a block of another system in FIG. 3;
【図6】この発明を実施するNC旋盤の要部平面図であ
る。FIG. 6 is a plan view of a main part of an NC lathe embodying the present invention.
【図7】同じくそのワーク回収装置の斜視図である。FIG. 7 is a perspective view of the work collecting device.
【図8】図6に示したNC旋盤において突っ切りバイト
による突っ切り加工の終了と加工済みワークを受けるセ
パレータの前進完了とを同期させるように制御する場合
のタイミングチャートである。FIG. 8 is a timing chart in a case where control is performed so that the end of the parting-off process by the parting-off tool and the completion of the advance of the separator receiving the processed work in the NC lathe shown in FIG. 6 are synchronized.
【図9】この実施例における複数系統の制御プログラム
による各種の実行終了待ち合わせ指令の設定例を示す説
明図である。FIG. 9 is an explanatory diagram showing a setting example of various execution end waiting commands by a plurality of control programs in this embodiment.
1:システム制御部 2:入力スイッチ 3:表示
器 4:入出力制御部 5:システム制御プログラム用メ
モリ(ROM) 6:システム用メモリ(RAM) 7:制御プログラム格納部(ROM又はRAM) 8:実行形式プログラム格納部(RAM) 9:プログラム形式変換部 10:実行時間算出部 11:実行開始タイミング確定ブロック特定部 12:実行終了同期部 13:制御プログラム処理部 14:動作制御部 21,22:モータ制御駆動
部 23,24:モータ 25:アクチュエータ制御駆
動部 26:アクチュエータ 27:センサ入力部 28:センサ 30:主軸台 31:主軸 3
2:ガイドブッシュ 33:突っ切りバイト 34:加工材料 35:被加工部分(ワーク) 40:ワーク回収装置 41:スライドブロック 44:ワーク受け器(セ
パレータ) 46:サーボモータ 48:ワーク受け箱1: System control unit 2: Input switch 3: Display unit 4: Input / output control unit 5: System control program memory (ROM) 6: System memory (RAM) 7: Control program storage unit (ROM or RAM) 8: Execution format program storage (RAM) 9: Program format conversion unit 10: Execution time calculation unit 11: Execution start timing fixed block identification unit 12: Execution end synchronization unit 13: Control program processing unit 14: Operation control unit 21, 22: Motor control drive units 23, 24: Motor 25: Actuator control drive unit 26: Actuator 27: Sensor input unit 28: Sensor 30: Headstock 31: Spindle 3
2: Guide bush 33: Cut-off tool bit 34: Work material 35: Work piece (work) 40: Work collection device 41: Slide block 44: Work receiver (separator) 46: Servo motor 48: Work receiving box
フロントページの続き (56)参考文献 特開 平5−108122(JP,A) 特開 平4−324502(JP,A) 特開 平1−303502(JP,A) (58)調査した分野(Int.Cl.7,DB名) G05B 19/18 - 19/46 B23Q 15/00 - 15/28 Continuation of front page (56) References JP-A-5-108122 (JP, A) JP-A-4-324502 (JP, A) JP-A-1-303502 (JP, A) (58) Fields investigated (Int) .Cl. 7 , DB name) G05B 19/18-19/46 B23Q 15/00-15/28
Claims (7)
に実行し、複数の制御軸を有する工作機械の各制御軸を
相互に関連して動作させるように制御する工作機械の制
御方法において、 前記制御プログラムの少くとも同時に実行する複数のブ
ロックを実行形式に変換する段階と、 その実行形式に変換した各ブロックの実行時間をそれぞ
れ算出する段階と、 前記同時に実行する複数のブロックのうち、前記制御プ
ログラムのスタートから時間的に連続していて実行開始
タイミングが予め決っているブロックを特定する段階
と、 その特定したブロックの実行開始タイミング及び実行時
間と、前記同時に実行する複数のブロックのうち実行開
始タイミングが決っていないブロックの実行時間とか
ら、該複数のブロックの実行終了タイミングが同期する
ように、前記実行開始タイミングが決っていないブロッ
クの実行開始タイミングを算出して決定する段階とを有
し、 前記制御プログラムの同時に実行する複数のブロックの
実行終了タイミングを同期させることを特徴とする工作
機械の制御方法。1. A method of controlling a machine tool, comprising: simultaneously executing a plurality of blocks of a control program, and controlling the control axes of a machine tool having a plurality of control axes to operate in association with each other. Converting a plurality of blocks to be executed at least simultaneously into an executable form; calculating respective execution times of the respective blocks converted into the executable form; and Specifying a block that is temporally continuous from the start and whose execution start timing is predetermined; execution start timing and execution time of the specified block; and execution start timing of the plurality of blocks that are simultaneously executed. The execution end timing of the plurality of blocks is synchronized with the execution time of the undetermined block. Calculating and determining the execution start timing of the block whose execution start timing has not been determined, and synchronizing the execution end timings of a plurality of blocks that are simultaneously executed by the control program. Machine tool control method.
プログラムからなり、前記同時に実行する複数のブロッ
クが、それぞれ異なる系統の制御プログラムに属してい
ることを特徴とする請求項1記載の工作機械の制御方
法。2. The machine tool according to claim 1, wherein the control program includes a plurality of control programs, and the plurality of blocks to be executed simultaneously belong to different control programs. Control method.
する同時に実行する各ブロックには、それぞれ実行終了
タイミングを同期させることを示す終了待ち合わせ指令
を入れておくことを特徴とする請求項2記載の工作機械
の制御方法。3. A completion waiting command indicating synchronization of execution completion timing is input to each of simultaneously executed blocks belonging to the plurality of control programs of the plurality of systems, respectively. Machine tool control method.
行開始タイミングが予め決っていないブロック以前の1
つ以上のブロックを、該終了待ち合わせ指令を有するブ
ロックと連続して実行することを特徴とする請求項3記
載の工作機械の制御方法。4. The method according to claim 1, further comprising: a block having the end waiting command and having the execution start timing not determined in advance.
4. The method according to claim 3, wherein one or more blocks are continuously executed with the block having the end waiting command.
クと連続して実行するブロックに連続実行指令を入れて
おくことを特徴とする請求項4記載の工作機械の制御方
法。5. The control method for a machine tool according to claim 4, wherein a continuous execution command is input in a block that is executed continuously with a block having the end waiting command.
するブロックと連続して実行するブロック数を指定する
情報を入れておくことを特徴とする請求項4記載の工作
機械の制御方法。6. The method according to claim 4, wherein information for designating the number of blocks to be executed continuously with the block having the command is entered in the end waiting command.
に実行し、複数の制御軸を有する工作機械の各制御軸を
相互に関連して動作させるように制御する工作機械の制
御装置において、 前記制御プログラムの少くとも同時に実行する複数のブ
ロックを実行形式に変換するプログラム形式変換手段
と、 該手段によって実行形式に変換した各ブロックの実行時
間をそれぞれ算出する実行時間算出手段と、 前記同時に実行する複数のブロックのうち、前記制御プ
ログラムのスタートから時間的に連続していて実行開始
タイミングが予め決っているブロックを特定する実行開
始タイミング確定ブロック特定手段と、 該手段によつて特定したブロックの実行開始タイミング
及び実行時間と、前記同時に実行する複数のブロックの
うち実行開始タイミングが決っていないブロックの実行
時間とから、該複数のブロックの実行終了タイミングが
同期するように、前記実行開始タイミングが決っていな
いブロックの実行開始タイミングを算出して決定する実
行終了同期手段とを設け、 前記制御プログラムの同時に実行する複数のブロックの
実行終了タイミングを同期させるようにしたことを特徴
とする工作機械の制御装置。7. A control device for a machine tool which executes a plurality of blocks of a control program at the same time and controls each control axis of a machine tool having a plurality of control axes to operate in relation to each other. A program format conversion means for converting a plurality of blocks to be executed at least simultaneously into an executable form; an execution time calculating means for calculating an execution time of each block converted into an executable form by the means; Execution start timing determination block specifying means for specifying a block which is temporally continuous from the start of the control program and has a predetermined execution start timing, and execution start timing of the block specified by the means; And an execution time, and an execution start timing of the plurality of blocks to be simultaneously executed. And an execution end synchronization unit that calculates and determines the execution start timing of the block whose execution start timing has not been determined so that the execution end timings of the plurality of blocks are synchronized from the execution time of the block for which the execution start timing has not been determined. A control device for a machine tool, comprising: synchronizing execution end timings of a plurality of blocks simultaneously executed by the control program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11631794A JP3198010B2 (en) | 1994-05-30 | 1994-05-30 | Control method and control device for machine tool |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11631794A JP3198010B2 (en) | 1994-05-30 | 1994-05-30 | Control method and control device for machine tool |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07319520A JPH07319520A (en) | 1995-12-08 |
JP3198010B2 true JP3198010B2 (en) | 2001-08-13 |
Family
ID=14684001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11631794A Expired - Lifetime JP3198010B2 (en) | 1994-05-30 | 1994-05-30 | Control method and control device for machine tool |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3198010B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013102338A1 (en) * | 2012-01-05 | 2013-07-11 | Jiang Junfeng | Method for synchronizing starting point and end point in open numerical control system, and servo drive |
KR102412952B1 (en) * | 2020-10-19 | 2022-06-24 | 부성에버텍(주) | Jig for manufacturing automotive channel covers |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4541589B2 (en) * | 2001-05-16 | 2010-09-08 | シチズンホールディングス株式会社 | Workpiece machining method and program in numerically controlled machine tool |
WO2017221309A1 (en) * | 2016-06-20 | 2017-12-28 | 三菱電機株式会社 | Machining time calculation device and machining time calculation method |
-
1994
- 1994-05-30 JP JP11631794A patent/JP3198010B2/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013102338A1 (en) * | 2012-01-05 | 2013-07-11 | Jiang Junfeng | Method for synchronizing starting point and end point in open numerical control system, and servo drive |
KR102412952B1 (en) * | 2020-10-19 | 2022-06-24 | 부성에버텍(주) | Jig for manufacturing automotive channel covers |
Also Published As
Publication number | Publication date |
---|---|
JPH07319520A (en) | 1995-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9651938B2 (en) | Interference checking device | |
US7039493B2 (en) | Numerical control apparatus | |
JP3198010B2 (en) | Control method and control device for machine tool | |
US6483269B2 (en) | Control apparatus for automatic lathe | |
US5485069A (en) | Numerical control apparatus | |
JPH08263114A (en) | Control method of nc machine tool | |
JPH08263115A (en) | Interference evading method for nc machine tool | |
JP2004202594A (en) | Numerical control device | |
JP2880170B2 (en) | Block overlap method | |
JP2791733B2 (en) | Tool change method | |
JP2654253B2 (en) | Numerical control information creation device | |
JPH08320714A (en) | Method and device for synchronous control in numerical controller | |
JPS63311408A (en) | Numerical controller | |
EP0436887A1 (en) | A numerical control unit | |
EP0328665B1 (en) | Numerical controller | |
JPH0583338B2 (en) | ||
JP3460781B2 (en) | Numerical control unit | |
KR910009240B1 (en) | Numerical controller | |
JPH05309546A (en) | Machining hour computing method for numerically controlled machine tool and its device | |
JPH08118200A (en) | Nc lathe control method | |
JP2584225B2 (en) | Numerical control unit | |
JPH0592349A (en) | Numerically controlled device | |
JP2702555B2 (en) | Numerical control unit reordering method | |
JPH08234820A (en) | Simultaneous operation commanding system by nc program | |
JPH06155103A (en) | Machining controlling method for two opposed spindle lathe |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100608 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120608 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140608 Year of fee payment: 13 |
|
EXPY | Cancellation because of completion of term |