(57)【要約】【課題】ＮＣプログラムを電子カムプログラムに変換する場合の変換率を高めることができ、それによって、加工効率を向上させることを可能にする工作機械の数値制御装置と工作機械の数値制御方法を提供すること。【解決手段】ＮＣプログラムを記憶するＮＣプログラム記憶部と、上記ＮＣプログラム中にそれが記述される場合に以降のブロックの実行がスキップされるブロックスキップ指令が有るか否かを検出するブロックスキップ指令検出手段と、上記ＮＣプログラム中に上記ブロックスキップ指令に呼応するように設けられ、それが記述される場合にそれ以降のブロックの実行が行われるようにするブロックスキップ終了指令が有るか否かを検出するブロックスキップ終了指令検出手段と、上記ブロックスキップ指令時とブロックスキップ終了指令時における少なくとも１個の制御軸における座標の異同を比較する座標比較手段と、を具備したもの。【選択図】  図１
2004348448.tif 000002
【特許請求の範囲】
【請求項１】
素材を所望の形状に加工するために作成されたＮＣプログラムを記憶するＮＣプログラム記憶部と、
上記ＮＣプログラム記憶部に記憶されているＮＣプログラム中に、それが記述される場合に以降のブロックの実行がスキップされるブロックスキップ指令が有るか否かを検出するブロックスキップ指令検出手段と、
上記ＮＣプログラム記憶部に記憶されているＮＣプログラム中に、上記ブロックスキップ指令に呼応するように設けられ、それが記述される場合にそれ以降のブロックの実行が行われるようにするブロックスキップ終了指令が有るか否かを検出するブロックスキップ終了指令検出手段と、
上記ブロックスキップ指令時とブロックスキップ終了指令時における少なくとも１個の制御軸における座標の異同を比較する座標比較手段と、
を具備したことを特徴とする工作機械の数値制御装置。
【請求項２】
請求項１記載の工作機械の数値制御装置において、
上記座標比較手段は選択工具番号に基づいて座標の異同を比較するものであることを特徴とする工作機械の数値制御装置。
【請求項３】
請求項１記載の工作機械の数値制御装置において、
上記ブロックスキップ指令とブロックスキップ終了指令の組合せが複数有る場合に、ＮＣプログラムから電子カムプログラムへの変換に際して、削除可能なブロックスキップ終了指令とブロックスキップ指令を削除する処理を行うブロックスキップ削除処理手段が設けられていることを特徴とする工作機械の数値制御装置。
【請求項４】
請求項１記載の工作機械の数値制御装置において、
上記座標比較手段による比較の結果「否」と判別された場合に、ブロックスキップ終了指令以降に「可」となる座標を検索し、同一となる座標が検出された場合に該座標が検出されたブロックと上記ブロックスキップ終了指令との間のブロックに記述されるＮＣプログラムが電子カムプログラムへ変換可能であるか否かを判定する変換可否判定手段と、
上記変換可否判定手段による判定が「可」である場合に、上記ブロックスキップ終了指令を上記座標が検出された行の後に移動する移動手段と、
を具備したことを特徴とする工作機械の数値制御装置。
【請求項５】
請求項１記載の工作機械の数値制御装置において、
上記座標比較手段による比較の結果「否」となった場合に、ブロックスキップ終了指令以降に「可」となる座標を検索し、同一となる座標が検出された場合に該座標が検出されたブロックと上記ブロックスキップ指令との間のブロックに記述されるＮＣプログラムが電子カムプログラムへ変換可能であるか否かを判定する変換可否判定手段と、
上記変換可否判定手段による判定が「否」である場合に、変換が不可となる原因となった指令を上記座標が検出されたブロックの後に移動しても問題がない指令か否かを判定する移動可否判定手段と、
上記移動可否判定手段による判定が「可」であった場合には、座標が検出されたブロックより後の行に変換が不可となる原因となった指令を移動する不可原因指令移動手段と、
を具備したことを特徴とする工作機械の数値制御装置。
【請求項６】
素材を所望の形状に加工するために作成されたＮＣプログラムを記憶するＮＣプログラム記憶部と、
上記ＮＣプログラム記憶部に記憶されているＮＣプログラム中に、それが記述される場合に以降のブロックの実行がスキップされるブロックスキップ指令が有るか否かを検出するブロックスキップ指令検出手段と、
上記ＮＣプログラム記憶部に記憶されているＮＣプログラム中に、上記ブロックスキップ指令に呼応するように設けられ、それが記述される場合にそれ以降のブロックの実行が行われるようにするブロックスキップ終了指令が有るか否かを検出するブロックスキップ終了指令検出手段と、
上記ブロックスキップ指令検出手段とブロックスキップ終了指令検出手段の夫々が検出したブロックスキップ指令とブロックスキップ終了指令の両指令を削除可能か否かの判別を行うブロックスキップ削除処理可否判定手段と、
上記ブロックスキップ削除処理可否判定手段によって削除可能と判定された場合にブロックスキップ指令とブロックスキップ終了指令を削除するブロックスキップ削除手段と、
上記ＮＣプログラムを電子カムプログラムに変換するプログラム変換手段と、
を具備したことを特徴とする工作機械の数値制御装置。
【請求項７】
ＮＣプログラムを読み込むステップと、
上記ステップにて読み込んだＮＣプログラムに対して所定のブロックスキップ用前処理を施すステップと、
上記ステップにて所定のブロックスキップ前処理を施されたＮＣプログラムを電子カムデータに変換するステップと、
を具備したことを特徴とする工作機械の数値制御方法。
【請求項８】
請求項７記載の工作機械の数値制御方法において、
上記ブロックスキップ用前処理は、
削除可能なブロックスキップ先とブロックスキップ元を削除するブロックスキップ削除処理を施すステップと、
上記ステップによって削除された後に残ったブロックスキップに対してブロックスキップ先の変更処理を施すステップと、
を具備したことを特徴とする工作機械の数値制御方法。
【請求項９】
請求項８記載の工作機械の数値制御方法において、
上記ブロックスキップ削除処理は、
ブロックスキップ処理が複数存在する場合においてブロックスキップ先と次のブロックスキップ元の間に電子カムデータ変換に影響のない指令のみであるか否かを判別するステップと、
上記ステップによる判別によって電子カムデータ変換に影響のない指令のみであると判別された場合に上記ブロックスキップ先と次のブロックスキップ元を削除するステップと、
を具備したことを特徴とする工作機械の数値制御方法。
【請求項１０】
請求項８記載の工作機械の数値制御方法において、
上記ブロックスキップ先変更処理は、
ブロックスキップ元の座標とブロックスキップ先の座標を比較してその異同を判別するステップと、
上記ステップによる判別の結果座標が異なると判別された場合にそれ以降の中で上記ブロックスキップ元の座標と同じ座標指令を検索するステップと、
上記ステップによって検索された新たな座標指令と上記ブロックスキップ先の座標との間に電子カムデータ変換に影響のない指令のみであるか否かを判別するステップと、
上記ステップによる判別の結果電子カムデータ変換に影響のない指令のみであると判別された場合に上記ブロックスキップ先指令を上記新たな座標指令の後に移動させるステップと、
を具備していることを特徴とする工作機械の数値制御方法。
【請求項１１】
請求項１０記載の工作機械の数値制御方法において、
上記新たな座標指令と上記ブロックスキップ先の座標との間に電子カムデータ変換に影響のない指令のみではないと判別された場合に、影響のある指令を上記新たな座標指令の後に移動させることの是非を判別するステップと、
上記ステップにおいて移動させても問題ないと判別された場合に上記影響のある指令を上記新たな座標指令の後に移動させるステップと、
その後上記ブロックスキップ先指令を上記新たな座標指令の後に移動させるステップと、
を具備していることを特徴とする工作機械の数値制御方法。
【請求項１２】
請求項１０記載の工作機械の数値制御方法において、
上記座標の異同は選択工具番号に基づいて判別されるものであることを特徴とする工作機械の数値制御方法。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は工作機械の数値制御装置と工作機械の数値制御方法に係り、特に、ＮＣプログラムを電子カムプログラムに変換する場合の変換率を高めることができ、それによって、作業効率を向上させることができるように工夫したものに関する。
【０００２】
【従来の技術】
例えば、工作機械に素材をセットしてバイト等の工具を利用して所望の形状に加工するに際して、数値制御プログラム（ＮＣプログラム）を作成し、該ＮＣプログラムによってバイト等の工具を含む各部を自動的に動作させ、それによって、所望形状の加工部品を得る数値制御工作機械が一般的に知られている。
【０００３】
上記のような加工部品を得るために作成されたＮＣプログラムそのものは、通常、数値制御工作機械上でも作成・修正可能であり、例えば、加工部品を試し削りした結果、加工部品が図面公差内に入っていない等の不具合がある場合には、機上にてその不具合をなくすための修正を行うことができるものであり、高い作業効率を提供することができるものである。
【０００４】
一方、ＮＣプログラムではなく電子カムプログラムを利用して、工作機械にセッティングされた素材から、所望の形状をバイト等の工具を利用して加工することが行われている。ここでいう電子カムプログラムを利用した制御とは、例えば、特許文献１に開示されているようなものである。
【０００５】
【特許文献１】
特開２００１−１７０８４３号公報
【０００６】
すなわち、上記特許文献１に開示されているように、基準軸に取りつけられたパルスエンコーダが出力するパルス信号により時々刻々の回転位置データと、基準軸の単位回転位置ごとに対応してそれぞれ設定された移動軸の指令位置データとから時々刻々の移動軸の指令データを生成する。この移動指令データと回転位置データとから回転物の回転速度に同期する移動軸の指令速度データを生成して、生成した移動指令データと指令速度データに基づいて工具の位置を制御するものである。そして、この種の電子カムプログラムを利用した数値制御工作機械では、主軸の累積回転角に対する工具又は被加工物夫々の位置データを定めるものであり、よって、ＮＣプログラムを利用するものに比べてより短時間、且つ、高精度にて加工を行うことができるという利点がある。
【０００７】
又、この種の電子カムプログラムは、通常、図面情報、指定された加工パス、加工工程、工具情報、ツーリング情報等を数値制御工作機械とは別個に設けられたパーソナルコンピュータ等にインストールされたＣＡＭソフト等に入力して作成していたが、ある種の変換ソフトを利用して、ＮＣプログラムを電子カムプログラムに変換することが考えられている。
【０００８】
【発明が解決しようとする課題】
上記従来の構成によると次のような問題があった。
電子カムプログラムによって機械を動作させる場合、動作させるための電子カムプログラムは予め固定物として作成されている必要があり、且つ、無理のない連続したデータでなければならない。
例えば、ＮＣプログラムによって工作機械を動作させる場合において、ブロックスキップを実行する場合、ブロックスキップ元とブロックスキップ先の座標値が異なっていても、その場でブロックスキップ元からブロックスキップ先の座標値に移動するデータが生成されるため問題なく実行することができる。
【０００９】
これに対し、電子カムプログラム制御によって機械を動作させる場合には、上記したように、動作させるための電子カムプログラムは固定物であり、よって、ブロックスキップを実行するか否かによってデータを変更することは困難である。又、仮に、ブロックスキップを実行した場合には連続したデータではなくなってしまう可能性が高い。通常、電子カム制御の場合には、同期タイミング毎に生成される指令位置にサーボモータを駆動して直接移動するため、タイミング間の移動距離には自ずと限界がある。したがって、上記したように、連続したデータでなくなってしまう場合には、位置制御が成立しなくなってしまう懸念がある。
【００１０】
これに対しては、電子カムプログラムを作成する際に、予め、ブロックスキップ先の座標値をブロックスキップ元の座標値と同じになるように作成し、ブロックスキップしてもしなくても無理のない連続したデータとして作成することは可能であるが、それでは変換前のＮＣプログラムの軌跡を変えてしまうことになり、それによって、機械の干渉のおそれが増し好ましいことではない。又、使用者が意図した軌跡に従い機械が作動しないことにもなり得るため好ましくない。
勿論、機械構成によっては軌跡を変えてしまっても干渉のおそれが全くないものもあり、そのような場合はこの方法で対応は可能である。
【００１１】
このような理由から、従来は、ブロックスキップ元とブロックスキップ先の座標値が異なる場合には電子カムデータに変換できないというメッセージを表示し処理を中止していた。その為、電子カムプログラムに変換できないＮＣプログラムが多く存在してしまい、結果として、十分な加工効率の向上効果を得ることができないという問題があった。
【００１２】
本発明はこのような点に基づいてなされたものでその目的とするところは、ＮＣプログラムを電子カムプログラムに変換するに際して、ブロックスキップの存在を理由にして変換ができないという事象をできるだけ少なくし、それによって、ＮＣプログラムを電子カムプログラムに変換する場合の変換率を高めることができ、ひいては、加工効率を向上させることを可能にする工作機械の数値制御装置と工作機械の数値制御方法を提供することにある。
【００１３】
【課題を解決するための手段】
上記目的を達成するべく本願発明の請求項１による工作機械の数値制御装置は、素材を所望の形状に加工するために作成されたＮＣプログラムを記憶するＮＣプログラム記憶部と、上記ＮＣプログラム記憶部に記憶されているＮＣプログラム中に、それが記述される場合に以降のブロックの実行がスキップされるブロックスキップ指令が有るか否かを検出するブロックスキップ指令検出手段と、上記ＮＣプログラム記憶部に記憶されているＮＣプログラム中に、上記ブロックスキップ指令に呼応するように設けられ、それが記述される場合にそれ以降のブロックの実行が行われるようにするブロックスキップ終了指令が有るか否かを検出するブロックスキップ終了指令検出手段と、上記ブロックスキップ指令時とブロックスキップ終了指令時における少なくとも１個の制御軸における座標の異同を比較する座標比較手段と、を具備したことを特徴とするものである。
又、請求項２による工作機械の数値制御装置には、請求項１記載の工作機械の数値制御装置において、上記座標比較手段は選択工具番号に基づいて座標の異同を比較するものであることを特徴とするものである。
又、請求項３による工作機械の数値制御装置は、請求項１記載の工作機械の数値制御装置において、上記ブロックスキップ指令とブロックスキップ終了指令の組合せが複数有る場合に、ＮＣプログラムから電子カムプログラムへの変換に際して、削除可能なブロックスキップ終了指令とブロックスキップ指令を削除する処理を行うブロックスキップ削除処理手段が設けられていることを特徴とするものである。
又、請求項４による工作機械の数値制御装置は、請求項１記載の工作機械の数値制御装置において、上記座標比較手段による比較の結果「否」と判別された場合に、ブロックスキップ終了指令以降に「可」となる座標を検索し、同一となる座標が検出された場合に該座標が検出されたブロックと上記ブロックスキップ終了指令との間のブロックに記述されるＮＣプログラムが電子カムプログラムへ変換可能であるか否かを判定する変換可否判定手段と、上記変換可否判定手段による判定が「可」である場合に、上記ブロックスキップ終了指令を上記座標が検出された行の後に移動する移動手段と、を具備したことを特徴とする工ものである。
又、請求項５による工作機械の数値制御装置は、請求項１記載の工作機械の数値制御装置において、上記座標比較手段による比較の結果「否」となった場合に、ブロックスキップ終了指令以降に「可」となる座標を検索し、同一となる座標が検出された場合に該座標が検出されたブロックと上記ブロックスキップ指令との間のブロックに記述されるＮＣプログラムが電子カムプログラムへ変換可能であるか否かを判定する変換可否判定手段と、上記変換可否判定手段による判定が「否」である場合に、変換が不可となる原因となった指令を上記座標が検出されたブロックの後に移動しても問題がない指令か否かを判定する移動可否判定手段と、上記移動可否判定手段による判定が「可」であった場合には、座標が検出されたブロックより後の行に変換が不可となる原因となった指令を移動する不可原因指令移動手段と、を具備したことを特徴とするものである。
又、請求項６による工作機械の数値制御装置は、素材を所望の形状に加工するために作成されたＮＣプログラムを記憶するＮＣプログラム記憶部と、上記ＮＣプログラム記憶部に記憶されているＮＣプログラム中に、それが記述される場合に以降のブロックの実行がスキップされるブロックスキップ指令が有るか否かを検出するブロックスキップ指令検出手段と、上記ＮＣプログラム記憶部に記憶されているＮＣプログラム中に、上記ブロックスキップ指令に呼応するように設けられ、それが記述される場合にそれ以降のブロックの実行が行われるようにするブロックスキップ終了指令が有るか否かを検出するブロックスキップ終了指令検出手段と、上記ブロックスキップ指令検出手段とブロックスキップ終了指令検出手段の夫々が検出したブロックスキップ指令とブロックスキップ終了指令の両指令を削除可能か否かの判別を行うブロックスキップ削除処理可否判定手段と、上記ブロックスキップ削除処理可否判定手段によって削除可能と判定された場合にブロックスキップ指令とブロックスキップ終了指令を削除するブロックスキップ削除手段と、上記ＮＣプログラムを電子カムプログラムに変換するプログラム変換手段と、を具備したことを特徴とするものである。
又、請求項７による工作機械の数値制御方法は、ＮＣプログラムを読み込むステップと、上記ステップにて読み込んだＮＣプログラムに対して所定のブロックスキップ用前処理を施すステップと、上記ステップにて所定のブロックスキップ前処理を施されたＮＣプログラムを電子カムデータに変換するステップと、を具備したことを特徴とするものである。
又、請求項８による工作機械の数値制御方法は、請求項７記載の工作機械の数値制御方法において、上記ブロックスキップ用前処理は、削除可能なブロックスキップ先とブロックスキップ元を削除するブロックスキップ削除処理を施すステップと、上記ステップによって削除された後に残ったブロックスキップに対してブロックスキップ先の変更処理を施すステップと、を具備したことを特徴とするものである。
又、請求項９による工作機械の数値制御方法は、請求項８記載の工作機械の数値制御方法において、上記ブロックスキップ削除処理は、ブロックスキップ処理が複数存在する場合においてブロックスキップ先と次のブロックスキップ元の間に電子カムデータ変換に影響のない指令のみであるか否かを判別するステップと、上記ステップによる判別によって電子カムデータ変換に影響のない指令のみであると判別された場合に上記ブロックスキップ先と次のブロックスキップ元を削除するステップと、を具備したことを特徴とするものである。
又、請求項１０による工作機械の数値制御方法は、請求項８記載の工作機械の数値制御方法において、上記ブロックスキップ先変更処理は、ブロックスキップ元の座標とブロックスキップ先の座標を比較してその異同を判別するステップと、上記ステップによる判別の結果座標が異なると判別された場合にそれ以降の中で上記ブロックスキップ元の座標と同じ座標指令を検索するステップと、上記ステップによって検索された新たな座標指令と上記ブロックスキップ先の座標との間に電子カムデータ変換に影響のない指令のみであるか否かを判別するステップと、上記ステップによる判別の結果電子カムデータ変換に影響のない指令のみであると判別された場合に上記ブロックスキップ先指令を上記新たな座標指令の後に移動させるステップと、を具備していることを特徴とするものである。
又、請求項１１による工作機械の数値制御方法は、請求項１０記載の工作機械の数値制御方法において、上記新たな座標指令と上記ブロックスキップ先の座標との間に電子カムデータ変換に影響のない指令のみではないと判別された場合に、影響のある指令を上記新たな座標指令の後に移動させることの是非を判別するステップと、上記ステップにおいて移動させても問題ないと判別された場合に上記影響のある指令を上記新たな座標指令の後に移動させるステップと、その後上記ブロックスキップ先指令を上記新たな座標指令の後に移動させるステップと、を具備していることを特徴とするものである。
又、請求項１２による工作機械の数値制御方法は、請求項１０記載の工作機械の数値制御方法において、上記座標の異同は選択工具番号に基づいて判別されるものであることを特徴とするものである。
【００１４】
つまり、本願発明による工作機械の数値制御装置は、ブロックスキップ指令検出手段によってブロックスキップ指令を検出し、ブロックスキップ終了指令検出手段によってブロックスキップ終了指令を検出し、座標比較手段によって夫々の指令における座標を比較してその異同を判別すれば、少なくとも電子カムプログラムへの変換が可能か否かの判別を行うことができる。
その際、上記座標比較手段としては、選択工具番号に基づいて座標の異同を比較するものが考えられ、それによって、座標の異同を容易に判別することができる。
又、上記ブロックスキップ指令とブロックスキップ終了指令の組合せが複数有る場合に、ＮＣプログラムから電子カムプログラムへの変換に際して、削除可能なブロックスキップ終了指令とブロックスキップ指令を削除する処理を行うブロックスキップ削除処理手段を設けることが考えられ、それによって、電子カムプログラムへの変換率を高めることができる。
又、上記座標比較手段による比較の結果「否」と判別された場合に、ブロックスキップ終了指令以降に「可」となる座標を検索し、同一となる座標が検出された場合に該座標が検出されたブロックと上記ブロックスキップ終了指令との間のブロックに記述されるＮＣプログラムが電子カムプログラムへ変換可能であるか否かを判定する変換可否判定手段と、上記変換可否判定手段による判定が「可」である場合に、上記ブロックスキップ終了指令を上記座標が検出された行の後に移動する移動手段とを設けた場合には、それによって、電子カムプログラムへの変換率を高めることができる。
又、上記座標比較手段による比較の結果「否」となった場合に、ブロックスキップ終了指令以降に「可」となる座標を検索し、同一となる座標が検出された場合に該座標が検出されたブロックと上記ブロックスキップ指令との間のブロックに記述されるＮＣプログラムが電子カムプログラムへ変換可能であるか否かを判定する変換可否判定手段と、上記変換可否判定手段による判定が「否」である場合に、変換が不可となる原因となった指令を上記座標が検出されたブロックの後に移動しても問題がない指令か否かを判定する移動可否判定手段と、上記移動可否判定手段による判定が「可」であった場合には、座標が検出されたブロックより後の行に変換が不可となる原因となった指令を移動する不可原因指令移動手段とを設けた場合にも、それによって、電子カムプログラムへの変換率を高めることができる。
又、素材を所望の形状に加工するために作成されたＮＣプログラムを記憶するＮＣプログラム記憶部と、上記ＮＣプログラム記憶部に記憶されているＮＣプログラム中に、それが記述される場合に以降のブロックの実行がスキップされるブロックスキップ指令が有るか否かを検出するブロックスキップ指令検出手段と、上記ＮＣプログラム記憶部に記憶されているＮＣプログラム中に、上記ブロックスキップ指令に呼応するように設けられ、それが記述される場合にそれ以降のブロックの実行が行われるようにするブロックスキップ終了指令が有るか否かを検出するブロックスキップ終了指令検出手段と、上記ブロックスキップ指令検出手段とブロックスキップ終了指令検出手段の夫々が検出したブロックスキップ指令とブロックスキップ終了指令の両指令を削除可能か否かの判別を行うブロックスキップ削除処理可否判定手段と、上記ブロックスキップ削除処理可否判定手段によって削除可能と判定された場合にブロックスキップ指令とブロックスキップ終了指令を削除するブロックスキップ削除手段と、上記ＮＣプログラムを電子カムプログラムに変換するプログラム変換手段と、を具備した構成とした場合には、削除可能なブロックスキップ処理を削除してその個数を減少させて電子カムプログラムへの変換を行うようにしているので、電子カムプログラムへの変換確立を向上させることができる。
尚、請求項７〜請求項１２は本願発明をプログラムクレームとして規定したものである。
【００１５】
【発明の実施の形態】
以下、図１乃至図７を参照して本発明の一実施の形態を説明する。
図１は本実施形態に係る数値制御工作機械の全体構成を示すブロック図であり、又、図２は該数値制御工作機械の概略制御軸構成を示す平面図である。
図１において、数値制御工作機械１は、主軸回転用モータ３、工具移動用モータ５、被加工物移動用モータ７、背面主軸移動用モータ９、背面主軸回転用モータ１１及びこれら主軸回転用モータ３、工具移動用モータ５、被加工物移動用モータ７、背面主軸移動用モータ９、背面主軸回転用モータ１１の駆動を制御するための制御ユニット部１３を有している。
【００１６】
上記主軸回転用モータ３は、被加工物が保持可能に構成された主軸（図２中符号Ｓ１で示す）を回転駆動させるためのもので、駆動回路１５及び主軸回転制御回路１７等を介して制御ユニット部１３に接続されている。又、主軸回転用モータ３には、主軸回転用モータ３の回転を検知するためのパルスエンコーダ１９が設けられている。このパルスエンコーダ１９の出力は制御ユニット部１３及び速度信号生成回路２１に接続されており、パルスエンコーダ１９から出力される回転検出信号が制御ユニット部１３及び速度信号生成回路２１に入力される。パルスエンコーダ１９は、主軸回転用モータ３の回転に同期して回転検出信号を発生し、制御ユニット部１３及び速度信号生成回路２１に出力する。速度信号生成回路２１は、パルスエンコーダ１９から出力される回転検出信号を主軸回転用モータ３の回転速度を意味する主軸回転速度信号に変換する。速度信号生成回路２１の出力は主軸回転制御回路１７に接続されており、変換された主軸回転速度信号が主軸回転制御回路１７に入力される。
【００１７】
上記主軸回転制御回路１７は、クロック信号発生回路２３にて発生して出力されたクロック信号を基準にして所望の回転速度となるように被加工物（主軸Ｓ１に把持される被加工物）の回転を制御するためのものであり、制御ユニット部１３から出力される主軸回転速度指令信号と、速度信号生成回路２１から出力される主軸回転速度信号とを比較して、その差に応じた制御信号をクロック信号を基準にして生成する。主軸回転制御回路１７にて生成された制御信号は、駆動回路１５に出力される。
【００１８】
上記駆動回路１５は、主軸回転制御回路１７から出力された制御信号に基づいて、主軸回転用モータ３（主軸Ｓ１）の回転速度が後述する主軸回転速度指令値となるように主軸回転用モータ１３への供給電力を制御する。これら駆動回路１５、主軸回転制御回路１７、及び、速度信号生成回路２１は、主軸回転用モータ３（主軸Ｓ１）の回転速度のフィードバック制御系を構成している。
【００１９】
次に、上記工具移動用モータ５は、被加工物を加工するための工具（旋削加工用バイト等、図２中符号ＴＳ１、ＴＳ３で示す）を、例えば、主軸回転用モータ３（主軸Ｓ１）の回転中心軸に対して直交する方向（Ｘ軸方向、Ｙ軸方向）、又は主軸と平行な方向（Ｚ軸方向）に移動させるためのもので、駆動回路２５及び工具送り制御回路２７を介して制御ユニット部１３に接続されている。
因みに、この実施の形態の場合には、図２に示すように、工具ＴＳ１はＸ１軸方向とＹ１軸方向に移動制御されるように構成されており、一方、工具ＴＳ３はＸ３軸方向とＹ３軸方向とＺ３軸方向に移動制御されるように構成されている。
【００２０】
又、工具としては工具ＴＳ１、ＴＳ３以外に、背面加工用工具ＴＳ２が設けられている。
又、工具移動用モータ５には、工具移動用モータ５の回転を検出するパルスエンコーダ２９が設けられている。このパルスエンコーダ２９の出力は工具送り制御回路２７に接続されており、パルスエンコーダ２９の回転検出信号が工具送り制御回路２７に入力される。パルスエンコーダ２９は、工具移動用モータ５の所定回転角度毎に回転位置信号を発生して、工具送り制御回路２７に出力する。
【００２１】
工具送り制御回路２７は、パルスエンコーダ２９から出力された回転位置信号に基づいて実際の工具ＴＳ１、ＴＳ３の移動位置を認識すると共に、認識した実際の工具ＴＳ１、ＴＳ３の移動位置と後述する制御ユニット部１３から出力される工具位置指令信号とを比較して、この比較結果に基づいて工具駆動信号を生成する。工具送り制御回路２７にて生成された工具駆動信号は、駆動回路２５に出力される。駆動回路２５は、工具送り制御回路２７から出力された工具駆動信号に基づいて工具移動用モータ５への供給電力を制御する。これら、駆動回路２５及び工具送り制御回路２７は、工具ＴＳ１、ＴＳ３の移動位置のフィードバック制御系を構成している。
【００２２】
次に、上記被加工物移動用モータ７は、被加工物を、例えば、主軸回転用モータ３（主軸Ｓ１）の回転中心軸に対して平行な方向（Ｚ１軸方向）に移動させるためのもので、駆動回路３１及び被加工物送り制御回路３３を介して制御ユニット部１３に接続されている。又、被加工物移動用モータ７には、被加工物移動用モータ７の回転を検出するパルスエンコーダ３５が設けられている。このパルスエンコーダ３５の出力は被加工物送り制御回路３３に接続されており、パルスエンコーダ３５の回転検出信号が被加工物送り制御回路３３に入力される。パルスエンコーダ３５は、被加工物移動用モータ７の所定回転角度毎に回転検出信号を発生して、被加工物送り制御回路３３に出力する。
【００２３】
上記被加工物送り制御回路３３は、パルスエンコーダ３５から出力された回転検出信号に基づいて実際の被加工物の移動位置を認識すると共に、認識した実際の被加工物の移動位置と制御ユニット部１３から出力される被加工物位置指令信号とを比較して、この比較結果に基づいて被加工物駆動信号を生成する。所定回転角度毎に生成された被加工物駆動信号は、駆動回路３１に出力される。駆動回路３１は、所定回転角度毎に出力された被加工物駆動信号に基づいて被加工物移動用モータ７への供給電力を制御する。これら、駆動回路３１及び上記被加工物送り制御回路３３は、被加工物の移動位置のフィードバック制御系を構成している。
【００２４】
次に、上記背面主軸台移動用モータ９は、背面主軸Ｓ２を、例えば、主軸回転用モータ３（主軸Ｓ１）の回転中心軸に対して平行な方向（Ｚ２軸方向）、又は、これと直交する方向（Ｘ２軸方向）に移動させるためのもので、駆動回路３７及び背面主軸台送り制御回路３９を介して制御ユニット部１３に接続されている。又、背面主軸台移動用モータ９には、背面主軸台移動用モータ９の回転を検出するパルスエンコーダ４１が設けられている。このパルスエンコーダ４１の出力は背面主軸台送り制御回路３９に接続されており、パルスエンコーダ４１の回転検出信号が背面主軸台送り制御回路３９に入力される。パルスエンコーダ４１は、背面主軸台移動用モータ９の所定回転角度毎に回転位置信号を発生して、背面主軸台送り制御回路３９に出力する。
【００２５】
上記背面主軸台送り制御回路３９は、パルスエンコーダ４１から出力された回転位置信号に基づいて実際の背面主軸Ｓ２の移動位置を認識すると共に、認識した実際の背面主軸Ｓ２の移動位置と後述する制御ユニット部１３から出力される背面主軸台位置指令信号とを比較して、この比較結果に基づいて背面主軸台駆動信号を生成する。背面主軸台送り制御回路３９にて生成された背面主軸台駆動信号は、駆動回路３７に出力される。駆動回路３７は、背面主軸台送り制御回路３９から出力された駆動信号に基づいて背面主軸台移動用モータ９への供給電力を制御する。これら、駆動回路３７及び背面主軸台送り制御回路３９は、背面主軸台の移動位置のフィードバック制御系を構成している。
【００２６】
次に、上記背面主軸回転用モータ１１は、被加工物を保持可能に構成された背面主軸Ｓ２をＣ２方向に回転駆動させるためのもので、駆動回路４３及び背面主軸回転制御回路４５等を介して制御ユニット部１３に接続されている。又、背面主軸回転用モータ１１には、背面主軸回転用モータ１１の回転を検知するためのパルスエンコーダ４７が設けられている。このパルスエンコーダ４７の出力は制御ユニット部１３及び速度信号生成回路４９に接続されており、パルスエンコーダ４７から出力される回転検出信号が制御ユニット部１３及び速度信号生成回路４９に入力される。パルスエンコーダ４７は、背面主軸回転用モータ１１（背面主軸Ｓ２）の回転に同期して回転検出信号を発生し、制御ユニット部１３及び速度信号生成回路４９に出力する。速度信号生成回路４９は、パルスエンコーダ４７から出力される回転検出信号を背面主軸回転用モータ１１（背面主軸Ｓ２）の回転速度をあらわす背面主軸回転速度信号に変換する。速度信号生成回路４９の出力は背面主軸回転制御回路４５に接続されており、変換された背面主軸回転速度信号が背面主軸回転制御回路４５に入力される。
【００２７】
上記背面主軸回転制御回路４５は、クロック信号発生回路２３にて発生して出力されたクロック信号を基準にして所望の回転速度となるように被加工物（背面主軸Ｓ２）の回転を制御するためのものであり、制御ユニット部１３から出力される背面主軸回転速度指令信号と、速度信号生成回路４９から出力される背面主軸回転速度信号とを比較して、その差に応じた制御信号をクロック信号を基準にして生成する。背面主軸回転制御回路４５にて生成された制御信号は、駆動回路４３に出力される。
【００２８】
上記駆動回路４３は、背面主軸回転制御回路４５から出力された制御信号に基づいて、背面主軸回転用モータ１１（背面主軸Ｓ２）の回転速度が後述する背面主軸回転速度指令値となるように背面主軸回転用モータ１１への供給電力を制御する。これら駆動回路４３、背面主軸回転制御回路４５、及び、速度信号生成回路４５は、背面主軸回転用モータ１１（背面主軸Ｓ２）の回転速度のフィードバック制御系を構成している。
【００２９】
上記制御ユニット部１３は、図１に示されるように、中央演算ユニット（ＣＰＵ）５１、パルス信号発生回路５３、５５、既に説明したクロック信号発生回路２３、分割タイミング信号発生回路５７、ＲＡＭ５９、ＲＯＭ６１等を有している。
【００３０】
上記ＣＰＵ５１は、制御ユニット部１３全体の信号処理等を司る演算部である。ＣＰＵ５１は、周知のマルチプロセッシング（ｍｕｌｔｉ―ｐｒｏｃｅｓｓｉｎｇ）処理、すなわち多重処理を行う。多重処理は、複数の仕事（プログラム）を記憶しておき、これら複数のプログラムを短い時間で切り替えながら実行し、見かけ上、複数のプログラムが同時処理されているようにするもので、時分割処理するものや、各々の仕事に優先順位を付しておき優先順位が高い順に処理を切り替えながらタスク処理するもの等が知られている。
【００３１】
上記パルス信号発生回路５３、５５は、それぞれ、パルスエンコーダ１９、４７に接続されており、パルスエンコーダ１９、４７の夫々から出力された回転検出信号が図示しないインターフェース（Ｉ／Ｆ）等を介して入力される。この入力された回転検出信号に基づいて、所定回転角度毎にパルス信号を発生するように構成されている。又、パルス信号発生回路５３、５５は、ＣＰＵ５１にも接続されており、所定回転角度毎に発生するパルス信号をＣＰＵ５１に出力するようにも構成されている。本実施形態において、パルス信号発生回路５３、５５は、主軸回転用モータ３（主軸Ｓ１）或いは、背面主軸回転用モータ１１（背面主軸Ｓ２）が一回転する間に、主軸回転用モータ３（主軸Ｓ１）、背面主軸回転用モータ１１（背面主軸Ｓ２）に同期して等間隔で４０９６個のパルス信号が出力されるように構成されている。
【００３２】
上記クロック信号発生回路２３は、ＣＰＵ５１から出力される所定の指令信号を受けて、所定の周期、例えば、０．２５ミリ秒周期のクロック信号を生成して出力するように構成されており、クロック信号発生回路２３にて生成されたクロック信号は分割タイミング信号発生回路５７に出力される。分割タイミング信号発生回路５７は、クロック信号発生回路２３から出力されたクロック信号の発生回数をカウントするように構成されており、カウントの結果たとえば１ミリ秒経過する毎に分割タイミング信号を生成してＣＰＵ５１に出力する。したがって、分割タイミング信号発生回路５７は、１ミリ秒周期の分割タイミング信号を後述する割込みタイミング信号としてＣＰＵ５１に出力することになる。
尚、クロック信号及び分割タイミング信号の周期は上述した数値に限られることなく、ＣＰＵ５１の処理能力、パルスエンコーダ２９、３５、４１の分解能、各モータ３、５、７、９の性能等を考慮して適宜設定可能である。
【００３３】
上記ＲＡＭ５９は、ＣＰＵ５１における各種演算の結果を読み出し可能に一時的に記憶するように構成されている。そして、ＲＡＭ５９には、ＮＣプログラム記憶部６３、運転プログラム記憶部６５、機械固有情報記憶部６７、最適化データ記憶部６８、トランスフォーマ記憶部６９、トランスフォーマ作業データ記憶部７１とが設けられている。又、ＲＡＭ５９は、ＣＰＵ５１における各種演算の結果を読み出し可能に一時的に記憶するように構成されている。
【００３４】
上記ＮＣプログラム記憶部６３は、複数種類のワークの加工に対応できるように、それぞれのワークの加工用ＮＣプログラムが、複数記憶される領域である。この記憶領域に対して図示しない操作入力装置を操作しアクセスすることによって、所望の加工用ＮＣプログラムを選択可能となるようにしている。
【００３５】
上記運転プログラム記憶部６５は、数値制御工作機械１を実際に稼働させるためのＮＣプログラム又は電子カムプログラムを記憶させる領域となっている。つまり、工作機械１をＮＣプログラムで稼働させるときには、ＮＣプログラム記憶部６３に記憶されているＮＣプログラムの何れかが選択されて、運転プログラム記憶部６５にロードされ、あるいは、ＮＣ操作盤（不図示）に備えられたモニター上で作成されたＮＣプログラムがそのままこの領域にロードされる。一方、電子カムプログラムを含む最適化プログラムで稼働させる時には、最適化メインプログラムのみが、運転プログラム記憶部６５に、ロードされるものとなっている（最適化プログラムは実質的には電子カムコードを含む点が特殊なＮＣプログラムである。）。
【００３６】
上記機械固有情報記憶部６７は、例えば、工具ＴＳ１、ＴＳ２、ＴＳ３のオフセット値を記憶する為に設けられている領域である。
【００３７】
上記ＲＯＭ６１は、各種処理プログラムを記憶する記憶部であって、その一部に、トランスフォーマ７３が記憶されている。又、電子カム制御コマンドもこれに記憶されている。
又、上記最適化データ記憶部６８は、ＮＣプログラムが最適化変換された時に作成される最適化メインプログラムに記述されるコマンドが参照するデータを格納する領域として設定される。上記最適化データ自体は、工具等が移動する軌跡データ、Ｍ、Ｇ、Ｔコード機能データをテーブル化したものである。
【００３８】
既に説明したＲＡＭ５９の運転プログラム記憶部６５であるが、ここには、既に説明したように、実際の加工動作を行う時に必要とされるＮＣプログラムが格納されている。そして、その一部に、第１のチャンネル加工手順記憶部と、第２のチャンネル加工手順記憶部と、第３のチャンネル加工手順記憶部とが設けられている。
【００３９】
上記第１のチャンネル加工手順記憶部と、第２のチャンネル加工手順記憶部と、第３のチャンネル加工手順記憶部に記憶されたＮＣプログラムにより、実際に動作させられる部分を図２を参照して説明する。
まず、第１のチャンネル加工手順記憶部に記憶されたＮＣプログラムにより、主軸Ｓ１を回転させる主軸回転用モータ３、被加工物送り用モータ７、工具送りモータ５が制御される。これによって、主軸Ｓ１は、図２中矢印で示すＺ１軸方向に移動制御されると共にＣ１回転方向に回転制御される。一方、工具ＴＳ１は、図２中矢印で示すＸ１軸、Ｙ１軸に移動制御される。チャンネル１では、主軸台の移動制御、回転制御又は、工具ＴＳ３を支持する刃物台の各矢印方向の移動制御、工具ＴＳ３の中に回転工具が含まれていて、その制御が必要であるものの場合は回転等の制御を行う。
【００４０】
次に、第２のチャンネル加工手順記憶部に記憶されたＮＣプログラムにより、背面主軸Ｓ２を回転させる背面主軸回転モータ１１、背面主軸移動用モータ９、工具ＴＳ２の回転が制御される。これによって、背面主軸Ｓ２は、図２中矢印で示すＺ２軸方向、Ｘ２軸方向に移動制御されると共にＣ２回転方向に背面主軸回転が制御される。一方工具ＴＳ２そのものは、固定刃物台に設置されるものであって、バイト等の非可動のもの或いは、ドリル等の回転可能なものを取付可能としているものである。ドリル等の回転可能なものを使う場合には、第２のチャンネル加工手順記憶部に記憶されたＮＣプログラムにより回転が制御される。
【００４１】
次に、第３のチャンネル加工手順記憶部に記憶されたＮＣプログラムにより、工具送りモータ５が制御される。これによって、工具ＴＳ３は、図２中矢印で示すＸ３，Ｙ３，Ｚ３軸方向に移動制御される。チャンネル３では、この工具ＴＳ３を支持する刃物台の移動制御あるいは、保持される工具の内回転工具の制御が必要な場合に回転等の制御を行う。
尚、この実施の形態では、工具ＴＳ３はチャンネル３に、ＴＳ２はチャンネル２に、ＴＳ１はチャンネル１に割り付けられているが、ＴＳ１或いはＴＳ３に関してはどのチャンネルで制御しても良く、必要に応じて適宜工具ＴＳ１、ＴＳ２、ＴＳ３のチャンネル割り当ては変更できる。同様に主軸Ｓ１、背面主軸Ｓ２もチャンネル割り当ては変更できる。
【００４２】
以上の構成を基にその作用を説明する。
例えば、バック加工を行える数値制御工作機械（本実施の形態における数値制御工作機械１もまさにそのような構成になっている）のＮＣプログラムパターンにおいて、通常バック加工用のＮＣプログラム部分は、背面主軸Ｓ２から突出したエジェクタピンと干渉しないように、加工が必要なとき以外はブロックスキップする為の指令で挟まれている。このようなＮＣプログラムを電子カムプログラムに変換する際の手順を図３乃至図６のフローチャートに従って説明する。
【００４３】
まず、図３を参照して処理の大きな流れを説明する。最初にステップＳ１において電子カムデータに変換するＮＣプログラムをメモリに読み込む。次に、バック加工ブロックスキップ用前処理を実行する（ステップＳ２）。次に、ステップＳ３において、ＮＣプログラムを電子カムデータに変換する。次に、ステップＳ４に移行して、ＮＣプログラムを電子カムデータに変換できたか否かを判別する。
【００４４】
ステップＳ４において、ＮＣプログラムから電子カムデータに変換できたと判別された場合にはで電子カムデータをファイルとして出力する（ステップＳ５）。これに対して、ＮＣプログラムから電子カムデータに変換できなかった場合はその理由が判断できるエラーメッセージを出力して（ステップＳ６）終了する。
以上が処理の大きな流れである。
【００４５】
次に、ステップＳ２における「バック加工ブロックスキップ用前処理」について図４を参照して説明する。まず、ステップＳ１１において、削除可能なバック加工ブロックスキップ指令を削除する。次に、ステップＳ１２に移行して、残ったバック加工ブロックスキップ指令に対してバック加工ブロックスキップ先変更処理を行う。
【００４６】
ここで、上記ステップＳ１１におけるバック加工ブロックスキップ削除処理について、図５を用いて詳細に説明する。まず、ステップＳ２１でバック加工ブロックスキップ元指令を検索する。
尚、実際のＮＣプログラムにおいては、上記バック加工ブロックスキップ元指令は、「Ｍ７５」といった表現で示されている。
次に、ステップＳ２２に移行して、上記検索が成功したか否かの判別が行われる。検索が成功しなければバック加工ブロックスキップを行わないＮＣプログラムということで処理は終了である。これに対して、検索が成功した場合には、ステップＳ２３に移行して、バック加工ブロックスキップ先の指令Ａを検索する。
尚、実際のＮＣプログラムにおいては、上記バック加工ブロックスキップ先指令は、「ＥＭ７５」といった表現で示されている。
【００４７】
次に、ステップＳ２４に移行して、次のバック加工ブロックスキップ元の指令Ｂを検索する。次いで、ステップＳ２５に移行して、上記検索が成功したか否かを判別する。検索が成功しなかった場合には削除するバック加工ブロックスキップ指令はもうないということで処理は終了である。これに対して、検索が成功した場合には、バック加工ブロックスキップ先指令Ａ（ＥＭ７５）と次のバック加工ブロックスキップ元指令Ｂ（Ｍ７５）との間には電子カムデータ変換に影響のないブロック（指令）のみであるか否かを調べる（ステップＳ２６）。
【００４８】
尚、ここでいう電子カムデータ変換に影響のないブロックとは、例えば、ＥＯＢ（改行）のみのブロック、コメント、メッセージ表示指令、シーケンスナンバー等、ＮＣプログラムで動作させる際にもあまり意味を持たないブロックと、ＮＣプログラムで動作させる際には必要だが電子カム動作時には必要ではない待ち合わせ指令等も含まれる。又、ＮＣプログラムで動作させる場合、待ち合わせ指令をスキップさせてしまうと、それと対になる待ち合わせ指令が実行される際にスキップされてしまった待ち合わせ指令をずっと待ち続けることになり、プログラムが止まってしまう。しかしながら、電子カム動作時には既に待ち合わせ指令を踏まえたタイミングでデータが作成されており、実際の待ち合わせ指令を出力することは行わないので、電子カムデータを作成する際に待ち合わせを考慮さえすれば待ち合わせ指令をスキップさせてしまっても何等問題はない。
又、他に図７に示されているコードである「Ｍ９００（ＣＨ２において下から５行目に記されている）」も一例に挙げることができる。このコードは、チャンネル２単独運転時に所定の条件を満足した際に、プログラム先頭に処理を戻す指令である。このコードがスキップされるとチャンネル２で実際に行われている加工が終了しないことになり、プログラム作成者の意図しない動作を機械に実行させることとなるが、このコードが記述されるブロックを後ろにずらす等の対応をとることによって、スキップされなくなり、電子カムデータに適切に変換されて影響しないものとなる。
【００４９】
次に、ステップＳ２７に移行して、電子カムデータ変換に影響のないブロックのみであるか否かを判別する。変換に影響のないブロックのみの場合には、ステップＳ２８に移行して、Ａ、Ｂの指令を削除する。そして、ステップＳ２４に戻って以下同様の処理を繰り返す。このような処理によって複数組存在するバック加工ブロックスキップ指令の内、削除可能なバック加工ブロックスキップ先指令とバック加工ブロックスキップ元指令を削除することができる。
【００５０】
次に、図６を参照して、ステップＳ１２のバック加工ブロックスキップ先変更処理について説明する。まず、ステップＳ３１において、バック加工ブロックスキップ元の指令Ｃを検索する。次に、ステップＳ３２に移行して、上記検索が成功したか否かの判別が行われる。検索が成功していなければ全てのバック加工ブロックスキップ指令に対して処理をしたということで終了する。これに対して、検索が成功した場合には、ステップＳ３３に移行して、バック加工ブロックスキップ先の指令Ｄを検索する。
【００５１】
次に、ステップＳ３４に移行して、バック加工ブロックスキップ元指令Ｃとバック加工ブロックスキップ先指令Ｄにおける夫々の選択工具番号Ｔ１とＴ２を取得する。次に、ステップＳ３５に移行して、バック加工ブロックスキップ元指令Ｃにおける選択工具番号Ｔ１とバック加工ブロックスキップ先指令Ｄにおける選択工具番号Ｔ２が等しいか否かを判別する。該判別の結果、選択工具番号Ｔ１と選択工具番号Ｔ２が等しい場合には、ステップＳ３１に戻る。
因みに、バック加工ブロックスキップ元指令Ｃにおける選択工具番号Ｔ１とバック加工ブロックスキップ先指令Ｄにおける選択工具番号Ｔ２が等しいということは、そのままで電子カムデータ変換が可能であることを意味する（後述するが、厳密には可能でない場合もある。）。
このように、工具番号を利用してブロックスキップ元指令時とバック加工ブロックスキップ先指令時における刃物台の指令位置座標の異同を容易に比較することが可能になっている。刃物台の為の指令位置座標を演算し、演算結果同士を比較する方法によっても良いわけであるが、工具選択指令を使用することにより、浮動小数点演算が必要になるところを、整数の演算で済ますことが可能になり、それによって、テータ処理に要する時間を短縮させることが可能になる。
又、この段階において、ブロックスキップ元指令とブロックスキップ先指令との間では、刃物台の指令位置座標の異同を判定するのに、実際問題として厳密な座標比較を行う必要はないものである。この意味において、大まかな比較が必要であるところに対して、おおまかな比較を行うことが可能になり、必要以上の負荷を制御装置に与えることがない等、実用上の効果を得ることができる。
尚、厳密な比較が必要でないのは、ステップＳ３における電子カムデータ変換を実行するに際して、ここで行った比較を再度厳密に行うプロセスが含まれているためであり、全く同じ指令位置座標となっているかどうかの確認の為、ここでは厳密な比較を行う必要がないものである。つまり、電子カムデータに変換できる可能性があることを判定できればよいのである。
【００５２】
これに対して、判別の結果、バック加工ブロックスキップ元指令Ｃにおける選択工具番号Ｔ１とバック加工ブロックスキップ先指令Ｄにおける選択工具番号Ｔ２が等しくない場合には、ステップＳ３６に移行して、バック加工ブロックスキップ先指令Ｄ以降で選択工具番号Ｔ１と同じ工具選択指令Ｅを検索する。つまり、バック加工ブロックスキップ元指令Ｃにおける選択工具番号Ｔ１とバック加工ブロックスキップ先指令Ｄにおける選択工具番号Ｔ２が等しくないということは、そのままでは、電子カムデータ変換が不可能になってしまうので、新たに、同じ選択工具番号を有する指令Ｅを探してそれ以降にスキップ先を変更しようとするものである。
【００５３】
次に、ステップＳ３７に移行して、上記検索が成功したか否かの判別が行われる。上記検索が成功しないと判別された場合はそのまま終了する。これに対して、検索が成功したと判別された場合には、ステップＳ３８に移行して、バック加工ブロックスキップ先指令Ｄと指令Ｅ間には電子カムデータ変換に影響のないブロック（指令）のみであるかどうか調べる。
尚、ここでいう電子カムデータ変換に影響のないブロックとはステップＳ２６で説明したものと同等である。
【００５４】
次に、ステップＳ３９に移行して、電子カムデータ変換に影響のないブロックのみであるか否かの判別が行われる。判別の結果、影響のないブロックのみである場合には、ステップＳ４０に移行して、バック加工ブロックスキップ先指令Ｄの指令を指令Ｅの後に移動して、バック加工ブロックスキップ元とバック加工ブロックスキップ先の選択工具番号が等しくなるようにする。そして、次のバック加工ブロックスキップ指令を処理するためステップＳ３１に戻る。これに対して、判別の結果、影響のあるブロックが存在する場合には、ステップＳ４１に移行して、その影響のあるブロックを指令Ｅの後に移動しても問題ないか調べる。
【００５５】
尚、ここでいう移動しても問題ないブロックとは、例えば、バック加工の単独運転時のプログラムエンド指令が相当する。この指令はバック加工の単独運転時、サイクル加工の終了指令となるが、スキップしてしまうと終了を判断できずそれ以降の単独運転時には実行してはいけない部分を実行してしまう。よって、この指令をスキップ先の変更によりスキップさせてしまうことはできないのだが、ステップＳ３８での電子カムデータ変換に影響のないブロックを跨いで移動することは可能であり、ステップＳ４１でいう問題のない指令となる。
【００５６】
又、ステップＳ４２に移行して、問題がないか否かを判別する。判別の結果、問題のない指令であれば、ステップＳ４３に移行して、その影響のある指令を指令Ｅの後に移動してステップＳ４０に移行する。これに対して、問題のある指令であれば電子カムデータに変換できないＮＣプログラムなので速やかに処理を中断し終了する。
以上が本実施の形態における一連の処理の内容である。
【００５７】
ここで、実際のＮＣプログラムを例に挙げて簡単に説明してみる。図７は実際のＮＣプログラムの一部を示すもので、図２に示したチャンネル１、チャンネル２、チャンネル３に対応した各プログラム「ＣＨ１」、「ＣＨ２」、「ＣＨ３」が夫々示されている。ここで、バック加工ブロックスキップ指令「Ｍ７５」とバック加工ブロックスキップ終了指令「ＥＭ７５」は、チャンネル２に対応した「ＣＨ２」のプログラム中に組み込まれている。
具体的には、「ＣＨ２」において、最初のバック加工ブロックスキップ指令「Ｍ７５」が上から６行目にあり、それに対応した最初のバック加工ブロックスキップ終了指令「ＥＭ７５」が上から１３行目にある。又、次のバック加工ブロックスキップ指令「Ｍ７５」が上から１５行目にあり、それに対応した２番目のバック加工ブロックスキップ終了指令「ＥＭ７５」が上から１９行目にある
【００５８】
その際、最初のバック加工ブロックスキップ終了指令「ＥＭ７５」と２番目のバック加工ブロックスキップ指令「Ｍ７５」との間に関して、電子カムデータの変換に影響のないブロック指令のみであるか否かをみてみると、そこには、待ち合わせを示す指令「ｗａｉｔｍ（２、２、３）」が存在するだけであり、これはまさに電子カムデータの変換に影響のないブロック指令のみであると考えられる。したがって、最初のバック加工ブロックスキップ終了指令「ＥＭ７５」と２番目のバック加工ブロックスキップ指令「Ｍ７５」は削除されることになる。
【００５９】
その結果、最初のバック加工ブロックスキップ指令「Ｍ７５」から２番目のバック加工ブロックスキップ終了指令「ＥＭ７５」にジャンプすることになるが、その際、工具選択指令が同じであるか否かをみてみる。最初のバック加工ブロックスキップ指令「Ｍ７５」時における工具は「Ｔ２０００」であり、一方、２番目のバック加工ブロックスキップ終了指令「ＥＭ７５」時における工具は「Ｔ３８００」であり、つまり、両工具選択指令は異なる。したがって、このままでは、このＮＣプログラムを電子カムプログラムへ変換することはできず、製造装置に設けられる表示画面にエラーメッセージが表示されることになる。
ここで、表示画面にエラーメッセージが表示されないようにする処理がこのプログラムに施されることになる。まず、最初に行うことは、図６のフローチャートに示されているように、「Ｔ２０００」の工具番号の工具が、２番目のバック加工ブロックスキップ指令「ＥＭ７５」より後に指定されているか否かの検索を行うことである。検索の結果、「Ｔ２０００」の工具が発見されたので（「ＥＭ７５」の３行後に指定されている）、検索が成功することになる。ここで発見された「Ｔ２０００」と２番目の「ＥＭ７５」との間のブロックに記述されるコードが、電子カムデータ変換に影響のないもののみであるか否かを判別する。これらのコードは、前述したように、電子カムデータ変換に影響のないもののみであるので、「Ｔ２０００」の後に「ＥＭ７５」が移動される。このように処理された結果として、「Ｍ７５」から「ＥＭ７５」にジャンプした場合、「Ｍ７５」が無効で「ＥＭ７５」との間の全てのブロックが実行された場合の何れの場合においても、「ＥＭ７５」の実行時点において、「Ｍ７５」の実行時点で指定されていた指定工具に揃えることができるものとされている。よって、電子カムデータへの変換が終了することになる。
【００６０】
尚、図７に示したＮＣプログラムの場合には、削除した結果、残ったバック加工ブロックスキップ指令（Ｍ７５）とバック加工ブロックスキップ終了指令（ＥＭ７５）とにおける工具選択指令が異なり、そこで、それ以降の中で同じ工具選択指令を検索し、その検索された指令との間に電子カムデータ変換に影響のないブロックのみであるか否かを判別し、影響のないブロックのみである場合にはその指令の後にバック加工ブロック終了指令（ＥＭ７５）を移動させるものである。
これに対して、図７に示したＮＣプログラムの場合と異なり、複数組のバック加工ブロックスキップ指令（Ｍ７５）・バック加工ブロックスキップ終了指令（ＥＭ７５）の組合せが存在して、その中に削除可能なものがあってそれを削除し、且つ、削除した結果、残ったバック加工ブロックスキップ指令（Ｍ７５）とバック加工ブロックスキップ終了指令（ＥＭ７５）とにおける工具選択指令が同じであるならでそのままで電子カムデータ変換が可能である。
又、影響のないブロックのみではない場合には、影響のある指令を検索してそれを上記工具選択指令の後に移動させることの是非を判別し、問題なければ移動させ、且つ、バック加工ブロック終了指令（ＥＭ７５）を移動させるものである。
【００６１】
以上本実施の形態によると次のような効果を奏することができる。
すなわち、ＮＣプログラムを加工時間短縮等のメリットの大きい電子カムデータに変換する際に、変換可能なＮＣプログラム数が増えるという効果がある。これは、電子カムデータに変換する際の障害となっていた「ブロックスキップ指令」の絶対数を減らすことにより、電子カムデータに変換可能なＮＣプログラム数が増える可能性が高まるからである。
又、削除することができなかったブロックスキップ指令であってブロックスキップ元の工具選択指令とブロックスキップ先の工具選択指令が異なっている場合には、それを同一にするように処理しているので、それによっても、電子カムデータに変換可能なＮＣプログラム数を増大させることができるものである。
さらに、工具選択指令を同一にするに際して、影響のある指令が存在する場合には、その指令を移動させる処理をも行っており、それによって、電子カムデータに変換可能なＮＣプログラム数を増大させることができるものである。
そして、ＮＣプログラムを電子カムプログラムに変換する場合の変換率を高めることができるので、結局、作業効率を向上させることができるものである。
【００６２】
尚、本発明は前記一実施の形態に限定されるものではない。
又、制御の対象となる機械構成としては様々なものが考えられ、図示したものはあくまで一例である。
又、ブロックスキップ指令としても様々なものが想定され、バック加工ブロックスキップ指令はあくまで一例である。又、メイン加工のプログラムにブロックスキップ指令が含まれる形態のものに対しても、当然適用可能である。
【００６３】
【発明の効果】
以上詳述したように、本願発明による工作機械の数値制御装置と工作機械の数値制御方法によると、まず、ブロックスキップ指令検出手段によってブロックスキップ指令を検出し、ブロックスキップ終了指令検出手段によってブロックスキップ終了指令を検出し、座標比較手段によって夫々の指令における座標を比較してその異同を判別するようにしているので、少なくとも電子カムプログラムへの変換が可能か否かの判別を行うことができる。
又、その際、座標比較手段を選択工具番号に基づいて座標の異同を比較するものとして構成した場合には、それによって、座標の異同を容易に判別することができる。
又、ブロックスキップ指令とブロックスキップ終了指令の組合せが複数有る場合に、ＮＣプログラムから電子カムプログラムへの変換に際して、削除可能なブロックスキップ終了指令とブロックスキップ指令を削除する処理を行うブロックスキップ削除処理手段を設けた場合には、それによって、電子カムデータに変換する際の障害となっていた「ブロックスキップ指令」の絶対数を減らすことができ、電子カムデータに変換可能なＮＣプログラム数を増大させて変換率を高めることができる。
又、上記座標比較手段による比較の結果「否」と判別された場合に、ブロックスキップ終了指令以降に「可」となる座標を検索し、同一となる座標が検出された場合に該座標が検出されたブロックと上記ブロックスキップ終了指令との間のブロックに記述されるＮＣプログラムが電子カムプログラムへ変換可能であるか否かを判定する変換可否判定手段と、上記変換可否判定手段による判定が「可」である場合に、上記ブロックスキップ終了指令を上記座標が検出された行の後に移動する移動手段とを設けることにより、電子カムデータに変換可能なＮＣプログラム数を増大させて変換率を高めることができる。
又、上記座標比較手段による比較の結果「否」となった場合に、ブロックスキップ終了指令以降に「可」となる座標を検索し、同一となる座標が検出された場合に該座標が検出されたブロックと上記ブロックスキップ指令との間のブロックに記述されるＮＣプログラムが電子カムプログラムへ変換可能であるか否かを判定する変換可否判定手段と、上記変換可否判定手段による判定が「否」である場合に、変換が不可となる原因となった指令を上記座標が検出されたブロックの後に移動しても問題がない指令か否かを判定する移動可否判定手段と、上記移動可否判定手段による判定が「可」であった場合には、座標が検出されたブロックより後の行に変換が不可となる原因となった指令を移動する不可原因指令移動手段とを設けた場合にも、それによって、電子カムデータに変換可能なＮＣプログラム数を増大させて変換率を高めることができる。
又、削除可能なブロックスキップ処理を削除してその個数を減少させて電子カムプログラムへの変換を行うようにした場合には、電子カムプログラムへの変換確立を向上させることができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態を示す図で、数値制御工作機械の構成を示すブロック図である。
【図２】本発明の一実施の形態を示す図で、数値制御工作機械のチャンネル構成を示す平面図である。
【図３】本発明の一実施の形態を示す図で、制御プログラムの主たる手順を示すフローチャートである。
【図４】本発明の一実施の形態を示す図で、バック加工ブロックスキップ用前処理の内容を示すフローチャートである。
【図５】本発明の一実施の形態を示す図で、バック加工ブロックスキップ用前処理の内のバック加工ブロックスキップ削除処理の内容を示すフローチャートである。
【図６】本発明の一実施の形態を示す図で、バック加工ブロックスキップ用前処理の内のバック加工ブロックスキップ先変更処理の内容を示すフローチャートである。
【図７】本発明の一実施の形態を示す図で、ＮＣプログラムの一例を示す図である。
【符号の説明】
１  数値制御工作機械
１３  制御ユニット
５１  中央演算ユニット
５９  ＲＡＭ
６１  ＲＯＭ
６３  ＮＣプログラム記憶部
６５  運転プログラム記憶部
６７  機械固有情報記憶部
６９  トランスフォーマ記憶部
７１  トランスフォーマ作業データ記憶部
７３  トランスフォーマ
【図１】
2004348448.tif 000003
【図２】
2004348448.tif 000004
【図３】
2004348448.tif 000005
【図４】
2004348448.tif 000006
【図５】
2004348448.tif 000007
【図６】
2004348448.tif 000008
【図７】
2004348448.tif 000009