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

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

▶ ファナック株式会社の特許一覧

特許7343340工作機械の加工制御装置及び加工制御方法
<>
  • 特許-工作機械の加工制御装置及び加工制御方法 図1
  • 特許-工作機械の加工制御装置及び加工制御方法 図2
  • 特許-工作機械の加工制御装置及び加工制御方法 図3
  • 特許-工作機械の加工制御装置及び加工制御方法 図4
  • 特許-工作機械の加工制御装置及び加工制御方法 図5
  • 特許-工作機械の加工制御装置及び加工制御方法 図6
  • 特許-工作機械の加工制御装置及び加工制御方法 図7
  • 特許-工作機械の加工制御装置及び加工制御方法 図8
  • 特許-工作機械の加工制御装置及び加工制御方法 図9
  • 特許-工作機械の加工制御装置及び加工制御方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-04
(45)【発行日】2023-09-12
(54)【発明の名称】工作機械の加工制御装置及び加工制御方法
(51)【国際特許分類】
   G05B 19/4155 20060101AFI20230905BHJP
   G05B 19/18 20060101ALI20230905BHJP
【FI】
G05B19/4155 X
G05B19/18 W
【請求項の数】 8
(21)【出願番号】P 2019169197
(22)【出願日】2019-09-18
(65)【公開番号】P2021047581
(43)【公開日】2021-03-25
【審査請求日】2022-06-16
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】110001151
【氏名又は名称】あいわ弁理士法人
(72)【発明者】
【氏名】安松 勇紀
【審査官】中川 康文
(56)【参考文献】
【文献】特開2016-031725(JP,A)
【文献】特開2016-103166(JP,A)
【文献】特開2018-063640(JP,A)
【文献】米国特許出願公開第2009/0309533(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/18-19/416
(57)【特許請求の範囲】
【請求項1】
加工経路及び非加工経路が含まれる加工プログラムを用いてワークへの加工制御を行う工作機械の加工制御装置であって、
前記加工プログラムを所定の読込単位ごとに読み込む加工プログラム取得部と、
前記加工プログラム取得部で読み込んだ前記加工プログラムに基づいて、前記工作機械の加工動作を制御する加工制御部と、
前記加工プログラム取得部で読み込んだ前記加工プログラムを順次読み出して、加工経路とこれに対応する加工時間とを含む加工シミュレーションを行うシミュレーション実行部と、
前記加工シミュレーションの結果に基づいて、前記加工プログラム取得部のバッファ状態を判別するバッファ状態判別部と、を備え、
前記加工制御部は、前記バッファ状態判別部がバッファ不足と判別した場合に、前記バッファ不足が発生する位置より手前の非加工経路上で加工を停止する制御を行う
工作機械の加工制御装置。
【請求項2】
前記加工制御部は、前記バッファ状態判別部がいったんバッファ不足と判別した後に当該不足の状態が解消したと判別するまで、加工を停止する制御を継続する
請求項1に記載の工作機械の加工制御装置。
【請求項3】
前記加工制御部は、前記バッファ状態判別部がバッファ不足と判別している間に、前記非加工経路の最後端まで工具位置を移動させる制御をさらに行う
請求項2に記載の工作機械の加工制御装置。
【請求項4】
前記加工制御部は、前記バッファ状態判別部が加工停止中の現在の非加工経路の次の加工経路を経由してさらに次の非加工経路に至るまでの前記加工プログラムを前記加工プログラム取得部が蓄積したと判別した場合に、加工を再開する制御を行う
請求項1~3のいずれか1項に記載の工作機械の加工制御装置。
【請求項5】
加工経路及び非加工経路が含まれる加工プログラムを用いてワークへの加工制御を行う工作機械の加工制御方法であって、
前記加工プログラムを所定の読込単位ごとに読み込み、その読み込んだ前記加工プログラムに基づいて、前記工作機械の加工動作を制御する際に、
読み込んだ前記加工プログラムを順次読み出して、加工経路とこれに対応する加工時間とを含む加工シミュレーションを行うとともに、前記加工シミュレーションの結果に基づいて、前記加工プログラムのバッファ状態を判別し、
前記バッファ状態がバッファ不足と判別された場合に、前記バッファ不足が発生する位置より手前の非加工経路上で加工を停止する
工作機械の加工制御方法。
【請求項6】
前記バッファ状態がいったんバッファ不足と判別された後に当該不足の状態が解消したと判別されるまで加工を停止する
請求項5に記載の工作機械の加工制御方法。
【請求項7】
前記バッファ状態がバッファ不足と判別されている間に、前記非加工経路の最後端まで工具位置を移動させる
請求項6に記載の工作機械の加工制御方法。
【請求項8】
前記バッファ状態として、加工停止中の現在の非加工経路の次の加工経路を経由してさらに次の非加工経路に至るまでの前記加工プログラムを蓄積できたと判別された場合に、加工を再開する
請求項5~7のいずれか1項に記載の工作機械の加工制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、工作機械の加工制御装置及び加工制御方法に関する。
【背景技術】
【0002】
工作機械等を制御する加工制御装置は、加工プログラムに基づいて加工を行う。この加工プログラムのサイズは、加工物の精度向上に伴い大容量化する傾向にあり、例えば金型加工用の加工プログラム等においては、そのサイズがCNCの内部記憶装置(DRAM等)の容量を超える場合も少なくない。このような問題に対応するための手法として、加工制御装置は、通信可能に接続された外部記憶装置(CFカード、SDカード、USBデバイス等)や外部計算機(サーバ等)等から加工プログラムの一部を逐次取得し、取得した分の加工プログラムを内部記憶装置へ蓄積(バッファリング)する技術が知られている。この手法によれば、連続的なプログラム運転を実現できる。
【0003】
ところで、外部記憶装置又は外部計算機から加工制御装置に加工プログラムを転送する場合、その転送速度は一定ではない。このため、外部記憶装置から逐次取得された加工プログラムで加工制御を行っている最中に、加工プログラムの転送より蓄積されたデータの実行の方が早くなって転送待ち(いわゆる「バッファ待ち」)の状態が発生する。このような転送待ち状態が発生すると、加工中に制御が一時中断して加工品質が劣化してしまうこととなる。
【0004】
このような事象を解決するために、特許文献1には、加工プログラム記憶装置から通信手段を介して転送される加工プログラムデータをメモリ内の運転バッファに蓄えつつ、この運転バッファ内の加工プログラムデータをブロック単位に順次取り出して運転を行なうリモート運転機能を備えた数値制御装置において、上記運転バッファ内の加工プログラムデータが空になった場合に切削中の工具を工具装着の軸方向に退避させ、その後に運転を再開させるための工具退避条件である退避逃げ量及び運転再開ブロック数を設定する設定手段と、運転バッファ内の加工プログラムデータの残りのブロック数が0になる場合に、0になる直前のブロック終了後に切削中の工具を前記退避逃げ量の分だけ退避させ、加工プログラム記憶装置から加工プログラムデータが転送されることにより、運転バッファ内の加工プログラムデータの残りのブロック数が、運転再開ブロック数以上になった場合に、工具を退避した位置から退避逃げ量の分だけ戻して、加工を再開させる工具退避制御手段と、を具備したことを特徴とするリモート運転機能を備えた数値制御装置が開示されている。これにより、加工プログラムデータ内で運転バッファ内の加工プログラムデータが、運転バッファが空になった場合の切削工具退避の有効/無効が設定できることから、切削工具退避が不必要な加工箇所での加工時間を削減できるとしている。
【0005】
また、特許文献2には、外部記憶装置または外部制御装置から接続手段を介して加工プログラムを内部メモリにバッファリングし、バッファリングされた加工プログラムに基づいて自動運転実行部が自動運転を行う数値制御装置において、上記加工プログラムは一つまたは複数個のバッファリングポイントを含み、自動運転実行部は、内部メモリへの加工プログラムバッファリングにおいて、バッファリングする加工プログラムに上記バッファリングポイントが含まれているか否かを確認し確認結果を保持するバッファリング完了確認結果保持手段と、内部メモリにバッファリングされた加工プログラムを自動運転実行部が実行する際に、実行する加工プログラムに上記バッファリングポイントが含まれているか否かを確認し結果を保持する実行確認結果保持手段と、バッファリング完了確認結果保持手段と実行確認結果保持手段とを比較する比較手段と、その比較結果に基づいて自動運転の継続または一時停止または再開のいずれかを行う実行手段と、を有することを特徴とする数値制御装置が開示されている。これにより、データ転送が遅く内部メモリが空になってしまう場合でも、予め指定したバッファリングポイント命令以外の箇所で加工が停止することはなく、ワークにカッターマークの生成や振動が発生する、という問題が発生しないとされている。
【先行技術文献】
【特許文献】
【0006】
【文献】特開平7-239707号公報
【文献】特開2016-31725号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
通常、自動運転される工作機械において、その制御中に何らかのトラブルが発生した場合には、制御が中断されてワークに対する加工も緊急停止されることが多い。このとき、ワークと工具とが接触中に緊急停止してしまうとワークにいわゆる「カッターマーク」が付いてしまい、製品としての歩留まりが低下してしまうことになる。
【0008】
このような緊急停止時の歩留まりの低下を抑制するために、例えば上記した特許文献1あるいは特許文献2では、加工の自動制御を一時停止する際に、工具をワークから退避する処理を行い、トラブルの解消後に加工点に復帰させて加工を継続することが開示されている。しかしながら、加工中にいったん工具を退避させる動作を実行すると、加工位置自体を復帰させることは可能ではあるものの、加工経路上で連続的に行われていた加工状態を再現(復帰)させることは困難であるため、結果として加工を一時停止したワークについての加工精度の低下は避けられない。
【0009】
また、特許文献2には、自動運転を一時停止してもカッターマークが生成しない非切削命令をバッファリングポイントに設定し得ることも記載されている。しかしながら、実行手段が加工の一時停止の動作を実行するには、読み込まれた加工プログラムのブロックにバッファリングポイントが含まれている必要があるため、加工精度を向上させるには加工プログラムのすべてのブロックにバッファリングポイントを予め含ませる必要があり、加工プログラムの作成時の負荷が高まるとともに、汎用性が低下するという問題がある。
【0010】
そこで、工作機械を自動で加工制御する上で、加工プログラムに特別な追加点を設けることなく、加工後の歩留まりを低下させずにバッファリング不足の状態に対応できる工作機械の加工制御装置及び加工制御方法が求められている。
【課題を解決するための手段】
【0011】
本発明の一態様による工作機械の加工制御装置は、加工経路及び非加工経路が含まれる加工プログラムを用いてワークへの加工制御を行うものであって、加工プログラムを所定の読込単位ごとに読み込む加工プログラム取得部と、この加工プログラム取得部で読み込んだ加工プログラムに基づいて、工作機械の加工動作を制御する加工制御部と、加工プログラム取得部で読み込んだ加工プログラムを順次読み出して加工シミュレーションを行うシミュレーション実行部と、その加工シミュレーションの結果に基づいて、加工プログラム取得部のバッファ状態を判別するバッファ状態判別部と、を備える。そして、上記した加工制御部は、バッファ状態判別部がバッファ不足と判別した場合に、バッファ不足が発生する位置より手前の非加工経路上で加工を停止する制御を行う。
【0012】
本発明の一態様による工作機械の加工制御方法は、加工経路及び非加工経路が含まれる加工プログラムを用いてワークへの加工制御を行うものであって、加工プログラムを所定の読込単位ごとに読み込み、その読み込んだ加工プログラムに基づいて、工作機械の加工動作を制御する際に、読み込んだ加工プログラムを順次読み出して加工シミュレーションを行うとともに、その加工シミュレーションの結果に基づいて、加工プログラムのバッファ状態を判別し、このバッファ状態がバッファ不足と判別された場合に、バッファ不足が発生する位置より手前の非加工経路上で加工を停止する。
【発明の効果】
【0013】
本発明の一態様によれば、逐次読み込んだ加工シミュレーションの結果に基づいて、加工プログラムのバッファ状態を判別し、その判別結果に応じてバッファ不足が発生する位置より手前の非加工経路上で加工を停止するようにしたため、工作機械を自動で加工制御する上で、加工プログラムに特別な追加点を設けることなく、加工後の歩留まりを低下させずにバッファリング不足の状態に対応できる。
【図面の簡単な説明】
【0014】
図1】本発明の代表的な一例による加工制御装置及びその周辺装置との関連を示すブロック図である。
図2】第1の実施形態にかかるワークと加工経路との関係を示す平面図である。
図3】第1の実施形態にかかる加工プログラムの読込動作の概要を示すフローチャートである。
図4図3に示した加工プログラムの読込動作と並行して実行される加工制御動作の概要を示すフローチャートである。
図5図4に示した通常加工サブルーチンの動作の概要を示すフローチャートである。
図6図4に示した待機サブルーチンの動作の概要を示すフローチャートである。
図7】第1の実施形態にかかる工作機械の加工制御方法の一例を示すタイミングチャートである。
図8】第2の実施形態にかかるワークと加工経路との関係を示す平面図である。
図9】第2の実施形態における待機サブルーチンの動作の概要を示すフローチャートである。
図10】第2の実施形態にかかる工作機械の加工制御方法の一例を示すタイミングチャートである。
【発明を実施するための形態】
【0015】
以下、本発明の代表的な一例による工作機械の加工制御装置及び加工制御方法の実施形態を図面と共に説明する。
【0016】
図1は、本発明の代表的な一例による加工制御装置及びその周辺装置との関連を示すブロック図である。図1に示すように、本発明の代表的な一例による工作機械の加工制御装置100は、加工経路及び非加工経路が含まれる加工プログラムを所定の読込単位ごとに読み込む加工プログラム取得部110と、この加工プログラム取得部110で読み込んだ加工プログラムに基づいて、工作機械10の加工動作を制御する加工制御部120と、加工プログラム取得部110で読み込んだ加工プログラムを順次読み出して加工シミュレーションを行うシミュレーション実行部130と、その加工シミュレーションの結果に基づいて、加工プログラム取得部のバッファ状態を判別するバッファ状態判別部140と、を備える。
【0017】
加工制御装置100は、工作機械10あるいは外部記憶装置20と有線又は通信回線等を介して相互に通信可能に接続され、工作機械10に加工に伴う各種の指令を発するとともに、工作機械10に取り付けられた各種センサからの検出信号を受信する。また、加工制御装置100は、外部記憶装置20から工作機械10での加工に使用される各種データや加工プログラム等を取り込むとともに、必要に応じて上記データや加工プログラムの更新を行う。
【0018】
加工プログラム取得部110は、外部記憶装置20から加工プログラムを逐次受信し、受信した加工プログラムを内蔵する転送バッファ(図示せず)に一時的に蓄積してゆく。これをバッファリングと称する。また、加工プログラム取得部110は、加工制御部120から送られる消去指令に応じて、プログラム運転に使用された分の加工プログラムを転送バッファから削除する。
【0019】
加工制御部120は、蓄積された加工プログラムを転送バッファから順次読み出すとともに、後述するバッファ状態判別部140の判別結果に基づいて加工指令を発することにより、工作機械10を制御する。これをプログラム運転という。また、加工制御部120は、工作機械10から得られたセンサの検出信号に基づくデータをバッファ状態判別部140に転送する。
【0020】
本発明による工作機械の加工制御装置100は、シミュレーション実行部130及びバッファ状態判別部140を備える点が大きな特徴である。シミュレーション実行部130は、加工プログラム取得部110に格納された加工プログラムを読み出して、公知の手法によりバッファリング及びプログラム運転の加工シミュレーションを行う。この加工シミュレーションは、加工プログラムの読込動作を並行して逐次行われても良いし、例えば加工プログラムの加工ブロックが読み込まれるごとに実行されても良い。シミュレーション実行部130で行われた加工シミュレーションの結果は、加工制御部120及びバッファ状態判別部140にそれぞれ転送される。
【0021】
バッファ状態判別部140は、シミュレーション実行部130による加工シミュレーションの結果に基づいて、ある時点におけるプログラム運転により消費された加工プログラムの容量と、バッファリングにより蓄積された加工プログラムの容量とを比較することにより、蓄積された加工プログラムの容量が不足となる状態(バッファ不足と称する)が発生するかどうかを判別する。なお、バッファ状態の判別は、バッファ不足が発生したかどうかに加えて、バッファ不足が発生する位置(加工経路あるいは非加工経路上の位置)を特定する動作を含む。
【0022】
<第1の実施形態>
図2は、本発明による代表的な一例による工作機械の加工制御方法における、第1の実施形態にかかるワークと加工経路との関係を示す平面図である。図2に示すように、第1の実施形態では、断面略C型のワークWに対して、指示点P1~P8を結ぶ加工ブロックN1~N8からなる加工プログラムにより加工制御される。各加工ブロックN1~N8は、工具(図示せず)によりワークWを加工する加工経路L1と工具がワークWから離れて移動する非加工経路L2とを含む。
【0023】
図3は、第1の実施形態にかかる加工プログラムの読込動作の概要を示すフローチャートである。図3に示す加工プログラムの読込動作は、図1に示した加工制御部120からの指令により、所定のクロック周波数ごとに加工プログラム取得部110が実行するものとする。
【0024】
加工プログラムの読込動作においては、まず外部記憶装置20から上記クロック周波数ごとの単位で、加工プログラムの一部が加工プログラム取得部110の転送バッファに読み込まれる(ステップS1)。そして、読み込まれた加工プログラムの一部は、加工プログラム取得部110の転送バッファに蓄積される(ステップS2)。このとき、既に転送バッファに蓄積されていたデータが存在する場合は、ステップS1で新たに読み込まれた加工プログラムの一部を追加して蓄積を行う。
【0025】
続いて、ステップS2でデータを追加したことにより、加工プログラム取得部110の転送バッファの容量がオーバーしたかどうかを判別する(ステップS3)。このとき、転送バッファの容量がオーバーしていると判別された場合、以後の加工を行うための加工プログラムのデータが不足している(例えば、転送バッファを構成する物理的メモリに異常がある等の事象が発生している)として、「バッファ不足」である旨の警告を発し(ステップS4)、読込動作を終了する。
【0026】
一方、ステップS3において、転送バッファの容量がオーバーしていないと判別された場合には、正常に転送バッファに加工プログラムのデータが蓄積されていると判別し、読込開始からの通算読込時間Trを積算する(ステップS5)。次いで、これまでに読み込んだ加工プログラムのデータが既定の単位ブロックの終了位置に達したか、すなわち加工プログラムのデータとして既定の単位ブロックを読み込み終えたかを判別する(ステップS6)。
【0027】
ステップS6において、単位ブロックの読み込みは終了していない、すなわち読み込んだ加工プログラムのデータが既定の単位ブロックの途中であると判別された場合、後述する加工指令動作から転送バッファに蓄積された加工プログラムのデータを消去する指令があったか否かを判別する(ステップS8)。一方、ステップS6において、単位ブロックの読み込みが終了したと判別された場合、上記した通算読込時間Trと関連付けて終了した単位ブロックの番号を意味するブロック数Nnのカウントアップを行う。例えば、第1ブロックを読み込み終えたら、そのデータをブロックN1としてグループ化する。
【0028】
続いて、ステップS8において、加工プログラムのデータに対する消去指令を受けたと判別された場合、後述する加工指令動作において既に読み込んだ加工プログラムのいくつかの単位ブロックについての加工が終了したものとして、転送バッファから実行済みの加工プログラムのデータを消去し(ステップS9)、読込動作を終了する。一方、ステップS8において、消去指令を受けていないと判別された場合には、転送バッファにこれまで読み込んだ加工プログラムのデータを蓄積した状態で、読込動作を終了する。
【0029】
上記のような動作フローを実行することにより、本発明の代表的な一例による加工制御装置100の加工プログラム取得部110の転送バッファには、上記所定のクロック周波数ごとに、通算読込時間Trと対応付けられた加工プログラムのデータが蓄積される。このとき、既定の加工ブロックごとにデータがグループ化されてブロック名が付される。
【0030】
図4は、図3に示した加工プログラムの読込動作と並行して実行される加工制御動作の概要を示すフローチャートである。図4に示す加工指令動作は、図3に示した加工プログラムの読込動作と同様に、加工制御部120からの指令により、所定のクロック周波数ごとに上記読込動作と同期して加工プログラム取得部110が実行するものとする。
【0031】
加工指令動作においては、まず加工プログラム取得部110の転送バッファから、それまでに蓄積された加工プログラムの一部がバッファ状態判別部140に読み込まれる(ステップS11)。そして、加工制御部120において、工作機械が現在加工動作中であるかどうかを判別する(ステップS12)。
【0032】
ステップS12において、現在加工動作中であると判別された場合、バッファ状態判別部140が転送バッファにおけるバッファ不足が発生しているかどうかを判別する(ステップS13)。このときのバッファ不足かどうかを判別する動作は、上述のとおり、シミュレーション実行部130による加工シミュレーションの結果に基づいて、ある時点におけるプログラム運転により消費された加工プログラムの容量と、バッファリングにより蓄積された加工プログラムの容量とを比較することにより行われる。なお、バッファ状態の判別において、通算読込時間Trと加工シミュレーションの結果とに基づいて、バッファ不足が発生する位置(加工経路あるいは非加工経路上の位置)を特定することもできる。
【0033】
ステップS13において、バッファ不足は発生していないと判別された場合、転送バッファに正常に加工プログラムの一部が蓄積されているとして、加工制御部120は通常加工サブルーチンSPを実行して加工指令動作を終了する。一方、ステップS13において、バッファ不足が発生している(あるいは加工中にバッファ不足が発生する可能性がある)と判別された場合、加工経路L1上で加工停止してしまうことを避けるために、加工制御部120は待機サブルーチンSSを実行して加工指令動作を終了する。
【0034】
また、ステップS12において、現在加工動作中ではないと判別された場合、バッファ状態判別部140はステップS11で読み込んだ加工プログラムの一部に非加工経路L2を含む加工ブロックが存在するかどうかを判別する(ステップS14)。このときの判別動作は、転送バッファに蓄積された加工プログラムの一部に対してシミュレーション実行部130が行った加工シミュレーションの結果の基づいて行うことができる。また、加工プログラムとして予め加工経路L1又は非加工経路L2を区別するデータなどを含む場合、そのデータを含むかどうかで判別してもよい。
【0035】
ステップS14において、読み込んだ加工プログラムの一部に非加工経路L2を含む加工ブロックがないと判別された場合、現在の加工停止状態を維持するかあるいは加工を開始するかを判別すべく、加工制御部120は待機サブルーチンSSを実行して加工指令動作を終了する。一方、ステップS14において、非加工経路L2を含む加工ブロックがあると判別された場合には、バッファ状態判別部140が転送バッファにおけるバッファ不足が発生しているかどうかを判別する(ステップS15)。このときのバッファ不足かどうかを判別する動作は、上述したステップS13における判別動作と同様である。
【0036】
ステップS15において、バッファ不足は発生していないと判別された場合、転送バッファに正常に加工プログラムの一部が蓄積されており、かつそのまま加工を再開しても工具が待機し得る非加工経路L2を含む加工ブロックによる加工が実施されるため安全であるとして、加工制御部120は通常加工サブルーチンSPを実行して加工指令動作を終了する。一方、ステップS15において、バッファ不足が発生している(あるいは加工中にバッファ不足が発生する可能性がある)と判別された場合、読み込んだ加工プログラムの一部に含まれる非加工経路L2上で工具が確実に待機(加工停止)するように、加工制御部120は待機サブルーチンSSを実行して加工指令動作を終了する。
【0037】
図5は、図4に示した通常加工サブルーチンの動作の概要を示すフローチャートである。図5に示す通常加工サブルーチンは、図4の加工指令動作のフローチャートで示したとおり、現在加工中であるかどうかに関わらず、読み込んだ加工プログラムを用いてシミュレーション実行部130が加工シミュレーションを行った結果、バッファ状態判別部140においてバッファ不足が発生しないと判別されたことを前提として実行される動作である。
【0038】
すなわち、図5に示すように、加工制御部120が、読み込み済みの加工プログラムの一部のデータに基づいて、工作機械に加工指令を発する(ステップSP1)。続いて、加工制御部120は、既に加工を終えた指令済みの加工プログラムについて、転送バッファから消去する消去指令を発して(ステップSP2)、サブルーチンを終了する。
【0039】
なお、図5に示すフローチャートでは、ステップSP1の加工指令の後にそのままステップSP2の消去指令を発する場合が例示されているが、例えばステップSP1とステップSP2との間に図3のステップS6として示したような単位ブロックの加工が終了したかどうかの判別動作を追加し、単位ブロックの加工指令が終了した場合だけ消去指令を発するように構成してもよい。これにより、加工ブロックごとに加工指令及び消去指令が行われるため、データ消去に伴う加工制御部120の負荷を低減することができる。
【0040】
図6は、図4に示した待機サブルーチンの動作の概要を示すフローチャートである。図6に示す待機サブルーチンは、図4の加工指令動作のフローチャートで示したとおり、現在加工中であるかどうかに関わらず、読み込んだ加工プログラムを用いてシミュレーション実行部130が加工シミュレーションを行った結果、バッファ状態判別部140においてバッファ不足が発生したと判別された場合、あるいは加工停止中に読み込んだ加工プログラムにおいて非加工経路L2を含む加工ブロックがない場合に実行される動作である。
【0041】
すなわち、図6に示すように、まず工作機械10が現在加工動作の実行中かどうかを判別する(ステップSS1)。ステップSS1において、現在加工動作の実行中であると判別された場合、現在の加工位置(工具位置)が非加工経路L2上であるかどうかを判別する(ステップSS2)。このとき、現在の工具位置がどの位置にあるかの判別動作は、例えば工具の位置制御における座標値と上記した加工シミュレーションで得られた各加工経路上の座標値とを比較したりする手法や、あるいは工作機械10の工具保持機構に工具への負荷を測定するトルクセンサ等の負荷センサ(図示せず)を設け、そのセンサ値に基づいて工具とワークとの接触を検知する手法等で実行することができる。
【0042】
ここで、ステップSS1からステップSS2に至る動作は、例えば図4のフローチャートにおいて、ステップS12からステップS13を経て待機サブルーチンSSに至った場合に該当する。この場合、加工中にバッファ不足が発生している(あるいは加工中にバッファ不足が発生する可能性がある)ため、加工経路L1上で加工停止してしまう可能性がある。そこで、ステップSS2において現在の工具位置が非加工経路L2上でない(すなわち加工経路L1上である)と判別された場合、加工制御部120は直ちに工具の強制退避指令を発して(ステップSS3)、サブルーチンを終了する。これにより、バッファ不足により意図しない加工停止が生じて、ワークにカッターマーク等が付くことを抑制できる。
【0043】
一方、ステップSS2において、現在の工具位置が非加工経路L2上であると判別された場合、工具とワークとは接触していないと判断できるため、その位置で加工停止する指令を発して(ステップSS4)、サブルーチンを終了する。これにより、バッファ不足が発生する場合でも安全に加工を停止できる。
【0044】
また、ステップSS1において、現在加工動作の実行中でないと判別された場合、現在の工具位置が非加工経路L2を含む加工ブロック内にあるかどうかをさらに判別する(ステップSS5)。このときの判別動作は、例えば工具の位置制御における座標値が上記した加工シミュレーションで得られた各加工ブロックの範囲内にあるかどうかを判断することにより実行することができる。
【0045】
ステップSS5において、現在の工具位置が非加工経路L2を含む加工ブロック内にないと判別された場合、加工制御部120は工具が安全な位置に停止しているものと認識して加工停止指令を発し(ステップSS4)、加工停止状態を維持してサブルーチンを終了する。この動作は、例えば図4のフローチャートにおいて、ステップS12からステップS14を経て待機サブルーチンSSに至った場合に該当する。
【0046】
一方、ステップSS5において、現在の工具位置が非加工経路L2を含む加工ブロック内にあると判別された場合、加工制御部120は現在の工具位置が非加工経路L2上にあるかどうかをさらに判別する(ステップSS6)。このときの判別動作はステップSS2の場合と同様である。
【0047】
ここで、ステップSS6において、現在の工具位置が非加工経路L2上であると判別された場合、工具とワークとは接触していないと判断できるため、その位置で加工停止する指令を発して(ステップSS4)、サブルーチンを終了する。一方、現在の工具位置が非加工経路L2上にないと判別された場合、同一の加工ブロック内に非加工経路L2が存在するため、加工制御部120は加工を非加工経路L2に至るまで進めるべく、読み込み済みの加工プログラムのデータによる加工の継続指令を発して(ステップSS7)、サブルーチンを終了する。
【0048】
図7は、第1の実施形態にかかる工作機械の加工制御方法の一例を示すタイミングチャートである。ここで、図7においては、横軸を経過時間とし、加工ブロックN1~N8についてそれらの加工を実行する加工プログラムの読込時間と実際の加工時間とを示している。なお、各加工ブロックの加工の実行時間は図2に示されたものを用いており、加工ブロック中に非加工経路L2を含むものに下線を付して示している。また、各加工ブロックに対する加工プログラムの読込時間(転送時間)は1secで一定であるものとする。
【0049】
図7に示すように、図3に示した加工プログラムの読込動作のフローチャートにより、加工プログラム取得部110が外部記憶装置20から加工ブロックN1~N8までのすべての加工プログラムを読み込む総読込時間は8secとなる。これに対して、図4図6に示した加工制御動作のフローチャートにより、仮に加工ブロックN1~N8の加工を連続的に実行しようとした場合、積算した総加工時間は4.3secとなる。
【0050】
本発明による加工制御動作が開始されると、まず加工プログラム取得部110が外部記憶装置20から加工ブロックN1の加工プログラムのデータを読み込み始める。このとき、シミュレーション実行部130で行われた加工シミュレーションにより、加工ブロックN1及びN2の加工時間(実行時間)はそれぞれ1.0sec及び0.1secで、加工ブロックN1とN2の読込時間が合計2.0secであるため、図4に示したフローチャートのステップS13において、バッファ不足が発生したと判別され、図6に示した待機サブルーチンSSに移行する。
【0051】
待機サブルーチンSSでは、ステップSS1からステップSS5を経由してステップSS4に至る経路を通る動作が実行される。このように、加工シミュレーションの結果として転送バッファの蓄積データのバッファ不足が発生すると判別された場合には、バッファ不足が発生する位置より手前の非加工経路上で加工を停止する制御を行う。その結果として、加工ブロックN2は非加工経路L2であるため、実際の加工ブロックN1の加工は、加工ブロックN1分の加工プログラムを読み込んだ直後の1.0~2.0secの間に実行され、工具が加工ブロックN2で停止する。
【0052】
続いて、加工ブロックN3以降の加工制御動作に移ると、図2に示すように、加工ブロックN3~N5に至るまでは、ほぼ全体が加工経路L1で構成されている。このため、これらの加工ブロックを連続的に加工しようとした場合、その中間位置でバッファ不足が生じると、加工経路L1上で加工停止してしまうことになる。
【0053】
そこで、図7に示すように、工具が加工ブロックN2にある間に、加工プログラム取得部110がN3~N5までの加工プログラムを蓄積できるまで待機するように制御する。すなわち、加工ブロックN5の加工プログラムの読み込みを終了するのが5.0sec後であるのに対して加工ブロックN2~N4の加工時間が1.1secかかることから、例えば図4のフローのステップS15においてバッファ不足が発生しないと判別されるまで(加工ブロックN5の実行後でもバッファ不足が発生しないと判断されるまで)、1.9secを加工ブロックN2で待機する。
【0054】
上記した加工ブロックN2での待機中に、加工プログラム取得部110は加工ブロックN4の途中まで(3.9secまで)のデータを読み込んでいるため、当該3.9sec後に加工ブロックN2からの加工を再開した場合であっても、その加工中に加工ブロックN5までの加工プログラムのデータの読み込みが終了する。その結果として、加工ブロックN2~N5までの加工は2.9~5.8secの間に実行され、工具が加工ブロックN6で待機する。
【0055】
同様に、加工ブロックN6の加工時間が0.1secなのに対して、上記した加工ブロックN5までの加工終了時刻は5.8sec後であるから、加工ブロックN6のための加工プログラムを読み込んでいる間に加工を同時進行するとバッファ不足が生じることになる。そこで、加工ブロックN6~N8に至る加工の実行中にバッファ不足を生じないように、加工ブロックN6において工具を待機させる。
【0056】
すなわち、加工ブロックN6~N7までの積算加工時間は1.1secであるため、加工ブロックN8までの加工プログラムの読み込みが終了する8.0sec後に加工ブロックN7の加工がちょうど終了するように、例えば1.1secだけ加工ブロックN6で待機する。これにより、加工ブロックN7の加工が終了した時点で加工ブロックN8の加工プログラムの読み込みが終了しているため、8.0sec後から即座に加工ブロックN8の加工動作(工具の移動)を実行でき、結果として、加工ブロックN8の読み込み終了から加工までの最短の時間である8.3secで加工制御動作を完了することができる。
【0057】
以上のように、本発明の第1の実施形態による工作機械の加工制御装置及び加工制御方法によれば、逐次読み込んだ加工プログラムのデータを用いた加工シミュレーションの結果に基づいて、加工プログラムのバッファ状態を判別し、その判別結果に応じてバッファ不足が発生する位置より手前の非加工経路上で加工を停止するようにしたため、工作機械を自動で加工制御する上で、加工プログラムに特別な追加点を設けることなく、加工後の歩留まりを低下させずにバッファリング不足の状態に対応できる。
【0058】
<第2の実施形態>
図8は、本発明による代表的な一例による工作機械の加工制御方法における、第2の実施形態にかかるワークと加工経路との関係を示す平面図である。図8に示すように、第2の実施形態では、第1の実施形態の場合と同様に、断面略C型のワークWに対して、指示点P1~P8を結ぶ加工ブロックN1~N8からなる加工プログラムにより加工制御される。また、各加工ブロックN1~N8は、工具(図示せず)によりワークWを加工する加工経路L1と工具がワークWから離れて移動する非加工経路L2とを含む。
【0059】
なお、第2の実施形態においては、図1に示した加工制御装置及びその周辺装置との関連を示すブロック図や、図3図5に示した加工プログラムの読込動作及び加工制御動作のフローチャート、並びに通常加工サブルーチンのフローチャートについては第1の実施形態と共通の構成を採用し得るため、これらの繰り返しの説明は省略する。また、第2の実施形態の説明においても、第1の実施形態で説明したものと同一あるいは共通の構成を用い得るものについては、同一の符号を付して再度の説明を省略する。
【0060】
図2に示した第1の実施形態では、例えば加工ブロックN1、N3、N5又はN7のように、当該加工ブロックの一端あるいは両端に非加工経路L2を含む加工ブロックにより構成された場合を説明したが、第2の実施形態では、図8に示すように、例えば加工ブロックN5又はN7のように、加工経路L1の中間に非加工経路L2を含む加工ブロックにより構成された場合を説明する。すなわち、第2の実施形態による加工制御方法は、加工ブロックの中間に非加工領域Aを含むようなワークに対する加工を実施するものである。
【0061】
図9は、第2の実施形態における待機サブルーチンの動作の概要を示すフローチャートである。図9に示す待機サブルーチンは、第1の実施形態の場合と同様に、現在加工中であるかどうかに関わらず、読み込んだ加工プログラムを用いてシミュレーション実行部130が加工シミュレーションを行った結果、バッファ状態判別部140においてバッファ不足が発生したと判別された場合、あるいは加工停止中に読み込んだ加工プログラムにおいて非加工経路L2を含む加工ブロックがない場合に実行される動作である。
【0062】
すなわち、図9に示すように、まず工作機械10が現在加工動作の実行中かどうかを判別する(ステップSS1)。ステップSS1において、現在加工動作の実行中であると判別された場合、現在の加工位置(工具位置)で工具がワークと接触しているかどうかを判別する(ステップSS2a)。このとき、工具がワークと接触しているかどうかの判別動作は、例えば工作機械10の工具保持機構に工具への負荷を測定するトルクセンサ等の負荷センサ(図示せず)を設け、そのセンサ値に基づいて工具とワークとの接触を検知する手法で実行することができる。
【0063】
そして、図6で示した場合と同様に、ステップSS2aにおいて工具がワークと接触していると判別された場合、加工制御部120は直ちに工具の強制退避指令を発して(ステップSS3)、サブルーチンを終了する。これにより、バッファ不足により意図しない加工停止が生じて、ワークにカッターマーク等が付くことを抑制できる。
【0064】
一方、ステップSS2aにおいて、工具がワークと接触していないと判別された場合、本来ワークへの加工中であるにも関わらず、実際の加工が行われていないと判断できるため、その位置で加工停止する指令を発して(ステップSS4)、サブルーチンを終了する。これにより、加工制御動作にトラブルがあった位置を把握しやすくなる。
【0065】
また、ステップSS1において、現在加工動作の実行中でないと判別された場合、現在の工具位置が非加工経路L2を含む加工ブロック内にあるかどうかをさらに判別する(ステップSS5)。ステップSS5において、現在の工具位置が非加工経路L2を含む加工ブロック内にないと判別された場合、第1の実施形態の場合と同様に、加工制御部120は工具が安全な位置に停止しているものと認識して加工停止指令を発し(ステップSS4)、加工停止状態を維持してサブルーチンを終了する。
【0066】
一方、ステップSS5において、現在の工具位置が非加工経路L2を含む加工ブロック内にあると判別された場合、加工制御部120は工具がワークと接触しているかどうかをさらに判別する(ステップSS6a)。このときの判別動作はステップSS2aの場合と同様である。そして、ステップSS6aにおいて、工具がワークと接触していると判別された場合、現在の工具位置が非加工経路L2を含む加工ブロック内の加工経路L1上にあると判断できるため、加工制御部120は工具を非加工経路L2に至るまで進めるべく、読み込み済みの加工プログラムのデータによる加工の継続指令を発して(ステップSS7)、サブルーチンを終了する。
【0067】
一方、ステップSS6aにおいて、工具がワークと接触していないと判別された場合、加工制御部120は工具を非加工経路L2の終端に至るまで進めるべく、読み込み済みの加工プログラムのデータを用いて当該非加工経路L2上で工具を空移動(ワークへの加工を伴わない移動)させる指令を発して(ステップSS8)、サブルーチンを終了する。これにより、同一の加工ブロック内に加工経路L1及び非加工経路L2が混在する、すなわち図8に示した非加工領域Aを含むような加工を行う場合であっても、加工時間のロスを最小限にして加工制御動作を実行できる。
【0068】
図10は、第2の実施形態にかかる工作機械の加工制御方法の一例を示すタイミングチャートである。ここで、図10においても、第1の実施形態で示したものと同様に、横軸を経過時間とし、加工ブロックN1~N8についてそれらの加工を実行する加工プログラムの読込時間と実際の加工時間とを示している。なお、各加工ブロックの加工の実行時間は図2に示されたものを用いており、加工ブロック中に非加工経路L2を含むものに下線を付して示している。また、各加工ブロックに対する加工プログラムの読込時間(転送時間)は1secで一定であるものとする。
【0069】
図10に示すように、図3に示した加工プログラムの読込動作のフローチャートにより、加工プログラム取得部110が外部記憶装置20から加工ブロックN1~N8までのすべての加工プログラムを読み込む総読込時間は8secとなる。これに対して、図4図5及び図9に示した加工制御動作のフローチャートにより、仮に加工ブロックN1~N8の加工を連続的に実行しようとした場合、積算した総加工時間は4.0secとなる。
【0070】
本発明による加工制御動作が開始されると、まず加工プログラム取得部110が外部記憶装置20から加工ブロックN1の加工プログラムのデータを読み込み始める。このとき、シミュレーション実行部130で行われた加工シミュレーションにより、加工ブロックN1及びN2の加工時間(実行時間)はそれぞれ1.0sec及び0.1secで、加工ブロックN1とN2の読込時間が合計2.0secであるため、図4に示したフローチャートのステップS13において、バッファ不足が発生したと判別され、図9に示した待機サブルーチンSSに移行する。
【0071】
待機サブルーチンSSでは、ステップSS1からステップSS5を経由してステップSS4に至る経路を通る動作が実行される。このように、加工シミュレーションの結果として転送バッファの蓄積データのバッファ不足が発生すると判別された場合には、第1の実施形態の場合と同様に、バッファ不足が発生する位置より手前の非加工経路上で加工を停止する制御を行う。
【0072】
その結果として、実際の加工ブロックN1の加工は、加工ブロックN1分の加工プログラムを読み込んだ直後の1.0~2.0secの間に実行される。このとき、この加工ブロックN1の加工中に加工ブロックN2の読み込みも終了するため、加工ブロックN2に対応する工具の移動が2.0~2.1secの間に行われる。そして、工具が加工ブロックN2の終端で停止する。
【0073】
続いて、加工ブロックN3以降の加工制御動作に移ると、図8に示すように、加工ブロックN3~N4に至るまでは、ほぼ全体が加工経路L1で構成され、加工ブロックN5に非加工経路L2が含まれる。このため、これらの加工ブロックを連続的に加工しようとした場合、加工ブロックN3~N4の加工中にバッファ不足が生じると、加工経路L1上で加工停止してしまうことになる。
【0074】
そこで、図10に示すように、工具が加工ブロックN2にある間に、加工プログラム取得部110がN3~N5までの加工プログラムを蓄積できるまで待機するように制御する。すなわち、加工ブロックN5の加工プログラムの読み込みを終了するのが5.0sec後であるのに対して加工ブロックN3~N4の加工時間が1.0secかかることから、例えば図4のフローのステップS15においてバッファ不足が発生しないと判別されるまで(加工ブロックN5の実行後でもバッファ不足が発生しないと判断されるまで)、1.9secを加工ブロックN2の終端で待機する。
【0075】
上記した加工ブロックN2の終端での待機中に、加工プログラム取得部110は加工ブロックN4の終端まで(4.0secまで)のデータを読み込んでいるため、当該4.0sec後に加工ブロックN3からの加工を再開した場合であっても、その加工中に加工ブロックN5までの加工プログラムのデータの読み込みが終了する。その結果として、加工ブロックN3~N5までの加工は4.0~5.0secの間に実行される。
【0076】
続いて、加工ブロックN5の加工が開始される。このとき、加工ブロックN5には中間に非加工経路L2が含まれることがわかっているため、加工シミュレーションの結果でその加工の中間でバッファ不足が発生したとしても、当該非加工経路L2で待機することができる。そこで、加工ブロックN4の加工が終了した5.0sec後から、加工ブロックN5の加工が継続される。
【0077】
一方、加工ブロックN6~N8の加工プログラムの読み込みは同時に並行して実行される。このとき、加工ブロックN6の加工時間が0.2secなのに対して、仮に加工ブロックN5までの終端まで加工を行った場合の終了時刻は5.6sec後であるから、加工ブロックN6のための加工プログラムを読み込んでいる間に加工ブロックN5の加工を終了すると、非加工経路である加工ブロックN6でバッファ不足が生じることになる。そこで、加工ブロックN6~N8に至る加工の実行中にバッファ不足を生じないように、加工ブロックN5の非加工経路L2において工具を待機させる。
【0078】
すなわち、加工ブロックN5の途中までは図4に示した加工制御動作のフローチャートにおいて通常加工サブルーチンSPによる加工を実施するが、それ以後はバッファ不足が発生するとして待機サブルーチンSSに移行する。そして、図9で示した待機サブルーチンSSではステップSS1からステップSS5に移行して、加工ブロックN5の非加工経路L2の終端まで工具を移動させて待機させる。このとき、待機サブルーチンSSにおいて、工具とワークとが接触しているかどうかを判別しているため、工具とワークとの接触がない非加工経路L2で確実に待機させることができる。
【0079】
そして、加工ブロックN6~N7までの積算加工時間は1.0secであるため、加工ブロックN8までの加工プログラムの読み込みが終了する8.0sec後に加工ブロックN7の加工がちょうど終了するように、例えば1.4secだけ加工ブロックN5の非加工経路L2上で待機し、バッファ不足が解消したと判断された時点で加工ブロックN5の残りの部分から加工を再開する。これにより、加工ブロックN7の加工が終了した時点で加工ブロックN8の加工プログラムの読み込みが終了しているため、8.0sec後から即座に加工ブロックN8の加工動作(工具の移動)を実行でき、結果として、加工ブロックN8の読み込み終了から加工までの最短の時間である最短の8.3secで加工制御動作を完了することができる。
【0080】
以上のように、本発明の第2の実施形態による工作機械の加工制御装置及び加工制御方法によれば、工具とワークとが接触しているかどうかを検知して、工具の待機箇所を工具とワークとの接触がない非加工経路上に配置できるため、ワークにカッターマーク等を生じさせるのを抑制できるとともに、加工後の歩留まりを低下させずにバッファリング不足の状態に対応できる。
【0081】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。本発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。
【符号の説明】
【0082】
10 工作機械
20 外部記憶装置
100 加工制御装置
110 加工プログラム取得部
120 加工制御部
130 シミュレーション実行部
140 バッファ状態判別部
N1、N2、N3、N4、N5、N6、N7、N8 加工ブロック
L1 加工経路
L2 非加工経路
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10