(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-01
(45)【発行日】2024-07-09
(54)【発明の名称】解析装置、解析プログラム、加工システムおよびその加工機
(51)【国際特許分類】
G05B 19/4093 20060101AFI20240702BHJP
B23Q 15/00 20060101ALI20240702BHJP
【FI】
G05B19/4093 H
B23Q15/00 307Z
(21)【出願番号】P 2022168347
(22)【出願日】2022-10-20
【審査請求日】2023-05-10
(31)【優先権主張番号】P 2022144595
(32)【優先日】2022-09-12
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000132725
【氏名又は名称】株式会社ソディック
(72)【発明者】
【氏名】川▲崎▼ 通久
(72)【発明者】
【氏名】渡邉 芳修
【審査官】荻野 豪治
(56)【参考文献】
【文献】特許第4142872(JP,B2)
【文献】国際公開第2014/13550(WO,A1)
【文献】特開2002-341912(JP,A)
【文献】特開平10-161729(JP,A)
【文献】特公平6-35096(JP,B2)
【文献】特許第4847428(JP,B2)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/18 - 19/46
B23Q 15/00
(57)【特許請求の範囲】
【請求項1】
NCプログラムを解読して加工機に対する指令プログラムを作成する解析装置であって、
前記NCプログラムを解読して、実際に前記加工機を駆動することにより得られる信号に基づいて次の軸移動指令を行うリアルタイム処理指令を判別するNCプログラム解析手段と、
前記NCプログラムのうち前記リアルタイム処理指令以外を示す指令をバイナリ形式に変換して事前変換指令データを作成する事前変換手段と、
前記事前変換指令データと前記リアルタイム処理指令に基づいて前記指令プログラムを作成する指令プログラム作成手段を備えたことを特徴とする解析装置。
【請求項2】
請求項1記載の解析装置において、前記指令プログラム作成手段は前記事前変換指令データと前記リアルタイム処理指令の間に切替指令を挿入して前記指令プログラムを作成することを特徴とする解析装置。
【請求項3】
請求項1記載の解析装置において、前記リアルタイム処理指令は工具長測定、穴中心測定、柱中心測定または端面測定を行う指令であることを特徴とする解析装置。
【請求項4】
請求項1記載の解析装置において、前記NCプログラム解析手段は、実行後に加工処理を一時停止してもワークに影響を与えない指令が含まれているか否かを示す一時停止可能情報を前記指令プログラムに付加することを特徴とする解析装置。
【請求項5】
NCプログラムを解読して加工機に対する指令プログラムを作成する解析プログラムであって、
コンピュータを、
前記NCプログラムを解読して実際に前記加工機を駆動することにより得られる信号に基づいて次の軸移動指令を行うリアルタイム処理指令を判別するNCプログラム解析手段と、
前記NCプログラムのうち前記リアルタイム処理指令以外を示す指令をバイナリ形式に変換して事前変換指令データを作成する事前変換手段と、
前記事前変換指令データと前記リアルタイム処理指令に基づいて前記指令プログラムを作成する指令プログラム作成手段として機能させるための解析プログラム。
【請求項6】
請求項1記載の解析装置と、前記加工機を備えた加工システムであって、
前記加工機は
前記解析装置が作成する前記指令プログラムを受信する指令プログラム受信手段と、
前記指令プログラムを解読して前記事前変換指令データと前記リアルタイム処理指令を判別する実行管理手段と、
前記リアルタイム処理指令をバイナリ形式に変換して前記加工機のモータ制御部を制御する逐次実行手段を備え、
前記実行管理手段は、前記指令プログラムのうち前記事前変換指令データについては前記モータ制御部に直接送信し、前記リアルタイム処理指令については前記逐次実行手段に送信することを特徴とす
る加工システム。
【請求項7】
請求項6記載の加工システムにおいて、前記NCプログラム解析手段は、実行後に加工処理を一時停止してもワークに影響を与えない指令が含まれているか否かを示す一時停止可能情報を前記指令プログラムに付加することを特徴とする加工システム。
【請求項8】
請求項7記載の加工システムにおいて、前記実行管理手段は、前記指令プログラムに付加された前記一時停止可能情報に基づいて前記指令プログラムをどこまで実行するかを決定することを特徴とする加工システム。
【請求項9】
請求項6または8記載の加工システムにおける加工機。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、加工機のNCプログラムを解析する技術を備えた解析装置、解析プログラム、加工システムおよびその加工機に関する。
【背景技術】
【0002】
従来、加工機の加工においては加工機を駆動するための指令としてCAD/CAMシステムやマニュアルで作成された数値制御プログラム(NCプログラム)が使用されている。加工機の数値制御装置では、NCプログラムに含まれる指令を1ブロック読み取る毎に、そのブロックで指令されているプログラムの内容を解析し指令ごとの処理を行う。例えば指令ごとの処理としては、工具の移動指令に対して指令を細かく分割して補間処理を行うことにより、工具経路を平滑化し滑らかにすることが行なわれている。
【0003】
しかしながら、工具経路が3次元曲面形状等である場合のようにより細かな補間処理を行う必要がある場合、数値制御装置での演算処理に多大な時間を要する。このようなケースにおいて直前の移動指令が短く工具が短時間で移動するような場合、つぎの移動指令のための演算処理が間に合わなくなることがあり、最悪のケースではブロックとブロックの間で工具の送りが一時停止してしまうことやカッタマークが製品に付き製品品質の悪化を招くこと、またサイクルタイムが延びるなどの生産効率の面でも悪影響も与える問題が発生していた。
【0004】
上記問題を解決するため数値制御装置にNCプログラムを送信する前に、解析装置にてあらかじめNCプログラムの構文解析、補間演算等の処理を行い、その後サーボ機構に直接供給可能なバイナリデータに変換して送信することが行なわれている(特許文献1、特許文献2)。
【先行技術文献】
【特許文献】
【0005】
【文献】特公平06-035096号公報
【文献】特許第4142872号公報
【文献】特許第4847428号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
(1)しかしながら、NCプログラムのうち事前にバイナリデータに変換できる指令は限られており、全ての指令が事前に変換することはできるわけではない。例えば、リアルタイムに変化するような情報を利用して駆動する指令は事前にバイナリデータに変換することは困難である。一例として、工具長測定は、実際に主軸を直線で移動させ、工具がレーザ測定装置のセンサに接触したことを検知すると、残りの軸移動を中断して次のブロックの指令を実行するものであり、このときに機械座標などを読み取り計算することによって工具長測定を行う。このような処理は、工具の停止位置が実際に主軸を駆動してセンサに接触しないと定まらず、また次のブロックの指令は工具の停止位置から開始するため、あらかじめ事前にバイナリデータに変換することはできない。
【0007】
(2)また、解析装置から順次、補間演算等の処理が終了したデータを数値制御装置へ送信する場合、数値制御装置による加工処理において解析装置と数値制御装置の間の転送処理の影響を受ける可能性がある。例えば、数値制御装置によって加工処理が行なわれている途中で解析装置からのデータの転送が遅延した場合やネットワークの障害が発生した場合、工具がワークに接触している状態で加工が停止してしまい、ワークに食い込みが発生する、という課題があった。
【0008】
本発明は(1)または(2)のような事情に鑑みてなされたものであり、数値制御装置の処理を最小限として負荷を軽減し、加工機の生産効率の向上を図ることを目的とする。
【課題を解決するための手段】
【0009】
本開示は、NCプログラムを解読して加工機に対する指令プログラムを作成する解析装置であって、前記NCプログラムを解読して、実際に前記加工機を駆動することにより得られる信号に基づいて次の軸移動指令を行うリアルタイム処理指令を判別するNCプログラム解析手段と、前記NCプログラムのうち前記リアルタイム処理指令以外を示す指令をバイナリ形式に変換して事前変換指令データを作成する事前変換手段と、前記事前変換指令データと前記リアルタイム処理指令に基づいて前記指令プログラムを作成する指令プログラム作成手段を備えたことを特徴とする。
また本開示は、NCプログラムを解読して加工機に対する指令プログラムを作成する解析プログラムであって、コンピュータを、前記NCプログラムを解読して実際に前記加工機を駆動することにより得られる信号に基づいて次の軸移動指令を行うリアルタイム処理指令を判別するNCプログラム解析手段と、前記NCプログラムのうち前記リアルタイム処理指令以外を示す指令をバイナリ形式に変換して事前変換指令データを作成する事前変換手段と、前記事前変換指令データと前記リアルタイム処理指令に基づいて前記指令プログラムを作成する指令プログラム作成手段として機能させることを特徴とする。
さらに本開示は、解析装置と、加工機を備えた加工システムであって、前記加工機は前記指令プログラムを受信する指令プログラム受信手段と、前記指令プログラムを解読して前記事前変換指令データと前記リアルタイム処理指令を判別する実行管理手段と、前記リアルタイム処理指令をバイナリ形式に変換して前記加工機のモータ制御部を制御する逐次実行手段を備え、前記実行管理手段は、前記指令プログラムのうち前記事前変換指令データについては前記モータ制御部に直接送信し、前記リアルタイム処理指令については前記逐次実行手段に送信することを特徴とする特徴とする加工システム。
【0010】
ここで、「プログラム」とは、CPUにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム、オペレーティングシステムと協働してその機能を発揮するプログラム等を含む概念である。
また「装置」とは、1台のコンピュータによって構成されるものだけでなく、ネットワークなどを介して接続された複数のコンピュータによって構成されるものも含む概念である。したがって、本発明の一部の手段または全部の手段が複数のコンピュータに分散されている場合、これら複数のコンピュータが装置に該当する。
さらに「加工機」とは、本実施形態においては数値制御装置と加工機本体を総称したものである。
「NCプログラム」は、NC工作機械といった数値制御装置等により実行されるプログラムであり、「CNC(Computer Numerical Control)プログラム」、「数値制御NCプログラム」、「数値制御プログラム」または「NCプログラム」と称することがある。
そして「リアルタイム処理」とは、実際に加工機を動作することによって加工機本体から数値制御装置に送信される信号に基づいて次の軸移動を行う処理であり、言いかえると実際に加工機を動作して信号を取得しないと次の軸移動ができない処理である。例えば、工具長測定処理(ボールエンドミルの測定処理、フラットエンドミルやラジアスエンドミルの測定処理)、穴中心測定処理、柱中心測定処理、端面測定処理が挙げられる。工具長測定処理は、レーザ測定器等が設けられた加工機の主軸を移動させ、主軸に取りつけられた工具の先端がレーザ測定器の光軸に接触してセンサ信号が数値制御装置に入力されると工具の移動を中断し、工具の停止位置をもとにして次の主軸の移動を行う処理である。また穴中心測定処理や柱中心測定処理は、加工機の主軸にタッチセンサ等の計測工具を取り付けて主軸を移動させ、計測工具が測定対象の端面に接触してセンサ信号が数値制御装置に入力されると計測工具の移動を中断し、計測工具の停止位置から測定対象の中心位置を算出し、測定対象の中心位置をもとにして次の主軸の移動を行う処理である。端面測定処理は、穴中心測定処理や柱中心測定処理と同様、加工機の主軸にタッチセンサ等の計測工具を取り付けて主軸を移動させ、計測工具が測定対象の端面に接触してセンサ信号が数値制御装置に入力されると計測工具の移動を中断し、計測工具の停止位置から測定対象の端面の位置を算出し、計測工具の停止位置をもとにして次の主軸の移動を行う処理である。
また、「リアルタイム処理指令」とは、NCプログラムの指令のうちリアルタイム処理に関する指令を指す。
さらに「指令」とは、加工機本体を制御するために加工機本体に対して行う命令であり、複数の指令によりNCプログラムが構成される。例えば、指令は使用する工具、工具が移動する座標位置、速度等を指定するNCプログラムであり、動作指令を示すNCコード(G01:直線補間、G02またはG03:円弧補間等)、工具の各軸(X軸、Y軸、Z軸)の座標値、送り速度(F値、以下、加工速度として説明する)などを含む。NCコードは、Gコード(軸移動等に関する指令)、Tコード(工具交換指令など)、Sコード(主軸モータ回転数指令)、およびMコード(機械動作指令)等がある。また「指令」は1ブロックのNCプログラムを指す場合もあるし、複数ブロックのNCプログラムを指す場合もある。
「事前変換指令データ」とは、解析装置がNCプログラムの指令をバイナリ形式に変換したバイナリデータであり、直接加工機が処理可能な形式となっているデータである。
【0011】
本開示によれば、事前にバイナリ方式に変換可能な指令とバイナリ方式に変換できないリアルタイム処理の指令とを判別して、事前に変換できる指令に関しては演算処理を事前に行い、事前に変換できないリアルタイム処理指令はそのまま数値制御装置に送信するため、NCプログラムのうちリアルタイム処理指令が含まれていたとしても適切に製品を高速で加工することができ、生産効率の向上を図ることが可能となる。
【0012】
本開示の解析装置は、前記指令プログラム作成手段は前記事前変換指令データと前記リアルタイム処理指令の間に切替指令を挿入して前記指令プログラムを作成することを特徴とする。
【0013】
本開示によれば、指令プログラム作成手段が事前変換指令データとリアルタイム処理指令の間に切替指令を挿入して指令プログラムを作成し、リアルタイム処理指令後の機械座標系の位置を予め決定して次の指令を作成するため、リアルタイム処理指令後に指令位置が不明確となる場合でも事前に事前変換指令データを作成して指令プログラムを作成することが可能となる。
【0014】
また本開示の解析装置において、リアルタイム処理指令は工具長測定、穴中心測定、柱中心測定または端面測定を行う指令であることを特徴とする。
【0015】
さらに本開示の解析装置において、前記NCプログラム解析手段は、実行後に加工処理を一時停止してもワークに影響を与えない指令が含まれているか否かを示す一時停止可能情報を前記指令プログラムに付加することを特徴とする。
そして本開示の加工システムにおいて、前記実行管理手段は、前記指令プログラムに付加された前記一時停止可能情報に基づいて前記指令プログラムをどこまで実行するかを決定することを特徴とする。
【0016】
本開示によれば、解析装置において、加工処理を一時停止してもワークに影響を与えない指令が含まれているか否かを示す一時停止可能情報を指令プログラムに付加し、その後、加工機においては指令プログラムに付加された一時停止可能情報に基づいてどこまで加工を実行するかを決定するため、解析装置からのデータの転送が遅延した場合やネットワークの障害が発生した場合であっても、ワークに悪影響を与える位置で加工が停止してしまうといった問題を防止することが可能となる。
【0017】
「NCプログラム解析手段」は、実施形態においては、ステップS403がこれに対応する。
「事前変換手段」は、実施形態において、ステップS406がこれに対応する。
「指令プログラム作成手段」は、実施形態においては、ステップS409がこれに対応する。
「指令プログラム受信手段」は、実施形態においては、ステップS201がこれに対応する。
「実行管理手段」は、実施形態においては、ステップS203がこれに対応する。
「逐次実行手段」は、実施形態においては、ステップS204がこれに対応する。
【発明の効果】
【0018】
本開示の解析装置および加工システムは、解析装置において事前に演算処理やワークに悪影響を与えないための処理等を行うため数値制御装置の負荷が軽減され加工機の生産効率の向上を図ることが可能となる。
【図面の簡単な説明】
【0019】
【
図1】本発明の第1の実施形態の加工システム1の機能構成図である。
【
図2】上記実施形態の加工システム1の概略構成図である。
【
図3】上記実施形態の加工機本体4のモータ制御部45を示す概略構成図である。
【
図4】上記実施形態の加工機本体4のクーラント供給機構420を示す概略構成図である。
【
図5】上記実施形態の加工機本体4のセンサ430の一例を示す概略構成図である。
【
図6】上記実施形態の解析装置2を示すハードウェア構成図である。
【
図7】上記実施形態の数値制御装置3を示すハードウェア構成図である。
【
図8】上記実施形態の加工システム1の全体の流れを示すフローチャートである。
【
図9】上記実施形態のNCプログラム解析処理を示すフローチャートである。
【
図10】上記実施形態のNCプログラム解析処理のS403のその他の例を示すフローチャートである。
【
図11】上記実施形態の逐次実行処理を示すフローチャートである。
【
図12】上記実施形態の解析装置2に表示される設定画面の一例である。
【
図13】上記実施形態のNCプログラム11の一例である。
【
図14】上記実施形態のリアルタイム処理テーブル131の一例である。
【
図15】上記実施形態の指令プログラム14の説明図である。
【
図16】上記実施形態の工具長測定処理シーケンスを示す表である。
【
図17】本発明の第2の実施形態のNCプログラム解析処理を示すフローチャートである。
【
図18】上記実施形態の一時停止可能指令を説明する説明図である。
【
図19】上記実施形態の一時停止可能指令を含むNCプログラム11の一例である。
【
図20】上記実施形態の一時停止可能指令を含まない指令プログラム14の説明図である。
【
図21】上記実施形態の一時停止可能指令を1つ含む指令プログラム14の説明図である。
【
図22】上記実施形態の一時停止可能指令を1つ以上含む指令プログラム14の説明図である。
【
図23】上記実施形態の通信バッファ317を示す説明図である。
【
図24】上記実施形態の加工システム1の全体の流れを示すフローチャートである。
【
図25】上記実施形態の実行管理制御を説明する説明図である。
【
図26】上記実施形態の実行管理制御を説明する説明図である。
【発明を実施するための形態】
【0020】
以下、図面を用いて本発明の実施形態について説明する。以下に示す実施形態中で示した各種特徴事項は、互いに組み合わせ可能である。
【0021】
<1 本発明の第1の実施形態>
<1.1 機能構成>
図1は、本発明の実施形態の加工システム1の機能構成図である。
操作者が、解析装置2のディスプレイ215に表示された設定画面からNCプログラム11を選択すると、NCプログラム取得手段21は選択されたNCプログラム11を取得する。取得されたNCプログラム11はNCプログラム解析手段22により1ブロックごとに解読され、1ブロックに含まれる指令12がリアルタイム処理指令17であるか否かの判別が行われる。
【0022】
1ブロックに含まれる指令12がリアルタイム処理指令17でない場合は、事前変換手段23によりその指令12がバイナリ形式に変換されて、事前変換指令データ16が作成される。1ブロックに含まれる指令12がリアルタイム処理指令17である場合は、NCプログラム11のフォーマット自体のエラー等のプログラムミスのチェックを行う。指令プログラム作成手段24は、作成された事前変換指令データ16とリアルタイム処理指令17を合成して、指令プログラム14を作成する。また指令プログラム作成手段24は、事前変換指令データ16とリアルタイム処理指令17の間に切替指令15を挿入する。この切替指令15は、主軸41やテーブル42等の移動機構の位置を基準位置に復帰させるための指令データである。作成された指令プログラム14は、指令プログラム送信手段25により数値制御装置3に送信され、通信回路316の通信バッファ317に指令プログラム14が書き込まれる。
【0023】
数値制御装置3の指令プログラム受信手段35は、解析装置2から送信された指令プログラム14を通信バッファ317から読み出す。読み出された指令プログラム14は、実行管理手段32により1ブロックごとに解読され、1ブロックの指令プログラム14が事前変換指令データ16であるか、もしくはリアルタイム処理指令17であるかが判別される。
1ブロックの指令プログラム14がリアルタイム処理指令17である場合は、実行管理手段32から逐次実行手段33に伝達される。
逐次実行手段33はリアルタイム処理指令17を1ブロックずつ構文解析し、中間処理、変換処理を行うことによりバイナリ形式に変換する。そして逐次実行手段33は変換したバイナリ形式データを、入出力手段34を介して加工機本体4のモータ制御部45に送信する。また、数値制御装置3はリアルタイムに加工機本体4のセンサ430からセンサ信号を取得し、次の軸移動指令を行う。
一方、1ブロックの指令プログラム14がリアルタイム処理指令17ではなく事前変換指令データ16である場合には、入出力手段34を介して加工機本体4のモータ制御部45や機械制御部410に直接送信する。
加工機本体4のモータ制御部45や機械制御部410は、バイナリ形式の指令を受け取るとその指令に従って主軸41やテーブル42等の軸移動を行うことやクーラント吐出等の各構成機器を駆動する。
【0024】
このように、事前に変換可能な指令は解析装置でバイナリ方式に変換して数値制御装置に送信するため、演算処理に多大な時間を要するNCプログラムであったとしても製品を高速で加工することができ、生産効率の向上を図ることが可能となる。さらに、NCプログラムのうち事前にバイナリデータに変換できない指令が含まれていたとしても、解析装置からバイナリ方式のデータとバイナリデータに変換できない指令を混在して数値制御装置に送信することが可能であるため、適切に高速処理を実現することが可能となる。
【0025】
<1.2 システム構成・ハードウェア構成>
以下、本発明の実施形態について、図面を用いて説明する。
図2は本発明の実施形態の加工システム1の概略構成図である。
図2に示すように、本発明の加工システム1は、事前にNCプログラムの解析を行う解析装置2と、加工機本体4を制御する数値制御装置3と、ワークW(被加工物)をテーブルに載置して工具でワークWを加工する加工機本体4とからなる。また、解析装置2と数値制御装置3とはネットワーク5で接続されている。
【0026】
加工機本体4は、工具が取り付けられる主軸41と、ワークWが載置されるテーブル42と、テーブル42を移動させる送り軸43,44と、各軸(主軸、送り軸)を駆動させるモータ制御部45と、機械制御部410と、機械制御部410によって制御されるクーラント供給機構420と、センサ信号を数値制御装置3に送信するセンサ430を含む。通常、主軸は切削動力を伝える軸でありZ軸として表わし、テーブル42を移動させる互いに直交する2つの送り軸をX軸とY軸として表す。X軸およびY軸はZ軸と直交している。
機械制御部410は、Mコードの指令や軸移動指令以外のGコードの指令に該当するバイナリ方式のデータに基づいて加工機本体4の各構成機器に対して制御を行う装置である。機械制御部410にて制御される機構はクーラント供給機構420に限られず、Mコードの指令や軸移動指令以外のGコードの指令を受けて駆動する加工機本体4の全ての機構が含まれ、例えば主軸41の回転/停止機構等が含まれる。
センサ430は、加工機本体4からセンサ信号を数値制御装置3に送信する検出器であり、例えばレーザ測定器やダイヤルゲージ、基準位置検出バー、タッチセンサ等が挙げられる。センサ430は、数値制御装置3に対して必要な信号を適切に送信可能な検出器であればどのようなセンサでも構わない。
【0027】
図3は本発明の実施形態の加工機本体4のモータ制御部45を示す概略構成図である。
図3に示すように、モータ制御部45は加工機本体4の移動機構である主軸41やテーブル42を駆動するための制御部である。モータ制御部45は数値制御装置3から各軸を制御するバイナリ形式の軸移動指令を受信するデータ受信部46と、軸移動指令に従って主軸41であるZ軸の移動信号とテーブル42の送り軸43,44であるX軸とY軸の移動信号を生成する信号生成部47と、主軸を駆動するモータ48aと、モータ48aに生成した信号を伝達する主軸アンプ48と、送り軸を駆動するモータ49a,49bと、モータ49a,49bに生成した信号を伝達するサーボアンプ49とを備える。なお、
図3では回転型のモータが示されているが、リニアモータの場合も同様である。また、サーボアンプ49は、X軸とY軸のそれぞれにあるが、便宜上、
図3のブロック図では1つにして示している。
【0028】
図4は、上記実施形態の加工機本体4のクーラント供給機構420を示す概略構成図である。
クーラント供給機構420は、工具を高速回転させテーブル42のワークWを切削加工する際に冷却洗浄液(以下、クーラントという)を加工部位に噴射する機構である。具体的には、クーラントを格納するタンク425と、タンク425内のクーラントを吸い上げるポンプ424と、クーラントを加工部位に噴射する複数のクーラント噴射ノズル423と、クーラント噴射ノズル423とタンク425の間に設けられたクーラント供給配管422と、クーラント供給配管422に設けられクーラントの流路を開閉する開閉弁421を含む。
機械制御部410は、数値制御装置3からMコード等の指令に該当するバイナリ方式のデータを受信すると、開閉弁421を制御してクーラントの流路を開閉する。
【0029】
図5は、上記実施形態の加工機本体4のセンサ430の一例を示す概略構成図である。
ここでは、数値制御装置3に情報を送信するセンサ430として市販のレーザ測定器(工具長測定装置)を使用する場合を例に挙げて説明を行う。
工具長測定装置であるセンサ430は、例えば加工機本体4のテーブル42に取付部材を介して取り付けられている。センサ430は、投光部431と受光部432を備え、主軸41の軸線と直角向きのレーザ光軸440を形成する。センサ430は投光部431から出るレーザ光軸440が受光部432の小窓を通って内部のダイオードに到達するのを監視し、工具がレーザ光軸440を直角に横切って通過する際に遮断されたことを検知すると、数値制御装置3にセンサ信号を出力する。
数値制御装置3はセンサ430からのセンサ信号を受信すると軸移動を中断して工具長を演算するとともにセンサ信号の入力があった工具の停止位置から次の主軸41の軸移動指令を行う。
【0030】
図6は、本発明の実施形態の解析装置2を示すハードウェア構成図である。
図6に示すように解析装置2のCPU211には、可搬性記録媒体214に対するデータの読み込み及び書き込みを制御するread/write(R/W)部212と、メモリ213と、ディスプレイ215と、通信回路216と、キーボード/マウス217と、ハードディスク219が接続されている。
【0031】
CPU211は、バスラインを介して各部からのデータを取得し、各部を制御するものである。メモリ213は、CPU211が処理を行う際のワークエリアとなるものである。通信回路216は、ネットワーク5に接続して情報を取得するための回路である。ハードディスク219には、オペレーティングシステム291、解析プログラム292、CADプログラム293、CAMプログラム294、NCプログラム11、リアルタイム処理テーブル131、マクロプログラム13、指令プログラム14などが記録されている。
CPU211は、ハードディスク219に記録されている解析プログラム292に従って構文解析処理、中間処理および指令プログラム作成処理を行う。また解析プログラム292は、加工シミュレーション機能を備えている。具体的にはNCプログラム11を用いて工具位置が移動した工具軌跡をシミュレーションして表示させる機能や、NCプログラム11に基づく工具軌跡に対応するワークWの切削状態をシミュレーションして表示させる機能を備える。
CADプログラム293は、操作者が入力したワークWの加工形状を三次元のソリッドモデルのデータとして出力する機能を有し、CAMプログラム294は、CADプログラム293により作成された三次元のソリッドモデルのデータからNCプログラム11を作成する機能を備える。
これらのプログラムは、可搬性記録媒体214に記録されていたものを、R/W部212を介して、ハードディスク219に格納、インストールすることができる。
NCプログラム11は、解析装置2に搭載されたCAMプログラム294により作成されて記録されていてもよいし、可搬性記録媒体214によってハードディスク219に格納されてもよい。また、NCプログラム11は外部のCAM装置と接続してネットワークを介して取得してもよい。
キーボード/マウス217は公知の部品を使用でき、タッチパネルやソフトキーボード等でもよい。
【0032】
図7は、本発明の実施形態の数値制御装置3を示すハードウェア構成図である。
図7に示すように数値制御装置3のCPU311には、可搬性記録媒体314に対するデータの読み込み及び書き込みを制御するread/write(R/W)部312と、メモリ313と、ディスプレイ315と、通信回路316と、キーボード/マウス31と、ハードディスク319が接続されている。
CPU311は、バスラインを介して各部からのデータを取得し、数値制御装置3の各部を制御するものである。メモリ313は、CPU311が処理を行う際のワークエリアとなるものである。
通信回路316は、ネットワーク5に接続して情報を取得するための回路であり、RAM等で構成された通信バッファ317を含む。ハードディスク319には、オペレーティングシステム391、制御装置プログラム392、マクロプログラム13などが記録されている。これらのプログラムは、可搬性記録媒体314に記録されていたものを、データの読み込み及び書き込みを制御するread/write(R/W)部312を介して、ハードディスク319に格納、インストールすることができる。
CPU311は、ハードディスク319に記録されている制御装置プログラム392に従って指令プログラム14の判別処理や逐次実行処理を行う。
キーボード/マウス31は
図2の例においては専用キーボードを使用しているが、公知の部品を使用でき、タッチパネルやソフトキーボード等でもよい。
【0033】
<1.3 加工システムの解析処理>
図8は、本発明の実施形態の加工システム1の全体の流れを示すフローチャートであり、
図9は、本発明の実施形態のNCプログラム解析処理を示すフローチャートである。これらの図において、解析装置2として示すフローチャートは、解析プログラム292のフローチャートであり、数値制御装置3として示すフローチャートは、制御装置プログラム392のフローチャートである。
操作者の操作により、解析装置2のCPU211は、設定画面251をディスプレイ215に表示する。
図12は、解析装置2に表示される設定画面251の一例である。
図12に示すように、設定画面251にはNCプログラム11の一覧表示252と実行ボタン253と解析ボタン255が表示されている。また、NCプログラム11の一覧表示252には、NCプログラム解析処理が終了していることを示す処理済表示256が設けられている。
操作者がキーボード/マウス217を操作してNCプログラム解析処理が終了していないNCプログラム11を一覧表示252から選択して解析ボタン255を押下すると、解析装置2のCPU211は選択されたNCプログラム11を取得し(ステップS101)、後述するNCプログラム解析処理を行い、指令プログラム14を作成する(ステップS102)。作成された指令プログラム14はNCプログラム11と対応づけられてハードディスク219に格納される。NCプログラム解析処理にてNCプログラム11にプログラムミス等のエラーが発見された場合には、設定画面251にメッセージ等を表示し、操作者にNCプログラム11の修正の必要があることを通知する。
次に、操作者がキーボード/マウス217を操作してNCプログラム解析処理が終了しているNCプログラム11を一覧表示252から選択して実行ボタン253を押下すると、解析装置2のCPU211は選択されたNCプログラム11に対応する1つまたは複数の指令プログラム14を数値制御装置3に順次送信する(ステップS103)。
数値制御装置3のCPU311は解析装置2から指令プログラム14を受信すると(ステップS201)、指令プログラム14を解読し、1ブロックごと送信された順に実行管理制御を行う(ステップS202)。具体的には、数値制御装置3のCPU311は、解読した指令プログラム14の1ブロックのデータが事前変換指令データ16か否かを解読し、事前変換指令データ16である場合はそのまま加工機本体4のモータ制御部45もしくは機械制御部410へ送信する(ステップS205)。
加工機本体4のモータ制御部45は事前変換指令データ16を受信すると、その指令に従って主軸を駆動するモータ48aや送り軸を駆動するモータ49a,49b等を駆動して移動機構を駆動する。また、機械制御部410は、事前変換指令データ16を受信すると、その指令に従ってクーラントの吐出等、加工機本体4の各構成機器を駆動する(ステップS301)。
数値制御装置3のCPU311は、解読した指令プログラム14の1ブロックのデータがリアルタイム処理指令17であると判断した場合は、後述する逐次実行処理を行う(ステップS204)。数値制御装置3のCPU311は、指令プログラム14の全てのブロックについて実行管理制御を行う(ステップS206)。
【0034】
<1.4 NCプログラム解析処理1>
NCプログラム解析処理においては、選択されたNCプログラム11を1ブロックごとに解読し、そのブロックの指令12が、リアルタイム処理であるか否かの判別を行う(ステップS401)。
【0035】
図13に、NCプログラム11の一例を示す。NCプログラム11は複数の指令12からなり、内部はプログラムブロックごとに分割され、識別情報としてプログラム名が付されてハードディスク219に記憶されている。
図14に、リアルタイム処理テーブル131の一例を示す。リアルタイム処理はNCプログラム11のうちマクロプログラム13で実行される処理であり、解析装置2にはリアルタイム処理を示すマクロプログラム13のテーブルであるリアルタイム処理テーブル131が格納されている。リアルタイム処理テーブル131はリアルタイム処理か否かを判別するために使用される。
【0036】
NCプログラム解析処理は、NCプログラム11を1ブロックごと読み出して指令12のNCコードを参照して構文解析を行い(ステップS402)、NCコードがマクロプログラム13を呼び出すコードであるか否か、さらに呼び出されるマクロプログラム13がリアルタイム処理テーブル131に指定されたプログラムであるか否かを判断する(ステップS403)。
ここで、マクロプログラム13を呼び出すNCコードが「G65」である場合を例に挙げる。
図13に示されたNCプログラム11においては、4ブロック目に「G65」のNCコードが指定され、そして呼び出されるマクロプログラム13が「9603」として指定されている。解析装置2のCPU211は、NCプログラム11を1ブロックごと読み出して解読し、NCプログラム解析処理を行う。解析装置2のCPU211は、4ブロック目の指令12を解読する際に、NCコードが「G65」である場合、その後に指定されているマクロプログラム13がリアルタイム処理テーブル131に存在するプログラムであるか否かを判別する。
図13のNCプログラム11の4ブロック目においては、呼び出されるマクロプログラム13が「9603」であってリアルタイム処理テーブル131に存在するプログラムであるため、この指令12はリアルタイム処理指令17であると判断する。
指令12がリアルタイム処理指令17である場合は、指令12に対して構文チェック等のエラーチェックのみを行う(ステップS404)。
解析装置2のCPU211は、ステップS402で指令12がリアルタイム処理指令17ではないと判断した場合、必要があれば補間演算等の中間処理(ステップS405)を行い、最後にバイナリ形式の指令データに変換する(ステップS406)。バイナリ形式の指令データは、加工機本体4のモータ制御部45にそのまま供給する軸移動指令である場合や、クーラントやオイルミストのオン/オフ指令等の軸移動指令とは異なる機械制御部410にそのまま供給する機械動作指令である場合がある。
【0037】
図15に、指令プログラム14の説明図を示す。
図15の例においては、説明の便宜上、事前変換指令データ16もNCプログラムの形式で記載されているが、実際はバイナリ形式に変換されている。解析装置2のCPU211は、NCプログラム解析処理が1ブロック終了するごとに、作成した事前変換指令データ16もしくはリアルタイム処理指令17をひとつ前のブロックで作成した指令プログラム14の最後に合成して、指令プログラム14の作成を行う。NCプログラム11の最初のブロックに対してNCプログラム解析処理を行った場合は指令プログラム14が存在しないため、作成された事前変換指令データ16もしくはリアルタイム処理指令17を新たな指令プログラム14とする。このように、指令プログラム14はバイナリ形式のデータとNCプログラム形式のデータが混在されて合成された状態で作成される(ステップS409)。
解析装置2のCPU211は、合成するデータが事前変換指令データ16である場合、指令プログラム14の最後のデータがリアルタイム処理指令17であるか否かを判別し(ステップS407)、リアルタイム処理指令17である場合はデータの切り替わり位置であるとして、切替指令15を挿入する(ステップS408)。具体的に切り替わり位置とは、指令プログラム14のうちひとつ前のブロックと次のブロックでデータ形式が異なる場合の境界位置であり、リアルタイム処理指令17の後に事前変換指令データ16が合成される場合の境界である。
また切替指令15とは、主軸41やテーブル42等の移動機構の位置を基準位置に復帰させるための指令であり、移動機構の位置を一義的に決定するための位置指令データである。例えば移動機構を機械座標系の原点に戻す指令(G53G00Z0、G53G00X0.Y0)が使用される。切替指令15もバイナリ方式のデータに変換された状態で挿入される。
【0038】
解析装置2のCPU211は、指令プログラム14が規定のサイズとなった場合には一つのデータとしてファイル化してハードディスク219に格納する(ステップS410,S411)。
解析装置2のCPU211は、NCプログラム11の全てのブロックが終了するまでNCプログラム解析処理を繰り返す(ステップS412)。
【0039】
事前変換指令データ16とリアルタイム処理指令17の間に切替指令15を挿入して指令プログラム14を作成する理由は以下のとおりである。
解析装置2において事前に事前変換指令データ16を作成するためには、NCプログラム11に含まれるモータ制御部45への指令位置を事前に知る必要がある。しかしながらリアルタイム処理に関しては実際に加工機を動作してセンサ信号を受信しないと次の軸移動ができない処理であるため、事前に指令位置を把握することができない。そのため、リアルタイム処理指令17がNCプログラム11に含まれていた場合、リアルタイム処理指令後の指令12は指令位置が不明確となり、事前変換指令データ16を作成することができなくなる問題が発生する。よって、事前変換指令データ16とリアルタイム処理指令17の間に切替指令15を挿入してリアルタイム処理指令17の後の位置を一義的に決定することで、リアルタイム処理指令17後の指令12に対しても事前変換指令データ16を作成することが可能となる。
【0040】
<1.5 NCプログラム解析処理2>
図10は、上記実施形態のNCプログラム解析処理のS403のその他の例を示すフローチャートである。(3.2 NCプログラム解析処理1)にて記載した解析処理のステップS403を、以下の方法を使用してリアルタイム処理であるか否かの判別を行ってもよい。
具体的には、解析装置2のCPU211がステップS403のリアルタイム処理を判別する場合において、NCプログラム11を1ブロックごと読み出して指令12のNCコードを参照して構文解析を行い、NCコードがマクロプログラム13を呼び出すコードであるか否かを判別する(ステップS801)。そして、NCコードがマクロプログラム13を呼び出すコードである場合、そのNCコードの後に指定されているマクロプログラム13をハードディスク319から読み出し、マクロプログラム13に対して構文解析を行う(ステップS802)。呼び出されたマクロプログラム13を構文解析した結果、そのマクロプログラム13に加工機本体4からのセンサ信号を受信して動作を変更するNCコード、例えば「G31」(スキップ動作)がある場合は(ステップS803)、リアルタイム処理であると判断する。NCプログラム11に含まれるNCコードにマクロプログラム13を呼び出すコードがない場合、またマクロプログラム13に含まれるNCコードに「G31」がない場合はリアルタイム処理ではないと判断する。
【0041】
このように解析装置2のCPU211がマクロプログラム13を構文解析してリアルタイム処理であるか否かを判断するため、ハードディスク219にリアルタイム処理テーブル131が格納されてない場合であってもリアルタイム処理を判別することが可能となる。
【0042】
<1.6 逐次実行処理>
図11は、本発明の実施形態の逐次実行処理を示すフローチャートである。
逐次実行処理(ステップS501からステップS506)においては、数値制御装置3のCPU311はリアルタイム処理指令17に対してマクロプログラム13を読み出して構文解析を行い(ステップS502)、必要があれば補間演算等の中間処理(ステップS503)を行って、加工機本体4のモータ制御部45に直接供給可能なバイナリ形式の指令データに変換する(ステップS504)。数値制御装置3のCPU311は、変換されたバイナリ形式の指令データを加工機本体4のモータ制御部45へ送信する(ステップS505)。加工機本体4のモータ制御部45はバイナリ形式の指令データを受信すると、その指令に従って主軸を駆動するモータ48aや送り軸を駆動するモータ49a,49b等を制御し、移動機構を駆動する(ステップS601)。また数値制御装置3のCPU311はセンサ信号の入力が必要な指令に関してはセンサ信号を受信するまで軸移動動作等を行い、センサ信号を受信した場合(ステップS701)、次のブロックの指令に対して中間処理(ステップS503)、変換処理(ステップS504)およびバイナリ形式の指令データの送信(ステップS504)を逐次行う。加工機本体4のモータ制御部45はバイナリ形式の指令データに従い移動機構を駆動する(ステップS601)。リアルタイム処理指令17に指定された指令を全て完了するまでステップS502からS505の処理を繰り返し行う。
【0043】
図16は、上記実施形態の工具長測定処理シーケンスを示す表である。
例えばリアルタイム処理のひとつである工具長測定処理の場合、
図16で示されるような処理シーケンスで測定が行われる。NCインデックス番号905では数値制御装置3はモータ制御部45に対して主軸41をZ軸下方向へ移動させる軸移動指令を行う。モータ制御部45は主軸41に取りつけられた工具を駆動して工具の先端をレーザ光軸440に接触させる。センサ430は工具の先端を検出した場合、センサ信号を数値制御装置3に送信する。数値制御装置3はセンサ信号を受信すると、主軸41の移動を中断して工具を停止させるとともに、次のブロックの指令を実行する。なおこの工具の停止位置により工具長を求めることができる。
このように逐次実行処理において数値制御装置3は、実際に加工機本体4を駆動することにより、センサ信号を取得し、その信号に基づいて次の軸移動指令を行う。
【0044】
<2 本発明の第2の実施形態>
本発明の第2の実施形態の加工システム1は、さらに、数値制御装置3によって加工処理が行なわれている途中で解析装置2からのデータの転送が遅延した場合でもワークWに食い込みが生じないための機能を追加したものであり、具体的には以下の(1)、(2)の2点の機能をさらに備えたものである。
(1)解析装置2のNCプログラム解析処理(S102)では、リアルタイム処理であるか否かの判別だけでなく、加工処理を一時停止してもワークWに影響を与えない指令(以下、一時停止可能指令18と記す。)の判別を行う。そして、解析装置2は指令プログラム14に一時停止可能情報118を付加する。
(2)数値制御装置3の実行管理では、指令プログラム14に付加されている一時停止可能情報118を参照し、一時停止可能指令18のブロックまで加工処理を実行する。次の一時停止可能指令18が含まれる指令プログラム14を受信するまでは一時停止可能指令18の後の指令は実行しない。そして、次の一時停止可能指令18が含まれる指令プログラム14を受信した後に、前の一時停止可能指令18の後のブロックから、次の一時停止可能指令18のブロックまで加工処理を実行する。
【0045】
<2.1 解析装置2のNCプログラム解析処理3>
図17は、本発明の第2の実施形態のNCプログラム解析処理3を示すフローチャートである。以下の説明においては、一時停止可能指令18か否かの判別に関して主に説明を行う。リアルタイム処理であるか否かの判別等の説明に関しては<1.4 NCプログラム解析処理2>と同様であるため説明を省略する。
【0046】
実行後に加工処理を一時停止してもワークWに影響を与えない指令(一時停止可能指令18)とは、数値制御装置3によって加工処理が行なわれている途中で解析装置2からのデータの転送が遅延して数値制御装置3の加工処理が継続できなくなった場合、その指令を実行した後に加工処理を中断してもワークWに食い込み等の影響が生じない指令を指す。
NCプログラム解析処理において、一時停止可能指令18は一例としてワークWと工具が離れた位置での移動指令とすることができ、具体的には最高速度での移動指令である「G00」から始まる指令(
図19)が一時停止可能指令18の候補として挙げられる。
図18は、上記実施形態の一時停止可能指令を説明する説明図であり、
図19は、上記実施形態の一時停止可能指令18を含むNCプログラム11の一例である。NCプログラム11の内部はプログラムブロックごとに分割され、先頭に各プログラムブロックを識別するためのNから始まるNCインデックス番号が付与されている。
図18の破線は
図19に例示するNCプログラム11に従ってワークWを加工した場合の加工軌跡であり、加工軌跡に対応する指令のNCインデックス番号をそれぞれ矢印にて示している。また、便宜上、
図19に例示するNCプログラム11の座標値は「_」で示している。
図18および
図19の例では、「G00」から始まる指令は、NCインデックス番号N003、N004、N005、N007、N008、N009で示される指令である。NCインデックス番号N003、N004、N005、N007、N008、N009で示される指令に関しては、その指令を実行した後の加工位置は
図18に示すPn3、Pn4、Pn5、Pn7、Pn8、Pn9となる。Pn3、Pn4、Pn5、Pn7、Pn8、Pn9の加工位置において加工処理が中断されたとしてもワークWと工具が離れているため、ワークWに影響を与えることがない。
【0047】
NCプログラム解析処理においては、選択されたNCプログラム11を1ブロックごとに構文解析を行い、そのブロックの指令12が一時停止可能指令18か否かの判別を行う(ステップS901,S902,S903)。
解析装置2のCPU211は、ステップS903で指令12が一時停止可能指令18であると判断した場合、一時停止可能指令18に対応する解析データインデックス番号INをハードディスク219に格納する(ステップS904)。ここで解析データ19とは、指令プログラム14に含まれる指令データであって、解析装置2において構文解析され必要に応じて中間処理および変換処理が行われたのち、指令プログラム14の形式に変換された事前変換指令データ16、リアルタイム処理指令17および切替指令15の総称である。解析装置2のCPU211は、指令プログラム14を作成する際に、解析データ19の識別用として解析データインデックス番号INを作成し、解析データ19に付与している。ステップS904では、一時停止可能指令18に対応する解析データ19の解析データインデックス番号INを記憶する。
また解析装置2のCPU211は、指令12がリアルタイム処理指令17か否かを判別し、必要があれば補間演算等の中間処理やバイナリ形式に変換し、事前変換指令データ16を作成する(ステップS905)。
次に解析装置2のCPU211は、NCプログラム解析処理が1ブロック終了するごとに、作成した事前変換指令データ16もしくはリアルタイム処理指令17をひとつ前のブロックで作成した指令プログラム14の最後に合成し、適宜、事前変換指令データ16とリアルタイム処理指令17の間に切替指令15を挿入して指令プログラム14の作成を行う(ステップS906)。
そして解析装置2のCPU211は、指令プログラム14が規定のサイズとなった場合に一つのデータとして一時停止可能情報118を付加してファイル化を行い、ハードディスク219に格納する(ステップS907,S908)。
解析装置2のCPU211は、NCプログラム11の全てのブロックが終了するまでNCプログラム解析処理を繰り返す(ステップS901-S909)。
【0048】
図20は、上記実施形態の一時停止可能指令を含まない指令プログラム14の説明図であり、
図21は、上記実施形態の一時停止可能指令18を1つ含む指令プログラム14の説明図である。また、
図22は、上記実施形態の一時停止可能指令18を1つ以上含む指令プログラム14の説明図である。
指令プログラム14は、複数の解析データ19からなり、先頭に解析データ19を識別するためのINから始まる解析データインデックス番号INが付与されている。
また指令プログラム14には、解析データ19に一時停止可能指令18が含まれるか否かを示す一時停止可能情報118が付加されている。
一時停止可能情報118は、指令プログラム14の中に一時停止可能指令18が含まれるか否かを示す一時停止可能指令有無情報と、一時停止可能指令18に該当する解析データ19の解析データインデックス番号である停止可能指令インデックス番号情報から構成される(
図20,
図21,
図22)。
指令プログラム14の中に一時停止可能指令18が含まれていない場合は、一時停止可能情報118の一時停止可能指令有無情報に「なし」がセットされ、停止可能指令インデックス番号情報も同様に「なし」がセットされる(
図20)。指令プログラム14の中に一時停止可能指令18が1つ含まれている場合は、一時停止可能情報118の一時停止可能指令有無情報には「あり」がセットされ、停止可能指令インデックス番号は、停止可能指令18に該当する解析データ19の解析データインデックス番号INがセットされる(
図21)。また指令プログラム14の中に一時停止可能指令18が2つ以上含まれている場合は、一時停止可能情報118の一時停止可能指令有無情報に「あり」がセットされ、停止可能指令インデックス番号は、停止可能指令18に該当する解析データ19のうち、指令プログラム14の最後尾にある解析データインデックス番号INがセットされる(
図22)。
【0049】
<2.2 数値制御装置3の実行管理>
図23は、上記実施形態の通信バッファ317を示す説明図であり、
図25および
図26は、上記実施形態の実行管理制御を説明する説明図である。
図24は、上記実施形態の加工システム1の全体の流れを示すフローチャートである。
NCプログラム解析処理が終了後、操作者の操作等により、1つまたは複数の指令プログラム14が数値制御装置3に順次送信される(ステップS103)。送信された複数の指令プログラム14は送信された順に通信回路316の通信バッファ317に書き込まれる。通信バッファ317には、
図23に示すように、指令プログラム14が順次保存される。そして、FIFO(ファーストインファーストアウト)方式に従って、通信バッファ317に格納された順番で各ブロックが順次処理され、実行されたブロックから順次通信バッファ317から削除されるようになっている。ここで便宜上、通信バッファ317に格納された順に指令プログラムを14_1,14_2,・・・,14_n,・・・とし、最後に格納された指令プログラムを14_Nとする。
数値制御装置3の指令プログラム受信手段35は、解析装置2から送信された指令プログラム14を格納された順に通信バッファ317から順次読み出す(ステップS211)。実行管理手段32は格納された順に指令プログラム14_1,14_2,・・・,14_n,・・・,14_Nの一時停止可能情報118を参照し、一時停止可能指令有無情報に「あり」がセットされている指令プログラムを検索する(ステップS212)。
図25の例では、指令プログラム14_1,14_2,・・・,14_n,・・・,14_Nのうち、指令プログラム14_nのみ一時停止可能指令有無情報に「あり」がセットされ、その他の指令プログラムは一時停止可能指令有無情報に「なし」がセットされている。実行管理手段32は、通信バッファ317内に一時停止可能指令有無情報として「あり」がセットされている指令プログラム14_nがあった場合には(ステップS212のYES)、指令プログラム14_nの停止可能指令インデックス番号情報を参照し、停止可能指令インデックス番号情報に設定されている解析データインデックス番号に対応する解析データ19のブロックまで順に指令プログラム14を実行する(ステップS202からステップS206)。通信バッファ317内の指令プログラム14は、実行されたものから順次通信バッファ317内から削除される。通信バッファ317内に指令プログラム14が残っている場合は、ステップS211に戻り、処理を繰り返す。
【0050】
図26は、通信バッファ317に格納された指令プログラム14_1,14_2,・・・,14_n,・・・,14_Nの一時停止可能指令有無情報に全て「なし」がセットされている例である。実行管理手段32は、通信バッファ317内に格納された指令プログラムの一時停止可能指令有無情報に全て「なし」がセットされている場合は(ステップS212のNO)、指令プログラム14を実行せず、一時停止可能指令有無情報に「あり」がセットされている指令プログラムを受信するまで待機する。
【0051】
このように、解析装置2において加工処理を一時停止してもワークWに影響を与えない一時停止可能指令の検出を行い、指令プログラム14に一時停止可能情報118を付加して数値制御装置3に転送する。そして、数値制御装置3においては、一時停止可能指令を含む指令プログラム14を受信した場合にその指令まで加工処理を行う。そのため、加工処理の途中で解析装置2と数値制御装置3の間のデータの転送が遅延した場合であっても、工具がワークに接触している状態で加工が停止する問題を防止することが可能となる。
【0052】
<3 変形例>
(1)CADプログラム293およびCAMプログラム294は必須の構成要素ではなく、CADプログラム293およびCAMプログラム294は解析装置2に搭載されていなくてもよい。その場合は、外部のCAM装置で作成したNCプログラム11を解析装置2のハードディスク219に格納して使用する。
【0053】
(2)本実施形態において解析装置2はリアルタイム処理指令17をNCコードとマクロプログラム名によって判別する方法、またはマクロプログラム13を構文解析して判別する方法を開示したが、NCプログラム11を解析してリアルタイム処理指令17を判別することができれば、これに限られない。例えば、NCプログラム11上に加工機本体4のセンサ信号を待機するNCコードがある場合もその指令以降をリアルタイム処理指令17とすることも可能である。
【0054】
(3)本実施形態ではNCプログラム解析処理(ステップS102)を行う際に、シミュレーション表示処理を備えていてもよい。具体的には、特許文献3に開示されているように解析装置2がシミュレーション表示手段を備え、ワークWを加工するときの工具軌跡・工具移動速度・工具移動加速度・工具移動加速度などのシミュレーションを行なってディスプレイ215上にシミュレーション結果を表示してもよい。その場合は、例えば設定画面251の実行ボタン253や解析ボタン255を押下することにより、シミュレーション表示エリア254に工具軌跡等のシミュレーション結果を表示する(
図12)。
【0055】
(4)本実施形態では、操作者によって解析ボタン255が押下されることによりNCプログラム解析処理(ステップS102)が行われ、また操作者によって実行ボタン253が押下されることにより指令プログラム送信処理(ステップS103)以降の処理が行われていたが、このフローに限らない。例えば、操作者が解析ボタン255を押下することによりNCプログラム解析処理(ステップS102)を行い、解析装置2が指令プログラム14を作成するごとに自動的に解析装置2から数値制御装置3へ指令プログラム14を送信してもよい。また、解析・実行ボタンを新たに設け、NCプログラム解析処理(ステップS102)と指令プログラム送信処理(ステップS103)の間に操作者に実行ボタン253を押下してもらう流れと、解析・実行ボタンを押下することでNCプログラム解析処理(ステップS102)と指令プログラム送信処理(ステップS103)を連続して処理する流れを併存させてもよい。
このように、NCプログラム解析処理(ステップS102)と指令プログラム送信処理(ステップS103)以降の処理を1回の操作で行うことができるため操作性が向上する。
【0056】
(5)本実施形態では「リアルタイム処理」として、工具長測定処理(ボールエンドミルの測定処理、フラットエンドミルやラジアスエンドミルの測定処理)、穴中心測定処理、柱中心測定処理、端面測定処理を例として説明したが、レーザ測定器等のセンサ430のキャリブレーションに関してもリアルタイム処理としてもよいし、また上記に挙げた例以外であっても、実際に加工機を動作して信号を取得しないと次の軸移動ができない処理であればリアルタイム処理として取り扱ってもよい。
【0057】
(6)本実施形態では「一時停止可能指令」として、NCコード「G00」のブロックが具体例として挙げられていたがこれに限らない。例えば、NCプログラム11に一時停止するための専用の命令が付加されており、その命令を「一時停止可能指令」として処理してもよい。
【0058】
(7)本実施形態では、NCコード「G00」のブロックが全て「一時停止可能指令」とされていたが、これに限らない。例えば、
図18および
図19の例のように「G00」から始まる指令が複数ある場合には、速度の指定が可能な指令である「G01」,「G02」,「G03」等の指令から最初に「G00」から始まる指令に変更された場合の指令(NCインデックス番号N003やN007)だけを「一時停止可能指令」とすれば、よりワークWに影響を与えない安全な位置(Pn3,Pn7)で加工処理を中断することが可能となる。
【符号の説明】
【0059】
1 :加工システム
2 :解析装置
3 :数値制御装置
31 :キーボード/マウス
41 :主軸
42 :テーブル
43,44 :送り軸
45 :モータ制御部
46 :データ受信部
47 :信号生成部
48 :主軸アンプ
49 :サーボアンプ
48a,49a,49b:モータ
410 :機械制御部
420 :クーラント供給機構
430 :センサ
5 :ネットワーク
W :ワーク