(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
本発明に係る異常診断装置および異常診断方法について、好適な実施の形態を掲げ、添付の図面を参照しながら以下、詳細に説明する。
【0011】
図1は、異常診断システム10の概略構成図である。異常診断システム10は、数値制御装置12、複数のモータ駆動装置14、モータ16、回転速度検出部18、電流検出部20、および、異常診断装置22を備える。
【0012】
なお、本実施の形態では、説明を簡単にするため、モータ駆動装置14の数を2つとし、2つのモータ駆動装置14を用いて、1つのモータ16の回転を制御するものとする。また、2つのモータ駆動装置14を互いに区別するために、一方のモータ駆動装置14を14aで表し、他方のモータ駆動装置14を14bで表す場合がある。
【0013】
モータ16は、同期モータである。モータ16は、2つのモータ駆動装置14(14a、14b)に対応して、U相、V相、W相の三相の巻線(三相巻線)17を2つ有する。モータ駆動装置14aに対応した三相の巻線17を第1巻線(巻線)17aと呼び、モータ駆動装置14bに対応した三相の巻線17を第2巻線(巻線)17bと呼ぶ場合がある。この第1巻線17aおよび第2巻線17bは、モータ16のステータに設けられている。これにより、モータ16の出力(回転力)を大きくすることができる。2つのモータ駆動装置14(14a、14b)と2つの巻線17(17a、17b)とは、三相の導線L(L1、L2)によって接続されている。なお、本実施の形態では、モータ16は、同期モータとしたが、同期モータ以外のモータ(例えば、誘導モータ)であってもよい。
【0014】
数値制御装置12は、モータ16を制御するために、2つのモータ駆動装置14(14a、14b)に速度指令または位置指令を出力する。本実施の形態では、数値制御装置12は、2つのモータ駆動装置14(14a、14b)に速度指令を出力するものとする。以下、速度指令をVecで表す。
【0015】
2つのモータ駆動装置14(14a、14b)は、速度指令Vecに基づいて、モータ16の巻線17(17a、17b)に電圧を印加することで、第1巻線17aおよび第2巻線17bに三相の交流電流を供給する。これにより、モータ16が回転(駆動)する。モータ駆動装置14aは、導線L1を介してモータ16の第1巻線17aに三相の交流電流を供給し、モータ駆動装置14bは、導線L2を介してモータ16の第2巻線17bに三相の交流電流を供給する。
【0016】
回転速度検出部18は、モータ16の回転速度値(回転軸の回転速度値)Vedを検出するセンサである。回転速度検出部18は、エンコーダ等によって構成されている。電流検出部20は、各導線L(L1、L2)に設けられ、2つのモータ駆動装置14(14a、14b)の各々からモータ16に供給される三相の交流電流値Idを検出する。第1巻線17aに流れる三相の交流電流値Id(Id1)を検出する電流検出部20を20aで表し、第2巻線17bに流れる三相の交流電流値Id(Id2)を検出する電流検出部20を20bで表す場合がある。
【0017】
2つのモータ駆動装置14(14a、14b)は、回転速度検出部18が検出した回転速度値Ved、および、電流検出部20(20a、20b)が検出した三相の交流電流値Id(Id1、Id2)を用いて、モータ16をフィーバック制御する。
【0018】
異常診断装置22は、モータ16の駆動が正常であるか異常であるかを診断する。モータ16の駆動が異常の場合としては、例えば、巻線17が短絡(ショート)している状態でモータ16が駆動している場合等がある。例えば、第1巻線17aがショートしていても、第2巻線17bが正常であれば、モータ駆動装置14bによってモータ16は駆動する。しかしながら、第1巻線17aのショートによって第1巻線17aに大電流が流れ、モータ16が焼損してしまう虞がある。
【0019】
異常診断装置22は、速度指令Vecに基づいて2つのモータ駆動装置14(14a、14b)が生成した2つの電圧指令値Vcに基づいて、モータ16の駆動が正常であるか否かを診断する。モータ駆動装置14aで生成された電圧指令値VcをVc1と呼び、モータ駆動装置14bで生成された電圧指令値VcをVc2と呼ぶ場合がある。なお、電圧指令値Vc(Vc1、Vc2)の生成については後で詳しく説明する。
【0020】
図2は、モータ駆動装置14aの構成を示す図である。なお、モータ駆動装置14bは、モータ駆動装置14aと同一の構成を有するので、代表してモータ駆動装置14aについて説明する。モータ駆動装置14aは、トルク指令生成部30、電流指令生成部32、電圧指令生成部34、および、電力供給部36を備える。
【0021】
トルク指令生成部30は、数値制御装置12から指令された速度指令Vecに基づいてトルク指令値Tcを生成(算出)する。トルク指令生成部30は、回転速度検出部18が検出したフィードバック値である回転速度値Vedを用いて、トルク指令値Tcを生成する。具体的には、トルク指令生成部30は、速度指令Vecと回転速度値Vedとの差に基づいて、トルク指令値Tcを算出する。トルク指令生成部30は、生成(算出)したトルク指令値Tcを電流指令生成部32に出力する。
【0022】
電流指令生成部32は、トルク指令生成部30から送られてきたトルク指令値Tcに基づいて、電流指令値Icを生成(算出)する。電流指令生成部32は、生成(算出)した電流指令値Icを電圧指令生成部34に出力する。
【0023】
電圧指令生成部34は、電流指令生成部32から送られてきた電流指令値Icに基づいて、電圧指令値Vc1を生成(算出)する。電圧指令生成部34は、電流検出部20aが検出したフィードバック値である三相の交流電流値(U相、V相、W相の各相の交流電流値)Id1を用いて、電圧指令値Vc1を生成する。
【0024】
具体的には、電圧指令生成部34は、電流検出部20aが検出した三相の交流電流値Id1が、電流指令値Icに応じた三相の交流電流となるように、電圧指令値Vc1を生成する。このため、例えば、第1巻線17aがショートし、第2巻線17bが正常の場合は、第1巻線17aに大電流が流れるため、モータ駆動装置14aで生成される電圧指令値Vc1は、モータ駆動装置14bで生成される電圧指令値Vc2に対して第1閾値TH1以上乖離した値となる。電圧指令生成部34は、生成(算出)した電圧指令値Vc1を電力供給部36に出力するとともに、異常診断装置22にも出力する。
【0025】
電力供給部36は、モータ16を駆動するためのドライバであり、例えば、電源から供給された電流を三相の交流電流に変換するインバータ回路等を含む。電力供給部36は、電圧指令値Vc1に基づいてモータ16の第1巻線17aに電圧を印加することで、第1巻線17aに三相の交流電流を供給する。これにより、モータ16は駆動する。
【0026】
なお、モータ駆動装置14bの場合は、電圧指令生成部34は、電流検出部20bが検出したフィードバック値である三相の交流電流値(U相、V相、W相の各相の交流電流値)Id2を用いて、電圧指令値Vc2を生成する。また、電力供給部36は、電圧指令値Vc2に基づいて、モータ16の第2巻線17bに三相の交流電流を供給する。
【0027】
図3は、異常診断装置22の構成を示す図である。異常診断装置22は、CPU等のプロセッサと記憶媒体とを有するコンピュータによって構成される。異常診断装置22は、指令値差算出部40、回転速度取得部42、判定部44、報知部46、および、駆動停止部48を備える。
【0028】
指令値差算出部40は、2つのモータ駆動装置14(14a、14b)が算出した2つの電圧指令値Vc(Vc1、Vc2)間の差Vdを算出する。差Vdは、Vd=Vc1−Vc2、または、Vd=Vc2−Vc1、の関係式によって算出される。指令値差算出部40は、算出した差Vdを判定部44に出力する。
【0029】
回転速度取得部42は、回転速度検出部18が検出したモータ16の回転速度値Vedを取得する。回転速度取得部42は、取得した回転速度値Vedを判定部44に出力する。
【0030】
判定部44は、時刻を計時するクロック回路を含む。クロック回路が所定の周期でカウント値Cをインクリメントすることで、時刻を計時することができる。判定部44は、所定時間継続して、回転速度検出部18が検出した回転速度値Vedの絶対値が所定値SVを超え(|Ved|>SV)、且つ、指令値差算出部40が算出した差Vdの絶対値が第1閾値TH1を超えている(|Vd|>TH1)場合に、異常であると判定する。
【0031】
回転速度値Vedの絶対値が所定値SVを超えているか否かを判断する理由としては、電圧指令値Vcが小さい場合は、モータ16の回転速度が小さくなり、異常判定を正しく行うことができない可能性があるからである。
【0032】
また、差Vdの絶対値が第1閾値TH1を超えているか否かを判断する理由としては、上述したように、例えば、第1巻線17aがショートし、第2巻線17bが正常な状態では、電圧指令値Vc1と電圧指令値Vc2とは、第1閾値TH1以上乖離するからである。
【0033】
回転速度値Vedの絶対値が所定値SVを超え、且つ、差Vdの絶対値が第1閾値TH1を超えている状態で、所定時間が経過したかを判断する理由としては、異常の誤判定を防止するためである。
【0034】
報知部46および駆動停止部48は、判定部44によってモータ16の駆動が異常であると判定されると、アラーム処理を行う。
【0035】
報知部46は、モータ16の駆動が異常であると判定されると、アラーム処理としてアラームをオペレータに報知する。報知部46は、図示しない表示部を備え、表示部にアラームを表示することで報知してもよい。また、報知部46は、図示しないスピーカまたは発光部を備え、音によってアラームを報知してもよいし、光によってアラームを報知してもよい。また、報知部46は、数値制御装置12の表示部にアラームを表示させてもよい。また、報知部46は、外部に設けられたスピーカを用いてアラームを報知してもよいし、外部に設けられた発光部を発光させることでアラームを報知してもよい。
【0036】
駆動停止部48は、モータ16の駆動が異常であると判定されると、アラーム処理として、2つのモータ駆動装置14(14a、14b)によるモータ16の駆動を停止させる。駆動停止部48は、モータ16の駆動が異常であると判定されると、緊急停止信号を2つのモータ駆動装置14(14a、14b)に出力することで、モータ16の駆動を停止させる。2つのモータ駆動装置14(14a、14b)は、緊急停止信号が送られてくると、モータ16への電力供給を停止させる。例えば、電圧指令生成部34が、電圧指令値Vc(Vc1、Vc2)の電力供給部36への出力を禁止することで、モータ16への電力供給を停止させてよい。
【0037】
なお、本実施の形態では、モータ16の駆動が異常であると判定されると、アラームの報知およびモータ16の駆動停止の両方を行うようにしたが、いずれか一方のみをアラーム処理として行ってもよい。
【0038】
次に、異常診断装置22の動作を
図4に示すフローチャートにしたがって説明する。
図4に示す動作は、所定の周期で実行される。また、回転速度検出部18および電流検出部20(20a、20b)は、前記所定の周期以下の周期で回転速度値Vedおよび交流電流値Id(Id1、Id2)を検出するものとする。したがって、電圧指令生成部34は、前記所定の周期以下の周期で電圧指令値Vc(Vc1、Vc2)を生成し、指令値差算出部40は、前記所定の周期以下の周期で差Vdを算出する。
【0039】
ステップS1で、判定部44は、回転速度取得部42が取得した回転速度値Vedの絶対値が所定値SVより大きいか否かを判断する(|Ved|>SV?)。
【0040】
ステップS1で、回転速度値Vedの絶対値が所定値SV以下であると判断されるとステップS2に進む。一方、ステップS1で、回転速度値Vedの絶対値が所定値SVより大きいと判断されるとステップS3に進む。
【0041】
ステップS2に進むと、判定部44は、カウント値Cをリセットし(C=0、にし)、本動作を終了する。
【0042】
ステップS3に進むと、判定部44は、指令値差算出部40が算出した電圧指令値Vc(Vc1、Vc2)間の差Vdの絶対値が第1閾値TH1より大きいか否かを判断する(|Vc1−Vc2|>TH1?)。
【0043】
ステップS3で、差Vdの絶対値が第1閾値TH1以下であると判断されると、ステップS2に進む。一方、ステップS3で、差Vdの絶対値が第1閾値TH1より大きいと判断されると、ステップS4に進む。
【0044】
ステップS4に進むと、判定部44は、カウント値Cをインクリメントする(C=C+1)。
【0045】
次いで、ステップS5で、判定部44は、現在のカウント値Cが所定値C1より大きいか否かを判断する。つまり、ステップS5では、「ステップS1でYES」および「ステップS3でYES」の状態で、所定時間が経過したか否かを判断している。
【0046】
ステップS5で、現在のカウント値Cが所定値C1以下であると判断されると、本動作を終了し、現在のカウント値Cが所定値C1より大きいと判断されると、判定部44は、モータ16の駆動が異常と判定し、ステップS6に進む。
【0047】
ステップS6に進むと、アラーム処理を行う。具体的には、報知部46がオペレータにアラームを報知するとともに、駆動停止部48が2つのモータ駆動装置14(14a、14b)によるモータ16の駆動を停止させる。
【0048】
このように、異常診断装置22は、回転速度値Vedと、2つのモータ駆動装置14(14a、14b)で生成された電圧指令値Vc(Vc1、Vc2)とを用いて、モータ16の駆動が異常か否かを判定するので、簡易な構成で、2つのモータ駆動装置14(14a、14b)によって駆動される1つのモータ16の駆動異常を診断することができる。
【0049】
[変形例]
上記実施の形態は、以下のようは変形にしてもよい。
【0050】
<変形例1>
図5は、変形例1における異常診断装置22Aの構成を示す図である。なお、上記実施の形態と同一の構成については、同一の符号を付し、その説明を省略する。
【0051】
異常診断装置22Aは、指令値差算出部40、判定部44A、報知部46、および、駆動停止部48を備える。また、電圧指令値Vc(Vc1、Vc2)は、指令値差算出部40および判定部44Aに入力される。
【0052】
判定部44Aは、上記実施の形態で説明した時刻を計時するクロック回路を含む。判定部44Aは、所定時間継続して、2つの電圧指令値Vc(Vc1、Vc2)のうち少なくとも1つの絶対値が第2閾値TH2を超え(|Vc1|>TH2、または、|Vc2|>TH2)、且つ、指令値差算出部40が算出した差Vdの絶対値が第1閾値TH1を超えている(|Vd|>TH1)場合に、異常であると判定する。
【0053】
2つの電圧指令値Vc(Vc1、Vc2)のうち少なくとも1つの絶対値が第2閾値TH2を超えているか否かを判断する理由としては、電圧指令値Vcが小さい場合は、モータ16の回転速度が小さくなり、異常判定を正しく行うことができない可能性があるからである。
【0054】
差Vdの絶対値が第1閾値TH1を超えているか否かを判断する理由は、上記実施の形態と同一である。また、2つの電圧指令値Vc(Vc1、Vc2)のうち少なくとも1つの絶対値が第2閾値TH2を超え、且つ、差Vdの絶対値が第1閾値TH1を超えている状態で、所定時間が経過したかを判断する理由としては、異常の誤判定を防止するためである。
【0055】
次に、異常診断装置22Aの動作を
図6に示すフローチャートにしたがって説明する。本変形例1でも、
図6に示す動作は、所定の周期で実行される。また、回転速度検出部18および電流検出部20(20a、20b)は、前記所定の周期以下の周期で回転速度値Vedおよび交流電流値Id(Id1、Id2)を検出するものとする。したがって、電圧指令生成部34は、前記所定の周期以下の周期で電圧指令値Vc(Vc1、Vc2)を生成し、指令値差算出部40は、前記所定の周期以下の周期で差Vdを算出する。
【0056】
ステップS11で、判定部44Aは、電圧指令値Vc1の絶対値が第2閾値TH2より大きい、または、電圧指令値Vc2の絶対値が第2閾値TH2より大きいか否かを判断する(|Vc1|>TH2?、または、|Vc2|>TH2?)。つまり、ステップS11では、電圧指令値Vc1、Vc2の少なくとも1つの絶対値が第2閾値TH2より大きいか否かを判断している。
【0057】
ステップS11で、電圧指令値Vc1、Vc2の絶対値がともに第2閾値TH2以下であると判断されるとステップS12に進む。一方、ステップS11で、電圧指令値Vc1、Vc2の少なくとも1つの絶対値が第2閾値TH2より大きいと判断されるとステップS13に進む。
【0058】
ステップS12に進むと、判定部44Aは、カウント値Cをリセットし(C=0、にし)、本動作を終了する。
【0059】
ステップS13に進むと、判定部44Aは、指令値差算出部40が算出した電圧指令値Vc(Vc1、Vc2)間の差Vdの絶対値が第1閾値TH1より大きいか否かを判断する(|Vc1−Vc2|>TH1?)。
【0060】
ステップS13で、差Vdの絶対値が第1閾値TH1以下であると判断されると、ステップS12に進む。一方、ステップS13で、差Vdの絶対値が第1閾値TH1より大きいと判断されると、ステップS14に進む。
【0061】
ステップS14に進むと、判定部44Aは、カウント値Cをインクリメントする(C=C+1)。
【0062】
次いで、ステップS15で、判定部44Aは、現在のカウント値Cが所定値C1より大きいか否かを判断する。つまり、ステップS15では、「ステップS11でYES」および「ステップS13でYES」の状態で、所定時間が経過したか否かを判断している。
【0063】
ステップS15で、現在のカウント値Cが所定値C1以下であると判断されると、本動作を終了し、現在のカウント値Cが所定値C1より大きいと判断されると、判定部44Aは、モータ16の駆動が異常と判定し、ステップS16に進む。
【0064】
ステップS16に進むと、アラーム処理を行う。具体的には、報知部46がオペレータにアラームを報知するとともに、駆動停止部48が2つのモータ駆動装置14(14a、14b)によるモータ16の駆動を停止させる。
【0065】
このように、異常診断装置22Aは、2つのモータ駆動装置14(14a、14b)で生成された電圧指令値Vc(Vc1、Vc2)を用いて、モータ16の駆動が異常か否かを判定するので、簡易な構成で、2つのモータ駆動装置14(14a、14b)によって駆動される1つのモータ16の駆動異常を診断することができる。
【0066】
<変形例2>
上記実施の形態および変形例1では、数値制御装置12、モータ駆動装置14とは別個に異常診断装置22(22A)を設けたが、異常診断装置22(22A)は、数値制御装置12であってもよい。つまり、数値制御装置12に異常診断装置22(22A)を設けてもよい。これにより、異常診断装置22(22A)を別途設ける必要がなく、コストが低廉となる。
【0067】
また、異常診断装置22(22A)は、モータ駆動装置14であってもよい。つまり、モータ駆動装置14に異常診断装置22(22A)を設けてもよい。この場合は、複数のモータ駆動装置14の少なくとも1つに異常診断装置22(22A)を設けてもよく、複数のモータ駆動装置14の全てに異常診断装置22(22A)を設けてもよい。これにより、異常診断装置22(22A)を別途設ける必要がなく、コストが低廉となるとともに、異常診断を迅速に行うことができる。
【0068】
<変形例3>
判定部44(44A)は、単に、所定時間継続して、差Vdの絶対値が第1閾値TH1を超えている場合に、異常であると判定してもよい。この場合は、
図4のステップS1の動作、または、
図6のステップS11の動作は不要となり、最初にステップS3、または、ステップS13の動作を行うことになる。
【0069】
<変形例4>
図4のフローチャートでは、「ステップS1でYES」および「ステップS3でYES」の状態で所定時間が経過した場合に、ステップS6に進むようにしたが、ステップS1でYESになり、ステップS3でYESになった時点で、ステップS6に進んでもよい。同様に、
図6のフローチャートでは、「ステップS11でYES」および「ステップS13でYES」の状態で所定時間が経過した場合に、ステップS16に進むようにしたが、ステップS11でYESになり、ステップS13でYESになった時点で、ステップS16に進んでもよい。
【0070】
<変形例5>
上記実施の形態および変形例1〜4では、数値制御装置12は、2つのモータ駆動装置14(14a、14b)に速度指令Vecを出力するようにしたが、いずれか1つのモータ駆動装置14にのみ速度指令Vecを出力してもよい。なお、変形例5の説明では、速度指令Vecが入力されたモータ駆動装置14を14aとし、速度指令Vecが入力されていないモータ駆動装置14を14bとする。
【0071】
そして、モータ駆動装置14aは、速度指令Vecに基づいて生成したトルク指令値Tc、または、トルク指令値Tcに基づいて生成した電流指令値Icをモータ駆動装置14bに出力する。モータ駆動装置14bにトルク指令値Tcが入力される場合は、モータ駆動装置14bの電流指令生成部32は、入力されたトルク指令値Tcに基づいて電流指令値Icを生成する。また、モータ駆動装置14bに電流指令値Icが入力される場合は、モータ駆動装置14bの電圧指令生成部34は、入力された電流指令値Icとフィードバック値である交流電流値Id2とに基づいて、電圧指令値Vc2を生成する。
【0072】
〔実施の形態から得られる技術的思想〕
上記実施の形態および変形例1〜5から把握しうる技術的思想について、以下に記載する。
【0073】
異常診断装置(22、22A)は、複数のモータ駆動装置(14)によって駆動される1つのモータ(16)の駆動異常を診断する。複数のモータ駆動装置(14)は、数値制御装置(12)から指令される位置指令または速度指令に基づいて複数の電圧指令値(Vc)を算出し、算出した複数の電圧指令値(Vc)に基づいて、モータ(16)が有する複数の巻線(17)に電圧を印加することで、モータ(16)を駆動する。異常診断装置(22、22A)は、複数のモータ駆動装置(14)が算出した前記複数の電圧指令値(Vc)間の差(Vd)を算出する指令値差算出部(40)と、所定時間継続して、指令値差算出部(40)によって算出された差(Vd)の絶対値が第1閾値(TH1)を超えている場合は、異常であると判定する判定部(44、44A)と、を備える。
【0074】
これにより、簡易な構成で、複数のモータ駆動装置(14)によって駆動される1つのモータ(16)の駆動異常(例えば、巻線(17)のショート等による駆動異常)を診断することができる。
【0075】
異常診断装置(22)は、モータ(16)の回転速度値(Ved)を取得する回転速度取得部(42)を備えてもよい。判定部(44)は、所定時間継続して、回転速度値(Ved)の絶対値が所定値(SV)を超え、且つ、差(Vd)の絶対値が第1閾値(TH1)を超えている場合に、異常であると判定してもよい。これにより、簡易な構成で、複数のモータ駆動装置(14)によって駆動される1つのモータ(16)の駆動異常を診断することができる。また、モータ(16)が回転していない場合等は異常診断を行わないので、無駄に異常診断を行うことを防止することができる。
【0076】
判定部(44A)は、所定時間継続して、複数の電圧指令値(Vc)のうち少なくとも1つの絶対値が第2閾値(TH2)を超え、且つ、差(Vd)の絶対値が第1閾値(TH1)を超えている場合に、異常であると判定してもよい。これにより、簡易な構成で、複数のモータ駆動装置(14)によって駆動される1つのモータ(16)の駆動異常を診断することができる。また、モータ(16)を駆動していない場合等は異常診断を行わないので、無駄に異常診断を行うことを防止することができる。
【0077】
異常診断装置(22、22A)は、判定部(44、44A)によって異常と判定されると、アラームを報知する報知部(46)を備えてもよい。これにより、モータ(16)の駆動異常をオペレータは認識することができる。
【0078】
異常診断装置(22、22A)は、判定部(44、44A)によって異常と判定されると、複数のモータ駆動装置(14)によるモータ(16)の駆動を停止させる駆動停止部(48)を備えてもよい。これにより、モータ(16)の駆動異常によってモータ(16)が壊れてしまうことを防止することができる。
【0079】
異常診断装置(22、22A)は、モータ駆動装置(14)に設けられていてもよい。これにより、異常診断装置(22、22A)を別途設ける必要がなく、コストが低廉になるとともに、迅速に異常診断を行うことができる。
【解決手段】異常診断装置(22)は、複数のモータ駆動装置(14)によって駆動される1つのモータ(16)の駆動異常を診断する。複数のモータ駆動装置(14)は、速度指令に基づいて複数の電圧指令値(Vc)を算出し、算出した複数の電圧指令値(Vc)に基づいて、モータ(16)が有する複数の巻線(17)に電圧を印加することで、モータ(16)を駆動する。異常診断装置(22)は、複数のモータ駆動装置(14)が算出した複数の電圧指令値(Vc)間の差(Vd)を算出する指令値差算出部(40)と、所定時間継続して、指令値差算出部(40)によって算出された差(Vd)の絶対値が第1閾値(TH1)を超えている場合は、異常であると判定する判定部(44)と、を備える。