IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラザー工業株式会社の特許一覧

特許7655229制御装置、制御方法及びコンピュータプログラム
<>
  • 特許-制御装置、制御方法及びコンピュータプログラム 図1
  • 特許-制御装置、制御方法及びコンピュータプログラム 図2
  • 特許-制御装置、制御方法及びコンピュータプログラム 図3
  • 特許-制御装置、制御方法及びコンピュータプログラム 図4
  • 特許-制御装置、制御方法及びコンピュータプログラム 図5
  • 特許-制御装置、制御方法及びコンピュータプログラム 図6
  • 特許-制御装置、制御方法及びコンピュータプログラム 図7
  • 特許-制御装置、制御方法及びコンピュータプログラム 図8
  • 特許-制御装置、制御方法及びコンピュータプログラム 図9
  • 特許-制御装置、制御方法及びコンピュータプログラム 図10
  • 特許-制御装置、制御方法及びコンピュータプログラム 図11
  • 特許-制御装置、制御方法及びコンピュータプログラム 図12
  • 特許-制御装置、制御方法及びコンピュータプログラム 図13
  • 特許-制御装置、制御方法及びコンピュータプログラム 図14
  • 特許-制御装置、制御方法及びコンピュータプログラム 図15
  • 特許-制御装置、制御方法及びコンピュータプログラム 図16
  • 特許-制御装置、制御方法及びコンピュータプログラム 図17
  • 特許-制御装置、制御方法及びコンピュータプログラム 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-25
(45)【発行日】2025-04-02
(54)【発明の名称】制御装置、制御方法及びコンピュータプログラム
(51)【国際特許分類】
   B23Q 3/157 20060101AFI20250326BHJP
   B23Q 3/155 20060101ALI20250326BHJP
