(57)【要約】【課題】ＳコードやＭコードの前後で電子カムデータを分断させる必要をなくすことにより、ＮＣプログラムを電子カムプログラムに変換する場合の変換率を高め、作業効率を向上させることを可能にする工作機械の数値制御装置と工作機械の数値制御方法を提供すること。【解決手段】電子カム制御手段と、電子カム制御手段を実行する際に基準となる軸の動作を制御する基準軸動作制御手段と、基準軸動作制御手段による制御によって動作させられる基準軸に対して同期してＳコード又はＭコード相当の機能を実行させる為に、基準軸と対応して実行させるべきＳコード又はＭコード相当のコマンドが記述されるようにしたコマンド処理実行用データテーブルと、コマンド処理実行用データテーブルと前記基準軸に基づいてコマンド処理制御を行うコマンドテーブル制御手段とを具備したもの。【選択図】  図１
2004362228.tif 000002
【特許請求の範囲】
【請求項１】
被加工物を主軸に保持させるようにすると共に、上記被加工物及びそれを加工する工具の内少なくとも何れか一方を移動させて、上記被加工物を所望の形状に加工するための工作機械の数値制御装置において、
制御軸を電子カムによって制御する電子カム制御手段と、
上記電子カム制御手段を実行する際に基準となる軸の動作を制御する基準軸動作制御手段と、
上記基準軸動作制御手段による制御によって動作させられる基準軸に対して同期してＳコード又はＭコード相当の機能を実行させる為に、基準軸と対応して実行させるべきＳコード又はＭコード相当のコマンドが記述されるようにしたコマンド処理実行用データテーブルと、
上記コマンド処理実行用データテーブルと前記基準軸に基づいてコマンド処理制御を行うコマンドテーブル制御手段と、を具備したことを特徴とする工作機械の数値制御装置。
【請求項２】
請求項１記載の工作機械の数値制御装置において、
上記電子カム制御手段によって実行される処理と上記コマンドテーブル制御手段によって実行される処理が夫々共通のＣＰＵにおいて時分割処理されるようにする時分割処理手段を備えたことを特徴とする工作機械の数値制御装置。
【請求項３】
請求項１記載の工作機械の数値制御装置において、
上記電子カム制御手段と上記コマンドテーブル制御手段とを先行して起動させる先行起動手段を備え、
上記基準軸動作制御手段は上記電子カム制御手段と上記コマンドテーブル制御手段の両者が上記先行起動手段により先行起動された後に基準軸の動作を開始させるように制御するものであることを特徴とする工作機械の数値制御装置。
【請求項４】
処理を開始して読み込んだブロックが電子カム起動コマンドであるか否かを判別するステップと、
上記ステップにより電子カム起動コマンドであると判別された場合に電子カム起動処理を実行するステップと、を具備し、
上記電子カム起動処理を実行するステップは、軸制御部の起動処理を行うステップと、  コマンド処理部の起動処理を行うステップと、を備えていることを特徴とする工作機械の数値制御方法。
【請求項５】
請求項４記載の工作機械の数値制御方法において、
上記電子カム起動処理を実行するステップは、軸制御部の起動処理を行うステップと、  コマンド処理部の起動処理を行うステップとを終了した後に、基準軸の移動を行うステップを実行するものであることを特徴とする工作機械の数値制御方法。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は工作機械の数値制御装置と工作機械の数値制御方法に係り、特に、ＳコードやＭコードの前後で電子カムデータを分断させる必要をなくすことにより加工に要する時間を短縮させ、且つ、ＮＣプログラムを電子カムプログラムに変換する場合の変換率を高め、それによって、作業効率を向上させることができるように工夫したものに関する。
【０００２】
【従来の技術】
例えば、工作機械に素材をセットしてバイト等の工具を利用して所望の形状に加工するに際して、数値制御プログラム（ＮＣプログラム）を作成し、該ＮＣプログラムによってバイト等の工具を含む各部を自動的に動作させ、それによって、所望形状の加工部品を得る数値制御工作機械が一般的に知られている。
【０００３】
上記のような加工部品を得るために作成されたＮＣプログラムそのものは、通常、数値制御工作機械上でも作成・修正可能であり、例えば、加工部品を試し削りした結果、加工部品が図面公差内に入っていない等の不具合がある場合には、機上にてその不具合をなくすための修正を行うことができるものであり、高い作業効率を提供することができるものである。
【０００４】
一方、ＮＣプログラムではなく電子カムプログラムを利用して、工作機械にセッティングされた素材から、所望の形状をバイト等の工具を利用して加工することが行われている。ここでいう電子カムプログラムを利用した制御とは、例えば、特許文献１に開示されているようなものである。
【０００５】
【特許文献１】
特開２００１−１７０８４３号公報
【０００６】
すなわち、上記特許文献１に開示されているように、基準軸に取り付けられたパルスエンコーダが出力するパルス信号により、時々刻々の回転位置データと、基準軸の単位回転位置ごとに対応してそれぞれ設定された移動軸の指令位置データとから時々刻々の移動軸の指令データを生成する。この移動指令データと回転位置データとから回転物の回転速度に同期する移動軸の指令速度データを生成して、生成した移動指令データと指令速度データに基づいて工具の位置を制御するものである。そして、この種の電子カムプログラムを利用した数値制御工作機械では、主軸の累積回転角に対する工具又は被加工物夫々の位置データを定めるものであり、よって、ＮＣプログラムを利用するものに比べてより短時間、且つ、高精度にて加工を行うことができるという利点がある。
【０００７】
又、この種の電子カムプログラムは、通常、図面情報、指定された加工パス、加工工程、工具情報、ツーリング情報等を数値制御工作機械とは別個に設けられたパーソナルコンピュータ等にインストールされたＣＡＭソフト等に入力して作成していたが、ある種の変換ソフトを利用して、ＮＣプログラムを電子カムプログラムに変換することが考えられている。
【０００８】
【発明が解決しようとする課題】
上記従来の構成によると次のような問題があった。
すなわち、軸制御に関してはこれを電子カムによって制御して実行させることは可能であるが、いわゆる「Ｍコード」や「Ｓコード」等に相当する補機への指令に関しては、これを電子カム制御で行うことはできなかった。そこで、従来はこれをＮＣ制御で行っていた。その為、電子カム制御によって１つの加工行程を行っている際に、「Ｍコード」、「Ｓコード」出力を行う場合、一旦電子カム制御からＮＣ制御に切り換えて行う必要があり、その後電子カム制御に戻る必要があった。
この方法では、加工に直接影響のない指令であっても制御切換時に制御軸の移動を一旦停止させる必要があり無駄な時間が生じてしまうことになる。又、制御の切換に要する時間は無視できるほど短いとしても、切換回数が増えることにより累積された時間は無視できないものになってしまい、加工時間を短縮させる上で好ましいことではなかった。
又、「Ｍコード」や「Ｓコード」等に相当する補機指令に関してこれを電子カム制御で行うことができないということは、結局、電子カムプログラムに変換できないＮＣプログラムが多く存在してしまうことにもなり、結果として、十分な加工効率の向上効果を得ることができないという問題があった。
【０００９】
本発明はこのような点に基づいてなされたものでその目的とするところは、「Ｍコード」や「Ｓコード」の前後で電子カムデータを分断させるようなことをなくすことにより加工時間の短縮を図り、且つ、ＮＣプログラムを電子カムプログラムに変換する場合の変換率を高めて、作業効率を向上させることを可能にする工作機械の数値制御装置と工作機械の数値制御方法を提供することにある。
【００１０】
【課題を解決するための手段】
上記目的を達成するべく本願発明の請求項１による工作機械の数値制御装置は、被加工物を主軸に保持させるようにすると共に、上記被加工物及びそれを加工する工具の内少なくとも何れか一方を移動させて、上記被加工物を所望の形状に加工するための工作機械の数値制御装置において、制御軸を電子カムによって制御する電子カム制御手段と、  上記電子カム制御手段を実行する際に基準となる軸の動作を制御する基準軸動作制御手段と、上記基準軸動作制御手段による制御によって動作させられる基準軸に対して同期してＳコード又はＭコード相当の機能を実行させる為に、基準軸と対応して実行させるべきＳコード又はＭコード相当のコマンドが記述されるようにしたコマンド処理実行用データテーブルと、上記コマンド処理実行用データテーブルと前記基準軸に基づいてコマンド処理制御を行うコマンドテーブル制御手段と、を具備したことを特徴とするものである。
又、請求項２による工作機械の数値制御装置は、請求項１記載の工作機械の数値制御装置において、上記電子カム制御手段によって実行される処理と上記コマンドテーブル制御手段によって実行される処理が夫々共通のＣＰＵにおいて時分割処理されるようにする時分割処理手段を備えたことを特徴とするものである。又、請求項３による工作機械の数値制御装置は、請求項１記載の工作機械の数値制御装置において、上記電子カム制御手段と上記コマンドテーブル制御手段とを先行して起動させる先行起動手段を備え、上記基準軸動作制御手段は上記電子カム制御手段と上記コマンドテーブル制御手段の両者が上記先行起動手段により先行起動された後に基準軸の動作を開始させるように制御するものであることを特徴とするものである。
又、請求項４による工作機械の数値制御方法は、処理を開始して読み込んだブロックが電子カム起動コマンドであるか否かを判別するステップと、上記ステップにより電子カム起動コマンドであると判別された場合に電子カム起動処理を実行するステップと、を具備し、上記電子カム起動処理を実行するステップは、軸制御部の起動処理を行うステップと、コマンド処理部の起動処理を行うステップと、を備えていることを特徴とするものである。
又、請求項５による工作機械の数値制御方法は、請求項４記載の工作機械の数値制御方法において、上記電子カム起動処理を実行するステップは、軸制御部の起動処理を行うステップと、コマンド処理部の起動処理を行うステップとを終了した後に、基準軸の移動を行うステップを実行するものであることを特徴とするものである。
【００１１】
つまり、本願発明による工作機械の数値制御装置は、電子カム制御手段によって制御軸を制御するだけではなく、基準軸動作制御手段と、コマンド処理実行用データテーブルと、コマンドテーブル制御手段とによって、ＳコードコマンドやＭコードコマンドが実行すべき処理についても、電子カム制御によって実行できるようにしたので、ＮＣ制御と電子カム制御間の切換回数が大幅に減少することになり、それによって、加工に要する時間を短縮させることが可能になる。
又、ＮＣプログラムから電子カムプログラムへの変換率も高くなり、それによって、加工効率の向上を図ることが可能になる。
又、電子カム制御とコマンド処理制御が共通の基準軸に基づいて実行されるので、両制御が同期して実行されることになり、両制御に基づく夫々の動作同士の干渉やコマンド処理のタイミングのずれ等を効果的に防止することができる。
その際、上記電子カム制御手段が実行される処理と上記コマンドテーブル制御手段が実行される処理を、夫々共通のＣＰＵにおいて時分割処理されるように構成することが考えられ、その結果、テーブルデータの作成に際して、他のテーブルデータに用いられるデータとの相関を検討する必要がなくなるので、テーブルデータの作成が容易になる。
又、上記電子カム制御手段と上記コマンドテーブル制御手段とを先行して起動させる先行起動手段を設け、上記基準軸動作制御手段は上記電子カム制御手段と上記コマンドテーブル制御手段の両者が上記先行起動手段により先行起動された後に基準軸の動作を開始させるように構成することが考えられ、その場合には、コマンドテーブル制御手段と電子カム制御手段とを基準軸に対して遅滞なく同期動作させることが可能になる。
又、請求項４、請求項５は工作機械の数値制御方法としてクレームしたものである。
【００１２】
【発明の実施の形態】
以下、図１乃至図９を参照して本発明の一実施の形態を説明する。
図１は本実施形態に係る数値制御工作機械の全体構成を示すブロック図であり、又、図２は該数値制御工作機械の概略制御軸構成を示す平面図である。
図１において、数値制御工作機械１は、主軸回転用モータ３、工具移動用モータ５、被加工物移動用モータ７、背面主軸移動用モータ９、背面主軸回転用モータ１１、各種の補機１２、及びこれら主軸回転用モータ３、工具移動用モータ５、被加工物移動用モータ７、背面主軸移動用モータ９、背面主軸回転用モータ１１、補機１２の駆動を制御するための制御ユニット部１３を有している。
【００１３】
上記主軸回転用モータ３は、被加工物が保持可能に構成された主軸（図２中符号Ｓ１で示す）を回転駆動させるためのもので、駆動回路１５及び主軸回転制御回路１７等を介して制御ユニット部１３に接続されている。又、主軸回転用モータ３には、主軸回転用モータ３の回転を検知するためのパルスエンコーダ１９が設けられている。このパルスエンコーダ１９の出力は制御ユニット部１３及び速度信号生成回路２１に接続されており、パルスエンコーダ１９から出力される回転検出信号が制御ユニット部１３及び速度信号生成回路２１に入力される。パルスエンコーダ１９は、主軸回転用モータ３の回転に同期して回転検出信号を発生し、制御ユニット部１３及び速度信号生成回路２１に出力する。速度信号生成回路２１は、パルスエンコーダ１９から出力される回転検出信号を主軸回転用モータ３の回転速度を意味する主軸回転速度信号に変換する。速度信号生成回路２１の出力は主軸回転制御回路１７に接続されており、変換された主軸回転速度信号が主軸回転制御回路１７に入力される。
【００１４】
上記主軸回転制御回路１７は、クロック信号発生回路２３にて発生して出力されたクロック信号を基準にして所望の回転速度となるように被加工物（主軸Ｓ１に把持される被加工物）の回転を制御するためのものであり、制御ユニット部１３から出力される主軸回転速度指令信号と、速度信号生成回路２１から出力される主軸回転速度信号とを比較して、その差に応じた制御信号をクロック信号を基準にして生成する。主軸回転制御回路１７にて生成された制御信号は、駆動回路１５に出力される。
【００１５】
上記駆動回路１５は、主軸回転制御回路１７から出力された制御信号に基づいて、主軸回転用モータ３（主軸Ｓ１）の回転速度が後述する主軸回転速度指令値となるように主軸回転用モータ１３への供給電力を制御する。これら駆動回路１５、主軸回転制御回路１７、及び、速度信号生成回路２１は、主軸回転用モータ３（主軸Ｓ１）の回転速度のフィードバック制御系を構成している。
【００１６】
次に、上記工具移動用モータ５は、被加工物を加工するための工具（旋削加工用バイト等、図２中符号ＴＳ１、ＴＳ３で示す）を、例えば、主軸回転用モータ３（主軸Ｓ１）の回転中心軸に対して直交する方向（Ｘ軸方向、Ｙ軸方向）、又は主軸と平行な方向（Ｚ軸方向）に移動させるためのもので、駆動回路２５及び工具送り制御回路２７を介して制御ユニット部１３に接続されている。
因みに、この実施の形態の場合には、図２に示すように、工具ＴＳ１はＸ１軸方向とＹ１軸方向に移動制御されるように構成されており、一方、工具ＴＳ３はＸ３軸方向とＹ３軸方向とＺ３軸方向に移動制御されるように構成されている。
【００１７】
又、工具としては工具ＴＳ１、ＴＳ３以外に、背面加工用工具ＴＳ２が設けられている。
又、工具移動用モータ５には、工具移動用モータ５の回転を検出するパルスエンコーダ２９が設けられている。このパルスエンコーダ２９の出力は工具送り制御回路２７に接続されており、パルスエンコーダ２９の回転検出信号が工具送り制御回路２７に入力される。パルスエンコーダ２９は、工具移動用モータ５の所定回転角度毎に回転位置信号を発生して、工具送り制御回路２７に出力する。
【００１８】
工具送り制御回路２７は、パルスエンコーダ２９から出力された回転位置信号に基づいて実際の工具ＴＳ１、ＴＳ３の移動位置を認識すると共に、認識した実際の工具ＴＳ１、ＴＳ３の移動位置と後述する制御ユニット部１３から出力される工具位置指令信号とを比較して、この比較結果に基づいて工具駆動信号を生成する。工具送り制御回路２７にて生成された工具駆動信号は、駆動回路２５に出力される。駆動回路２５は、工具送り制御回路２７から出力された工具駆動信号に基づいて工具移動用モータ５への供給電力を制御する。これら、駆動回路２５及び工具送り制御回路２７は、工具ＴＳ１、ＴＳ３の移動位置のフィードバック制御系を構成している。
【００１９】
次に、上記被加工物移動用モータ７は、被加工物を、例えば、主軸回転用モータ３（主軸Ｓ１）の回転中心軸に対して平行な方向（Ｚ１軸方向）に移動させるためのもので、駆動回路３１及び被加工物送り制御回路３３を介して制御ユニット部１３に接続されている。又、被加工物移動用モータ７には、被加工物移動用モータ７の回転を検出するパルスエンコーダ３５が設けられている。このパルスエンコーダ３５の出力は被加工物送り制御回路３３に接続されており、パルスエンコーダ３５の回転検出信号が被加工物送り制御回路３３に入力される。パルスエンコーダ３５は、被加工物移動用モータ７の所定回転角度毎に回転検出信号を発生して、被加工物送り制御回路３３に出力する。
【００２０】
上記被加工物送り制御回路３３は、パルスエンコーダ３５から出力された回転検出信号に基づいて実際の被加工物の移動位置を認識すると共に、認識した実際の被加工物の移動位置と制御ユニット部１３から出力される被加工物位置指令信号とを比較して、この比較結果に基づいて被加工物駆動信号を生成する。所定回転角度毎に生成された被加工物駆動信号は、駆動回路３１に出力される。駆動回路３１は、所定回転角度毎に出力された被加工物駆動信号に基づいて被加工物移動用モータ７への供給電力を制御する。これら、駆動回路３１及び上記被加工物送り制御回路３３は、被加工物の移動位置のフィードバック制御系を構成している。
【００２１】
次に、上記背面主軸台移動用モータ９は、背面主軸Ｓ２を、例えば、主軸回転用モータ３（主軸Ｓ１）の回転中心軸に対して平行な方向（Ｚ２軸方向）、又は、これと直交する方向（Ｘ２軸方向）に移動させるためのもので、駆動回路３７及び背面主軸台送り制御回路３９を介して制御ユニット部１３に接続されている。
又、背面主軸台移動用モータ９には、背面主軸台移動用モータ９の回転を検出するパルスエンコーダ４１が設けられている。このパルスエンコーダ４１の出力は背面主軸台送り制御回路３９に接続されており、パルスエンコーダ４１の回転検出信号が背面主軸台送り制御回路３９に入力される。パルスエンコーダ４１は、背面主軸台移動用モータ９の所定回転角度毎に回転位置信号を発生して、背面主軸台送り制御回路３９に出力する。
【００２２】
上記背面主軸台送り制御回路３９は、パルスエンコーダ４１から出力された回転位置信号に基づいて実際の背面主軸Ｓ２の移動位置を認識すると共に、認識した実際の背面主軸Ｓ２の移動位置と後述する制御ユニット部１３から出力される背面主軸台位置指令信号とを比較して、この比較結果に基づいて背面主軸台駆動信号を生成する。背面主軸台送り制御回路３９にて生成された背面主軸台駆動信号は、駆動回路３７に出力される。駆動回路３７は、背面主軸台送り制御回路３９から出力された駆動信号に基づいて背面主軸台移動用モータ９への供給電力を制御する。これら、駆動回路３７及び背面主軸台送り制御回路３９は、背面主軸台の移動位置のフィードバック制御系を構成している。
【００２３】
次に、上記背面主軸回転用モータ１１は、被加工物を保持可能に構成された背面主軸Ｓ２をＣ２方向に回転駆動させるためのもので、駆動回路４３及び背面主軸回転制御回路４５等を介して制御ユニット部１３に接続されている。又、背面主軸回転用モータ１１には、背面主軸回転用モータ１１の回転を検知するためのパルスエンコーダ４７が設けられている。このパルスエンコーダ４７の出力は制御ユニット部１３及び速度信号生成回路４９に接続されており、パルスエンコーダ４７から出力される回転検出信号が制御ユニット部１３及び速度信号生成回路４９に入力される。パルスエンコーダ４７は、背面主軸回転用モータ１１（背面主軸Ｓ２）の回転に同期して回転検出信号を発生し、制御ユニット部１３及び速度信号生成回路４９に出力する。速度信号生成回路４９は、パルスエンコーダ４７から出力される回転検出信号を背面主軸回転用モータ１１（背面主軸Ｓ２）の回転速度をあらわす背面主軸回転速度信号に変換する。速度信号生成回路４９の出力は背面主軸回転制御回路４５に接続されており、変換された背面主軸回転速度信号が背面主軸回転制御回路４５に入力される。
【００２４】
上記背面主軸回転制御回路４５は、クロック信号発生回路２３にて発生して出力されたクロック信号を基準にして所望の回転速度となるように被加工物（背面主軸Ｓ２）の回転を制御するためのものであり、制御ユニット部１３から出力される背面主軸回転速度指令信号と、速度信号生成回路４９から出力される背面主軸回転速度信号とを比較して、その差に応じた制御信号をクロック信号を基準にして生成する。背面主軸回転制御回路４５にて生成された制御信号は、駆動回路４３に出力される。
【００２５】
上記駆動回路４３は、背面主軸回転制御回路４５から出力された制御信号に基づいて、背面主軸回転用モータ１１（背面主軸Ｓ２）の回転速度が後述する背面主軸回転速度指令値となるように背面主軸回転用モータ１１への供給電力を制御する。これら駆動回路４３、背面主軸回転制御回路４５、及び、速度信号生成回路４５は、背面主軸回転用モータ１１（背面主軸Ｓ２）の回転速度のフィードバック制御系を構成している。
【００２６】
又、補機１２はＰＬＣ（シーケンサ）５０  を介して制御ユニット部１３に接続されていて、ＰＬＣ５０を介して制御されるようになっている。又、操作パネル５２が設けられている。
尚、補機としては、例えば、加工部位に冷却用油を供給する為のクーラント装置等が例として挙げられる。
【００２７】
上記制御ユニット部１３は、図１に示されるように、中央演算ユニット（ＣＰＵ）５１、パルス信号発生回路５３、５５、既に説明したクロック信号発生回路２３、分割タイミング信号発生回路５７、インタプリタ処理部５９、ＮＣコード格納部６１、変換処理部（トランスフォーマ）６３、電子カム処理部６５、電子カムデータ格納部６７等から構成されている。上記電子カム処理部６５には、軸制御部６９とコマンド処理部７１が設けられている。又、上記電子カムデータ格納部６７には、軸制御テーブル７３とコマンドテーブル７５が設けられている。
【００２８】
上記ＣＰＵ５１は、制御ユニット部１３全体の信号処理等を司る演算部である。ＣＰＵ５１は、周知のマルチプロセッシング（ｍｕｌｔｉ―ｐｒｏｃｅｓｓｉｎｇ）処理、すなわち多重処理を行う。多重処理は、複数の仕事（プログラム）を記憶しておき、これら複数のプログラムを短い時間で切り換えながら実行し、見かけ上、複数のプログラムが同時処理されているようにするもので、時分割処理するものや、各々の仕事に優先順位を付しておき優先順位が高い順に処理を切り換えながらタスク処理するもの等が知られている。
【００２９】
上記パルス信号発生回路５３、５５は、それぞれ、パルスエンコーダ１９、４７に接続されており、パルスエンコーダ１９、４７の夫々から出力された回転検出信号が図示しないインターフェース（Ｉ／Ｆ）等を介して入力される。この入力された回転検出信号に基づいて、所定回転角度毎にパルス信号を発生するように構成されている。又、パルス信号発生回路５３、５５は、ＣＰＵ５１にも接続されており、所定回転角度毎に発生するパルス信号をＣＰＵ５１に出力するようにも構成されている。本実施形態において、パルス信号発生回路５３、５５は、主軸回転用モータ３（主軸Ｓ１）或いは、背面主軸回転用モータ１１（背面主軸Ｓ２）が一回転する間に、主軸回転用モータ３（主軸Ｓ１）、背面主軸回転用モータ１１（背面主軸Ｓ２）に同期して等間隔でパルス信号が出力されるように構成されている。
【００３０】
上記クロック信号発生回路２３は、ＣＰＵ５１から出力される所定の指令信号を受けて、所定の周期、例えば、０．２５ミリ秒周期のクロック信号を生成して出力するように構成されており、クロック信号発生回路２３にて生成されたクロック信号は分割タイミング信号発生回路５７に出力される。分割タイミング信号発生回路５７は、クロック信号発生回路２３から出力されたクロック信号の発生回数をカウントするように構成されており、カウントの結果、例えば、１ミリ秒経過する毎に分割タイミング信号を生成してＣＰＵ５１に出力する。したがって、分割タイミング信号発生回路５７は、１ミリ秒周期の分割タイミング信号を割込みタイミング信号としてＣＰＵ５１に出力することになる。
尚、クロック信号及び分割タイミング信号の周期は上述した数値に限られることなく、ＣＰＵ５１の処理能力、パルスエンコーダ２９、３５、４１の分解能、各モータ３、５、７、９の性能等を考慮して適宜設定可能である。
【００３１】
上記インタプリタ処理部５９は、ＮＣコードを解釈して実行するための処理を行うものであり、上記ＮＣコード格納部６１には上記ＮＣコードが格納されているものである。又、上記軸制御部６９は、軸制御テーブル７３の情報に従って制御軸をコントロールするためのものである。又、上記軸制御テーブル７３には、軸制御部６９が実行するためのデータが格納されている。又、上記コマンド処理部７１は、コマンドテーブル７５に格納されているコマンドに従ってコードを指令するためのものである。又、上記コマンドテーブル７５には、コマンド処理部７１が実行するデータが格納されているものである。
【００３２】
又、上記変換処理部６３は、ＮＣコードを電子カムデータに変換する処理を行うものであり、電子カム起動用のＮＣコードをＮＣコード格納部６１に作成する。又、軸制御テーブル７３とコマンドテーブル７５を電子カムデータ格納部６７に格納する。
【００３３】
ここで、上記軸制御テーブル７３とコマンドテーブル７５に格納されるテーブルについて説明する。まず、テーブルには、図３（ａ）に示すように、「グループ番号」と「テーブル種類」を夫々示す番号が付与されていて分類分けされている。上記グループ番号は、同時に実行されるグループを意味するものであり、具体的には、「０１」のグループと「０２」のグループがあり、グループ番号「０１」が付与されているテーブルは同時に実行されるものである。同様に、グループ番号「０２」が付与されているテーブルも同時に実行されるものである。又、上記テーブル種類はテーブルの使用目的を意味するものであり、「０１」であれば「Ｘ」、「０２」であれば「Ｙ」、「０３」であれば「Ｚ」、「０４」であれば「Ｍ」、「０５」であれば「Ｓ」を意味するものである。
尚、作成したテーブルの例を、図３（ａ）の下部に示す。
【００３４】
又、図３（ａ）に示すような番号のテーブルが作成された場合には、「電子カム呼び出し」毎に使用されるテーブルは次のようなものである。
「電子カム呼び出し（１）」
使用テーブル：０１０１、０１０２、０１０３、０１０４、０１０５
「電子カム呼び出し（２）」
使用テーブル：０２０１、０２０２、０２０３、０２０４
そして、電子カム呼び出し時には、指定されたグループ番号とテーブル種類を基にテーブルを識別して所定の手順に従って処理するものである。
【００３５】
又、軸制御テーブル７３には、基準軸のポジションと、そのときにあるべきポジションとの組合せとして格納されている。
又、上記コマンドテーブル７５には、例えば、図３（ｂ）に示すような形態でコマンドが格納されている。
例えば、Ｍテーブルの個所をみてみると、表の左側欄に基準軸のポジションを示す数値が入っており、又、表の右側欄にはその時に指令されるべきコマンドが記入されている。これは、Ｓテーブルについても同様であり、表の左側欄に基準軸のポジションを示す数値が入っており、又、表の右側欄にはその時に指令されるべきコマンドが記入されている。
図３（ｂ）に示されるＭテーブル、Ｓテーブルに設定されるＳコード相当コマンド、Ｍコード相当コマンドは、基準軸に対し以下の考え方にて、テーブルに設定される。
変換前のＮＣプログラムにおいて、前基準として、ＮＣプログラムの各ブロックに記述される移動指令、工具選択指令、Ｍ指令、Ｓ指令等を実行した場合に必要になる時間を、ブロック毎に演算を行う。これは、ブロックに記述されるコマンドを実行した場合に要する時間を計算するモジュールをトランスフォーマ６３に備えさせておき、これによって、実行時間を演算する。この実行時間の演算が行われたら、各ブロックに記述されたコマンドの処理に必要となる時間を、トランスフォーマ６３に指定される記憶場所に、各ブロックに対応させて記憶させる。
このように、夫々のブロックの実行に要する時間を記憶したことで、特定のブロックに記述されるコマンドが実行されるまでに要する累積時間を演算することができるようになる。この累積時間を基準軸値に換算して、コマンド実行の開始タイミングを基準軸値として得ることができるものとされる。
このようにして得られたコマンド実行の開始タイミングとしての基準軸値に対応させて、ＮＣプログラムのブロックに記述されていたＭ、Ｓコード相当のコマンドが、コマンドテーブル７５に設定されることになる。元のＮＣプログラムで指定されていた順序を崩すことなく、各コマンドが適切な順序で実行されるものとすることができるものとなっている。
【００３６】
次に、実際のコマンドの例を図３（ｃ）に示す。例えば、Ｓコードコマンド例をみてみると、最初の５個の数字「０２０００」は回転数を示している。次の数字「１」は主軸番号を示している。すなわち、「１」は図２に示す主軸Ｓ１であり、「２」は図２に示す背面主軸Ｓ２を意味している。そして、最後の２個の数字「０３」が回転方向を示している。すなわち、「０３」が正転、「０４」が逆転、「０５」が停止である。
又、Ｍコードコマンドの例をみてみると、最初の「００」が第３Ｍコード、次の「１９」が第２Ｍコード、最後の「２３」が第１Ｍコードを意味している。
変換元のＮＣプログラムにおいて指定されるＭコードとの対応がこれら二桁の数字によって表される。例えば、“１９”＝Ｍ１９、“２３”＝Ｍ２３等である。
【００３７】
以上の構成を基にその作用を説明する。
まず、図４を参照して、インタプリタ処理部５９によるインタープリタ処理に関して説明する。
因みに、上記インタプリタ処理部５９による処理は、図示しないサイクルスタート釦の操作等によって開始される。
ステップＳ１において、ブロックカウンタを初期化、すなわち、「０」にする。次に、ステップＳ２に移行して、ブロックカウンタで示されるブロックを読み込む。次に、ステップＳ３に移行して、読み込んだブロックが電子カム起動コマンドであるか否かを判別する。判別の結果、電子カム起動コマンドであると判別された場合には、ステップＳ４に移行して、実行するテーブルのグループ番号を指定して、電子カム起動処理を実行する。次いで、ステップＳ５に移行して、ブロックカウンタを更新する。次いで、ステップＳ６に移行して、実行するブロックがあるか否かを判別する。実行するブロックが有ると判別された場合にはステップＳ２に戻り、同様の処理を繰り返す。実行するブロックがないと判別された場合にはリターンする。
【００３８】
ステップＳ３において、電子カム起動コマンドではないと判別された場合には、ステップＳ７に移行する。このステップＳ７においては、プログラム終了コマンドであるか否かの判別がなされる。プログラム終了コマンドであると判別された場合には、そのままリターンする。プログラム終了コマンドではないと判別された場合には、ステップＳ８に移行して、通常のコマンド処理が実行される。次いで、既に説明したステップＳ５、Ｓ６が順次実行されることになる。
【００３９】
次に、図５を参照して、ステップＳ４の電子カム起動処理について詳しく説明する。まず、ステップＳ１１において、同時実行する他の系統の有無をチェックし、同時実行する系統が有れば系統間の待ち合わせを行う。次いで、ステップＳ１２に移行して、指定されたテーブルのグループ番号を引数として呼び出して軸制御部の起動処理を行う。次いで、ステップＳ１３に移行して、コマンド処理部の起動処理を実行する。次いで、ステップＳ１４に移行して、基準軸の移動を開始する。
尚、ここにおける軸制御部６９とコマンド処理部７１の夫々のタスクは、別々のタスクとしてＣＰＵ５１が実行するものとしている。夫々の処理を別々に実行するものとしたことで、安定した処理を行わせることができるものとなっている。ここまでの処理によって、全テーブルに関する電子カム動作が一斉に開始される。次いで、ステップＳ１５に移行して、終了条件に達したか否かを判別する。
【００４０】
上記判別において、終了条件に達したと判別された場合には、ステップＳ１６に移行して、電子カム処理部６５（軸制御部６９とコマンド処理部７１）を停止する。次いで、ステップＳ１７に移行して、基準軸を停止し、且つ、ポジションを「０」に初期化する。
【００４１】
次に、図６を参照して、ステップＳ１２における軸制御部の起動処理に関して説明する。まず、ステップＳ２１において、引数に渡されたグループ番号から実行すべきＸ軸のテーブル番号を算出する。次いで、ステップＳ２２に移行して、算出したテーブルがあるか否かを判別する。算出したテーブルが有ると判別された場合には、ステップＳ２３に移行する。このステップＳ２３においては、指定テーブルによるＸ軸の電子カム動作を開始する。次いで、ステップＳ２４に移行して、引数に渡されたグループ番号から、実行すべきＹ軸テーブル番号を算出する。上記ステップＳ２２において、算出したテーブルがないと判別された場合には、ステップＳ２３を迂回して上記ステップＳ２４に移行する。
【００４２】
次いで、ステップＳ２５に移行して、算出したテーブルは有るか否かを判別する。  算出したテーブルが有ると判別された場合には、ステップＳ２６に移行する。このステップＳ２６においては、指定テーブルによるＹ軸の電子カム動作を開始する。次いで、ステップＳ２７に移行して、引数に渡されたグループ番号から、実行すべきＺ軸テーブル番号を算出する。上記ステップＳ２５において、算出したテーブルがないと判別された場合には、ステップＳ２６を迂回して上記ステップＳ２７に移行する。
【００４３】
次いで、ステップＳ２８に移行して、算出したテーブルは有るか否かを判別する。  算出したテーブルが有ると判別された場合には、ステップＳ２９に移行する。このステップＳ２９においては、指定テーブルによるＺ軸の電子カム動作を開始する。次いで、リターンする。上記ステップＳ２８において、算出したテーブルがないと判別された場合には、ステップＳ２９を迂回してリターンする。
【００４４】
次に、図７を参照して、ステップＳ１３におけるコマンド処理部の実行処理について説明する。まず、ステップＳ３１において、引数に渡されたグループ番号から、実行すべきＭコードテーブル番号を算出する。次いで、ステップＳ３２に移行する。このステップＳ３２においては、算出したテーブルが有るか否かの判別がなされる。算出したテーブルが有ると判別された場合には、ステップＳ３３に移行する。このステップＳ３３においては、Ｍコード用コマンドテーブル処理が開始される。次いで、ステップＳ３４に移行して、引数に渡されたグループ番号から、実行すべきＳコードテーブル番号を算出する。上記ステップＳ３２において、算出したテーブルがないと判別された場合には、ステップＳ３３を迂回して上記ステップＳ３４に移行する。
【００４５】
次いで、ステップＳ３５に移行する。このステップＳ３５においては、算出したテーブルが有るか否かの判別がなされる。算出したテーブルが有ると判別された場合には、ステップＳ３６に移行する。このステップＳ３６においては、Ｓコード用コマンドテーブル処理が開始される。次いで、リターンする。上記ステップＳ３５において、算出したテーブルがないと判別された場合には、ステップＳ３６を迂回してリターンする。
【００４６】
次に、図８を参照してコマンドテーブル処理、すなわち、図７に示したステップＳ３３、ステップＳ３６のコマンドテーブル処理に関して説明する。まず、ステップＳ４１において、コマンドテーブルの最初のブロックを読み込む。次いで、ステップＳ４２に移行して、基準軸の値が既に過ぎているか否かを判別する。
基準軸の値が既に過ぎていると判別された場合には、ステップＳ４３に移行する。このステップＳ４３においては、基準軸がテーブルの値に到達したか否かの判別がなされる。次いで、ステップＳ４４に移行して、コマンド実行される。この場合には、Ｍコードテーブルの場合にはＭコードを出力し、Ｓコードテーブルの場合にはＳコードを出力する。次いで、ステップＳ４５に移行して、次のブロックを読み込む。上記ステップＳ４２において、基準軸の値が過ぎていないと判別された場合には、上記ステップＳ４３、Ｓ４４を迂回して、ステップＳ４５に移行する。このように、基準軸の値に対し、コマンドテーブルに記述されるコマンドが実行される基準軸値との比較を行うことによって、ブロックスキップ処理が実行された後のコマンドテーブルが再起動されたときに、基準軸値が既に過ぎてしまっているコマンドの実行をスキップさせて、現時点における基準軸値に対応させたコマンドを実行させることができるものとなる。
【００４７】
次いで、ステップＳ４６に移行して、ブロックの有無を判別し、ブロック無しの場合には終了する。ブロック有りの場合は、ステップＳ４２に戻り、同様の処理を繰り返すものである。
【００４８】
次に、実際の変換例を説明する。
例えば、図９（ａ）に示すようなＮＣコードを例に挙げてみてみる。そこには、複数箇所にＭコードが入っている。すなわち、上から２行目の「Ｍ３」、上から５行目の「Ｍ２２」、上から８行目の「Ｍ２３」である。これを従来の方法によって変換すると、図９（ｂ）に示すようなものとなる。つまり、上記Ｍコード「Ｍ３」、「Ｍ２２」、「Ｍ２３」の部分については電子カム制御ができないので、ＮＣコードによる制御に切り換える必要があり、その後に電子カムを呼び出すことになる｛電子カム呼び出し（１）、（２）、（３）｝。これに対して、これを本実施の形態によれば、図９（ｃ）に示すようなものとなり、上記Ｍコード「Ｍ３」、「Ｍ２２」、「Ｍ２３」の部分についても電子カム制御が可能になるものである。
【００４９】
以上本実施の形態によると次のような効果を奏することができる。
まず、電子カム処理部６５の軸制御部６９によって制御軸を制御するだけではなく、電子カム処理部６５のコマンド処理部７１によってＳコードコマンドやＭコードコマンドが実行すべき処理についても電子カム制御によって実行できるようにしたので、ＮＣ制御と電子カム制御間の切換回数が大幅に減少することになり、それによって、加工に要する時間を短縮させることが可能になった。
又、従来ＮＣプログラムによって実行していたＳコードやＭコードの内容についても電子カムプログラムによって実施可能になったので、ＮＣプログラムから電子カムプログラムへの変換率も高くなり、それによって、加工効率の向上を図ることが可能になる。
又、電子カム制御とコマンド処理制御が共通の基準軸に基づいて実行されるので、両制御が同期して実行されることになり、両制御に基づく夫々の動作同士の干渉やコマンド処理のタイミングのずれ等を効果的に防止することができる。
又、軸制御部６９による処理とコマンド処理部７１による処理を、夫々共通のＣＰＵ５１において時分割処理されるように構成されているので、軸制御テーブル７３とコマンドテーブル７５のデータ作成に際して、他のテーブルデータに用いられるデータとの相関を検討する必要がなくなるので、テーブルデータの作成が容易になる。又、夫々の処理を個別に実行することにより、コマンド処理の影響で電子カム制御が不安定になるようなことを防止することができる。
又、図５のステップＳ１２、Ｓ１３、Ｓ１４に示すように、軸制御部６９による処理とコマンド処理部７１による処理の後に基準軸の動作を開始させるように構成しているので、両処理を基準軸に対して遅滞なく同期動作させることが可能になる。
【００５０】
尚、本発明は前記一実施の形態に限定されるものではなく、例えば、機械構成については、図示したものはあくまで一例であり、その他にも様々な構成の機械が考えられる。
【００５１】
【発明の効果】
以上詳述したように本発明による工作機械の数値制御装置と工作機械の数値制御方法によると、電子カム制御手段によって制御軸を制御するだけではなく、基準軸動作制御手段と、コマンド処理実行用データテーブルと、コマンドテーブル制御手段とによって、ＳコードコマンドやＭコードコマンドが実行すべき処理についても、電子カム制御によって実行できるようにしたので、ＮＣ制御と電子カム制御間の切換回数が大幅に減少することになり、それによって、加工に要する時間を短縮させることが可能になる。
又、ＮＣプログラムから電子カムプログラムへの変換率も高くなり、それによって、加工効率の向上を図ることが可能になる。
又、電子カム制御とコマンド処理制御が共通の基準軸に基づいて実行されるので、両制御が同期して実行されることになり、両制御に基づく夫々の動作同士の干渉やコマンド処理のタイミングのずれ等を効果的に防止することができる。
又、上記電子カム制御手段が実行される処理と上記コマンドテーブル制御手段が実行される処理を、夫々共通のＣＰＵにおいて時分割処理されるように構成した場合には、テーブルデータの作成に際して、他のテーブルデータに用いられるデータとの相関を検討する必要がなくなるので、テーブルデータの作成が容易になると共に、コマンド処理の影響で電子カム制御が不安定になるようなことを防止することができる。
又、上記電子カム制御手段と上記コマンドテーブル制御手段とを先行して起動させる先行起動手段を設け、上記基準軸動作制御手段は上記電子カム制御手段と上記コマンドテーブル制御手段の両者が上記先行起動手段により先行起動された後に基準軸の動作を開始させるように構成した場合には、コマンドテーブル制御手段と電子カム制御手段とを基準軸に対して遅滞なく同期動作させることが可能になる。
【図面の簡単な説明】
【図１】本発明の一実施の形態を示す図で、数値制御工作機械の構成を示すブロック図である。
【図２】本発明の一実施の形態を示す図で、数値制御工作機械の概略の機械構成を示す平面図である。
【図３】本発明の一実施の形態を示す図で、図３（ａ）はサーブルの種類を示す図、図３（ｂ）はＭテーブルとＳテーブルの内容を示す図、図３（ｃ）はＳコードコマンドとＭコードコマンドの内容を示す図である。
【図４】本発明の一実施の形態を示す図で、インタープリタ処理の内容を示すフローチャートである。
【図５】本発明の一実施の形態を示す図で、電子カム起動処理の内容を示すフローチャートである。
【図６】本発明の一実施の形態を示す図で、軸制御部の起動処理の内容を示すフローチャートである。
【図７】本発明の一実施の形態を示す図で、コマンド処理部の起動処理の内容を示すフローチャートである。
【図８】本発明の一実施の形態を示す図で、コマンドテーブル処理の内容を示すフローチャートである。
【図９】本発明の一実施の形態を示す図で、図９（ａ）は変換前のＮＣプログラム例を示す図、図９（ｂ）は従来の変換後のプログラム例を示す図、図９（ｃ）は実施例によった場合の変換後のプログラム例を示す図である。
【符号の説明】
１  数値制御工作機械
１３  制御ユニット
５１  中央演算ユニット
５９  インタプリタ制御部
６１  ＮＣコード格納部
６３  変換処理部
６５  電子カム処理部
６７  電子カムデータ格納部
６９  軸制御部
７１  コマンド処理部
７３  軸制御テーブル
７５  コマンドテーブル
【図１】
2004362228.tif 000003
【図２】
2004362228.tif 000004
【図３】
2004362228.tif 000005
【図４】
2004362228.tif 000006
【図５】
2004362228.tif 000007
【図６】
2004362228.tif 000008
【図７】
2004362228.tif 000009
【図８】
2004362228.tif 000010
【図９】
2004362228.tif 000011