(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-01
(45)【発行日】2024-04-09
(54)【発明の名称】制御装置、及び制御方法
(51)【国際特許分類】
G05B 19/4093 20060101AFI20240402BHJP
G05B 19/4155 20060101ALI20240402BHJP
【FI】
G05B19/4093 H
G05B19/4155 Z
(21)【出願番号】P 2022516989
(86)(22)【出願日】2021-04-14
(86)【国際出願番号】 JP2021015410
(87)【国際公開番号】W WO2021215320
(87)【国際公開日】2021-10-28
【審査請求日】2022-12-19
(31)【優先権主張番号】P 2020075444
(32)【優先日】2020-04-21
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】尾関 真一
【審査官】荻野 豪治
(56)【参考文献】
【文献】特開2016-078207(JP,A)
【文献】特開2001-014012(JP,A)
【文献】特開2009-181174(JP,A)
【文献】特開平09-230921(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/4093
G05B 19/4155
(57)【特許請求の範囲】
【請求項1】
加工プログラムに基づいて工作機械を制御する制御装置であって、
前記加工プログラムに含まれるブロックのうち、前記工作機械を停止させる用途に応じて、前記工作機械における工具とワークとが所定の状態となる前記加工プログラムのブロックを停止位置候補として抽出する抽出部
と、
所定のコードを含むブロック毎に前記工具と前記ワークとの距離を算出し、算出した前記距離と予め設定された閾値との比較に基づいて前記工具と前記ワークとの離れ度合いを決定する算出部と、を備え、
前記工作機械を停止させる用途は、要求される前記工具と前記ワークとの離れ度合いがそれぞれ異なる複数の用途を含み、
前記抽出部は、前記用途と前記離れ度合いとに応じて前記停止位置候補を抽出する
制御装置。
【請求項2】
前記停止位置候補として抽出された前記加工プログラムのブロックの各々を、前記用途又は前記離れ度合いに応じて表示部に強調表示する表示制御部をさらに備える、請求項
1に記載の制御装置。
【請求項3】
前記加工プログラムが実行されている場合、前記加工プログラムの複数のブロックを先読みするプログラム先読部と、
前記抽出部により前記停止位置候補として抽出された前記加工プログラムのブロックに休止命令を付加する動作制御部と、をさらに備え、
前記抽出部は、前記プログラム先読部により先読みされた前記複数のブロックのうち、前記用途又は前記離れ度合いに応じたブロックで、且つ実行しているブロックから最も近いブロックを前記停止位置候補として抽出する、請求項
1又は請求項
2に記載の制御装置。
【請求項4】
加工プログラムに基づいて工作機械を制御する制御装置の制御方法であって、
前記加工プログラムに含まれるブロックのうち、前記工作機械を停止させる用途に応じて、前記工作機械における工具とワークとが所定の状態となる前記加工プログラムのブロックを停止位置候補として抽出する抽出ステップ
と、
所定のコードを含むブロック毎に前記工具と前記ワークとの距離を算出し、算出した前記距離と予め設定された閾値との比較に基づいて前記工具と前記ワークとの離れ度合いを決定する算出ステップと、を備え、
前記工作機械を停止させる用途は、要求される前記工具と前記ワークとの離れ度合いがそれぞれ異なる複数の用途を含み、
前記抽出ステップは、前記用途と前記離れ度合いとに応じて前記停止位置候補を抽出する
制御方法。
【請求項5】
前記停止位置候補として抽出された前記加工プログラムのブロックの各々を、前記用途又は前記離れ度合いに応じて表示部に強調表示する表示制御ステップをさらに備える、請求項
4に記載の制御方法。
【請求項6】
前記加工プログラムが実行されている場合、前記加工プログラムの複数のブロックを先読みするプログラム先読ステップと、
前記抽出ステップにより前記停止位置候補として抽出された前記加工プログラムのブロックに休止命令を付加する動作制御ステップと、をさらに備え、
前記抽出ステップは、先読みされた前記複数のブロックのうち、前記用途又は前記離れ度合いに応じたブロックで、且つ実行しているブロックから最も近いブロックを前記停止位置候補として抽出する、請求項
4又は請求項
5に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置、及び制御方法に関する。
【背景技術】
【0002】
工場では、加工動作している工作機械に対して、ボーリング工具の径調整、工具へのペースト塗布、又は切粉の除去を行うために、実行している加工プログラムを途中で停止させる必要がある。
加工プログラムを途中で停止させるための手段として、「プログラムストップ(M00)」又は「オプショナルストップ(M01)」の休止命令を加工プログラムに挿入する方法が知られている。
この点、自動運転の休止が必要になった場合に、加工プログラムの未加工ブロックの中から安全と思われる指令ブロックが実行された場合や、工作機械の動作状態が非切削状態等の状態となった場合に、休止指令を加工プログラムに挿入することなく、自動運転を休止させる技術が知られている。例えば、特許文献1参照。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
工具とワークが接触している際に停止させると、工具及び/又はワークの損傷に繋がる。しかしながら、上述のボーリング工具の径調整、工具へのペースト塗布、及び切粉の除去等を行うために、休止命令を記載する加工プログラムの箇所は、単純に切削と位置決めの狭間で停止してよいわけではない。例えば、ボーリング工具の径調整では、工具とワークとが十分離れている必要がある。また、工具へのペースト塗布では、工具とワークとがある程度離れている必要があるが、ボーリング工具の径調整を行う場合ほど離れている必要はない。また、切粉の除去では、少なくとも工具とワークとが非接触であればよい。
しかしながら、工具とワークとの位置関係を判断して、工作機械を停止させる用途に応じて加工プログラムのどこに休止命令を記載するかを判断することは、作業者に負担がかかる。
【0005】
そこで、用途に応じて工作機械を停止させるために、加工プログラムにおいて工具とワークとの位置関係を容易に把握することが望まれている。
【課題を解決するための手段】
【0006】
(1)本開示の制御装置の一態様は、加工プログラムに基づいて工作機械を制御する制御装置であって、前記加工プログラムに含まれるブロックのうち、前記工作機械を停止させる用途に応じて、前記工作機械における工具とワークとが所定の状態となる前記加工プログラムのブロックを停止位置候補として抽出する抽出部を備える。
【0007】
(2)本開示の制御方法の一態様は、加工プログラムに基づいて工作機械を制御する制御装置の制御方法であって、前記加工プログラムに含まれるブロックのうち、前記工作機械を停止させる用途に応じて、前記工作機械における工具とワークとが所定の状態となる前記加工プログラムのブロックを停止位置候補として抽出する抽出ステップを備える。
【発明の効果】
【0008】
一態様によれば、用途に応じて工作機械を停止させるために、加工プログラムにおいて工具とワークとの位置関係を容易に把握することができる。
【図面の簡単な説明】
【0009】
【
図1】第1実施形態に係る制御システムの機能的構成例を示す機能ブロック図である。
【
図3A】
図2の加工プログラムの外形加工におけるXY平面上の工具の軌道の一例を示す図である。
【
図3B】
図2の加工プログラムの外形加工におけるXZ平面上の工具の軌道の一例を示す図である。
【
図4A】
図2の加工プログラムの穴あけ加工におけるXY平面上の工具の軌道の一例を示す図である。
【
図4B】
図2の加工プログラムの穴あけ加工におけるXZ平面上の工具先端の軌道の一例を示す図である。
【
図7】工具へのペースト塗布が選択された場合の加工プログラムの強調表示の一例を示す図である。
【
図8】離れ度合いに応じた加工プログラムの強調表示の一例を示す図である。
【
図9】制御装置の表示処理について説明するフローチャートである。
【
図10】第2実施形態に係る制御システムの機能的構成例を示す機能ブロック図である。
【
図11】制御装置の動作制御処理について説明するフローチャートである。
【発明を実施するための形態】
【0010】
以下、第1実施形態について図面を用いて説明する。ここでは、外形加工と穴あけ加工を含む加工プログラムを例示する。なお、本発明は、これら外形加工と穴あけ加工とに限定されず、上記以外の加工を含む加工プログラムについても適用可能である。
<第1実施形態>
図1は、第1実施形態に係る制御システムの機能的構成例を示す機能ブロック図である。
図1に示すように、制御システム1は、工作機械10、及び制御装置20を有する。
【0011】
工作機械10、及び制御装置20は、図示しない接続インタフェースを介して互いに直接接続されてもよい。なお、工作機械10、及び制御装置20は、LAN(Local Area Network)等のネットワークを介して相互に接続されていてもよい。この場合、工作機械10、及び制御装置20は、かかる接続によって相互に通信を行うための図示しない通信部を備えてもよい。
なお、制御装置20は、工作機械10に含まれてもよい。
【0012】
工作機械10は、当業者にとって公知の工作機械であり、制御装置20からの動作指令に基づいて動作する。
【0013】
<制御装置20>
制御装置20は、当業者にとって公知の数値制御装置である。制御装置20は、制御装置20に含まれるタッチパネル等の入力装置(図示しない)を介して受け付けた作業者からの指示、又は実行している加工プログラムに基づいて動作指令を生成し、生成した動作指令を工作機械10に送信する。これにより、制御装置20は、工作機械10の動作を制御する。
【0014】
図1に示すように、制御装置20は、制御部210、表示部220、及び記憶部230を有する。また、制御部210は、プログラム編集部211、算出部212、抽出部213、及び表示制御部214を有する。また、記憶部230は、加工プログラム231及び距離テーブルDTを記憶する。ここで、加工プログラム231としては、後述するように、
図2に記載の加工プログラムを例示して説明する。
【0015】
表示部220は、LCD(Liquid Crystal Display)等の表示装置であり、後述するプログラム編集部211により編集される加工プログラム231や、制御装置20により実行される加工プログラム231を表示する。
【0016】
記憶部230は、ROM(Read Only Memory)やHDD(Hard Disk Drive)等であり、各種の制御用プログラムとともに、加工プログラム231及び距離テーブルDTを記憶してもよい。
加工プログラム231は、例えば、CAD/CAM装置等の外部装置(図示しない)から取得されたものでもよく、制御装置20において作業者により作成されたものでもよい。
図2は、加工プログラム231の一例を示す図である。
図2の加工プログラム231は、最初のシーケンス番号(1)から(11)のブロックで外形加工を行う。なお、工作機械10に含まれる主軸(図示しない)には、トリミング工具(例えば、工具番号T01)が取り付けられている。
図3Aは、
図2の加工プログラム231の外形加工におけるXY平面上の工具の軌道の一例を示す図である。
図3Bは、
図2の加工プログラム231の外形加工におけるXZ平面上の工具の軌道の一例を示す図である。なお、
図3A及び
図3Bの括弧書きの数字は、加工プログラム231におけるシーケンス番号を示し、工具の移動の順番を示す。また、加工対象のワークWは、例えば、縦120mm、横80mm、高さ25mmの大きさを有する。
【0017】
加工プログラム231は、外形加工の後、シーケンス番号(12)及び(13)でトリミング工具からドリル工具(例えば、工具番号T02)に交換し、シーケンス番号(14)から(20)で穴あけ加工を行う。
図4Aは、
図2の加工プログラム231の穴あけ加工におけるXY平面上の工具の軌道の一例を示す図である。
図4Bは、
図2の加工プログラム231の穴あけ加工におけるXZ平面上の工具先端の軌道の一例を示す図である。なお、
図4A及び
図4Bの括弧書きの数字は、加工プログラム231におけるシーケンス番号を示し、工具の移動の順番を示す。
【0018】
距離テーブルDTは、
図2の加工プログラム231に基づいて後述する算出部212により算出された、例えば、G00の所定のコードを含むシーケンス番号のブロックにおける工具とワークWとの距離等を記憶する。なお、距離テーブルDTについては後述する。
【0019】
<制御部210>
制御部210は、CPU(Central Processing Unit)、ROM、RAM(Random Access Memory)、CMOS(Complementary Metal-Oxide-Semiconductor)メモリ等を有し、これらはバスを介して相互に通信可能に構成される、当業者にとって公知のものである。
CPUは制御装置20を全体的に制御するプロセッサである。CPUは、ROMに格納されたシステムプログラム及びアプリケーションプログラムを、バスを介して読み出し、前記システムプログラム及びアプリケーションプログラムに従って制御装置20全体を制御する。これにより、
図1に示すように、制御部210が、プログラム編集部211、算出部212、抽出部213、及び表示制御部214の機能を実現するように構成される。RAMには一時的な計算データや表示データ等の各種データが格納される。また、CMOSメモリは図示しないバッテリでバックアップされ、制御装置20の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。
【0020】
プログラム編集部211は、例えば、制御装置20に含まれるキーボードやタッチパネル等の入力装置(図示しない)を介して受け付けた作業者の入力操作に基づいて、表示部220に表示された加工プログラム231を編集する。
具体的には、プログラム編集部211は、例えば、作業者の入力操作に基づいて、ボーリング工具の径調整、工具へのペースト塗布、又は切粉の除去の用途に応じて加工プログラム231に「M00」又は「M01」の休止命令を挿入する。
【0021】
算出部212は、加工プログラム231に含まれるG00の所定のコードブロック毎に工具とワークWとの距離を算出し、算出した距離と予め設定された閾値との比較に基づいて工具とワークとの離れ度合いを決定する。
例えば、
図2の加工プログラム231において、シーケンス番号(1)から(3)のブロックは、G00の早送りの所定のコードを含む。そして、シーケンス番号(3)のブロックのG00による早送りの終了時点の座標が、外形加工を開始するシーケンス番号(4)のブロックのG01による切削加工の開始座標となる。すなわち、シーケンス番号(4)からシーケンス番号(8)までのブロックでは外形加工により工具とワークWとが接触する。
そこで、算出部212は、例えば、シーケンス番号(3)のブロックの終了時点の座標(x,y,z)(=(60,30,5))をワークWの位置の近似値として、シーケンス番号(3)のブロックの終了時点の座標に対するシーケンス番号(1)から(3)のブロックそれぞれにおける終了時点の座標との距離を、工具とワークWとの距離として算出する。
具体的には、
図3A及び
図3Bに示すように、例えば、シーケンス番号(1)のブロックにおける終了時点の座標(x,y,z)が(0,0,700)であることから、算出部212は、シーケンス番号(3)のブロックの終了時点の座標に対するシーケンス番号(1)のブロックの終了時点の座標との距離、sqrt((60-0)
2+(30-0)
2+(5-700)
2)=698.2(mm)を、工具とワークWとの距離Dとして算出する。また、シーケンス番号(2)のブロックの終了時点の座標(x,y,z)が(0,0,5)であることから、算出部212は、シーケンス番号(3)のブロックの終了時点の座標に対するシーケンス番号(2)のブロックの終了時点の座標との距離、sqrt((60-0)
2+(30-0)
2+(5-5)
2)=67.1(mm)を、工具とワークWとの距離Dとして算出する。また、算出部212は、シーケンス番号(3)のブロックの終了時点の座標に対するシーケンス番号(3)のブロックの終了時点の座標との距離、sqrt((60-60)
2+(30-30)
2+(5-5)
2)=0(mm)を、工具とワークWとの距離Dとして算出する。
【0022】
次に、
図2の加工プログラム231において、シーケンス番号(8)のブロックの終了時点の座標(x,y,z)(=(50,40,-27))が、シーケンス番号(9)のブロックのG00の早送りの移動開始の座標となる。そこで、算出部212は、例えば、シーケンス番号(8)のブロックの終了時点の座標をワークWの位置の近似値として、シーケンス番号(8)のブロックの終了時点の座標に対するシーケンス番号(8)から(11)のブロックそれぞれにおける終了時点の座標との距離を、工具とワークWとの距離として算出する。
すなわち、算出部212は、シーケンス番号(8)のブロックの終了時点の座標に対するシーケンス番号(8)のブロックの終了時点の座標との距離、sqrt((50-50)
2+(40-40)
2+(-27-(-27))
2)=0(mm)を、工具とワークWとの距離Dとして算出する。また、シーケンス番号(9)のブロックの終了時点の座標(x,y,z)が(50,40,5)であることから、算出部212は、シーケンス番号(8)のブロックの終了時点の座標に対するシーケンス番号(9)のブロックの終了時点の座標との距離、sqrt((50-50)
2+(40-40)
2+(-27-5)
2)=32(mm)を、工具とワークWとの距離Dとして算出する。また、シーケンス番号(10)のブロックの終了時点の座標(x,y,z)が(0,0,5)であることから、算出部212は、シーケンス番号(8)のブロックの終了時点の座標に対するシーケンス番号(10)のブロックの終了時点の座標との距離、sqrt((50-0)
2+(40-0)
2+(-27-5)
2)=71.6(mm)を、工具とワークWとの距離Dとして算出する。また、シーケンス番号(11)のブロックの終了時点の座標(x,y,z)が(0,0,70)であることから、算出部212は、シーケンス番号(8)のブロックの終了時点の座標に対するシーケンス番号(11)のブロックの終了時点の座標との距離、sqrt((50-0)
2+(40-0)
2+(-27-70)
2)=116.2(mm)を、工具とワークWとの距離Dとして算出する。
【0023】
また、
図2の加工プログラム231において、シーケンス番号(16)のブロックのG00による早送りの終了時点の座標(x,y,z)(=(120,80,5)が、シーケンス番号(17)のブロックのG01による穴あけ加工の開始座標となる。そこで、算出部212は、例えば、シーケンス番号(16)のブロックの終了時点の座標をワークWの位置の近似値として、シーケンス番号(16)のブロックの終了時点の座標に対するシーケンス番号(14)から(16)のブロックそれぞれにおける終了時点の座標との距離を、工具とワークWとの距離として算出する。
すなわち、シーケンス番号(14)のブロックの終了時点の座標(x,y,z)が(0,0,700)であることから、算出部212は、シーケンス番号(16)のブロックの終了時点の座標に対するシーケンス番号(14)のブロックの終了時点の座標との距離、sqrt((120-0)
2+(80-0)
2+(5-700)
2)=709.8(mm)を、工具とワークWとの距離Dとして算出する。また、シーケンス番号(15)のブロックの終了時点の座標(x,y,z)が(120,80,700)であることから、算出部212は、シーケンス番号(16)のブロックの終了時点の座標に対するシーケンス番号(15)のブロックの終了時点の座標との距離、sqrt((120-120)
2+(80-80)
2+(5-700)
2)=695(mm)を、工具とワークWとの距離Dとして算出する。また、算出部212は、シーケンス番号(16)のブロックの終了時点の座標に対するシーケンス番号(16)のブロックの終了時点の座標との距離、sqrt((120-120)
2+(80-80)
2+(5-5)
2)=0(mm)を、工具とワークWとの距離Dとして算出する。
【0024】
また、
図2の加工プログラム231において、シーケンス番号(18)のブロックの終了時点の座標(x,y,z)(=(120,80,5))がシーケンス番号(19)のブロックのG00の早送りの移動開始の座標となる。そこで、算出部212は、例えば、シーケンス番号(18)のブロックの終了時点の座標をワークWの位置の近似値として、シーケンス番号(18)のブロックの終了時点の座標に対するシーケンス番号(18)から(20)のブロックそれぞれにおける終了時点の座標との距離を、工具とワークWとの距離として算出する。
すなわち、算出部212は、シーケンス番号(18)のブロックの終了時点の座標に対するシーケンス番号(18)のブロックの終了時点の座標との距離、sqrt((120-120)
2+(80-80)
2+(5-5)
2)=0(mm)を、工具とワークWとの距離Dとして算出する。また、シーケンス番号(19)のブロックの終了時点の座標(x,y,z)が(120,80,70)であることから、算出部212は、シーケンス番号(18)のブロックの終了時点の座標に対するシーケンス番号(19)のブロックの終了時点の座標との距離、sqrt((120-120)
2+(80-80)
2+(5-70)
2)=65(mm)を、工具とワークWとの距離Dとして算出する。また、シーケンス番号(20)のブロックの終了時点の座標(x,y,z)が(0,0,70)であることから、算出部212は、シーケンス番号(18)のブロックの終了時点の座標に対するシーケンス番号(20)のブロックの終了時点の座標との距離、sqrt((120-0)
2+(80-0)
2+(5-70)
2)=158.2(mm)を、工具とワークWとの距離Dとして算出する。
【0025】
算出部212は、算出した工具とワークWとの距離D等を記憶部230の距離テーブルDTに記憶する。
図5は、距離テーブルDTの一例を示す図である。
図5に示すように、距離テーブルDTは、シーケンス番号のブロック毎に終了時点の座標「x」、座標「y」、座標「z」、工具とワークWとの距離の2乗の値「D
2」、工具とワークWとの距離「D」、及び「離れ度合い」を含む。なお、
図5では、工具がワークWに接触する期間があるシーケンス番号のブロックを網掛けで示し、当該シーケンス番号のブロックの終了時点において工具とワークWとが接触している場合、「x」、「y」、「z」、「D
2」、及び「D」を空欄にしている。
また、シーケンス番号(12)及び(13)のブロックは、工具交換を行うブロックであり、所定のコードのG00と異なるコードのため、シーケンス番号(12)及び(13)の「x」、「y」、「z」、「D
2」、及び「D」を空欄にしている。
【0026】
距離テーブルDT内の座標「x」、「y」、「z」それぞれには、各シーケンス番号のブロックの終了時点におけるx座標、y座標、z座標の値が格納される。
距離テーブルDT内の「D2」には、各シーケンス番号のブロックにおいて算出部212により算出された工具とワークWとの距離Dの2乗の値が格納される。
距離テーブルDT内の「D」には、各シーケンス番号のブロックにおいて算出部212により算出された工具とワークWとの距離Dが格納される。
【0027】
距離テーブルDT内の「離れ度合い」は、算出された工具とワークWとの距離Dと予め設定された閾値との比較に基づいて、「接触」、「近」、「中」、又は「遠」が格納される。
図6は、離れ度合いの一例を示す図である。
図6に示すように、算出部212は、算出した工具とワークWとの距離Dが閾値Th1(例えば、0mm)未満の場合、工具とワークWとが接触していることから「離れ度合い」として「接触」に決定し距離テーブルDTに格納する。なお、上述したように、算出部212は、ブロックの終了時点において、工具とワークWとが接触している場合、工具とワークWとの距離Dを算出しない。この場合、算出部212は、ブロックの終了時点において工具とワークWの接触を検知したら、「接触」と決定してもよい。
【0028】
また、算出部212は、算出した工具とワークWとの距離Dが閾値Th1以上、閾値Th2(例えば、50mm)未満の場合、工具とワークWとの距離が近いことから「離れ度合い」として「近」に決定し距離テーブルDTに格納してもよい。また、算出部212は、算出した工具とワークWとの距離Dが閾値Th2以上、閾値Th3(例えば、100mm)未満の場合、工具とワークWとの距離が中距離であることから「離れ度合い」として「中」に決定し距離テーブルDTに格納してもよい。また、算出部212は、算出した工具とワークWとの距離Dが閾値Th3以上の場合、工具とワークWとの距離が遠く離れていることから「離れ度合い」として「遠」に決定し距離テーブルDTに格納してもよい。
なお、閾値Th1、Th2、Th3は、工作機械10の構成、又はワークWの形状及び大きさに応じて適宜決定されてもよい。
【0029】
また、シーケンス番号(12)及び(13)の工具交換のブロックでは、工具交換は、例えば、工作機械10に含まれる工具マガジン(図示しない)等を用いて、ワークWから十分離れた所定の位置で行われ、座標は変化しない。このため、算出部212は、シーケンス番号(12)及び(13)のブロックの「離れ度合い」として「遠」に決定し距離テーブルDTに格納してもよい。
【0030】
抽出部213は、加工プログラム231に含まれるブロックのうち、ボーリング工具の径調整、工具へのペースト塗布、又は切粉の除去等の工作機械10を停止させる用途に応じて、工作機械10における工具とワークWとが所定の状態となる加工プログラム231のブロックを停止位置候補として抽出する。
具体的には、抽出部213は、例えば、制御装置20の入力装置(図示しない)を介して作業者によりボーリング工具の径調整が選択された場合、所定の状態として少なくともボーリング工具の径調整が行える程度、工具とワークWとの距離Dが離れている離れ度合いが「遠」のシーケンス番号のブロックを停止位置候補として抽出する。
また、抽出部213は、制御装置20の入力装置(図示しない)を介して作業者により工具へのペースト塗布が選択された場合、所定の状態として少なくとも工具へのペースト塗布が行える程度、工具とワークWとの距離Dが離れている離れ度合いが「中」又は「遠」のシーケンス番号のブロックを停止位置候補として抽出してもよい。また、抽出部213は、制御装置20の入力装置(図示しない)を介して作業者により切粉の除去が選択された場合、所定の状態として少なくとも切粉の除去が行える程度、工具とワークWとの距離Dが離れている離れ度合いが「近」、「中」、又は「遠」のシーケンス番号のブロックを停止位置候補として抽出してもよい。
【0031】
表示制御部214は、停止位置候補として抽出された加工プログラム231のブロックの各々を、用途又は離れ度合いに応じて表示部220に強調表示する。
具体的には、表示制御部214は、作業者により選択されたボーリング工具の径調整、工具へのペースト塗布、又は切粉の除去等の用途に応じた、例えば、枠線の色、種類、太さ、背景の色等により区別する表示形態で、加工プログラム231を表示部220に強調表示する。
図7は、工具へのペースト塗布が選択された場合の加工プログラム231の強調表示の一例を示す図である。
図7に示すように、表示制御部214は、工具へのペースト塗布が選択された場合、離れ度合いが「中」及び「遠」のブロックを、例えば、背景の色を緑色(
図7では網掛け)で強調表示する。
あるいは、表示制御部214は、例えば、
図8に示すように、例えば、枠線の色、種類、太さ、背景の色等により離れ度合いを区別する表示形態で、加工プログラム231を表示部220に強調表示してもよい。例えば、
図8では、離れ度合いが「近」のブロックは、背景の色を赤色(
図8では右下がりの斜線の網掛け)で強調表示されている。また、離れ度合いが「中」のブロックは、背景の色を緑色(
図8では右上がりの斜線の網掛け)で強調表示されている。また、離れ度合いが「遠」のブロックは、背景の色を青色(
図8ではドットの網掛け)で強調表示されている。
そうすることで、制御装置20は、加工プログラム231において工具とワークWとの位置関係を容易に把握することができ、作業者に負担をかけることなく用途に応じた休止命令の挿入を容易に行うことができる。
【0032】
<制御装置20の表示処理>
次に、
図9を参照しながら、制御装置20の表示処理の流れを説明する。
図9は、制御装置20の表示処理について説明するフローチャートである。ここで示すフローは、加工プログラム231がプログラムをプログラム編集部211により編集される度に実行される。
【0033】
ステップS11において、算出部212は、プログラム編集部211により編集される加工プログラム231に含まれるG00の所定のコード毎に工具とワークWとの距離Dを算出する。
【0034】
ステップS12において、算出部212は、ステップS11で算出した工具とワークWとの距離Dと閾値Th1、Th2、Th3との比較に基づいて、離れ度合いを決定する。
【0035】
ステップS13において、抽出部213は、ステップS12で決定された離れ度合いに基づいて、作業者により選択された用途又は離れ度合いに応じた加工プログラム231のブロックを停止位置候補として抽出する。
【0036】
ステップS14において、表示制御部214は、停止位置候補として抽出された加工プログラム231のブロックの各々を表示部220に強調表示する。
【0037】
以上のように、第1実施形態に係る制御装置20は、編集する加工プログラム231に含まれるG00の所定のコード毎に工具とワークWとの距離Dを算出し、算出した距離Dに応じて離れ度合いを決定する。制御装置20は、離れ度合いに基づいて、作業者により選択された用途又は離れ度合いに応じた加工プログラム231のブロックを停止位置候補として抽出し、停止位置候補として抽出したブロックの各々を表示部220に強調表示する。
これにより、制御装置20は、加工プログラム231において工具とワークWとの位置関係を容易に把握することができ、作業者に負担をかけることなく用途に応じた休止命令の挿入を容易に行うことができる。
また、制御装置20は、停止位置候補として抽出したブロックの各々を強調表示することにより、誤った位置で休止命令を挿入し停止させてしまうことを防ぐことができる。
以上、第1実施形態について説明した。
【0038】
<第2実施形態>
次に、第2実施形態について説明する。第2実施形態では、制御装置20Aは、第1実施形態の機能に加えて、加工プログラムを複数のブロックを先読みする機能をさらに備える。
こうすることで、第2実施形態に係る制御装置20Aは、加工プログラムが実行されている場合でも、加工プログラムにおいて工具とワークとの位置関係を容易に把握することができ、適切な位置で停止させることができる。
以下に、第2実施形態について説明する。
【0039】
図10は、第2実施形態に係る制御システムの機能的構成例を示す機能ブロック図である。なお、
図1の制御システム1の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
図10に示すように、第2実施形態に係る制御システム1は、工作機械10、及び制御装置20Aを有する。
【0040】
<制御装置20A>
第2実施形態に係る制御装置20Aは、第1実施形態における制御装置20と同等の構成を有する。
すなわち、
図9に示すように、制御装置20Aは、制御部210a、表示部220、及び記憶部230を有する。また、制御部210aは、プログラム編集部211、算出部212a、抽出部213a、表示制御部214、プログラム先読部215、及び動作制御部216を有する。また、記憶部230は、加工プログラム231及び距離テーブルDTを記憶する。
【0041】
工作機械10は、第1実施形態における工作機械10と同等の機能を有する。
また、表示部220及び記憶部230は、第1実施形態における表示部220及び記憶部230と同等の機能を有する。
また、プログラム編集部211、及び表示制御部214は、第1実施形態におけるプログラム編集部211、及び表示制御部214と同等の機能を有する。
【0042】
プログラム先読部215は、例えば、加工プログラム231が実行された場合、加工プログラム231の複数のブロックを先読みする。プログラム先読部215は、先読みした複数のブロックを算出部212aに出力する。
【0043】
算出部212aは、第1実施形態の算出部212と同様に、先読みされた複数のブロックに含まれるG00の所定のコード毎に工具とワークWとの距離Dを算出する。算出部212aは、算出した工具とワークWとの距離Dと閾値Th1、Th2、Th3との比較に基づいて、離れ度合いを決定する。そして、算出部212aは、算出したブロック毎にx座標、y座標、z座標、工具とワークWとの距離の2乗の値D2、工具とワークWとの距離D、及び離れ度合いを、記憶部230の距離テーブルDTに記憶する。
【0044】
抽出部213aは、例えば、距離テーブルDTに基づいて、先読みされたブロックのうち、ボーリング工具の径調整、工具へのペースト塗布、又は切粉の除去等の用途に応じたブロックで、且つ現在実行しているブロックに最も近いブロックを停止位置候補として抽出する。
具体的には、抽出部213aは、例えば、制御装置20の入力装置(図示しない)を介して作業者によりボーリング工具の径調整が選択された場合、所定の状態として離れ度合いが「遠」のブロックで、且つ現在実行しているブロックに最も近いブロックを停止位置候補として抽出する。
また、抽出部213は、制御装置20の入力装置(図示しない)を介して作業者により工具へのペースト塗布が選択された場合、所定の状態として離れ度合いが「中」又は「遠」のブロックで、且つ現在実行しているブロックに最も近いブロックを停止位置候補として抽出してもよい。また、抽出部213は、制御装置20の入力装置(図示しない)を介して作業者により切粉の除去が選択された場合、所定の状態として離れ度合いが「近」、「中」、又は「遠」のブロックで、且つ現在実行しているブロックに最も近いブロックを停止位置候補として抽出してもよい。
なお、抽出部213aは、距離テーブルDTに基づいて、離れ度合いに応じて現在実行しているブロックに最も近いブロックを停止位置候補として抽出してもよい。すなわち、抽出部213aは、制御装置20の入力装置(図示しない)を介して作業者により「近」、「中」、又は「遠」の離れ度合いが選択された場合、現在実行しているブロックに最も近い選択された離れ度合いのブロックを停止位置候補として抽出してもよい。
【0045】
動作制御部216は、工作機械10の動作状態を監視し制御する。
具体的には、動作制御部216は、抽出部213aにより抽出された停車位置候補にブレイクポイントとして休止命令を自動的に付加する。
そうすることで、制御装置20Aは、加工プログラム231が実行されている場合でも、加工プログラム231において工具とワークWとの位置関係が適切な位置で停止させることができる。
【0046】
<制御装置20Aの動作制御処理>
次に、
図11を参照しながら、制御装置20Aの動作制御処理の流れを説明する。
図11は、制御装置20Aの動作制御処理について説明するフローチャートである。
【0047】
ステップS21において、プログラム先読部215は、実行している加工プログラム231の複数のブロックを先読みする。
【0048】
ステップS22において、算出部212aは、ステップS21で先読みされた複数のブロックに含まれるG00の所定のコード毎に工具とワークWとの距離Dを算出する。
【0049】
ステップS23において、算出部212aは、第1実施形態におけるステップ12と同様の処理を行い、ステップS22で算出した工具とワークWとの距離Dと閾値Th1、Th2、Th3との比較に基づいて、離れ度合いを決定する。
【0050】
ステップS24において、抽出部213aは、ステップS23で決定された離れ度合いに基づいて、先読みされた複数のブロックのうち、作業者により選択された用途又は離れ度合いに応じたブロックで、且つ現在実行しているブロックに最も近いブロックを停止位置候補として抽出する。
【0051】
ステップS25において、動作制御部216は、ステップS24で抽出された停車位置候補にブレイクポイントとして休止命令を自動的に付加する。
【0052】
以上のように、第2実施形態に係る制御装置20Aは、現在実行している加工プログラムから先読みした複数のブロックに含まれるG00の所定のコード毎に工具とワークWとの距離Dを算出し、算出した工具とワークWと距離Dに応じて離れ度合いを決定する。制御装置20Aは、離れ度合いに基づいて、作業者により選択された用途又は離れ度合いに応じたブロックで、且つ現在実行しているブロックから最も近いブロックを停止位置候補として抽出し、抽出したブロックにブレイクポイントとして休止命令を自動的に付加する。
これにより、制御装置20Aは、加工プログラム231が実行されている場合でも、工具とワークWとの位置関係を容易に把握することができ、用途に応じて工具とワークとの位置関係が適切なブロックで停止させることができる。
また、制御装置20Aは、抽出した停止位置候補にブレイクポイントとして休止命令を自動的に付加することで、誤った位置で休止命令を挿入し停止させてしまうことを防ぐことができ、作業者の負担を減らすことができる。
以上、第2実施形態について説明した。
【0053】
以上、第1実施形態及び第2実施形態について説明したが、制御装置20、20Aは、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等を含む。
【0054】
<変形例>
上述の第1実施形態及び第2実施形態では、所定のコードとしてG00としたが、これに限定されない。例えば、所定のコードとしてG28やM06等でもよい。
具体的には、G28は、リファレンス点(機械原点)復帰のGコードである。すなわち、G28を含むブロックの終了時点では、工具は確実にワークWから遠く離れた位置にあるため、ボーリング工具の径調整、工具へのペースト塗布、及び切粉の除去を行うことができる。
また、M06は、工具交換のMコードである。上述したように、工具交換は、例えば、工作機械10に含まれる工具マガジン(図示しない)等を用いて、ワークWから離れた所定の位置で行われるため、ボーリング工具の径調整、工具へのペースト塗布、及び切粉の除去を行うことができる。
また、切粉の除去の場合、工具とワークWとが非接触であればよく、離れ度合いの考慮が不要であることから、制御装置20、20Aは、各ブロックにGコードのうちグループ01のG01又はG02等のコードを含むか否か、又はM05のコードを含むか否か等で、工具とワークWとが離れているか否かを判定してもよい。すなわち、グループ01のG01やG02等を含むブロックでは、工具とワークWとは接触しており、制御装置20、20Aは、G00のブロックが検知されるまで切粉の除去を行えないと判断してもよい。また、主軸停止のM05のコードを含むブロックでは、少なくとも工具とワークWとが離れていることから、制御装置20、20Aは、切粉の除去を行えると判断してもよい。
【0055】
なお、第1実施形態及び第2実施形態における、制御装置20、20Aに含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【0056】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(Tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。
【0057】
なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0058】
以上を換言すると、本開示の制御装置、及び制御方法は、次のような構成を有する各種各様の実施形態を取ることができる。
【0059】
(1)本開示の制御装置20の一態様は、加工プログラム231に基づいて工作機械10を制御する制御装置であって、加工プログラム231に含まれるブロックのうち、工作機械10を停止させる用途に応じて、工作機械10における工具とワークWとが所定の状態となる加工プログラム231のブロックを停止位置候補として抽出する抽出部213を備える。
この制御装置20によれば、加工プログラム231において工具とワークWとの位置関係を容易に把握することができる。
【0060】
(2) (1)に記載の制御装置20において、所定のコードを含むブロック毎に工具とワークWとの距離Dを算出し、算出した距離Dと予め設定された閾値Th1、Th2、Th3との比較に基づいて工具とワークWとの離れ度合いを決定する算出部212をさらに備え、抽出部213は、用途又は離れ度合いに応じて停止位置候補を抽出してもよい。
そうすることで、制御装置20は、加工プログラム231において工具とワークWとの位置関係を精度良く把握することができる。
【0061】
(3) (2)に記載の制御装置20において、停止位置候補として抽出された加工プログラム231のブロックの各々を、用途又は離れ度合いに応じて表示部220に強調表示する表示制御部214をさらに備えてもよい。
そうすることで、制御装置20は、作業者に負担をかけることなく用途に応じた休止命令の挿入を容易に行うことができる。
【0062】
(4) (2)又は(3)に記載の制御装置20Aにおいて、加工プログラム231が実行されている場合、加工プログラム231の複数のブロックを先読みするプログラム先読部215と、抽出部213aにより停止位置候補として抽出された加工プログラムのブロックに休止命令を付加する動作制御部216と、をさらに備え、抽出部213aは、プログラム先読部215により先読みされた複数のブロックのうち、用途又は離れ度合いに応じたブロックで、且つ実行しているブロックから最も近いブロックを停止位置候補として抽出してもよい。
そうすることで、制御装置20Aは、加工プログラム231が実行されている場合でも、加工プログラム231において工具とワークWとの位置関係が適切な位置で停止させることができる。
【0063】
(5)本開示の制御方法の一態様は、加工プログラム231に基づいて工作機械10を制御する制御装置20の制御方法であって、加工プログラム231に含まれるブロックのうち、工作機械10を停止させる用途に応じて、工作機械10における工具とワークWとが所定の状態となる加工プログラム231のブロックを停止位置候補として抽出する抽出ステップを備える。
この制御方法によれば、(1)と同様の効果を奏することができる。
【0064】
(6) (5)に記載の制御方法において、所定のコードを含むブロック毎に工具とワークWとの距離Dを算出し、算出した距離Dと予め設定された閾値Th1、Th2、Th3との比較に基づいて工具とワークWとの離れ度合いを決定する算出ステップをさらに備え、抽出ステップは、用途又は前記離れ度合いに応じて停止位置候補を抽出してもよい。
そうすることで、制御方法は、(2)と同様の効果を奏することができる。
【0065】
(7) (6)に記載の制御方法において、停止位置候補として抽出された加工プログラム231のブロックの各々を、用途又は離れ度合いに応じて表示部220に強調表示する表示制御ステップをさらに備えてもよい。
そうすることで、制御方法は、(3)と同様の効果を奏することができる。
【0066】
(8) (6)又は(7)に記載の制御方法において、加工プログラム231が実行されている場合、加工プログラム231の複数のブロックを先読みするプログラム先読ステップと、抽出ステップにより停止位置候補として抽出された加工プログラム231のブロックに休止命令を付加する動作制御ステップと、をさらに備え、抽出ステップは、先読みされた複数のブロックのうち、用途又は離れ度合いに応じたブロックで、且つ実行しているブロックから最も近いブロックを停止位置候補として抽出してもよい。
そうすることで、制御方法は、(4)と同様の効果を奏することができる。
【符号の説明】
【0067】
1 制御システム
10 工作機械10
20、20A 制御装置
210、210a 制御部
211 プログラム編集部
212、212a 算出部
213、213a 抽出部
214 表示制御部
215 プログラム先読部
216 動作制御部
220 表示部
230 記憶部