JP3198010B2 - 工作機械の制御方法及び制御装置 - Google Patents
工作機械の制御方法及び制御装置Info
- 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】
【産業上の利用分野】この発明は、工作機械の制御方法
及び制御装置に関し、特に制御プログラムの複数のブロ
ックを同時に実行し、複数の制御軸を有する工作機械の
各制御軸を相互に関連して動作させるように制御する制
御方法及びそれを実行する制御装置に関する。
及び制御装置に関し、特に制御プログラムの複数のブロ
ックを同時に実行し、複数の制御軸を有する工作機械の
各制御軸を相互に関連して動作させるように制御する制
御方法及びそれを実行する制御装置に関する。
【0002】
【従来の技術】数値制御装置のように、制御プログラム
によって制御される複数の制御軸(独立して制御可能な
可動部)を有する工作機械において、制御プログラムの
複数のブロックを同時に実行して、その各制御軸を相互
に関連して動作させるように制御することが行なわれて
いる。
によって制御される複数の制御軸(独立して制御可能な
可動部)を有する工作機械において、制御プログラムの
複数のブロックを同時に実行して、その各制御軸を相互
に関連して動作させるように制御することが行なわれて
いる。
【0003】その場合、例えば各制御軸毎に独立した系
統の制御プログラムによって制御し、各系統間のタイミ
ングの調整をとるが、例えば特開平1−303502号
公報に見られるように、各系統のプログラムの同時に実
行する各ブロックに開始待合せ指令を入れて、それ以前
のブロックの実行が早く終了した方が遅く終了する方の
終了を待って、次の各ブロックの実行開始タイミングの
同期をとる方法がとられており、待ち時間を入れて実行
開始タイミングを調節していた。
統の制御プログラムによって制御し、各系統間のタイミ
ングの調整をとるが、例えば特開平1−303502号
公報に見られるように、各系統のプログラムの同時に実
行する各ブロックに開始待合せ指令を入れて、それ以前
のブロックの実行が早く終了した方が遅く終了する方の
終了を待って、次の各ブロックの実行開始タイミングの
同期をとる方法がとられており、待ち時間を入れて実行
開始タイミングを調節していた。
【0004】
【発明が解決しようとする課題】しかしながら、上述の
ような工作機械において、複数の制御軸による各動作の
終了(所定の加工作業の完了、目的位置への移動完了な
ど)タイミングを正確に同期させることが必要な場合が
あるが、従来の制御方法ではそのような制御はできない
ために、無駄な待ち時間が出てしまうばかりか、複数系
統の制御プログラム間の微妙なタイミング調整はできな
いという問題があった。
ような工作機械において、複数の制御軸による各動作の
終了(所定の加工作業の完了、目的位置への移動完了な
ど)タイミングを正確に同期させることが必要な場合が
あるが、従来の制御方法ではそのような制御はできない
ために、無駄な待ち時間が出てしまうばかりか、複数系
統の制御プログラム間の微妙なタイミング調整はできな
いという問題があった。
【0005】この発明は、このよう問題に鑑みてなされ
たものであり、複数の制御軸を有する工作機械の各制御
軸を相互に関連して動作させる場合の待ち時間を削減し
て、加工時間を短縮すること、及び複数の制御軸による
各動作の終了タイミングを正確に同期させることができ
るようにすることを目的とする。
たものであり、複数の制御軸を有する工作機械の各制御
軸を相互に関連して動作させる場合の待ち時間を削減し
て、加工時間を短縮すること、及び複数の制御軸による
各動作の終了タイミングを正確に同期させることができ
るようにすることを目的とする。
【0006】
【課題を解決するための手段】この発明は、制御プログ
ラムの複数のブロックを同時に実行し、複数の制御軸を
有する工作機械の各制御軸を相互に関連して動作させる
ように制御する工作機械の制御方法において、上記の目
的を達成するため、次の(a)〜(d)の各段階を実行
することによって、制御プログラムの同時に実行する複
数のブロックの実行終了タイミングを同期させることを
特徴とする。
ラムの複数のブロックを同時に実行し、複数の制御軸を
有する工作機械の各制御軸を相互に関連して動作させる
ように制御する工作機械の制御方法において、上記の目
的を達成するため、次の(a)〜(d)の各段階を実行
することによって、制御プログラムの同時に実行する複
数のブロックの実行終了タイミングを同期させることを
特徴とする。
【0007】(a) 上記制御プログラムの少くとも同時に
実行する複数のブロツクを実行形式に変換する段階、
(b) その実行形式に変換した各ブロックの実行時間をそ
れぞれ算出する段階、(c) 上記同時に実行する複数のブ
ロツクのうち、上記制御プログラムのスタートから時間
的に連続していて実行開始タイミングが予め決っている
ブロックを特定する段階、
実行する複数のブロツクを実行形式に変換する段階、
(b) その実行形式に変換した各ブロックの実行時間をそ
れぞれ算出する段階、(c) 上記同時に実行する複数のブ
ロツクのうち、上記制御プログラムのスタートから時間
的に連続していて実行開始タイミングが予め決っている
ブロックを特定する段階、
【0008】(d) その特定したブロックの実行開始タイ
ミング及び実行時間と、同時に実行する複数のブロック
のうち実行開始タイミングが決っていないブロックの実
行時間とから、該複数のブロックの実行終了タイミング
が同期するように、上記実行開始タイミングが決ってい
ないブロックの実行開始タイミングを算出して決定する
段階、
ミング及び実行時間と、同時に実行する複数のブロック
のうち実行開始タイミングが決っていないブロックの実
行時間とから、該複数のブロックの実行終了タイミング
が同期するように、上記実行開始タイミングが決ってい
ないブロックの実行開始タイミングを算出して決定する
段階、
【0009】上記制御プログラムが複数の系統の制御プ
ログラムからなり、上記同時に実行する複数のブロック
が、それぞれ異なる系統の制御プログラムに属していて
もよい。その場合、上記複数の系統の各制御プログラム
に属する同時に実行する各ブロックには、それぞれ実行
終了タイミングを同期させることを示す終了待ち合わせ
指令を入れておくとよい。
ログラムからなり、上記同時に実行する複数のブロック
が、それぞれ異なる系統の制御プログラムに属していて
もよい。その場合、上記複数の系統の各制御プログラム
に属する同時に実行する各ブロックには、それぞれ実行
終了タイミングを同期させることを示す終了待ち合わせ
指令を入れておくとよい。
【0010】また、上記終了待ち合わせ指令を有し且つ
実行開始タイミングが予め決っていないブロック以前の
1つ以上のブロックを、該終了待ち合わせ指令を有する
ブロックと連続して実行するようにしてもよい。その場
合、上記終了待ち合わせ指令を有するブロックと連続し
て実行するブロックに連続実行指令を入れておくとよ
い。あるいは、上記終了待ち合わせ指令に、該指令を有
するブロックと連続して実行するブロック数を指定する
情報を入れておくようにしてもよい。
実行開始タイミングが予め決っていないブロック以前の
1つ以上のブロックを、該終了待ち合わせ指令を有する
ブロックと連続して実行するようにしてもよい。その場
合、上記終了待ち合わせ指令を有するブロックと連続し
て実行するブロックに連続実行指令を入れておくとよ
い。あるいは、上記終了待ち合わせ指令に、該指令を有
するブロックと連続して実行するブロック数を指定する
情報を入れておくようにしてもよい。
【0011】この発明はまた、制御プログラムの複数の
ブロックを同時に実行し、複数の制御軸を有する工作機
械の各制御軸を相互に関連して動作させるように制御す
る工作機械の制御装置において、上記の目的を達成する
ため、次の(1)〜(4)の各手段を設け、上記制御プログラ
ムの同時に実行する複数のブロックの実行終了タイミン
グを同期させるようにしたものも提供する。
ブロックを同時に実行し、複数の制御軸を有する工作機
械の各制御軸を相互に関連して動作させるように制御す
る工作機械の制御装置において、上記の目的を達成する
ため、次の(1)〜(4)の各手段を設け、上記制御プログラ
ムの同時に実行する複数のブロックの実行終了タイミン
グを同期させるようにしたものも提供する。
【0012】(1) 上記制御プログラムの少くとも同時に
実行する複数のブロツクを実行形式に変換するプログラ
ム変換手段、(2) 該手段によって実行形式に変換した各
ブロックの実行時間をそれぞれ算出する実行時間算出手
段、(3) 上記同時に実行する複数のブロツクのうち、上
記制御プログラムのスタートから時間的に連続していて
実行開始タイミングが予め決っているブロックを特定す
るブロック特定手段と、
実行する複数のブロツクを実行形式に変換するプログラ
ム変換手段、(2) 該手段によって実行形式に変換した各
ブロックの実行時間をそれぞれ算出する実行時間算出手
段、(3) 上記同時に実行する複数のブロツクのうち、上
記制御プログラムのスタートから時間的に連続していて
実行開始タイミングが予め決っているブロックを特定す
るブロック特定手段と、
【0013】(4) 該手段によつて特定したブロックの実
行開始タイミング及び実行時間と、上記同時に実行する
複数のブロックのうち実行開始タイミングが決っていな
いブロックの実行時間とから、該複数のブロックの実行
終了タイミングが同期するように、上記実行開始タイミ
ングが決っていないブロックの実行開始タイミングを算
出して決定する実行終了同期手段、
行開始タイミング及び実行時間と、上記同時に実行する
複数のブロックのうち実行開始タイミングが決っていな
いブロックの実行時間とから、該複数のブロックの実行
終了タイミングが同期するように、上記実行開始タイミ
ングが決っていないブロックの実行開始タイミングを算
出して決定する実行終了同期手段、
【0014】
【作用】この発明による工作機械の制御方法及び制御装
置によれば、複数の制御軸を有する工作機械の各制御軸
を相互に関連して動作させるように制御するための制御
プログラムの全部、あるいは少くとも同時に実行する複
数のブロツクを予め実行形式に変換し、その実行形式に
変換した各ブロックの実行時間をそれぞれ算出する。
置によれば、複数の制御軸を有する工作機械の各制御軸
を相互に関連して動作させるように制御するための制御
プログラムの全部、あるいは少くとも同時に実行する複
数のブロツクを予め実行形式に変換し、その実行形式に
変換した各ブロックの実行時間をそれぞれ算出する。
【0015】そして、同時に実行する複数のブロツクの
うち、上記制御プログラムのスタートから時間的に連続
していて実行開始タイミングが予め決っているブロック
の実行開始タイミング及び実行時間と、実行開始タイミ
ングが決っていないブロックの実行時間とから、上記複
数のブロックの実行終了タイミングが同期するように、
上記実行開始タイミングが決っていないブロックの実行
開始タイミングを算出して決定することにより、制御プ
ログラムの同時に実行する複数のブロックの実行終了タ
イミングを同期させる。
うち、上記制御プログラムのスタートから時間的に連続
していて実行開始タイミングが予め決っているブロック
の実行開始タイミング及び実行時間と、実行開始タイミ
ングが決っていないブロックの実行時間とから、上記複
数のブロックの実行終了タイミングが同期するように、
上記実行開始タイミングが決っていないブロックの実行
開始タイミングを算出して決定することにより、制御プ
ログラムの同時に実行する複数のブロックの実行終了タ
イミングを同期させる。
【0016】したがって、工作機械の複数の制御軸によ
る相互に関連する動作の待ち時間を削減して加工時間を
短縮することができると共に、各動作の終了タイミング
を正確に同期させることができる。なお、上記同時に実
行する複数のブロックがそれぞれ異なる系統の制御プロ
グラムに属していても、その各ブロックの実行終了タイ
ミングを同期させることができる。
る相互に関連する動作の待ち時間を削減して加工時間を
短縮することができると共に、各動作の終了タイミング
を正確に同期させることができる。なお、上記同時に実
行する複数のブロックがそれぞれ異なる系統の制御プロ
グラムに属していても、その各ブロックの実行終了タイ
ミングを同期させることができる。
【0017】その場合、その各系統の制御プログラム中
の同時に実行する各ブロックに、それぞれ実行終了タイ
ミングを同期させることを示す終了待ち合わせ指令を入
れておけば、上記各処理を行なう際に、実行終了タイミ
ングを同期させる必要があるブロツクの識別が容易にな
る。
の同時に実行する各ブロックに、それぞれ実行終了タイ
ミングを同期させることを示す終了待ち合わせ指令を入
れておけば、上記各処理を行なう際に、実行終了タイミ
ングを同期させる必要があるブロツクの識別が容易にな
る。
【0018】また、同時に実行する複数のブロックのう
ち、実行開始タイミングが予め決っていないブロックと
それ以前の1つ以上のブロックとを連続して実行すると
により、同じ制御軸による複数の関連動作を連続して行
なわせ、且つその動作終了タイミングを他の制御軸によ
る動作の終了タイミングと同期させることができる。
ち、実行開始タイミングが予め決っていないブロックと
それ以前の1つ以上のブロックとを連続して実行すると
により、同じ制御軸による複数の関連動作を連続して行
なわせ、且つその動作終了タイミングを他の制御軸によ
る動作の終了タイミングと同期させることができる。
【0019】その場合、上記連続して実行するブロック
に連続実行指令を入れておくか、上記終了待ち合わせ指
令に、連続して実行するブロック数を指定する情報を入
れておけば、終了待ち合わせ指令を有するブロックに対
してどのブロックから連続して実行すればよいのかを容
易に判別することができる。
に連続実行指令を入れておくか、上記終了待ち合わせ指
令に、連続して実行するブロック数を指定する情報を入
れておけば、終了待ち合わせ指令を有するブロックに対
してどのブロックから連続して実行すればよいのかを容
易に判別することができる。
【0020】
【実施例】以下、この発明の実施例を図面に基づいて具
体的に説明する。図1はこの発明による工作機械の制御
方法を実施するための制御装置の一実施例を示すブロッ
ク構成図であり、破線M内は複数の制御軸を有する工作
機械の駆動部側である。
体的に説明する。図1はこの発明による工作機械の制御
方法を実施するための制御装置の一実施例を示すブロッ
ク構成図であり、破線M内は複数の制御軸を有する工作
機械の駆動部側である。
【0021】この制御装置は、CPUを備えたシステム
制御部1と、複数のキーを有する入力スイッチ2と、C
RTあるいはLCD等による表示器3と、入力スイッチ
2からの各種指令の入力及び表示器3への各種情報の表
示を制御する入出力制御部4とを備えている。
制御部1と、複数のキーを有する入力スイッチ2と、C
RTあるいはLCD等による表示器3と、入力スイッチ
2からの各種指令の入力及び表示器3への各種情報の表
示を制御する入出力制御部4とを備えている。
【0022】また、システム制御プログラム用メモリ
(ROM)5及びシステム用メモリ(RAM)6を備え
ており、システム制御部(CPU)1は、システム制御
プログラム用メモリ5に格納されているシステム制御プ
ログラムにしたがって、システム用メモリ6をワーキン
グメモリとしてこの発明に係る各種処理を実行すると共
に、この制御装置全体を統括制御する。
(ROM)5及びシステム用メモリ(RAM)6を備え
ており、システム制御部(CPU)1は、システム制御
プログラム用メモリ5に格納されているシステム制御プ
ログラムにしたがって、システム用メモリ6をワーキン
グメモリとしてこの発明に係る各種処理を実行すると共
に、この制御装置全体を統括制御する。
【0023】さらに、この発明に係わるものとして、制
御対象とする工作機械の各軸の制御プログラムを格納す
る制御プログラム格納部(ROM又はRAM)7と、実
行形式に変換されたプログラムを格納する実行形式プロ
グラム格納部(RAM)8と、プログラム形式変換部
9,実行時間算出部10,実行開始タイミング確定ブロ
ック特定部11,実行終了同期部12,及び制御プログ
ラム処理部13と動作制御部14を備えている。
御対象とする工作機械の各軸の制御プログラムを格納す
る制御プログラム格納部(ROM又はRAM)7と、実
行形式に変換されたプログラムを格納する実行形式プロ
グラム格納部(RAM)8と、プログラム形式変換部
9,実行時間算出部10,実行開始タイミング確定ブロ
ック特定部11,実行終了同期部12,及び制御プログ
ラム処理部13と動作制御部14を備えている。
【0024】そして、プログラム形式変換部9は、制御
プログラム格納部7に格納されている制御プログラムの
少くとも同時に実行する複数のブロックを実行形式に変
換して、実行形式プログラム格納部8に格納する。実行
時間算出部10は、その実行形式プログラム格納部8に
格納された実行形式に変換されたプログラムの各ブロッ
クの実行時間をそれぞれ算出する。
プログラム格納部7に格納されている制御プログラムの
少くとも同時に実行する複数のブロックを実行形式に変
換して、実行形式プログラム格納部8に格納する。実行
時間算出部10は、その実行形式プログラム格納部8に
格納された実行形式に変換されたプログラムの各ブロッ
クの実行時間をそれぞれ算出する。
【0025】実行開始タイミング確定ブロック特定部1
1は、上記同時に実行する複数のブロックのうち、制御
プログラムのスタートから時間的に連続していて実行開
始タイミングが予め決っているブロックを特定する。あ
るいはそのスタートから時間的に連続していプログラム
の系統を特定しても、実行開始タイミングが予め決って
いるブロックを特定できる。
1は、上記同時に実行する複数のブロックのうち、制御
プログラムのスタートから時間的に連続していて実行開
始タイミングが予め決っているブロックを特定する。あ
るいはそのスタートから時間的に連続していプログラム
の系統を特定しても、実行開始タイミングが予め決って
いるブロックを特定できる。
【0026】実行終了同期部12は、その特定したブロ
ックの実行開始タイミング及び実行時間算出部10で算
出された実行時間と、同時に実行する複数のブロックの
うち実行開始タイミングが決っていないブロックの実行
時間とから、その複数のブロックの実行終了タイミング
が同期(一致)するように、実行開始タイミングが決っ
ていないブロックの実行開始タイミングを算出して決定
する。これらの各部の処理は、システム制御部1のCP
Uによって実行される。
ックの実行開始タイミング及び実行時間算出部10で算
出された実行時間と、同時に実行する複数のブロックの
うち実行開始タイミングが決っていないブロックの実行
時間とから、その複数のブロックの実行終了タイミング
が同期(一致)するように、実行開始タイミングが決っ
ていないブロックの実行開始タイミングを算出して決定
する。これらの各部の処理は、システム制御部1のCP
Uによって実行される。
【0027】このようにして、実行開始タイミングを決
定したブロックを含む実行形式の制御プログラムを順次
制御プログラム処理部13へ送って実行処理し、動作制
御部14によって各ブロックの実行開始タイミングで駆
動パルスを発生して、工作機械の各軸のモータ制御駆動
部21,22,…を制御し、モータ23,24,…を駆
動させる。各軸のモータ23,24,…にはサーボモー
タを使用するとよい。動作制御部14はさらに、複数の
アクチュエータ制御駆動部25等に制御信号を送ってア
クチュエータ26等を駆動させたり、複数のセンサ28
等からの検知信号をセンサ入力部27等を介して入力す
る。
定したブロックを含む実行形式の制御プログラムを順次
制御プログラム処理部13へ送って実行処理し、動作制
御部14によって各ブロックの実行開始タイミングで駆
動パルスを発生して、工作機械の各軸のモータ制御駆動
部21,22,…を制御し、モータ23,24,…を駆
動させる。各軸のモータ23,24,…にはサーボモー
タを使用するとよい。動作制御部14はさらに、複数の
アクチュエータ制御駆動部25等に制御信号を送ってア
クチュエータ26等を駆動させたり、複数のセンサ28
等からの検知信号をセンサ入力部27等を介して入力す
る。
【0028】このようにして、複数系統の制御プログラ
ムの同時に実行する複数のブロックの実行終了タイミン
グを同期させることにより、工作機械の各制御軸を相互
に関連して動作させる場合の待ち時間を削減して加工時
間を短縮することができると共に、複数の制御軸による
各動作の終了タイミングを正確に同期(一致)させるこ
とができる。
ムの同時に実行する複数のブロックの実行終了タイミン
グを同期させることにより、工作機械の各制御軸を相互
に関連して動作させる場合の待ち時間を削減して加工時
間を短縮することができると共に、複数の制御軸による
各動作の終了タイミングを正確に同期(一致)させるこ
とができる。
【0029】この実施例において、プログラム形式変換
部9による制御プログラムの各ブロックを実行形式に変
換する処理を、コンパイル方式によって予め制御プログ
ラムの全ブロックを読み出して実行形式に変換しておけ
ば、その各ブロックの実行時間と開始条件を求めること
ができる。
部9による制御プログラムの各ブロックを実行形式に変
換する処理を、コンパイル方式によって予め制御プログ
ラムの全ブロックを読み出して実行形式に変換しておけ
ば、その各ブロックの実行時間と開始条件を求めること
ができる。
【0030】開始の条件とは、当該ブロックが実行を開
始するための条件で、プログラム先頭または指定した地
点を起点とする時刻、または動作の完了,ブロックの完
了,ブロックの途中の制御軸の指定された位置,速度,
トルクなどの検出時点、指定したドウェル時間後、など
の条件を意味する。
始するための条件で、プログラム先頭または指定した地
点を起点とする時刻、または動作の完了,ブロックの完
了,ブロックの途中の制御軸の指定された位置,速度,
トルクなどの検出時点、指定したドウェル時間後、など
の条件を意味する。
【0031】多系統プログラムの2つ又はそれ以上の系
統間で、それぞれのブロックの終了が同時に完了するよ
うに待ち合わせ指令したとき、この終了待ち合わせを指
令した個所で全ての系統のブロックが同時に実行を終了
するように、終了待ち合わせがあるブロック又はそれ以
前のブロック(複数になる場合もある)の実行開始条件
を決め直す。
統間で、それぞれのブロックの終了が同時に完了するよ
うに待ち合わせ指令したとき、この終了待ち合わせを指
令した個所で全ての系統のブロックが同時に実行を終了
するように、終了待ち合わせがあるブロック又はそれ以
前のブロック(複数になる場合もある)の実行開始条件
を決め直す。
【0032】一般に、完了が最も遅いブロックの終了
に、他の早く終わるブロックの終了を待ち合わせる。そ
の場合、最後の1ブロックだけについて終了を一致させ
るように開始時点をずらす方法と、最後の1ブロツクよ
り前でそれ以前の他の待ち合わせによる拘束条件を持た
ないブロックまで遡った一群の複数ブロックについて、
その各ブロックの開始時点をずらす方法とがある。
に、他の早く終わるブロックの終了を待ち合わせる。そ
の場合、最後の1ブロックだけについて終了を一致させ
るように開始時点をずらす方法と、最後の1ブロツクよ
り前でそれ以前の他の待ち合わせによる拘束条件を持た
ないブロックまで遡った一群の複数ブロックについて、
その各ブロックの開始時点をずらす方法とがある。
【0033】多系統プログラムの2つ又はそれ以上の系
統間で、ある系統のブロックの特定の条件(位置,時
間,ブロック開始など)で、他の系統のブロックが同時
に終了するように待ち合わせ指令をしたとき、上記と同
様に終了待ち合わせがあるブロック又はそれ以前のブロ
ック(複数になる場合もある)の実行開始条件を決め直
す。
統間で、ある系統のブロックの特定の条件(位置,時
間,ブロック開始など)で、他の系統のブロックが同時
に終了するように待ち合わせ指令をしたとき、上記と同
様に終了待ち合わせがあるブロック又はそれ以前のブロ
ック(複数になる場合もある)の実行開始条件を決め直
す。
【0034】なお、終了待ち合わせの指令とその他の待
ち合わせ条件とが矛盾を生じる場合にはエラー(アラー
ム)を発生し、その他にも条件の矛盾を生じるときには
エラー(アラーム)を発生するようにすれば、プログラ
ムチェック時の便宜に供することができる。
ち合わせ条件とが矛盾を生じる場合にはエラー(アラー
ム)を発生し、その他にも条件の矛盾を生じるときには
エラー(アラーム)を発生するようにすれば、プログラ
ムチェック時の便宜に供することができる。
【0035】終了待ち合わせ指令があるブロック以降の
ブロックについて、終了待ち合わせを行なったために発
生する変更を考慮して開始条件を組みなおす。以上の処
理を終えた後、図1の実行形式プログラム格納部8に全
ブロックの実行データを格納して、コンパイル処理を終
了する。しかしながら、このコンパイル方式によると、
実行形式プログラム格納部8に、予め全ブロックの実行
データを格納しておくメモリ容量が必要になるのでコス
ト高になる。
ブロックについて、終了待ち合わせを行なったために発
生する変更を考慮して開始条件を組みなおす。以上の処
理を終えた後、図1の実行形式プログラム格納部8に全
ブロックの実行データを格納して、コンパイル処理を終
了する。しかしながら、このコンパイル方式によると、
実行形式プログラム格納部8に、予め全ブロックの実行
データを格納しておくメモリ容量が必要になるのでコス
ト高になる。
【0036】そこで、制御プログラムを1ブロックある
いは予め決めた数のブロックずつ、実行する前に先読み
して実行形式に変換していくインタプリタ方式を採用し
てこの発明の制御方法を実行することもできる。図2
は、この実施例におけるインタプリタ方式による制御プ
ログラムの先読み変換処理のフローチャートである。
いは予め決めた数のブロックずつ、実行する前に先読み
して実行形式に変換していくインタプリタ方式を採用し
てこの発明の制御方法を実行することもできる。図2
は、この実施例におけるインタプリタ方式による制御プ
ログラムの先読み変換処理のフローチャートである。
【0037】この処理を開始すると、まずステップ1で
先読みブロック数Mを設定する。これは、制御プログラ
ムのスタートから時間的に連続していて、各ブロックの
実行開始タイミングが予め決っている系統の先読みブロ
ック数を設定することであり、他の系統の先読みブロッ
ク数は加算しない。そして、ステップ2で制御プログラ
ムを1ブロック読込み、ステップ3で終了待ち合わせ指
令か否かを判断し、終了待ち合わせ指令であればステッ
プ4へ進んで、終了待ち合わせ指令処理のサブルーチン
を実行する。その処理内容については後述する。
先読みブロック数Mを設定する。これは、制御プログラ
ムのスタートから時間的に連続していて、各ブロックの
実行開始タイミングが予め決っている系統の先読みブロ
ック数を設定することであり、他の系統の先読みブロッ
ク数は加算しない。そして、ステップ2で制御プログラ
ムを1ブロック読込み、ステップ3で終了待ち合わせ指
令か否かを判断し、終了待ち合わせ指令であればステッ
プ4へ進んで、終了待ち合わせ指令処理のサブルーチン
を実行する。その処理内容については後述する。
【0038】終了待ち合わせ指令でなければステップ5
へ進んで、そのブロックを実行形式に変換し、ステップ
6でその変換結果を実行形式プログラム格納部8(図
1)に格納する。次いで、ステップ7で最終ブロックか
否かを判断し、そうであればステップ10へ進んで、実
行形式プログラム格納部8に格納している残ブロックの
変換結果を制御プログラム処理部13に送って実行し、
処理を終了する。
へ進んで、そのブロックを実行形式に変換し、ステップ
6でその変換結果を実行形式プログラム格納部8(図
1)に格納する。次いで、ステップ7で最終ブロックか
否かを判断し、そうであればステップ10へ進んで、実
行形式プログラム格納部8に格納している残ブロックの
変換結果を制御プログラム処理部13に送って実行し、
処理を終了する。
【0039】最終ブロックでなければ、ステップ8でM
+1ブロック目の変換結果を格納したか否かを判断し、
そうでなければステップ2へ戻って制御プログラムの次
の1ブロックを読込んで、上述の処理を繰り返す。そし
て、M+1ブロック目の変換結果を格納すると、最初に
格納したブロックの変換結果を制御プログラム処理部1
3に送って実行した後、ステップ2へ戻る。
+1ブロック目の変換結果を格納したか否かを判断し、
そうでなければステップ2へ戻って制御プログラムの次
の1ブロックを読込んで、上述の処理を繰り返す。そし
て、M+1ブロック目の変換結果を格納すると、最初に
格納したブロックの変換結果を制御プログラム処理部1
3に送って実行した後、ステップ2へ戻る。
【0040】このようにして、例えば M=3 の場合
は、図4に示すように、制御プログラム格納部7に格納
されている制御プログラムを第1ブロックから1ブロッ
クずつ読み出して、プログラム形式変換部9で実行形式
に変換し、実行形式プログラム格納部8に順次格納する
が、そこに3ブロックの変換結果を格納した後、M+1
ブロック目である4ブロック目の変換結果を格納した時
には、最初に格納したブロック(図示の例では第1ブロ
ック)の変換結果を制御プログラム処理部13へ送って
実行する。
は、図4に示すように、制御プログラム格納部7に格納
されている制御プログラムを第1ブロックから1ブロッ
クずつ読み出して、プログラム形式変換部9で実行形式
に変換し、実行形式プログラム格納部8に順次格納する
が、そこに3ブロックの変換結果を格納した後、M+1
ブロック目である4ブロック目の変換結果を格納した時
には、最初に格納したブロック(図示の例では第1ブロ
ック)の変換結果を制御プログラム処理部13へ送って
実行する。
【0041】以後1ブロック変換して実行形式プログラ
ム格納部8に格納する度に、第2ブロック,第3ブロツ
クと先に格納したブロックからその変換結果を順次制御
プログラム処理部13へ送って実行する。
ム格納部8に格納する度に、第2ブロック,第3ブロツ
クと先に格納したブロックからその変換結果を順次制御
プログラム処理部13へ送って実行する。
【0042】次に、図2におけるステップ4の終了待ち
合わせ指令処理のサブルーチンの内容を図3のフローチ
ャートによって説明する。この処理を開始すると、まず
ステップ11でN=0にし、ステップ12で実行開始タ
イミング確定系統(プログラムのスタートから時間的に
連続していて、各ブロックの実行開始タイミングが予め
決っている系統)を特定する。
合わせ指令処理のサブルーチンの内容を図3のフローチ
ャートによって説明する。この処理を開始すると、まず
ステップ11でN=0にし、ステップ12で実行開始タ
イミング確定系統(プログラムのスタートから時間的に
連続していて、各ブロックの実行開始タイミングが予め
決っている系統)を特定する。
【0043】そして、ステップ13で全系統の終了待ち
合わせ指令の次のブロック(同時に実行する複数のブロ
ック)の制御プログラムを読込む。ここで、ステップ1
2で特定された系統のブロックが、実行開始タイミング
が予め決っているブロックとして特定されることにな
る。次いで、その読込んだ各ブロックのプログラムをそ
れぞれステップ14で実行形式に変換し、ステップ15
でその変換した各ブロックの実行時間を算出する。そし
て、ステップ16で実行開始タイミング確定系統(ブロ
ック)の実行時間が最長か否かを判断する。
合わせ指令の次のブロック(同時に実行する複数のブロ
ック)の制御プログラムを読込む。ここで、ステップ1
2で特定された系統のブロックが、実行開始タイミング
が予め決っているブロックとして特定されることにな
る。次いで、その読込んだ各ブロックのプログラムをそ
れぞれステップ14で実行形式に変換し、ステップ15
でその変換した各ブロックの実行時間を算出する。そし
て、ステップ16で実行開始タイミング確定系統(ブロ
ック)の実行時間が最長か否かを判断する。
【0044】この判断でYESであれば、ステップ17
で他の系統のブロックの実行開始タイミングを算出す
る。それは、実行開始タイミング確定系統のブロックの
実行開始タイミングta及び実行時間TA と他の系統の
ブロックの実行時間TB とから、これらの各ブロックの
実行終了タイミングが同期(一致)するように、他の系統
のブロックの実行開始タイミングをtbとすると、数1
の演算によって算出する。
で他の系統のブロックの実行開始タイミングを算出す
る。それは、実行開始タイミング確定系統のブロックの
実行開始タイミングta及び実行時間TA と他の系統の
ブロックの実行時間TB とから、これらの各ブロックの
実行終了タイミングが同期(一致)するように、他の系統
のブロックの実行開始タイミングをtbとすると、数1
の演算によって算出する。
【0045】
【数1】tb=ta+(TA−TB)
【0046】そして、ステップ18でその他の系統のブ
ロックの実行形式プログラムに、ステップ17で算出し
て決定された実行開始タイミングの指示を追加して、こ
のサブルーチンの処理を終了し、図2のフローチャート
の処理に戻る。ステップ16の判断で実行開始タイミン
グ確定系統のブロックの実行時間が最長ではない場合に
は、ステップ19でNを+1して、ステップ20で実行
開始タイミング確定系統の終了待ち合わせ指令のNブロ
ック前のブロックを読込む。
ロックの実行形式プログラムに、ステップ17で算出し
て決定された実行開始タイミングの指示を追加して、こ
のサブルーチンの処理を終了し、図2のフローチャート
の処理に戻る。ステップ16の判断で実行開始タイミン
グ確定系統のブロックの実行時間が最長ではない場合に
は、ステップ19でNを+1して、ステップ20で実行
開始タイミング確定系統の終了待ち合わせ指令のNブロ
ック前のブロックを読込む。
【0047】そして、ステップ21で実行形式に変換
し、ステップ22でそのブロックの実行時間を算出す
る。ステップ23でその算出した実行時間を実行開始タ
イミング確定系統のブロックの実行時間に加算してステ
ップ16の判断に戻る。その結果、実行開始タイミング
確定系統の実行時間(この場合終了待ち合わせするブロ
ックとその一つ前のブロックの実行時間)が最長になれ
ば、ステップ17へ進むが、そうでなければ再びステッ
プ19へ進んでNをさらに+1して上述したステップ2
0〜23の処理を繰り返す。
し、ステップ22でそのブロックの実行時間を算出す
る。ステップ23でその算出した実行時間を実行開始タ
イミング確定系統のブロックの実行時間に加算してステ
ップ16の判断に戻る。その結果、実行開始タイミング
確定系統の実行時間(この場合終了待ち合わせするブロ
ックとその一つ前のブロックの実行時間)が最長になれ
ば、ステップ17へ進むが、そうでなければ再びステッ
プ19へ進んでNをさらに+1して上述したステップ2
0〜23の処理を繰り返す。
【0048】ここで、他の系統のブロックの実行開始タ
イミング算出について、図5によって説明する。(a)
はN=0の場合の例、(b)はN=1の場合の例を示
す。図中の斜線を施して示すブロックが終了待ち合わせ
指令であり、その各右側のブロックが同時に実行してそ
の実行終了タイミングを同期させる複数のブロックであ
る。ta,tb,TA ,TB は次のとおりである。 ta:実行開始タイミング確定系統のブロックの実行開
始タイミング、 TA :同じくその実行時間(1+Nブロック分) tb:他の系統のブロックの実行開始タイミング、 TB :同じくその実行時間、
イミング算出について、図5によって説明する。(a)
はN=0の場合の例、(b)はN=1の場合の例を示
す。図中の斜線を施して示すブロックが終了待ち合わせ
指令であり、その各右側のブロックが同時に実行してそ
の実行終了タイミングを同期させる複数のブロックであ
る。ta,tb,TA ,TB は次のとおりである。 ta:実行開始タイミング確定系統のブロックの実行開
始タイミング、 TA :同じくその実行時間(1+Nブロック分) tb:他の系統のブロックの実行開始タイミング、 TB :同じくその実行時間、
【0049】上述した数1の演算によつて他の系統のブ
ロックの実行開始タイミングtbを算出するには、TA
>TB でなければならないので、TA <TB の場合は、
図5の(b)に示すようにN=1にして、実行開始タイ
ミング確定系統の終了待ち合わせ指令の1ブロック前の
ブロックの実行開始タイミングをtaとし、その後の2
ブロックの実行時間をTA とする。
ロックの実行開始タイミングtbを算出するには、TA
>TB でなければならないので、TA <TB の場合は、
図5の(b)に示すようにN=1にして、実行開始タイ
ミング確定系統の終了待ち合わせ指令の1ブロック前の
ブロックの実行開始タイミングをtaとし、その後の2
ブロックの実行時間をTA とする。
【0050】それでもTA >TB にならない場合は、N
=2にして実行開始タイミング確定系統の終了待ち合わ
せ指令の2ブロック前のブロックの実行開始タイミング
をtaとし、その後の3ブロックの実行時間をTA とす
る。このように、TA >TBになるまでNを大きくして
いく。この場合、図2に示したインタプリタ方式の先読
み処理における先読みブロック数Mが、N+2>M に
なると、既に実行しているブロックの実行開始タイミン
グを後から要求することになり、実行開始タイミングが
決められなくなる。
=2にして実行開始タイミング確定系統の終了待ち合わ
せ指令の2ブロック前のブロックの実行開始タイミング
をtaとし、その後の3ブロックの実行時間をTA とす
る。このように、TA >TBになるまでNを大きくして
いく。この場合、図2に示したインタプリタ方式の先読
み処理における先読みブロック数Mが、N+2>M に
なると、既に実行しているブロックの実行開始タイミン
グを後から要求することになり、実行開始タイミングが
決められなくなる。
【0051】次に、この発明をNC旋盤に適用して、突
っ切りバイトによる突っ切り加工の終了と加工済みワー
クを受けるセパレータの前進完了とを同期させるように
する実施例について説明する。
っ切りバイトによる突っ切り加工の終了と加工済みワー
クを受けるセパレータの前進完了とを同期させるように
する実施例について説明する。
【0052】図6は、この発明を実施するNC旋盤の要
部平面図であり、主軸台30に主軸31を回転可能に保
持し、その主軸31の先端部にチャック31aを内蔵し
ている。さらにその前方に主軸31と軸線Lを共通にす
るガイドブッシュ32を備えたガイドブッシュ装置36
が固設されている。
部平面図であり、主軸台30に主軸31を回転可能に保
持し、その主軸31の先端部にチャック31aを内蔵し
ている。さらにその前方に主軸31と軸線Lを共通にす
るガイドブッシュ32を備えたガイドブッシュ装置36
が固設されている。
【0053】そして、丸棒状の加工材料34をこれらの
主軸31及びガイドブッシュ32を貫通させて、ガイド
ブッシュ32から被加工部分(以下「ワーク」という)
35だけ突出させてチャックで固定して保持し、図示し
ないモータの回転による主軸31の回転に伴って、加工
材料34も回転される。また、この加工材料34を保持
する主軸31は、主軸台30と共に一点鎖線で示す軸線
Lに沿う方向(矢示A方向)に移動する。
主軸31及びガイドブッシュ32を貫通させて、ガイド
ブッシュ32から被加工部分(以下「ワーク」という)
35だけ突出させてチャックで固定して保持し、図示し
ないモータの回転による主軸31の回転に伴って、加工
材料34も回転される。また、この加工材料34を保持
する主軸31は、主軸台30と共に一点鎖線で示す軸線
Lに沿う方向(矢示A方向)に移動する。
【0054】一方、ガイドブッシュ32の周囲には、図
示を省略しているがくし歯式又はターレット式の刃物台
が設けられており、各種のバイト(刃物)を選択して、
軸線Lに直交する方向(矢示B方向)に移動させ、ワー
ク35を加工する。加工が完了したワーク35は突っ切
りバイト33の前進によって加工材料34から切り落さ
れる。
示を省略しているがくし歯式又はターレット式の刃物台
が設けられており、各種のバイト(刃物)を選択して、
軸線Lに直交する方向(矢示B方向)に移動させ、ワー
ク35を加工する。加工が完了したワーク35は突っ切
りバイト33の前進によって加工材料34から切り落さ
れる。
【0055】その時ワーク回収装置40は、セパレータ
であるワーク受け器44を、実線で示す待機位置HPか
ら仮想線で示す加工位置の直下の前進位置FPへ前進さ
せ、ワーク35を受け取って再び実線で示す待機位置H
Pへ戻す。矢示Cはこのワーク受け器44の前進・後退
方向を示す。
であるワーク受け器44を、実線で示す待機位置HPか
ら仮想線で示す加工位置の直下の前進位置FPへ前進さ
せ、ワーク35を受け取って再び実線で示す待機位置H
Pへ戻す。矢示Cはこのワーク受け器44の前進・後退
方向を示す。
【0056】ワーク回収装置40は図7にも示すよう
に、スライドブロック41が2本のガイドレール42,
42に矢示C方向に摺動自在に装着され、その一側部に
支持板43を介して金網で形成されたワーク受け器44
が回動可能に支持されており、図示しないモータ等によ
り、図7の手前側に実線で示す上向状態と仮想線で示す
横向き状態とに回動される。
に、スライドブロック41が2本のガイドレール42,
42に矢示C方向に摺動自在に装着され、その一側部に
支持板43を介して金網で形成されたワーク受け器44
が回動可能に支持されており、図示しないモータ等によ
り、図7の手前側に実線で示す上向状態と仮想線で示す
横向き状態とに回動される。
【0057】そして、スライドブロック41の他側部に
沿って両端部を延長させて設けたラック45にサーボモ
ータ46によって回転されるピニオン47を噛み合わせ
ており、そのサーボモータ46の正逆回転によって、ス
ライドブロック41をワーク受け器44と共に矢示C方
向に往復移動させ、仮想線で示す前進位置へ前進して加
工済みのワークを受け取る際には、ワーク受け器44を
上向きにし、実線で示す待機位置に戻ったときには、ワ
ーク受け器44を横向にして、受け取ったワークをワー
ク受け箱48へ収納させる。
沿って両端部を延長させて設けたラック45にサーボモ
ータ46によって回転されるピニオン47を噛み合わせ
ており、そのサーボモータ46の正逆回転によって、ス
ライドブロック41をワーク受け器44と共に矢示C方
向に往復移動させ、仮想線で示す前進位置へ前進して加
工済みのワークを受け取る際には、ワーク受け器44を
上向きにし、実線で示す待機位置に戻ったときには、ワ
ーク受け器44を横向にして、受け取ったワークをワー
ク受け箱48へ収納させる。
【0058】ワーク受け器44は金網で形成されている
ため、ワーク35と共に流れ落ちる切削油や細かい切り
粉を通過させてワーク35のみを分離することができ
る。しかし、このワーク回収装置40がワーク35の突
っ切り加工が完了する前に速くワーク受け器44を前進
位置FPに移動させると、その加工中の大きな切り屑が
ワーク受け器44内に入ってしまい、ワーク35と分離
が困難になる。
ため、ワーク35と共に流れ落ちる切削油や細かい切り
粉を通過させてワーク35のみを分離することができ
る。しかし、このワーク回収装置40がワーク35の突
っ切り加工が完了する前に速くワーク受け器44を前進
位置FPに移動させると、その加工中の大きな切り屑が
ワーク受け器44内に入ってしまい、ワーク35と分離
が困難になる。
【0059】そのため、突っ切りバイト33による突っ
切り加工の終了と、加工済みワーク35を受けるワーク
受け器(以下「セパレータ」と称す」44の前進完了と
が同時になるようにするのが望ましい。しかし、従来は
セパレータの前進速度を予測して、突っ切りバイトによ
る突っ切り加工開始後所定の時点でセパレータの前進を
開始させるように、実行開始待ち合わせで制御していた
ので、動作完了時点を完全に一致させることは難かし
く、セパレータの前進完了が突っ切り加工完了より遅れ
るとワークを受け取れなくなるため、若干余裕を持たせ
てセパレータの前進完了の方が早めになるようにしてい
た。そのため、ワークと共に大きな切り屑が混入してし
まうことが多かった。
切り加工の終了と、加工済みワーク35を受けるワーク
受け器(以下「セパレータ」と称す」44の前進完了と
が同時になるようにするのが望ましい。しかし、従来は
セパレータの前進速度を予測して、突っ切りバイトによ
る突っ切り加工開始後所定の時点でセパレータの前進を
開始させるように、実行開始待ち合わせで制御していた
ので、動作完了時点を完全に一致させることは難かし
く、セパレータの前進完了が突っ切り加工完了より遅れ
るとワークを受け取れなくなるため、若干余裕を持たせ
てセパレータの前進完了の方が早めになるようにしてい
た。そのため、ワークと共に大きな切り屑が混入してし
まうことが多かった。
【0060】そこでこの実施例では、前述したこの発明
による実行終了待ち合わせを適用して、プログラムのス
タートから時間的に連続していて、各ブロックの実行開
始タイミングが予め決っている実行開始タイミング確定
系統の制御プログラムに属する突っ切りバイト33によ
る突っ切り加工の制御を行なうブロックと、その他の系
統の制御プログラムに属するワーク回収装置40による
セパレータ44の前進の制御を行なうブロックとに、実
行終了待ち合わせ指令を入れて(インタプリタ方式の場
合は各ブロックの直前に入れる)、両ブロックの実行終
了タイミングを同期させる。
による実行終了待ち合わせを適用して、プログラムのス
タートから時間的に連続していて、各ブロックの実行開
始タイミングが予め決っている実行開始タイミング確定
系統の制御プログラムに属する突っ切りバイト33によ
る突っ切り加工の制御を行なうブロックと、その他の系
統の制御プログラムに属するワーク回収装置40による
セパレータ44の前進の制御を行なうブロックとに、実
行終了待ち合わせ指令を入れて(インタプリタ方式の場
合は各ブロックの直前に入れる)、両ブロックの実行終
了タイミングを同期させる。
【0061】その場合のタイミングチャートの例を図8
に示す。図8において、(a)は突っ切りバイト33を
移動させるX軸の、(b)はセパレータ44を移動させ
るA軸の、それぞれ送り速度(縦軸)の変化と時間経過
(横軸)との関係を示している。この実施例の突っ切り
バイト33を移動させるX軸の図示しないサーボモータ
と、セパレータ44を前進・後退させるA軸のサーボモ
ータ46を、図1の2個のモータ23,24とすればよ
い。
に示す。図8において、(a)は突っ切りバイト33を
移動させるX軸の、(b)はセパレータ44を移動させ
るA軸の、それぞれ送り速度(縦軸)の変化と時間経過
(横軸)との関係を示している。この実施例の突っ切り
バイト33を移動させるX軸の図示しないサーボモータ
と、セパレータ44を前進・後退させるA軸のサーボモ
ータ46を、図1の2個のモータ23,24とすればよ
い。
【0062】突っ切りバイト33は、時点taでX=1
2の位置から前進を開始して、実行時間TA 後の時点t
cでX=0(バイトの刃先が主軸の軸線Lに達する位
置)になって、突っ切りを完了する。その後ワーク35
にへそが残らないように、さらにX=−3の位置まで前
進して停止する。
2の位置から前進を開始して、実行時間TA 後の時点t
cでX=0(バイトの刃先が主軸の軸線Lに達する位
置)になって、突っ切りを完了する。その後ワーク35
にへそが残らないように、さらにX=−3の位置まで前
進して停止する。
【0063】一方、セパレータ44は、突っ切りバイト
33の前進開始時点taより時間Tc だけ遅れた時点t
bで、待機位置HPから前進を開始し、その実行時間T
B後の時点tcで前進端位置FPに達し、ごく短時間停
止してから後退を開始し、時点tdで待機位置HPへ戻
る。
33の前進開始時点taより時間Tc だけ遅れた時点t
bで、待機位置HPから前進を開始し、その実行時間T
B後の時点tcで前進端位置FPに達し、ごく短時間停
止してから後退を開始し、時点tdで待機位置HPへ戻
る。
【0064】この場合、前述したように予め制御プログ
ラムの実行形式への変換後、突っ切り加工の実行時間T
A と、セパレータの前進時間TB を算出し、セパレータ
の前進開始時点tbは、前述した終了待ち合わせ指令の
処理において、 tb=ta+TC =ta+(TA−TB ) によって実行前に算出され、このセパレータ前進のブロ
ックの実行形式のプログラム中に指示が追加されてい
る。
ラムの実行形式への変換後、突っ切り加工の実行時間T
A と、セパレータの前進時間TB を算出し、セパレータ
の前進開始時点tbは、前述した終了待ち合わせ指令の
処理において、 tb=ta+TC =ta+(TA−TB ) によって実行前に算出され、このセパレータ前進のブロ
ックの実行形式のプログラム中に指示が追加されてい
る。
【0065】したがって、この実施例によれば、突っ切
りバイト33による突っ切り加工の完了時点とセパレー
タ44の前進完了時点とを精度よく同期させることがで
きるので、セパレータ44内にワーク35以外の余分な
切り屑や切り粉が入るのを最小限にすることができ、特
に微小な部品を突っ切り加工した場合にその部品(ワー
ク)と切り屑とが、ワーク受け箱48内に混在して収納
されて選別が困難になるようなことを防止できる。
りバイト33による突っ切り加工の完了時点とセパレー
タ44の前進完了時点とを精度よく同期させることがで
きるので、セパレータ44内にワーク35以外の余分な
切り屑や切り粉が入るのを最小限にすることができ、特
に微小な部品を突っ切り加工した場合にその部品(ワー
ク)と切り屑とが、ワーク受け箱48内に混在して収納
されて選別が困難になるようなことを防止できる。
【0066】図9は、この実施例における複数系統の制
御プログラムによる各種の実行終了待ち合わせ指令の設
定例を示す説明図である。図中、斜線を施して示す狭い
ブロツクeは終了待ち合わせ指令、横線を施した狭いブ
ロックsは開始待ち合わせ指令、散点を施した狭いブロ
ックcは連続実行指令である。そして、各終了待ち合わ
せ指令eの直後のブロックが実行終了タイミングの同期
をとるブロック(「終了同期ブロツク」という)であ
る。
御プログラムによる各種の実行終了待ち合わせ指令の設
定例を示す説明図である。図中、斜線を施して示す狭い
ブロツクeは終了待ち合わせ指令、横線を施した狭いブ
ロックsは開始待ち合わせ指令、散点を施した狭いブロ
ックcは連続実行指令である。そして、各終了待ち合わ
せ指令eの直後のブロックが実行終了タイミングの同期
をとるブロック(「終了同期ブロツク」という)であ
る。
【0067】この図9の(a),(b),(d),(e)は、い
ずれも系統1が実行開始タイミング確定系統である。そ
して、(a)は、実行開始タイミング確定系統(系統1)
の終了同期ブロツク(突っ切り)の実行時間TA が、系
統2の終了同期ブロツク(セバレータ前進)の実行時間
TB より長い(TA >TB )場合である。
ずれも系統1が実行開始タイミング確定系統である。そ
して、(a)は、実行開始タイミング確定系統(系統1)
の終了同期ブロツク(突っ切り)の実行時間TA が、系
統2の終了同期ブロツク(セバレータ前進)の実行時間
TB より長い(TA >TB )場合である。
【0068】(b)は、実行開始タイミング確定系統(系
統1)の終了同期ブロツクの実行時間TA が、系統2の
終了同期ブロツクの実行時間TB より短い(TA <TB
)場合であり、実行開始タイミング確定系統の終了同
期ブロツクより1ブロック前のブロック(外径)に遡っ
て、そのブロックの実行開始タイミングをtaとし、そ
の後の2ブロックの実行時間の合計をTA として、系統
2の終了同期ブロツク(セパレータ前進)の実行開始タ
イミングtbを算出する
統1)の終了同期ブロツクの実行時間TA が、系統2の
終了同期ブロツクの実行時間TB より短い(TA <TB
)場合であり、実行開始タイミング確定系統の終了同
期ブロツクより1ブロック前のブロック(外径)に遡っ
て、そのブロックの実行開始タイミングをtaとし、そ
の後の2ブロックの実行時間の合計をTA として、系統
2の終了同期ブロツク(セパレータ前進)の実行開始タ
イミングtbを算出する
【0069】(c)は、実行開始タイミング確定系統が初
めは系統3であったが、開始待ち合わせ指令sによって
系統1に移り、系統1の終了同期ブロツク(突っ切り)
と系統2の終了同期ブロツク(セパレータ前進)とで実
行終了待ち合わせを行なう。この場合は(TA <TB )
であるから、系統3の1ブロック前(中ぐり)に遡っ
て、そのブロックの実行開始時点をtaとし、そのブロ
ック(中ぐり)の実行時間と系統1の終了同期ブロツク
(突っ切り)の実行時間との和をTA とする。
めは系統3であったが、開始待ち合わせ指令sによって
系統1に移り、系統1の終了同期ブロツク(突っ切り)
と系統2の終了同期ブロツク(セパレータ前進)とで実
行終了待ち合わせを行なう。この場合は(TA <TB )
であるから、系統3の1ブロック前(中ぐり)に遡っ
て、そのブロックの実行開始時点をtaとし、そのブロ
ック(中ぐり)の実行時間と系統1の終了同期ブロツク
(突っ切り)の実行時間との和をTA とする。
【0070】(d)は、終了待ち合わせ指令e以前にある
開始待ち合わせ指令sで実行の同期を取ると、終了待ち
合わせ指令での同期終了が成立しなくなる場合で、ミス
プログラムであるからエラー(アラーム)を発生してそ
れを知らせる(プログラムチェック時)。
開始待ち合わせ指令sで実行の同期を取ると、終了待ち
合わせ指令での同期終了が成立しなくなる場合で、ミス
プログラムであるからエラー(アラーム)を発生してそ
れを知らせる(プログラムチェック時)。
【0071】(e)は、系統2の終了同期ブロツク(セパ
レータ前進)とその1ブロック前のブロック(ワーク受
け器上向き)の前に連続実行指令があり、この2つのブ
ロックを連続して実行する。この場合、終了待ち合わせ
指令eにそのブロックと連続して実行するブロック数の
情報を入れておくようにするとよい。(f)は、実行開始
タイミング確定系統が系統1から系統2へ移る3系統の
例であり、☆印の付してあるブロックが実行開始タイミ
ング確定していない終了同期ブロツクである。
レータ前進)とその1ブロック前のブロック(ワーク受
け器上向き)の前に連続実行指令があり、この2つのブ
ロックを連続して実行する。この場合、終了待ち合わせ
指令eにそのブロックと連続して実行するブロック数の
情報を入れておくようにするとよい。(f)は、実行開始
タイミング確定系統が系統1から系統2へ移る3系統の
例であり、☆印の付してあるブロックが実行開始タイミ
ング確定していない終了同期ブロツクである。
【0072】なお、この図9の例では終了待ち合わせ指
令を、全て終了同期ブロツクの直前に入れているが、コ
ンパイル方式の場合には、終了同期ブロツクの直後に終
了待ち合わせ指令を入れるようにしてもよい。また、プ
ログラムチェック時には、実行開始タイミング確定系統
に連続実行指令又は終了待ち合わせ指令中に連続実行ブ
ロック数の情報があった場合、それらは誤って設定され
ているので読み飛ばすか、又はアラームを発生するとよ
い。
令を、全て終了同期ブロツクの直前に入れているが、コ
ンパイル方式の場合には、終了同期ブロツクの直後に終
了待ち合わせ指令を入れるようにしてもよい。また、プ
ログラムチェック時には、実行開始タイミング確定系統
に連続実行指令又は終了待ち合わせ指令中に連続実行ブ
ロック数の情報があった場合、それらは誤って設定され
ているので読み飛ばすか、又はアラームを発生するとよ
い。
【0073】上述の実施例は、NC制盤における突っ切
り加工とセパレータの前進とを実行終了タイミングで同
期させるようにした例について述べたが、この発明はこ
れに限るものではなく、工作機械の複数の制御軸一方の
動作がある条件に達した時に他方の動作が同時に終了す
るようにする必要がある場合には、全て有効である。例
えば、主軸回転の始動/停止とチャックの開/閉、ある
いはエンドミルによる複数の刃物での加工が同時に終わ
るようにする場合等にも適用できる。
り加工とセパレータの前進とを実行終了タイミングで同
期させるようにした例について述べたが、この発明はこ
れに限るものではなく、工作機械の複数の制御軸一方の
動作がある条件に達した時に他方の動作が同時に終了す
るようにする必要がある場合には、全て有効である。例
えば、主軸回転の始動/停止とチャックの開/閉、ある
いはエンドミルによる複数の刃物での加工が同時に終わ
るようにする場合等にも適用できる。
【0074】
【発明の効果】以上説明してきたように、この発明によ
れば、複数の制御軸を有する工作機械の各制御軸を相互
に関連して動作させる場合の待ち時間を削減して、加工
時間を短縮すること、及び複数の制御軸による各動作の
終了タイミングを正確に同期させることができる。
れば、複数の制御軸を有する工作機械の各制御軸を相互
に関連して動作させる場合の待ち時間を削減して、加工
時間を短縮すること、及び複数の制御軸による各動作の
終了タイミングを正確に同期させることができる。
【図1】この発明による工作機械の制御方法を実施する
ための制御装置の一実施例を示すブロック構成図であ
る。
ための制御装置の一実施例を示すブロック構成図であ
る。
【図2】図1の実施例によるインタプリタ方式による制
御プログラムの先読み変換処理のフローチャートであ
る。
御プログラムの先読み変換処理のフローチャートであ
る。
【図3】図2におけるステップ4の終了待ち合わせ指令
処理のサブルーチンのフローチャートである。
処理のサブルーチンのフローチャートである。
【図4】図2の制御プログラムの先読み変換処理を M
=3 の場合の例で示す説明図である。
=3 の場合の例で示す説明図である。
【図5】図3における他の系統のブロックの実行開始タ
イミング算出に関する説明図である。
イミング算出に関する説明図である。
【図6】この発明を実施するNC旋盤の要部平面図であ
る。
る。
【図7】同じくそのワーク回収装置の斜視図である。
【図8】図6に示したNC旋盤において突っ切りバイト
による突っ切り加工の終了と加工済みワークを受けるセ
パレータの前進完了とを同期させるように制御する場合
のタイミングチャートである。
による突っ切り加工の終了と加工済みワークを受けるセ
パレータの前進完了とを同期させるように制御する場合
のタイミングチャートである。
【図9】この実施例における複数系統の制御プログラム
による各種の実行終了待ち合わせ指令の設定例を示す説
明図である。
による各種の実行終了待ち合わせ指令の設定例を示す説
明図である。
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:ワーク受け箱
器 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:ワーク受け箱
フロントページの続き (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
Claims (7)
- 【請求項1】 制御プログラムの複数のブロックを同時
に実行し、複数の制御軸を有する工作機械の各制御軸を
相互に関連して動作させるように制御する工作機械の制
御方法において、 前記制御プログラムの少くとも同時に実行する複数のブ
ロックを実行形式に変換する段階と、 その実行形式に変換した各ブロックの実行時間をそれぞ
れ算出する段階と、 前記同時に実行する複数のブロックのうち、前記制御プ
ログラムのスタートから時間的に連続していて実行開始
タイミングが予め決っているブロックを特定する段階
と、 その特定したブロックの実行開始タイミング及び実行時
間と、前記同時に実行する複数のブロックのうち実行開
始タイミングが決っていないブロックの実行時間とか
ら、該複数のブロックの実行終了タイミングが同期する
ように、前記実行開始タイミングが決っていないブロッ
クの実行開始タイミングを算出して決定する段階とを有
し、 前記制御プログラムの同時に実行する複数のブロックの
実行終了タイミングを同期させることを特徴とする工作
機械の制御方法。 - 【請求項2】 前記制御プログラムが複数の系統の制御
プログラムからなり、前記同時に実行する複数のブロッ
クが、それぞれ異なる系統の制御プログラムに属してい
ることを特徴とする請求項1記載の工作機械の制御方
法。 - 【請求項3】 前記複数の系統の各制御プログラムに属
する同時に実行する各ブロックには、それぞれ実行終了
タイミングを同期させることを示す終了待ち合わせ指令
を入れておくことを特徴とする請求項2記載の工作機械
の制御方法。 - 【請求項4】前記終了待ち合わせ指令を有し且つ前記実
行開始タイミングが予め決っていないブロック以前の1
つ以上のブロックを、該終了待ち合わせ指令を有するブ
ロックと連続して実行することを特徴とする請求項3記
載の工作機械の制御方法。 - 【請求項5】 前記終了待ち合わせ指令を有するブロッ
クと連続して実行するブロックに連続実行指令を入れて
おくことを特徴とする請求項4記載の工作機械の制御方
法。 - 【請求項6】 前記終了待ち合わせ指令に、該指令を有
するブロックと連続して実行するブロック数を指定する
情報を入れておくことを特徴とする請求項4記載の工作
機械の制御方法。 - 【請求項7】 制御プログラムの複数のブロックを同時
に実行し、複数の制御軸を有する工作機械の各制御軸を
相互に関連して動作させるように制御する工作機械の制
御装置において、 前記制御プログラムの少くとも同時に実行する複数のブ
ロックを実行形式に変換するプログラム形式変換手段
と、 該手段によって実行形式に変換した各ブロックの実行時
間をそれぞれ算出する実行時間算出手段と、 前記同時に実行する複数のブロックのうち、前記制御プ
ログラムのスタートから時間的に連続していて実行開始
タイミングが予め決っているブロックを特定する実行開
始タイミング確定ブロック特定手段と、 該手段によつて特定したブロックの実行開始タイミング
及び実行時間と、前記同時に実行する複数のブロックの
うち実行開始タイミングが決っていないブロックの実行
時間とから、該複数のブロックの実行終了タイミングが
同期するように、前記実行開始タイミングが決っていな
いブロックの実行開始タイミングを算出して決定する実
行終了同期手段とを設け、 前記制御プログラムの同時に実行する複数のブロックの
実行終了タイミングを同期させるようにしたことを特徴
とする工作機械の制御装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11631794A JP3198010B2 (ja) | 1994-05-30 | 1994-05-30 | 工作機械の制御方法及び制御装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11631794A JP3198010B2 (ja) | 1994-05-30 | 1994-05-30 | 工作機械の制御方法及び制御装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH07319520A JPH07319520A (ja) | 1995-12-08 |
| JP3198010B2 true JP3198010B2 (ja) | 2001-08-13 |
Family
ID=14684001
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11631794A Expired - Lifetime JP3198010B2 (ja) | 1994-05-30 | 1994-05-30 | 工作機械の制御方法及び制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3198010B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2013102338A1 (zh) * | 2012-01-05 | 2013-07-11 | Jiang Junfeng | 开放式数控系统中的起点与终点同步方法、伺服驱动器 |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4541589B2 (ja) * | 2001-05-16 | 2010-09-08 | シチズンホールディングス株式会社 | 数値制御工作機械におけるワークの加工方法及びそのプログラム |
| WO2017221309A1 (ja) * | 2016-06-20 | 2017-12-28 | 三菱電機株式会社 | 加工時間算出装置及び加工時間算出方法 |
-
1994
- 1994-05-30 JP JP11631794A patent/JP3198010B2/ja not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2013102338A1 (zh) * | 2012-01-05 | 2013-07-11 | Jiang Junfeng | 开放式数控系统中的起点与终点同步方法、伺服驱动器 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH07319520A (ja) | 1995-12-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9651938B2 (en) | Interference checking device | |
| US7039493B2 (en) | Numerical control apparatus | |
| JP3198010B2 (ja) | 工作機械の制御方法及び制御装置 | |
| JPH08263114A (ja) | Nc工作機械の制御方法 | |
| US5485069A (en) | Numerical control apparatus | |
| JP2004202594A (ja) | 数値制御装置 | |
| JP2880170B2 (ja) | ブロックオーバラップ方法 | |
| EP1164447A2 (en) | Control apparatus for automatic lathe | |
| JPH08263115A (ja) | Nc工作機械における干渉回避方法 | |
| JPH08320714A (ja) | 数値制御装置における同期制御方法および同期制御装置 | |
| JP2791733B2 (ja) | 工具交換方法 | |
| JP2654253B2 (ja) | 数値制御情報作成装置 | |
| EP0328665B1 (en) | Numerical controller | |
| WO1992009018A1 (fr) | Procede d'execution d'une fonction auxiliaire dans un equipement a commande numerique | |
| JPS63311408A (ja) | 数値制御装置 | |
| EP0436887A1 (en) | A numerical control unit | |
| JP3313001B2 (ja) | Nc旋盤の加工開始及び終了時の制御方法 | |
| JPH0583338B2 (ja) | ||
| JP3460781B2 (ja) | 数値制御装置 | |
| KR910009240B1 (ko) | 수치제어장치 | |
| JPH05309546A (ja) | 数値制御工作機械の加工時間計算方法及びその装置 | |
| JPH08118200A (ja) | Nc旋盤の制御方法 | |
| JP2584225B2 (ja) | 数値制御装置 | |
| JPH0592349A (ja) | 数値制御装置 | |
| JPH06155103A (ja) | 2主軸対向旋盤の加工制御方法 |
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 |