(57)【要約】【課題】モータの負荷状態によらず、機械の異常を検出することができるサーボ制御装置を提供する。【解決手段】サーボ制御装置１は、機械におけるモータ３を位置指令に基づいて制御するサーボ制御部１０と、モータ３の位置を検出する位置検出部２０と、位置指令とモータ３の位置との位置偏差を計算する位置偏差計算部２２と、位置偏差が第１閾値以上であるときにモータ３の位置の異常を検出する位置異常検出部２４と、モータ３の負荷トルクを検出する負荷検出部３０と、負荷トルクが第２閾値以上であるときにモータ３の負荷の異常を検出する負荷異常検出部３２と、位置の異常が検出されたとき又は負荷の異常が検出されたときに機械の異常を検出する異常検出部５０と、モータの負荷状態に応じて第１閾値及び第２閾値のうちの少なくとも一方を変更する閾値変更部４０とを備える。【選択図】図１
2019144809.tif 000002
【特許請求の範囲】
【請求項１】
機械におけるモータを、位置指令に基づいて制御するサーボ制御部と、
前記モータの位置を検出する位置検出部と、
前記位置指令と前記位置検出部で検出された前記モータの位置との位置偏差を計算する位置偏差計算部と、
前記位置偏差計算部で計算された位置偏差が第１閾値以上であるときに、前記モータの位置の異常を検出する位置異常検出部と、
前記モータの負荷トルクを検出する負荷検出部と、
前記負荷検出部で検出された負荷トルクが第２閾値以上であるときに、前記モータの負荷の異常を検出する負荷異常検出部と、
前記位置異常検出部で前記モータの位置の異常が検出されたとき、又は、前記負荷異常検出部で前記モータの負荷の異常が検出されたときに、前記機械の異常を検出する異常検出部と、
前記モータの負荷状態に応じて、前記第１閾値及び前記第２閾値のうちの少なくとも一方を変更する閾値変更部と、
を備える、サーボ制御装置。
【請求項２】
前記閾値変更部は、前記モータの負荷状態が重負荷状態である場合、前記モータの負荷状態が無負荷状態又は軽負荷状態である場合に対して相対的に、少なくとも前記第２閾値を大きくする、請求項１に記載のサーボ制御装置。
【請求項３】
前記閾値変更部は、上位制御装置から前記モータの動作プログラムを取得し、前記動作プログラムが示す情報に基づいて前記モータの負荷状態を推定する、請求項１又は２に記載のサーボ制御装置。
【請求項４】
前記位置異常検出部は、前記モータの位置の異常を検出したときに、前記位置偏差の大きさに応じた位置の異常度を出力し、
前記負荷異常検出部は、前記モータの負荷の異常を検出したときに、前記負荷トルクの大きさに応じた負荷の異常度を出力し、
前記異常検出部は、前記位置異常検出部から出力された位置の異常度と前記負荷異常検出部から出力された負荷の異常度とに基づいて、前記機械の異常を検出する、
請求項１〜３の何れか１項に記載のサーボ制御装置。
【請求項５】
前記閾値変更部は、前記モータの負荷状態に応じて、前記位置の異常度と前記負荷の異常度とのいずれか一方の出力を無効にするように、前記位置異常検出部又は前記負荷異常検出部を制御する、請求項４に記載のサーボ制御装置。
【請求項６】
前記閾値変更部は、
前記モータの負荷状態が重負荷状態である場合、前記負荷の異常度の出力を無効にするように、前記負荷異常検出部を制御し、
前記モータの負荷状態が無負荷状態又は軽負荷状態である場合、前記位置の異常度を無効にするように、前記位置異常検出部を制御する、
請求項５に記載のサーボ制御装置。
【請求項７】
前記異常検出部は、前記位置の異常度と前記負荷の異常度との総和が第３閾値以上であるときに、前記モータの動作停止を通知する、請求項４〜６の何れか１項に記載のサーボ制御装置。
【請求項８】
前記位置の異常度は、前記位置偏差と前記第１閾値との差分であり、
前記負荷の異常度は、前記負荷トルクと前記第２閾値との差分である、
請求項４〜７の何れか１項に記載のサーボ制御装置。
【請求項９】
前記位置偏差計算部は、前記位置指令に対して前記サーボ制御部の遅れを考慮して前記モータの推定位置を推定し、前記推定位置と前記位置検出部で検出された前記モータの位置との偏差を前記位置偏差として計算する、請求項１〜８の何れか１項に記載のサーボ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械又は産業機械等におけるモータを制御するサーボ制御装置に関する。
【背景技術】
【０００２】
工作機械又は産業機械等において、例えば可動部が障害物（例えば、ツール又はワーク、或いはその他の物）に衝突し、可動部を駆動するモータに過負荷がかかるような異常が発生することがある。
特許文献１〜３には、工作機械又は産業機械等において、モータにかかる負荷トルクに基づいて機械の異常を検出する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１−３３６０５号公報（特開昭６４−３３６０５号公報）
【特許文献２】特開２００１−１５０２８７号公報
【特許文献３】特開２００２−１７５１０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば切削加工を行う工作機械において、特許文献１に記載の技術のようにモータにかかる負荷トルクに基づいて機械の異常を検出する場合、加工中では衝突による異常と切削外乱とを区別できず、機械の異常を検出することが困難であることがある。
【０００５】
本発明は、モータの負荷状態によらず、機械の異常を検出することができるサーボ制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
（１）  本発明に係るサーボ制御装置（例えば、後述のサーボ制御装置１）は、機械におけるモータ（例えば、後述のモータ３）を、位置指令に基づいて制御するサーボ制御部（例えば、後述のサーボ制御部１０）と、前記モータの位置を検出する位置検出部（例えば、後述の位置検出部２０）と、前記位置指令と前記位置検出部で検出された前記モータの位置との位置偏差を計算する位置偏差計算部（例えば、後述の位置偏差計算部２２）と、前記位置偏差計算部で計算された位置偏差が第１閾値以上であるときに、前記モータの位置の異常を検出する位置異常検出部（例えば、後述の位置異常検出部２４）と、前記モータの負荷トルクを検出する負荷検出部（例えば、後述の負荷検出部３０）と、前記負荷検出部で検出された負荷トルクが第２閾値以上であるときに、前記モータの負荷の異常を検出する負荷異常検出部（例えば、後述の負荷異常検出部３２）と、前記位置異常検出部で前記モータの位置の異常が検出されたとき、又は、前記負荷異常検出部で前記モータの負荷の異常が検出されたときに、前記機械の異常を検出する異常検出部（例えば、後述の異常検出部５０）と、前記モータの負荷状態に応じて、前記第１閾値及び前記第２閾値のうちの少なくとも一方を変更する閾値変更部（例えば、後述の閾値変更部４０）とを備える。
【０００７】
（２）  （１）に記載のサーボ制御装置において、前記閾値変更部は、前記モータの負荷状態が重負荷状態である場合、前記モータの負荷状態が無負荷状態又は軽負荷状態である場合に対して相対的に、少なくとも前記第２閾値を大きくしてもよい。
【０００８】
（３）  （１）又は（２）に記載のサーボ制御装置において、前記閾値変更部は、上位制御装置から前記モータの動作プログラムを取得し、前記動作プログラムが示す情報に基づいて前記モータの負荷状態を推定してもよい。
【０００９】
（４）  （１）から（３）のいずれかに記載のサーボ制御装置において、前記位置異常検出部は、前記モータの位置の異常を検出したときに、前記位置偏差の大きさに応じた位置の異常度を出力してもよいし、前記負荷異常検出部は、前記モータの負荷の異常を検出したときに、前記負荷トルクの大きさに応じた負荷の異常度を出力してもよいし、前記異常検出部は、前記位置異常検出部から出力された位置の異常度と前記負荷異常検出部から出力された負荷の異常度とに基づいて、前記機械の異常を検出してもよい。
【００１０】
（５）  （４）に記載のサーボ制御装置において、前記閾値変更部は、前記モータの負荷状態に応じて、前記位置の異常度と前記負荷の異常度とのいずれか一方の出力を無効にするように、前記位置異常検出部又は前記負荷異常検出部を制御してもよい。
【００１１】
（６）  （５）に記載のサーボ制御装置において、前記閾値変更部は、前記モータの負荷状態が重負荷状態である場合、前記負荷の異常度の出力を無効にするように、前記負荷異常検出部を制御してもよいし、前記モータの負荷状態が無負荷状態又は軽負荷状態である場合、前記位置の異常度を無効にするように、前記位置異常検出部を制御してもよい。
【００１２】
（７）  （４）から（６）のいずれかに記載のサーボ制御装置において、前記異常検出部は、前記位置の異常度と前記負荷の異常度との総和が第３閾値以上であるときに、前記モータの動作停止を通知してもよい。
【００１３】
（８）  （４）から（７）のいずれかに記載のサーボ制御装置において、前記位置の異常度は、前記位置偏差と前記第１閾値との差分であってもよいし、前記負荷の異常度は、前記負荷トルクと前記第２閾値との差分であってもよい。
【００１４】
（９）  （１）から（８）のいずれかに記載のサーボ制御装置において、前記位置偏差計算部は、前記位置指令に対して前記サーボ制御部の遅れを考慮して前記モータの推定位置を推定し、前記推定位置と前記位置検出部で検出された前記モータの位置との偏差を前記位置偏差として計算してもよい。
【発明の効果】
【００１５】
本発明によれば、モータの負荷状態によらず、機械の異常を検出することができるサーボ制御装置を提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態に係るサーボ制御装置の構成を示す図である。
【図２】加工状態が位置決め状態又は軽切削状態である場合の、本実施形態に係るサーボ制御装置による異常検出動作を示す模式図である。
【図３】加工状態が重切削状態である場合の、本実施形態に係るサーボ制御装置による異常検出動作を示す模式図である。
【図４】加工状態が位置決め状態又は軽切削状態である場合の、本実施形態の変形例に係るサーボ制御装置による異常検出動作を示す模式図である。
【図５】加工状態が重切削状態である場合の、本実施形態の変形例に係るサーボ制御装置による異常検出動作を示す模式図である。
【発明を実施するための形態】
【００１７】
以下、添付の図面を参照して本発明の実施形態の一例について説明する。なお、各図面において同一又は相当の部分に対しては同一の符号を附すこととする。
【００１８】
図１は、本実施形態に係るサーボ制御装置の構成を示す図である。図１に示すサーボ制御装置１は、例えば切削加工を行う工作機械における可動部を駆動する送り軸制御用のモータ３を制御する装置である。サーボ制御装置１は、上位制御装置である数値制御装置２における加工プログラムに基づく位置指令に従って、モータ３を制御する。
サーボ制御装置１は、サーボ制御部１０と、位置検出部２０と、位置偏差計算部２２と、位置異常検出部２４と、負荷検出部３０と、負荷異常検出部３２と、閾値変更部４０と、異常検出部５０とを備える。
【００１９】
サーボ制御部１０は、数値制御装置２からの位置指令に基づいて、例えばＰＩ制御等を利用した位置制御、速度制御及び電流制御を行うことにより、モータ３の駆動電流を生成する。例えば、サーボ制御部１０は、位置指令と、例えばモータ３に設けられたエンコーダで検出された位置フィードバック（位置ＦＢ）との位置偏差に基づいて速度指令を生成し（位置制御）、この速度指令とエンコーダで検出された速度フィードバック（速度ＦＢ）とに基づいてモータ３のトルク指令を生成し（速度制御）、このトルク指令に基づいてモータ３の駆動電流を生成する（電流制御）。
【００２０】
位置検出部２０は、モータ３の回転位置を検出する。モータ３の回転位置は、工作機械の可動部の位置に対応する。検出された位置は位置フィードバック（位置ＦＢ）として利用される。
位置検出部２０は、例えばモータ３に設けられたエンコーダである。エンコーダは、モータ３の回転速度をも検出する。モータ３の回転速度は、工作機械の可動部の送り速度に対応する。検出された速度は上述した速度フィードバック（速度ＦＢ）として利用される。
【００２１】
位置偏差計算部２２は、数値制御装置２からの位置指令と位置検出部２０で検出された位置フィードバックとの位置偏差を計算する。
【００２２】
位置異常検出部２４は、位置偏差計算部２２で計算された位置偏差と、モータ３の位置の異常を検出するための第１閾値とを比較し、モータ３の位置の異常を検出する。位置異常検出部２４は、位置偏差が第１閾値以上であるときに、位置偏差の大きさに応じた位置の異常度を出力する。
例えば、位置の異常度は、位置偏差と第１閾値との差分である（図３参照）。なお、位置の異常度は、位置偏差そのものであってもよい。
【００２３】
負荷検出部３０は、モータ３にかかる負荷トルクを検出する。
負荷検出部３０は、例えばモータ３の電流フィードバックを得るサーボアンプである。
【００２４】
負荷異常検出部３２は、負荷検出部３０で検出された負荷トルクと、モータ３の負荷の異常を検出するための第２閾値とを比較し、モータ３の負荷の異常を検出する。負荷異常検出部３２は、負荷トルクが第２閾値以上であるときに、負荷トルクの大きさに応じた負荷の異常度を出力する。
例えば、負荷の異常度は、負荷トルクと第２閾値との差分である（図２参照）。なお、負荷の異常度は、負荷トルクそのものであってもよい。
【００２５】
閾値変更部４０は、数値制御装置２から加工プログラム（モータ３の動作プログラム）を取得し、加工プログラムが示す情報に基づいて加工状態（モータ３の負荷状態）を推定する。加工プログラムが示す情報としては、例えば送り速度が挙げられる。閾値変更部４０は、加工状態に応じて、第１閾値及び第２閾値のうちの少なくとも一方を変更する。
【００２６】
例えば、閾値変更部４０は、加工状態が重切削状態（重負荷状態）である場合、加工状態が位置決め状態（無負荷状態）又は軽切削状態（軽負荷状態）である場合に対して相対的に、少なくとも第２閾値を大きくする。
【００２７】
異常検出部５０は、位置異常検出部２４から出力された位置の異常度と、負荷異常検出部３２から出力された負荷の異常度とに基づいて、機器の異常を検出する。例えば、異常検出部５０は、位置の異常度と負荷の異常度との総和が、機器の異常を検出するための第３閾値以上であるときに、機器の異常を検出する。
異常検出部５０は、機器の異常を検出したとき、モータ３に動作停止の通知を行う。
【００２８】
サーボ制御装置１は、例えば、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の演算プロセッサで構成される。サーボ制御装置１の各種機能は、例えば記憶部（図示せず）に格納された所定のソフトウェア（プログラム）を実行することで実現される。サーボ制御装置１の各種機能は、ハードウェアとソフトウェアとの協働で実現されてもよいし、ハードウェア（電子回路）のみで実現されてもよい。
【００２９】
次に、図２及び図３を参照して、本実施形態のサーボ制御装置１による異常検出動作について説明する。
図２は、加工状態が位置決め状態又は軽切削状態である場合の、サーボ制御装置１による異常検出動作を示す模式図であり、図３は、加工状態が重切削状態である場合の、サーボ制御装置１による異常検出動作を示す模式図である。
【００３０】
（位置決め状態又は軽切削状態）
位置決め状態又は軽切削状態では、切削外乱が比較的に小さい。そのため、図２に示すように、負荷トルクに基づくモータ３の負荷の異常検出により機器の衝突等の異常検出を行うように、閾値変更部４０は、第１閾値をＴｈ１に設定し、第２閾値をＴｈ２に設定する。
図２では、位置偏差が第１閾値Ｔｈ１未満であるので、位置異常検出部２４は、モータ３の位置の異常を検出せず、位置の異常度を出力しない。一方、負荷トルクが第２閾値Ｔｈ２以上であるので、負荷異常検出部３２は、モータ３の負荷の異常を検出し、負荷の異常度を出力する。
【００３１】
異常検出部５０は、位置異常検出部２４から出力された位置の異常度と負荷異常検出部３２から出力された負荷の異常度との総和が第３閾値以上であるときに、機器の異常を検出する。このとき、異常検出部５０は、モータ３に動作停止の通知を行う。
これにより、モータ３は動作を停止する。
【００３２】
（重切削状態）
重切削状態では、切削外乱が比較的に大きい。そのため、図３に示すように、位置偏差に基づくモータ３の位置の異常検出により機器の衝突等の異常検出を行うように、閾値変更部４０は、第２閾値をＴｈ２に対して相対的に大きいＴｈ２２に変更する。本実施形態では、閾値変更部４０は、第１閾値もＴｈ１に対して相対的に大きいＴｈ１２に変更しているが、第１閾値は変更されなくてもよい。
図３では、位置偏差が第１閾値Ｔｈ１以上であるので、位置異常検出部２４は、モータ３の位置の異常を検出し、位置の異常度を出力する。一方、負荷トルクが第２閾値Ｔｈ２未満であるので、負荷異常検出部３２は、モータ３の負荷の異常を検出せず、負荷の異常度を出力しない。
【００３３】
異常検出部５０は、位置異常検出部２４から出力された位置の異常度と負荷異常検出部３２から出力された負荷の異常度との総和が第３閾値以上であるときに、機器の異常を検出する。このとき、異常検出部５０は、モータ３に動作停止の通知を行う。
これにより、モータ３は動作を停止する。
【００３４】
以上説明したように、本実施形態のサーボ制御装置１によれば、加工状態（モータ３の負荷状態）に応じて、異常検出方法を切り替える。具体的には、切削外乱が比較的に小さい位置決め状態（無負荷状態）及び軽切削状態（軽負荷状態）では、サーボ制御装置１は、実際の負荷トルクに基づくモータ３の負荷の異常検出により、機器の衝突等の異常検出を行う。一方、切削外乱が比較的に大きい重切削状態（重負荷状態）では、サーボ制御装置１は、実際の位置と位置指令との位置偏差に基づくモータ３の位置の異常検出により、機器の衝突等の異常検出を行う。これにより、加工状態（モータ３の負荷状態）によらず、例えば切削外乱が比較的に大きい重切削状態であっても、機器の衝突等の異常検出を行うことができる。
【００３５】
また、本実施形態のサーボ制御装置１によれば、モータ３の位置の異常検出のための第１閾値とモータ３の負荷の異常検出のための第２閾値とを任意の値に設定することにより、これらの位置の異常検出及び負荷の異常検出を無段階的に切り替えることができる。
【００３６】
また、本実施形態のサーボ制御装置１によれば、数値制御装置２等の上位制御装置を介さずにモータ３の停止指令を通知するので、機器の異常時にモータ３をより早く停止させることができる。
【００３７】
（第１変形例）
上述した実施形態では、モータ３の位置の異常検出のための第１閾値とモータ３の負荷の異常検出のための第２閾値とを変更することにより、これらの２つの異常検出方法を切り替えた。
しかし、モータ３の位置の異常度とモータ３の負荷の異常度とのいずれか一方の出力を無効にすることにより、モータ３の位置の異常検出とモータ３の負荷の異常検出との２つの異常検出方法を切り替えてもよい。
【００３８】
第１変形例では、閾値変更部４０は、加工状態に応じて、位置の異常度と負荷の異常度とのいずれか一方の出力を無効にするように、位置異常検出部２４又は負荷異常検出部３２を制御する。
例えば、加工状態が位置決め状態又は軽切削状態である場合、閾値変更部４０は、図４に示すように、位置の異常度を無効にするように、位置異常検出部２４を制御する。一方、加工状態が重切削状態である場合、閾値変更部４０は、図５に示すように、負荷の異常度の出力を無効にするように、負荷異常検出部３２を制御する。
【００３９】
（第２変形例）
上述した実施形態では、モータ３の位置の異常検出とモータ３の負荷の異常検出との２つの異常検出方法を切り替えた。
しかし、モータ３の位置の異常検出とモータ３の負荷の異常検出との２つの異常検出方法の重み付けを変えることにより、これらの２つの異常検出方法、すなわちモータ３の位置の異常度とモータ３の負荷の異常度とを併用してもよい。
【００４０】
例えば、第２変形例では、位置決め状態又は軽切削状態でも、重切削状態でも、位置の異常度と負荷の異常度との両方が出力されるように、第１閾値及び第２閾値を設定する。
この場合、異常検出部５０は、位置の異常度と負荷の異常度との総和が第３閾値以上であるときに、機器の異常を検出すればよい。
【００４１】
（第３変形例）
上述した実施形態では、位置指令と位置検出値との位置偏差に基づいてモータ３の位置の異常検出を行った。
しかし、位置指令に代えて、サーボ制御部１０の制御遅れを考慮した位置推定値を用いてもよい。
【００４２】
第３変形例では、位置偏差計算部２２は、位置指令に対してサーボ制御部１０の制御遅れ（例えば１次遅れ）を考慮してモータ３の推定位置を推定する。位置偏差計算部２２は、推定位置と位置検出部２０で検出されたモータ３の位置との偏差を位置偏差として計算する（ダイナミック誤差監視）。
【００４３】
一般に、位置偏差を監視する異常検出では、位置決め状態における早送り時に発生しうる位置偏差を基準に検出閾値を設定するため、大きな値が閾値に設定される。実際の加工では、位置偏差は小さくなるため、異常発生時の検出は遅れてしまう。
この点に関し、第３変形例では、サーボ制御部１０の制御遅れ（例えば１次遅れ）を考慮して理想的な位置を推定し、この推定位置からの検出位置の乖離量を監視する。そのため、モータ３の位置の異常検出を早めることができる。
【００４４】
また、第３変形例では、負荷トルクに加えて、理想的な推定位置と検出位置との位置偏差を用いて、モータ３の位置の異常を判断する。
ここで、切削外乱が大きい場合、正常時であっても負荷トルクは大きな値を示すため、機器の衝突等の異常を判別できない。この点に関し、第３変形例では、理想的な推定位置と検出位置との位置偏差を監視することにより、過渡状態における予期せぬ衝突等の機器の異常を検出することができる。
【００４５】
（第４変形例）
上述した実施形態では、位置の異常度と負荷の異常度とを生成することにより、機器の異常検出を行った。
しかし、位置の異常度および負荷の異常度を生成せずともよい。
【００４６】
第４変形例では、位置異常検出部２４は、位置偏差計算部２２で計算された位置偏差が第１閾値以上であるときに、モータ３の位置の異常を検出し、位置の異常を示す情報を異常検出部５０に出力する。また、負荷異常検出部３２は、負荷検出部３０で検出された負荷トルクが第２閾値以上であるときに、モータ３の負荷の異常を検出し、負荷の異常を示す情報を異常検出部５０に出力する。
異常検出部５０は、位置異常検出部２４から出力された位置の異常を示す情報と、負荷異常検出部３２から出力された負荷の異常を示す情報とに基づいて、機器の異常を検出する。これにより、異常検出部５０は、位置異常検出部２４でモータ３の位置の異常が検出されたとき、又は、負荷異常検出部３２でモータ３の負荷の異常が検出されたときに、機器の異常を検出する。
【００４７】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、種々の変更及び変形が可能である。例えば、上述した実施形態では、切削加工を行う工作機械におけるモータ３を制御するサーボ制御装置１を例示した。しかし、本発明の特徴はこれに限定されず、産業機械の種々の機器、種々のロボット等におけるモータを制御するサーボ制御装置に適用可能である。
【符号の説明】
【００４８】
１  サーボ制御装置
２  数値制御装置
３  モータ
１０  サーボ制御部
２０  位置検出部
２２  位置偏差計算部
２４  位置異常検出部
３０  負荷検出部
３２  負荷異常検出部
４０  閾値変更部
５０  異常検出部
【図１】
2019144809.tif 000003
【図２】
2019144809.tif 000004
【図３】
2019144809.tif 000005
【図４】
2019144809.tif 000006
【図５】
2019144809.tif 000007