以下に、本開示の実施の形態にかかる消費電力量調整装置、数値制御装置、および消費電力量調整方法を図面に基づいて詳細に説明する。
実施の形態1.
図1は、実施の形態1にかかる消費電力量調整装置が適用される数値制御工作機械の工作機械装置の構成を示す図である。なお、以下の説明では、テーブル22の上面と平行な面内の2つの軸であって互いに直交する2つの軸をX軸およびY軸とする。また、X軸およびY軸に直交する軸をZ軸とする。
実施の形態1にかかる消費電力量調整装置(後述する消費電力量調整装置30A)は、工作機械装置50を備えた数値制御工作機械(後述する数値制御工作機械100A)に適用される。図1では、工作機械装置50の概略を模式的に図示している。
工作機械装置50は、数値制御工作機械100Aが備える機械装置であり、同一の加工物(部品)の切削加工を繰り返し実行する。工作機械装置50は、例えば、3軸のマシニングセンタである。
工作機械装置50は、X軸モータ14Xと、Y軸モータ14Yと、Z軸モータ14Zと、主軸モータ14Sと、X軸部35X、Y軸部35Y、およびZ軸部35Zと、主軸部36Sとを備えている。X軸モータ14X、Y軸モータ14Y、およびZ軸モータ14Zは、サーボモータである。
工作機械装置50は、工具20を用いて、工作物21を切削し所望の形状を実現する。この時、工作機械装置50は、X軸方向に延設されてX軸方向に移動するX軸部35Xと、Y軸方向に延設されてY軸方向に移動するY軸部35Yとを用いて、テーブル22に設置された工作物21をX軸方向およびY軸方向に駆動する。また、工作機械装置50は、Z軸方向に延設されてZ軸方向に移動するZ軸部35Zを用いて、工具20をZ軸方向に駆動する。これにより、工作機械装置50は、3次元の運動を創生する。
工作機械装置50は、Z軸方向が軸方向である主軸部36Sによって工具20を回転させることで、工具20に工作物21に対する相対運動を生じさせ、工作物21の表面から材料を除去する。この時、工作機械装置50は、X軸部35X、Y軸部35Y、およびZ軸部35Zのそれぞれの軸を、X軸モータ14X、Y軸モータ14Y、およびZ軸モータ14Zによって駆動し、主軸部36Sを主軸モータ14Sによって駆動する。
なお、以下の説明では、X軸モータ14X、Y軸モータ14Y、Z軸モータ14Z、および主軸モータ14Sを区別する必要がない場合には、X軸モータ14X、Y軸モータ14Y、Z軸モータ14Z、および主軸モータ14Sをモータという場合がある。
X軸部35X、Y軸部35Y、およびZ軸部35Zは、それぞれ送り軸を有している。送り軸は、ボールねじと呼ばれる機械装置によってX軸モータ14X、Y軸モータ14Y、およびZ軸モータ14Zの回転運動を軸の直線運動に変換する装置である。
図2は、実施の形態1にかかる消費電力量調整装置を備えた数値制御工作システムの構成を示すブロック図である。数値制御工作システム1Aは、消費電力量調整装置30Aと、数値制御工作機械100Aとを備えている。
数値制御工作システム1Aでは、数値制御工作機械100Aが消費電力量調整装置30Aに接続されている。また、数値制御工作機械100Aは、交流電源である主電源(主電源部)51に接続されている。
数値制御工作機械100Aは、消費電力検出部19と、メインブレーカ18と、周辺装置17A,17Bと、コンバータ装置16と、直流電源52と、数値制御装置40Aとを備えている。また、数値制御工作機械100Aは、X軸インバータ装置15Xと、Y軸インバータ装置15Yと、Z軸インバータ装置15Zと、主軸インバータ装置15Sと、工作機械装置50とを備えている。
なお、以下の説明では、X軸インバータ装置15X、Y軸インバータ装置15Y、Z軸インバータ装置15Z、および主軸インバータ装置15Sを区別する必要がない場合には、X軸インバータ装置15X、Y軸インバータ装置15Y、Z軸インバータ装置15Z、および主軸インバータ装置15Sをインバータ装置という場合がある。
なお、図2では、工作機械装置50が備える構成要素のうち、X軸モータ14X、Y軸モータ14Y、Z軸モータ14Z、および主軸モータ14Sのみを図示しており、X軸モータ14X、Y軸モータ14Y、Z軸モータ14Z、および主軸モータ14S以外の他の構成要素の図示を省略している。
消費電力検出部19は、主電源51とメインブレーカ18とを接続する接続線上に配置され、数値制御工作機械100Aの消費電力量を検出する。すなわち、消費電力検出部19は、数値制御工作機械100Aに電源を入力している主電源51の消費電力量を検出する。消費電力検出部19は、検出した消費電力量(今回消費電力量Pなど)を消費電力量調整装置30Aに送る。
メインブレーカ18は、周辺装置17Aおよびコンバータ装置16に接続されている。周辺装置17Aは、周辺装置17Bおよび直流電源52に接続されており、直流電源52は数値制御装置40Aに接続されている。数値制御装置40Aは、消費電力量調整装置30Aに接続されている。
コンバータ装置16は、X軸インバータ装置15X、Y軸インバータ装置15Y、Z軸インバータ装置15Z、および主軸インバータ装置15Sに接続されている。インバータ装置は、それぞれモータに接続されており、モータを駆動する。すなわち、X軸インバータ装置15Xは、X軸モータ14Xに接続されており、X軸モータ14Xを駆動する。Y軸インバータ装置15Yは、Y軸モータ14Yに接続されており、Y軸モータ14Yを駆動する。Z軸インバータ装置15Zは、Z軸モータ14Zに接続されており、Z軸モータ14Zを駆動する。主軸インバータ装置15Sは、主軸モータ14Sに接続されており、主軸モータ14Sを駆動する。
主電源51からの交流電源は、メインブレーカ18から入力され、コンバータ装置16、周辺装置17A、周辺装置17B、および直流電源52へ送られる。
直流電源52は、交流電源から数値制御装置40Aの駆動に必要な直流電源を生成する。コンバータ装置16は、インバータ装置に供給する直流電源を交流電源から生成する。
数値制御工作機械100Aでは、数値制御装置40Aが、加工プログラムを繰り返し実行することで加工が行われる。加工プログラムは、EIA(Electronic Industries Alliance)コードなどの言語で記述され、例えば、各送り軸の指令位置とその時の指令速度、主軸の回転数などが順番に記述されている。
数値制御装置40Aは、加工プログラムを解析し、工作機械装置50に接続されるモータに対する位置指令値を生成する。数値制御装置40Aは、生成した位置指令値をインバータ装置に送信する。なお、図2では、数値制御装置40Aとインバータ装置との接続線の図示を省略している。
インバータ装置は、コンバータ装置16が生成した直流電源からモータに流す交流電流を生成する。インバータ装置は、モータが位置指令に追従するようにモータに流す交流電流を制御する。インバータ装置による交流電流の制御方法には、例えば、PWM(Pulse Width Modulation、パルス幅変調)制御などがあるが、交流電流の制御方法には、何れの制御方法が用いられてもよい。モータは、インバータ装置によって供給された交流電流に応じたトルクを発生させ、これにより、モータに接続された工作機械装置50が駆動される。
周辺装置17A,17Bは、主電源51からの交流電源を用いて、図2では図示を省略している被駆動機器を駆動する。周辺装置17A,17Bで駆動される被駆動機器の例は、工作機械装置50に冷却液を循環するチラー、冷却液を循環するポンプなどである。周辺装置17A,17Bで駆動される被駆動機器は、一例であり、配電盤を冷却するためのファン、工作機械装置50に付属するセンサ類など、加工に必要な軸の運動を生成するモータ以外の電力を消費する全ての機器が含まれる。
実施の形態1の数値制御装置40Aは、消費電力量に影響する加工条件で加工を制御する。数値制御装置40Aが用いる加工条件の要素としては、例えば、加工時の特定要素のオーバライド量、加速度時定数、送り速度、主軸回転数、PWM(パルス幅変調)キャリア周波数の5つの要素が挙げられる。実施の形態1の数値制御装置40Aは、今回の加工に用いる加工条件(以下、今回加工条件Wという)で加工を制御するとともに、今回加工条件Wを消費電力量調整装置30Aに出力する。今回加工条件Wは、今回の加工における消費電力量である今回消費電力量Pに影響する今回の加工条件である。また、後述する次回加工条件は、次回の加工における消費電力量である次回消費電力量に影響する次回の加工条件である。
また、数値制御装置40Aは、加工が完了すると、消費電力量調整装置30Aから加工条件変更量Rを受け付ける。加工条件変更量Rは、今回加工条件Wに対する次回の加工に用いる加工条件(次回加工条件)への変更量である。実施の形態1では、次回の加工に用いる加工条件の情報(加工条件情報)が、加工条件変更量Rである。
数値制御装置40Aは、加工条件変更量Rに基づいて、今回加工条件Wを変更する。数値制御装置40Aは、加工条件変更量Rに基づいて変更した今回加工条件Wを、次回の加工に用いる次回加工条件に設定する。
消費電力量調整装置30Aは、数値制御工作機械100Aが今回加工条件Wで加工した際に検出した消費電力量である今回消費電力量Pに基づいて、加工条件変更量Rを算出し、加工条件変更量Rを数値制御装置40Aに出力する。
図3は、実施の形態1にかかる消費電力量調整装置の構成を示すブロック図である。消費電力量調整装置30Aは、1つの加工物(工作物21)の加工が実行される毎に数値制御工作機械100Aから今回の加工にかかった今回消費電力量Pと今回加工条件Wとを取得する。消費電力量調整装置30Aは、今回消費電力量Pとして、メインブレーカ18に供給される電力量を消費電力検出部19から取得する。
消費電力検出部19は、今回消費電力量Pを、例えばメインブレーカ18に加わる電圧とメインブレーカ18に流れる電流とをクランプメータによって測定し算出する。ただし、クランプメータは一例であり、消費電力検出部19は、消費電力量を測定できれば何れの測定手段を用いてもよい。
消費電力量調整装置30Aは、加工条件情報生成部31と、加工条件記録部32とを有している。加工条件情報生成部31は、消費電力検出部19から今回消費電力量Pを受け付け、数値制御装置40Aから今回加工条件Wを受け付ける。また、加工条件記録部32は、消費電力検出部19から今回消費電力量Pを受け付け、数値制御装置40Aから今回加工条件Wを受け付ける。
今回消費電力量Pは、次回の加工条件である次回加工条件を設定するための加工条件変更量Rが決定されるまでは、今回の消費電力量として記録されるが、加工条件変更量Rが決定された後は、前回の消費電力量(以下、前回消費電力量Tという)として記録される。
また、今回加工条件Wは、次回加工条件を設定するための加工条件変更量Rが決定されるまでは、今回の加工条件として記録されるが、加工条件変更量Rが決定された後は、前回加工条件として記録される。
前回の加工プログラム実行時の前回消費電力量Tは、前回の加工プログラム実行時の前回加工条件に対応付けされて、加工条件記録部32に記録される。また、今回の加工プログラム実行時の今回消費電力量Pは、今回の加工プログラム実行時の今回加工条件Wに対応付けされて、加工条件記録部32に記録される。加工条件記録部32は、対応付けされた各回の消費電力量と加工条件とを記録しておく。加工条件記録部32に記録された各回の消費電力量および加工条件は、消費電力量と加工条件との対応関係を機械学習する際に用いることが可能である。
加工条件情報生成部31は、加工条件記録部32に記録されている前回消費電力量Tと、今回取得した今回消費電力量Pと、今回取得した今回加工条件Wとに基づいて、次回の加工で使用する次回加工条件に対応する加工条件変更量Rを加工条件情報として生成する。加工条件変更量Rは、今回加工条件Wと次回加工条件との差分である。加工条件情報生成部31は、今回加工条件Wに対する加工条件変更量Rを算出し、数値制御装置40Aに送る。
今回加工条件Wおよび次回加工条件には、例えば、加工時の特定要素のオーバライド量、加速度時定数、送り速度、主軸回転数、PWM(パルス幅変調)キャリア周波数の少なくとも1つが含まれている。すなわち、加工条件変更量Rには、加速度時定数、送り速度、主軸回転数、PWM(パルス幅変調)キャリア周波数などの少なくとも1つの変更量が含まれている。ここでは、今回加工条件Wおよび次回加工条件が、加工時のオーバライド量であり、オーバライド量を調整する例について説明を行う。
オーバライド量とは、数値制御装置40Aによって指令されるパラメータである。数値制御装置40Aは、加工プログラムに記述された送り軸への指令速度をオーバライド量で記述された比率で変更する。数値制御装置40Aは、例えば、加工プログラムに記述された送り軸への指令送り速度が1000mm/minの時にオーバライド量が120%に設定されると、送り軸が1200mm/minの速度で駆動するように指令を変更する。
オーバライド量が大きくなると指令速度が速くなり、加工に要する時間が短くなるので、一定の消費電力で動作する装置の消費電力量は減少する。一方、オーバライド量が大きくなるとモータは短時間で速く加減速する必要があるので、モータに流れる電流が増加し、モータの消費電力量は増加する。そのため、設定されるオーバライド量によって数値制御工作機械100A全体としての消費電力量が増加するか減少するかは変わってくる。また、数値制御工作機械100Aに付属する周辺装置17A,17Bの種類および特性によってもオーバライド量の最適値は異なってくる。実施の形態1では、オーバライド量の最適値は、消費電力量が最適値(最小値)となる値である。
実施の形態1の消費電力量調整装置30Aは、消費電力量の調整処理を実行する。実施の形態1における消費電力量の調整処理は、消費電力量を削減しながら消費電力量を最適値に近付けていく処理である。消費電力量調整装置30Aは、次回の加工プログラム実行時の消費電力量が今回消費電力量Pより小さくなるよう加工条件変更量Rを算出する。具体的には、加工条件情報生成部31は、今回消費電力量Pが前回消費電力量Tよりも大きい場合に、特定要素のオーバライド量を増やすための加工条件変更量Rを算出する。加工条件情報生成部31は、今回消費電力量Pが前回消費電力量T以下の場合に、特定要素のオーバライド量を減らすための加工条件変更量Rを算出する。
このように、消費電力量調整装置30Aは、1指令(1回の加工)毎に加工条件(加工条件変更量R)の更新を実行している。このため、複数回の加工が行われる場合、加工を進めていくうちに発生する摩擦や熱によって消費電力量を最小にするための加工条件が変化する。このような場合であっても、消費電力量調整装置30Aは、1回の加工毎に加工条件を更新しているので、消費電力量を最小にするための加工条件の変化に追従することができる。なお、消費電力量調整装置30Aは、1指令毎の加工条件の更新に限らず、複数指令(複数回の加工)毎に加工条件を更新してもよい。例えば、消費電力量調整装置30Aは、n(nは2以上の自然数)回の加工毎に加工条件を更新してもよい。
なお、加工条件情報生成部31は、今回消費電力量Pと前回消費電力量Tとが同じである場合には、オーバライド量を変更させない加工条件変更量Rを算出してもよい。消費電力量調整装置30Aは、算出した加工条件変更量Rを、数値制御装置40Aに送る。
図4は、実施の形態1にかかる数値制御工作システムがオーバライド量を調整する処理の処理手順を示すフローチャートである。数値制御工作機械100Aの数値制御装置40Aは、加工プログラムに基づいて、オーバライド量を設定する(ステップS10)。
数値制御装置40Aは、加工プログラムおよびオーバライド量を用いたプログラム運転を実施する(ステップS20)。数値制御装置40Aへは、オーバライド量の初期値として、例えば100%が設定される。
数値制御装置40Aは、オーバライド量を用いて、送り軸などへの指令値を生成し、加工制御を実行する。数値制御装置40Aは、加工制御に用いる今回加工条件Wを消費電力量調整装置30Aに送る。今回加工条件Wは、加工条件情報生成部31および加工条件記録部32に送られる。加工条件記録部32は、数値制御装置40Aから送られてきた今回加工条件Wを記録しておく。
数値制御工作機械100Aの消費電力検出部19は、今回加工条件Wで加工した際の今回消費電力量Pを求める(ステップS30)。すなわち、消費電力検出部19は、オーバライド量に対応する今回消費電力量Pを算出する。消費電力検出部19は、算出した今回消費電力量Pを消費電力量調整装置30Aに送る。この今回消費電力量Pは、加工条件情報生成部31および加工条件記録部32に送られる。なお、今回加工条件Wと今回消費電力量Pとは、何れが先に数値制御装置40Aに送られてもよい。
加工条件記録部32は、消費電力検出部19から送られてきた今回消費電力量Pを記録しておく。加工条件記録部32が記録する今回消費電力量Pは、次回の加工の際に、前回の加工の消費電力量である前回消費電力量Tとして、加工条件情報生成部31に読み出される。
数値制御工作機械100Aでは、ドライブユニット、コンバータユニット等で電圧値および電流値の検出が行われている。このため、加工条件情報生成部31は、消費電力検出部19から送られてきた今回消費電力量Pに基づいて、モータ単体、ドライブユニット単体、コンバータユニット単体、周辺装置17A,17B、数値制御工作機械100Aの全体の各状態についての消費電力量を算出することができる。なお、数値制御工作機械100Aでは、各部の消費電力量を測定できればどのような測定手段が用いられてもよい。
加工条件情報生成部31は、消費電力検出部19から送られてきた今回消費電力量Pと、加工条件記録部32から読み出した前回消費電力量Tとを比較する。すなわち、加工条件情報生成部31は、前回の加工プログラム運転時の前回消費電力量Tと、今回の加工プログラム運転時の今回消費電力量Pとを比較する。
加工条件情報生成部31は、今回消費電力量Pが前回消費電力量Tより大きいか否かを判定する。今回消費電力量Pが前回消費電力量Tより大きい場合(ステップS40、Yes)、加工条件情報生成部31は、オーバライド量を上げる加工条件変更量Rを生成する(ステップS50)。そして、加工条件情報生成部31は、この加工条件変更量Rを数値制御装置40Aに送る。
一方、今回消費電力量Pが前回消費電力量T以下である場合(ステップS40、No)、加工条件情報生成部31は、オーバライド量を下げる加工条件変更量Rを生成する(ステップS60)。そして、加工条件情報生成部31は、この加工条件変更量Rを数値制御装置40Aに送る。
なお、加工条件情報生成部31は、今回消費電力量Pと前回消費電力量Tとが同じである場合には、オーバライド量を変更させない加工条件変更量Rを決定してもよい。この場合、加工条件情報生成部31は、この加工条件変更量Rを数値制御装置40Aに送らなくてもよい。
数値制御装置40Aは、加工条件情報生成部31から受け付けた加工条件変更量Rで現在のオーバライド量を変更し、新たなオーバライド量に決定する(ステップS70)。数値制御装置40Aは、新たなオーバライド量を用いて、次回の加工を実行する。
1回目の加工では、比較対象となる前回消費電力量Tが加工条件記録部32に記録されていない。このため、加工条件情報生成部31は、加工条件の種類毎に予め設定された変更量(例えば、-5%)を加工条件変更量Rに決定し生成する。これにより、数値制御装置40Aは、初期値のオーバライド量(100%)を、加工条件の種類毎に予め設定されたパラメータ固定値である変更量(例えば、-5%)で変更して、新たなオーバライド量(95%)とする。
なお、加工条件情報生成部31は、1回目の加工の際は、加工条件変更量Rを「0」に決定してもよい。この場合、初期値のオーバライド量(100%)で加工が実行されることとなる。
加工条件情報生成部31は、1回目の加工では、初期値のオーバライド量、または予め設定されたパラメータ固定値で変更された初期値のオーバライド量を、今回加工条件Wとして加工条件記録部32に記録させる。また、加工条件情報生成部31は、1回目の加工に適用されたオーバライド量で加工された場合の今回消費電力量Pを、今回加工条件Wに対応付けして加工条件記録部32に記録する。すなわち、加工条件情報生成部31は、1回目の加工では、ステップS10で設定されたオーバライド量と、ステップS30で求めた今回消費電力量Pとを加工条件記録部32に記録する。
また、数値制御装置40Aは、2回目以降の加工では、前回のステップS70で設定した新たなオーバライド量を、今回のオーバライド量に設定する。そして、加工条件情報生成部31は、今回設定されたオーバライド量(前回のステップS70で決定した新たなオーバライド量)と、ステップS30で求めた今回消費電力量Pとを加工条件記録部32に記録する。
このように、加工条件情報生成部31は、決定した新たなオーバライド量と、このオーバライド量で加工が実行された場合の消費電力量とを対応付けして加工条件記録部32に記録する。
数値制御工作システム1Aは、ステップS70において新たなオーバライド量を設定すると、ステップS20の処理に戻り、ステップS20~S70の処理を繰り返す。すなわち、数値制御工作システム1Aは、加工プログラム運転時に測定した消費電力量に基づいて、オーバライド量の変更を繰り返し、消費電力量が最小となるオーバライド量を決定する。このように、数値制御工作システム1Aは、加工プログラム運転時に測定した消費電力量に基づいて、オーバライド量の変更を繰り返すので、消費電力量を減少させながらオーバライド量といった加工条件を最適値に近付けていくことが可能となる。すなわち、数値制御工作システム1Aは、オーバライド量の変更を繰り返すことで、消費電力量の最小点に追従させることができる。
なお、加工条件情報生成部31は、1回目の加工では、初期値のオーバライド量を加工条件の種類毎に予め設定されたパラメータ固定値で変更することで加工条件変更量Rを決定したが、加工条件情報生成部31は、2回目以降の加工では、何れの方法によって加工条件変更量Rを決定してもよい。
加工条件情報生成部31は、2回目以降の加工でも1回目の加工と同様に、初期値のオーバライド量を加工条件の種類毎に予め設定されたパラメータ固定値で変更することで加工条件変更量Rを決定してもよい。すなわち、加工条件情報生成部31は、加工条件の種類毎に予め設定された一定値ずつ加工条件変更量Rを変更してもよい。
また、加工条件情報生成部31は、前回のオーバライド量に対して、加工条件の種類毎に予め設定された特定の比率(係数)を今回加工条件Wに乗じた値を加工条件変更量Rに決定してもよい。
また、加工条件情報生成部31は、前回消費電力量Tと、前回から今回の消費電力量の変動量(以下、電力変動量という場合がある)との比率に基づいて加工条件変更量Rを決定してもよい。この場合、加工条件情報生成部31は、例えば、前回消費電力量Tと電力変動量との比率を、今回加工条件Wに乗じることで加工条件変更量Rを決定する。
また、加工条件情報生成部31は、今回消費電力量Pと電力変動量との比率に基づいて加工条件変更量Rを決定してもよい。この場合、加工条件情報生成部31は、例えば、今回消費電力量Pと電力変動量との比率を、今回加工条件Wに乗じることで加工条件変更量Rを決定する。
また、加工条件情報生成部31は、前回消費電力量Tと今回消費電力量Pとの比率に基づいて加工条件変更量Rを決定してもよい。この場合、加工条件情報生成部31は、例えば、前回消費電力量Tと今回消費電力量Pとの比率を、今回加工条件Wに乗じることで加工条件変更量Rを決定する。
また、加工条件情報生成部31は、前回消費電力量Tから算出したモータのエネルギー損失の和から、今回消費電力量Pから算出したモータのエネルギー損失の和への増加率に応じて、加工条件変更量Rを決定してもよい。
例えば、加工条件情報生成部31は、前回消費電力量Tから算出したモータのエネルギー損失の和から、今回消費電力量Pから算出したモータのエネルギー損失の和への増加率(増減量の比率)を、今回加工条件Wに乗じることで加工条件変更量Rを決定する。
また、加工条件情報生成部31は、前回消費電力量Tから算出したドライブユニットのエネルギー損失の和から、今回消費電力量Pから算出したドライブユニットのエネルギー損失の和への増加率に応じて、加工条件変更量Rを決定してもよい。
例えば、加工条件情報生成部31は、前回消費電力量Tから算出したドライブユニットのエネルギー損失の和から、今回消費電力量Pから算出したドライブユニットのエネルギー損失の和への増加率を、今回加工条件Wに乗じることで加工条件変更量Rを決定する。
また、加工条件情報生成部31は、前回消費電力量Tと今回消費電力量Pとの差である電力変動量が第1の閾値以下の場合、オーバライド量などの加工条件の変更を行わないようにしてもよい。また、加工条件情報生成部31は、前回消費電力量Tから算出したモータまたはドライブユニットのエネルギー損失と、今回消費電力量Pから算出したモータまたはドライブユニットのエネルギー損失との差であるエネルギー損失変動量が第2の閾値以下の場合、オーバライド量などの加工条件の変更を行わないようにしてもよい。これにより、数値制御工作システム1Aは、加工条件の最適値近傍で加工条件の値が振動的な挙動となる現象を回避できるとともに、長期間に渡って加工を繰り返すうちに最適条件が変化した場合には、調整を再開できる。
図5は、実施の形態1にかかる数値制御工作システムがオーバライド量を調整する処理を説明するための図である。図5に示すグラフの横軸はオーバライド量であり、縦軸は消費電力量である。図5では、m(mは自然数)回目の加工での消費電力量を、消費電力量Umとして図示している。同様に、(m+1)回目~(m+4)回目の加工での消費電力量を、消費電力量Um+1~Um+4として図示している。また、消費電力の最適値である最小値を、電力最小値V1として図示している。
数値制御工作システム1Aの消費電力量調整装置30Aは、今回消費電力量Pが前回消費電力量T以下であるか否かを判定する。すなわち、消費電力量調整装置30Aは、(m+1)回目の加工での消費電力量Um+1が、m回目の加工での消費電力量Um以下であるか否かを判定する。消費電力量調整装置30Aは、(m+1)回目の加工での消費電力量Um+1が、m回目の加工での消費電力量Um以下である場合、オーバライド量を下げる。
同様に、消費電力量調整装置30Aは、(m+2)回目の加工での消費電力量Um+2が、(m+1)回目の加工での消費電力量Um+1以下である場合、オーバライド量を下げる。さらに、消費電力量調整装置30Aは、(m+3)回目の加工での消費電力量Um+3が、(m+2)回目の加工での消費電力量Um+2以下である場合、オーバライド量を下げる。
一方、消費電力量調整装置30Aは、(m+4)回目の加工での消費電力量Um+4が、(m+3)回目の加工での消費電力量Um+3よりも大きい場合、オーバライド量を上げる。
このように、消費電力量調整装置30Aは、消費電力量が減少するようにオーバライド量を調整する。消費電力量調整装置30Aは、オーバライド量の調整を繰り返すことで、消費電力量を最適値である電力最小値V1に近付けていく。これにより、消費電力量調整装置30Aは、消費電力量を調整する。
なお、加工条件情報生成部31は、調整対象とする加工条件を、工作物21または工作機械装置50に応じて1つだけ選択して調整してもよいし、複数の加工条件を同時に調整してもよい。
また、加工条件情報生成部31は、特定の1つの加工条件の調整が完了したら、次の特定の1つの加工条件を調整するというように、加工条件を1つずつ順番に調整してもよい。例えば、加工条件情報生成部31は、N(Nは2以上の自然数)種類の加工条件を最適する場合、1種類目の加工条件から順番にN種類目の加工条件まで調整すると、再度1種類目~N種類目まで加工条件を調整してもよい。すなわち、加工条件情報生成部31は、1種類目~N種類目まで加工条件を調整するという処理を複数回繰り返してもよい。
このように、実施の形態1の数値制御工作システム1Aは、加工プログラムに基づいて設定したオーバライド量に対する消費電力量を算出する。そして、数値制御工作システム1Aは、オーバライド量を特定割合だけ変更し、変更後のオーバライド量を用いて加工プログラム運転した際の消費電力量を算出する。数値制御工作システム1Aは、算出した今回消費電力量Pと、前回の加工プログラムに基づいて設定したオーバライド量に対する前回消費電力量Tとを比較する。数値制御工作システム1Aは、今回消費電力量Pが前回消費電力量Tよりも大きい場合にはオーバライド量を上げ、今回消費電力量Pが前回消費電力量T以下の場合にはオーバライド量を下げる。これにより、数値制御工作システム1Aは、消費電力量を削減しながらオーバライド量を最適値に近付けていくことが可能となる。
数値制御工作システム1Aは、消費電力量を調整するために、正確に同定することが困難な送り軸駆動用モータの単位時間あたりの消費電力の係数、および一定電力にて動作する周辺機器の単位時間あたりの消費電力の係数を事前に同定する必要がない。また、数値制御工作システム1Aは、正確に算出することが困難な、加工条件を変更した場合のサイクルタイムを算出する必要がなく、加工時間の予想値から消費電力量を計算する必要がない。すなわち、数値制御工作システム1Aは、算出処理が困難な単位時間あたりの消費電力の係数およびサイクルタイムを算出することなく、消費電力量を削減できる加工条件を決定できる。したがって、数値制御工作システム1Aは、消費電力量の削減を簡易な処理で容易に実現することができる。
ところで、工作機械装置50は、加工に関与するモータとして、主軸部36Sを回転させる主軸モータ14S、工作物21および主軸部36Sを駆動するサーボモータ(X軸モータ14X、Y軸モータ14Y、およびZ軸モータ14Z)、工具交換装置などの周辺軸を駆動するモータ(図示せず)など種々のモータを有している。
そして、オーバライド量の変更では、サーボモータの回転数は変更されるが、主軸モータ14Sおよび周辺軸モータの速度は変更されない。また、主軸部36Sのオーバライド量の変更では主軸モータ14Sの回転数が変更されるなど、加工条件を変更する場合の変更量と、対応するモータとが異なる。すなわち、サーボモータ、周辺軸モータ、および主軸モータ14Sで、それぞれパラメータが分かれているので、オーバライド量の変更が全てのモータに影響を与えるわけではない。
例えば、消費電力量調整装置30Aは、今回の変更対象がオーバライド量のみである場合、工作機械装置50に属するサーボモータの今回消費電力量P(W)のみを取得して調整を行えばよい。この場合、消費電力量調整装置30Aは、モータ速度N(rev/s)から角速度ω(rad/s)=2π×Nを取得し、Tq(モータトルク)=Jm(モータイナーシャ)×dω/dt(角速度の微分)を取得し、サーボモータの今回消費電力量P(W)を、サーボモータの今回消費電力量P(W)=Tq(モータトルク)×ω(角速度)によって算出する。
また、エネルギーを消費する装置はモータ、ドライブユニットなど様々である。消費電力量調整装置30Aは、例えば、制御盤の発熱を抑制したい場合は制御盤内に取り付けられたドライブユニットの消費電力量の和を用いて調整を行えばよい。また、消費電力量調整装置30Aは、モータの発熱量を抑制したい場合はモータの消費電力量の和を用いればモータの発熱を調整可能となる。また消費電力量調整装置30Aは、通常は、消費電力の代わりに無効電力または皮相電力を用いてもよい。
前述したように、加工条件情報生成部31は、例えば、モータまたはドライブユニットのエネルギー損失の和の前回から今回の増減率を今回加工条件Wに乗じることで加工条件変更量Rを決定する。
実施の形態1にかかる消費電力量調整装置30Aは、数値制御工作機械100Aとネットワークで接続されるコンピュータのソフトウェアとして実装される。なお、消費電力量調整装置30Aは、数値制御工作機械100Aの近傍に設置されるPC(Personal Computer)などのコンピュータであってもよいし、数値制御工作機械100Aが設置された工場内にネットワーク接続されたサーバであってもよいし、遠隔地に設置されたクラウド内に実装されてもよい。また、消費電力量調整装置30Aは、無線ネットワークを介して数値制御工作機械100Aと接続されるタブレットPCやスマートフォンのソフトウェアであってもよい。
このように実施の形態1によれば、消費電力量調整装置30Aが、前回消費電力量Tと、今回消費電力量Pと、今回加工条件Wとに基づいて、次回の消費電力量が今回消費電力量P以下になるように、次回の加工条件を決定しているので、消費電力量の削減を簡易な処理で容易に実現することができる。
実施の形態2.
つぎに、図6および図7を用いて実施の形態2について説明する。実施の形態2では、各モータおよびコンバータ装置16の電流値および電圧値が数値制御装置に送られ、数値制御装置が、各モータおよびコンバータ装置16の電流値および電圧値に基づいて、消費電力の調整を実行する。
図6は、実施の形態2にかかる数値制御工作機械の構成を示すブロック図である。図6の各構成要素のうち図2に示す実施の形態1の数値制御工作機械100Aと同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
実施の形態2の数値制御工作機械100Bは、数値制御工作機械100Aと比較して、数値制御装置40Aの代わりに数値制御装置40Bを備えている。すなわち、数値制御工作機械100Bは、数値制御工作機械100Aと同様の構成を有しているが、数値制御装置40Aを有しておらず、数値制御装置40Bを有している。
また、数値制御工作機械100Bは、電流電圧検出部24,23X,23Y,23Z,23Sを有している。電流電圧検出部24は、メインブレーカ18とコンバータ装置16とを接続する接続線上に配置され、コンバータ装置16に入力される電流値および電圧値を検出する。電流電圧検出部24は、検出した電流値および電圧値を数値制御装置40Bに送る。
電流電圧検出部23X,23Y,23Z,23Sは、インバータ装置とモータとを接続する接続線上に配置され、インバータ装置からモータに入力される電流値および電圧値を検出する。具体的には、電流電圧検出部23Xは、X軸インバータ装置15XとX軸モータ14Xとを接続する接続線上に配置され、X軸インバータ装置15XからX軸モータ14Xに入力される電流値および電圧値を検出する。電流電圧検出部23Yは、Y軸インバータ装置15YとY軸モータ14Yとを接続する接続線上に配置され、Y軸インバータ装置15YからY軸モータ14Yに入力される電流値および電圧値を検出する。電流電圧検出部23Zは、Z軸インバータ装置15ZとZ軸モータ14Zとを接続する接続線上に配置され、Z軸インバータ装置15ZからZ軸モータ14Zに入力される電流値および電圧値を検出する。電流電圧検出部23Sは、主軸インバータ装置15Sと主軸モータ14Sとを接続する接続線上に配置され、主軸インバータ装置15Sから主軸モータ14Sに入力される電流値および電圧値を検出する。電流電圧検出部23X,23Y,23Z,23Sは、検出した電流値および電圧値を数値制御装置40Bに送る。
数値制御装置40Bは、数値制御装置40Aの機能と、消費電力量調整装置30Aの機能とを有している。数値制御工作機械100Bは、主電源51に接続されているが、消費電力量調整装置30Aには接続されていない。すなわち、実施の形態2の数値制御工作システム1Bは、消費電力量調整装置30Aを有していない。
図7は、実施の形態2にかかる数値制御装置の構成を示すブロック図である。数値制御装置40Bは、加工条件情報生成部41と、加工条件記録部42と、消費電力量算出部43と、加工プログラム実行部44と、加工プログラム解析部45とを有している。
加工条件情報生成部41は、加工条件情報生成部31と同様の機能を有している。加工条件記録部42は、加工条件記録部32と同様の機能を有している。消費電力量算出部43は、加工条件情報生成部41および加工条件記録部42に接続されている。加工条件情報生成部41は、加工条件記録部42および加工プログラム実行部44に接続されている。加工プログラム実行部44は、加工プログラム解析部45に接続されている。
加工プログラム解析部45は、数値制御装置40Bの外部に配置されている加工プログラム格納部46に接続されており、加工プログラム格納部46から加工プログラムを読み出す。なお、加工プログラム格納部46は、数値制御装置40Bの内部に配置されていてもよい。
消費電力量算出部43は、電流電圧検出部24,23X,23Y,23Z,23Sから電流値および電圧値を受け付ける。消費電力量算出部43は、受け付けた電流値および電圧値から今回消費電力量Pを算出する。
具体的には、消費電力量算出部43は、電流電圧検出部24から受け付けた電流値および電圧値からコンバータ装置16での消費電力量を算出する。また、消費電力量算出部43は、電流電圧検出部23Xから受け付けた電流値および電圧値からX軸モータ14Xでの消費電力量を算出し、電流電圧検出部23Yから受け付けた電流値および電圧値からY軸モータ14Yでの消費電力量を算出する。また、消費電力量算出部43は、電流電圧検出部23Zから受け付けた電流値および電圧値からZ軸モータ14Zでの消費電力量を算出し、電流電圧検出部23Sから受け付けた電流値および電圧値から主軸モータ14Sでの消費電力量を算出する。
このように、消費電力量算出部43は、モータおよびコンバータ装置16の電流値および電圧値の測定値から今回消費電力量Pを計算する。インバータ装置およびコンバータ装置16では、モータ電流を指令通りに制御するために入出力される電流値および電圧値をインバータ装置およびコンバータ装置16に実装されたセンサを用いて監視し、フィードバック制御を行っている。すなわち、インバータ装置は、入力される電流値および電圧値を、センサを用いて監視し、フィードバック制御を行っている。また、コンバータ装置16は、出力する電流値および電圧値を、センサを用いて監視し、フィードバック制御を行っている。これらのフィードバック制御に用いられる電流値、電圧値などの情報は、数値制御装置40Bに送信され、数値制御装置40Bが、加工プログラム実行時の今回消費電力量Pの計算に用いる。
なお、今回消費電力量Pは、インバータ装置およびコンバータ装置16の内部のマイクロコンピュータを用いて計算されてもよい。また、インバータ装置およびコンバータ装置16の内部のセンサの代わりにクランプメータなどの測定器の情報が直接数値制御装置40Bに送信され、数値制御装置40Bが今回消費電力量Pを算出してもよい。
消費電力量算出部43は、装置毎に算出した各今回消費電力量Pを加工条件記録部42に送る。すなわち、消費電力量算出部43は、コンバータ装置16の今回消費電力量Pと、X軸モータ14Xの今回消費電力量Pと、Y軸モータ14Yの今回消費電力量Pと、Z軸モータ14Zの今回消費電力量Pと、主軸モータ14Sの今回消費電力量Pとを加工条件情報生成部41および加工条件記録部42に送る。
加工条件記録部42は、今回の加工プログラム実行時の今回消費電力量Pと、今回消費電力量Pに対応する今回加工条件Wとを装置毎に記録する。すなわち、加工条件記録部42は、各回の消費電力量と加工条件とを装置毎に記録する。加工条件記録部42が次回の消費電力量および加工条件を新たに記録すると、記録済みであった、今回消費電力量Pおよび今回加工条件Wは、前回消費電力量Tおよび前回加工条件となる。
加工条件情報生成部41は、前回消費電力量Tと今回消費電力量Pとを装置毎に比較し、比較結果に基づいて、次回の加工プログラム実行時の次回加工条件Vを装置毎に生成する。すなわち、加工条件情報生成部41は、次回の加工プログラム実行時の消費電力量(次回消費電力量)が、今回の加工プログラム実行時の今回消費電力量Pよりも下がるように次回加工条件Vを決定する。実施の形態2では、次回の加工に用いる加工条件情報が、次回加工条件Vである。
実施の形態2では、加工条件情報生成部41が、消費電力量にかかわる加工条件として、例えば、PWMキャリア周波数を調整することで、消費電力量を調整する。PWMキャリア周波数は、下げれば下げるほど消費電力量が下がるというわけではなく、消費電力量を最小値にすることができるPWMキャリア周波数が存在する。消費電力量を最適値とするためのPWMキャリア周波数は、加工条件により異なる。
加工条件情報生成部41は、決定した次回加工条件Vを加工プログラム実行部44および加工条件記録部42に送る。加工条件記録部42は、次回加工条件Vを記録しておく。
加工プログラム解析部45は、加工プログラム格納部46から加工プログラムを読み出して、加工プログラムを解析する。加工プログラム解析部45は、解析結果を加工プログラム実行部44に送る。
加工プログラム解析部45が解析した結果得られる解析結果は、例えば、加減速時の消費電力量、加工プログラムを特定期間実行した場合の消費電力量、加工プログラムを1サイクル実行した場合の消費電力量などである。
加工プログラム実行部44は、加工条件情報生成部41から送られてくる次回加工条件V、および加工プログラム解析部45から送られてくる解析結果を用いて加工プログラムを実行する。加工プログラム実行部44は、例えば、加減速時の消費電力量をもとに、装置毎に次回加工条件Vにおける位置指令を算出する。すなわち、加工プログラム実行部44は、加工プログラムを実行することで、各装置への指令Cを出力する。指令Cには、各送り軸の位置指令と主軸への回転指令とが含まれている。具体的には、指令Cには、X軸位置指令と、Y軸位置指令と、Z軸位置指令と、主軸回転指令とが含まれている。
なお、消費電力量の調整を実行する処理部(加工条件情報生成部41、加工条件記録部42、および消費電力量算出部43)は、数値制御装置40B内部のCPU(Central Processing Unit)で実行されるソフトウェアとして実装されてもよいし、ASIC(Application Specific Integrated Circuit、特定用途向け集積回路)、FPGA(Field Programmable Gate Array)などのハードウェアとして実装されてもよい。
このように、実施の形態2では、各モータおよびコンバータ装置16の電流値および電圧値が数値制御装置40Bに入力され、数値制御装置40Bが、消費電力量の調整を実行する。これにより、数値制御装置40Bは、消費電力量調整装置30Aを用いることなく、消費電力量の削減を簡易な処理で容易に実現することが可能となる。
実施の形態3.
つぎに、図8を用いて実施の形態3について説明する。実施の形態3の消費電力量調整装置は、メインブレーカ18の消費電力量を監視するとともに、各モータ、コンバータ装置16、および周辺装置17A,17Bの電流値および電圧値に基づいて消費電力量を算出する。実施の形態3の消費電力量調整装置は、複数種類の電力測定結果(消費電力)に基づいて、消費電力の調整を実行する。
図8は、実施の形態3にかかる消費電力量調整装置を備えた数値制御工作システムの構成を示すブロック図である。図8の各構成要素のうち図2に示す実施の形態1の数値制御工作機械100Aまたは図6に示す実施の形態2の数値制御工作機械100Bと同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
数値制御工作システム1Cは、消費電力量調整装置30Cと、数値制御工作機械100Cとを備えている。数値制御工作機械100Cは、数値制御工作機械100Aが備える構成要素と、電流電圧検出部24,23X,23Y,23Z,23S,25,26とを有している。
電流電圧検出部25は、周辺装置17Aと周辺装置17Bとを接続する接続線上に配置され、周辺装置17Bに入力される電流値および電圧値を検出する。電流電圧検出部25は、検出した電流値および電圧値を消費電力量調整装置30Cに送る。
電流電圧検出部26は、メインブレーカ18と周辺装置17Aとを接続する接続線上に配置され、周辺装置17Aに入力される電流値および電圧値を検出する。電流電圧検出部26は、検出した電流値および電圧値を消費電力量調整装置30Cに送る。
また、実施の形態1と同様に、消費電力検出部19は、数値制御工作機械100Cの消費電力量を検出し、検出した消費電力量を消費電力量調整装置30Cに送る。また、電流電圧検出部23X,23Y,23Z,23Sは、実施の形態2と同様に、インバータ装置からモータに入力される電流値および電圧値を検出し、検出した電流値および電圧値を消費電力量調整装置30Cに送る。
このように、数値制御工作システム1Cでは、メインブレーカ18の消費電力量を監視し、各モータおよびコンバータ装置16の電流値および電圧値と、周辺装置17A,17Bの電流値および電圧値とが消費電力量調整装置30Cに入力される。消費電力量調整装置30Cは、メインブレーカ18の消費電力と、各モータおよびコンバータ装置16の電流値および電圧値と、周辺装置17A,17Bの電流値および電圧値とに基づいて、消費電力量を調整する。
図9は、実施の形態3にかかる消費電力量調整装置の構成を示すブロック図である。消費電力量調整装置30Cは、消費電力量調整装置30Aが備える構成要素と、消費電力量算出部33とを備えている。すなわち、消費電力量調整装置30Cは、加工条件情報生成部31と、加工条件記録部32と、消費電力量算出部33とを備えている。
消費電力量算出部33は、数値制御装置40Bが備える消費電力量算出部43と同様の機能を有している。消費電力量算出部33は、加工条件情報生成部31および加工条件記録部32に接続されている。
消費電力量算出部33は、消費電力量算出部43と同様に、電流電圧検出部24,23X,23Y,23Z,23S,25,26から電流値および電圧値を受け付ける。消費電力量算出部33は、受け付けた電流値および電圧値から消費電力量を算出する。
具体的には、消費電力量算出部33は、電流電圧検出部24から受け付けた電流値および電圧値からコンバータ装置16での消費電力量を算出する。また、消費電力量算出部33は、電流電圧検出部23X,23Y,23Z,23Sから受け付けた電流値および電圧値からX軸モータ14X、Y軸モータ14Y、Z軸モータ14Z、および主軸モータ14Sでの消費電力量を算出する。
また、消費電力量算出部33は、電流電圧検出部25から受け付けた電流値および電圧値から周辺装置17Bでの消費電力量を算出する。また、消費電力量算出部33は、電流電圧検出部26から受け付けた電流値および電圧値から周辺装置17Aでの消費電力量を算出する。
消費電力量算出部33は、算出した消費電力量を加工条件情報生成部31および加工条件記録部32に送る。加工条件情報生成部31および加工条件記録部32は、消費電力量算出部33から、コンバータ装置16、X軸モータ14X、Y軸モータ14Y、Z軸モータ14Z、主軸モータ14S、および周辺装置17A,17Bの消費電力量を受け付ける。
また、加工条件情報生成部31および加工条件記録部32は、消費電力量調整装置30Aと同様に、消費電力検出部19から今回消費電力量Pを受け付け、数値制御装置40Aから今回加工条件Wを受け付ける。加工条件情報生成部31は、今回消費電力量P、前回消費電力量T、および今回加工条件Wに基づいて、加工条件変更量Rを算出し数値制御装置40Aに出力する。実施の形態3では、次回の加工に用いる加工条件情報が、加工条件変更量Rである。
なお、消費電力量は、インバータ装置、コンバータ装置16、および周辺装置17A,17Bの内部のマイクロコンピュータを用いて計算されてもよい。また、インバータ装置、コンバータ装置16、および周辺装置17A,17Bの内部のセンサの代わりにクランプメータなどの測定器の情報が消費電力量調整装置30Cに送信され、消費電力量調整装置30Cが消費電力量を算出してもよい。
消費電力量算出部33は、加工プログラム実行開始時から加工プログラム実行終了時までの、以下の消費電力量(p1)~(p5)の少なくとも1つを、数値制御工作機械100Cの消費電力量として算出する。
(p1)数値制御工作機械100Cで駆動される1つ以上のモータの消費電力量の和
(p2)モータのサーボ制御を行う1つ以上のインバータ装置の消費電力量の和
(p3)インバータ装置に電力を供給する1つ以上のコンバータ装置の消費電力量の和
(p4)1つ以上の周辺装置の消費電力量の和
(p5)数値制御工作機械100Cに電源を入力している主電源51の消費電力量
実施の形態3の加工条件情報生成部31は、消費電力量算出部33が取得した複数の電力測定結果(消費電力量)を使用する場合、数値制御工作機械100Cが備える複数の要素に対して消費電力量を調整してもよい。加工条件情報生成部31は、例えば、数値制御工作機械100Cが駆動する軸毎に消費電力量を調整してもよい。また、加工条件情報生成部31は、数値制御工作機械100Cが駆動する軸毎に消費電力量を調整する方法と、使用条件に応じて周辺装置17A,17Bを制御する方法とを組み合わせて消費電力量を調整してもよい。
数値制御工作機械100Cが駆動する軸毎に消費電力量を調整する場合、加工条件情報生成部31は、数値制御工作機械100Cが駆動する軸毎に、加工時のモータのオーバライド量、加速度時定数、送り速度、主軸回転数、およびPWMキャリア周波数の少なくとも1つを調整することで、各軸の消費電力量を調整する。
なお、数値制御装置40Aが、消費電力量調整装置30Cの機能を有していてもよい。この場合、数値制御装置40Aは、実施の形態2で説明した数値制御装置40Bと同様の機能を有する。
このように実施の形態3の数値制御工作システム1Cは、複数の電力測定結果に基づいて、数値制御工作機械100Cが備える複数の要素を調整するので、複数の要素に対して種々の調整を容易かつ詳細に行うことができる。したがって、数値制御工作システム1Cは、短時間で消費電力量を調整できる。
実施の形態4.
つぎに、図10および図11を用いて実施の形態4について説明する。実施の形態4では、消費電力量調整装置が、加工条件情報生成部として機械学習装置を備えており、機械学習装置が、消費電力量を調整するための加工条件を学習する。なお、実施の形態4では、機械学習装置が数値制御工作システム1Cに適用される場合について説明するが、機械学習装置は数値制御工作システム1A,1Bに適用されてもよい。
図10は、実施の形態4にかかる消費電力量調整装置の構成を示すブロック図である。図10の各構成要素のうち図9に示す実施の形態3の消費電力量調整装置30Cと同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
実施の形態4の消費電力量調整装置30Dは、消費電力量算出部43と、加工条件記録部42と、加工条件情報生成部である機械学習装置60とを備えている。消費電力量算出部43は、電流電圧検出部24,23X,23Y,23Z,23Sなどから送られてくる電流値および電圧値に基づいて算出した今回消費電力量Pを加工条件記録部42に記録させる。また、加工条件記録部42は、今回加工条件Wと今回消費電力量Pとを対応付けして記録する。加工条件記録部42が、新たな今回消費電力量Pを記録すると、記録済みの今回消費電力量Pは、前回消費電力量Tとなる。
機械学習装置60は、今回加工条件Wと、今回消費電力量Pと、前回消費電力量T(図10では図示せず)とを加工条件記録部42から読み出す。また、機械学習装置60へは、加工条件の付加情報である付加加工条件が入力される。
付加加工条件は、学習の精度を高めるために追加される加工条件である。付加加工条件の例は、工作物21の形状、工作物21の材質、工具径、工具材質、工具形状、刃数、1刃あたりの送り量、工具20の回転速度、工作機械装置50の機械構造の情報、工具摩擦の情報、工具使用時間である。工作機械装置50の機械構造の情報は、工作機械装置50の構成を特徴づける情報である。
機械学習装置60は、付加加工条件を受け付ける場合、付加加工条件を今回加工条件Wに含める。この場合、各回の加工条件には、付加加工条件が含まれることとなる。なお、機械学習装置60へは、付加加工条件が入力されなくてもよい。
機械学習装置60が受け付ける、今回加工条件W、今回消費電力量P、および前回消費電力量Tが訓練データセットである。機械学習装置60は、訓練データセットに従って、消費電力と加工条件との関係を学習し、次回加工条件Vを出力する。実施の形態4では、次回の加工に用いる加工条件情報が、次回加工条件Vである。
機械学習装置60は、今回消費電力量Pよりも消費電力量が小さくなる次回加工条件Vを算出して出力する。機械学習装置60は、次回加工条件Vを、数値制御工作機械100Cおよび加工条件記録部42に出力する。
これにより、数値制御工作機械100Cは、次回加工条件Vを用いて次回の加工を実行する。加工条件記録部42は、機械学習装置60から出力される次回加工条件Vを記録する。次回加工条件Vを用いて加工が実行されると、加工条件記録部42が記録していた次回加工条件Vが、今回加工条件Wとなる。また、次回加工条件Vを用いて加工された際の消費電力量が、今回消費電力量Pとなる。
前述したように、機械学習装置60が、付加加工条件を用いて次回加工条件Vを算出する場合、付加加工条件は今回加工条件Wに入れられる。すなわち、今回加工条件Wの条件項目に付加加工条件が含められる。機械学習装置60が、付加加工条件を含んだ今回加工条件Wを用いて次回加工条件Vを算出する場合、次回加工条件Vには、今回加工条件Wに含まれる条件項目と付加加工条件に含まれる条件項目とが含まれることとなる。一方、機械学習装置60が、付加加工条件を含まない今回加工条件Wを用いて次回加工条件Vを算出する場合、次回加工条件Vには、付加加工条件に含まれる条件項目が含まれないこととなる。
図11は、実施の形態4にかかる消費電力量調整装置が備える機械学習装置の構成を示すブロック図である。機械学習装置60は、学習部61と状態観測部64とを有している。状態観測部64は、今回消費電力量Pと、前回消費電力量Tと、今回加工条件Wとを含む訓練データセットを、状態変数として観測する。状態観測部64は、状態変数に基づいて作成される訓練データセットを学習部61に送る。
学習部61は、状態変数に基づいて作成される訓練データセットに従って、消費電力と加工条件との関係を学習する。学習部61は、何れの学習アルゴリズムを用いてもよい。ここでは、学習アルゴリズムに、強化学習(Reinforcement Learning)を適用した場合について説明する。
強化学習は、ある環境内における行動主体であるエージェントが、状態変数で示される現在の状態を観測し、観測結果に基づいて取るべき行動を決定するというものである。エージェントは、行動を選択することで環境から報酬を得て、一連の行動を通じて報酬が最も多く得られるような方策を学習する。強化学習の代表的な手法として、Q学習(Q-Learning)およびTD学習(TD-Learning)などが知られている。例えば、Q学習の場合、行動価値関数Q(s,a)の一般的な更新式である行動価値テーブルは、次の式(1)で表される。行動価値関数Q(s,a)は、環境「s」のもとで行動「a」を選択する行動の価値である行動価値Qを表す。
式(1)において、「s t 」は、時刻「t」における環境を表す。「at」は、時刻「t」における行動を表す。行動「at」によって、環境は「st+1」に変わる。「rt+1」は、その環境の変化によってもらえる報酬を表す。「γ」は、割引率を表す。「α」は、学習係数を表す。Q学習を適用した場合、今回加工条件Wが行動「at」となる。
上記の式(1)により表される更新式は、時刻「t+1」における最良の行動「a」の行動価値が、時刻「t」において実行された行動「a」の行動価値Qよりも大きければ、行動価値Qを大きくし、逆の場合は、行動価値Qを小さくする。換言すれば、時刻「t」における行動「a」の行動価値Qを、時刻「t+1」における最良の行動価値に近づけるように、行動価値関数Q(s,a)を更新する。それにより、ある環境における最良の行動価値が、それ以前の環境における行動価値に順次伝播する。
学習部61は、関数更新部62および報酬計算部63を具備している。報酬計算部63は、状態変数に基づいて報酬を計算する。関数更新部62は、報酬計算部63によって算出される報酬に従って、加工条件(次回加工条件V)を決定するための関数を更新する。
具体的には、報酬計算部63は、今回消費電力量Pおよび前回消費電力量Tに基づいて、報酬「r」を計算する。例えば、加工条件を前回加工条件から今回加工条件Wに変更した結果、今回消費電力量Pが前回消費電力量T以下となった場合、報酬計算部63は、報酬「r」を増大させる。報酬計算部63は、例えば、報酬の値である「1」を与えることによって報酬「r」を増大させる。なお、報酬の値は「1」に限られない。
また、加工条件を前回加工条件から今回加工条件Wに変更した結果、今回消費電力量Pが前回消費電力量Tよりも大きくなった場合、報酬計算部63は、報酬「r」を低減させる。報酬計算部63は、例えば、報酬の値である「-1」を与えることによって報酬「r」を低減させる。なお、報酬の値は「-1」に限られない。
また、加工条件を前回加工条件から今回加工条件Wに変更した結果、今回消費電力量Pと前回消費電力量Tとが同じになった場合、報酬計算部63は、報酬「r」を変化させない。報酬計算部63は、例えば、報酬の値である「0」を与えることによって報酬「r」を変化させない。なお、報酬の値は「0」に限られない。
学習部61は、今回加工条件Wから、次回の消費電力量が今回消費電力量Pよりも低減することができると予測される次回加工条件Vを取得する。
関数更新部62は、報酬計算部63によって計算される報酬に従って、次回加工条件Vを決定するための判定モデルである関数を更新する。関数の更新は、訓練データセットに従って、例えば行動価値テーブルを更新することによって行うことができる。行動価値テーブルは、任意の行動と、その行動価値とを関連付けてテーブルの形式で記憶したデータセットである。例えばQ学習の場合、上記の式により表される行動価値関数Q(st,at)を、次回加工条件Vを決定するための関数として用いる。
ここまで、学習部61が用いる学習アルゴリズムに強化学習を適用する場合について説明したが、学習アルゴリズムには、強化学習以外の学習が適用されても良い。学習部61は、強化学習以外の公知の学習アルゴリズム、例えば、深層学習(Deep Learning)、ニューラルネットワーク、遺伝的プログラミング、帰納論理プログラミングまたはサポートベクターマシンといった学習アルゴリズムを用いて機械学習を実行しても良い。
学習部61は、数値制御工作機械100Cの全ての軸の情報を含めた訓練データセットを構築して、次回加工条件Vを決定するための判定モデルを学習してもよく、数値制御工作機械100Cの軸ごとに訓練データセットを構築して、次回加工条件Vを決定するための軸ごとの判定モデルを学習してもよい。
学習部61は、消費電力量調整装置30Dに内蔵されるものに限られない。学習部61は、消費電力量調整装置30Dの外部の装置により実現されてもよい。この場合、学習部61として機能する装置は、ネットワークを介して消費電力量調整装置30Dに接続可能な装置であってもよい。学習部61として機能する装置は、クラウドサーバ上に存在する装置であってもよい。
機械学習装置60が数値制御工作システム1Aに適用される場合、訓練データセットには、今回加工条件Wの代わりに、今回の加工に適用された加工条件変更量Rが含まれる。また、機械学習装置60は、次回加工条件Vの代わりに次回の加工に適用される加工条件変更量Rを算出して出力する。すなわち、機械学習装置60は、今回の加工に適用された加工条件変更量Rと、今回消費電力量Pと、前回消費電力量Tとに基づいて、加工条件と消費電力との関係を学習し、次回の加工に適用される加工条件変更量Rを算出して出力する。また、機械学習装置60が数値制御工作システム1Bに適用される場合、数値制御装置40Bには、加工条件情報生成部41の代わりに機械学習装置60が配置される。
ここで、消費電力量調整装置30A,30C,30Dおよび数値制御装置40Bのハードウェア構成について説明する。なお、消費電力量調整装置30A,30C,30Dおよび数値制御装置40Bは、同様のハードウェア構成を有しているので、ここでは消費電力量調整装置30Dのハードウェア構成について説明する。
図12は、実施の形態4にかかる消費電力量調整装置を実現するハードウェア構成例を示す図である。消費電力量調整装置30Dは、入力装置300、プロセッサ100、メモリ200、および出力装置400により実現することができる。プロセッサ100の例は、CPU(中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、DSP(Digital Signal Processor)ともいう)またはシステムLSI(Large Scale Integration)である。メモリ200の例は、RAM(Random Access Memory)、ROM(Read Only Memory)である。
消費電力量調整装置30Dは、プロセッサ100が、メモリ200で記憶されている消費電力量調整装置30Dの動作を実行するための、コンピュータで実行可能な処理プログラムを読み出して実行することにより実現される。消費電力量調整装置30Dの動作を実行するための処理プログラムは、消費電力量調整装置30Dの手順または方法をコンピュータに実行させるものであるともいえる。
消費電力量調整装置30Dで実行される処理プログラムは、消費電力量算出部43および機械学習装置60を含むモジュール構成となっており、これらが主記憶装置上にロードされ、これらが主記憶装置上に生成される。
消費電力量調整装置30Dで実行される処理プログラムには、消費電力量を算出する算出プログラム、次回の加工条件を学習する学習プログラムなどが含まれている。
入力装置300は、前回消費電力量T、今回消費電力量P、今回加工条件Wなどを受け付けてプロセッサ100に送る。メモリ200は、加工条件、消費電力量、行動価値関数Q(s,a)、算出プログラム、学習プログラムなどを記憶する。メモリ200は、例えば、消費電力として前回消費電力量T、今回消費電力量Pなどを記憶し、加工条件として今回加工条件Wなどを記憶する。また、メモリ200は、最新の行動価値関数Q(s,a)を記憶する。
算出プログラム、学習プログラム、加工条件、消費電力量、および行動価値関数Q(s,a)は、プロセッサ100によってメモリ200から読み出される。また、メモリ200は、プロセッサ100が各種処理を実行する際の一時メモリに使用される。
出力装置400が実行する処理は、消費電力量調整装置30Dが次回加工条件Vを出力する処理に対応している。
算出プログラムおよび学習プログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータが読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されてもよい。また、算出プログラムおよび学習プログラムは、インターネットなどのネットワーク経由で消費電力量調整装置30Dに提供されてもよい。なお、消費電力量調整装置30Dの機能について、一部を専用回路などの専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。
このように実施の形態4によれば、消費電力量調整装置30Dは、消費電力と加工条件との対応関係を学習することによって、様々な因子が消費電力に影響する状況においても最適な加工条件を決定できる。
以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。