【FI】
B23Q3/157 F
B23Q3/155 F
【請求項の数】 9
(21)【出願番号】P 2022007342
(22)【出願日】2022-01-20
(65)【公開番号】P2023106174
(43)【公開日】2023-08-01
【審査請求日】2024-03-15
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】100114557
【弁理士】
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【弁理士】
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】久留美 賢祐
【審査官】増山 慎也
(56)【参考文献】
【文献】特開平07-001272(JP,A)
【文献】実開昭57-108849(JP,U)
【文献】特開昭62-048439(JP,A)
【文献】特開昭53-080083(JP,A)
【文献】特開昭62-152635(JP,A)
【文献】特開昭51-115377(JP,A)
【文献】特開2001-062672(JP,A)
【文献】特開2013-154437(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B23Q 3/157
B23Q 3/155
(57)【特許請求の範囲】
【請求項1】
主軸と、
無端状のレールと、前記レールに不等な間隔で配置され、工具を収納する複数のポットとを備える工具マガジンと
を備える工作機械の制御装置において、
前記複数のポットは前記主軸に装着されるための割り出し位置に配置されている現在ポットと、前記割り出し位置に配置させる予定の予定ポットを含み、
前記複数のポット間の距離を取得する取得部と、
前記現在ポット及び前記予定ポットに関する情報と、前記距離と、に基づき、前記予定ポットを前記割り出し位置まで移動させる移動量を演算する演算部と、
前記割り出し位置に前記予定ポットを配置するために、前記移動量に基づいて前記ポットを前記レールに沿って移動させる制御を行う制御部と
を備える制御装置。
【請求項2】
前記間隔は第一間隔と、前記第一間隔よりも広い第二間隔とを含み、前記ポットは、前記第一間隔と前記第二間隔が交互になるように配置され、
前記演算部は、前記第一間隔の距離である第一距離及び前記第二間隔の距離である第二距離に基づいて前記移動量を演算する
請求項1に記載の制御装置。
【請求項3】
前記情報は、前記ポットに割り当てられた番号と、前記現在ポットと移動方向上流側の隣のポットとの間隔を示す起点間隔と、を含み、
前記演算部は、前記現在ポット及び前記予定ポットに割り当てられた番号に基づいて移動する移動ポット数を算出し、前記第一距離及び第二距離の合計と、前記移動ポット数を2で除算した商と、の積に、前記起点間隔の距離と、前記移動ポット数を2で除算した剰余と、の積を合算して前記移動量を演算する
請求項2に記載の制御装置。
【請求項4】
前記第一距離及び前記第二距離を記憶した記憶部を備え、
前記取得部は前記記憶部から前記第一距離及び前記第二距離を取得する
請求項2または3に記載の制御装置。
【請求項5】
前記レール一周分の距離、前記ポットの総数及び前記第一間隔と前記第二間隔の比を記憶した記憶部を備え、
前記取得部は、前記レール一周分の距離、前記ポットの総数及び前記第一間隔と前記第二間隔の比に基づいて前記第一距離及び前記第二距離を取得する
請求項2または3に記載の制御装置。
【請求項6】
前記情報は、前記現在ポット及び前記予定ポットの座標を含み、
前記ポットに割り当てられた座標に対応する座標を記憶した記憶部を備え、
前記取得部は前記記憶部から前記現在ポット及び前記予定ポットの前記座標を取得し、前記記憶部から前記現在ポット及び前記予定ポットの前記座標の差分を算出し、前記差分に基づいて前記距離を取得する
請求項1に記載の制御装置。
【請求項7】
前記現在ポット及び前記予定ポットに割り当てられた座標に基づいて前記ポットを移動させる移動方向を決定する移動方向決定部を備え、
前記演算部は前記移動方向に基づいて前記移動量を演算する
請求項1から6のいずれか一つに記載の制御装置。
【請求項8】
主軸と、
無端状のレールと、前記レールに不等な間隔で配置され、工具を収納する複数のポットとを備える工具マガジンと
を備える工作機械の制御方法において、
前記複数のポットは前記主軸に装着されるための割り出し位置に配置されている現在ポットと、前記割り出し位置に配置させる予定の予定ポットを含み、
前記複数のポット間の距離を取得し、
前記現在ポット及び前記予定ポットに関する情報と、前記距離とに基づき、前記予定ポットを前記割り出し位置まで移動させる移動量を演算し、
前記割り出し位置に前記予定ポットを配置するために前記移動量に基づいて前記ポットを前記レールに沿って移動させる
制御方法。
【請求項9】
主軸と、
無端状のレールと、前記レールに不等な間隔で配置され、工具を収納する複数のポットとを備える工具マガジンと
を備える工作機械の制御装置で実行可能なプログラムにおいて、
前記複数のポットは前記主軸に装着されるための割り出し位置に配置されている現在ポットと、前記割り出し位置に配置させる予定の予定ポットを含み、
前記複数のポット間の距離を取得し、
前記現在ポット及び前記予定ポットに関する情報と、前記距離とに基づき、前記予定ポットを前記割り出し位置まで移動させる移動量を演算し、
前記割り出し位置に前記ポットを配置するために前記移動量に基づいて前記ポットを前記レールに沿って移動させる
処理を前記制御装置に実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、工作機械を制御する制御装置、制御方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
従来、工作機械は上下移動可能な主軸ヘッドと、工具マガジンとを備える(例えば特許文献1)。工具マガジンは、無端状に連結した複数の移動体を備える。各移動体は、工具を保持する複数の把持アーム(ポット)を保持する。工具マガジンは、主軸ヘッドの周りを囲むレールに沿って複数の移動体を移動させ、所定のポットを主軸ヘッドの下方(割り出し位置)に配置する。主軸ヘッドは下降し、前記ポットが把持する工具を主軸に装着する。特許文献1に記載の工作機械は、ポットがレール上に等間隔で配置されているため、レール一周分の長さとポットの総数との情報に基づいて、割り出し位置に配置するポットの交換のための移動制御が可能である。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2013―154436号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、工作機械において工具マガジンが備えるポット数を増やすためにポットを不等な間隔で配置することが考えられる。この場合、上記と同様の処理によっては移動制御時の駆動量が算出できない。
【0005】
本開示は斯かる事情に鑑みてなされたものであり、ポットが不等な間隔で配置されている工作機械においても、割り出し位置に配置するポットの交換のための移動制御が可能な制御装置等を提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示の一実施形態に係る制御装置は、主軸と、無端状のレールと、前記レールに不等な間隔で配置され、工具を収納する複数のポットとを備える工具マガジンとを備える工作機械の制御装置において、前記複数のポットは前記主軸に装着されるための割り出し位置に配置されている現在ポットと、前記割り出し位置に配置させる予定の予定ポットを含み、前記複数のポット間の距離を取得する取得部と、前記現在ポット及び前記予定ポットに関する情報と、前記距離と、に基づき、移動量を演算する演算部と、前記割り出し位置に前記予定ポットを配置するために、前記移動量に基づいて前記ポットをレールに沿って移動させる制御を行う制御部とを備える。
【0007】
本開示の一実施形態に係る制御装置によれば、ポットが不等な間隔で配置されている工作機械において、割り出し位置に配置するポットの交換のための移動制御が可能である。
【0008】
本開示の一実施形態に係る制御装置は、前記間隔は第一間隔と、前記第一間隔よりも広い第二間隔とを含み、前記ポットは、前記第一間隔と前記第二間隔が交互になるように配置され、前記演算部は、前記第一間隔の距離である第一距離及び前記第二間隔の距離である第二距離に基づいて前記移動量を演算する。
【0009】
本開示の一実施形態に係る制御装置によれば、二種類の間隔が交互になるように配置されている工作機械において、割り出し位置に配置するポットの交換のための移動制御が可能である。
【0010】
本開示の一実施形態に係る制御装置は、前記情報は、前記ポットに割り当てられた番号と、前記現在ポットと移動方向上流側の隣のポットとの間隔を示す起点間隔と、を含み、前記演算部は、前記現在ポット及び前記予定ポットに割り当てられた番号に基づいて移動する移動ポット数を算出し、前記第一距離及び第二距離の合計と、前記移動ポット数を2で除算した商と、の積に、前記起点間隔の距離と、前記移動ポット数を2で除算した剰余と、の積を合算して前記移動量を演算する。
【0011】
本開示の一実施形態に係る制御装置によれば、前記ポット及び移動方向側の隣のポットの間隔に関わらず、移動量を算出することが可能である。
【0012】
本開示の一実施形態に係る制御装置は、前記第一距離及び前記第二距離を記憶した記憶部を備え、前記取得部は前記記憶部から前記第一距離及び前記第二距離を取得する。
【0013】
本開示の一実施形態に係る制御装置によれば、前記第一距離及び前記第二距離に基づいて移動量を算出することが可能である。
【0014】
本開示の一実施形態に係る制御装置は、前記レール一周分の距離、前記ポットの総数及び前記第一間隔と前記第二間隔の比を記憶した記憶部を備え、前記取得部は、前記レール一周分の距離、前記ポットの総数及び前記第一間隔と前記第二間隔の比に基づいて前記第一距離及び前記第二距離を取得する。
【0015】
本開示の一実施形態に係る制御装置によれば、工作機械の構成が変更された場合も、変更された数値を記憶し直すことで第一距離及び第二距離を算出することが可能となる。
【0016】
本開示の一実施形態に係る制御装置は、前記情報は、前記現在ポット及び前記予定ポットの座標を含み、前記ポットに割り当てられた座標に対応する座標を記憶した記憶部を備え、前記取得部は前記記憶部から前記現在ポット及び前記予定ポットの前記座標を取得し、前記記憶部から前記現在ポット及び前記予定ポットの前記座標の差分を算出し、前記差分に基づいて前記距離を取得する。
【0017】
本開示の一実施形態に係る制御装置によれば、ポットが不規則な間隔で配置されている工作機械において、割り出し位置に配置するポットの交換のための移動制御が可能である。
【0018】
本開示の一実施形態に係る制御装置は、前記現在ポット及び前記予定ポットに割り当てられた座標に基づいて前記ポットを移動させる移動方向を決定する移動方向決定部を備え、前記演算部は前記移動方向に基づいて前記移動量を演算する。
【0019】
本開示の一実施形態に係る制御装置によれば、割り出し位置に配置するポットの交換する際、より移動量が短くなる移動方向で移動制御が可能である。
【0020】
本開示の一実施形態に係る制御方法は、主軸と、無端状のレールと、前記レールに不等な間隔で配置され、工具を収納する複数のポットとを備える工具マガジンとを備える工作機械の制御方法において、前記複数のポットは前記主軸に装着されるための現在ポットと、前記割り出し位置に配置させる予定の予定ポットを含み、前記複数のポット間の距離を取得し、前記現在ポット及び前記予定ポットに関する情報と、前記間隔の距離とに基づき、移動量を演算し、前記割り出し位置に前記予定ポットを配置するために前記移動量に基づいて前記ポットを前記レールに沿って移動させる。
【0021】
本開示の一実施形態に係る制御方法によれば、ポットが不等な間隔で配置されている工作機械において、割り出し位置に配置するポットの交換のための移動制御が可能である。
【0022】
本開示の一実施形態に係るコンピュータプログラムは、主軸と、無端状のレールと、前記レールに不等な間隔で配置され、工具を収納する複数のポットとを備える工具マガジンとを備える工作機械の制御装置で実行可能なプログラムにおいて、前記複数のポットは前記主軸に装着されるための現在ポットと、前記割り出し位置に配置させる予定の予定ポットを含み、前記複数のポット間の距離を取得し、前記現在ポット及び前記予定ポットに関する情報と、前記間隔の距離とに基づき、移動量を演算し、前記割り出し位置に前記ポットを配置するために前記移動量に基づいて前記ポットを前記レールに沿って移動させる処理を前記制御装置に実行させる。
【0023】
本開示の一実施形態に係るコンピュータプログラムによれば、ポットが不等な間隔で配置されている工作機械において、割り出し位置に配置するポットの交換のための移動制御が可能である。
【発明の効果】
【0024】
本開示の一実施形態に係る制御装置にあっては、ポットが不等な間隔で配置されている工作機械においても、割り出し位置に配置するポットの交換のための移動制御が可能である。
【図面の簡単な説明】
【0025】
図1】工作機械の斜視図である。
図2】工作機械の正面図である。
図3】工作機械のチェーン部等を省略した右側面図である。
図4】レール部の略示斜視図である。
図5】レール部を移動する工具マガジンの略示斜視図である。
図6】工作機械の略示部分拡大平面図である。
図7】制御装置を示すブロック図である。
図8】レール及びポットの上面模式図である。
図9】移動方向決定方法及び移動ポット数算出方法説明するフローチャートである。
図10】実施形態1に係る駆動制御を説明するフローチャートである。
図11】第一距離及び第二距離算出処理を説明するフローチャートである。
図12】実施形態3に係るレール及びポットの上面模式図である。
図13】実施形態3に係る起点距離及び終点距離の設定方法を説明するフローチャートである。
図14】実施形態3に係る起点距離及び終点距離の設定方法を説明するフローチャートである。
図15】実施形態3に係る駆動制御を説明するフローチャートである。
図16】実施形態4に係るレール及びポットの上面模式図である。
図17】座標テーブルを示す説明図である。
図18】実施形態4に係る駆動制御を説明するフローチャートである。
【発明を実施するための形態】
【0026】
(実施形態1)
以下実施形態1に係る工作機械及び制御装置について図面に基づき説明する。以下の説明では、図に示す上下前後左右を使用する。
【0027】
図1は、工作機械の斜視図である。図2は、工作機械の正面図である。図3は、工作機械のチェーン部等を省略した右側側面図である。工作機械100は、基台10、主軸ヘッド20、工具マガジン30等を備える。基台10は矩形であり、前後に延びる。ワーク保持部11は、基台10の上部前側に設ける。ワーク保持部11は加工対象であるワークを保持する。ワーク保持部11は、上下に延びたC軸周りに回転可能である。支持台12は基台10上部の後側に設ける。支持台12上面に、X軸方向移動装置14が設けてある。X軸方向移動装置14は、左右方向(X軸方向)に移動可能である。Y軸方向移動装置15は、X軸方向移動装置14の上部に設ける。Y軸方向移動装置15は、コラム13を前後方向(Y軸方向)に移動可能に支持する。Z軸方向移動装置16は、コラム13の前面に設ける。Z軸方向移動装置16は、主軸ヘッド20を上下方向(Z軸方向)に移動する。
【0028】
主軸ヘッド20は、上下に延びる主軸21を備える。主軸21は軸回りに回転する。主軸21の下端部は工具を装着する。主軸モータ22は主軸ヘッド20の上端部に設ける。主軸21及び工具は、主軸モータ22の回転で回転する。回転した工具はワーク保持部11で保持したワークを加工する。
【0029】
図4はレール部の略示斜視図である。図5はレール部を移動する工具マガジンの略示斜視図である。工具マガジン30は、レール部31、チェーン部32、及びマガジン駆動部33を備える。工具マガジン30は、マガジン駆動部33の駆動により、チェーン部32をレール部31に沿って移動させる。レール部31は、二つの支持梁311、レール台312、及びレール313を備える。支持梁311は、直角三角形状をなす板状の構造部材である。支持梁311の斜辺は上側配置してある。支持梁311の斜辺は、前方に向かうに従って下降するように傾斜する。支持梁311は、コラム13の左右に片持ちに固定してある。支持梁311は、コラム13の左右に固定した部分から主軸ヘッド20の両側部分まで延びる。支持梁311の上側端面は、前方下方から後方上方へ、水平面から略30度傾斜する。
【0030】
レール台312は、平面視角丸長方形(矩形)であり、前後に延びる。レール台312は、支持梁311の斜辺に固定され、コラム13及び主軸21の周りを囲む。レール台312は、水平面から略30度傾斜する。レール台312の前方下端部の中央部に、工具と主軸21との位置を整合させる位置決め機構314を設けてある。レール台312の下端部の中央部が、工具の交換位置に位置する。
【0031】
レール313はレール台312上部に設け、無端状の軌道を形成する。レール313は、平面視角丸長方形であり、略矩形状の断面を有する。レール313は、互いに対向する二つの第一直線部313aと、互いに対向する二つの第二直線部313bとを有し、第一直線部313a及び第二直線部313bの端部を曲線部313cが連結する。二つの第一直線部313aは夫々、主軸ヘッド20の前後に設け、左右方向に直線状に延びる。二つの第二直線部313bは夫々、主軸ヘッド20の左右に設け、前後方向、即ち左右方向に直交する方向に直線状に延びる。レール台312及びレール313は、第一直線部313aが主軸21の軸方向に直交する方向に平行し、且つ第一直線部313aの長手方向中心
と主軸21の軸心とが一致するよう配置してある。
【0032】
取付台315は、レール台312の後部内側に設ける。取付台315の上側にマガジン駆動部33が取り付けてある。マガジン駆動部33は、モータ331及びギア332を備える。ギア332の軸心は、支持梁311の斜辺に略直角である。ギア332は、チェーン部32に噛合する。モータ331が回転し、チェーン部32及び複数のポットPが回転する。
【0033】
レール313に沿ってチェーン部32が設けてある。チェーン部32は、複数の移動体34、複数のリンク35及び複数のポットPを備える。ポットPは、不等な間隔でレール313に配置されている。リンク35は、細長い略長方形の板状である。即ち、リンク35は直線状に延びる。リンク35は、隣り合う移動体34を連結する。複数の移動体34及びリンク35は無端状のチェーンを形成する。
【0034】
図6は工作機械の略示部分拡大平面図である。移動体34に並べた二つのポットP間の第一間隔LAは、リンク35を挟んで隣り合う二つのポットP間の第二間隔LBよりも狭い。第一間隔LAは、隣り合うポットPの移動方向における中心部間の距離とする。第二間隔LBは、リンク35の両端部における連結軸体345の軸心間の距離とする。なお、煩雑になるのを防ぐため、図6においては一部の連結軸体345にのみ符号を付している。
【0035】
図7は制御装置を示すブロック図である。工作機械100は、モータ331の駆動を制御する制御装置40を備える。制御装置40は、モータ331を駆動させることでギア332を回転させ、複数のポットPを回転させる。制御装置40は、CPU41、RAM42、記憶部43を備える。記憶部43は、例えばEEPROM、EPROM、ハードディスク等の書き換え可能な記憶媒体を有する。記憶部43は、各ポットPに割り当てられたポット番号、第一間隔LAの距離(第一距離la)、第二間隔LBの距離(第二距離lb)、及びワークを加工する加工プログラム等を記憶する。持ち運び可能な記憶媒体43a、例えばCD-ROM及びフラッシュメモリ等に記憶した加工プログラム(プログラム製品)を記憶部43に格納してもよく、ネットワークを介してサーバから各プログラムを記憶部43に格納してもよい。CPU41は、加工プログラムをRAM42に読み込んで加工プログラムを実行する。また、モータ331は、エンコーダ331aを有する。エンコーダ331aは、モータ331の回転位置を示す信号を制御装置40に出力する。尚、制御装置40はX軸方向移動装置、Y軸方向移動装置、Z軸方向移動装置が有するモータ、主軸モータ等を備えるが図示を省略する。
【0036】
図8は、レール及びポットの上面模式図である。各ポットにはポット番号が割り当てられており、図8に示すように上面視反時計回りに、1から順に割り当てられている。本実施形態においては、ポットPの数(ポット総数)は28個として説明する。ポット番号Nが割り当てられたポットを、ポットPNとする。また、ポット番号が奇数のポットPNを奇数ポット、ポット番号が偶数のポットPNを偶数ポットとも称する。
【0037】
本実施形態においては、各奇数ポットは、ポット番号が一つ大きい偶数ポットと移動体34を介して並んでおり、ポット番号が一つ小さい偶数ポットとはリンク35を介して並んでいる。1の奇数ポットとポット番号が一つ大きい偶数ポットとの間の距離と、1の奇数ポットとポット番号が一つ小さい偶数ポットとの間の距離とは異なる。具体的に、各奇数ポットと、ポット番号が一つ大きい偶数ポットとの間の距離は第一距離laであり、ポット番号が一つ小さい偶数ポットとの間の距離は第二距離lbである。なお、ポットP28とポットP1はリンクを介して並んでおり、間の距離は第二距離lbである。距離1aと距離1bは異なる。
【0038】
主軸に装着されるための割り出し位置に配置されているポットPを現在ポットとする。すなわち、図8においてはポットP1が現在ポットである。また、次にワーク加工に使用するため、割り出し位置に配置させる予定のポットPNを予定ポットとする。また、現在ポットのポット番号を現在ポット番号、予定ポットのポット番号を予定ポット番号とする。以下では、ポットP10を予定ポットとして、予定ポットP10を割り出し位置に移動させる例における制御について説明する。
【0039】
制御装置40は、予定ポットP10と現在ポットP1のポット番号に基づいて、予定ポットP10を割り出し位置まで移動させるための移動方向を決定し、必要な移動ポット数を算出する。上面視時計回り方向を正転方向とし、反時計回り方向を逆転方向とする。詳細な移動方向決定方法及び移動ポット数の算出方法は後述するが、本例において、移動方向は正転方向であり、移動ポット数は9である。
【0040】
制御装置40のCPU41は、記憶部43から第一距離la、第二距離lb、及び現在ポットP1と移動方向上流側の隣のポットとの間隔(起点間隔)の距離である起点距離を取得する。本例において、起点間隔はポットP1とポットP2との間の距離なので、起点間隔は第一間隔であり、起点距離は第一距離laである。起点距離の設定方法は後述する。制御装置40は、移動ポット数を2で除算し、商と剰余を算出する。本例において、商は4、剰余は1である。制御装置40は、第一距離la及び第二距離lbの合計と、商との積を求め、さらに起点距離と剰余の積を合算し、移動量とする。即ち、以下の式によって演算した距離を移動量とする。
【0041】
【数1】
【0042】
CPU41は、演算した移動量に基づいて、モータ331を駆動させる。具体的には、記憶部43はギア332一回転当たりのポットPの駆動距離を記憶しており、制御装置40はギア332一回転当たりのポットPの駆動距離と移動量に基づいてモータ331の回転量を決定し、駆動させる。
【0043】
図9は、移動方向決定方法及び移動ポット数算出方法を説明するフローチャートであり、加工プログラム中の工具交換指令を実行時に起動する。図9においては、変数X及びYを用いて説明する。CPU41は、現在ポット番号及び予定ポット番号を取得し(S1)、予定ポット番号が現在ポット番号以上であるか否か判定する(S2)。なお、CPU41は、エンコーダ331aから出力されたモータ331の回転位置に基づいて現在ポット番号を取得し、RAM42に読み込まれた加工プログラムから予定ポット番号を取得する。予定ポット番号が現在ポット番号以上である場合(S2:YES)、CPU41はXを予定ポット番号から現在ポット番号を引いた数に設定する(S3)。予定ポット番号が現在ポット番号未満である場合(S2:NO)、CPU41はXを予定ポット番号から現在ポット番号を引き、ポット総数を足した数に設定する(S4)。CPU41は、Xがポット総数/2よりも大きいか否か判定し(S5)、大きい場合(S5:YES)、YをXからポット総数を引いた数に設定する(S6)。Xがポット総数を2で割った商以下である場合(S5:NO)、CPU41は、YをXと同値に設定する(S7)。CPU41は、Yが0以上であるか否かを判定し(S8)、Yが0以上である場合(S8:YES)、移動方向を正転方向に設定して(S9)、移動ポット数をYと同値として算出する(S10)。Yが0未満の場合(S8:NO)、CPU41は、移動方向を逆転方向に設定し(S11)、移動ポット数を-Yとして算出する(S12)。CPU41は、S10またはS12において移動ポット数を算出後、処理を終了する。
【0044】
以上の処理によって、CPU41は、予定ポットを割り出し位置に配置するためのより近い移動方向を決定することが可能である。また、正転または逆転のどちらに移動方向を決定しても、正しい移動ポット数を算出することが可能である。
【0045】
図10は、実施形態1に係る駆動制御を説明するフローチャートであり、図9のフローチャートの実行完了後起動する。CPU41は、記憶部43から、第一距離la及び第二距離lbを取得する(S21)。CPU41は、現在ポット番号を取得し(S22)、現在ポット番号が偶数であるか否か判定する(S23)。現在ポット番号が偶数である場合(S23:YES)、CPU41は、ポットPの移動方向が正転であるか否か判定する(S24)。移動方向が正転である場合(S24:YES)、CPU41は、起点距離を第二距離に設定する(S27)。移動方向が正転でない場合、即ち逆転である場合(S24:NO)、CPU41は、起点距離を第一距離に設定する(S26)。ポット番号が偶数でない、即ち奇数である場合(S23:NO)、CPU41は、ポットPの移動方向が正転であるか否か判定する(S25)。移動方向が正転である場合(S25:YES)、CPU41は、起点距離を第一距離に設定する(S26)。移動方向が正転でない場合、即ち逆転である場合(S25:NO)、CPU41は、起点距離を第二距離に設定する(S27)。CPU41は、S26またはS27において起点距離を設定後、移動ポット数を2で除算して商と剰余を算出する(S28)。CPU41は、第一距離及び第二距離の合計と商を乗算し(S29)、また、起点距離と剰余を乗算する(S30)。CPU41は、S29とS30における算出結果を合算して移動量を算出し(S31)、移動量に基づいてモータの回転量を算出する(S32)。CPU41は、モータを回転駆動させ(S33)、処理を終了する。
【0046】
以上の処理によれば、ポットが交互に二種類の間隔でレール上に並べられている場合においても、工具交換の際のポットの移動距離を算出することが可能である。
【0047】
(実施形態2)
実施形態1に係る制御装置40は、第一距離la及び第二距離lbを記憶した記憶部43を備えるが、本実施形態に係る制御装置40は、レール313一周分の距離(レール全長)、ポット総数、及び第一間隔と第二間隔の比(第一間隔比RA:第二間隔比RB)を記憶した記憶部43を備え、CPU41による演算によって第一距離la及び第二距離lbを算出する。以下実施形態2について、図面に基づいて説明する。実施形態2に係る構成の内、実施形態1と同様な構成については同じ符号を付し、その詳細な説明を省略する。
【0048】
図11は、第一距離及び第二距離算出処理を説明するフローチャートである。CPU41は、レール一周分の距離及びポット総数を記憶部43から取得し(S41)、レール全長をポット総数で除算して各ポット間の間隔の平均距離(平均間隔距離lm)を算出する(S42)。CPU41は、第一間隔比RA及び第二間隔比RBを記憶部43から取得し(S43)、第一間隔比RAと第二間隔比RBの平均(平均間隔比Rm)を算出する(S44)。CPU41は、平均間隔距離lmと第一間隔比RAを乗算して平均間隔比Rmを除算することで第一距離laを算出し(S45)、、平均間隔距離lmと第二間隔比RBを乗算して平均間隔比Rmを除算することで第二距離lbを算出する(S46)。即ち、以下の式によって、平均間隔距離lm、平均間隔比Rm、第一距離la及び第二距離lbは算出される。
【0049】
【数2】
【0050】
【数3】
【0051】
【数4】
【0052】
【数5】
【0053】
本実施形態に係る制御装置40の記憶部43はレール313一周分の距離、ポット総数、及び第一間隔と第二間隔の比を記憶しているため、工作機械100の構成が変更された場合、変更された数値を記憶し直すことで第一距離及び第二距離を算出することが可能となる。
【0054】
(実施形態3)
実施形態1に係る工作機械100のポットPは、第一間隔及び第二間隔が交互になるように配置されるが、本実施形態に係る工作機械100のポットPは、第一間隔、第二間隔及び第三間隔が輪番になるように配置される。以下実施形態3について、図面に基づいて説明する。実施形態3に係る構成の内、実施形態1と同様な構成については同じ符号を付し、その詳細な説明を省略する。
【0055】
図12は、実施形態3に係るレール及びポットの上面模式図である。本実施形態においては、ポット総数は24個として説明する。ポットP1とポットP2の間隔は第一間隔、ポットP2とポットP3の間隔は第二間隔、ポットP3とポットP4の間隔は第三間隔である。同様に、ポットP24まで、第一間隔、第二間隔、及び第三間隔が輪番になるように配置されている。なお、ポットP24とポットP1の間隔は第三間隔である。実施形態1と同様に、第一間隔の距離を第一距離la、第二間隔の距離を第二距離lbとし、第三間隔の距離を第三距離lcとする。実施形態3に係る記憶部43は、第一距離la、第二距離lb、及び第三距離lcを記憶している。
【0056】
以下では、ポットP12を予定ポットとして、予定ポットP12を割り出し位置に移動させる例における制御について説明する。なお、以下の説明における商は、除算における整数商を表す。制御装置40は、実施形態1と同様に移動方向を決定し、移動ポット数を算出する。本例においては、移動方向は正転であり、移動ポット数は11である。
【0057】
制御装置40のCPU41は、記憶部43から第一距離la、第二距離lb、第三距離lc、現在ポットP1と移動方向上流側の隣のポットとの間隔(起点間隔)の距離である起点距離、及び予定ポットP12と移動方向下流側の隣のポットとの間隔(終点間隔)の距離である終点距離を取得する。起点距離及び終点距離の設定方法は後述するが、本例において起点距離はla、終点距離はlbである。
【0058】
制御装置40は、移動ポット数を3で除算し、第一商と第一剰余を算出する。本例において、第一商は3、第一剰余は2である。制御装置40は、さらに第一剰余に1を足した数を2で除算し、第二商を求める。本例において第二商は1である。また、制御装置40は、第一剰余を2で除算し、第三商を求める。本例において、第三商は1である。制御装置40は、第一商と、第一距離la、第二距離lb及び第三距離lcの合計との積、第二商と起点距離との積、及び第三商と終点距離との積を合算し、移動量とする。即ち、本例においては以下の式によって移動量は算出される。
【0059】
【数6】
【0060】
図13及び図14は、実施形態3に係る起点距離及び終点距離の設定方法を説明するフローチャートである。制御装置40のCPU41は、移動方向決定及び移動ポット数算出(図9参照)後、起点距離及び終点距離を設定する。CPU41は、記憶部43から第一距離la、第二距離lb、及び第三距離lcを取得する(S51)。CPU41は、現在ポット番号を取得し(S52)、現在ポット番号が3の倍数であるか否か判定する(S53)。現在ポット番号が3の倍数である場合(S53:YES)、CPU41はポットPの移動方向が正転であるか否か判定する(S54)。移動方向が正転である場合(S54:YES)、CPU41は起点距離を第三距離に設定する(S58)。移動方向が正転でない場合、即ち逆転である場合(S54:NO)、CPU41は起点距離を第二距離に設定する(S60)。現在ポット番号が3の倍数でない場合(S53:NO)、CPU41は現在ポット番号を3で除算した剰余が1であるか否か判定する(S55)。剰余が1である場合(S55:YES)、CPU41はポットPの移動方向が正転であるか否か判定する(S56)。移動方向が正転である場合(S56:YES)、CPU41は起点距離を第一距離に設定する(S59)。移動方向が正転でない場合、即ち逆転である場合(S56:NO)、CPU41は起点距離を第三距離に設定する(S58)。現在ポット番号を3で除算した剰余が1でない場合、即ち剰余が2である場合(S55:NO)、CPU41は移動方向が正転であるか否か判定する(S57)。移動方向が正転である場合(S57:YES)、CPU41は起点距離を第二距離に設定する(S60)。移動方向が正転でない場合、即ち逆転である場合(S57:NO)、CPU41は起点距離を第一距離に設定する(S59)。
【0061】
制御装置40のCPU41は、S58、S59またはS60において起点距離を設定後、予定ポット番号を取得し(S61)、予定ポット番号が3の倍数であるか否か判定する(S62)。予定ポット番号が3の倍数である場合(S62:YES)、CPU41はポットPの移動方向が正転であるか否か判定する(S63)。移動方向が正転である場合(S63:YES)、CPU41は終点距離を第二距離に設定する(S67)。移動方向が正転でない場合、即ち逆転である場合(S63:NO)、CPU41は終点距離を第三距離に設定する(S68)。予定ポット番号が3の倍数でない場合(S62:NO)、CPU41は予定ポット番号を3で除算した剰余が1であるか否か判定する(S64)。剰余が1である場合(S64:YES)、CPU41はポットPの移動方向が正転であるか否か判定する(S65)。移動方向が正転である場合(S65:YES)、CPU41は終点距離を第三距離に設定する(S68)。移動方向が正転でない場合、即ち逆転である場合(S65:NO)、CPU41は終点距離を第一距離に設定する(S69)。予定ポット番号を3で除算した剰余が1でない場合、即ち剰余が2である場合(S64:NO)、CPU41は移動方向が正転であるか否か判定する(S66)。移動方向が正転である場合(S66:YES)、CPU41は終点距離を第一距離に設定する(S69)。移動方向が正転でない場合、即ち逆転である場合(S66:NO)、CPU41は終点距離を第二距離に設定する(S67)。CPU41は、S67、S68またはS69において終点距離を設定後、処理を終了する。
【0062】
図15は実施形態3に係る駆動制御を説明するフローチャートであり、図13及び図14のフローチャートの実行完了後起動する。CPU41は、移動ポット数を3で除算し、第一商と第一剰余を算出する(S71)。なお、移動ポット数の算出方法については実施形態1と同様であるので(図9参照)、詳細を省略する。CPU41は、第一剰余+1を2で除算して第二商を算出し(S72)、第一剰余を2で除算して第三商を算出する(S73)。CPU41は、第一距離、第二距離及び第三距離の合計と第一商を乗算し(S74)、起点距離と第二商を乗算し(S75)、終点距離と第三商を乗算する(S76)。CPU41は、S74、S75及びS76における算出結果を合算して移動量を算出し(S77)、移動量に基づいてモータの回転量を算出する(S78)。CPU41は、モータを回転駆動させ(S79)、処理を終了する。
【0063】
以上の処理によれば、ポットが三種類の間隔で輪番にレール上に並べられている場合においても、工具交換の際のポットの移動距離を算出することが可能である。
【0064】
(実施形態4)
実施形態1に係る工作機械100のポットPは、第一間隔及び第二間隔が交互になるように配置されるが、本実施形態に係る工作機械100のポットPは、様々な大きさの工具を把持するため、不規則な間隔で配置されている。以下実施形態4について、図面に基づいて説明する。実施形態4に係る構成の内、実施形態1と同様な構成については同じ符号を付し、その詳細な説明を省略する。
【0065】
図16は、実施形態4に係るレール及びポットの上面模式図である。図17は、座標テーブルを示す説明図である。図16に示すように、本実施形態に係るポットPは、不規則な間隔でレール上に配置されている。図17に示すように、制御装置40の記憶部43は、ポット番号に座標を対応させた座標テーブルを記憶している。座標の値には、ポットP1からの上面視反時計回りの距離が格納されている。以下、現在ポットの座標を現在座標、予定ポットの座標を予定座標とする。
【0066】
図18は、実施形態4に係る駆動制御を説明するフローチャートである。CPU41は、現在ポット番号及び予定ポット番号を取得し(S81)、現在ポット番号及び予定ポット番号に基づいて、記憶部43の座標テーブルから現在座標及び予定座標を取得する(S82)。CPU41は、予定座標が現在座標以上であるか否かを判定し(S83)、予定座標が現在座標以上である場合(S83:YES)、CPU41はXを予定座標から現在座標を引いた数に設定する(S84)。予定座標が現在座標未満である場合(S83:NO)、CPU41はXを予定座標から現在座標を引き、レール全長を足した数に設定する(S85)。CPU41は、Xがレール全長/2よりも大きいか否か判定し(S86)、大きい場合(S86:YES)、YをXからレール全長を引いた数に設定する(S87)。Xがレール全長/2以下である場合(S86:NO)、CPU41は、YをXと同値に設定する(S88)。CPU41は、Yが0以上であるか否かを判定し(S89)、Yが0以上である場合(S89:YES)、移動方向を正転方向に設定して(S90)、移動量をYと同値として算出する(S91)。Yが0未満の場合(S89:NO)、CPU41は、移動方向を逆転方向に設定し(S92)、移動量を-Yとして算出する(S93)。CPU41は、S91またはS93において移動量を算出後、移動量に基づいてモータ331の回転量を算出し(S94)、モータ331を回転駆動させ(S95)、処理を終了する。
【0067】
以上の処理によれば、ポットが不規則な間隔でレール上に並べられている場合においても、工具交換の際のポットの移動距離を算出することが可能である。本実施形態におけるポットの移動距離は、現在ポット及び予定ポット間の距離である。なお、座標テーブルに格納される座標は、レール313の軌道の中心を円心とした角度でもよく、この場合は該角度とレール全長に基づいて移動量が算出される。
【0068】
今回開示した実施の形態は、全ての点で例示であって、制限的なものではないと考えられるべきである。各実施例にて記載されている技術的特徴は互いに組み合わせることができ、本発明の範囲は、特許請求の範囲内での全ての変更及び特許請求の範囲と均等の範囲が含まれることが意図される。
【符号の説明】
【0069】
100 工作機械
30 工具マガジン
313 レール
331 モータ
332 ギア
34 移動体
35 リンク
40 制御装置
41 CPU
42 RAM
43 記憶部
43a 記憶媒体
P ポット
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18