(57)【特許請求の範囲】
【請求項１】
同じ動作を繰返し実行する周期動作サイクルを用いてワークまたは工具を移動させて加工を行う工作機械を制御する数値制御装置において、
前記周期動作サイクルと重畳させる重畳サイクルの実行周期単位の指令データを記憶する重畳サイクル記憶手段と、
重畳サイクルを有効にすると周期動作サイクルの実行のタイミングと同期して重畳サイクルの重畳を開始させて、重畳サイクルを無効にすると周期動作サイクルの実行のタイミングと同期して重畳サイクルの重畳を終了させる重畳サイクル選択手段と、
前記周期動作サイクルの実行のタイミングに同期させて前記重畳サイクルの指令データを実行周期ごとに合成させる重畳サイクル合成手段と、
を有することを特徴とする数値制御装置。
【請求項２】
前記重畳サイクル記憶手段は、
１つまたは複数の重畳サイクルを記憶し、
前記重畳サイクル選択手段は、
重畳させる重畳サイクルを１つまたは複数個選択できる、
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
周期動作サイクルを実行中に前記重畳サイクル記憶手段の重畳サイクルの指令データを変更する変更手段、
を更に有することを特徴とする請求項１または２に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特に被加工物を周期的なサイクル動作により加工する機能を有する数値制御装置に関する。
【背景技術】
【０００２】
数値制御装置（ＣＮＣ）において、例えば、縦向きに設置されたシリンダ筒内部の研削を行う場合において、高速サイクル加工で回転軸と砥石の切込み方向の軸を高速で動かし、シリンダ内壁の形状に沿って砥石を移動させる加工を行う場合などにおいて、高速サイクル加工制御の技術が用いられている。
高速サイクル加工を行うためには、加工形状を高速サイクル加工データに変換して数値制御装置内の変数領域に格納しておき、ＮＣプログラム指令により高速サイクル加工データを呼び出し、高速サイクル加工データから実行周期ごとの指令データである分配データを読み出して高速サイクル加工を実行する。
【０００３】
図６は、従来技術における高速サイクル加工データの例である。図６に示すように、高速サイクル加工データは、ヘッダーと分配データで構成されており、ヘッダーにおいて、サイクルの繰返し回数、分配データの数、分配データの開始番号が定義され、軸毎にヘッダーで指定された数の分配データが用意される。
また、図７には分配データと分配データを複数集めて作成される１サイクル分のサイクルデータとの関係を、加工機の制御軸の分配データと時間とのグラフを用いて表している。
【０００４】
このような高速サイクル加工に関する従来技術として、同じ動作を繰返し実行し周期動作を行う高速サイクル加工の移動量とＮＣプログラム指令を重畳させる技術が提案されている（例えば、特許文献１）。特許文献１に開示された技術は、図８に示されるように高速サイクル加工による周期動作とＮＣプログラムによる任意動作を重畳させるものである。
また、高速サイクル加工に関連する他の従来技術として、チョッピング動作させる移動データと輪郭制御させる移動データとを重畳する技術と、チョッピング動作する制御軸のサーボ遅れを補正する技術が提案されている（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−００９０９４号公報
【特許文献２】国際公開第２００４／１０２２９０号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載の技術は、あらかじめ定められた周期動作とＮＣプログラム指令とを重畳させるには有用であるが、周期動作の１周期中のある特定の位置に対して、加工誤差を補正するための指令を出したいと考えた場合に、ＮＣプログラムで周期動作の特定のタイミングに毎回同期して指令を行うことは困難である。そのため、従来は以下の手順で加工誤差を補正していた。
（１）補正データが含まれていない高速サイクル加工データで１回目の加工を行う。
（２）補正データを測定する。
（３）（２）の補正データを含めた高速サイクル加工データを作成する。
（４）（３）の高速サイクル加工データで、２回目の加工を行う。
図９は、周期動作と補正データを示す。このように、周期動作の１周期に対応した加工誤差を補正する場合、従来は補正データを含めた高速サイクル加工データを作成する手間がかかることと、加工を２回行わなければならない問題点があった。
【０００７】
また、特許文献２の技術はチョッピング動作起動指令を実行することによって開始し、またサーボ遅れを補正する補正量は内部的に算出する技術であり、任意のタイミングでの重畳開始や任意の補正量の設定ができないため、周期動作の１周期に対応した加工誤差を補正する場合には適用できない。
【０００８】
そこで、本発明の目的は、上記従来技術の問題点を鑑み、周期動作サイクルにおける特定のタイミングに同期して補正データ等の指令を重畳させる手法を実現する数値制御装置を提供することである。
【課題を解決するための手段】
【０００９】
本願請求項１に係る発明は、同じ動作を繰返し実行する周期動作サイクルを用いてワークまたは工具を移動させて加工を行う工作機械を制御する数値制御装置において、前記周期動作サイクルと重畳させる重畳サイクルの実行周期単位の指令データを記憶する重畳サイクル記憶手段と、重畳サイクルを有効にすると周期動作サイクルの実行のタイミングと同期して重畳サイクルの重畳を開始させて、重畳サイクルを無効にすると周期動作サイクルの実行のタイミングと同期して重畳サイクルの重畳を終了させる重畳サイクル選択手段と、前記周期動作サイクルの実行のタイミングに同期させて前記重畳サイクルの指令データを実行周期ごとに合成させる重畳サイクル合成手段と、を有することを特徴とする数値制御装置である。
【００１１】
本願請求項２に係る発明は、前記重畳サイクル記憶手段は、１つまたは複数の重畳サイクルを記憶し、前記重畳サイクル選択手段は、重畳させる重畳サイクルを１つまたは複数個選択できる、ことを特徴とする請求項１に記載の数値制御装置である。
【００１２】
本願請求項３に係る発明は、周期動作サイクルを実行中に前記重畳サイクル記憶手段の重畳サイクルの指令データを変更する変更手段、を更に有することを特徴とする請求項１または２に記載の数値制御装置である。
【発明の効果】
【００１３】
本発明により、周期動作サイクルにおける実行のタイミングに同期して補正データ等の指令を重畳させる制御を行う数値制御装置を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態における数値制御装置のブロック図である。
【図２】本発明の実施の形態における周期動作サイクルと重畳サイクルの設定例である。
【図３】本発明の実施の形態における数値制御装置の動作を示すフローチャートである。
【図４】本発明の実施の形態における重畳サイクルの重畳動作の例を示す図である。
【図５】本発明の実施の形態における複数の重畳サイクルの重畳動作の例を示す図である。
【図６】従来技術における高速加工サイクルデータを示す図である。
【図７】従来技術における分配データと１周期動作との関係を示す図である。
【図８】従来技術における重畳動作を示す図である。
【図９】従来技術における周期動作と補正データを示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施形態の数値制御装置について図面と共に説明する。
図１は、本発明の一実施形態における数値制御装置１０の要部を示すブロック図である。数値制御装置１０は、指令プログラム解析手段１１、補間手段１２、補間後加減速手段１３、サーボモータ制御手段１４を備えている。指令プログラム解析手段１１は、図示しないメモリに記憶されたＮＣプログラム指令２０を読み出し、ＮＣプログラム指令２０を解析して移動指令を取得する。補間手段１２は、指令プログラム解析手段１１が解析した移動指令に基づいて動作経路に沿った多数の補間点を定める補間処理を行う。補間後加減速手段１３は、補間手段１２による補間処理が終了した後で、所定限度の加速度で滑らかな速度変化を指定する移動指令がサーボモータ制御手段１４に出力されるように加減速処理を実行する。サーボモータ制御手段１４は、補間後加減速手段１３の出力に基づいてサーボモータ３０を駆動し、ワークと工具を相対的に移動させる。
【００１６】
数値制御装置１０は、高速サイクル加工を行うための機能手段として、高速サイクル加工データ取得手段１５を備えている。
高速サイクル加工を行う際、高速サイクル加工データ取得手段１５は、図示しないメモリから高速サイクル加工データを取得し、取得した高速サイクル加工データから移動データを生成して指令プログラム解析手段１１へと出力する。指令プログラム解析手段１１は、高速サイクル加工データ取得手段１５から取得した移動データを補間手段１２と補間後加減速手段１３を介さずサーボモータ制御手段１４に出力し、当該移動データに基づいてワークと工具を相対的に移動させる。
【００１７】
本実施の形態の数値制御装置１０は、周期動作サイクルに同期した重畳サイクルを重畳させる機能を実現するために、更に、重畳サイクル記憶手段１６、重畳サイクル選択手段１７、重畳サイクル合成手段１８を備えている。
重畳サイクル記憶手段１６には、重畳サイクルの重畳データが記憶される。重畳サイクル選択手段１７は、重畳サイクルの重畳制御を実行する信号を受信すると、重畳サイクル合成手段１８に対し、周期動作サイクルに対して重畳サイクルを重畳するように指令する。重畳サイクル合成手段１８は、重畳サイクル選択手段１７から周期動作サイクルに対して重畳サイクルを重畳するように指令を受けると、高速サイクル加工データ取得手段１５から取得される周期動作サイクルの分配データと重畳サイクル記憶手段１６から取得される重畳サイクルの重畳データを合成した移動データを作成し、指令プログラム解析手段１１へと出力する。指令プログラム解析手段１１は、重畳サイクル合成手段１８で合成した移動データを補間手段１２と補間後加減速手段１３を介さずサーボモータ制御手段１４に出力し、当該移動データに基づいてワークと工具を相対的に移動させる。
【００１８】
図２は、周期動作サイクルと重畳サイクルを設定する高速サイクル加工データの一例を示す図である。
重畳サイクルの重畳データは、高速サイクル加工動作を設定するための高速サイクル加工データの変数領域に、周期動作サイクルの分配データと共に設定される。この重畳サイクルの重畳データの設定が、図１のブロック図における重畳サイクル記憶手段１６に相当する。重畳サイクルの重畳データは、ヘッダーと重畳データから構成されている。重畳サイクルの繰返し回数とデータ数は周期動作サイクルのヘッダーに従うので重畳データのヘッダーでは特に定義されておらず（ダミーとして０が定義される）、重畳データのヘッダーでは重畳データの開始番号のみが定義されている。また、重畳データの開始番号で指定される番号から、軸毎に周期動作サイクルのヘッダーで指定された数の重畳データが用意される。
【００１９】
図３は、数値制御装置１０によって実行される重畳サイクル選択手段１７と重畳サイクル合成手段１８の処理手順を示すフローチャートである。本処理は各補間周期において指令プログラム解析手段１１が呼び出すことにより実行される。
以下に、図３のフローチャートで用いられる各変数について説明する。
【００２０】
重畳サイクル実行中フラグＦ０は、現在周期動作サイクルに対して重畳サイクルを重畳する処理を実行しているか否かを示すフラグ変数である。重畳サイクル実行中フラグＦ０が１の時は重畳サイクルを重畳して出力する処理を実行する状態であり、重畳サイクル実行中フラグＦ０が０の時は重畳しない状態である（初期値は０）。
重畳サイクル選択信号ＳＳＩＧは、重畳サイクルを重畳するか否かを外部から指示する際に用いられる信号であり、図示しない操作盤から入力されたり、センサーなどから入力される信号がラダープログラムなどで処理されて入力される。重畳サイクル選択信号ＳＳＩＧが１の時に重畳サイクルを重畳する処理を実行する状態とする。
【００２１】
補間周期カウンタＴｐは、周期動作の１周期で変化するカウンタであり、周期動作の開始時において１であり、１補間周期毎に１増加し、最大値は補間周期のデータ数Ｔｐｍａｘである。例えば、図２に示す周期動作サイクルの設定例では、Ｔｐは１〜３６０の値を取る。
移動データＭＶｐは、補間周期カウンタＴｐにおける移動データである。また、周期動作サイクルの分配データＰＣＹＣｐは補間周期カウンタＴｐにおける周期動作サイクルの分配データであり（例えば、図２に示す周期動作サイクルの設定例では、Ｔｐ＝１の時、ＰＣＹＣｐ＝１０）、重畳サイクルの重畳データＳＣＹＣｐは補間周期カウンタＴｐにおける重畳サイクルの重畳データである（例えば、図２に示す重畳サイクルの設定例では、Ｔｐ＝１の時、ＳＣＹＣｐ＝２）。
【００２２】
本処理が開始されると、まず重畳サイクル実行中フラグＦ０が重畳サイクル選択信号ＳＳＩＧと一致するか否かを判定する（Ｓ０１）。Ｓ０１において、重畳サイクル実行中フラグＦ０と重畳サイクル選択信号ＳＳＩＧとが一致しない場合には、重畳処理の実行状態の切り替えの判定を行う。本処理の実行時における補間周期カウンタＴｐが１である場合（Ｓ０２）、即ち、現在補間周期が周期動作の開始時に当たる場合には、重畳サイクル選択信号ＳＳＩＧの値を重畳サイクル実行中フラグＦ０に設定する（Ｓ０３）。本処理により、各周期動作の開始時において、重畳サイクルの重畳処理の開始状態が切り替わる。Ｓ０１〜Ｓ０３の処理は、重畳サイクル選択手段１７の動作に相当する。
【００２３】
次に、重畳サイクル実行中フラグＦ０の値を判定し（Ｓ０４）、重畳サイクル実行中フラグＦ０の値が１である場合は、周期動作サイクルの分配データＰＣＹＣｐと重畳サイクルの重畳データＳＣＹＣｐを加算した値を移動データＭＶｐに代入する（Ｓ０５）。一方、重畳サイクル実行中フラグＦ０の値が０である場合は、周期動作サイクルの分配データＰＣＹＣｐの値をそのまま移動データＭＶｐに代入する（Ｓ０６）。Ｓ０４〜Ｓ０６の処理は、重畳サイクル合成手段１８の動作に相当する。
【００２４】
最後に、補間周期カウンタＴｐをインクリメントし（Ｓ０７）、補間周期カウンタＴｐが補間周期カウンタの最大値Ｔｐｍａｘを超える場合には（Ｓ０８）、補間周期カウンタＴｐの値を１にリセットし（Ｓ０９）、本補間周期における本処理を終了する。
このような動作をする数値制御装置１０による重畳動作を、実際の例を示して詳細に説明する。
【００２５】
図４は、重畳サイクルを実行した時の重畳動作の例を示すタイムチャートである。
本実施の形態の数値制御装置１０において、図２に示す周期動作サイクルの設定がされている場合、周期動作において、周期動作サイクルの分配データ（ＰＣＹＣ１〜ＰＣＹＣ３６０）を繰返し実行して行われる。１回の補間周期（例えば１ｍｓｅｃ）では１つの分配データが実行され、補間周期のカウンタｎにおいて出力される移動データＭＶｎはＰＣＹＣｎとなる（図４上）。
【００２６】
このような周期動作がされている最中に、作業者が周期動作中に加工誤差を測定して、加工誤差を補正するデータを重畳サイクルの重畳データ（ＳＣＹＣ１〜ＳＣＹＣ３６０）を設定することができる。作業者が数値制御装置１０の操作盤などの入力手段や、外部装置からの入力手段を介して重畳サイクルの重畳データを重畳サイクル記憶手段１６に設定し、重畳サイクルを実行するか否かを選択する重畳サイクル選択信号（ＳＳＩＧ）を、例えば操作盤などを操作してオンすると、次に周期動作サイクルの１番目の分配データ（ＰＣＹＣ１）を実行するときから、重畳サイクルを開始することができる。
【００２７】
重畳サイクルの重畳処理を実行すると、重畳サイクル合成手段１８により移動データＭＶｎに重畳サイクルの重畳データ（ＳＣＹＣ１〜ＳＣＹＣ３６０）が合成される。重畳サイクルを実行しているとき、補間周期のカウンタｎにおける移動データＭＶｎは、ＭＶｎ＝ＰＣＹＣｎ＋ＳＣＹＣｎとなる。
【００２８】
周期動作サイクルと重畳サイクルのそれぞれにおいて、実行間隔である補間周期は一定である。そのため、周期動作サイクルの実行のタイミングに同期させて重畳サイクルを重畳させることができる。これにより、一回の加工で周期動作サイクルを再作成することなく加工誤差を補正する加工を行うことができる。
重畳サイクルを開始するタイミングは、任意の補間周期のカウンタｎにすることもできる。また、重畳データ（ＳＣＹＣ１〜ＳＣＹＣ３６０）は重畳サイクルを実行中に変更することができる。
【００２９】
図５は、複数の重畳サイクルを任意のタイミングで実行した時の重畳動作の例を示すタイムチャートである。
本実施の形態における数値制御装置１０では、複数の重畳サイクルを任意のタイミングで、実行することもできる。以下に示すような重畳サイクル１〜３を作成し、工程１において重畳サイクル１を実行し、工程２で重畳サイクル２，３を実行することができる。
重畳サイクル１：  工程１の切込み量Ａ
重畳サイクル２：  工程２の切込み量Ｂ
重畳サイクル３：  加工誤差の補正量
【００３０】
このように複数の重畳サイクルを選択・切換えできるようにする場合、それぞれの重畳サイクル毎に重畳サイクル実行中フラグＦ０ｎと重畳サイクル選択信号ＳＳＩＧｎを設け、重畳サイクル選択手段１７により、重畳サイクル毎に重畳処理を選択できるようにすればよい。
【符号の説明】
【００３１】
１０    数値制御装置
１１    指令プログラム解析手段
１２    補間手段
１３    補間後加減速手段
１４    サーボモータ制御手段
１５    高速サイクル加工データ取得手段
１６    重畳サイクル記憶手段
１７    重畳サイクル選択手段
１８    重畳サイクル合成手段
２０    ＮＣプログラム指令
３０    サーボモータ
【図１】
0005890472.tif 000002
【図２】
0005890472.tif 000003
【図３】
0005890472.tif 000004
【図４】
0005890472.tif 000005
【図５】
0005890472.tif 000006
【図６】
0005890472.tif 000007
【図７】
0005890472.tif 000008
【図８】
0005890472.tif 000009
【図９】
0005890472.tif 000010