(58)【調査した分野】(Int.Cl.,DB名)
前記目標主軸負荷計算部は、前記主軸負荷記憶部に記憶された前記主軸に掛かる負荷の値が小さいものから度数を累積して算出した累積度数と、前記分位数指定部により指定された分位数とに基づいて、前記目標主軸負荷を計算する、
請求項1に記載の制御装置。
前記主軸に掛かる負荷が取り得る値を複数の階級に区分し、前記主軸負荷計測部が計測した負荷をその階級に該当するものとして計数した度数分布を計算して前記主軸負荷記憶部に記録する主軸負荷記録部を更に備える、
請求項1に記載の制御装置。
【背景技術】
【0002】
主軸の負荷が一定となるように送り速度を制御することにより、切削速度の向上や切削工具の長寿命化をする技術がある。主軸の負荷が一定となるように送り速度を変化させることで、サイクルタイムの短縮や工具寿命の延伸を図ることができる。主軸負荷に応じた送り速度の制御方法は様々なものが考えられるが、一般的に対象の値を一定値に保つための制御としてPID制御を用いることができる(特許文献1,2等)。
【0003】
図7は、主軸の負荷を一定に保つ制御をPID制御で行う場合のブロック線図を例示したものである。
図7に示されるように、上記した制御を行うために、制御装置は目標とする主軸負荷を設定した上で、機械でのワークの加工中に検出された主軸負荷をフィードバック値として取得する。そして、制御装置は、取得した主軸負荷と、設定された目標主軸負荷との差e
L(t)を算出し、算出した値に基づいた速度に係るオーバライドO(t)の調整を行う。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態を図面と共に説明する。
図1は本発明の一実施形態による制御装置の要部を示す概略的なハードウェア構成図である。本発明の制御装置1は、例えば工作機械を制御する制御装置として実装することができる。
本発明の制御装置1が備えるCPU11は、制御装置1を全体的に制御するプロセッサである。CPU11は、バス22を介してROM12に格納されたシステムプログラムを読み出し、該システムプログラムに従って制御装置1全体を制御する。RAM13には一時的な計算データや表示データ、及び外部から入力された各種データ等が一時的に格納される。
【0012】
不揮発性メモリ14は、例えば図示しないバッテリでバックアップされたメモリやSSD(Solid State Drive)等で構成され、制御装置1の電源がオフされても記憶状態が保持される。不揮発性メモリ14には、インタフェース15を介して外部機器72から読み込まれたデータや加工プログラム、入力装置71を介して入力されたデータや加工プログラム、工作機械から取得される各データ等が記憶される。不揮発性メモリ14に記憶されたデータや加工プログラムは、実行時/利用時にはRAM13に展開されても良い。また、ROM12には、公知の解析プログラムなどの各種システムプログラムがあらかじめ書き込まれている。
【0013】
インタフェース15は、制御装置1のCPU11とUSB装置等の外部機器72と接続するためのインタフェースである。外部機器72側からは、例えば工作機械の制御に用いられる加工プログラムや各パラメータ等を読み込むことができる。また、制御装置1内で編集した加工プログラムや各パラメータ等は、外部機器72を介して外部記憶手段(図示せず)に記憶させることができる。
【0014】
PLC(プログラマブル・ロジック・コントローラ)16は、制御装置1に内蔵されたシーケンス・プログラムで工作機械及び該工作機械の周辺装置(例えば、工具交換装置や、ロボット等のアクチュエータ、工作機械に取付けられているセンサ等)にI/Oユニット17を介して信号を出力し制御する。本実施形態による制御装置1では、例えば加工中に主軸に掛かる負荷を計測するセンサ3がI/Oユニット17を介して接続される。また、産業機械の本体に配備された操作盤の各種スイッチや周辺装置等の信号を受け取り、必要な信号処理をした後、CPU11に渡す。
【0015】
表示装置70には、メモリ上に読み込まれた各データ、加工プログラムやシステムプログラム等が実行された結果として得られたデータ等がインタフェース18を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置71は、インタフェース19を介して作業者による操作に基づく指令,データ等をCPU11に渡す。
【0016】
工作機械が備える軸を制御するための軸制御回路30はCPU11からの軸の制御指令量を受け取って、該指令をサーボアンプ40に出力する。サーボアンプ40はこの指令を受け取って、工作機械が備える駆動部を軸に沿って移動させるサーボモータ50を駆動する。軸のサーボモータ50は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路30にフィードバックし、位置・速度のフィードバック制御を行う。なお、
図1のハードウェア構成図では軸制御回路30、サーボアンプ40、サーボモータ50は1つずつしか示されていないが、実際には制御対象となる工作機械に備えられた軸の数だけ用意される。例えば、一般的な工作機械を制御する場合には、工具が取り付けられた主軸とワークとを直線3軸(X軸,Y軸,Z軸)方向へ相対的に移動させる3組の軸制御回路30、サーボアンプ40、及びサーボモータ50が用意される。
【0017】
スピンドル制御回路60は、主軸回転指令を受け取って、スピンドルアンプ61にスピンドル速度信号を出力する。スピンドルアンプ61はこのスピンドル速度信号を受け取って、工作機械のスピンドルモータ62を指令された回転速度で回転させ、工具を駆動する。スピンドルモータ62にはポジションコーダ63が結合され、ポジションコーダ63が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはCPU11によって読み取られる。
【0018】
図2は、本発明の第1実施形態による制御装置1が備える機能を概略的なブロック図として示したものである。本実施形態による制御装置1が備える各機能は、
図1に示した制御装置1が備えるCPU11がシステムプログラムを実行し、制御装置1の各部の動作を制御することにより実現される。
【0019】
本実施形態の制御装置1は、制御部110、主軸負荷計測部120、主軸負荷記録部130、目標主軸負荷計算部140、分位数指定部160を備える。また、制御装置1のRAM13乃至不揮発性メモリ14には、入力装置71、または外部機器72等から取得した加工プログラム210が予め記憶される。更に、制御装置1のRAM13乃至不揮発性メモリ14には、計測された主軸負荷を記憶するための領域である主軸負荷記憶部220が予め用意されている。
【0020】
制御部110は、
図1に示した制御装置1が備えるCPU11がROM12から読み出したシステムプログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理と、軸制御回路30、スピンドル制御回路60、PLC16を用いた工作機械2の各部の制御処理が行われることで実現される。制御部110は、加工プログラム210を解析して工作機械2及びセンサ3等の周辺装置を制御するための指令データを作成する。そして、制御部110は、作成した指令データに基づいて、工作機械2の各部を制御する。制御部110は、例えば工作機械2の各軸を移動させる指令に基づいて軸の移動に係るデータを生成してサーボモータ50に出力する。また、制御部110は、例えば工作機械2の主軸を回転させる指令に基づいて主軸の回転に係るデータを生成してスピンドルモータ62に出力する。更に、制御部110は、例えば工作機械2の周辺装置を動作させる指令に基づいて該周辺装置を動作させる所定の信号を生成してPLC16に出力する。一方で、制御部110は、サーボモータ50やスピンドルモータ62の状態(モータの電流値、位置、速度、加速度、トルク等)をフィードバック値として取得して各制御処理に使用する。
【0021】
本実施形態による制御装置1が備える制御部110は、更に、目標主軸負荷計算部140から目標となる主軸負荷の値を示す目標主軸負荷が入力された場合、主軸負荷が目標主軸負荷となるように、主軸の送り速度(主軸とワークとの相対的な送り速度)を制御する。また、制御部110は、加工プログラム210のブロックによる指令や、入力装置71からオペレータが入力する指令等に基づいて、主軸負荷計測部120に対して主軸に掛かる負荷の計測を開始/終了を指令する。
【0022】
主軸負荷計測部120は、
図1に示した制御装置1が備えるCPU11がROM12から読み出したシステムプログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理と、PLC16を用いた工作機械2の各部の制御処理が行われることで実現される。主軸負荷計測部120は、工作機械2に備え付けられた主軸に掛かる負荷を計測するようにセンサ3に指令し、その計測結果を取得する。主軸負荷計測部120は、例えば主軸に掛かる負荷を所定の周期で時系列的に計測した値の集合(時系列データ)として取得するようにしても良い。主軸負荷計測部120が取得する主軸に掛かる負荷の値は、所定の負荷単位(Nm等)で示されていても良いし、ワークに対して主軸を相対的に移動させるためのモータの連続定格負荷値に対する計測された負荷の割合(百分率の%等)で示されていても良い。主軸負荷計測部120が取得した主軸に掛かる負荷の値の集合は主軸負荷記録部130に出力される。
【0023】
主軸負荷記録部130は、
図1に示した制御装置1が備えるCPU11がROM12から読み出したシステムプログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。主軸負荷記録部130は、主軸負荷計測部120が取得した主軸に掛かる負荷の値の集合を主軸負荷記憶部220に記録する。主軸負荷記録部130は、主軸負荷計測部120が取得した主軸に掛かる負荷の値の集合をそのまま主軸負荷記憶部220に記憶しても良い。また、主軸負荷記録部130は、主軸負荷計測部120が取得した主軸に掛かる負荷の値の集合に基づいて、主軸に掛かる負荷の値の度数分布を作成し、作成した度数分布に係るデータを主軸負荷記憶部220に記録するようにしても良い。また、主軸負荷記録部130は、図示しない手段を用いて行われる主軸に掛かる負荷のシミュレーション結果を主軸負荷記憶部220に記憶するようにしても良い。
【0024】
主軸に掛かる負荷の値の集合を度数分布に係るデータとして記録する場合、主軸に掛かる負荷の値が取り得る範囲を区切った所定の階級を予め定めておく。そして、主軸負荷記録部130は、主軸負荷計測部120が取得した主軸に掛かる負荷の値の集合に含まれるそれぞれのデータについて、その負荷値に基づいて上記した階級ごとの度数を計算することで、度数分布を作成する。
【0025】
例えば、主軸に掛かる負荷の値が、上記したようなモータの連続定格負荷値に対する割合で示されており、主軸に掛かる負荷の値が0%〜150%の値を取り得る場合、0%以上1%未満の負荷値であるデータは0%、1%以上2%未満の負荷値であるデータは1%、…といったように、主軸に掛かる負荷の値の範囲を151の階級に区切っておく。そして、主軸負荷計測部120が取得した主軸に掛かる負荷の値の集合に含まれるそれぞれのデータがいずれの階級に属するのか判定し、それぞれの階級に属するデータの個数を度数として計算することで、度数分布を作成する。
【0026】
図3は、主軸負荷記録部130が主軸に掛かる負荷の値の度数分布を作成する例を示している。
図3の例では、主軸に掛かる負荷の値の単位は連続定格負荷地に対する割合で示されている。また、主軸負荷計測部120は、10msec毎に主軸の負荷を計測しているものとする。更に、上記したように主軸に掛かる負荷の値の範囲は1%毎に151の階級に区切られているものとする。この時、時刻0[ms]〜100000[ms]までに取得された10001個のデータのそれぞれについて、主軸負荷計測部120は、いずれの階級に属するのかを判定し、各階級に属するデータの個数を計算して度数分布を作成する。
図3に例示する負荷値のデータでは、負荷値60%〜80%の各階級における度数が比較的大きな値を示し、他の階級の度数が小さくなる。
【0027】
目標主軸負荷計算部140は、
図1に示した制御装置1が備えるCPU11がROM12から読み出したシステムプログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。目標主軸負荷計算部140は、主軸負荷記憶部220に記憶されたデータにおける、分位数指定部160で指定された所定の分位数を目標主軸負荷として計算する。主軸負荷記憶部220に主軸に掛かる負荷の値の集合がデータとして記憶されている場合、目標主軸負荷計算部140は、個々のデータを負荷の値の昇順乃至逆順で並びかえ、下方から累積度数を計算した上で、指定された分位にあたる分位数を計算すれば良い。また、主軸負荷記憶部220に主軸に掛かる負荷の値の度数分布がデータとして記憶されている場合、目標主軸負荷計算部140は、下方から階級毎の累積度数を計算して、指定された分位にあたる分位数を計算すれば良い。目標主軸負荷計算部140は、計算した分位数を目標主軸負荷として制御部110に出力する。
【0028】
図4は、
図3に例示した度数分布のデータから、1/2分位数を求める方法を示す図である。
図4に例示されるように、例えば予め1/2分位数が指定されている場合には、度数分布のデータに基づいて下方から累積度数を算出し、5001番目のデータが含まれる階級の示す値を1/2分位数として計算する。
図4の場合、目標主軸負荷計算部140は、1/2分位数となる74%を目標主軸負荷として制御部110に出力する。
【0029】
本実施形態による制御装置1では、加工の目的に応じて指定する分位数を変更することで、目標主軸負荷を調整することもできる。
図5は、オペレータにより1/4分位数または3/4分位数が指定された場合の目標主軸負荷の算出の例を示している。例えばサイクルタイムを犠牲にして工具寿命の延伸を図りたい場合、オペレータは入力装置71等から1/4分位数を目標主軸負荷として計算するように、目標主軸負荷計算部140に指令する。その場合、目標主軸負荷計算部140は、主軸に掛かる負荷の値の集合の下方から2500番目、2501番目のデータを含む階級の値を1/4分位数として計算する。
図5の例では、目標主軸負荷計算部140は、1/4分位数となる58%を目標主軸負荷として制御部110に出力する。一方、工具寿命を犠牲にしてサイクルタイムを早めたい場合、オペレータは入力装置71等から3/4分位数を目標主軸負荷として計算するように、目標主軸負荷計算部140に指令する。その場合、目標主軸負荷計算部140は、主軸に掛かる負荷の値の集合の下方から7500番目、7501番目のデータを含む階級の値を3/4分位数として計算する。
図5の例では、目標主軸負荷計算部140は、3/4分位数となる80%を目標主軸負荷として制御部110に出力する。なお、指定された分位数が階級にまたがる場合には、それらの階級に該当する値の平均値を目標主軸負荷とすれば良い。
【0030】
分位数指定部160は、
図1に示した制御装置1が備えるCPU11がROM12から読み出したシステムプログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理と、インタフェース19を用いた入力処理とが行われることで実現される。分位数指定部160は、オペレータからの分位数の指定入力を受け付けて、目標主軸負荷計算部140に出力する。分位数指定部160は、1/2分位数、3/4分位数などといった直接的な分位数の指定入力を受け付けるようにしても良いし、30%、50%、70%といったパーセンタイルでの指定入力を受け付けるようにしても良い。また、入力装置71から分位数の指定を受け付ける以外に、制御装置1の不揮発性メモリ14上に設けられた設定領域に設定されている分位数を、指定された分位数として受け付けても良いし、図示しないネットワークを介してホストコンピュータ等の他のコンピュータから受信した分位数を、指定された分位数として受け付けても良い。
【0031】
上記構成を備えた本実施形態による制御装置1を用いる場合、オペレータは試し加工を行いながら主軸に掛かる負荷を計測する。そして、計測して得られた負荷の値の集合に対して所定の分位数を指定するだけで、目標主軸負荷が自動的に設定される。上記したように、主軸に掛かる負荷の値に対する分位数を指定できるようにすることで、試し加工において計測された主軸に掛かる負荷の内で、多くの回数計測された負荷の値を抽出することが容易となる。主軸に掛かる負荷は、同じ主軸回転数、同じ送り速度、同じ切込み量でワークを加工していても、主軸の振動、工具の刃のワークに対する当たり具合などが原因で一定の値とはならない。そのため、単純に最頻値等を用いても、安定加工部分を見つけることは困難である。本実施形態による制御装置1は、計測された主軸に掛かる負荷の値の集合に対して分布数を指定できるようにしたことで、比較的度数が大きな負荷値が密集している部分を安定加工部分として特定しやすくしている。そして、その安定加工部分を基準として、所定の分布数を指定できるようにすることで、その加工の目的に応じてサイクルタイム重視の加工や工具寿命重視の加工を容易に指定できるようになる。
【0032】
本実施形態による制御装置1では、主軸に掛かる負荷の値の集合をそのまま主軸負荷記憶部220に記憶するようにしてもよいが、これらデータを度数分布のデータとして記憶させることで、主軸負荷計測部120が取得した主軸に掛かる負荷の値の集合をそのまま記録する場合と比べて、必要とするデータの記憶容量がかなり小さくすることができる。また、度数分布を予め計算しておくことで、分位数に係る計算をする際の計算を簡略化することもできる。
【0033】
本実施形態による制御装置1の一変形例として、分位数指定部160は、オペレータによる分位数の指定をラジオボタンやプルダウンメニューなどによって設定できるようにしても良い。この時、例えば、「サイクルタイム優先」「バランス優先」「工具寿命優先」等といったメニューを選択できるようにして、それぞれの項目が選択されると、選択した項目に応じた分位数が指定されるようにしても良い。このような構成を設けることで、オペレータは自己の目的を指定するだけで所定の分位数を指定することができるようになる。
【0034】
図6は、本発明の第2実施形態による制御装置1が備える機能を概略的なブロック図として示したものである。本実施形態による制御装置1が備える各機能は、
図1に示した制御装置1が備えるCPU11がシステムプログラムを実行し、制御装置1の各部の動作を制御することにより実現される。
【0035】
本実施形態による制御装置1は、制御部110、主軸負荷計測部120、主軸負荷記録部130、目標主軸負荷計算部140に加えて、更に主軸動作状態判定部150を備える。また、制御装置1のRAM13乃至不揮発性メモリ14には、入力装置71、外部機器72等から取得した加工プログラム210が予め記憶される。更に、制御装置1のRAM13乃至不揮発性メモリ14には、計測された主軸負荷を記憶するための領域である主軸負荷記憶部220が予め用意されている。
【0036】
本実施形態による制御装置1が備える制御部110、主軸負荷計測部120、主軸負荷記録部130は、第1実施形態による制御装置1が備える各機能と同様の機能を備える。
【0037】
主軸動作状態判定部150は、
図1に示した制御装置1が備えるCPU11がROM12から読み出したシステムプログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。主軸動作状態判定部150は、制御部110から取得できる情報に基づいて、例えば加減速中であるか、停止中であるか、といった主軸の動作状態を判定し、加減速中や停止中に計測された主軸負荷を記録しないように主軸負荷記録部130に指令する。主軸が加減速中であるか、停止中であるか、については、制御部110による加工プログラム210の実行状況から判定すれば良い。例えば正転指令(逆転指令)、停止指令や回転数指令等が実行され、主軸の回転数を変更された直後は、主軸の回転が加速乃至減速し、加工していない状態でも主軸の負荷が高くなる。そのような状態にある場合には、主軸が加減速中であると判定できる。また、停止指令が実行されて十分時間が経過した場合、主軸は停止中であると判定することができる。
【0038】
加減速時や停止時に計測される主軸に掛かる負荷の値を目標主軸負荷の計算に入れると、目標主軸負荷が高くなったり、低くなったりしてしまう。上記構成を備えた本実施形態による制御装置1では、主軸が加減速している間や、主軸が停止している間に計測された主軸に掛かる負荷を、目標主軸負荷の計算から除外することができるため、より適切な目標主軸負荷が設定できることが見込まれる。
【0039】
以上、本発明の一実施形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
制御装置は、記憶された主軸に掛かる負荷に係るデータにおける、指定された分位数を、目標主軸負荷として計算して、計測した主軸に掛かる負荷が前記計算した目標主軸負荷となるように、ワークに対する主軸の送り速度を制御する。ユーザは、目標主軸負荷を、ワークが安定して加工されている状態で計測される主軸の負荷を基準として設定することができる。