(57)【要約】【課題】繰り返し行われる試し加工により調整した主軸回転数や送り速度の複数の調整値を容易に加工プログラムへ反映できるように数値制御装置を提供すること。【解決手段】数値制御装置１００は、繰り返し実行される試し加工運転時に加工動作変更信号を受信する加工動作変更信号受信手段１１０、加工プログラムのブロック番号と実主軸回転数、実送り速度とを関連付けて加工動作変更情報として記録する加工動作変更情報記録手段１２０、加工動作変更情報を加工動作変更プログラムへと変換する加工動作変更情報プログラム変換手段１３０、加工プログラムと加工動作変更プログラムとをマージする加工プログラムマージ処理手段１４０、加工動作変更プログラムとマージされた加工プログラムに基づいて加工運転を実行する運転実行手段１５０とを備える。【選択図】図１
2016051190.tif 000002
【特許請求の範囲】
【請求項１】
加工プログラムと、オペレータにより入力された加工動作変更信号とに基づいて、複数のモータおよび複数の周辺機器を制御するための指令を生成する運転実行手段を備えた数値制御装置において、
前記加工動作変更信号を受信する加工動作変更信号受信手段と、
前記加工動作変更信号受信手段から取得した前記加工動作変更信号と、前記運転実行手段から取得した現在実行中のブロックに関する情報に基づいて、加工動作変更情報を生成して記録する加工動作変更情報記録手段と、
前記記録された前記加工動作変更情報を、加工動作変更プログラムへと変換する加工動作変更情報プログラム変換手段と、
前記加工動作変更プログラムを記憶する加工動作変更プログラム記憶部と、
前記加工プログラムと前記加工動作変更プログラムとをマージする加工プログラムマージ処理手段と、
を備え、
前記加工動作変更プログラム記憶部は、複数の加工動作変更プログラムを記憶し、
前記加工プログラムマージ処理手段は、前記加工プログラムと、前記加工動作変更プログラム記憶部から前記オペレータにより選択された加工動作変更プログラムとをマージし、
前記運転実行手段は、前記マージされた加工プログラムに基づいて複数のモータおよび複数の周辺機器を制御するための指令を生成する、
ことを特徴とする数値制御装置。
【請求項２】
前記加工動作変更情報は、実主軸回転数、実送り速度、オーバライド値とモーダルの主軸回転数を掛け合わせた値、オーバライド値と送り速度を掛け合わせた値、オーバライド値、補助機能を示すコード、工具選択コード、第２補助機能コードのいずれかを含む、
ことを特徴とする請求項１に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特に主軸速度や送り速度の調整を容易にする数値制御装置に関する。
【背景技術】
【０００２】
従来、加工プログラムの主軸回転数または送り速度を最適化する場合、オペレータは主軸回転数または送り速度にオーバライドをかけて試し加工を繰返し行い、その結果に応じて加工プログラムの主軸回転数または送り速度をその都度修正していた。
試し加工と加工プログラムの修正を支援するための従来技術として、試し加工中の実際の主軸回転数または送り速度を、試し加工した加工プログラムに反映させる機能を有する数値制御装置がある。
【０００３】
このような従来技術と関連する技術としては、例えば、特許文献１には、独自の対話プログラム実行中に加工中に設定したオーバライドを順次記憶し、加工終了後に記憶したオーバライドの情報を元に加工プログラムを変更する技術が開示されている。また、特許文献２には、加工プログラム実行中にオーバライドを変更した時、変更したブロックの後ろにオーバライド値を書き込む技術が開示されている。更に、特許文献３には、加工プログラム実行中にオーバライドを変更した時、プログラム修正指令スイッチを押下することにより、即座に加工プログラムを書き換える技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０７−２２７７３９号公報
【特許文献２】特開昭６３−０４７８０５号公報
【特許文献３】特開昭５８−１３２４３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、試し加工や、既に使用しているプログラムを最適化するための加工は試行錯誤の中で繰り返し行われるため、必ずしも最後に行った加工の主軸回転数または送り速度が最適の値となるとは限らない。そのため、オペレータはオリジナルの加工プログラムをコピーして、コピーした加工プログラムで試し加工を行うことで加工プログラムの修正履歴を残し、最適となる加工プログラムを修正履歴の中から選択していた。
【０００６】
このように、従来技術により試し加工と加工プログラムの修正を繰り返す際には、オリジナルの加工プログラムをコピーする手間がかかる上に、加工プログラムの修正箇所が主軸回転数または送り速度の一部であるのにも関わらず、加工プログラム全体をコピーする必要があるため、試し加工を行う度に加工プログラムを保存すると、（履歴の数）×（元の加工プログラム）分のメモリ量を消費してしまうという問題があった。
また、修正前のプログラムと修正後のプログラムを比較する時、一部の主軸回転数、または、送り速度のみが変更されているため、変更箇所がわかり辛いという問題があった。
【０００７】
そこで、本発明の目的は、繰り返し行われる試し加工により調整した主軸回転数や送り速度の複数の調整値、および、クーラントオン／オフのような周辺機器の複数の状態の変更を容易に加工プログラムへ反映できる数値制御装置を提供することである。
【課題を解決するための手段】
【０００８】
本願の請求項１に係る発明は、加工プログラムと、オペレータにより入力された加工動作変更信号とに基づいて、複数のモータおよび複数の周辺機器を制御するための指令を生成する運転実行手段を備えた数値制御装置において、前記加工動作変更信号を受信する加工動作変更信号受信手段と、前記加工動作変更信号受信手段から取得した前記加工動作変更信号と、前記運転実行手段から取得した現在実行中のブロックに関する情報に基づいて、加工動作変更情報を生成して記録する加工動作変更情報記録手段と、前記記録された前記加工動作変更情報を、加工動作変更プログラムへと変換する加工動作変更情報プログラム変換手段と、前記加工動作変更プログラムを記憶する加工動作変更プログラム記憶部と、前記加工プログラムと前記加工動作変更プログラムとをマージする加工プログラムマージ処理手段と、を備え、前記加工動作変更プログラム記憶部は、複数の加工動作変更プログラムを記憶し、前記加工プログラムマージ処理手段は、前記加工プログラムと、前記加工動作変更プログラム記憶部から前記オペレータにより選択された加工動作変更プログラムとをマージし、前記運転実行手段は、前記マージされた加工プログラムに基づいて複数のモータおよび複数の周辺機器を制御するための指令を生成する、ことを特徴とする数値制御装置である。
【０００９】
本願の請求項２に係る発明は、前記加工動作変更情報は、実主軸回転数、実送り速度、オーバライド値とモーダルの主軸回転数を掛け合わせた値、オーバライド値と送り速度を掛け合わせた値、オーバライド値、補助機能を示すコード、工具選択コード、第２補助機能コードのいずれかを含む、ことを特徴とする請求項１に記載の数値制御装置である。
【発明の効果】
【００１０】
本発明により提案される数値制御装置では、試し加工を繰り返し行う際にはオリジナルの加工プログラムをコピーする必要はなく、加工動作変更プログラムにより主軸回転数や送り速度の修正値および周辺機器の状態を記録することができるため、オペレータによる試し加工と加工プログラム修正の作業効率を上げることができると共に、記録される加工動作変更プログラムには主として主軸回転数または送り速度のデータから構成されるので、元の加工プログラムをコピーするのに比べてメモリの消費量が少なくなり、試し加工を繰り返し行う際に使用されるメモリ資源の消費量が軽減される。また、修正前後のプログラムの比較が容易となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態における数値制御装置の機能ブロック図である。
【図２】本発明の実施の形態における加工動作変更プログラムの例を示す図である。
【図３】本発明の実施の形態における全体の処理のフローチャートである。
【図４】本発明の実施の形態における加工プログラムの最適化工程のフローチャートである。
【図５】本発明の実施の形態における加工動作変更情報を記録する処理のフローチャートである。
【図６】本発明の実施の形態における加工動作変更情報プログラム変換処理のフローチャートである。
【図７】本発明の実施の形態における加工プログラムと加工動作変更プログラムとをマージして運転実行する処理のフローチャートである。
【図８】本発明の実施の形態における加工プログラムと加工動作変更プログラムとをマージしながら運転実行する処理のフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を図面と共に説明する。
図１は、本発明に係る実施の形態の数値制御装置１００の機能ブロック図である。
数値制御装置１００は、加工動作変更信号受信手段１１０、加工動作変更情報記録手段１２０、加工動作変更情報プログラム変換手段１３０、加工プログラムマージ処理手段１４０、運転実行手段１５０、サーボ制御手段１６０、周辺機器制御手段１７０を備えている。
加工動作変更信号受信手段１１０は、オーバライドスイッチなどで構成される加工動作変更信号入力部３０を介してオペレータなどにより入力された加工動作変更信号を受信し、受信した加工動作変更信号を加工動作変更情報記録手段１２０及び運転実行手段１５０へと出力する。
【００１３】
加工動作変更情報記録手段１２０は、加工動作変更信号受信手段１１０から取得した加工動作変更信号と、運転実行手段１５０から取得した現在実行中のブロックに関する情報に基づいて加工動作変更情報を生成し、記録部１８０へと記録する。加工動作変更情報記録手段１２０は、加工動作変更信号が変更されるたびに加工動作変更情報を生成して記録する。
ここで、加工動作変更情報は、ブロック番号と、実主軸回転数、または実送り速度を関連付けた情報である。実主軸回転数、実送り速度は、加工プログラムにより指示される主軸回転数または送り速度に対してオーバライドをかけた結果、実際の主軸回転速度、または制御軸の送り速度である。なお、加工動作変更情報として記録する情報は、実主軸回転数、実送り速度に限定されるものではなく、以下の情報を記録するようにしてもよい。
（１）オーバライド値（％）×モーダルの主軸回転数（Ｓ）又は送り速度（Ｆ）の値
（２）オーバライド値（％）
（３）補助機能（Ｍコード）（例：クーラントのＯＮ／ＯＦＦ、ハードクランプのＯＮ／ＯＦＦ、ソフトクランプのＯＮ／ＯＦＦ、リジッドタップモードのＯＮ／ＯＦＦ、カスタムマクロ割込みのＯＮ／ＯＦＦ、ミラーイメージのＯＮ／ＯＦＦ、主軸正転／逆転、エアブローのＯＮ／ＯＦＦ、自動ドアの開／閉など）
（４）工具選択（Ｔ／Ｄ／Ｈコード）
（５）第２補助機能（Ｂコード）
【００１４】
加工動作変更情報プログラム変換手段１３０は、記録部１８０に記録された加工動作変更情報を、ブロック番号に対応したプログラム形式（加工動作変更プログラム）に変換し、加工動作変更プログラム記憶部２２０に記憶する。加工動作変更プログラムは、加工プログラム実行時にオーバライドがかけられたブロックにおける実主軸回転数、実送り速度などの値を定義するワードを記載したプログラムである。
【００１５】
図２は、加工プログラムＯ１０００の実行時に、ブロック１３においてオーバライドをかけて主軸回転数を１２０％とし、ブロック１９においてオーバライドをかけて送り速度を８０％にした場合において、記録部１８０に記録された加工動作変更情報を加工動作変更プログラムへと変換した例を示す図である。加工動作変更プログラムＯ１０００＿ＯＶＲ０１のブロック１３には、対応する加工プログラムＯ１０００のブロック１３に記載されるコードＧ５０に利用可能なワードとして、実主軸回転数を定義するＳ２４００が記載されている。また、加工動作変更プログラムＯ１０００＿ＯＶＲ０１のブロック１９には、対応する加工プログラムＯ１０００のブロック１９に記載されるコードＧ０１に利用可能なワードとして、実送り速度を定義するＦ０．４が記載されている。
【００１６】
加工プログラムマージ処理手段１４０は、加工プログラム記憶部２１０から読み出された加工プログラムと、加工動作変更プログラム記憶部２２０から読み出された加工動作変更プログラムとをマージする。本発明の一実施の形態では、加工動作変更プログラムがマージされた加工プログラムはＲＡＭなどの上に設けられたワーク領域１９０（図示せず）に一時的に記録され、記録されたマージ後の加工プログラムが運転実行手段１５０により読み出されて実行されるが、本発明の実施の形態はこれに限られるものではなく、加工プログラム記憶部２１０から読み出した加工プログラムを１ブロックずつ加工動作変更プログラムとマージし、マージされたブロックを運転実行手段１５０が逐次実行するように構成してもよい。
【００１７】
加工プログラムと加工動作変更プログラムは、例えば数値制御装置１００が備える表示器（図示せず）に対して加工プログラムと、加工プログラムに対応する加工動作変更プログラムを一覧表示し、オペレータの指示により選択して読み込むように構成してもよい。
【００１８】
加工プログラムと加工動作変更プログラムとのマージ処理は、例えば対応する加工プログラムのブロックに記載される主軸速度や送り速度を指定するワードを上書き、又は追記する形で実行される。例えば図２に示す加工動作変更プログラムの場合には、加工動作変更プログラムＯ１０００＿ＯＶＲ０１のブロック１３，１９に記載されている各ワード（それぞれＳ２４００とＦ０．４）を、加工プログラムの対応するブロックに記載される同一アドレスのワードに対して上書きするようにすればよい。なお、マージ処理については、単にワードの上書き、追記に留まるものではなく、試し加工運転時の加工動作変更信号を入力した際の実主軸回転数、実送り速度をマージ後の加工プログラムにおいて再現できるのであれば、どのような手法で加工プログラムと加工動作変更プログラムとのマージを行うようにしてもよい。
【００１９】
運転実行手段１５０は、加工プログラムマージ処理手段１４０が作成したマージ後の加工プログラム、加工動作変更信号受信手段１１０から取得したオーバライドの値に基づいて、主軸モータ１０、サーボモータ２０、周辺機器を制御するための指令を生成してサーボ制御手段１６０、周辺機器制御手段１７０に出力する。サーボ制御手段１６０は、運転実行手段１５０から取得した指令に基づいて、主軸モータ１０、サーボモータ２０を制御する。また、周辺機器制御手段１７０は、運転実行手段１５０から取得した指令に基づいて、周辺機器４０を制御する。
【００２０】
以下では、ここまで説明してきた数値制御装置１００上で実行される各処理を図３〜７を用いて説明する。図３は、数値制御装置１００上で実行される処理の全体の流れを示すフローチャートである。
●［ステップＳＡ０１］試し加工を繰り返し行われる加工プログラムの最適化の工程において、加工動作変更信号入力部３０からの信号を記録し、加工動作変更プログラムを生成する。加工プログラムの最適化の工程で生成される加工動作変更プログラムは加工動作変更プログラム記憶部２２０に記憶する。
●［ステップＳＡ０２］ステップＳＡ０１で生成した加工動作変更プログラムと、加工プログラムをマージして最適化された加工プログラムに基づいた加工運転を行う。
【００２１】
図４は、加工プログラムの最適化工程の流れを示すフローチャートである。なお、フローチャート中で点線枠は作業者の作業工程を示しており、実践枠が数値制御装置上で実行される処理を示している。
●［ステップＳＢ０１］オペレータによる試し加工を開始する。試し加工の開始は、加工プログラム記憶部２１０に記憶された加工プログラムを読み出し、加工動作変更プログラムとマージすることなく運転実行手段１５０で処理することにより開始される。
●［ステップＳＢ０２］試し加工中に、オペレータによる加工動作変更信号入力部３０が操作され、主軸回転数や送り速度のオーバライドが変更されると、当該操作に基づいて出力された加工動作変更信号を加工動作変更信号受信手段１１０が受信し、加工動作変更情報記録手段１２０が加工動作変更情報を生成して記録部１８０へ記録する。
●［ステップＳＢ０３］オペレータの操作により、加工プログラムに基づいた運転が終了した時点で試し加工を終了する。試し加工終了後に、オペレータの操作などにより加工動作変更情報プログラム変換手段１３０が記録部１８０に記録された加工動作変更情報を加工動作変更プログラムへと変換し、加工動作変更プログラム記憶部２２０に記憶する。
●［ステップＳＢ０４］オペレータは、試し加工により加工した加工物の精度や、当該加工に掛かった加工時間をチェックする。
●［ステップＳＢ０５］ステップＳＢ０４でチェックした結果、最適化されたと判断した場合には最適化の作業工程を終了し、最適化されていないと判断した場合にはステップＳＢ０１に戻って試し加工を再開する。
【００２２】
図５は、加工プログラムの最適化工程において、加工動作変更情報を記録する処理の流れを示すフローチャートである。
●［ステップＳＣ０１］運転実行手段１５０による試し加工運転中に、オペレータが加工動作変更信号入力部３０を操作することにより加工動作変更信号が変更されたか否かを加工動作変更情報記録手段１２０が検出する。加工動作変更信号の変更が検出された場合にはステップＳＣ０２へ進み、加工動作変更信号の入力が検出されなかった場合にはステップＳＣ０４へと進む。
●［ステップＳＣ０２］加工動作変更情報記録手段１２０が、試し加工において現在実行中の加工プログラムのブロック番号を記録部１８０に記録する。
●［ステップＳＣ０３］加工動作変更情報記録手段１２０が、試し加工において現在実行中の加工における実主軸回転数、実送り速度を、ステップＳＣ０２で記録したブロック番号と関連付けて記録部１８０に記録する。
●［ステップＳＣ０４］運転実行手段１５０が実行している加工プログラムが最終ブロックまで加工処理の実行が終了したかをチェックする。最終ブロックまで実行が終了した場合には今回の加工プログラムによる試し加工運転を終了し、最終ブロックまで実行が終了していない場合にはステップＳＣ０１に戻って試し加工運転を継続する。
【００２３】
図６は、加工動作変更情報プログラム変換手段１３０が実行する、加工動作変更情報を加工動作変更プログラムへと変換する処理の流れを示すフローチャートである。
●［ステップＳＤ０１］試し加工に用いた加工プログラムを１ブロックずつ読み込む。
●［ステップＳＤ０２］読み込んだブロックに対応する加工動作変更情報が記録部１８０に記録されているかをチェックする。対応する加工動作変更情報が記録されている場合にはステップＳＤ０３へ進み、記録されていない場合にはステップＳＤ０５へ進む。
●［ステップＳＤ０３］加工プログラムから読み込んだブロックに対応する形で、加工動作変更情報をプログラム形式へと変換する。
●［ステップＳＤ０４］加工プログラムを最終ブロックまで読み込んだかをチェックする。最終ブロックまで読み込んだら変換処理を終了し、最終ブロックまで読み込んでいない場合にはＳＤ０１へ戻る。
●［ステップＳＤ０５］加工動作変更情報が存在しないので空ブロックを出力する。
【００２４】
図７は、加工プログラム記憶部２１０に記憶された加工プログラムと、加工動作変更プログラム記憶部２２０に記憶された加工動作変更プログラムを読み出してマージし、加工運転を実行する処理の流れを示すフローチャートである。
●［ステップＳＥ０１］加工プログラム記憶部２１０から加工運転対象となる加工プログラムを１ブロックずつ順次読み出す。
●［ステップＳＥ０２］加工動作変更プログラム記憶部２２０から、ステップＳＥ０１で読み出した加工プログラムのブロックに対応する加工動作変更プログラムのブロックを読み出し、読み出した加工動作変更プログラムのブロックが空ブロックであるか否かを判定する。空ブロックの場合にはステップＳＥ０３へ進み、空ブロックでない場合にはＳＥ０４へ進む。
●［ステップＳＥ０３］ステップＳＥ０１で読み出した加工プログラムのブロックを、そのままワーク領域１９０へ順次記録する。
●［ステップＳＥ０４］ステップＳＥ０２で読み出した加工動作変更プログラムのブロックに対応する指令が、ステップＳＥ０１で読み出した加工プログラムのブロックに存在するか判定する。対応する指令が存在する場合にはステップＳＥ０５へ進み、対応する指令が存在しない場合にはステップＳＥ０６へ進む。
●［ステップＳＥ０５］ステップＳＥ０１で読み出した加工プログラムのブロックの実主軸回転数や実送り速度を指令するワードを、ステップＳＥ０２で読み出した加工動作変更プログラムのブロックに記載されるワードで上書きし、ワーク領域１９０に順次記録する。
●［ステップＳＥ０６］ステップＳＥ０１で読み出した加工プログラムのブロックに記載される指令に、ステップＳＥ０２で読み出した加工動作変更プログラムのブロックのワードを追記し、ワーク領域１９０に順次記録する。
●［ステップＳＥ０７］加工プログラムを最終ブロックまで読み込んだかをチェックする。最終ブロックまで読み込んだらマージ処理を終了してステップＳＥ０８へ進み、最終ブロックまで読み込んでいない場合にはＳＥ０１へ戻る。
●［ステップＳＥ０８］運転実行手段１５０が、ステップＳＥ０１〜ＳＥ０６でワーク領域１９０に記録したマージ後の加工プログラムを読み出して加工運転を実行する。
【００２５】
なお、加工動作変更プログラムに記載された情報がオーバライド値（％）のみである場合には、ステップＳＥ０４〜ＳＥ０６において、加工プログラムの対応するブロックの値をオーバライド値（％）をかけた値に置き換えることでマージ処理がなされる。
【００２６】
図８は、加工プログラム記憶部２１０に記憶された加工プログラムと、加工動作変更プログラム記憶部２２０に記憶された加工動作変更プログラムを読み出してマージしながら、逐次加工運転を実行する処理の流れを示すフローチャートである。
●［ステップＳＦ０１］加工プログラム記憶部２１０から加工運転対象となる加工プログラムを１ブロックずつ順次読み出す。
●［ステップＳＦ０２］加工動作変更プログラム記憶部２２０から、ステップＳＦ０１で読み出した加工プログラムのブロックに対応する加工動作変更プログラムのブロックを読み出し、読み出した加工動作変更プログラムのブロックが空ブロックであるか否かを判定する。空ブロックの場合にはステップＳＦ０６へ進み、空ブロックでない場合にはＳＦ０３へ進む。
●［ステップＳＦ０３］ステップＳＦ０２で読み出した加工動作変更プログラムのブロックに対応する指令が、ステップＳＦ０１で読み出した加工プログラムのブロックに存在するか判定する。対応する指令が存在する場合にはステップＳＦ０４へ進み、対応する指令が存在しない場合にはステップＳＦ０５へ進む。
●［ステップＳＦ０４］ステップＳＦ０１で読み出した加工プログラムのブロックの実主軸回転数や実送り速度を指令するワードを、ステップＳＦ０２で読み出した加工動作変更プログラムのブロックに記載されるワードで上書きする。
●［ステップＳＦ０５］ステップＳＦ０１で読み出した加工プログラムのブロックに記載される指令に、ステップＳＦ０２で読み出した加工動作変更プログラムのブロックのワードを追記する。
●［ステップＳＦ０６］運転実行手段１５０が、１ブロック分の加工運転を実行する。
●［ステップＳＦ０７］加工プログラムを最終ブロックまで読み込んだかをチェックする。最終ブロックまで読み込んだら加工運転を終了し、最終ブロックまで読み込んでいない場合にはＳＦ０１へ戻る。
【符号の説明】
【００２７】
１０    主軸モータ
２０    サーボモータ
３０    加工動作変更信号入力部
１００    数値制御装置
１１０    加工動作変更信号受信手段
１２０    加工動作変更情報記録手段
１３０    加工動作変更情報プログラム変換手段
１４０    加工プログラムマージ処理手段
１５０    運転実行手段
１６０    サーボ制御手段
１７０    周辺機器制御手段
１８０    記録部
１９０    ワーク領域
２１０    加工プログラム記憶部
２２０    加工動作変更プログラム記憶部
【図１】
2016051190.tif 000003
【図２】
2016051190.tif 000004
【図３】
2016051190.tif 000005
【図４】
2016051190.tif 000006
【図５】
2016051190.tif 000007
【図６】
2016051190.tif 000008
【図７】
2016051190.tif 000009
【図８】
2016051190.tif 000010