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

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

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

<>
  • 特許-プログラム解析装置及び制御システム 図1
  • 特許-プログラム解析装置及び制御システム 図2
  • 特許-プログラム解析装置及び制御システム 図3
  • 特許-プログラム解析装置及び制御システム 図4
  • 特許-プログラム解析装置及び制御システム 図5
  • 特許-プログラム解析装置及び制御システム 図6
  • 特許-プログラム解析装置及び制御システム 図7
  • 特許-プログラム解析装置及び制御システム 図8
  • 特許-プログラム解析装置及び制御システム 図9
  • 特許-プログラム解析装置及び制御システム 図10
  • 特許-プログラム解析装置及び制御システム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-19
(45)【発行日】2024-02-28
(54)【発明の名称】プログラム解析装置及び制御システム
(51)【国際特許分類】
   G05B 19/4068 20060101AFI20240220BHJP
   G05B 19/18 20060101ALI20240220BHJP
   B23Q 15/00 20060101ALI20240220BHJP
【FI】
G05B19/4068
G05B19/18 W
B23Q15/00 B
【請求項の数】 10
(21)【出願番号】P 2022508382
(86)(22)【出願日】2021-03-16
(86)【国際出願番号】 JP2021010639
(87)【国際公開番号】W WO2021187487
(87)【国際公開日】2021-09-23
【審査請求日】2022-11-21
(31)【優先権主張番号】P 2020047476
(32)【優先日】2020-03-18
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】110001151
【氏名又は名称】あいわ弁理士法人
(72)【発明者】
【氏名】大橋 遼平
【審査官】松浦 陽
(56)【参考文献】
【文献】特開2008-027045(JP,A)
【文献】国際公開第2015/097887(WO,A1)
【文献】特開2019-219878(JP,A)
【文献】特開2017-211872(JP,A)
【文献】特開2016-201031(JP,A)
【文献】国際公開第2014/068667(WO,A1)
【文献】特開2006-163665(JP,A)
【文献】特開平11-327624(JP,A)
【文献】特開2017-033346(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/4068
G05B 19/18
B23Q 15/00
(57)【特許請求の範囲】
【請求項1】
工具情報を元に加工プログラムの整合性を判定するプログラム解析装置であって、
加工プログラムを解析し、工具を選択する指令を抽出するプログラム解析部と、
選択された前記工具に対応する工具に係る情報を取得する工具情報取得部と、
前記工具情報取得部が取得した工具に係る情報に基づいて、前記工具が選択された状態で実行される前記加工プログラムの指令の整合性を判定する加工指令確認部と、
を備え、
前記加工指令確認部は、工具姿勢確認部を有し、
前記工具姿勢確認部は、前記工具情報取得部によって取得された前記工具に係る情報に含まれる前記工具の取り付け姿勢に係る情報に基づいて、選択された前記工具の実際の向きと、前記加工プログラムによる座標系の指定との間の整合性を判定するプログラム解析装置。
【請求項2】
工具番号と、前記工具番号に対応する工具に係る情報とを関連付けて記憶する工具情報記憶部を更に備え、
前記工具情報取得部は、前記プログラム解析部が抽出した工具を選択する指令により指定される工具番号に基づいて、前記工具情報記憶部から選択された前記工具に係る情報を取得する、
請求項1に記載のプログラム解析装置。
【請求項3】
前記加工指令確認部は、指令コード確認部を有し、
前記指令コード確認部は、選択された前記工具に係る情報で示される指令コードに係る情報に基づいて、前記加工プログラムにおける指令の整合性を判定する、
請求項1に記載のプログラム解析装置。
【請求項4】
前記加工指令確認部は、送り方向確認部を有し、
前記送り方向確認部は、選択された前記工具に係る情報で示される送り方向に係る情報に基づいて、前記加工プログラムにおける指令による送り方向の整合性を判定する、
請求項1に記載のプログラム解析装置。
【請求項5】
前記加工指令確認部は、前記加工プログラムにより加工されるワークのワーク情報を取得し、取得した前記ワーク情報と前記加工プログラムとに基づいて、実際にワークを切削すると判断される送り指令に関する整合性を判定する、
請求項3または4に記載のプログラム解析装置。
【請求項6】
前記加工指令確認部が、整合性が取れていないと判定した時に、整合性が取れていない箇所を表示する表示部を更に備える、
請求項1に記載のプログラム解析装置。
【請求項7】
前記加工プログラムに基づいて加工を行う産業機械を制御する制御部を更に備え、
前記加工指令確認部が、整合性が取れていないと判定した時に、前記制御部は前記産業機械の加工に係る制御を中断する、
請求項1に記載のプログラム解析装置。
【請求項8】
工具情報を元に加工プログラムの整合性を判定する制御システムであって、
加工プログラムを解析し、工具を選択する指令を抽出するプログラム解析部と、
選択された前記工具に対応する工具に係る情報を取得する工具情報取得部と、
前記工具情報取得部が取得した工具に係る情報に基づいて、前記工具が選択された状態で実行される前記加工プログラムの指令の整合性を判定する加工指令確認部と、
を備え、
前記加工指令確認部は、工具姿勢確認部を有し、
前記工具姿勢確認部は、前記工具情報取得部によって取得された前記工具に係る情報に含まれる前記工具の取り付け姿勢に係る情報に基づいて、選択された前記工具の実際の向きと、前記加工プログラムによる座標系の指定との間の整合性を判定する制御システム。
【請求項9】
工具番号と、前記工具番号に対応する工具に係る情報とを関連付けて記憶する工具情報記憶部を更に備え、
前記工具情報取得部は、前記プログラム解析部が抽出した工具を選択する指令により指定される工具番号に基づいて、前記工具情報記憶部から選択された前記工具に係る情報を取得する、
請求項8に記載の制御システム。
【請求項10】
前記加工指令確認部が、整合性が取れていないと判定した時に、前記加工プログラムに基づいて加工を行う産業機械に対して加工に係る動作を中断するように指令する、
請求項8に記載の制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム解析装置及び制御システムに関し、特に工具に係る情報を元に加工プログラムによる指令の整合性を判定する機能を有するプログラム解析装置及び制御システムに関する。
【背景技術】
【0002】
工作機械を制御する制御装置は、加工プログラムに従って工作機械が備える各軸の動作を制御する。オペレータは、工作機械、加工対象となるワーク及びワークを加工する工具を確認しながら、加工プログラム編集機能等を用いて加工プログラムを作成している(例えば、特許文献1等)。
【0003】
加工プログラムでは、使用する工具の工具番号をTコードで指定する。図10は、工具番号と工具の対応関係を例示する図である。例えば、加工プログラム中に「T02」が指定されると、当該コードが実行された際に工具番号02に対応するドリル(小)が選択される。オペレータは、図10に例示されるような工具番号の表を見ながら、加工プログラムを作成する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2017-111516号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記したように、工具番号を表で確認しながら加工プログラムを作成する場合、工具番号表を目視で確認して加工プログラムにコードを書き込むことになる。しかしながら、確認の際に見間違いや見落としが起きると、誤った工具を選択してしまう等といったことが生じる。そして、選択する工具を間違えること等が原因で加工プログラムによる指令の整合性が取れなくなった場合、加工中に工具とワークとが衝突して工具乃至ワークが破損する等の問題が生じる。
【0006】
図11は、加工プログラムによる工具の選択を間違えた場合の例を示す図である。図11の例では、オペレータが本来エンドミル工具(工具番号05)を選択するつもりであった。しかし、間違ってドリル工具(工具番号02)が選択されている。エンドミル工具は、一般に工具の先端及び側面に刃を備えており、工具を横方向に移動させてワークを加工することができる。また、工具を縦方向に移動させてワークを加工することもできる。これに対してドリル工具は、一般に工具の先端にのみ刃を備えている。そのため、工具を縦方向に移動させてワークを加工することはできるが、工具を横方向に移動させてワークを加工することができない。そのため、エンドミル工具とドリル工具とを間違って選択し、エンドミル工具のつもりでドリル工具を用いた場合、工具乃至ワークを破損してしまうおそれがある。例えば図11における「G01 X5.0;」の指令に見られるようにドリル工具を横方向に切削送りしてワークを加工しようとすると、ドリル工具の刃のない部分がワークと接触し、工具乃至ワークが破損する。
【0007】
このような間違いが生じないように、加工プログラムを作成する際にオペレータは、工具番号表と加工プログラムとを突合わせてその整合性を逐次確認する必要がある。しかしながら、この作業はオペレータにとって大きな手間となる。また、加工プログラムを作成する際に、試運転を繰り返して工具の選択と、選択された工具を用いた加工に係る動作の整合性を確認することも考えられる。しかしながら、試運転作業には時間が掛かるため、この作業を最小限にとどめたいという要望がある。
そこで、加工プログラムから解析可能な加工に係る指令の整合性の良否を簡易に確認できる技術が望まれている。
【課題を解決するための手段】
【0008】
本発明の一態様によるプログラム解析装置及び制御システムは、工具を選択した後に、当該工具の特性等の情報を含む加工情報に基づいて、その工具を選択した状態で行われる指令の種類や送り方向、工具の向き等の整合性を判定することにより、上記課題を解決する。
【0009】
そして、本発明の一態様は、工具情報を元に加工プログラムの整合性を判定するプログラム解析装置であって、加工プログラムを解析し、工具を選択する指令を抽出するプログラム解析部と、選択された前記工具に対応する工具に係る情報を取得する工具情報取得部と、前記工具情報取得部が取得した工具に係る情報に基づいて、前記工具が選択された状態で実行される前記加工プログラムの指令の整合性を判定する加工指令確認部と、を備えたプログラム解析装置である。
【0010】
本発明の他の態様は、工具情報を元に加工プログラムの整合性を判定する制御システムであって、加工プログラムを解析し、工具を選択する指令を抽出するプログラム解析部と、選択された前記工具に対応する工具に係る情報を取得する工具情報取得部と、前記工具情報取得部が取得した工具に係る情報に基づいて、前記工具が選択された状態で実行される前記加工プログラムの指令の整合性を判定する加工指令確認部と、を備えた制御システムである。
【発明の効果】
【0011】
本発明の一態様により、加工プログラムにおいて選択された工具に応じて、指令の整合性を判定することで、送り方向等のプログラムミスによる工具・ワークの破損を防止できる。
【図面の簡単な説明】
【0012】
図1】第1実施形態によるプログラム解析装置の概略的なハードウェア構成図である。
図2】第1実施形態によるプログラム解析装置の概略的な機能ブロック図である。
図3】加工指令確認部が備える機能を概略的に示した図である。
図4】加工プログラムの整合性を判定する例を示す図である。
図5】加工プログラムの整合性を判定する他の例を示す図である。
図6】ワーク情報を用いた場合の整合性判定の例を示す図である。
図7】第2実施形態によるプログラム解析装置の概略的なハードウェア構成図である。
図8】第2実施形態によるプログラム解析装置の概略的な機能ブロック図である。
図9】一変形例によるプログラム解析装置の概略的な機能ブロック図である。
図10】工具番号と工具の対応を例示する図である。
図11】プログラムの整合性が取れていないことが原因で工具とワークとが衝突する例を示す図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態を図面と共に説明する。
図1は本発明の第1実施形態によるプログラム解析装置を示す概略的なハードウェア構成図である。本発明のプログラム解析装置1は、例えば工作機械等の加工を行う産業機械を制御する制御装置に実装することができる。また、本実施形態のプログラム解析装置1は、例えば工作機械を制御する制御装置と有線/無線のネットワークを介して接続されたパソコン、フォグコンピュータ、クラウドサーバ等に実装することができる。
本実施形態では、プログラム解析装置1を、工作機械を制御する制御装置に実装した例を示す。
【0014】
本実施形態のプログラム解析装置1が備えるCPU11は、プログラム解析装置1を全体的に制御するプロセッサである。CPU11は、バス22を介してROM12に格納されたシステム・プログラムを読み出す。CPU11は、該システム・プログラムに従ってプログラム解析装置1全体を制御する。RAM13には一時的な計算データや表示データ、及び外部から入力された各種データ等が一時的に格納される。
【0015】
不揮発性メモリ14は、例えば図示しないバッテリでバックアップされたメモリやSSD(Solid State Drive)等で構成される。不揮発性メモリ14は、プログラム解析装置1の電源がオフされても記憶状態が保持される。不揮発性メモリ14には、インタフェース15を介して外部機器72から読み込まれたデータや加工プログラムが記憶される。また、不揮発性メモリ14には、入力装置71を介して入力されたデータや加工プログラム、工作機械から取得される各データ等が記憶される。不揮発性メモリ14に記憶されたデータや加工プログラムは、実行時/利用時にはRAM13に展開されても良い。また、ROM12には、公知の解析プログラムなどの各種システム・プログラムがあらかじめ書き込まれている。
【0016】
インタフェース15は、プログラム解析装置1のCPU11とUSB装置等の外部機器72と接続するためのインタフェースである。外部機器72側からは、例えば工作機械の制御に用いられる加工プログラムや各パラメータ等を読み込むことができる。また、プログラム解析装置1内で編集した加工プログラムや各パラメータ等は、外部機器72を介して外部記憶手段に記憶させることができる。PLC(プログラマブル・ロジック・コントローラ)16は、プログラム解析装置1に内蔵されたシーケンス・プログラムで工作機械及び該工作機械の周辺装置(例えば、工具交換装置や、ロボット等のアクチュエータ、工作機械に取付けられているセンサ等)にI/Oユニット17を介して信号を出力し制御する。また、PLC16は、産業機械の本体に配備された操作盤の各種スイッチや周辺装置等の信号を受け、必要な信号処理をした後、CPU11に渡す。
【0017】
表示装置70には、メモリに読み込まれた各データ、加工プログラムやシステム・プログラム等が実行された結果として得られたデータ等がインタフェース18を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置71は、インタフェース19を介して作業者による操作に基づく指令、データ等をCPU11に渡す。
【0018】
工作機械が備える軸を制御するための軸制御回路30はCPU11からの軸の移動指令を受けて、軸の指令をサーボアンプ40に出力する。サーボアンプ40はこの指令を受けて、工作機械が備える軸を移動させるサーボモータ50を駆動する。軸のサーボモータ50は位置・速度検出器を内蔵している。サーボモータ50は、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路30にフィードバックし、位置・速度のフィードバック制御を行う。
なお、図1のハードウェア構成図では軸制御回路30、サーボアンプ40、サーボモータ50は1つずつしか示されていないが、実際には制御対象となる工作機械に備えられた軸の数だけ用意される。例えば、一般的な工作機械を制御する場合には、工具が取り付けられた主軸とワークとを直交3軸(X軸,Y軸,Z軸)方向へと相対的に移動させる3組の軸制御回路30、サーボアンプ40、サーボモータ50が用意される。
【0019】
スピンドル制御回路60は、主軸回転指令を受け、スピンドルアンプ61にスピンドル速度信号を出力する。スピンドルアンプ61はこのスピンドル速度信号を受けて、工作機械のスピンドルモータ62を指令された回転速度で回転させ、工具を駆動する。スピンドルモータ62にはポジションコーダ63が結合されている。ポジションコーダ63は、主軸の回転に同期して帰還パルスを出力する。その帰還パルスはCPU11によって読み取られる。
【0020】
図2は、本発明の第1実施形態によるプログラム解析装置1が備える機能を概略的なブロック図として示したものである。本実施形態によるプログラム解析装置1が備える各機能は、図1に示したプログラム解析装置1が備えるCPU11がシステム・プログラムを実行し、プログラム解析装置1の各部の動作を制御することにより実現される。
【0021】
本実施形態のプログラム解析装置1は、プログラム解析部100、工具情報取得部110、加工指令確認部120、判定結果出力部130、制御部140を備える。また、プログラム解析装置1のRAM13乃至不揮発性メモリ14には、入力装置71、外部機器72等から取得した加工プログラム200が予め記憶される。更に、プログラム解析装置1のRAM13乃至不揮発性メモリ14には、工具に係る情報が予め記憶された領域である工具情報記憶部210が予め用意されている。
【0022】
プログラム解析部100は、図1に示したプログラム解析装置1が備えるCPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。プログラム解析部10は、加工プログラム200から工作機械2の動作指令のブロックを先読みして解析する。そして、その解析結果に基づいて工作機械2が備えるサーボモータ50やスピンドルモータ62の動作を指令する指令データを作成する。プログラム解析部100は、作成した指令データを、加工指令確認部120へ出力する。また、プログラム解析部100は、先読みした指令から工具選択指令(Tコード)を抽出し、当該工具選択指令により選択される工具の工具番号を工具情報取得部110へ出力する。
【0023】
工具情報取得部110は、CPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。工具情報取得部110は、プログラム解析部100が抽出した工具選択指令により選択される工具に係る情報を取得する。工具情報取得部110は、プログラム解析部100から入力された工具番号に基づいて、工具情報記憶部210から当該工具番号に対応する工具に係る情報を取得するようにしても良い。工具情報取得部110が取得する工具に係る情報は、例えば当該工具が選択された状態で実行可能な指令、当該工具が選択された状態で実行できない指令、当該工具により切削可能な送り方向、該工具により切削不可な送り方向、当該工具に指定可能な工具補正、当該工具に指定できない工具補正、当該工具の取り付け姿勢等のような、当該工具による加工時の指令に係る情報を含む。
【0024】
加工指令確認部120は、CPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。加工指令確認部120は、工具情報取得部110が取得した工具に係る情報に基づいて、プログラム解析部100が解析した加工プログラム200による指令の整合性を判定する。加工指令確認部120は、加工プログラム200による指令の内で、工具選択指令により工具が選択された状態で実行される指令を抽出する。加工指令確認部120は、その抽出した指令について、選択された工具に係る情報に基づいて整合性を判定する。加工指令確認部120は、図3に示されるように、指令コード確認部122、送り方向確認部124、工具姿勢確認部126の少なくともいずれかを備える。
【0025】
指令コード確認部122は、工具情報取得部110が取得した工具に係る情報に含まれる指令コードに係る情報に基づいて、加工プログラム200における指令の整合性を判定する。工具情報取得部110が取得した工具に係る情報に、例えば工具が選択された状態で実行可能な指令に係る情報(以下、実行可能指令情報とする)が含まれており、かつ、加工プログラム200による指令の内、工具選択指令により当該工具が選択された状態で実行される指令の中に、実行可能指令情報に入っていない指令が含まれている場合、指令コード確認部122は、当該指令を整合性が取れていない指令と判定する。また、指令コード確認部122は、工具情報取得部110が取得した工具に係る情報に、例えば工具が選択された状態で実行してはいけない指令に係る情報(以下、実行不可指令情報とする)が含まれており、かつ、加工プログラム200による指令の内、工具選択指令により当該工具が選択された状態で実行される指令の中に、実行不可指令情報に入っている指令が含まれている場合、当該指令を整合性が取れていない指令と判定する。
【0026】
送り方向確認部124は、工具情報取得部110が取得した工具に係る情報に含まれる送り方向に係る情報に基づいて、加工プログラム200における指令による送り方向の整合性を判定する。工具情報取得部110が取得した工具に係る情報に、例えば工具により切削可能な送り方向に係る情報(以下、切削可能送り方向情報)が含まれており、かつ、加工プログラム200による指令の内、工具選択指令により当該工具が選択された状態で実行される指令の中に、切削可能送り方向情報に入っていない方向へ切削送りをする指令が含まれている場合、送り方向確認部124は、当該指令を整合性が取れていない指令と判定する。また、工具情報取得部110が取得した工具に係る情報に、例えば工具により切削不可な送り方向に係る情報(以下、切削不可送り方向情報)が含まれている場合、加工プログラム200による指令の内、工具選択指令により当該工具が選択された状態で実行される指令の中に、切削不可送り方向情報に入っている方向へ切削送りをする指令が含まれている場合、送り方向確認部124は、当該指令を整合性が取れていない指令と判定する。
【0027】
工具姿勢確認部126は、工具情報取得部110が取得した工具に係る情報に含まれる工具の取り付け姿勢等に係る情報に基づいて、加工プログラム200における指令による工具姿勢と、加工プログラム200による座標系の指定との間の整合性を判定する。工具情報取得部110が取得した工具の取り付け姿勢に係る情報として、例えば工具の傾きの最大角度(以下、工具傾き最大角度)が含まれており、かつ、工具選択指令により当該工具が選択された状態で実行される指令の中に、工具の傾きを工具傾き最大角度以上となるように工具姿勢を変更する指令がある場合、工具姿勢確認部126は、当該指令を整合性が取れていない指令と判定する。また、例えば加工プログラム200による指令の内、工具選択指令により当該工具が選択された状態で実行される指令の中に、工具姿勢を変更する指令、例えば、回転B軸を駆動して工具姿勢を傾ける指令と、変更された工具姿勢に合わせてフィーチャ座標系を変更する指令とが、共に現れない場合に、工具姿勢確認部126は、これらの指令を整合性が取れていない指令と判定する。
【0028】
加工指令確認部120は、整合性の判定を行った結果、加工プログラム200における指令に整合性が取れていないと判定されるものがある場合、その旨を表示するように判定結果出力部130に出力する。また、本実施形態による加工指令確認部120は、整合性が取れている指令に係る指令データを制御部140に出力する。一方、加工指令確認部120は、整合性が取れていない指令があると判定した場合には、工作機械2による加工に係る制御動作の実行を中断するように制御部140に指令する。
【0029】
判定結果出力部130は、CPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理と、インタフェース18,19を用いた入出力処理が行われることで実現される。判定結果出力部130は、加工指令確認部120による加工プログラム200における指令の整合性の判定結果を、表示装置70に表示出力する。判定結果出力部130は、整合性の判定結果とともに、整合性が取れていないとされた指令が実行される際に選択されている工具の情報を合わせて出力するようにしても良い。判定結果出力部130は、加工指令確認部120による整合性の判定結果を、不揮発性メモリ14に対してログとして出力しても良い。また、判定結果出力部130は、加工指令確認部120による整合性の判定結果を、図示しないネットワークを介してホストコンピュータ等の管理装置に送信出力するようにしても良い。
【0030】
制御部140は、CPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理と、軸制御回路30、スピンドル制御回路60、PLC16を用いた工作機械2の各部の制御処理が行われることで実現される。制御部140は、プログラム解析部100が解析した指令データに基づいて、工作機械2の各部を制御する。制御部140は、例えば工作機械2の各軸を移動させる指令に基づいて軸の移動に係るデータを生成してサーボモータ50に出力する。また、制御部140は、例えば工作機械2の主軸を回転させる指令に基づいて主軸の回転に係るデータを生成してスピンドルモータ62に出力する。更に、制御部140は、例えば工作機械2の周辺装置を動作させる指令に基づいて該周辺装置を動作させる所定の信号を生成してPLC16に出力する。一方で、制御部140は、サーボモータ50やスピンドルモータ62の状態(モータの電流値、位置、速度、加速度、トルク等)をフィードバック値として取得して各制御処理に使用する。
【0031】
上記構成を備えたプログラム解析装置の動作例を、図4,5を用いて説明する。
図4は、加工プログラムにおいて、本来エンドミル工具(工具番号04)を使用するつもりが、工具選択指令で誤ってドリル工具(工具番号01)を選択してしまった場合の、プログラム解析装置1の動作を例示している。なお、工具情報記憶部210には、予めドリル工具に関する工具情報のうち、実行可能指令情報としてG00、G01、G81等のGコードやM03等のMコード、切削可能送り方向としてZ軸負方向(-Z)が記憶されている。そして、オペレータは、エンドミル工具を用いた加工を行うためのプログラムを書いたつもりで、図4左に例示されるように、誤って工具選択指令でT01(ドリル工具)を選択した加工プログラムを作成した。
【0032】
このような加工プログラムを実行するように指令された本実施形態によるプログラム解析装置1は、加工プログラムを逐次先読みする。そして、T01指令で工具番号01のドリル工具が選択されたと判断し、工具情報取得部110が、ドリル工具に係る情報を工具情報記憶部210から取得する。そして、取得した工具に係る情報に基づいて、加工指令確認部120が加工プログラムの指令の整合性を判定する。
【0033】
指令コード確認部122は、M03指令、G00指令、G01指令については、工具に係る情報の実行可能指令情報に含まれているため、これらの指令は整合性が取れている指令であると判定する。一方で、指令コード確認部122は、G03指令については、工具に係る情報の実行可能指令情報に含まれていないため、当該指令は整合性が取れていない指令であると判定する。
【0034】
送り方向確認部124は、切削送り指令(図4の例では、G01指令,G03指令)の内で、その送り方向が切削可能送り方向であるZ軸負方向に一致する指令(「G01 Z-5.0 F45.0;」)については整合性が取れている指令であると判定する。一方で、送り方向が切削可能送り方向であるZ軸負方向に一致しない指令(「G01 X3.0;」及び「G03 X5.0 Y5.0;」)については整合性が取れていない指令であると判定する。
【0035】
工具姿勢確認部126は、ドリル工具の工具姿勢に基づいて整合性の判定を行う。図4の例では、工具姿勢の変更に係る指令や座標系の変更指令がされていないので、全ての指令で整合性が取れていると判定する。
【0036】
そして、いずれかの点で整合性が取れていない指令であると判定された指令(「G01 X3.0;」及び「G03 X5.0 Y5.0;」)は、選択された工具(ドリル工具)の情報と共に判定結果出力部130により表示装置70にその判定結果が表示出力される。オペレータはこの表示を見て、整合性が取れていないとされた指令及び選択工具について見直しをすることができる。例えば、この表示を見たオペレータは、正しい工具であるエンドミル工具(工具番号T04)を選択するように工具選択指令を変更して、正しい加工プログラムへと修正することができる。
【0037】
図5は、加工プログラムにおいて、傾斜ヘッドのドリル工具(工具番号01)を用いてワークの傾斜面に対して穴あけ加工をする場合に、三次元座標変換を行わなかった場合の、プログラム解析装置1の動作を例示している。なお、工具情報記憶部210には、予めドリル工具に関する工具情報のうち、実行可能指令情報としてG00、G01、G81等のGコードやM03等のMコード、切削可能送り方向としてZ軸負方向(-Z)が記憶されている。
【0038】
このような加工プログラムを実行するように指令された本実施形態によるプログラム解析装置1は、加工プログラムを逐次先読みする。そして、T01指令で工具番号01のドリル工具が選択されたと判断し、工具情報取得部110が、ドリル工具に係る情報を工具情報記憶部210から取得する。そして、取得した工具に係る情報に基づいて、加工指令確認部120が加工プログラムの指令の整合性を判定する。
【0039】
指令コード確認部122は、M03指令、G00指令、G01指令は、工具に係る情報の実行可能指令情報に含まれているため、これらの指令は整合性が取れている指令であると判定する。
【0040】
送り方向確認部124は、切削送り指令(図5の例では、G01指令)の内で、その送り方向が切削可能送り方向であるZ軸負方向に一致する指令(「G01 Z-5.0 F45.0;」)について整合性が取れている指令であると判定する。
【0041】
一方で、工具姿勢確認部126は、傾斜ヘッドのドリル工具の工具姿勢に基づいて整合性の判定を行う。図5の例では、工具姿勢の変更に係る指令(「G00 B30.0;」)が実行されている。しかし、これに合わせた三次元座標変換指令が実行されない。そのため、工具姿勢確認部126は、工具姿勢の変更にかかる指令及びそれ以降の送り指令は整合性が取れていない指令と判定する。
【0042】
そして、いずれかの点で整合性が取れていない指令であると判定された指令は、選択された工具(傾斜ヘッドのドリル工具)の情報と共に判定結果出力部130によりその判定結果が表示装置70に表示出力される。オペレータはこの表示を見て、整合性が取れていないとされた指令及び選択工具について見直しをすることができる。例えば、この表示を見たオペレータは、「G00 B30.0;」の後ろに三次元座標変換指令である「G68 X0. Y0. Z0. I0. J1. K0. R30.;」を追加して、正しい加工プログラムへと修正することができる。
【0043】
上記構成を備えた本実施形態によるプログラム解析装置1は、加工プログラムにおいて選択された工具に応じた指令の整合性を判定することができる。そのため、オペレータが大きな労力をかけること無く加工プログラムの見直しを行うことが可能となる。そのため、工具の選択ミスや、加工に係る指令、送り方向等のプログラムミスによる工具・ワークの破損を事前に防止できる。
【0044】
本実施形態によるプログラム解析装置1の一変形例として、プログラム解析装置1は、加工プログラムの指令の整合性の判定に、加工対象となるワークの情報を利用するようにしても良い。制御装置では、G00指令は早送り指令、G01指令は切削送り指令として処理される。加工プログラムを作成する際には、一般にワークを加工しない経路ではG00指令が、ワークを加工している経路ではG01指令が用いられる。ただし、場合によっては、ワークを加工しない経路においてG01指令を用いることもある。そこで、ワークの大きさや形状等の情報を含むワーク情報を取得し、加工指令確認部120は、工具とワークとが接触しない位置で実行される切削送り指令に関しては、切削送りでないものとして扱うようにして良い。この様に構成することで、例えば加工指令確認部120が備える送り方向確認部124は、工具とワークとの接触を伴わない切削送り指令については整合性が取れているものとして判定する。図6に例示されるように、外形バイト工具でワークを加工する際に、ワークからG01指令(切削送り指令)で逃げるような場合、加工可能送り方向情報に含まれない方向に切削送りが行われる。このような場合であっても、送り方向確認部124がワーク情報を考慮した判定を行うことで、図6における「G01 X5.0 Z30.;」は整合性が取れている指令として判定される。これにより、切削送り指令に関する整合性の判定をより柔軟に行うことが可能となる。
【0045】
図7は本発明の第2実施形態によるプログラム解析装置を示す概略的なハードウェア構成図である。本実施形態では、プログラム解析装置1を、工作機械(を制御する制御装置)とネットワークを介して接続されたコンピュータに実装した例を示している。
本実施形態によるプログラム解析装置1は、工作機械(を制御する制御装置)とネットワークを介して接続された制御システム300を構成する。
【0046】
本実施形態によるプログラム解析装置1は、第1実施形態によるプログラム解析装置1と同様に、CPU11、ROM12、RAM13、不揮発性メモリ14を備え、インタフェース18,19を介して表示装置70、入力装置71との間で入出力処理を行う。
【0047】
インタフェース20は、本実施形態によるプログラム解析装置1のCPU11と有線乃至無線のネットワーク5とを接続するためのインタフェースである。ネットワーク5には、工作機械2や、フォグコンピュータ6、クラウドサーバ7等と接続され、これらの装置とプログラム解析装置1とが相互にデータのやり取りを行っている。
【0048】
図8は、本発明の第2実施形態によるプログラム解析装置1が備える機能を概略的なブロック図として示したものである。本実施形態によるプログラム解析装置1が備える各機能は、図1に示したプログラム解析装置1が備えるCPU11がシステム・プログラムを実行し、プログラム解析装置1の各部の動作を制御することにより実現される。
【0049】
本実施形態のプログラム解析装置1は、プログラム解析部100、工具情報取得部110、加工指令確認部120、判定結果出力部130、通信部150を備える。また、プログラム解析装置1のRAM13乃至不揮発性メモリ14には、入力装置71、外部機器72等から取得した加工プログラム200が予め記憶される。更に、プログラム解析装置1のRAM13乃至不揮発性メモリ14には、工具に係る情報が予め記憶された領域である工具情報記憶部210が予め用意されている。
【0050】
本実施形態によるプログラム解析装置1が備えるプログラム解析部100、工具情報取得部110、加工指令確認部120、判定結果出力部130は、第1実施形態によるプログラム解析装置1が備える各部と同様の機能を備える。
【0051】
通信部150は、CPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理と、インタフェース20を用いた入出力処理が行われることで実現される。通信部150は、工作機械2、フォグコンピュータ6、クラウドサーバ7、図示しないプログラム作成装置、シミュレーション装置、CAD/CAM装置等との間で加工プログラム200の送受信や、加工プログラム200に対する整合性の判定結果の送信を行う。なお、加工指令確認部120は、加工プログラム200における指令に整合性が取れていないものがあると判定した場合、、工作機械2に対して加工に係る動作の実行を中断するように通信部150からネットワークを介して指令を送信するようにしても良い。
【0052】
上記構成を備えた本実施形態によるプログラム解析装置1は、工作機械2で実行される加工プログラムや、フォグコンピュータ6、クラウドサーバ7等が記憶する加工プログラム、図示しないプログラム作成装置、シミュレーション装置、CAD/CAM装置等で作成された加工プログラムを受信し、受信した加工プログラムにおける指令の整合性を判定し、その判定結果を送り返すことができる。そのため、実際に加工プログラムを制御装置で実行する前段階で加工プログラムの整合性を判定して、正しいプログラムへと修正することが可能となる。
【0053】
以上、本発明の一実施形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
例えば、上記した第1,2実施形態によるプログラム解析装置1は、内部メモリ上に工具情報記憶部210を備えている。しかしながら、工具情報記憶部210を外部のホストコンピュータやフォグコンピュータ、クラウドサーバ等に設け、ネットワークを介して工具情報を取得するように構成しても良い。例えば図9に示されるように、クラウドサーバ7に工具情報記憶部210を設けることで、複数のプログラム解析装置1の間で工具情報を共有するようにしても良い。これにより、複数の工場で共有される工具情報を中央で一括してメンテナンスすることができる。
【符号の説明】
【0054】
1 プログラム解析装置
2 工作機械
5 ネットワーク
6 フォグコンピュータ
7 クラウドサーバ
11 CPU
12 ROM
13 RAM
14 不揮発性メモリ
15,18,19,20 インタフェース
16 PLC
17 I/Oユニット
22 バス
30 軸制御回路
40 サーボアンプ
50 サーボモータ
60 スピンドル制御回路
61 スピンドルアンプ
62 スピンドルモータ
63 ポジションコーダ
70 表示装置
71 入力装置
72 外部機器
100 プログラム解析部
110 工具情報取得部
120 加工指令確認部
122 指令コード確認部
124 送り方向確認部
126 工具姿勢確認部
130 判定結果出力部
140 制御部
150 通信部
200 加工プログラム
210 工具情報記憶部
300 制御システム
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11