(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-13
(45)【発行日】2022-12-21
(54)【発明の名称】モータ制御システム
(51)【国際特許分類】
H02P 29/024 20160101AFI20221214BHJP
G05B 23/02 20060101ALI20221214BHJP
【FI】
H02P29/024
G05B23/02 301Q
(21)【出願番号】P 2019228762
(22)【出願日】2019-12-19
【審査請求日】2021-08-04
(73)【特許権者】
【識別番号】502129933
【氏名又は名称】株式会社日立産機システム
(74)【代理人】
【識別番号】110002066
【氏名又は名称】弁理士法人筒井国際特許事務所
(72)【発明者】
【氏名】武田 賢治
(72)【発明者】
【氏名】上井 雄介
(72)【発明者】
【氏名】高田 英人
【審査官】島倉 理
(56)【参考文献】
【文献】再公表特許第2015/068214(JP,A1)
【文献】特開2017-167607(JP,A)
【文献】特開2019-076993(JP,A)
【文献】特開平11-055978(JP,A)
【文献】特開2009-068950(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 29/024
G05B 23/02
(57)【特許請求の範囲】
【請求項1】
モータと、前記モータを制御するモータ制御装置とを有するモータ制御システムであって、
前記モータまたは前記モータ制御装置から得られるN個(Nは2以上の整数)の監視パラメータを監視し、前記N個の監視パラメータの監視データからなる監視データセットを監視周期毎に取得する監視部と、
メモリと、
前記監視部で取得された前記監視データセットの中からトリガ条件を満たす前記監視データセットを選択し、当該選択した監視データセットをトレースデータとして前記メモリに格納するデータ選択部と、
表示部と、
ユーザの命令に応じて前記N個の監視パラメータの中からM個(Mは2以上かつN以下の整数)の監視パラメータを定め、前記M個の監視パラメータに対応するM個の軸を有するグラフ上に前記トレースデータを表示したものである特性図を作成し、前記特性図を前記表示部に表示させる表示制御部と、
前記特性図を前記表示部に表示させた状態で、前記特性図における前記M個の軸の範囲を次回の前記トリガ条件として前記ユーザに選択させるトリガ条件設定部と、
前記ユーザに、前記モータによって駆動されるモータ負荷の負荷情報を入力させる負荷情報入力部と、
前記負荷情報に基づいて、前記モータの回転位相と前記モータ負荷の稼働範囲との関係を示した稼働マップを生成する稼働マップ生成部と、
前記稼働マップに基づいて、前記モータ負荷の稼働範囲が前記モータの回転位相における第1の位相範囲と、前記第1の位相範囲とは異なる第2の位相範囲とに存在している場合で、前記トリガ条件が前記第1の位相範囲であった場合に、前記トリガ条件に前記第2の位相範囲を追加するトリガ条件変更部と、
を有する、
モータ制御システム。
【請求項2】
請求項1記載のモータ制御システムにおいて、
さらに、前記ユーザによって操作され、前記モータ制御装置との間で通信経路を備える情報処理装置を有し、
前記モータ制御装置は、前記監視部、前記メモリおよび前記データ選択部を備え、
前記情報処理装置は、前記表示部、前記表示制御部および前記トリガ条件設定部を備える、
モータ制御システム。
【請求項3】
請求項2記載のモータ制御システムにおいて、
前記トリガ条件設定部は、前記ユーザに、マウスを用いて前記特性図内の領域を選択させることで前記トリガ条件を定める、
モータ制御システム。
【請求項4】
請求項1記載のモータ制御システムにおいて、
さらに、前記監視データのティピカルデータとなるモデルデータを生成するモデルデータ生成部を有し、
前記表示制御部は、前記トレースデータに加えて前記モデルデータを表示した前記特性図を前記表示部に表示させる、
モータ制御システム。
【請求項5】
請求項1記載のモータ制御システムにおいて、さらに
、
前記負荷情報入力部からの前記負荷情報に基づいて、前記監視部における前記監視周期、または、前記監視周期で継続的に監視を行う際の監視期間を定める監視条件決定
部を有する、
モータ制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータ制御システムに関し、例えば、モータの動作状態や制御状態等を監視する技術に関する。
【背景技術】
【0002】
特許文献1には、トリガ条件としてモータの速度やトルク等の指令値あるいは実測値を用い、例えば、所定の閾値を超えた場合にトリガ条件を満たしたと判定し、そのトリガ時刻の前後の動作データに対するトレース(例えば動作波形の再現)を実行するモータ制御システムが示される。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1の方式は、トリガ条件が既知かつ適正である場合には有効であるが、トリガ条件が未知または不適正である場合には、様々な問題が生じ得る。具体例として、例えば、トリガ条件として低過ぎるモータ速度が設定された場合、本来必要なトレース対象期間の他に、本来不必要な期間もトレース対象期間とみなされる恐れがある。その結果、多くの動作データ(トレースデータ)を保存するため多くのメモリ容量が必要となる、または、本来必要なトレース対象期間を抽出するのに多くの労力が必要となる、あるいは、メモリ容量の制約によって本来必要なトレースデータを取得できない等の事態が生じ得る。
【0005】
本発明は上記課題に鑑みてなされたものであり、その目的の一つは、ユーザに適正なトリガ条件を設定させることが可能なモータ制御システムを提供することにある。
【0006】
本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【0007】
本願において開示される実施の形態のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【0008】
本発明の代表的な実施の形態によるモータ制御システムは、モータと、モータを制御するモータ制御装置とを有するものであり、監視部と、メモリと、データ選択部と、表示部と、表示制御部と、トリガ条件設定部とを有する。監視部は、モータまたはモータ制御装置から得られるN個(Nは2以上の整数)の監視パラメータを監視し、N個の監視パラメータの監視データからなる監視データセットを監視周期毎に取得する。データ選択部は、監視部で取得された監視データセットの中からトリガ条件を満たす監視データセットを選択し、当該選択した監視データセットをトレースデータとしてメモリに格納する。表示制御部は、ユーザの命令に応じてN個の監視パラメータの中からM個(Mは2以上かつN以下の整数)の監視パラメータを定め、M個の監視パラメータに対応するM個の軸を有するグラフ上にトレースデータを表示したものである特性図を作成し、特性図を表示部に表示させる。トリガ条件設定部は、特性図を表示部に表示させた状態で、特性図におけるM個の軸の範囲をトリガ条件としてユーザに選択させる。
【発明の効果】
【0009】
本願において開示される発明のうち、代表的な実施の形態によって得られる効果を簡単に説明すると、ユーザに適正なトリガ条件を設定させることが可能になる。
【図面の簡単な説明】
【0010】
【
図1A】本発明の実施の形態1によるモータ制御システムの構成例を示す概略図である。
【
図1B】
図1Aにおけるサーボアンプ内のモータ制御部の構成例を示すブロック図である。
【
図2】
図1Aのモータ制御システムにおいて、トレース機能を担う各部の主要部の構成例を示すブロック図である。
【
図3】
図2におけるデータ選択部の動作例を示す模式図である。
【
図4】
図2において、情報処理装置内の表示部の表示画面の一例を示す図である。
【
図5】
図4におけるトリガ条件の設定方法の具体例を説明する図である。
【
図6】
図5に対応するトリガ条件設定部の処理内容の一例を示すフロー図である。
【
図7】
図4におけるトリガ条件の設定方法の別の具体例を説明する図である。
【
図8】
図4におけるトリガ条件の設定方法の更に別の具体例を説明する図である。
【
図9】
図8に対応するトリガ条件設定部の処理内容の一例を示すフロー図である。
【
図10】
図4とは異なる表示画面の一例を示す図である。
【
図11】
図2におけるモデルデータ生成部の処理内容の一例を説明する図である。
【
図12】本発明の実施の形態2によるモータ制御システムにおいて、トレース機能を担う各部の主要部の構成例を示すブロック図である。
【
図13】
図12の物理モデル入力部によって表示部に表示される表示画面の一例を示す図である。
【
図14】
図12における稼働マップ生成部によって生成される稼働マップの概要を説明する模式図である。
【
図15】
図12における稼働マップ生成部の処理内容の一例を示すフロー図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0012】
(実施の形態1)
《モータ制御システムの概略》
図1Aは、本発明の実施の形態1によるモータ制御システムの構成例を示す概略図である。
図1Bは、
図1Aにおけるサーボアンプ内のモータ制御部の構成例を示すブロック図である。
図1Aに示すモータ制御システムは、モータ2と、モータ2を制御するサーボアンプ(モータ制御装置)1と、モータ負荷3と、上位コントローラ5と、情報処理装置6とを有する。モータ2は、サーボアンプ1からの電力を得て回転する。モータ負荷3は、モータ2によって駆動され、モータ2の回転運動により動力を得る。
【0013】
上位コントローラ5は、サーボアンプ1を介してシステム全体を制御する。その一つとして、上位コントローラ5は、サーボアンプ1の動作に関する指令値をサーボアンプ1へ送信し、また、サーボアンプ1の稼働情報をモニタする。情報処理装置6は、ユーザによって操作されるPC(Personal Computer)等であり、サーボアンプ1や上位コントローラ5との間とでそれぞれ通信経路を備える。情報処理装置6は、例えば、各種ユーザインタフェース(ディスプレイ、キーボード、マウス等)を介して、サーボアンプ1の内部パラメータの更新や、サーボアンプ1の情報収集等を行う。
【0014】
サーボアンプ1は、例えば、商用交流電力等を発生する電源8とモータ2との間で電力変換を行う交流/直流変換器11およびインバータ12と、マイクロコントローラ(MCU)32と、各種記憶部とを備える。各種記憶部には、メモリ(RAM)30と、フラッシュメモリ等の不揮発性メモリ(NVM)31と、バッファメモリ33とが含まれる。なお、各種記憶部(30,31,33)の一部または全ては、マイクロコントローラ32内に搭載されてもよい。
【0015】
交流/直流変換器11は、電源8から交流ケーブルを介して入力された交流電力を直流電力に変換し、インバータ12へ供給する。インバータ12は、例えば、MOSFET(Metal Oxide Semiconductor Field Effect Transistor)、IGBT(Insulated Gate Bipolar Transistor)等のスイッチング素子からなる3相フルブリッジ変換回路を有する。インバータ12は、入力された直流電力をスイッチング素子のスイッチングによって交流電力へ変換し、モータ2へ交流電力を供給する。
【0016】
マイクロコントローラ32は、トレース制御部35と、モータ制御部36と、監視部37とを備える。トレース制御部35およびモータ制御部36は、主に、CPU(Central Processing Unit)を用いたプログラム処理等によって実装される。ただし、実装形態は、このようなソフトウェアに限らず、例えば、FPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)等のハードウェアであってもよく、または、ソフトウェアとハードウェアの組み合わせであってもよい。また、トレース制御部35およびモータ制御部36は、それぞれ異なるマイクロコントローラに実装されてもよい。監視部37は、例えば、アナログディジタル変換器とCPUを用いたプログラム処理との組み合わせ等によって実装される。
【0017】
ここで、インバータ12からモータ2への交流電力の供給経路上には、3相(u相、v相、w相)の相電流Iu,Iv,Iwを検出する電流検出器13が設けられる。モータ制御部36には、当該電流検出器13からの相電流Iu,Iv,Iwの検出値と、モータ2に付属するエンコーダ4Aからの位置情報Pmまたはモータ負荷3に設置されたエンコーダ4Bからの位置情報Paと、上位コントローラ5からの各種指令値とが入力される。モータ制御部36は、これらの入力を受けて、
図1Bに示されるような構成によって、インバータ36を介してモータ2の回転を制御する。
【0018】
図1Bにおいて、エンコーダ通信部40は、エンコーダ4A,4Bとの間で問い合わせおよび応答を通信しながら、モータ位置検出値P
FBを得る。また、上位コントローラ通信部46は、上位コントローラ5からのモータ位置指令値P
*を受信する。モータ制御部36は、モータ位置指令値P
*とモータ位置検出値P
FBとの誤差値を演算し、当該誤差値を位置制御器(APR)41へ出力する。位置制御器41は、例えば、比例・積分制御(PI制御)等を用いて、入力された誤差値を0に近づけるような操作量をモータ速度指令値ω
*として算出する。
【0019】
また、モータ制御部36は、モータ位置検出値PFBを単位時間当たりの偏差すなわち微分値を求める形でモータ速度検出値ωFBに変換する。モータ制御部36は、位置制御器41からのモータ速度指令値ω*と当該モータ速度検出値ωFBとの誤差値を演算し、当該誤差値を速度制御器(ASR)42へ出力する。あるいは、上位コントローラ通信部46は、上位コントローラ5からのモータ速度指令値ω**を受信する。モータ制御部36は、当該モータ速度指令値ω**とモータ速度検出値ωFBとの誤差値を演算し、当該誤差値を速度制御器42へ出力する。速度制御器42は、いずれかの方法で入力された誤差値を0に近づけるような操作量を、例えば、比例・積分制御(PI制御)等を用いて算出し、当該操作量を電流指令値I*として出力する。
【0020】
電流制御器(ACR)43は、電流検出器13からの相電流Iu,Iv,Iwの検出値に基づいてモータ2の電気角および3相電流の実効電流値IFBを推定する。そして、電流制御器43は、当該実効電流値IFBと速度制御器42からの電流指令値I*との誤差値を0に近づけるような操作量Fmを算出する。また、電流制御器43は、操作量Fmを、推定したモータ2の電気角を用いて3相の正弦波信号に変換したのちパルス幅変調器45に出力する。
【0021】
パルス幅変調器45は、電流制御器43からの3相の正弦波信号と、キャリア生成器44から出力される搬送波Fcとを比較することで、3相のPWM(Pulse Width Modulation)信号PWMu,PWMv,PWMwを出力する。
図1Aのインバータ12は、この3相のPWM信号PWMu,PWMv,PWMwに基づいて3相のスイッチング素子をスイッチングすることで直流電力を交流電力に変換した上でモータ2へ供給する。なお、サーボアンプ1では、主に当該スイッチング素子のスイッチングに起因して、電力損失による発熱が生じる。このため、サーボアンプ1は、
図1Aに示されるように、冷却を促すためのファン17を有してもよい。
【0022】
また、
図1Aの例では、モータ2に回転軸角度を検出するエンコーダ4Aが設置されることに加えて、モータ負荷3にもエンコーダ4Bが設置される。例えば、モータ負荷3が、ギアやプーリなどの部品を用いた動力変換機構であった場合、部品間の遊びや動力伝達用シャフトの物性変化などに起因して、モータ2の位置とモータ負荷3の位置との対応関係に誤差が生じる恐れがある。このため、モータ負荷3にもエンコーダ4Bを設置し、その位置情報Paをサーボアンプ1へフィードバックすることが望ましい。これにより、モータ負荷3の位置を高精度に制御することが可能になる。
【0023】
ここで、モータ位置検出値PFB、モータ速度検出値ωFB、相電流Iu,Iv,Iwの検出値(または実効電流値IFB)、または、これらに対応する各指令値(P*,ω*,I*)を代表に、サーボアンプ(モータ制御装置)1またはモータ2からは、様々なパラメータが得られる。パラメータの他の例として、交流/直流変換器11の入力電圧検出値Vac、出力電圧検出値Vdcおよび出力電流検出値Idcや、インバータ12の温度検出値Tmや、ファン17のファン回転数RFAN等も挙げられる。入力電圧検出値Vacは、電圧センサ18によって取得され、出力電圧検出値Vdcおよび出力電流検出値Idcは、電圧センサ14および電流センサ15によってそれぞれ取得され、温度検出値Tmは、インバータ12に設置された温度センサ16によって取得される。
【0024】
マイクロコントローラ32内の監視部37は、これらのパラメータの中の予め定められたN個(すなわち一部または全て)を監視し、当該N個の監視パラメータの監視データからなる監視データセットDSを監視周期毎に取得する。そして、監視部37は、取得した監視データセットDSを、取得した監視周期の情報(すなわち取得時刻)と共にバッファメモリ33に格納する。監視周期は、例えば、モータ制御部36の制御周期や、監視部37を構成するアナログディジタル変換器のサンプリング周期等に基づいて定められる。バッファメモリ33は、少なくとも、1回の監視周期で取得された監視データセットDSを保持できるだけのメモリ容量があればよい。
【0025】
トレース制御部35は、詳細は後述するが、この監視部37で取得された監視データセットDSの中からトリガ条件を満たす監視データセットDSを選択してメモリ(RAM)30に格納する。言い換えれば、トレース制御部35は、バッファメモリ33に保持された監視データセットDSがトリガ条件を満たす場合には、当該監視データセットDSをメモリ(RAM)30に格納する。一方、トリガ条件を満たさない監視データセットDSは、バッファメモリ33のオーバーフローによって消去される。明細書では、このメモリ(RAM)30に格納されたN個の監視データからなる監視データセットDSをトレースデータとも呼ぶ。
【0026】
不揮発性メモリ(NVM)31には、適宜、メモリ(RAM)30内のトレースデータや、または、マイクロコントローラ32における演算過程の各種データ等が退避される。これにより、サーボアンプ1の電源8が遮断された後であっても、メモリ30内のトレースデータや、マイクロコントローラ32の各種データを参照することができる。
【0027】
例えば、情報処理装置6は、サーボアンプ1との間の通信経路を介してサーボアンプ1内の不揮発性メモリ31の記録情報を直接的に読み出すことができる。または、情報処理装置6は、上位コントローラ5との間の通信経路を介してサーボアンプ1内の不揮発性メモリ31の記録情報を間接的に読み出すことができる。これらの通信経路は、有線通信および無線通信を問わず任意の通信規格に基づくものであってよく、代表的には、USB(Universal Serial Bus)やRS-485等の産業用通信規格に準拠したものであってよい。
【0028】
また、上位コントローラ5および情報情報装置6は、それぞれ、有線ルータや、またはWi-Fi(登録商標)やBluetooth(登録商標)等の機能を備えた無線ルータ72を介して広域通信ネットワーク網70へ接続可能である。この場合、上位コントローラ5および情報情報装置6は、広域通信ネットワーク網70を介して、遠隔拠点に設置されたデータサーバ(クラウド)71、携帯型のタブレット端末73等と相互に通信することできる。
【0029】
《トレース機能の詳細》
図2は、
図1Aのモータ制御システムにおいて、トレース機能を担う各部の主要部の構成例を示すブロック図である。
図2には、
図1Aのモータ制御システムにおけるサーボアンプ(モータ制御装置)1、上位コントローラ5、情報処理装置6およびデータサーバ(クラウド)71が示される。これらの各部は、互いにデータを授受しながらトレース機能(例えば動作波形の再現等)を実現する。この際に、各部は、必要時に必要な箇所との間でデータを授受することでトレース機能を実現することができるため、全てが常時接続される必要はない。
【0030】
サーボアンプ1は、
図1Aに示した監視部37、バッファメモリ33およびメモリ(RAM)30に加えて、
図1Aのトレース制御部35に含まれる監視条件設定部102、データ選択部103、モデルデータ生成部104、相関算出部105、および不揮発領域退避部106を備える。上位コントローラ5は、記憶部530およびモデルデータ生成部504を備える。
【0031】
情報処理装置6は、記憶部630、モデルデータ生成部604、表示制御部606、表示部609、トリガ条件設定部607、およびデータファイル保存部608を備える。データサーバ71は、記憶部730、モデルデータ生成部704、およびソフトウェア更新部709を備える。以下、これらを用いて実現されるトレース機能の各種詳細について説明する。
【0032】
《トリガ条件設定機能およびトレース結果表示機能》
図2のサーボアンプ1において、監視条件設定部102は、例えば、監視部37に対して監視条件MCを設定する。監視条件MCには、例えば、監視周期、監視期間、計測レンジ等が含まれる。この例では、監視条件MCとして、予め定めた初期監視条件が用いられる。監視部37は、監視条件設定部102からの監視条件MCに基づいて、前述したようにモータ2またはサーボアンプ1から得られるN個の監視パラメータを監視し、当該N個の監視パラメータの監視データDを監視データセットDSとして取得する。
【0033】
この際に、監視データセットDSは、設定された監視期間の中で設定された監視周期毎に取得される。例えば、監視部37がアナログディジタル変換器(ADC)を含む場合、監視期間は、ADCのイネーブル期間に相当し、監視周期は、ADCのサンプリング周期に相当する。また、監視条件MC内の計測レンジは、ADCの入力レンジに相当する。監視部37は、このようにして取得した監視データセットDSを、逐次、バッファメモリ33に格納する。
【0034】
データ選択部103は、監視部37で取得された監視データセットDS(N個の監視データD)の中からトリガ条件TCを満たす監視データセットDSを選択してメモリ(RAM)30に格納する。言い換えれば、データ選択部103は、バッファメモリ33に格納された監視データセットDSがトリガ条件TCを満たすか否かを判別し、トリガ条件TCを満たす場合には当該監視データセットDSをメモリ30に格納する。
【0035】
図3は、
図2におけるデータ選択部の動作例を示す模式図である。
図3には、監視部37によって取得されるN個の監視データD1~Dnが時刻tに応じて変化する様子の一例が示される。N個の監視データD1~Dnは、監視データセットDSを構成する。ここで、
図3の例では、監視データD1に対するトリガ条件TC1として、所定の範囲が定められ、監視データD2に対するトリガ条件TC2として所定の範囲が定められている。
【0036】
データ選択部103は、各時刻t(各監視周期)で取得された監視データセットDS(N個の監視データD1~Dn)に対して、トリガ条件が設定されたM個(ここでは2個)の監視パラメータの監視データD1,D2がそれぞれトリガ条件TC1,TC2の範囲内に存在するか否かを判別する。具体的には、データ選択部103は、監視データD1がトリガ条件TC1の範囲内に存在し、なおかつ、監視データD2がトリガ条件TC2の範囲内に存在するか否かを判別する。
【0037】
そして、データ選択部103は、
図3に示されるように、トリガ条件TC1,TC2の範囲内に存在すると判別した監視データセットDSを選択してメモリ(RAM)30に格納する。一方、トリガ条件TC1,TC2の範囲内に存在しないと判別された監視データセットDSは、メモリ(RAM)30に格納されず、結果的に、
図2のバッファメモリ33からオーバーフローする形で消去される。そして、メモリ(RAM)30に格納された各監視データセットDSが、トレースデータTDとなる。
【0038】
ここで、トリガ条件TC1,TC2が適正であるほど、メモリ30内に、本来必要なトレースデータTDのみを格納することが可能になる。すなわち、トリガ条件TC1,TC2が適正で無く、例えば、広すぎる場合には、メモリ30内に本来不必要なトレースデータTDも多く格納されることになる。この場合、メモリ30内から本来必要なトレースデータTDを抽出するのに多くの労力が必要となる事態や、メモリ容量に依存して、本来必要なトレースデータTDを取得できない事態(すなわち取りこぼし)等が生じ得る。また、トリガ条件TC1,TC2が狭すぎる場合には、本来必要なトレースデータTDを一部しか取得できない事態(すなわち取りこぼし)等が生じ得る。
【0039】
一方、ユーザは、例えば、モータ制御システムに何らかの不具合が生じた場合等で、何らかのトリガ条件を定めてトレース(動作波形の再現等)を行うことを試みる。この際には、前述したように、トリガ条件TCは適正であるほど望ましい。しかし、トリガ条件TCを適正化するため、ユーザは、従来、根拠となる情報が不足する状態で場当たり的に試行錯誤を繰り返す必要があった。そこで、以下に述べる実施の形態1のトリガ条件設定機能を用いることが有益となる。
【0040】
トリガ条件TCは、
図2に示されるように、情報処理装置6を用いて設定される。情報処理装置6は、サーボアンプ1のメモリ(RAM)30(または
図1Aの不揮発性メモリ(NVM)31)に格納されたトレースデータTDを、ハードディスクドライブやRAM等の記憶部630にコピーする。表示制御部606は、例えば、CPUを用いたプログラム処理によって、このトレースデータTD内の所定の監視データDを表示したものである特性
図SPを作成し、当該特性
図SPを表示部609に表示させる。表示部609は、例えば、液晶ディスプレイ等である。
【0041】
図4は、
図2において、情報処理装置内の表示部の表示画面の一例を示す図である。
図4に示す表示画面は、上端部にメニューバー部61、中段左にツリー表示状のプロジェクト表示部62、下端にメッセージ表示部64、中段右に波形表示部67を備える。メニューバー部61には、例えば横一列に「ファイル」「編集」「表示」「コンフィグレーション」「パラメータ」「モニタ」「オートトリガ」といった機能の総称を示す文字表示が設けられる。ユーザが、例えば、マウス操作によって、ポインタを各文字へ近接させた上でクリック押下など任意の入力を行うと、対応する機能画面への遷移、または機能ウィンドウのポップアップ表示等が行われる。
【0042】
プロジェクト表示部62は、メニューバー部61で選択した各機能に対応するプロジェクトファイルに関連付けられたデータ類を、その代表名称と共にツリー状に表示する。メッセージ表示部64は、画面ソフトウェアの演算進行状況、ユーザの次の操作を促すガイダンスなどを示すとよい。
【0043】
波形表示部67には、前述した表示制御部606によって作成された特性
図SPが表示される。すなわち、表示制御部606は、まず、ユーザの命令に応じてN個の監視パラメータの中からM個(Mは2以上かつN以下の整数)の監視パラメータを定め、当該M個の監視パラメータに対応するM個の軸を有するグラフを作成する。この例では、モータ位置検出値P
FBおよびモータの実効電流値I
FBからなる2個の監視パラメータが定められ、モータ位置検出値P
FBおよび実効電流値I
FBは、それぞれ、X軸およびY軸に割り当てられる。
【0044】
そして、表示制御部606は、当該グラフ上に、記憶部630(ひいてはメモリ30)に格納されたトレースデータTD内の対応する監視データを表示することで、トレース結果となる特性
図SPを作成する。この例では、特性
図SPとして、トレースデータTDを構成する監視データセットDS毎に、モータ位置検出値P
FBと実効電流値I
FBとの対応関係をプロットした図が作成される。特性
図SPには、X軸Y軸に加え、適当なグリッド線や凡例が表示されてもよい。
【0045】
これにより、ユーザは、前回のトリガ条件TCに基づいて取得されたトレースデータTDを対象に、モータ位置検出値PFBと実効電流値IFBとの対応関係を視認することができる。また、ユーザは、グラフの軸に定める監視パラメータをN個の中から任意に選択できるため、モータ位置検出値PFBと実効電流値IFBとの対応関係に限らず、様々な観点での対応関係を視認することができる。さらに、ユーザは、グラフの軸の数を、2軸に限らず3軸等に定めることも可能である。
【0046】
ここで、ユーザは、このような特性
図SPを参照しながら、次回のトリガ条件TCを定めることができる。具体的には、
図2のトリガ条件設定部607は、特性
図SPを表示部609に表示させた状態で、当該特性
図SPにおけるM個(ここでは2個)の軸の範囲をトリガ条件TCとしてユーザに選択させる。トリガ条件設定部607は、例えば、CPUを用いたプログラム処理等によって実装される。
【0047】
図4の例では、ユーザは、例えば、マウスのドラッグ操作等を用いて特性
図SP内の任意の領域65(すなわち、次回、トレースしたい領域)を選択する。トリガ条件設定部607は、この領域65に対応する軸の範囲を検出する。トリガ条件設定部607は、領域65に対応する軸の範囲を検出すると、表示制御部606を介して表示部609を制御することで、波形表示部67にポップアップ画面66を表示させる。
【0048】
ポップアップ画面66には、トリガ条件設定部607によって検出された軸の範囲が表示され、これに加えて、「プロット参照」「適用」「取消」のボタンが設けられる。トリガ条件設定部607は、ユーザによって「適用」ボタンが押下された場合に、当該軸の範囲を次回のトリガ条件TCとして、
図2のサーボアンプ1内のデータ選択部103に設定する。
【0049】
一方、「取消」ボタンが押下された場合、トリガ条件設定部607は、次回のトリガ条件TCを更新することなくポップアップ画面66を波形表示部67から消去する。「プロット参照」ボタンが押下された場合、トリガ条件設定部607は、ポップアップ画面66を表示したまま、領域65の再設定(すなわちユーザによる再度のドラッグ操作)を受け付ける。また、ポップアップ画面66は、トリガ条件の設定に関連する各種チェックボックスやラジオボタン等の入力機能を備えてもよい。
【0050】
図5は、
図4におけるトリガ条件の設定方法の具体例を説明する図であり、
図6は、
図5に対応するトリガ条件設定部の処理内容の一例を示すフロー図である。
図5において、トリガ条件設定部607は、ドラッグ操作の際のマウスのON時点でのグラフ上のXY座標(X
1,Y
1)と、マウスのOFF時点でのXY座標(X
2,Y
2)とを認識する。トリガ条件設定部607は、X
1~X
2の範囲を、対応する監視パラメータ(例えばモータ位置検出値P
FB)のトリガ条件TCに定め、かつ、Y
1~Y
2の範囲を、対応する監視パラメータ(例えば実効電流値I
FB)のトリガ条件TCに定める。
【0051】
図6において、トリガ条件設定部607は、メッセージ表示部64に初期メッセージを表示し(ステップS1)、ユーザに領域65を入力される(ステップS2)。続いて、トリガ条件設定部607は、入力された領域65の最大・最小座標を演算し(ステップS3)、当該演算結果に基づいてポップアップ画面66に表示する数値を更新する(ステップS4)。その後、トリガ条件設定部607は、メッセージ表示部64に、更新した数値の適用可否をユーザに判断させるためのメッセージを表示する(ステップS5)。
【0052】
図7は、
図4におけるトリガ条件の設定方法の別の具体例を説明する図である。
図7において、トリガ条件設定部607は、前述したような2点のXY座標(X
1,Y
1),(X
2,Y
2)に基づいて2点間の距離rを求め、初期座標(X
1,Y
1)に対しX軸、Y軸共に±rの範囲に収まる領域を領域65に定める。
【0053】
図8は、
図4におけるトリガ条件の設定方法の更に別の具体例を説明する図であり、
図9は、
図8に対応するトリガ条件設定部の処理内容の一例を示すフロー図である。
図8には、複数座標を包絡する領域を領域65として指定する方法が示される。トリガ条件設定部607は、例えば「Ctrlキー」等の入力中におけるクリックを検知する毎にカーソル座標を(X
1,Y
1),…,(X
n,Y
n)と記録する。そして、トリガ条件設定部607は、X
1~X
nの中の最大値および最小値によってX軸の範囲を定め、Y
1~Y
nの中の最大値および最小値によってY軸の範囲を定め、これらの範囲に基づいて領域65を定める。この場合のトリガ条件設定部607の処理内容は、
図9に示されるように、ステップS2の中に「Ctrlキー」の確認が入ることを除いて
図6の場合と同様である。
【0054】
なお、トリガ条件の設定方法は、これら3つの具体例に限らず、様々な方法を用いることが可能である。例えば、トリガ条件設定部607が
図7に示した初期座標(X
1,Y
1)および距離rをデータ選択部103へ送信し、データ選択部103が座標(X
1、Y
1)を中心とした半径rの円領域とトリガ条件TCとして認識することも可能である。または、トリガ条件設定部607が
図8のような複数の座標情報をデータ選択部103へ送信し、データ選択部103が線形補間した多角形領域をトリガ条件TCとして認識することも可能である。また、ユーザがキーボード操作を介してトリガ条件TCの範囲を直接的に数値入力できるように構成することも可能である。
【0055】
以上のようなモータ制御システムを用いることで、ユーザは、任意の監視パラメータを軸とする特性
図SPを視認しながら、当該特性
図SPに基づいてトリガ条件TCを定めることができる。これにより、ユーザは、トリガ条件TCを定めるための有益な情報を特性
図SPによって得ることができ、結果として、モータ制御システムは、ユーザに適正なトリガ条件TCを設定させることが可能になる。また、これにより、ユーザがトレース結果に基づいて各種解析を行う際の解析効率を高めること等が可能になる。
【0056】
具体例で説明すると、例えば、一般的なトレース結果として、時間軸上の電流値変化の波形等を得ることができる。ただし、この際に電流値に何らかの異常が有ったとしても、対応する時刻情報からその原因を突き止めるのは容易でない場合がある。一方、例えば、
図4に示したように、モータ電流値とモータ位置との対応関係を観点にすると、ユーザは、異常の要因の一つにモータ位置が挙げられることを推察することができる。
【0057】
ユーザは、この対応関係に基づいて、更にトリガ条件TCを絞り込むことができる。例えば、電流値に加えてモータ位置をトリガ条件TCに含ませることで、限られた容量のメモリ30を用いて、例えば、時間軸上で周期的に生じているような異常の現象を、ごく一部の少ない周期ではなく、より多くの周期を対象として捉えることができる。そして、ユーザは、トリガ条件TCを絞り込んだ後の結果に対して、例えば、その他の監視パラメータを含めた対応関係等も適宜参照すること等で、異常の真の原因を追求することができる。
【0058】
《モデルデータ生成機能》
図10は、
図4とは異なる表示画面の一例を示す図である。
図10の表示画面は、
図4の表示画面とは波形表示部67の表示内容が異なっている。
図10の波形表示部67には、トレース結果の他の一つとして、電流値の時間変化の波形が表示される。この場合、
図2の表示制御部606は、ユーザからの指示に応じて、X軸の監視パラメータを時刻、Y軸の監視パラメータを電流値に割り当てた状態でグラフを作成すればよい。この際に、ユーザは、表示制御部606に対して、プロット図または折れ線グラフといったグラフの表示形式も選択可能である。
【0059】
また、ユーザは、波形表示部67へ表示させたいトレースデータTDをプロジェクト表示部62から選択することができる。具体的には、例えば、
図2の監視部37およびデータ選択部103等によってk回目のトレースが行われると、メモリ(RAM)30に、k回目のトレースによって得られたトレースデータTDが格納される。当該トレースデータTDは、別途、
図1Aの不揮発性メモリ(NVM)31に転送される。同様にして、k+1回目のトレースが行われると、k+1回目のトレースによって得られたトレースデータTDがメモリ(RAM)30に格納されたのち、別途、不揮発性メモリ(NVM)31に転送される。
【0060】
このようにして、不揮発性メモリ(NVM)31(ひいては、
図2の情報情報処理6内の記憶部630)には、複数回のトレースに対応する複数のトレースデータTDが格納される。ユーザは、この複数のトレースデータTDの中から波形表示部67へ表示させたいトレースデータTDを単数または複数選択することができる。この例では、プロジェクト表示部62中のツリー「保存データ」配下に各トレースデータTDの名称と、対応するチェックボックスとが表示される。表示制御部606は、ユーザによって当該チェックボックスがチェックされると、対応するトレースデータTDのトレース波形を作成する。
【0061】
さらに、表示制御部606は、
図10に示されるように、波形表示部67にモデル波形を表示させることも可能である。具体的には、
図2において、情報処理装置6内のモデルデータ生成部604は、監視データD(トレースデータTD)のティピカルデータとなるモデルデータMDを生成する。表示制御部606は、選択されたトレースデータTDに基づくトレース波形に加えて、当該モデルデータMDに基づくモデル波形を作成し、選択されたトレースデータTDに加えてモデルデータMDを表示した特性
図SPを表示部609に表示させる。
【0062】
モデルデータMDとは、各時刻において、監視パラメータ毎の通常時のデータ(すなわちティピカルデータ)を、例えば、予め学習によって推定したものである。
図10のように、トレース波形とモデル波形とを並べて表示することによって、ユーザは、トレース波形の固有の偏差を視覚的に認識することができる。なお、モデルデータ生成部604は、例えば、CPUを用いたプログラム処理等によって実装される。
【0063】
図11は、
図2におけるモデルデータ生成部の処理内容の一例を説明する図である。
図11では、前提として、例えば、正常状態のシステムに対して、予め所定の期間をトリガ条件TCとすることで4回分の固定周期トレースが行われている。モデルデータ生成部604は、記憶部630に格納された当該4回分のトレースデータ300A~300Dを参照する。各回のトレースデータには、時刻、位置、電流、その他の監視パラメータが含まれる。
【0064】
モデルデータ生成部604は、例えば、位置に対する電流の出現頻度を分析することで、位置を引数とした各回の電流の平均値を、データテーブル300R(すなわちモデルデータMD)として作成することができる。これにより、表示制御部606は、その後に所定のトリガ条件TCで取得したトレースデータ300Eの波形を作成する際に、当該トレースデータ300Eの各時刻の位置情報を抽出し、その位置情報に対応する平均電流をデータテーブル300Rから取得することができる。その結果、表示制御部606は、取得した平均電流に基づいてモデル波形を作成することができる。
【0065】
なお、ここでは4回の平均値でモデルデータMDを生成する例を述べたが、モデルデータMDの算出方法は、これに限らず、例えばニューラルネット等の学習演算の手法を用いてもよい。例えば、
図2に示したように、モデルデータ生成部は、情報処理装置6上に限らず、サーボアンプ1上、上位コントローラ5上、データサーバ(クラウド)71上等に実装されてもよい。
【0066】
この場合、例えば、サーボアンプ1のメモリ(RAM)30のデータは、順次、上位の装置へと転送される。すなわち、メモリ(RAM)30のデータは、上位コントローラ5および情報処理装置6の記憶部530,630へ転送され、記憶部530のデータは、情報処理装置6およびデータサーバ71の記憶部630,730へ転送され、記憶部630のデータは、データサーバ71の記憶部730へ転送される。
【0067】
逆に、データサーバ71のモデルデータ生成部704で生成されたモデルデータMDは、順次、下位の装置へと転送される。すなわち、モデルデータ生成部704からのモデルデータは、情報処理装置6および上位コントローラ5のモデルデータ生成部604,504へ転送され、モデルデータ生成部604からのモデルデータおよびモデルデータ生成部504からのモデルデータは、サーボアンプ1のモデルデータ生成部104へ転送される。
【0068】
各転送先でのモデルデータ生成部は、上位より転送されたモデルデータで自身のモデルデータを更新するような機能を持つ。モデルデータ生成部は、本質機能が学習であるため、より多くの学習データを収集することで高度な推定が可能になる。そこで、このように階層的な情報伝達システムの構成を用いれば、より多くの情報がより高い計算能力をもつ計算機へと集まるようになり、各階層の計算能力の最小化と高度な推定演算を両立する低コストのシステムを実現できる。
【0069】
《相関算出機能》
前述したように、サーボアンプ1の不揮発性メモリ(NVM)31には、メモリ(RAM)30に格納されたトレースデータTDが、適宜、退避される。この際に、サーボアンプ1は、メモリ(RAM)30に格納された全てのトレースデータTDを不揮発性メモリ(NVM)31に退避させるのではなく、選択的に退避させることも可能である。これに関して、以下に説明する。
【0070】
図2のサーボアンプ1内の相関算出部105は、モデルデータ生成部104からのモデルデータMDとメモリ(RAM)30に格納されたトレースデータTDとの相関を算出する。この際に、モデルデータMDに基づくモデル波形とトレースデータに基づくトレース波形とで、トレース初期時刻または初期位相が異なる可能性がある。この場合、相関算出部105は、モデル波形の初期時刻または初期位相をずらしながら最大となる相関を求めるとよい。この相関算出の際に、相関算出部105は、例えばピアソンの相関係数を用いてもよい。
【0071】
図2の不揮発領域退避部106は、相関算出部105で算出された相関値に基づいて、メモリ(RAM)30内のトレースデータTDを、
図1Aの不揮発性メモリ(NVM)31へ退避する。例えば、相関値が1であれば正常な繰り返し挙動であると判断できるため、データの退避は必須ではない。また、相関値が0の場合には、明らかに挙動が変化しており、上位コントローラ5等でも検知できるため、データの退避は必須ではない。
【0072】
しかし、相関値が例えば0.95から0.90に変化した場合など、わずかに変化した場合には、細かい変化であるため上位コントローラ5等では検知できず、サーボアンプ1でなければ検知できない可能性がある。このため、このような場合に、不揮発領域退避部106は、メモリ(RAM)30内の対応するトレースデータTDを不揮発性メモリ31へ退避するとよい。なお、不揮発領域退避部106は、相関値だけでなく、例えば、トレースデータTDとモデルデータMDとの間の特徴量の比較結果等に基づいて退避要否を判定してもよい。特徴量として、平均値や実効値といった各種パラメータのいずれか、または各種パラメータの組み合わせを用いる方法等が挙げられる。
【0073】
なお、
図2において、情報処理装置6内のデータファイル保存部608は、情報処理装置6内の各部の処理データや、サーボアンプ1より収集したトレースデータTDを情報処理装置6のハードディスク等の記憶媒体(記憶部630を含む)に保存する。これによって、各種データを再利用することが可能になる。また、データサーバ71内のソフトウェア更新部709は、上位コントローラ5のファームウェアや、情報処理装置6内の各部のアプリケーションプログラムに対するアップデートを行う。これによって、例えば、各種学習機能の高度化などが可能になり、トレース波形収集の可用性を高めることに貢献できる。
【0074】
《実施の形態1の主要な効果》
以上、実施の形態1のモータ制御システムを用いることで、代表的には、ユーザに適正なトリガ条件を設定させることが可能になる。これにより、ユーザがトレース結果に基づいて各種解析を行う際の解析効率の向上や、トレースに用いるメモリ(すなわちメモリ(RAM)30)の容量削減等が図れる。
【0075】
(実施の形態2)
《トレース機能の詳細》
図12は、本発明の実施の形態2によるモータ制御システムにおいて、トレース機能を担う各部の主要部の構成例を示すブロック図である。
図12に示すモータ制御システムは、
図2に示した構成例に対して、さらに、次のようなブロックが追加されている。すなわち、
図12の情報処理装置6は、CPUを用いたプログラム処理等によって実装される物理モデル入力部601、監視条件決定部602、稼働マップ生成部603およびトリガ条件変更部605をさらに備える。また、
図12のデータサーバ(クラウド)71は、CPUを用いたプログラム処理等によって実装される監視条件決定部702および稼働マップ生成部703をさらに備える。
【0076】
《物理モデル編集機能》
情報処理装置6内の物理モデル入力部(負荷情報入力部)601は、表示部609の表示画面を介して、ユーザに、
図1Aのモータ負荷3の負荷情報を入力させるためのGUI(Graphical User Interface)を提供する。
図13は、
図12の物理モデル入力部によって表示部に表示される表示画面の一例を示す図である。
図13に示す表示画面は、
図4に示した波形表示部67の位置にモデル編集部63が表示されたものとなっている。
【0077】
ユーザは、モデル編集部63を介して、モータ負荷3の負荷情報(例えば接続状態)を入力することができる。具体例として、物理モデル入力部601は、例えば、ユーザによるドラッグアンドドロップ操作等に応じて、予めライブラリに登録された複数種類のモデル群の中から所望のモデルをモデル編集部63上にアイコンとして配置する。さらに、物理モデル入力部601は、ユーザによるクリック操作等に応じて、配置された各モデルが備えるノード端子の間を結線する。
【0078】
モデル群の中には、例えば、モータ、シャフト、ギア、カムなど、機能分類ごとに統一されたモデルが設けられる。また、モデル編集部63上に配置されたモデル(アイコン)に対しては、個々の詳細な特性や性能を示すパラメータ等を独立して入力できるように構成される。これにより、各モデル内部またはモデル間の物理的な接続形態を模式的に表示できると共に、表示画面を簡素化でき、ユーザに対して直感的な操作性を提供できる。
【0079】
例えば、モータ負荷3は、
図13に示されるように、複数のシャフトモデル(S1~S3)を、ギア・プーリ等のモデル(G)で連結することで描画される。この際には、モータモデル(M)毎にモータ負荷3が接続されるため、入力後のモデル群は、モータモデル(M)を起点とした樹形図状になる。
【0080】
このため、物理モデル入力部601は、例えば、モータモデル(M)の配置領域を画面左端に制限したり、または、モータモデル(M)から順次右方向に所望のモデルが配置されるように制限するといったように、配置箇所や配置方向に制限を加えてもよい。これにより、入力後のモデル群は網目状に配置されるため、解読が複雑になる等のリスクを軽減できる。
【0081】
また、物理モデル入力部601は、モデル編集部63上に配置されたモデルがダブルクリック等で選択された場合、ユーザによるパラメータ入力が可能なポップアップ画面69を起動する。そして、ユーザは、例えばシャフトモデルS2に対応するポップアップ画面69を介して、材質、形状、外径、内径、長さ等、シャフトの物性を示す諸元をキーボード入力したり、または、プルダウンメニューによって選択することが可能となっている。また、モデルの中には、カムを代表に、モータ位相に対して変動するものを含まれる。そこで、物理モデル入力部601は、カムモデル(L1)等に対応するポップアップ画面69上にはX-Yプロット軸等を表示させる。ユーザは、当該X-Yプロット軸に対して、マウス等のクリック操作でカム曲線を入力することができる。
【0082】
図12の監視条件決定部602は、物理モデル入力部(負荷情報入力部)601で入力されたモデル情報(負荷情報)に基づいて、サーボアンプ1内の監視部37で用いる監視条件MCを決定する。監視条件MCには、監視部37における監視周期(例えば、ADCのサンプリング周期)や、または、当該監視周期で継続的に監視を行う際の監視期間(例えば、ADCのイネーブル周期)等が含まれる。サーボアンプ1内の監視条件設定部102は、この監視条件決定部602からの監視条件MCを監視部37に設定する。
【0083】
例えば、シャフトモデルの材質や外径・内径というパラメータからは、シャフトのもつ慣性モーメントを情報として得ることができる。この慣性モーメントに対して、別途入力されたサーボアンプ1のサーボ性能(具体的には出力できるトルク)が慣性モーメントに対して十分か否か等を考慮することで、想定するモータ負荷3に対する制動時間などを推定できる。
【0084】
このため、監視条件決定部602は、物理モデル入力部601で入力されたモータ負荷3を対象とする場合の、適切な監視期間の長さを予め推定できる。さらに、監視条件決定部602は、シャフトの長さ等を考慮することで軸のねじれ量を推定でき、ねじれに対して十分な分解能が得られるような監視周期(サンプリング周期)を推定することも可能である。これにより、監視期間が短くなるリスクを軽減でき、また、監視周期が過度に短くなるような事態を抑制でき、トレースに要するメモリ(RAM)30の容量を節約できる。
【0085】
具体的なプログラム例として、監視条件決定部602は、例えば、慣性モーメントに対して任意の比例定数を乗算することで監視期間を算出する処理や、または、監視周期をシャフトの長さの逆比例式で算出する処理等を実行すればよい。この算出の際に使用する式や定数は、個々の物理モデルの特性に合わせて予め定められる。
【0086】
また、
図12に示すとおり、データサーバ71上に監視条件決定部702を設け、例えば、情報処理装置6で得られたモデル情報を一旦データサーバ71へ転送し、データサーバ71で監視条件MCを演算し、この演算結果を情報処理装置6へ戻す構成であってもよい。このように、データサーバ71を利用する形態であれば、より多くのサンプルをモデル情報の学習に活用できるため、出力値の精度向上や物理モデルの高度化への貢献が期待できる。また、監視条件決定部の一形態として、サーボアンプ1のフィードバック制御を模擬するシミュレーション機能を内蔵してもよい。
【0087】
《稼働マップ生成機能》
図12の稼働マップ生成部603は、物理モデル入力部(負荷情報入力部)601で入力されたモデル情報(負荷情報)に基づいて、モータ2の回転位相とモータ負荷3の稼働範囲との関係を示した稼働マップWMを生成する。
図14は、
図12における稼働マップ生成部によって生成される稼働マップの概要を説明する模式図である。
図14において、横軸はモータ2の回転位相であり、縦軸には、モータ負荷3の稼働範囲の例として、負荷Aおよび負荷Bの稼働範囲が示される。
【0088】
ここでは、物理モデル入力部601で入力されたモデル情報に基づき、負荷Aは、モータ2の1回転毎に1度、負荷Bは、モータ2の3回転毎に2度の比率で稼働するようギアで結合されている場合を想定する。また、負荷Aおよび負荷Bは、共にカム等で稼働させるものとし、モータ2の回転挙動に対して負荷A,Bが周期的に稼働される場合を想定する。
【0089】
図14において、負荷Aの稼働範囲(言い換えれば負荷継続時間)は“L
A”であり、発生周期は“L
1”であり、初期位相は“ΔP
1”である。また、負荷Bの稼働範囲は“L
B”であり、発生周期は“L
2”であり、初期位相は“ΔP
2”である。稼働範囲L
A,L
Bは、
図13に示したカム曲線に基づいて定められ、発生周期L
1,L
2は、ギア比に基づいて定められる。
【0090】
このモデルでは、初期位相に関わらず最低3回転分の回転位相で負荷A,Bの稼働範囲をマップ化できる。稼働マップ生成部603は、
図14に示されるように、この3回転分の回転位相におけるマップを、回転1回ごとの発生頻度情報へ分解した後、モータ2の回転位相に対するヒストグラムへ集約することで稼働マップWMを生成する。
【0091】
図15は、
図12における稼働マップ生成部の処理内容の一例を示すフロー図である。
図15において、稼働マップ生成部603は、ギア比の最小公倍数でマップ長を例えば配列として準備し(ステップS11)、ギア・カム定数から軸上の負荷点(負荷の稼働範囲)を割り付ける(ステップS12)。続いて、稼働マップ生成部603は、配列の全長をモータ2の回転周期単位で区切り(ステップS13)、各回転周期毎に各負荷点の出現頻度を集計する(ステップS14)。これに基づいて、稼働マップ生成部603は、例えば、モータ2の回転位相と負荷点との関係を表す行列データ等を稼働マップWMとして生成する(ステップS15)。
【0092】
ここで、ステップS12の負荷点の情報は、例えば、負荷点有り時には配列データ“1”に、負荷点無し時には配列データ“0”に定められる。カムの負荷点は、例えば、
図13のポップアップ画面69上で入力されたカム曲線を、所定の閾値(例えば勾配の閾値等)を用いてパルス波形に変換すること等で定められる。また、ステップS15において、稼働マップ生成部603は、例えばニューラルネットワークなどの手法を用いて、生成した稼働マップWMを繰り返し学習することでニューラルネットワークの重みづけ係数を決定してもよい。
【0093】
この場合、
図12に示されるように、データサーバ71上に稼働マップ生成部703を設け、情報情報装置6が、モデル情報を一旦データサーバ71へ転送し、稼働マップ生成部703が、ニューラルネットワークの重みづけ係数を演算したのち、当該演算結果を情報処理装置6へ戻せばよい。このように、データサーバ71を利用する形態であれば、より多くのサンプルを学習に活用できるため、稼働マップWMの精度向上への貢献が期待できる。
【0094】
ここで、
図4等に示したように、ユーザは、実稼働データに基づく特性
図SP上で領域65を選択することで、モータ位置を含むトリガ条件TCを定めることが可能であった。ただし、例えば、ギアやカムを用いたモータ負荷3を稼働するサーボシステムの場合、領域65の選択に伴いトレース対象に定められる負荷は、一つの位相帯に限らず複数の位相帯で等しく稼働状態となっている場合がある。この場合、本来トレース対象であるべき位相帯がトレース対象から除外される恐れがある。
【0095】
例えば
図14の例では、負荷Bの負荷点は、モータ2の0~2πの回転位相の中で、異なる2つの位相帯に存在しており、特性
図SP上の領域65によっていずれか一方の位相帯をトリガ条件TCとして選択しても、他方の位相帯がトリガ条件TCから除外され得る。この場合、例えば、モータ負荷3における異常の兆候を十分に検知できない恐れがある。
【0096】
そこで、
図12のトリガ条件変更部605は、稼働マップ生成部703からの稼働マップWMに基づいて、モータ負荷3の稼働範囲がモータ2の回転位相における第1の位相範囲の他に第2の位相範囲にも存在しているか否かを判定する。そして、トリガ条件変更部605は、トリガ条件TCが第1の位相範囲であった場合には、トリガ条件TCに第2の位相範囲を追加し、当該トリガ条件TCをサーボアンプ1内のデータ選択部103に設定する。これにより、モータ負荷3における異常の兆候を逃さず検知することが可能になる。
【0097】
なお、
図4に示したポップアップ画面66上には、2個のチェックボックスが設けられる。この内、「サンプリングの間隔を自動化する」のチェックボックスにチェック入力が行われると、
図12の監視条件決定部602が前述したような方法で監視条件MCの決定を行う。一方、「相関の強いデータは他位置もサンプリングする」のチェックボックスにチェック入力が行われると、
図12のトリガ条件変更部605が前述したような方法でトリガ条件TCの変更を行う。
【0098】
《実施の形態2の主要な効果》
以上、実施の形態2のモータ制御システムを用いることで、実施の形態1で述べた各種効果に加えて、さらに、ユーザにモータ負荷3の物理モデルを入力させることで、監視周期や監視期間の適正化が図れ、限られた容量のメモリ(RAM)30を二通手効率的なトレースを行うことが可能になる。また、この物理モデルの入力に際して、ユーザは、機械工学・制御工学に精通せずとも、部品カタログの物性データや機器接続図を参照することで足りる。さらに、物理モデルに基づいて稼働マップを生成することで、トリガ条件TCを、取りこぼしが生じないように適正に変更することが可能になる。
【0099】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【符号の説明】
【0100】
1 サーボアンプ(モータ制御装置)
2 モータ
3 モータ負荷
6 情報処理装置
30 メモリ(RAM)
37 監視部
63 モデル編集部
65 領域
67 波形表示部
103 データ選択部
104,504,604,704 モデルデータ生成部
601 物理モデル入力部(負荷情報入力部)
602,702 監視条件決定部
603,703 稼働マップ生成部
605 トリガ条件変更部
606 表示制御部
607 トリガ条件設定部
609 表示部
D 監視データ
DS 監視データセット
MC 監視条件
MD モデルデータ
SP 特性図
TC トリガ条件
TD トレースデータ
WM 稼働マップ