(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】2019144809
(43)【公開日】20190829
(54)【発明の名称】サーボ制御装置
(51)【国際特許分類】
   G05B 19/4062 20060101AFI20190802BHJP
【FI】
   !G05B19/4062
【審査請求】有
【請求項の数】9
【出願形態】OL
【全頁数】10
(21)【出願番号】2018027921
(22)【出願日】20180220
(71)【出願人】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
【住所又は居所】山梨県南都留郡忍野村忍草字古馬場3580番地
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【弁理士】
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【弁理士】
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】於保 勇作
【住所又は居所】山梨県南都留郡忍野村忍草字古馬場3580番地 ファナック株式会社内
【テーマコード(参考)】
3C269
【Fターム(参考)】
3C269AB01
3C269BB12
3C269GG01
3C269MN13
3C269MN29
3C269PP03
(57)【要約】
【課題】モータの負荷状態によらず、機械の異常を検出することができるサーボ制御装置を提供する。
【解決手段】サーボ制御装置1は、機械におけるモータ3を位置指令に基づいて制御するサーボ制御部10と、モータ3の位置を検出する位置検出部20と、位置指令とモータ3の位置との位置偏差を計算する位置偏差計算部22と、位置偏差が第1閾値以上であるときにモータ3の位置の異常を検出する位置異常検出部24と、モータ3の負荷トルクを検出する負荷検出部30と、負荷トルクが第2閾値以上であるときにモータ3の負荷の異常を検出する負荷異常検出部32と、位置の異常が検出されたとき又は負荷の異常が検出されたときに機械の異常を検出する異常検出部50と、モータの負荷状態に応じて第1閾値及び第2閾値のうちの少なくとも一方を変更する閾値変更部40とを備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
機械におけるモータを、位置指令に基づいて制御するサーボ制御部と、
前記モータの位置を検出する位置検出部と、
前記位置指令と前記位置検出部で検出された前記モータの位置との位置偏差を計算する位置偏差計算部と、
前記位置偏差計算部で計算された位置偏差が第1閾値以上であるときに、前記モータの位置の異常を検出する位置異常検出部と、
前記モータの負荷トルクを検出する負荷検出部と、
前記負荷検出部で検出された負荷トルクが第2閾値以上であるときに、前記モータの負荷の異常を検出する負荷異常検出部と、
前記位置異常検出部で前記モータの位置の異常が検出されたとき、又は、前記負荷異常検出部で前記モータの負荷の異常が検出されたときに、前記機械の異常を検出する異常検出部と、
前記モータの負荷状態に応じて、前記第1閾値及び前記第2閾値のうちの少なくとも一方を変更する閾値変更部と、
を備える、サーボ制御装置。
【請求項2】
前記閾値変更部は、前記モータの負荷状態が重負荷状態である場合、前記モータの負荷状態が無負荷状態又は軽負荷状態である場合に対して相対的に、少なくとも前記第2閾値を大きくする、請求項1に記載のサーボ制御装置。
【請求項3】
前記閾値変更部は、上位制御装置から前記モータの動作プログラムを取得し、前記動作プログラムが示す情報に基づいて前記モータの負荷状態を推定する、請求項1又は2に記載のサーボ制御装置。
【請求項4】
前記位置異常検出部は、前記モータの位置の異常を検出したときに、前記位置偏差の大きさに応じた位置の異常度を出力し、
前記負荷異常検出部は、前記モータの負荷の異常を検出したときに、前記負荷トルクの大きさに応じた負荷の異常度を出力し、
前記異常検出部は、前記位置異常検出部から出力された位置の異常度と前記負荷異常検出部から出力された負荷の異常度とに基づいて、前記機械の異常を検出する、
請求項1〜3の何れか1項に記載のサーボ制御装置。
【請求項5】
前記閾値変更部は、前記モータの負荷状態に応じて、前記位置の異常度と前記負荷の異常度とのいずれか一方の出力を無効にするように、前記位置異常検出部又は前記負荷異常検出部を制御する、請求項4に記載のサーボ制御装置。
【請求項6】
前記閾値変更部は、
前記モータの負荷状態が重負荷状態である場合、前記負荷の異常度の出力を無効にするように、前記負荷異常検出部を制御し、
前記モータの負荷状態が無負荷状態又は軽負荷状態である場合、前記位置の異常度を無効にするように、前記位置異常検出部を制御する、
請求項5に記載のサーボ制御装置。
【請求項7】
前記異常検出部は、前記位置の異常度と前記負荷の異常度との総和が第3閾値以上であるときに、前記モータの動作停止を通知する、請求項4〜6の何れか1項に記載のサーボ制御装置。
【請求項8】
前記位置の異常度は、前記位置偏差と前記第1閾値との差分であり、
前記負荷の異常度は、前記負荷トルクと前記第2閾値との差分である、
請求項4〜7の何れか1項に記載のサーボ制御装置。
【請求項9】
前記位置偏差計算部は、前記位置指令に対して前記サーボ制御部の遅れを考慮して前記モータの推定位置を推定し、前記推定位置と前記位置検出部で検出された前記モータの位置との偏差を前記位置偏差として計算する、請求項1〜8の何れか1項に記載のサーボ制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、工作機械又は産業機械等におけるモータを制御するサーボ制御装置に関する。
【背景技術】
【0002】
工作機械又は産業機械等において、例えば可動部が障害物(例えば、ツール又はワーク、或いはその他の物)に衝突し、可動部を駆動するモータに過負荷がかかるような異常が発生することがある。
特許文献1〜3には、工作機械又は産業機械等において、モータにかかる負荷トルクに基づいて機械の異常を検出する技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平1−33605号公報(特開昭64−33605号公報)
【特許文献2】特開2001−150287号公報
【特許文献3】特開2002−175104号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
例えば切削加工を行う工作機械において、特許文献1に記載の技術のようにモータにかかる負荷トルクに基づいて機械の異常を検出する場合、加工中では衝突による異常と切削外乱とを区別できず、機械の異常を検出することが困難であることがある。
【0005】
本発明は、モータの負荷状態によらず、機械の異常を検出することができるサーボ制御装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
(1) 本発明に係るサーボ制御装置(例えば、後述のサーボ制御装置1)は、機械におけるモータ(例えば、後述のモータ3)を、位置指令に基づいて制御するサーボ制御部(例えば、後述のサーボ制御部10)と、前記モータの位置を検出する位置検出部(例えば、後述の位置検出部20)と、前記位置指令と前記位置検出部で検出された前記モータの位置との位置偏差を計算する位置偏差計算部(例えば、後述の位置偏差計算部22)と、前記位置偏差計算部で計算された位置偏差が第1閾値以上であるときに、前記モータの位置の異常を検出する位置異常検出部(例えば、後述の位置異常検出部24)と、前記モータの負荷トルクを検出する負荷検出部(例えば、後述の負荷検出部30)と、前記負荷検出部で検出された負荷トルクが第2閾値以上であるときに、前記モータの負荷の異常を検出する負荷異常検出部(例えば、後述の負荷異常検出部32)と、前記位置異常検出部で前記モータの位置の異常が検出されたとき、又は、前記負荷異常検出部で前記モータの負荷の異常が検出されたときに、前記機械の異常を検出する異常検出部(例えば、後述の異常検出部50)と、前記モータの負荷状態に応じて、前記第1閾値及び前記第2閾値のうちの少なくとも一方を変更する閾値変更部(例えば、後述の閾値変更部40)とを備える。
【0007】
(2) (1)に記載のサーボ制御装置において、前記閾値変更部は、前記モータの負荷状態が重負荷状態である場合、前記モータの負荷状態が無負荷状態又は軽負荷状態である場合に対して相対的に、少なくとも前記第2閾値を大きくしてもよい。
【0008】
(3) (1)又は(2)に記載のサーボ制御装置において、前記閾値変更部は、上位制御装置から前記モータの動作プログラムを取得し、前記動作プログラムが示す情報に基づいて前記モータの負荷状態を推定してもよい。
【0009】
(4) (1)から(3)のいずれかに記載のサーボ制御装置において、前記位置異常検出部は、前記モータの位置の異常を検出したときに、前記位置偏差の大きさに応じた位置の異常度を出力してもよいし、前記負荷異常検出部は、前記モータの負荷の異常を検出したときに、前記負荷トルクの大きさに応じた負荷の異常度を出力してもよいし、前記異常検出部は、前記位置異常検出部から出力された位置の異常度と前記負荷異常検出部から出力された負荷の異常度とに基づいて、前記機械の異常を検出してもよい。
【0010】
(5) (4)に記載のサーボ制御装置において、前記閾値変更部は、前記モータの負荷状態に応じて、前記位置の異常度と前記負荷の異常度とのいずれか一方の出力を無効にするように、前記位置異常検出部又は前記負荷異常検出部を制御してもよい。
【0011】
(6) (5)に記載のサーボ制御装置において、前記閾値変更部は、前記モータの負荷状態が重負荷状態である場合、前記負荷の異常度の出力を無効にするように、前記負荷異常検出部を制御してもよいし、前記モータの負荷状態が無負荷状態又は軽負荷状態である場合、前記位置の異常度を無効にするように、前記位置異常検出部を制御してもよい。
【0012】
(7) (4)から(6)のいずれかに記載のサーボ制御装置において、前記異常検出部は、前記位置の異常度と前記負荷の異常度との総和が第3閾値以上であるときに、前記モータの動作停止を通知してもよい。
【0013】
(8) (4)から(7)のいずれかに記載のサーボ制御装置において、前記位置の異常度は、前記位置偏差と前記第1閾値との差分であってもよいし、前記負荷の異常度は、前記負荷トルクと前記第2閾値との差分であってもよい。
【0014】
(9) (1)から(8)のいずれかに記載のサーボ制御装置において、前記位置偏差計算部は、前記位置指令に対して前記サーボ制御部の遅れを考慮して前記モータの推定位置を推定し、前記推定位置と前記位置検出部で検出された前記モータの位置との偏差を前記位置偏差として計算してもよい。
【発明の効果】
【0015】
本発明によれば、モータの負荷状態によらず、機械の異常を検出することができるサーボ制御装置を提供することができる。
【図面の簡単な説明】
【0016】
【図1】本実施形態に係るサーボ制御装置の構成を示す図である。
【図2】加工状態が位置決め状態又は軽切削状態である場合の、本実施形態に係るサーボ制御装置による異常検出動作を示す模式図である。
【図3】加工状態が重切削状態である場合の、本実施形態に係るサーボ制御装置による異常検出動作を示す模式図である。
【図4】加工状態が位置決め状態又は軽切削状態である場合の、本実施形態の変形例に係るサーボ制御装置による異常検出動作を示す模式図である。
【図5】加工状態が重切削状態である場合の、本実施形態の変形例に係るサーボ制御装置による異常検出動作を示す模式図である。
【発明を実施するための形態】
【0017】
以下、添付の図面を参照して本発明の実施形態の一例について説明する。なお、各図面において同一又は相当の部分に対しては同一の符号を附すこととする。
【0018】
図1は、本実施形態に係るサーボ制御装置の構成を示す図である。図1に示すサーボ制御装置1は、例えば切削加工を行う工作機械における可動部を駆動する送り軸制御用のモータ3を制御する装置である。サーボ制御装置1は、上位制御装置である数値制御装置2における加工プログラムに基づく位置指令に従って、モータ3を制御する。
サーボ制御装置1は、サーボ制御部10と、位置検出部20と、位置偏差計算部22と、位置異常検出部24と、負荷検出部30と、負荷異常検出部32と、閾値変更部40と、異常検出部50とを備える。
【0019】
サーボ制御部10は、数値制御装置2からの位置指令に基づいて、例えばPI制御等を利用した位置制御、速度制御及び電流制御を行うことにより、モータ3の駆動電流を生成する。例えば、サーボ制御部10は、位置指令と、例えばモータ3に設けられたエンコーダで検出された位置フィードバック(位置FB)との位置偏差に基づいて速度指令を生成し(位置制御)、この速度指令とエンコーダで検出された速度フィードバック(速度FB)とに基づいてモータ3のトルク指令を生成し(速度制御)、このトルク指令に基づいてモータ3の駆動電流を生成する(電流制御)。
【0020】
位置検出部20は、モータ3の回転位置を検出する。モータ3の回転位置は、工作機械の可動部の位置に対応する。検出された位置は位置フィードバック(位置FB)として利用される。
位置検出部20は、例えばモータ3に設けられたエンコーダである。エンコーダは、モータ3の回転速度をも検出する。モータ3の回転速度は、工作機械の可動部の送り速度に対応する。検出された速度は上述した速度フィードバック(速度FB)として利用される。
【0021】
位置偏差計算部22は、数値制御装置2からの位置指令と位置検出部20で検出された位置フィードバックとの位置偏差を計算する。
【0022】
位置異常検出部24は、位置偏差計算部22で計算された位置偏差と、モータ3の位置の異常を検出するための第1閾値とを比較し、モータ3の位置の異常を検出する。位置異常検出部24は、位置偏差が第1閾値以上であるときに、位置偏差の大きさに応じた位置の異常度を出力する。
例えば、位置の異常度は、位置偏差と第1閾値との差分である(図3参照)。なお、位置の異常度は、位置偏差そのものであってもよい。
【0023】
負荷検出部30は、モータ3にかかる負荷トルクを検出する。
負荷検出部30は、例えばモータ3の電流フィードバックを得るサーボアンプである。
【0024】
負荷異常検出部32は、負荷検出部30で検出された負荷トルクと、モータ3の負荷の異常を検出するための第2閾値とを比較し、モータ3の負荷の異常を検出する。負荷異常検出部32は、負荷トルクが第2閾値以上であるときに、負荷トルクの大きさに応じた負荷の異常度を出力する。
例えば、負荷の異常度は、負荷トルクと第2閾値との差分である(図2参照)。なお、負荷の異常度は、負荷トルクそのものであってもよい。
【0025】
閾値変更部40は、数値制御装置2から加工プログラム(モータ3の動作プログラム)を取得し、加工プログラムが示す情報に基づいて加工状態(モータ3の負荷状態)を推定する。加工プログラムが示す情報としては、例えば送り速度が挙げられる。閾値変更部40は、加工状態に応じて、第1閾値及び第2閾値のうちの少なくとも一方を変更する。
【0026】
例えば、閾値変更部40は、加工状態が重切削状態(重負荷状態)である場合、加工状態が位置決め状態(無負荷状態)又は軽切削状態(軽負荷状態)である場合に対して相対的に、少なくとも第2閾値を大きくする。
【0027】
異常検出部50は、位置異常検出部24から出力された位置の異常度と、負荷異常検出部32から出力された負荷の異常度とに基づいて、機器の異常を検出する。例えば、異常検出部50は、位置の異常度と負荷の異常度との総和が、機器の異常を検出するための第3閾値以上であるときに、機器の異常を検出する。
異常検出部50は、機器の異常を検出したとき、モータ3に動作停止の通知を行う。
【0028】
サーボ制御装置1は、例えば、DSP(Digital Signal Processor)、FPGA(Field−Programmable Gate Array)等の演算プロセッサで構成される。サーボ制御装置1の各種機能は、例えば記憶部(図示せず)に格納された所定のソフトウェア(プログラム)を実行することで実現される。サーボ制御装置1の各種機能は、ハードウェアとソフトウェアとの協働で実現されてもよいし、ハードウェア(電子回路)のみで実現されてもよい。
【0029】
次に、図2及び図3を参照して、本実施形態のサーボ制御装置1による異常検出動作について説明する。
図2は、加工状態が位置決め状態又は軽切削状態である場合の、サーボ制御装置1による異常検出動作を示す模式図であり、図3は、加工状態が重切削状態である場合の、サーボ制御装置1による異常検出動作を示す模式図である。
【0030】
(位置決め状態又は軽切削状態)
位置決め状態又は軽切削状態では、切削外乱が比較的に小さい。そのため、図2に示すように、負荷トルクに基づくモータ3の負荷の異常検出により機器の衝突等の異常検出を行うように、閾値変更部40は、第1閾値をTh1に設定し、第2閾値をTh2に設定する。
図2では、位置偏差が第1閾値Th1未満であるので、位置異常検出部24は、モータ3の位置の異常を検出せず、位置の異常度を出力しない。一方、負荷トルクが第2閾値Th2以上であるので、負荷異常検出部32は、モータ3の負荷の異常を検出し、負荷の異常度を出力する。
【0031】
異常検出部50は、位置異常検出部24から出力された位置の異常度と負荷異常検出部32から出力された負荷の異常度との総和が第3閾値以上であるときに、機器の異常を検出する。このとき、異常検出部50は、モータ3に動作停止の通知を行う。
これにより、モータ3は動作を停止する。
【0032】
(重切削状態)
重切削状態では、切削外乱が比較的に大きい。そのため、図3に示すように、位置偏差に基づくモータ3の位置の異常検出により機器の衝突等の異常検出を行うように、閾値変更部40は、第2閾値をTh2に対して相対的に大きいTh22に変更する。本実施形態では、閾値変更部40は、第1閾値もTh1に対して相対的に大きいTh12に変更しているが、第1閾値は変更されなくてもよい。
図3では、位置偏差が第1閾値Th1以上であるので、位置異常検出部24は、モータ3の位置の異常を検出し、位置の異常度を出力する。一方、負荷トルクが第2閾値Th2未満であるので、負荷異常検出部32は、モータ3の負荷の異常を検出せず、負荷の異常度を出力しない。
【0033】
異常検出部50は、位置異常検出部24から出力された位置の異常度と負荷異常検出部32から出力された負荷の異常度との総和が第3閾値以上であるときに、機器の異常を検出する。このとき、異常検出部50は、モータ3に動作停止の通知を行う。
これにより、モータ3は動作を停止する。
【0034】
以上説明したように、本実施形態のサーボ制御装置1によれば、加工状態(モータ3の負荷状態)に応じて、異常検出方法を切り替える。具体的には、切削外乱が比較的に小さい位置決め状態(無負荷状態)及び軽切削状態(軽負荷状態)では、サーボ制御装置1は、実際の負荷トルクに基づくモータ3の負荷の異常検出により、機器の衝突等の異常検出を行う。一方、切削外乱が比較的に大きい重切削状態(重負荷状態)では、サーボ制御装置1は、実際の位置と位置指令との位置偏差に基づくモータ3の位置の異常検出により、機器の衝突等の異常検出を行う。これにより、加工状態(モータ3の負荷状態)によらず、例えば切削外乱が比較的に大きい重切削状態であっても、機器の衝突等の異常検出を行うことができる。
【0035】
また、本実施形態のサーボ制御装置1によれば、モータ3の位置の異常検出のための第1閾値とモータ3の負荷の異常検出のための第2閾値とを任意の値に設定することにより、これらの位置の異常検出及び負荷の異常検出を無段階的に切り替えることができる。
【0036】
また、本実施形態のサーボ制御装置1によれば、数値制御装置2等の上位制御装置を介さずにモータ3の停止指令を通知するので、機器の異常時にモータ3をより早く停止させることができる。
【0037】
(第1変形例)
上述した実施形態では、モータ3の位置の異常検出のための第1閾値とモータ3の負荷の異常検出のための第2閾値とを変更することにより、これらの2つの異常検出方法を切り替えた。
しかし、モータ3の位置の異常度とモータ3の負荷の異常度とのいずれか一方の出力を無効にすることにより、モータ3の位置の異常検出とモータ3の負荷の異常検出との2つの異常検出方法を切り替えてもよい。
【0038】
第1変形例では、閾値変更部40は、加工状態に応じて、位置の異常度と負荷の異常度とのいずれか一方の出力を無効にするように、位置異常検出部24又は負荷異常検出部32を制御する。
例えば、加工状態が位置決め状態又は軽切削状態である場合、閾値変更部40は、図4に示すように、位置の異常度を無効にするように、位置異常検出部24を制御する。一方、加工状態が重切削状態である場合、閾値変更部40は、図5に示すように、負荷の異常度の出力を無効にするように、負荷異常検出部32を制御する。
【0039】
(第2変形例)
上述した実施形態では、モータ3の位置の異常検出とモータ3の負荷の異常検出との2つの異常検出方法を切り替えた。
しかし、モータ3の位置の異常検出とモータ3の負荷の異常検出との2つの異常検出方法の重み付けを変えることにより、これらの2つの異常検出方法、すなわちモータ3の位置の異常度とモータ3の負荷の異常度とを併用してもよい。
【0040】
例えば、第2変形例では、位置決め状態又は軽切削状態でも、重切削状態でも、位置の異常度と負荷の異常度との両方が出力されるように、第1閾値及び第2閾値を設定する。
この場合、異常検出部50は、位置の異常度と負荷の異常度との総和が第3閾値以上であるときに、機器の異常を検出すればよい。
【0041】
(第3変形例)
上述した実施形態では、位置指令と位置検出値との位置偏差に基づいてモータ3の位置の異常検出を行った。
しかし、位置指令に代えて、サーボ制御部10の制御遅れを考慮した位置推定値を用いてもよい。
【0042】
第3変形例では、位置偏差計算部22は、位置指令に対してサーボ制御部10の制御遅れ(例えば1次遅れ)を考慮してモータ3の推定位置を推定する。位置偏差計算部22は、推定位置と位置検出部20で検出されたモータ3の位置との偏差を位置偏差として計算する(ダイナミック誤差監視)。
【0043】
一般に、位置偏差を監視する異常検出では、位置決め状態における早送り時に発生しうる位置偏差を基準に検出閾値を設定するため、大きな値が閾値に設定される。実際の加工では、位置偏差は小さくなるため、異常発生時の検出は遅れてしまう。
この点に関し、第3変形例では、サーボ制御部10の制御遅れ(例えば1次遅れ)を考慮して理想的な位置を推定し、この推定位置からの検出位置の乖離量を監視する。そのため、モータ3の位置の異常検出を早めることができる。
【0044】
また、第3変形例では、負荷トルクに加えて、理想的な推定位置と検出位置との位置偏差を用いて、モータ3の位置の異常を判断する。
ここで、切削外乱が大きい場合、正常時であっても負荷トルクは大きな値を示すため、機器の衝突等の異常を判別できない。この点に関し、第3変形例では、理想的な推定位置と検出位置との位置偏差を監視することにより、過渡状態における予期せぬ衝突等の機器の異常を検出することができる。
【0045】
(第4変形例)
上述した実施形態では、位置の異常度と負荷の異常度とを生成することにより、機器の異常検出を行った。
しかし、位置の異常度および負荷の異常度を生成せずともよい。
【0046】
第4変形例では、位置異常検出部24は、位置偏差計算部22で計算された位置偏差が第1閾値以上であるときに、モータ3の位置の異常を検出し、位置の異常を示す情報を異常検出部50に出力する。また、負荷異常検出部32は、負荷検出部30で検出された負荷トルクが第2閾値以上であるときに、モータ3の負荷の異常を検出し、負荷の異常を示す情報を異常検出部50に出力する。
異常検出部50は、位置異常検出部24から出力された位置の異常を示す情報と、負荷異常検出部32から出力された負荷の異常を示す情報とに基づいて、機器の異常を検出する。これにより、異常検出部50は、位置異常検出部24でモータ3の位置の異常が検出されたとき、又は、負荷異常検出部32でモータ3の負荷の異常が検出されたときに、機器の異常を検出する。
【0047】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、種々の変更及び変形が可能である。例えば、上述した実施形態では、切削加工を行う工作機械におけるモータ3を制御するサーボ制御装置1を例示した。しかし、本発明の特徴はこれに限定されず、産業機械の種々の機器、種々のロボット等におけるモータを制御するサーボ制御装置に適用可能である。
【符号の説明】
【0048】
1 サーボ制御装置
2 数値制御装置
3 モータ
10 サーボ制御部
20 位置検出部
22 位置偏差計算部
24 位置異常検出部
30 負荷検出部
32 負荷異常検出部
40 閾値変更部
50 異常検出部
【図1】
【図2】
【図3】
【図4】
【図5】