(57)【要約】【課題】プログラムの連続運転によるモータのオーバーヒートの回避と、加工品質の維持を両立させることを可能とする数値制御装置を提供すること。【解決手段】数値制御装置１０は、加工プログラム２００を実行する加工プログラム実行部１１０と、加工プログラム実行部１１０からの移動指令に基づいて主軸モータ６２を制御するモータ動作指令部１２０と、加工プログラムの実行開始を判断する運転開始判断部１３０と、主軸モータ６２の温度などの状態情報を検出するモータ状態検出部１４０と、前記状態情報を記録するモータ状態記録部１５０とを備えている。運転開始判断部１３０は、モータ状態検出部１４０が取得した現在の状態情報と、モータ状態記録部１５０から取得した前回加工運転時の状態情報の変化とに基づいて、加工プログラムの実行開始前に適切な待ち時間を自動的に挿入する。【選択図】図２
2016024583.tif 000002
【特許請求の範囲】
【請求項１】
加工プログラムに基づいて工作機械の駆動部を制御し、ワークの繰返し加工運転を行う数値制御装置において、
前記加工プログラムに基づいて前記駆動部の動作を指令する移動指令を出力する加工プログラム実行手段と、
前記駆動部の機械状況を検出する検出手段と、
前記検出手段により検出された前記機械状況を機械状況履歴として記録する機械状況記録手段と、
前記加工プログラム実行手段に対して加工運転開始指令を出力する運転開始判断手段と、
を備え、
前記加工プログラム実行手段は、前記加工運転開始指令を受信すると加工プログラムに基づいた加工運転を開始すると共に、前記加工プログラムに基づいた加工運転が完了すると前記運転開始判断手段に対して実行完了通知を出力し、
前記運転開始判断手段は、前記実行完了通知を受信すると、前記検出手段が検出した現在の機械状況と前記機械状況履歴に基づいて前記加工プログラムに基づいた加工運転が開始できるか判断し、開始できると判断した場合には前記加工プログラム実行手段に対して前記加工運転開始指令を出力し、開始できないと判断した場合には前記検出手段から取得される機械状況を監視して前記加工プログラムに基づいた加工運転が開始できる機械状況となるまで前記加工運転開始指令の出力を待機する、
ことを特徴とする数値制御装置。
【請求項２】
前記検出手段が検出する前記機械状況は、前記駆動部の温度である、
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記機械状況履歴は、少なくとも前回の前記加工プログラムに基づいた加工運転を開始した時点での前記駆動部の温度と、前回の前記加工プログラムに基づいた加工運転時における前記駆動部の最高温度とを含む、
ことを特徴とする請求項２に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特にプログラムの連続運転によるモータのオーバーヒートの回避と、加工品質の維持を両立させることを可能とする数値制御装置に関する。
【背景技術】
【０００２】
工作機械は予め作成された加工プログラム通りに運転することで、所望のワークを加工することのできる機械である。これにより、一つの加工プログラムを連続して繰返し運転することで、複数の所望のワークを加工することができる。
【０００３】
工作機械用の駆動モータは、図６に示すように各モータの特性に基づく連続定格出力と最大出力が定められている。このような駆動モータは、通常は連続定格出力の範囲内で使用されるが、一時的に負荷の高い加工を行う場合など、運転パターンによっては連続定格出力を超えて使用される場合がある。これには、一時的に負荷の高い加工を行うために連続定格負荷の大きな新たな工作機械を導入するよりも、コストが低く抑えられるという背景がある。
【０００４】
しかしながら、駆動モータの連続定格負荷を超えたモータ運転パターンを持つ加工プログラムを連続運転させた場合、モータ温度が徐々に上昇する。
図７は、駆動モータの連続定格負荷を超えたモータ運転パターンを持つ加工プログラムを連続運転させた場合において、モータ温度を縦軸、時間軸を横軸としたグラフを示している。図７のグラフから理解されるように、連続定格負荷を超えたモータ運転パターンを持つ加工プログラムに基づく加工運転を行うと、加工運転が終了してもモータの温度が下がりきらず、繰返し加工を行うにつれて次第にモータの温度が上昇し、最終的には、モータ温度がオーバーヒート温度を超え、モータオーバヒートが発生して機械が停止してしまう。
【０００５】
このような問題を解決するために、加工プログラムを連続運転させる場合において、図８に示すように、モータの温度などの機械状態から切削送り速度オーバーライドや加減速用の時定数を時々刻々と変化させて実際の加工運転内容を自動的に調整することで、モータオーバヒートを発生させないように制御する工作機械の制御方法が提案されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−２７１８３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載の制御方法では、工作機械の発熱状態と温度状態に応じて切削送り速度オーバーライドや加減速用の時定数を時々刻々と変化させることにより、図９に示すように工作機械上ではＮＣプログラムによって指示される運転内容と厳密には異なる加工運転がなされているため、結果として加工される個々のワークの品質にバラつきが生じる。すなわち、プログラムの連続運転によるモータのオーバーヒートの回避と、加工品質の維持を両立させることができないという問題があった。
【０００８】
そこで、本発明の目的は、プログラムの連続運転によるモータのオーバーヒートの回避と、加工品質の維持を両立させることを可能とする数値制御装置を提供することである。
【課題を解決するための手段】
【０００９】
本願の請求項１に係る発明は、加工プログラムに基づいて工作機械の駆動部を制御し、ワークの繰返し加工運転を行う数値制御装置において、前記加工プログラムに基づいて前記駆動部の動作を指令する移動指令を出力する加工プログラム実行手段と、前記駆動部の機械状況を検出する検出手段と、前記検出手段により検出された前記機械状況を機械状況履歴として記録する機械状況記録手段と、前記加工プログラム実行手段に対して加工運転開始指令を出力する運転開始判断手段と、を備え、前記加工プログラム実行手段は、前記加工運転開始指令を受信すると加工プログラムに基づいた加工運転を開始すると共に、前記加工プログラムに基づいた加工運転が完了すると前記運転開始判断手段に対して実行完了通知を出力し、前記運転開始判断手段は、前記実行完了通知を受信すると、前記検出手段が検出した現在の機械状況と前記機械状況履歴に基づいて前記加工プログラムに基づいた加工運転が開始できるか判断し、開始できると判断した場合には前記加工プログラム実行手段に対して前記加工運転開始指令を出力し、開始できないと判断した場合には前記検出手段から取得される機械状況を監視して前記加工プログラムに基づいた加工運転が開始できる機械状況となるまで前記加工運転開始指令の出力を待機する、ことを特徴とする数値制御装置である。
【００１０】
本願の請求項２に係る発明は、前記検出手段が検出する前記機械状況は、前記駆動部の温度である、ことを特徴とする請求項１に記載の数値制御装置である。
【００１１】
本願の請求項３に係る発明は、前記機械状況履歴は、少なくとも前回の前記加工プログラムに基づいた加工運転を開始した時点での前記駆動部の温度と、前回の前記加工プログラムに基づいた加工運転時における前記駆動部の最高温度とを含む、ことを特徴とする請求項２に記載の数値制御装置である。
【発明の効果】
【００１２】
本発明の数値制御装置では、加工プログラムに基づいて繰返し加工運転を行う際に、それぞれの加工運転は、全て加工プログラムで指示された通りに実行される為、加工されるワークの品質においてオーバーライドや時定数変化の影響によるバラつきが生じることはなく、また、加工プログラムと加工プログラムの間に、その時の機械状況に応じてモータオーバヒートを発生させないように待ち時間が自動的に調整される為、連続運転してもモータオーバヒートは発生せず、プログラムの連続運転によるモータのオーバーヒートの回避と、加工品質の維持を両立することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態における数値制御装置の要部ブロック図である。
【図２】本発明の実施の形態における数値制御装置の機能ブロック図である。
【図３】本発明の実施の形態における繰返し加工運転間への待ち時間挿入処理を説明する図である。
【図４】本発明の実施の形態における待ち時間無しでの運転開始処理を説明する図である。
【図５】本発明の実施の形態における運転開始判断処理のフローチャートである。
【図６】モータの出力特性の一例を示す図である。
【図７】工作機械の連続運転によるモータのオーバーヒートを説明する図である。
【図８】従来技術におけるモータのオーバーヒート回避手法を説明する図である。
【図９】従来技術における問題点を説明する図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態を図面と共に説明する。なお、従来技術と同一または類似する構成は同じ符号を用いて説明する。
図１は、本発明に係る実施形態の数値制御装置の要部ブロック図である。数値制御装置１０のプロセッサ（ＣＰＵ）１１は、数値制御装置１０を全体的に制御するプロセッサである。プロセッサ１１は、ＲＯＭ１２に格納されたシステムプログラムをバス２１を介して読み出し、このシステムプログラムに従って数値制御装置１０を全体的に制御する。ＲＡＭ１３には一時的な計算データや表示データ及びＬＣＤ／ＭＤＩユニット７０を介してオペレータが入力した各種データ等が格納される。
【００１５】
ＳＲＡＭ１４は図示しないバッテリでバックアップされ、数値制御装置１０の電源がオフされても記憶状態が保持される不揮発性メモリとして構成され、後述する繰返し加工運転開始を判断する処理を数値制御装置に実行させるためのプログラムや、インタフェース１５を介して読み込まれた後述する加工プログラム、ＬＣＤ／ＭＤＩユニット７０を介して入力された加工プログラム等が記憶されるようになっている。また、ＲＯＭ１２には、加工プログラムの作成及び編集のために必要とされる編集モードの処理や自動運転のための処理を実施するための各種のシステムプログラムがあらかじめ書き込まれている。
【００１６】
インタフェース１５は数値制御装置１０に接続可能な外部機器のためのインタフェースであり、外部記憶装置などの外部機器７２が接続される。外部記憶装置からは加工プログラムなどが読み込まれる。ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、数値制御装置１０に内蔵されたシーケンスプログラムで工作機械側の補助装置等を制御する。すなわち、加工プログラムで指令されたＭ機能、Ｓ機能及びＴ機能に従って、これらシーケンスプログラムにより補助装置側で必要な信号を変換し、Ｉ／Ｏユニット１７から補助装置側に出力する。この出力信号により各種アクチュエータ等の補助装置が作動する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な処理をしてプロセッサ１１に渡す。
【００１７】
工作機械の各軸の現在位置、アラーム、パラメータ、画像データ等の画像信号はＬＣＤ／ＭＤＩユニット７０に送られ、そのディスプレイに表示される。ＬＣＤ／ＭＤＩユニット７０はディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース１８はＬＣＤ／ＭＤＩユニット７０のキーボードからデータを受けてプロセッサ１１に渡す。
インタフェース１９は手動パルス発生器７１に接続され、手動パルス発生器７１は工作機械の操作盤に実装され、手動操作に基づく分配パルスによる各軸制御で工作機械の可動部を精密に位置決めするために使用される。
【００１８】
工作機械のテーブルを移動させるＸ，Ｙ軸の軸制御回路及びＺ軸の制御回路３０〜３２はプロセッサ１１からの各軸の移動指令を受けて、各軸の指令をサーボアンプ４０〜４２に出力する。サーボアンプ４０〜４２はこの指令を受けて工作機械の各軸のサーボモータ５０〜５２を駆動する。各軸のサーボモータ５０〜５２には位置検出用のパルスコーダが内蔵されており、このパルスコーダからの位置信号がパルス列としてフィードバックされる。
また、サーボモータ５０〜５２のそれぞれには、温度センサ（図示せず）などの、サーボモータ５０〜５２それぞれの状態情報を検出するための構成が設けられており、計測されたサーボモータ５０〜５２の状態情報がインタフェース（図示せず）を介してプロセッサ１１に読み取られるように構成されている。
【００１９】
スピンドル制御回路６０は、工作機械への主軸回転指令を受け、スピンドルアンプ６１にスピンドル速度信号を出力する。スピンドルアンプ６１はこのスピンドル速度信号を受けて、工作機械の主軸モータ６２を指令された回転速度で回転させ、工具を駆動する。
【００２０】
主軸モータ６２には歯車あるいはベルト等でポジションコーダ６３が結合され、ポジションコーダ６３が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはインタフェース２０を経由してプロセッサ１１によって読み取られる。６５は現在時刻に同期するように調整された時計回路である。
また、主軸モータ６２には、温度センサ（図示せず）などの、主軸モータ６２の状態情報を検出するための構成が設けられており、計測された主軸モータ６２の状態情報がインタフェース（図示せず）を介してプロセッサ１１に読み取られるように構成されている。
【００２１】
図２は、本発明の一実施形態における数値制御装置１０の機能ブロック図である。数値制御装置１０は、加工プログラム実行部１１０、モータ動作指令部１２０、運転開始判断部１３０、モータ状態検出部１４０、モータ状態記録部１５０を備えている。
加工プログラム実行部１１０は、ＳＲＡＭ１４などに記憶されている加工プログラム２００を読み出し、加工プログラム２００を解析して主軸モータ６２に対する移動指令を生成する。モータ動作指令部１２０は、加工プログラム実行部１１０が生成した移動指令に基づいて、主軸モータ６２の動作を制御する。
【００２２】
運転開始判断部１３０は、加工プログラム実行部から実行完了通知を受信すると、モータ状態検出部１４０から取得した現在の主軸モータ６２の状態情報と、モータ状態記録部１５０から取得した状態情報履歴とに基づいて、後述する運転開始判断処理を実行して加工プログラムの実行開始の判定を行い、加工プログラム実行部１１０に対して次の加工運転の開始指令を通知する。モータ状態検出部１４０は、主軸モータ６２に備え付けられた温度センサなどから現在の主軸モータ６２の温度などの状態情報を取得して、運転開始判断部１３０へ通知すると共に、モータ状態記録部１５０へ記録する。モータ状態記録部１５０は、ＲＡＭ１３などのメモリ上に設けられた領域に、加工プログラムの運転状況と関連付けて主軸モータ６２の状態情報を状態情報履歴として記録し、運転開始判断部１３０からの要求に基づいて、主軸モータ６２の前回加工開始時のモータ温度や、前回加工運転中の最高モータ温度などを提供する。
【００２３】
本実施の形態の運転開始判断部１３０が実行する運転開始判断処理の概要について、図３，４を用いて説明する。
本実施の形態の運転開始判断処理では、図３に示すように、ｎ回目の加工プログラム実行開始時のモータ温度Ｔs（ｎ）、ｎ回目の加工プログラム実行時の最高モータ温度Ｔmax（ｎ）、オーバーヒートアラーム温度Ｔalmと、現在のモータ温度Ｔとに基づいて次回加工プログラムの運転開始のタイミングを判断する。
【００２４】
加工プログラム実行開始時のモータ温度Ｔs（ｎ）、加工プログラム実行時の最高モータ温度Ｔmax（ｎ）については、モータ状態記録部１５０が、モータ状態検出部１４０から取得したモータ温度に基づいて、加工プログラムを実行する毎にＲＡＭ１３などのメモリ上に設けられた領域に記録しておく。
また、Ｔalmについては、オペレータがＬＣＤ／ＭＤＩユニット７０から操作するなどして、あらかじめＳＲＡＭ１４などに設けられた設定領域に記憶しておく。
【００２５】
図３は、（ｎ＋１）回目の加工プログラム実行開始をする前に待ち時間を入れる場合の動作概要を説明する図である。運転開始判断部１３０は、加工プログラム実行部１１０から加工プログラムの実行完了通知を受信した時点で、モータ状態記録部１５０から取得した前回加工プログラム実行開始時のモータ温度Ｔs（ｎ）、前回加工プログラム実行時の最高モータ温度Ｔmax（ｎ）に基づいて、ｎ回目の加工プログラム実行時において加工開始時からの最高増加温度ΔＴup（ｎ）を以下の式により算出する。
【００２６】
【数１】
2016024583.tif 000003
【００２７】
この段階で、次回加工プログラムに基づいて工作機械の加工運転を行った場合、モータ温度はΔＴup（ｎ）上昇すると推定できるので、次に、運転開始判断部１３０は、現在のモータ温度ＴからΔＴup（ｎ）だけ温度が上昇した場合、オーバーヒートアラーム温度Ｔalmを超えるか否かを以下の式により推定する。
【００２８】
【数２】
2016024583.tif 000004
【００２９】
数２式により、現時点で加工プログラムに基づいた工作機械の加工運転を開始した場合に、加工運転中にモータ温度がＴalmを超えると推定される場合には、モータ温度Ｔが数２式を満足する温度に下がるまで次回の加工運転の開始をウェイトする。図３では、ｎ回目の加工プログラム実行完了時刻ｔ1の時点でのモータ温度Ｔ1から、モータ温度がΔＴup（ｎ）上昇した場合にＴalmを超えてしまうことが推定されるので、加工プログラムの開始をウェイトし、モータ温度がＴ2（Ｔ2＋ΔＴup（ｎ）＜Ｔalm）まで下がった時刻ｔ2の時点で（ｎ＋１）回目の加工プログラムの運転を開始している。
【００３０】
図４は、ｎ回目の加工プログラム実行完了後、待ち時間を入れずに（ｎ＋１）回目の加工プログラム実行開始をする場合の動作概要を説明する図である。図４では、ｎ回目の加工プログラム実行完了時刻ｔ1の時点でのモータ温度Ｔ1から、モータ温度がΔＴup（ｎ）上昇した場合にＴalmを超えないことが推定されるので、すぐに（ｎ＋１）回目の加工プログラムの運転を開始している。
【００３１】
図５は、運転開始判断部１３０が実行する運転開始判断処理のフローチャートである。本処理は、加工プログラム実行部１１０から実行完了通知を受信した時点で開始される。
●［Ｓ５０１］運転開始判断部１３０は、前回加工プログラムを開始した時点でのモータ温度Ｔs（ｎ）を、モータ状態記録部１５０から取得する。
●［Ｓ５０２］運転開始判断部１３０は、前回加工プログラム実行時の最高モータ温度Ｔmax（ｎ）を、モータ状態記録部１５０から取得する。
●［Ｓ５０３］運転開始判断部１３０は、Ｓ５０１，Ｓ５０２で取得したＴs（ｎ）、Ｔmax（ｎ）を用いて、最高増加温度ΔＴup（ｎ）を算出する。
●［Ｓ５０４］運転開始判断部１３０は、現在のモータ温度Ｔを、モータ状態検出部１４０から取得する。
●［Ｓ５０５］運転開始判断部１３０は、設定情報からオーバーヒートアラームＴalmを取得し、現在のモータ温度Ｔに最高増加温度ΔＴup（ｎ）を加えた場合、Ｔalm未満に収まるか否かを判定する。Ｔalm未満に収まる場合にはＳ５０６へ進み、Ｔalm未満に収まらない場合にはＳ５０７へ進む。
●［Ｓ５０６］運転開始判断部１３０は、次回の加工プログラム実行開始を指示するために加工プログラム実行部１１０へ開始指令を通知し、本処理を終了する。
●［Ｓ５０７］運転開始判断部１３０は、所定時間のウェイト処理を実行する。本処理では、モータ状態検出部１４０から取得されるモータ温度Ｔを監視し、最高増加温度ΔＴup（ｎ）を加えた場合にＴalm未満に収まるまでモータ温度Ｔが下がるまでウェイトする。モータ温度Ｔが十分に下がったらＳ５０６へ進む。
【００３２】
なお、本実施例では、主軸モータ６２のモータ温度に基づいて運転開始を判断する例を示したが、サーボモータ５０〜５２のモータ温度もそれぞれ記録するようにして、各モータのモータ温度に基づいて運転開始を判断するように構成してもよい。このように構成する場合、全てのモータがオーバーヒートしないと推定される場合に運転を開始するようにすればよい。
【００３３】
また、本実施例では、オーバーヒートアラームＴalmをオペレータがあらかじめ数値制御装置１０に設定しておく例を示したが、各モータからインタフェースを介して自動的に取得するように構成してもよい。
更に、運転開始判断部１３０が、現在のモータ温度Ｔと最高増加温度ΔＴup（ｎ）から、加工プログラムの運転を開始した場合にオーバーヒートアラーム温度Ｔalmを超えるか否かを判定する際に、環境などに基づく温度上昇のブレを考慮したオフセット値αを導入し、以下の式で判定するように構成してもよい。
【００３４】
【数３】
2016024583.tif 000005
【符号の説明】
【００３５】
１０    数値制御装置
１１    ＣＰＵ
１２    ＲＯＭ
１３    ＲＡＭ
１４    ＳＲＡＭ
１５，１８，１９，２０    インタフェース
１６    ＰＭＣ
１７    Ｉ／Ｏユニット
２１    バス
３０，３１，３２    軸制御回路
４０，４１，４２    サーボアンプ
５０，５１，５２    サーボモータ
６０    スピンドル制御回路
６１    スピンドルアンプ
６２    主軸モータ
６３    ポジションコーダ
６５    時計回路
７０    ＬＣＤ／ＭＤＩユニット
７１    手動パルス発生器
７２    外部機器
１１０    加工プログラム実行部
１２０    モータ動作指令部
１３０    運転開始判断部
１４０    モータ状態検出部
１５０    モータ状態記録部
２００    加工プログラム
【図１】
2016024583.tif 000006
【図５】
2016024583.tif 000007
【図２】
2016024583.tif 000008
【図３】
2016024583.tif 000009
【図４】
2016024583.tif 000010
【図６】
2016024583.tif 000011
【図７】
2016024583.tif 000012
【図８】
2016024583.tif 000013
【図９】
2016024583.tif 000014