(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023151280
(43)【公開日】2023-10-16
(54)【発明の名称】制御装置、工作機械、制御方法及びコンピュータプログラム
(51)【国際特許分類】
G05B 19/4155 20060101AFI20231005BHJP
【FI】
G05B19/4155 X
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022060813
(22)【出願日】2022-03-31
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】100114557
【弁理士】
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【弁理士】
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】甲斐 優
【テーマコード(参考)】
3C269
【Fターム(参考)】
3C269AB01
3C269BB03
3C269BB05
3C269CC02
3C269CC15
3C269EF25
3C269EF39
3C269MN08
3C269MN16
3C269QB17
(57)【要約】
【課題】ワークの加工に要する時間を短縮しつつ、加工精度の低下を抑制できる制御装置等を提供する。
【解決手段】制御装置は、複数の指令を順に読み出して、工具を装着する移動可能な主軸及びワークを保持する移動可能な保持部の移動を制御する。保持部は移動のために予め制動解除が必要である。制御装置は軸方向にてワークから離れる主軸の移動を示す指令である第一指令を読み出した場合、第一指令の後に読み出される第二指令が保持部の移動を示す指令であるか否かを判定する移動判定部と、移動判定部にて、第二指令が保持部の移動を示す指令であると判定した場合、第一指令における主軸の移動開始位置がワークから第一距離以上離れた位置であるか否かを判定する開始位置判定部と、開始位置判定部にて、移動開始位置がワークから第一距離以上離れた位置であると判定した場合、第一指令の実行中に保持部の制動解除を実行する第一実行部とを備える。
【選択図】
図8
【特許請求の範囲】
【請求項1】
複数の指令を順に読み出して、工具を装着する移動可能な主軸及びワークを保持する移動可能な保持部の移動を制御する制御装置において、
前記保持部は移動のために予め制動解除が必要であり、
軸方向にて前記ワークから離れる前記主軸の移動を示す指令である第一指令を読み出した場合、前記第一指令の後に読み出される第二指令が前記保持部の移動を示す指令であるか否かを判定する移動判定部と、
該移動判定部にて、前記第二指令が前記保持部の移動を示す指令であると判定した場合、前記第一指令における前記主軸の移動開始位置が前記ワークから第一距離以上離れた位置であるか否かを判定する開始位置判定部と、
該開始位置判定部にて、前記移動開始位置が前記ワークから第一距離以上離れた位置であると判定した場合、前記第一指令の実行中に前記保持部の制動解除を実行する第一実行部と
を備える制御装置。
【請求項2】
前記開始位置判定部にて、前記移動開始位置が前記ワークから第一距離以上離れた位置であると判定した場合、前記第一指令に紐づけて前記保持部の制動を解除する制動解除指令を記憶部に書き込む第一書き込み部を備え、
前記第一実行部は、前記第一指令の実行時に、前記第一書き込み部にて書き込まれた前記制動解除指令を実行する
請求項1に記載の制御装置。
【請求項3】
前記開始位置判定部にて、前記移動開始位置が前記ワークから第一距離以上離れた位置でないと判定した場合、前記主軸の移動終了位置が前記ワークから第一距離以上離れた位置であるか否かを判定する終了位置判定部と、
該終了位置判定部にて、前記移動終了位置が前記ワークから第一距離以上離れた位置であると判定した場合、前記第一指令の実行時に、前記主軸が前記ワークから第一距離以上離れた位置に到達した際に前記保持部の制動解除を実行する第二実行部と
を備える請求項1又は2に記載の制御装置。
【請求項4】
前記終了位置判定部にて、前記移動終了位置が前記ワークから第一距離以上離れた位置であると判定した場合、前記第一指令に紐づけて前記主軸が前記ワークから第一距離以上離れた位置に到達した際に前記保持部の制動を解除する制動解除指令を記憶部に書き込む第二書き込み部を備え、
前記第二実行部は、前記第一指令の実行時に、前記第二書き込み部にて書き込まれた前記制動解除指令を実行する
請求項3に記載の制御装置。
【請求項5】
複数の指令を順に読み出して、工具を装着する移動可能な主軸及びワークを保持する移動可能な保持部の移動を制御する制御装置において、
前記保持部は移動のために予め制動解除が必要であり、
前記ワークから第一距離離れた第一位置と、前記ワークに接触する第二位置との間を前記主軸が繰り返し移動する第一繰り返し指令を読み出したか否か判定する第一繰り返し判定部と、
該第一繰り返し判定部にて前記第一繰り返し指令を読み出したと判定した場合、
軸方向にて前記ワークから離れる前記主軸の移動を示す指令である第一指令を読み出したか否か判定する軸方向移動判定部と、
該軸方向移動判定部にて前記第一指令を読み出したと判定した場合、前記第一指令の後に読み出される第二指令が前記保持部の移動を示す指令であるか否かを判定する保持部移動判定部と、
該保持部移動判定部にて、前記第二指令が前記保持部の移動を示す指令であると判定した場合、前記第一指令の実行時に前記保持部の制動解除を実行する第三実行部と
を備える
制御装置。
【請求項6】
前記保持部移動判定部にて、前記第二指令が前記保持部の移動を示す指令であると判定した場合、前記第一指令に紐づけて前記保持部の制動を解除する制動解除指令を記憶部に書き込む第三書き込み部を備え、
前記第三実行部は、前記第一指令の実行時に、前記第三書き込み部にて書き込まれた前記制動解除指令を実行する
請求項5に記載の制御装置。
【請求項7】
複数の指令を順に読み出して、工具を装着する移動可能な主軸及びワークを保持する移動可能な保持部の移動を制御する制御装置において、
前記保持部は移動のために予め制動解除が必要であり、
前記ワークから第一距離離れた第一位置と、前記ワークに接触する第二位置との間を前記主軸が繰り返し移動する繰り返し動作を実行する為の指令であって、前記繰り返し動作の終了位置が前記第一位置とは異なる前記ワークから第二距離離れた第三位置である第二繰り返し指令を読み出したか否か判定する第二繰り返し判定部と、
該第二繰り返し判定部にて前記第二繰り返し指令を読み出したと判定した場合、軸方向にて前記ワークから離れる前記主軸の移動を示す指令である第一指令を読み出したか否か判定する軸方向移動判定部と、
該軸方向移動判定部にて前記第一指令を読み出したと判定した場合、前記第一指令の後に読み出される第二指令が前記保持部の移動を示す指令であるか否かを判定する保持部移動判定部と、
該保持部移動判定部にて、前記第二指令が前記保持部の移動を示す指令であると判定した場合、前記第一指令の実行時に、前記主軸が前記ワークから第一距離以上離れた位置に到達した際に前記保持部の制動解除を実行する第四実行部を備える
制御装置。
【請求項8】
前記保持部移動判定部にて、前記第二指令が前記保持部の移動を示す指令であると判定した場合、前記第一指令に紐づけて前記主軸が前記ワークから第一距離以上離れた位置に到達した際に前記保持部の制動を解除する制動解除指令を記憶部に書き込む第四書き込み部を備え、
前記第四実行部は、前記第一指令の実行時に、前記第四書き込み部にて書き込まれた前記制動解除指令を実行する
請求項7に記載の制御装置。
【請求項9】
工具を装着する移動可能な主軸と、ワークを保持する移動可能な保持部と、複数の指令を順に読み出して、前記主軸及び保持部の移動を制御する制御装置とを備える工作機械において、
前記保持部は移動のために予め制動解除が必要であり、
前記制御装置は、
軸方向にて前記ワークから離れる前記主軸の移動を示す指令である第一指令を読み出した場合、前記第一指令の後に読み出される第二指令が前記保持部の移動を示す指令であるか否かを判定する移動判定部と、
該移動判定部にて、前記第二指令が前記保持部の移動を示す指令であると判定した場合、前記第一指令における前記主軸の移動開始位置が前記ワークから第一距離以上離れた位置であるか否かを判定する開始位置判定部と、
該開始位置判定部にて、前記移動開始位置が前記ワークから第一距離以上離れた位置であると判定した場合、前記第一指令の実行中に前記保持部の制動解除を実行する第一実行部と
を備える工作機械。
【請求項10】
複数の指令を順に読み出して、工具を装着する移動可能な主軸及びワークを保持する移動可能な保持部の移動を制御する制御方法において、
前記保持部は移動のために予め制動解除が必要であり、
軸方向にて前記ワークから離れる前記主軸の移動を示す指令である第一指令を読み出した場合、前記第一指令の後に読み出される第二指令が前記保持部の移動を示す指令であるか否かを判定し、
前記第二指令が前記保持部の移動を示す指令であると判定した場合、前記第一指令における前記主軸の移動開始位置が前記ワークから第一距離以上離れた位置であるか否かを判定し、
前記移動開始位置が前記ワークから第一距離以上離れた位置であると判定した場合、前記第一指令の実行中に前記保持部の制動解除を実行する
制御方法。
【請求項11】
複数の指令を順に読み出して、工具を装着する移動可能な主軸及びワークを保持する移動可能な保持部の移動を制御する制御方法において、
前記保持部は移動のために予め制動解除が必要であり、
軸方向にて前記ワークから離れる前記主軸の移動を示す指令である第一指令の後に、前記保持部の移動を示す第二指令を実行する場合、前記第一指令における前記主軸の移動開始位置が前記ワークから第一距離以上離れた位置の場合、前記第一指令の実行中に前記保持部の制動解除を実行し、
前記第一指令における前記主軸の移動開始位置が前記ワークから第一距離以上離れた位置でない場合、前記第一指令の実行後に前記保持部の制動解除を実行する
制御方法。
【請求項12】
複数の指令を順に読み出して、工具を装着する移動可能な主軸及びワークを保持する移動可能な保持部の移動を制御する制御装置で実行可能なコンピュータプログラムにおいて、
前記保持部は移動のために予め制動解除が必要であり、
制御装置に、
軸方向にて前記ワークから離れる前記主軸の移動を示す指令である第一指令を読み出した場合、前記第一指令の後に読み出される第二指令が前記保持部の移動を示す指令であるか否かを判定し、
前記第二指令が前記保持部の移動を示す指令であると判定した場合、前記第一指令における前記主軸の移動開始位置が前記ワークから第一距離以上離れた位置であるか否かを判定し、
前記移動開始位置が前記ワークから第一距離以上離れた位置であると判定した場合、前記第一指令の実行時に前記保持部の制動解除を実行する
処理を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、工具を装着する主軸及びワークを保持する保持部を制御する制御装置、工作機械、制御方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
工作機械は、加工プログラムを読み出してワークの加工を実行する。加工プログラムは、例えば工具を装着する主軸の移動を示す先行指令と、該先行指令の後に読み出され、ワークを保持する保持部の移動を示す基準指令とを含む。工作機械の制御装置は、先行指令の実行時に保持部の制動を解除する。基準指令の実行前に保持部の制動を解除するので、ワークの加工に要する時間を短縮できる(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
先行指令が示す主軸の移動は、ワーク加工時、例えば穴空け加工時の主軸の移動も含む。ワーク加工時に保持部の制動を解除した場合、ワークが不必要に移動し、加工精度が低下するおそれがある。
【0005】
本開示は斯かる事情に鑑みてなされたものであり、ワークの加工に要する時間を短縮しつつ、加工精度の低下を抑制できる制御装置、工作機械、制御方法及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示の一実施形態に係る制御装置は、複数の指令を順に読み出して、工具を装着する移動可能な主軸及びワークを保持する移動可能な保持部の移動を制御する制御装置において、前記保持部は移動のために予め制動解除が必要であり、軸方向にて前記ワークから離れる前記主軸の移動を示す指令である第一指令を読み出した場合、前記第一指令の後に読み出される第二指令が前記保持部の移動を示す指令であるか否かを判定する移動判定部と、該移動判定部にて、前記第二指令が前記保持部の移動を示す指令であると判定した場合、前記第一指令における前記主軸の移動開始位置が前記ワークから第一距離以上離れた位置であるか否かを判定する開始位置判定部と、該開始位置判定部にて、前記移動開始位置が前記ワークから第一距離以上離れた位置であると判定した場合、前記第一指令の実行中に前記保持部の制動解除を実行する第一実行部とを備える。
【0007】
本開示にあっては、主軸の移動開始位置がワークから第一距離以上離れた位置である場合、第一指令の実行中に保持部の制動解除を実行する。第一指令の実行中にワークが移動しても、ワークの移動はワークの加工に影響しない。
【0008】
本開示の一実施形態に係る制御装置は、前記開始位置判定部にて、前記移動開始位置が前記ワークから第一距離以上離れた位置であると判定した場合、前記第一指令に紐づけて前記保持部の制動を解除する制動解除指令を記憶部に書き込む第一書き込み部を備え、前記第一実行部は、前記第一指令の実行時に、前記第一書き込み部にて書き込まれた前記制動解除指令を実行する。
【0009】
本開示にあっては、第一指令に紐づけて制動解除指令を記憶部に書き込み、第一指令の保持部の制動解除との並行的な実行を実現する。
【0010】
本開示の一実施形態に係る制御装置は、前記開始位置判定部にて、前記移動開始位置が前記ワークから第一距離以上離れた位置でないと判定した場合、前記主軸の移動終了位置が前記ワークから第一距離以上離れた位置であるか否かを判定する終了位置判定部と、該終了位置判定部にて、前記移動終了位置が前記ワークから第一距離以上離れた位置であると判定した場合、前記第一指令の実行時に、前記主軸が前記ワークから第一距離以上離れた位置に到達した際に前記保持部の制動解除を実行する第二実行部とを備える。
【0011】
本開示にあっては、主軸の移動開始位置はワークから第一距離以上離れない場合であって、主軸の移動終了位置はワークから第一距離以上離れる場合、第一指令の実行時に、主軸がワークから第一距離以上離れた位置に到達した際に保持部の制動解除を実行する。保持部の制動解除時に工具はワークに非干渉な位置にある。
【0012】
本開示の一実施形態に係る制御装置は、前記終了位置判定部にて、前記移動終了位置が前記ワークから第一距離以上離れた位置であると判定した場合、前記第一指令に紐づけて前記主軸が前記ワークから第一距離以上離れた位置に到達した際に前記保持部の制動を解除する制動解除指令を記憶部に書き込む第二書き込み部を備え、前記第二実行部は、前記第一指令の実行時に、前記第二書き込み部にて書き込まれた前記制動解除指令を実行する。
【0013】
本開示にあっては、第一指令に紐づけて、主軸がワークから第一距離以上離れた位置に到達した際に保持部の制動を解除する指令を記憶部に書き込み、工具とワークの非干渉を実現する。
【0014】
本開示の一実施形態に係る制御装置は、複数の指令を順に読み出して、工具を装着する移動可能な主軸及びワークを保持する移動可能な保持部の移動を制御する制御装置において、前記保持部は移動のために予め制動解除が必要であり、前記ワークから第一距離離れた第一位置と、前記ワークに接触する第二位置との間を前記主軸が繰り返し移動する第一繰り返し指令を読み出したか否か判定する第一繰り返し判定部と、該第一繰り返し判定部にて前記第一繰り返し指令を読み出したと判定した場合、軸方向にて前記ワークから離れる前記主軸の移動を示す指令である第一指令を読み出したか否か判定する軸方向移動判定部と、該軸方向移動判定部にて前記第一指令を読み出したと判定した場合、前記第一指令の後に読み出される第二指令が前記保持部の移動を示す指令であるか否かを判定する保持部移動判定部と、該保持部移動判定部にて、前記第二指令が前記保持部の移動を示す指令であると判定した場合、前記第一指令の実行時に前記保持部の制動解除を実行する第三実行部とを備える。
【0015】
本開示にあっては、第一繰り返し指令の後に第一指令が実行され、第一指令の後に保持部の移動が実行される場合、第一指令の実行中に保持部の制動解除を実行する。
【0016】
本開示の一実施形態に係る制御装置は、前記保持部移動判定部にて、前記第二指令が前記保持部の移動を示す指令であると判定した場合、前記第一指令に紐づけて前記保持部の制動を解除する制動解除指令を記憶部に書き込む第三書き込み部を備え、前記第三実行部は、前記第一指令の実行時に、前記第三書き込み部にて書き込まれた前記制動解除指令を実行する。
【0017】
本開示にあっては、第一繰り返し指令の後に実行される第一指令に紐づけて制動解除指令を記憶部に書き込み、第一指令と保持部の制動解除との並行的な実行を実現する。
【0018】
本開示の一実施形態に係る制御装置は、複数の指令を順に読み出して、工具を装着する移動可能な主軸及びワークを保持する移動可能な保持部の移動を制御する制御装置において、前記保持部は移動のために予め制動解除が必要であり、前記ワークから第一距離離れた第一位置と、前記ワークに接触する第二位置との間を前記主軸が繰り返し移動する繰り返し動作を実行する為の指令であって、前記繰り返し動作の終了位置が前記第一位置とは異なる前記ワークから第二距離離れた第三位置である第二繰り返し指令を読み出したか否か判定する第二繰り返し判定部と、該第二繰り返し判定部にて前記第二繰り返し指令を読み出したと判定した場合、軸方向にて前記ワークから離れる前記主軸の移動を示す指令である第一指令を読み出したか否か判定する軸方向移動判定部と、該軸方向移動判定部にて前記第一指令を読み出したと判定した場合、前記第一指令の後に読み出される第二指令が前記保持部の移動を示す指令であるか否かを判定する保持部移動判定部と、該保持部移動判定部にて、前記第二指令が前記保持部の移動を示す指令であると判定した場合、前記第一指令の実行時に、前記主軸が前記ワークから第一距離以上離れた位置に到達した際に前記保持部の制動解除を実行する第四実行部を備える。
【0019】
本開示にあっては、第二繰り返し指令を読み出した場合、第一指令の実行中に、主軸がワークから第一距離以上離れた位置に到達した際に保持部の制動解除を実行する。
【0020】
本開示の一実施形態に係る制御装置は、前記保持部移動判定部にて、前記第二指令が前記保持部の移動を示す指令であると判定した場合、前記第一指令に紐づけて前記主軸が前記ワークから第一距離以上離れた位置に到達した際に前記保持部の制動を解除する制動解除指令を記憶部に書き込む第四書き込み部を備え、前記第四実行部は、前記第一指令の実行時に、前記第四書き込み部にて書き込まれた前記制動解除指令を実行する。
【0021】
本開示にあっては、第二繰り返し指令の読み出し時に、第一指令に紐づけて、主軸がワークから第一距離以上離れた位置に到達した際に制動を解除する指令を記憶部に書き込み、工具とワークの非干渉を実現する。
【0022】
本開示の一実施形態に係る工作機械は、工具を装着する移動可能な主軸と、ワークを保持する移動可能な保持部と、複数の指令を順に読み出して、前記主軸及び保持部の移動を制御する制御装置とを備える工作機械において、前記保持部は移動のために予め制動解除が必要であり、前記制御装置は、軸方向にて前記ワークから離れる前記主軸の移動を示す指令である第一指令を読み出した場合、前記第一指令の後に読み出される第二指令が前記保持部の移動を示す指令であるか否かを判定する移動判定部と、該移動判定部にて、前記第二指令が前記保持部の移動を示す指令であると判定した場合、前記第一指令における前記主軸の移動開始位置が前記ワークから第一距離以上離れた位置であるか否かを判定する開始位置判定部と、該開始位置判定部にて、前記移動開始位置が前記ワークから第一距離以上離れた位置であると判定した場合、前記第一指令の実行中に前記保持部の制動解除を実行する第一実行部とを備える。
【0023】
本開示にあっては、主軸の移動開始位置がワークから第一距離以上離れた位置である場合、第一指令の実行中に保持部の制動解除を実行する。第一指令の実行中にワークが移動しても、ワークの移動はワークの加工に影響しない。
【0024】
本開示の一実施形態に係る制御方法は、複数の指令を順に読み出して、工具を装着する移動可能な主軸及びワークを保持する移動可能な保持部の移動を制御する制御方法において、前記保持部は移動のために予め制動解除が必要であり、軸方向にて前記ワークから離れる前記主軸の移動を示す指令である第一指令を読み出した場合、前記第一指令の後に読み出される第二指令が前記保持部の移動を示す指令であるか否かを判定し、前記第二指令が前記保持部の移動を示す指令であると判定した場合、前記第一指令における前記主軸の移動開始位置が前記ワークから第一距離以上離れた位置であるか否かを判定し、前記移動開始位置が前記ワークから第一距離以上離れた位置であると判定した場合、前記第一指令の実行中に前記保持部の制動解除を実行する。
【0025】
本開示にあっては、主軸の移動開始位置がワークから第一距離以上離れた位置である場合、第一指令の実行中に保持部の制動解除を実行する。第一指令の実行中にワークが移動しても、ワークの移動はワークの加工に影響しない。
【0026】
本開示の一実施形態に係る制御方法は、複数の指令を順に読み出して、工具を装着する移動可能な主軸及びワークを保持する移動可能な保持部の移動を制御する制御方法において、前記保持部は移動のために予め制動解除が必要であり、軸方向にて前記ワークから離れる前記主軸の移動を示す指令である第一指令の後に、前記保持部の移動を示す第二指令を実行する場合、前記第一指令における前記主軸の移動開始位置が前記ワークから第一距離以上離れた位置の場合、前記第一指令の実行中に前記保持部の制動解除を実行し、前記第一指令における前記主軸の移動開始位置が前記ワークから第一距離以上離れた位置でない場合、前記第一指令の実行後に前記保持部の制動解除を実行する。
【0027】
本開示にあっては、主軸の移動開始位置がワークから第一距離以上離れた位置である場合、第一指令の実行中に保持部の制動解除を実行する。第一指令の実行中にワークが移動しても、ワークの移動はワークの加工に影響しない。
【0028】
本開示の一実施形態に係るコンピュータプログラムは、複数の指令を順に読み出して、工具を装着する移動可能な主軸及びワークを保持する移動可能な保持部の移動を制御する制御装置で実行可能なコンピュータプログラムにおいて、前記保持部は移動のために予め制動解除が必要であり、制御装置に、軸方向にて前記ワークから離れる前記主軸の移動を示す指令である第一指令を読み出した場合、前記第一指令の後に読み出される第二指令が前記保持部の移動を示す指令であるか否かを判定し、前記第二指令が前記保持部の移動を示す指令であると判定した場合、前記第一指令における前記主軸の移動開始位置が前記ワークから第一距離以上離れた位置であるか否かを判定し、前記移動開始位置が前記ワークから第一距離以上離れた位置であると判定した場合、前記第一指令の実行中に前記保持部の制動解除を実行する処理を実行させる。
【0029】
本開示にあっては、主軸の移動開始位置がワークから第一距離以上離れた位置である場合、第一指令の実行中に保持部の制動解除を実行する。第一指令の実行中にワークが移動しても、ワークの移動はワークの加工に影響しない。
【発明の効果】
【0030】
本開示の一実施形態に係る制御装置、工作機械、制御方法及びコンピュータプログラムにあっては、主軸の移動開始位置がワークから第一距離以上離れた位置である場合、第一指令の実行時に保持部の制動解除を実行する。第一指令の実行中にワークが移動しても、ワークの移動はワークの加工に影響せず、加工時間を短縮しつつ、加工精度の低下を抑制することができる。
【図面の簡単な説明】
【0031】
【
図1】実施の形態1に係る工作機械の斜視図である。
【
図2】工具交換装置及び軌道を覆うカバー等を省略した工作機械の斜視図である。
【
図4】制御装置の構成を略示するブロック図である。
【
図5】不揮発性メモリに記憶した加工プログラムの一例を示す概念図である。
【
図6】
図5の各ブロックの指令の動作を示す模式図である。
【
図7】RAMに書き込んだ加工プログラム及び制動解除指令の一例を示す概念図である。
【
図8】制御装置による加工処理を説明するフローチャートである。
【
図9】不揮発性メモリに記憶した加工プログラムの他例を示す概念図である。
【
図10】
図9の各ブロックの指令の動作を示す模式図である。
【
図11】RAMに書き込んだ加工プログラム及び制動解除指令の一例を示す概念図である。
【
図12】実施の形態2に係る不揮発性メモリに記憶した加工プログラムの一例を示す概念図である。
【
図13】
図12の各ブロックの指令の動作を示す模式図である。
【
図14】RAMに書き込んだ加工プログラム及び制動解除指令の一例を示す概念図である。
【
図15】制御装置による加工処理を説明するフローチャートである。
【
図16】実施の形態3に係る不揮発性メモリに記憶した加工プログラムの一例を示す概念図である。
【
図17】
図16の各ブロックの指令の動作を示す模式図である。
【
図18】RAMに書き込んだ加工プログラム及び制動解除指令の一例を示す概念図である。
【
図19】制御装置による加工処理を説明するフローチャートである。
【発明を実施するための形態】
【0032】
(実施の形態1)
以下本発明を実施の形態1に係る工作機械を示す図面に基づいて説明する。以下の説明では図において矢印で示す上下、左右及び前後を使用する。作業者は前方で工作機械を操作し、ワークW(
図6参照)の着脱を行う。
図1は工作機械の斜視図であり、
図2は工具交換装置及び軌道を覆うカバー等を省略した工作機械の斜視図である。
【0033】
工作機械100は、基台20、Y軸方向移動装置22、X軸方向移動装置26、立柱28、Z軸方向移動装置30、主軸ヘッド32、工具交換装置10等を備える。X軸方向は左右方向に対応し、Y軸方向は前後方向に対応し、Z軸方向は上下方向に対応する。基台20は床面上に固定してある。基台20は、Y軸方向移動装置22、X軸方向移動装置26を介して立柱28を前後方向及び左右方向に移動可能に支持する。基台20はワーク保持装置120を支持する。ワーク保持装置120は保持部に対応する。立柱28にZ軸方向移動装置30が設けてある。Z軸方向移動装置30は主軸ヘッド32を上下方向に移動する。工具交換装置10は、主軸ヘッド32に装着する工具を交換する。
【0034】
Y軸方向移動装置22は、互いに平行な二つの軌道22a、複数の移動体22b、Y軸方向移動台22c及びY軸モータ22d(
図4参照)を備える。軌道22aは基台20の上面にて前後方向に延びる。移動体22bは二つの軌道22a夫々に前後方向に移動可能に嵌合する。Y軸方向移動台22cは二つの軌道22aに跨がって移動体22b上に固定してある。Y軸モータ22dの駆動によって、Y軸方向移動台22cは前後方向に移動する。
【0035】
X軸方向移動装置26は、互いに平行な二つの軌道26a、複数の移動体26b、立柱台26c及びX軸モータ26d(
図4参照)を備える。軌道26aはY軸方向移動台22cの上面に左右方向に延びる。移動体26bは二つの軌道26a夫々に左右方向に移動可能に嵌合する。立柱台26cは二つの軌道26aに跨がって移動体26b上に固定してある。立柱28は立柱台26c上に固定してある。X軸モータ26dの駆動によって、立柱台26cは左右方向に移動する。立柱28は、Y軸方向移動装置22及びX軸方向移動装置26によって前後方向及び左右方向に移動する。
【0036】
Z軸方向移動装置30は、互いに平行な二つの軌道30a、複数の移動体30b、主軸ヘッド台30c及びZ軸モータ30d(
図4参照)を備える。軌道30aは、立柱28の前面に上下方向に延びる。複数の移動体30bは二つの軌道30a夫々に上下方向に移動可能に嵌合する。主軸ヘッド台30cは二つの軌道30aに跨がって移動体30bの前面に固定してある。Z軸モータ30dの駆動によって、主軸ヘッド台30cは上下方向に移動する。
【0037】
主軸ヘッド32は主軸ヘッド台30cに固定してある。主軸ヘッド32は、前側内部に上下方向に延びる主軸34を回転可能に保持する。主軸34は中空の筒形状をなす。X軸モータ26d、Y軸モータ22d及びZ軸モータ30dを駆動制御することで、主軸ヘッド32は前後、左右及び上下に移動する。
【0038】
工具交換装置10は、長円形の軌道(図示略)、該軌道を移動する複数の移動台(図示略)を備える。軌道は主軸ヘッド32及び立柱28を囲み、前側下方から後側上方へ延び、水平面から所定角度傾斜する。複数の移動台はリンクによってチェーン状に結合されている。
図1に示すように、ギア51及び駆動モータ52が軌道の内側に配置してある。ギア51は駆動モータ52に連結し、駆動モータ52の駆動によって回転する。複数の移動台はギア51に噛合し、駆動モータ52の駆動によって軌道上を回転する。各移動台は把持アーム53を支持する。
【0039】
空の把持アーム53を工具交換装置10の軌道の前端部に配置し、工具11を装着した主軸34が上昇することによって、把持アーム53は工具11を主軸34から取り外して把持する。工具11を把持する把持アーム53を工具交換装置10の軌道の前端部に配置し、工具11を把持していない主軸34が下降することによって、主軸34は工具11を装着する。
【0040】
図3は、ワーク保持装置120の正面側斜視図である。ワーク保持装置120は、支持台121を備える。支持台121の左右部夫々に、左右方向を軸方向とした軸部122が設けてある。以下軸部122の中心軸をA軸とも称する。左側の軸部122は支持部124によって、A軸回りに回転可能に支持してある。支持部124は基台20に連結する。支持台121の上面に、C軸回りに回転可能な回転台127が設けてある。C軸は支持台121の上面に直交する。
【0041】
右側の軸部122は支持部123によって、A軸回りに回転可能に支持してある。支持部123にはA軸モータ125が設けてある。支持部123内にギヤ、カム、カムフォロワ等の伝動部材(図示略)が収容してある。A軸モータ125の回転は伝動部材を介して軸部122に伝達し、支持台121はA軸回りに回転する。支持台121の上部に回転台127が設けてあり、支持台121の下部にC軸駆動部126が設けてある。C軸駆動部126はC軸モータ79(
図4参照)を有し、C軸モータ79の回転によって回転台127はC軸回りに回転する。ワーク保持装置120はA軸モータ125の制動又は制動解除を行うA軸ブレーキB1(
図4参照)と、C軸モータ79の制動又は制動解除を行うC軸ブレーキB2(
図4参照)とを備える。
【0042】
工作機械は制御装置80を備える。
図4は、制御装置80の構成を略示するブロック図である。制御装置80はバスを介して相互に接続されたCPU80a、情報を一時的に記憶するRAM80b、加工プログラムを格納している書換可能な不揮発性メモリ80c、入出力インタフェース(入出力I/F)80d等を備える。CPU80aは制御部の一例であり、CPU80aに代えてMPU又はロジック回路(例えばFPGA)等を使用してもよい。不揮発性メモリ80cは例えばEEPROM又はEPROMである。不揮発性メモリ80cは加工プログラムを記憶する。不揮発性メモリ80cに代えて、ハードディスク又はフラッシュメモリ等の書き換え可能な記録媒体を使用してもよい。RAM80b及び不揮発性メモリ80cは記憶部に対応する。
【0043】
CPU80aは不揮発性メモリ80cから加工プログラムをRAM80bに読み出し、工作機械の制御を行う。光ディスク等の記録媒体81に加工プログラムを記録し、記録媒体81から不揮発性メモリ80cにダウンロードしてもよい。サーバに加工プログラムを記録し、ネットワークを介してサーバと制御装置80とを接続し、サーバから不揮発性メモリ80cに加工プログラムをダウンロードしてもよい。
【0044】
CPU80aは、X軸モータ26d、Y軸モータ22d、Z軸モータ30d、A軸モータ125、C軸モータ79に駆動信号を出力する。X軸モータ26d、Y軸モータ22d、Z軸モータ30d、A軸モータ125、C軸モータ79は、夫々エンコーダ(図示略)を備えており、エンコーダの検出値をフィードバック信号として、目標位置まで回転する。CPU80aは、A軸ブレーキB1及びC軸ブレーキB2に制動信号又は制動解除信号を出力する。
【0045】
図5は、不揮発性メモリ80cに記憶した加工プログラムの一例を示す概念図である。
図6は、
図5の各ブロックの指令の動作を示す模式図である。加工プログラムは複数のブロックを備え、ブロックはブロック番号と指令とを有する。
図5において、「番号」はブロック番号を示し、「指令」は指令の内容を示す。CPU80aは番号順に指令を実行する。
図6において、E(n-2)~E(n+1)は
図5の第n-2~n+1ブロックの動作を示す。
【0046】
第n-2ブロックの「G90」はブロック内の座標軸を絶対座標で与える指令であり、「G1」は主軸の直線移動を示す指令である。即ち「G90G1Z50」は、Z座標50への主軸34の直線移動を示す指令である(
図6のE(n-2)参照)。第n-1ブロックの「G0」は最大速度での位置決めを示す指令である。即ち「G0Z110」はZ座標110への主軸34の最大速度での移動を示す(
図6のE(n-1)参照)。第nブロックの「G0Z130」、第n+1ブロックの「G0Z150」も同様である(
図6のE(n)、E(n-1)参照)。「G0Z100」、「G0Z130」、「G0Z150」はいずれも主軸34の軸方向の移動を示す指令、即ち軸方向移動指令である。
【0047】
第n+2ブロックの「G0A_」は最大速度でのA軸回りの位置決めを行う指令を示す。Aの後に例えば目標角度又は位置が記述される。即ち「G0A_」は目標角度又は位置への最大速度でのA軸回りの回転を行う指令を示し、付加軸移動指令を示す。尚、付加軸移動指令はX軸、Y軸及びZ軸方向の移動以外の移動を行う指令を示し、例えばB又はC軸回りの回転を行う指令を含む。
【0048】
図6において、IはZ軸方向における工具11の初期位置を示す。本実施例において初期位置Iは150よりも大きい。PはZ座標を示し、ワークWの上端座標から少なくとも第一距離上側に離れた座標を示す。即ちPは、ワークから少なくとも第一距離離れた位置を示す閾値である。本実施例ではP=100であり、ワークWはZ座標50~95の間に配置してある。ワークWの上面と閾値Pとの差分は、第一距離以上の距離である。本実施例において、第一距離は5以下である。
図7は、RAM80bに書き込んだ加工プログラム及び制動解除指令の一例を示す概念図である。CPU80aは、必要に応じて、加工プログラムの各ブロックに紐づけて制動を解除する指令を書き込む。例えば、
図7に示すように、第n+1ブロックに紐づけて、A軸の制動を解除する指令として「A」を書き込む。
【0049】
図8は、制御装置80による加工処理を説明するフローチャートである。初期状態において、作業者が閾値Pを制御装置80に予め入力し、CPU80aは閾値P(本実施例においては100)をRAM80bに書き込んでいる。CPU80aは不揮発性メモリ80cから第kブロックを読み出す(S1)。尚、kの初期値は1である。CPU80aは第kブロックが軸方向移動指令であるか否か判定する(S2)。上述の如く、軸方向移動指令は例えば「G0Z_」(Zの後にZ座標が記述される)である。第kブロックが軸方向移動指令である場合(S2:YES)、CPU80aは第k+1ブロックを読み出し(S3)、第k+1ブロックが付加軸移動指令であるか否か判定する(S4)。
【0050】
第k+1ブロックが付加軸移動指令である場合(S4:YES)、CPU80aは第kブロックの軸方向移動指令における移動開始位置、即ちZ軸方向における開始位置の座標Z1が閾値P以上であるか判定する(S5)。座標Z1が閾値P以上である場合(S5:YES)、CPU80aは第kブロックの軸方向移動指令に第一制動解除指令、例えばA軸ブレーキB1に対する第一制動解除指令を紐づけ(S6)、第kブロックをRAM80bに書き込む(S7、
図7参照)。第一制動解除指令は、第kブロックの軸方向移動指令の実行中に、例えばA軸ブレーキB1の制動を解除する指令である。CPU80aはkを一加算し(S8)、ステップS1に処理を戻す。
【0051】
例えば、第n+1ブロック、即ち軸方向移動指令を読み出した場合(S1、S2、
図5参照)、CPU80aは第n+2ブロックが付加軸移動指令であるか否か判定する(S3、S4)。第n+2ブロックがA軸回りの回転指令、即ち付加軸移動指令であるので(S4:YES)、CPU80aは第n+1ブロックの移動開始位置が閾値P、即ち100以上であるか否か判定する(S5)。第n+1ブロックの移動開始位置は130であり、100以上であるので(S5:YES、
図5、
図6参照)、CPU80aは第n+1ブロックに第一制動解除指令を紐づけ(S6)、第n+1ブロックをRAM80bに書き込む(S7)。
【0052】
ステップS5にて、座標Z1が閾値P以上でない場合(S5:NO)、CPU80aは第kブロックの軸方向移動指令における移動終了位置、即ちZ軸方向における終了位置の座標Z2が閾値P以上であるか判定する(S9)。座標Z2が閾値P以上である場合(S9:YES)、CPU80aは第kブロックの軸方向移動指令にA軸ブレーキB1に対する第二制動解除指令を紐づけ(S10、
図7参照)、第kブロックをRAM80bに書き込む(S7)。第二制動解除指令は、第kブロックの軸方向移動指令の実行開始後、主軸34のZ座標が閾値P以上に至った場合に、軸方向への移動中にA軸ブレーキB1の制動を解除する指令である。CPU80aはkを一加算し(S8)、ステップS1に処理を戻す。
【0053】
図9は、加工プログラムの他例を示す概念図、
図10は、
図9の各ブロックの指令の動作を示す模式図である。
図9は、
図5の第n+2ブロック、第nブロック、第n+1ブロックを第nブロック、第n+1ブロック、第n+2ブロックにそれぞれ置き換えたものである。
図11は、RAM80bに書き込んだ加工プログラム及び制動解除指令の他例を示す概念図である。CPU80aは、必要に応じて、加工プログラムの各ブロックに紐づけて制動を解除する指令を書き込む。例えば、
図11に示すように、第n-1ブロックに紐づけて、主軸34のZ座標が閾値P以上に至った場合にA軸の制動を解除する指令、即ち第二制動解除指令として「A」を書き込む。
【0054】
例えば、第n-1ブロック、即ち軸方向移動指令を読み出した場合(S1、S2、
図9参照)、CPU80aは第nブロックが付加軸移動指令であるか否か判定する(S3、S4)。第nブロックがA軸回りの回転指令、即ち付加軸移動指令であるので(S4:YES)、CPU80aは第n-1ブロックの移動開始位置が閾値P、即ち100以上であるか否か判定する(S5)。第n-1ブロックの移動開始位置は50であり、100以上でないので(S5:NO、
図9、
図10参照)、CPU80aは第n-1ブロックの移動終了位置が100以上であるか判定する(S9)。座標Z2は110であり、100以上であるので(S9:YES)、CPU80aは第n-1ブロックの軸方向移動指令にA軸ブレーキB1に対する第二制動解除指令を紐づけ(S10、
図11参照)、第n-1ブロックをRAM80bに書き込む(S7)。A軸ブレーキB1は、主軸34のZ座標が100に至った場合、即ち主軸34のZ座標が100以上になった場合、A軸の制動を解除する。A軸の制動解除時に工具11はワークWに非干渉な位置にある。
【0055】
ステップS2にて、第kブロックが軸方向移動指令でない場合(S2:NO)、例えば第kブロックが付加軸移動指令である場合、CPU80aは第kブロックが終了指令であるか否か判定する(S11)。第kブロックが終了指令でない場合(S11:NO)、CPU80aは第kブロックをRAM80bに記憶し(S7)、kを一加算し(S8)、ステップS1に処理を戻す。
【0056】
ステップS11にて、第kブロックが終了指令である場合(S11:YES)、CPU80aは第kブロックをRAM80bに記憶し(S12)、RAM80bに記憶した全ブロックを実行し(S13)、処理を終了する。
【0057】
実施の形態1に係る工作機械にあっては、主軸34の移動開始位置がワークWから少なくとも第一距離離れた位置である場合、軸方向移動指令(第一指令)の実行中にワーク保持装置120の制動解除を実行する。軸方向移動指令の実行時にワークWが移動しても、工具11とワークWは干渉せず、加工時間を短縮しつつ、加工精度の低下を抑制することができる。
【0058】
また軸方向移動指令(第一指令)に紐づけて制動解除指令をRAM80bに書き込み、軸方向移動指令とワーク保持装置120の制動解除との並行的な実行を実現する。
【0059】
また主軸34の移動開始位置はワークWから少なくとも第一距離離れない場合であって、主軸34の移動終了位置はワークWから少なくとも第一距離離れる場合、軸方向移動指令(第一指令)の実行中に、主軸34がワークWから第一距離離れた位置に到達した以後、ワーク保持装置120の制動解除を実行する。ワーク保持装置120の制動解除時に工具11はワークWに非干渉な位置にある。
【0060】
また軸方向移動指令に紐づけて、主軸34がワークから第一距離離れた位置に到達した際に軸方向移動指令の制動を解除する指令をRAM80bに書き込み、工具11とワークWの非干渉を実現する。
【0061】
(実施の形態2)
以下本発明を実施の形態2に係る工作機械を示す図面に基づいて説明する。実施の形態2に係る工作機械の構成の内、実施の形態1と同様な構成については同じ符号を付し、その詳細な説明を省略する。
図12は、加工プログラムの一例を示す概念図、
図13は、
図12の各ブロックの指令の動作を示す模式図である。
【0062】
図13において、Z座標R(本実施例ではR=50)は、ワークWの上端座標から少なくとも第一距離上側に離れた座標を示す。ワークWの上面とRとの差分は第一距離以上の距離である。ワークWは、例えばZ座標0~45の間に配置してある。本実施例において、第一距離は5以下である。
【0063】
第n-3ブロックの「G81」は所定動作を繰り返す指令である。「G99」はG81の所定動作のZ座標復帰位置をZ座標Rにする指令である。所定動作の詳細は後のブロックに記載してあり、所定動作は初期位置まで移動後、第一位置と第二位置との間を移動する穴空け動作である。第n-2ブロックの「G90Z100」は、初期位置I、即ちZ座標100までの直線移動する指令である(
図13のE(n-2)参照)。第n-1ブロックの「G81R50.Z0.F1000」は送り速度1000mm/minで、初期位置Iから第一位置、即ちZ座標Rと第二位置、即ちZ座標0との間を主軸34が往復移動して穴空けを実行する指令である(
図13のE(n-1)2、E(n-1)3参照)。
図13のE(n-1)1~E(n-1)3は、第n-1ブロックの指令の実行動作を詳細に示す。第nブロックの「X_Y_」はZ座標RにおけるX軸方向及びY軸方向への直線移動指令である(
図13のE(n)参照)。X、Yの後に例えば目標座標又は移動距離が記述される。即ち、CPU80aは、
図13の動作E(n-1)3の実行後、動作E(n)を実行し、その後、動作E(n-1)3を実行する。
【0064】
第nブロックの実行後、「G81」を無効にする指令、例えば軸方向移動指令を実行するまで、第n-1ブロックのE(n-1)1を除く動作、即ち動作E(n-1)2、E(n-1)3と、第nブロックの動作E(n)が繰り返し実行される。第n+sブロックの「G0Z100」はZ座標100への主軸34の最大速度での移動指令である(
図13のE(n+s)参照)。第n+sブロックは軸方向移動指令であり、「G81」を無効にする指令である。第n+sブロックの実行によって繰り返し指令は終了する。第n-3ブロック、第n-1ブロック及び第nブロックは第一繰り返し指令に対応する。以下、G99状態での「G81」の読み出し後、「G81」が無効になるまでの間の状態を第一繰り返し状態と称する。
【0065】
図14は、RAM80bに書き込んだ加工プログラム及び制動解除指令の一例を示す概念図である。CPU80aは、必要に応じて、加工プログラムの各ブロックに紐づけて制動を解除する指令を書き込む。例えば、
図14に示すように、第n+sブロックに紐づけて、主軸34のZ座標がR以上の位置に至った場合にA軸の制動を解除する指令として「A」を書き込む。
【0066】
図15は、制御装置80による加工処理を説明するフローチャートである。CPU80aは第kブロックを読み出す(S21)。尚、kの初期値は1である。CPU80aは第一繰り返し状態であるか否か判定する(S22)。第一繰り返し状態である場合(S22:YES、
図12の第n-3~第nブロック参照)、CPU80aは、第kブロックが軸方向移動指令であるか否か判定する(S23)。第kブロックが軸方向移動指令である場合(S23:YES、
図12の第n+sブロック参照)、CPU80aは第k+1ブロックを読み出す(S24)。
【0067】
CPU80aは、第k+1ブロックが付加軸移動であるか否か判定する(S25)。第k+1ブロックが付加軸移動である場合(S25:YES、
図12の第n+s+1ブロック参照)、CPU80aは第kブロックの軸方向移動指令に制動解除指令、例えばA軸ブレーキB1に対する制動解除指令を紐づけ(S26、
図14参照)、第kブロックをRAM80bに書き込む(S27)。ステップS26の制動解除指令は、
図13の動作E(n+s)の実行中に、即ち主軸34がワークWから離れる方向に移動し、第一位置以上の位置に至った場合に、例えばA軸ブレーキB1の制動を解除する指令である。CPU80aはkを一加算し(S28)、ステップS21に処理を戻す。
【0068】
ステップS25において、第k+1ブロックが付加軸移動でない場合(S25:NO)、CPU80aはステップS27処理を進める。
【0069】
ステップS22において、第一繰り返し状態でない場合(S22:NO)、CPU80aは第kブロックが終了指令であるか否か判定する(S29)。第kブロックが終了指令でない場合(S29:NO)、CPU80aはステップS27処理を進める。第kブロックが終了指令である場合(S29:YES)、CPU80aは第kブロックをRAM80bに記憶し(S30)、全ブロックを実行し(S31)、処理を終了する。
【0070】
実施の形態2に係る工作機械にあっては、第一繰り返し指令の後に軸方向移動指令(第一指令)が実行され、軸方向移動指令の後にワーク保持装置120の付加軸移動指令(第二指令)が実行される場合、軸方向移動指令の実行中にワーク保持装置120の制動解除を実行する。また第一繰り返し指令の後に実行される軸方向移動指令に紐づけて制動解除指令をRAM80bに書き込み、軸方向移動指令とワーク保持装置120の制動解除との並行的な実行を実現する。
【0071】
(実施の形態3)
以下本発明を実施の形態3に係る工作機械を示す図面に基づいて説明する。実施の形態3に係る工作機械の構成の内、実施の形態1又は2と同様な構成については同じ符号を付し、その詳細な説明を省略する。
図16は、加工プログラムの一例を示す概念図、
図17は、
図16の各ブロックの指令の動作を示す模式図である。
【0072】
第n-2ブロックの「G81」は所定の動作を繰り返す指令である。「G98」はG81の所定動作のZ座標復帰位置を初期位置にする指令である。所定動作の詳細は後のブロックに記載してあり、所定動作は初期位置Iまで移動後、第一位置と第二位置との間を往復移動し、初期位置Iまで戻る穴空け動作である。初期位置Iは第三位置に対応する。第n-1ブロックの「G90Z100」は、初期位置I、即ちZ座標100までの直線移動する指令である(
図17のE(n-1)参照)。第nブロックの「G81R50.Z0.F1000」は送り速度1000mm/minで、初期位置Iから第一位置、即ちZ座標R(本実施例ではR=50)まで移動し(
図17のE(n)1参照)、更に第二位置、即ちZ座標0まで移動する指令である(
図17のE(n)2参照)。第n+1ブロックの「X_Y_」は、第二位置から第一位置まで移動し(
図17のE(n+1)1参照)、更に第一位置から初期位置Iまで移動し(
図17のE(n+1)2参照)、初期位置IにてX軸方向及びY軸方向へ直線移動する指令である(
図17のE(n+1)3参照)。
図17のE(n)1及びE(n)2は第nブロック指令の実行動作を詳細に示し、E(n+1)1~E(n+1)3は第n+1ブロックの指令の実行動作を詳細に示す。
【0073】
動作E(n+1)は、Z軸方向の移動である動作E(n+1)1及びE(n+1)2を含む。即ち動作E(n+1)の指令である第n+1ブロックを軸方向移動指令とみなすことができる。
【0074】
第nブロック~第n+2ブロックが繰り返し実行される。第n-2ブロック、第n~第n+2ブロックは第二繰り返し指令に対応する。以下、「G98」状態での「G81」の読み出し後の状態を第二繰り返し状態と称する。
【0075】
図18は、RAM80bに書き込んだ加工プログラム及び制動解除指令の一例を示す概念図である。CPU80aは、必要に応じて、加工プログラムの各ブロックに紐づけて制動を解除する指令を書き込む。例えば、
図18に示すように、第n+1ブロックに紐づけて、主軸34のZ座標がR以上に至った場合にA軸の制動を解除する指令として「A」を書き込む。
【0076】
図19は、制御装置80による加工処理を説明するフローチャートである。CPU80aは第kブロックを読み出す(S41)。尚、kの初期値は1である。CPU80aは第二繰り返し状態であるか否か判定する(S42)。第二繰り返し状態である場合(S42:YES、
図13の第n-1~第n+2ブロック参照)、CPU80aは、第kブロックが軸方向移動指令であるか否か判定する(S43)。第kブロックが軸方向移動指令である場合(S43:YES、
図16の第n+1ブロック参照)、CPU80aは第k+1ブロックを読み出す(S44)。
【0077】
CPU80aは、第k+1ブロックが付加軸移動であるか否か判定する(S45)。第k+1ブロックが付加軸移動である場合(S45:YES、
図16の第n+2ブロック参照)、CPU80aは第kブロックの指令に制動解除指令、例えばA軸ブレーキB1に対する制動解除指令を紐づけ(S46、
図18参照)、第kブロックをRAM80bに書き込む(S47)。ステップS46の制動解除指令は、例えば第n+1ブロックの実行開始後、
図17の動作E(n+1)2の実行中に、即ち主軸34がワークWから離れる方向に移動し、第一位置以上の位置に至った場合に、例えばA軸ブレーキB1の制動を解除する指令である。CPU80aはkを一加算し(S48)、ステップS41に処理を戻す。
【0078】
ステップS45において、第k+1ブロックが付加軸移動でない場合(S45:NO)、CPU80aはステップS47処理を進める。
【0079】
ステップS42において、第二繰り返し状態でない場合(S42:NO)、CPU80aは第kブロックが終了指令であるか否か判定する(S49)。第kブロックが終了指令でない場合(S49:NO)、CPU80aはステップS47処理を進める。第kブロックが終了指令である場合(S49:YES)、CPU80aは第kブロックをRAM80bに書き込み(S50)、全ブロックを実行し(S51)、処理を終了する。
【0080】
実施の形態3に係る工作機械にあっては、第二繰り返し指令を読み出した場合、軸方向移動指令(第一指令)の実行中に、主軸34がワークWから第一距離離れた位置に到達した以後、ワーク保持装置120の制動解除を実行する。また第二繰り返し指令の読み出し時に、軸方向移動指令に紐づけて、主軸34がワークWから第一距離離れた位置に到達した際に制動を解除する指令をRAM80bに書き込み、工具11とワークWの非干渉を実現する。
【0081】
実施の形態1~3において、主軸34の軸方向は上下方向であるが、主軸34の軸方向は前後方向又は左右方向でもよい。工具交換は主軸34の軸方向の移動を含むので、軸方向移動指令は工具交換指令を含む。付加軸移動指令はB軸又はC軸回りの回転指令を含む。実施の形態1~3において、CPU80aは軸方向移動指令(第一指令)の読み出し後に付加軸移動指令(第二指令)を初めて読み出す場合、第一指令の実行中に付加軸移動指令の制動を解除する指令をRAM80bに書き込んでもよい。例えば、第一指令を読み出した後、第一指令及び第二指令以外の指令、例えばパラメータの演算指令を読み出し、その後第二指令を読み出す場合、第一指令の実行中に付加軸移動指令の制動を解除する指令をRAM80bに書き込んでもよい。
【0082】
実施の形態1~3において、終了指令読み出し後、全ブロックを実行しているが、第kブロックをRAM80bに書き込む都度、第kブロックを実行してもよい。例えば
図8に示すステップS7とS8との間、及びステップS12の後に第kブロックを実行してもよい。例えば
図19に示すステップS26とS27との間、及びステップS29の後に第kブロックを実行してもよい。例えば
図19に示すステップS46とS47との間、及びステップS49の後に第kブロックを実行してもよい。
【0083】
今回開示した実施の形態は、全ての点で例示であって、制限的なものではないと考えられるべきである。各実施例にて記載されている技術的特徴は互いに組み合わせることができ、本発明の範囲は、特許請求の範囲内での全ての変更及び特許請求の範囲と均等の範囲が含まれることが意図される。
【符号の説明】
【0084】
11 工具
34 主軸
80 制御装置
80a CPU
80b RAM
120 ワーク保持装置
B1 A軸ブレーキ
B2 C軸ブレーキ
W ワーク