(57)【要約】【課題】加工プログラムにおける不要なブロックの処理時間を削除し、加工プログラムのサイクルタイムを短縮することができる数値制御装置を提供すること。【解決手段】数値制御装置１００は、指令解読手段１１０、補間手段１２０、加減速制御手段１３０を備えており、指令解読手段１１０により実行される指令解読処理において加工プログラムを解読し、解読した命令から、軸移動指令や補助機能命令の実行データを算出する。そして、前記算出した実行データに基づいて、読み出したブロックに工作機械の制御軸に対する移動指令が実際に存在するのか否かを判定し、移動量が無くなったブロックについては不要なブロックとして実行せずに削除することでサイクルタイムの短縮をする。【選択図】図５
2016045937.tif 000002
【特許請求の範囲】
【請求項１】
制御軸を備えた工作機械を加工プログラムに基づいて制御する数値制御装置において、前記加工プログラムから読み出したブロックを解読して前記工作機械の制御に用いる実行データを算出する実行データ算出部と、
前記実行データ算出部が算出した実行データに基づいて前記工作機械の前記制御軸に対する移動指令による移動量が存在するか否かを判定する移動量判定部と、を備え、
前記工作機械の前記制御軸に対する移動指令による移動量が存在しないと判定された場合、前記ブロックに関する処理を省略する、
ことを特徴とする数値制御装置。
【請求項２】
前記移動量判定部は、前記工作機械の前記制御軸に対する移動指令による移動量が存在しないと判定された場合、前記加工プログラムの前記ブロックの次ブロックの処理へと移行するよう構成されている移動量判定部である、
ことを特徴とする請求項１に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特に加工プログラムのサイクルタイムを短縮する数値制御装置に関する。
【背景技術】
【０００２】
数値制御装置は、ＳＲＡＭなどのメモリに格納されている加工プログラムを１ブロックずつ読出して、読み出したブロックの命令に基づいてサーボおよびスピンドルを動作させて工作機械を制御する。加工プログラムを構成するブロックには、工作機械を直接制御する命令と、工作機械を直接制御しないユーザマクロ命令や、コメント文のみのブロックがある。
【０００３】
数値制御装置は、工作機械を直接制御しないユーザマクロ命令やコメント文のみのブロックを読み出した場合には、解析を行い、演算終了後に直ちに次のブロックへ進むようにし、無駄のない処理を行うように制御している。また、特許文献１などに、工作機械の動作に直接関係しないユーザマクロ命令やコメント文が加工プログラム中に連続している場合、これら複数のブロックを１ブロックとみなしてまとめて処理を行い、加工プログラムのサイクルタイムを短縮する従来技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６２−１５４１１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、加工プログラムにおいて、軸の移動を指令したブロックであっても、工具補正のベクトルなどの演算により、結果的に移動量の無いブロックとなる場合がある。例えば、図６における移動ブロック無し＜１＞、移動ブロック無し＜２＞などは、工作機械の動作に直接関係する命令であっても、実際には軸の移動が無く、ただ時間を消費するだけの無駄なブロックとなってしまっていた。そして、軸の移動指令が無く、ただ時間を消費するだけのブロックが、加工プログラムの中に数多く存在する場合、加工プログラムのサイクルタイムが遅くなる。
【０００６】
しかしながら、特許文献１に記載の技術では、工作機械の制御に直接関係しないユーザマクロ命令やコメント文が連続して存在した場合に１ブロックとみなすことで加工プログラムのサイクルタイムの短縮を図ってはいるものの、工作機械の制御に直接関係する命令についてはそのまま通常の処理がなされるため、上述したような演算した結果により軸移動量が無くなった工作機械を動作させる命令ブロックはサイクルタイム短縮の対象のブロックとしないため、そのようなブロックの処理に無駄な時間をかけてしまうという問題があった。
【０００７】
そこで、本発明の目的は、加工プログラムにおける不要なブロックの処理時間を削除し、加工プログラムのサイクルタイムを短縮することができる数値制御装置を提供することである。
【課題を解決するための手段】
【０００８】
本願の請求項１に係る発明は、制御軸を備えた工作機械を加工プログラムに基づいて制御する数値制御装置において、前記加工プログラムから読み出したブロックを解読して前記工作機械の制御に用いる実行データを算出する実行データ算出部と、前記実行データ算出部が算出した実行データに基づいて前記工作機械の前記制御軸に対する移動指令による移動量が存在するか否かを判定する移動量判定部と、を備え、前記工作機械の前記制御軸に対する移動指令による移動量が存在しないと判定された場合、前記ブロックに関する処理を省略する、ことを特徴とする数値制御装置である。
【０００９】
本願の請求項２に係る発明は、前記移動量判定部は、前記工作機械の前記制御軸に対する移動指令による移動量が存在しないと判定された場合、前記加工プログラムの前記ブロックの次ブロックの処理へと移行するよう構成されている移動量判定部である、ことを特徴とする請求項１に記載の数値制御装置である。
【発明の効果】
【００１０】
本発明により、加工プログラムを解析し移動量を演算した結果として移動量が無くなったブロックを実行せずに次のブロックへ進むようにすることで、必ず実行するブロックを抽出し、不要なブロックの処理時間を削除し、加工プログラムのサイクルタイムを短縮する。加工プログラムのサイクルタイムを短縮することで、生産性の向上が期待できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態における数値制御装置の要部ブロック図である。
【図２】本発明の実施の形態における数値制御装置の機能ブロック図である。
【図３】本発明の実施の形態における不要ブロックを削除する処理の概要を説明する図である。
【図４】従来技術における指令解読処理のフローチャートである。
【図５】本発明の実施の形態における指令解読処理のフローチャートである。
【図６】従来技術における問題点を説明する図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を図面と共に説明する。
図１は、本発明に係る実施の形態の数値制御装置（ＣＮＣ）１００の要部ブロック図である。ＣＰＵ１１は数値制御装置１００を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステムプログラムをバス２０を介して読み出し、該システムプログラムに従って数値制御装置全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ及び表示器／ＭＤＩユニット７０を介してオペレータが入力した各種データが格納される。
【００１３】
ＳＲＡＭ１４は図示しないバッテリでバックアップされ、数値制御装置１００の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。ＳＲＡＭ１４中には、インタフェース１５を介して読み込まれた加工プログラムや表示器／ＭＤＩユニット７０を介して入力された加工プログラム等が記憶される。また、ＲＯＭ１２には、加工プログラムの作成及び編集のために必要とされる編集モードの処理や自動運転のための処理を実施するための各種システムプログラムがあらかじめ書き込まれている。
本発明を実行する加工プログラム等の各種加工プログラムはインタフェース１５や表示器／ＭＤＩユニット７０を介して入力し、ＳＲＡＭ１４に格納することができる。
【００１４】
インタフェース１５は、数値制御装置１００とアダプタ等の外部機器７２との接続を可能とするものである。外部機器７２側からは加工プログラムや各種パラメータ等が読み込まれる。また、数値制御装置１００内で編集した加工プログラムは、外部機器７２を介して外部記憶手段に記憶させることができる。ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、数値制御装置１００に内蔵されたシーケンスプログラムで工作機械の補助装置（例えば、工具交換用のロボットハンドといったアクチュエータ）にＩ／Ｏユニット１７を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に転送する。
【００１５】
表示器／ＭＤＩユニット７０はディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース１８は表示器／ＭＤＩユニット７０のキーボードからの指令やデータを受けてＣＰＵ１１に転送する。インタフェース１９は手動パルス発生器等を備えた操作盤７１に接続されている。
【００１６】
各軸の軸制御回路３０〜３４はＣＰＵ１１からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ４０〜４４に出力する。サーボアンプ４０〜４４はこの指令を受けて、各軸のサーボモータ５０〜５４を駆動する。各軸のサーボモータ５０〜５４は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路３０〜３４にフィードバックし、位置・速度のフィードバック制御を行う。なお、本ブロック図では、位置・速度のフィードバックについては省略している。
【００１７】
スピンドル制御回路６０は、工作機械への主軸回転指令を受け、スピンドルアンプ６１にスピンドル速度信号を出力する。スピンドルアンプ６１はこのスピンドル速度信号を受けて、工作機械のスピンドルモータ６２を指令された回転速度で回転させ、工具を駆動する。
スピンドルモータ６２には歯車あるいはベルト等でポジションコーダ６３が結合され、ポジションコーダ６３が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはバス２０を経由してプロセッサ１１によって読み取られる。
【００１８】
図２は、本発明に係る実施の形態の数値制御装置１００の機能ブロック図である。数値制御装置１００は、指令解読手段１１０、補間手段１２０、加減速制御手段１３０を備えている。
指令解読手段１１０はＳＲＡＭ１４などから読み込んだ加工プログラムのプログラム指令を解読し、補間手段１２０と加減速制御手段１３０が用いる実行データを算出する。指令解読手段１１０は、実行データを算出する際に工具補正のベクトルなどの演算などを行い、当該実行データにより工作機械の制御軸に対する移動指令による移動量が実際に存在するか否かを判定し、図３に示すように、移動量が無くなった不要ブロックに関する処理を省略する。
【００１９】
補間手段１２０は、指令解読手段１１０が出力したデータに基づいて指令経路上の点を補間周期で補間計算したデータを生成し、当該データと加減速制御手段１３０からの出力されたデータとに基づいて各サーボ軸を制御する。
【００２０】
加減速制御手段１３０は、指令解読手段１１０が出力したデータ、補間手段１２０が出力した補間データに基づいて加減速制御処理を行い、補間周期毎の各駆動軸の速度を算出して各駆動軸に指令する。制御対象となる各駆動軸の速度は、指令解読手段１１０が解析したデータに含まれる指令速度や、補間手段１２０が出力した補間データに含まれる各軸の補間周期毎に位置、加減速時定数などの設定値に基づいて算出される。
【００２１】
以下で、ここまで説明してきた数値制御装置１００上で実行される処理の流れを、従来技術における処理と比較して説明する。図４は、従来技術における数値制御装置による加工プログラムの実行における１ブロック分の指令解読処理の流れを示すフローチャートである。
●［ステップＳＡ０１］加工プログラムから１ブロック読み出す。
●［ステップＳＡ０２］読み出したブロックの命令を解読する。
●［ステップＳＡ０３］ステップＳＡ０２で解読した結果、読み出したブロックの命令が工作機械を制御する命令か否かを判定する。工作機械を制御する命令である場合にはステップＳＡ０４へ進み、（ユーザマクロ命令やコメントなどの）工作機械を制御する命令ではない場合にはステップＳＡ０１に戻る。
●［ステップＳＡ０４］ステップＳＡ０２で解読した命令から、軸移動指令や補助機能命令の実行データを算出する。
●［ステップＳＡ０５］ステップＳＡ０４で算出した実行データに基づいて、工作機械の制御を実行する。
【００２２】
図４のフローチャートにおいて、上記したステップＳＡ０１からステップＳＡ０４までの処理は、指令解読手段１１０が実行データ算出部１１２として実行する処理である。
【００２３】
図５は、本発明の実施の形態における数値制御装置１００による加工プログラムの実行における１ブロック分の指令解読処理の流れを示すフローチャートである。
●［ステップＳＢ０１］加工プログラムから１ブロック読み出す。
●［ステップＳＢ０２］読み出したブロックの命令を解読する。
●［ステップＳＢ０３］ステップＳＢ０２で解読した結果、読み出したブロックの命令が工作機械を制御する命令か否かを判定する。工作機械を制御する命令である場合にはステップＳＢ０４へ進み、（ユーザマクロ命令やコメントなどの）工作機械を制御する命令ではない場合にはステップＳＢ０１に戻る。
●［ステップＳＢ０４］ステップＳＢ０２で解読した命令から、軸移動指令や補助機能命令の実行データを算出する。
●［ステップＳＢ０５］ステップＳＢ０４で算出した実行データに基づいて、読み出したブロックに工作機械の制御軸に対する移動指令による移動量が実際に存在するのか否かを判定する。制御軸の移動指令が実際に存在する場合にはステップＳＢ０６へ進み、制御軸の移動指令が実際に存在しない場合にはステップＳＢ０１へ戻る。また、補助機能命令の場合は、ステップＳＢ０６へ進む。
●［ステップＳＢ０６］ステップＳＢ０４で算出した実行データに基づいて、工作機械の制御を実行する。
【００２４】
図５のフローチャートにおいて、上記したステップＳＢ０１からステップＳＢ０４までの処理は、指令解読手段１１０が実行データ算出部１１２として実行する処理である。また、上記したステップＳＢ０５の処理は、指令解読手段１１０が移動量判定部１１４として実行する処理である。
【００２５】
以上のような構成を備えた数値制御装置１００上で加工プログラムを実行した場合の具体的な動作実施例を以下に示す。
＜実施例１＞
選択されている工具Ｔ０１０１において、Ｘ軸に対して工具オフセット量０．５２３［ｍｍ］を補正していた時、加工プログラムにより“Ｇ０１  Ｘ−０．５２３”が指令されると、終点位置（Ｘ−０．５２３）に対して、工具オフセット量０．５２３［ｍｍ］を加算する。その結果、インクレメンタル移動量が「０．０００」となるため、加工プログラムの“Ｇ０１  Ｘ−０．５２３”を実行せず、次のブロックの処理へ移行する。
加工プログラムの各ブロックの終点位置に工具オフセット量を加味して、工具の移動量を演算した結果、移動量が「０．０００」となり、軸が移動せず、補間周期の時間を消費するブロックとなる。本発明の数値制御装置１が備える指令解析部１１０の副機能手段である移動量判定部は、この軸移動の無い、補間周期の時間を消費するブロックを削除する。
【００２６】
＜実施例２＞
加工プログラムの指令“Ｇ９１  Ｇ０１  Ｘ［＃１００−＃５０１−＃１］”を実行する場合、マクロ変数が、＃１００＝１２３．９８７、＃５００＝０．９８７、＃１＝１２３．０００とそれぞれ設定されていた場合、これらマクロ変数の値を代入した上記加工プログラムの指令は、“Ｇ９１  Ｇ０１  Ｘ［１２３．９８７−０．９８７−１２３．０００］”となり、マクロ変数の値を用いて演算した結果、Ｘ軸の移動量は「０．０００」となるため、加工プログラムの指令“Ｇ９１  Ｇ０１  Ｘ［＃１００−＃５０１−＃１］”は実行せず、次のブロックの処理へ移行する。
加工プログラムのマクロを演算した結果、インクレメンタル移動量が「０．０００」となり、軸が移動せず、補間周期の時間を消費するブロックとなる。本発明の数値制御装置１が備える指令解析部１１０の副機能手段である移動量判定部は、この補間周期の時間を消費する、実行する必要のないブロックを削除する。
【符号の説明】
【００２７】
１１    ＣＰＵ
１２    ＲＯＭ
１３    ＲＡＭ
１４    ＳＲＡＭ
１５，１８，１９    インタフェース
１６    ＰＭＣ
１７    Ｉ／Ｏユニット
２０    バス
３０，３１，３２，３３，３４    軸制御回路
４０，４１，４２，４３，４４    サーボアンプ
５０，５１，５２，５３，５４    サーボモータ
６０    スピンドル制御回路
６１    スピンドルアンプ
６２    スピンドルモータ
６３    ポジションコーダ
７０    表示器／ＭＤＩユニット
７１    操作盤
７２    外部機器
１００    数値制御装置
１１０    指令解読手段
１１２    実行データ算出部
１１４    移動量判定部
１２０    補間手段
１３０    加減速制御手段
【図１】
2016045937.tif 000003
【図２】
2016045937.tif 000004
【図３】
2016045937.tif 000005
【図４】
2016045937.tif 000006
【図５】
2016045937.tif 000007
【図６】
2016045937.tif 000008