以下、本発明の実施の形態について説明する。以下で説明する各実施の形態は、本発明を実現するための一例であり、本発明の技術範囲を限定するものではない。なお、実施例において、同一の機能を有する部材には同一の符号を付し、その繰り返しの説明は、特に必要な場合を除き省略する。
〈全体概要〉
最初に、本発明を適用した実施の形態の概要を説明する。以下の実施形態は、複数の産業機器が連携して動作する産業機器システムにおいて、該システムで用いられる電動機の動力を負荷側装置に伝達する動力伝達機構を管理する、動力伝達機構管理装置(以下、単に「管理装置」と言う)として実現される。
この管理装置は、電動機に対するフィードバック制御を行うことにより、動力伝達機構の動作が、該動力伝達機構と連携する連携機器の動作に対応するように、動力伝達機構を動作させる動作制御部と、
管理プログラム(第1の管理プログラム)を作業用のメモリに展開して実行することにより、電動機から動作制御部に入力(フィードバック)される入力情報のデータ(以下、「関連データ」と言う場合がある)を用いて、信号を通じて動力伝達機構の状態を管理する状態管理部と、
動力伝達機構の種類に応じた管理プログラム(第2の管理プログラム)を取得するように、外部装置と通信する外部通信部(「管理プログラム取得部」と称することもできる)と、
取得された前記管理プログラム(第2の管理プログラム)を、上記作業用のメモリ内の管理プログラム(第1の管理プログラム)と置き換えて、記状態管理部が実行できるように更新する更新部と、を備える。
上記のような構成を備えることにより、管理装置に実装されるソフトウェア機能や当該ソフトウェア機能に派生ないし関連した関連データの追加や変更を、容易に実現することが可能となる。
以下、上記の構成をより具体化した実施の形態を、図面を参照して詳細に説明する。なお、以下の例では、動作制御部、状態管理部、管理プログラム取得部、および更新部の諸機能を同一(単一)のハードウェア・プロセッサで実行する例を説明するが、他の例として、これら諸機能を複数のハードウェア・プロセッサで実行する構成としてもよい。
(実施の形態1)
図1は、実施の形態1における動力伝達機構管理装置(電動機制御装置)および産業機器システム(プログラム管理システム)の構成を説明するためのブロック図である。以下、図1に示す産業機器システム1を、適宜「本システム」と略称する。
本システムは、複数の産業機器が連携して動作するように構築されるものであり、図1では、そのうちの一部の主要な機器を抽出して示している。具体的には、本システムを構成する機器としては、コントローラ2、電動機制御装置3、電動機4、動力伝達機構(図1ではボールネジ5を例示する)、操作端末6、サーバ10、搬送方向におけるボールネジ5の上流側に配置された上流側装置60、同下流側に配置された負荷側装置としての下流側装置70、などが挙げられる。
本システムを構成する上記の各装置(産業機器)のうち、電動機制御装置3の主たる役割は、電動機4および電動機4に接続された動力伝達機構の動作を制御することである。加えて、実施の形態の電動機制御装置3では、動力伝達機構の状態(異常の有無)を診断する機能をも実装することができる。
上記のうち、動力伝達機構と、負荷側装置とは、いずれも電動機4の動力が伝達および利用される点では同じであるが、通常、負荷の大小関係でいえば、動力伝達機構の負荷の方が小さい場合が多い。但し、動力伝達機構に設定されたギヤ比や、動力伝達機構内の可動部の質量などによっては、動力伝達機構の方が負荷側装置よりも負荷が大きくなる場合もあり得る。なお、以下は、説明の便宜のため、負荷側装置よりも動力伝達機構の方が負荷が小さい場合を前提とする。また、電動機制御装置3における動力伝達機構の異常の有無を診断する機能の詳細については後述する。
一具体例として、本システムは、複数の部品を組み立てて製造される電化製品の組み立て工場内に設置される複数の産業機器からなるシステムを想定する。但し、本実施の形態では、個々の産業機器が設置(配置)される場所等は、特に制限されるものではなく、他にも、任意の施設内、建設現場などの種々の場所に配置されることができる。
また、本システムでは、装置(産業機器)間、特に、コントローラ2、電動機制御装置3、操作端末6、およびサーバ10間の動作の連携を図るため、既存の通信網(この例では、公共通信網である広域通信ネットワーク100、産業用通信網による通信ネットワーク102)を通じて相互にデータの送受信ができるように接続される。このうち、サーバ10、操作端末6などは、本システムを構成する他の産業機器とは遠隔の場所に配置されることができる。
<サーバ>
サーバ10は、ソフトウェア機能プログラムを提供するサーバ(例えばFTPサーバ)であって、「外部装置」に対応する。かかるサーバ10は、CPUなどのプロセッサ、モデムなどの通信部、HDDなどのデータ記憶部、LCDなどの表示部、キーボードやマウスなどの操作入力部を備えている。これらは公知の構成であるため図示および詳述を省略する。
図1に示す例では、サーバ10は、上記のデータ記憶部に、異常検知プログラムライブラリ群11および異常検知データライブラリ群12を格納している。このうち、異常検知プログラムライブラリ群11は、電動機制御装置3によって取得および実行される異常検知プログラム(適宜、図1を参照)が複数(N種類)分集められたものである。
ここで、「複数(N種類)」は、特に限定されるものではなく任意の数とし得るが、例えば、本システムで使用が想定され得る動力伝達機構の種類に応じてN種類の異常検知プログラムとすることができる。あるいは、異常検知プログラムは、使用される動力伝達機構の種類が同一であっても、電動機制御装置3で制御される電動機4の種類(型番等)に応じて、異なる種類のプログラムとされ得る。さらに、異常検知プログラムは、動力伝達機構の種類および電動機4の種類(型番等)が同一であっても、いわゆるバージョンアップ後の異常検知プログラムについては、バージョンアップ前の異常検知プログラムとは種類が異なるものとして扱われることができる。
一方、サーバ10内の異常検知データライブラリ群12は、上述した複数(N種類)分の異常検知プログラムの各々で使用されるデータ(関連データ)である。この関連データとしては、例えば、異常検知プログラムで特定種類の動力伝達機構の異常の有無を判定するために用いる種々の情報、例えば電動機4の入力情報(波形データなど)、使用される関数や異常の有無に関する閾値などのデータが含まれる。
なお、以下の説明では、上記の関連データまたは関連データの一部は、対応する異常検知プログラムの実行に伴って電動機制御装置3で取得できるデータであることを前提とする。このため、本システムでは、複数(N種類)分の異常検知プログラムの全ての関連データを異常検知データライブラリ群12としてサーバ10に用意しておく必要はない。一方で、サーバ10から供給される異常検知プログラムを電動機制御装置3で初めて使用(実行)する場合に何等かの基準値ないし初期値を設定する必要があり得る。このため、異常検知データライブラリ群12は、上述した複数(N種類)分の異常検知プログラムの各々で使用されるデータ(関連データ)のうち、必要最低限のデータ(基準値、初期値など)を含めることが望ましい。
さらに、ソフトウェア開発者が既存の異常検知プログラムをバージョンアップして異常検知プログラムライブラリ群11に追加する、あるいは新たな機能や制御手法等を備えた異常検知プログラムを開発するような場合、電動機制御装置3で取得された関連データ(いわゆる実測データ)が参考になることが多いと考えられる。このため、本システムでは、電動機制御装置3側で取得された関連データを、上述した通信網(100,102)を通じて、サーバ10に直接あるいはコントローラ2経由でサーバ10に送信(提供)できるようにするとよい。このようなデータ提供を行うことにより、サーバ10内の異常検知プログラムライブラリ群11が充実化されることが期待できる。
<コントローラ>
本システムにおいて、コントローラ2は、本来の主要な役割は電動機制御装置3に制御信号(電動機4の動作開始や停止などの指令、予め設定(予約)される電動機4の基本動作に関する設定信号など)を出力するものである。コントローラ2は、例えば、PLC(Programmable Logic Controller)、モーションコントローラなどが挙げられる。
また、本実施の形態では、コントローラ2は、電動機制御装置3が使用するソフトウェア機能プログラムを保存および管理する機能、さらには、当該ソフトウェア機能プログラムの実行により生成される上述した関連データを保存および管理する機能をも有する。したがって、コントローラ2も「外部装置」に対応する。
かかるコントローラ2は、コントローラ2全体の制御を司るCPU20、有線または無線通信を行うための通信カードなどの通信部、HDDなどのデータ格納部、LCDなどの表示部、キースイッチなどの操作入力部を備えている。なお、上述のハードウェア構成自体は公知であるため、適宜その詳述を割愛する。
図1では、コントローラ2のデータ格納部に、プログラムライブラリ21として3種類の異常検知プログラム(A)211、(B)212、および(C)213が格納され、データライブラリ22としてこれら異常検知プログラムで使用されるデータ(221~223)が記憶された例を示している。すなわち、データライブラリ22における異常検知データ(A)221は異常検知プログラム(A)211用に使用されるデータであり、異常検知データ(B)222は異常検知プログラム(B)212用に使用されるデータであり、異常検知データ(C)223は、異常検知プログラム(C)213用に使用されるデータである。
また、コントローラ2のCPU20は、データ格納部内の異常検知プログラム(A)211、(B)212、および(C)213のうち任意のプログラム(第2の管理プログラム)を、通信部を介して電動機制御装置3に出力する出力制御部としての機能を担う。
加えて、コントローラ2のCPU20は、データ格納部に格納されている異常検知プログラムと、電動機制御装置3のライブラリ用のメモリ32に格納されている異常検知プログラムおよび異常検知データ(以下、異常検知プログラム等という)との同一性をチェックする等により、電動機制御装置3で使用される異常検知プログラム等を管理する機能を有する。
一具体例では、コントローラ2のデータ格納部は、電動機制御装置3のライブラリ用のメモリ32よりもより多くのデータ(異常検知プログラムおよび異常検知データ)を格納できるだけの容量を有する。このような構成とすることにより、例えば、使用頻度が低くなった電動機制御装置3内の異常検知プログラム等をコントローラ2のデータ格納部に保管しておき、代わりに、近い将来に使用される異常検知プログラム等をコントローラ2から電動機制御装置3(メモリ32)内に移動しておく、等の管理がしやすくなる。
<操作端末>
操作端末6は、本システムを構成する任意の装置、例えば、サーバ10、コントローラ2、および電動機制御装置3に対して種々の指令を出力する機能を有する。図1に示す例では、操作端末6は、ノート型PCであり、上述したコントローラ2と比較して、より広い面積の表示部、より多くのキースイッチ、より大容量のデータ記憶部を備えている。このため、操作端末6は、コントローラ2と同様に、「外部装置」として機能させてもよい。但し、説明が複雑になることを避けるため、操作端末6に関し、以下は操作端末6特有の機能等についてのみ言及する。また、操作端末6のハードウェア構成は上述したサーバ10と同等であり且つ公知であるため、図示および詳述を省略する。
<通信網>
本システムにおいて、コントローラ2、電動機制御装置3、操作端末6、およびサーバ10は、広域通信ネットワーク100(公共通信網)を介してそれぞれ相互にデータの授受が可能となっている。例えば、操作端末6をユーザが操作することにより、サーバ10およびコントローラ2の操作・監視をすること、コントローラ2から電動機制御装置3の稼働状態をサーバ10や操作端末6へ送信すること、などを行うことができる。
広域通信ネットワーク100は、有線のほか無線によって実現してもよい。例えば、装置間で無線通信を行う場合、Wi-Fi(登録商標)やBluetooth(登録商標)などの通信プロトコルに沿ったアクセスポイント101を広域通信ネットワーク100の内部に設け、コントローラ2や操作端末6の機器には、適合するアンテナ回路やドライバを搭載するとよい(適宜、図1を参照)。
本システムにおいて、コントローラ2と電動機制御装置3とは、通信ネットワーク102を介してそれぞれ相互にデータの授受が可能となっている。一具体例では、コントローラ2が生成した動作指令を電動機制御装置3に送信することができ、逆に、電動機制御装置3の稼働状態をコントローラ2で受信することができる。
産業用通信網としての通信ネットワーク102は、いわゆる産業用通信プロトコルなど(例えばEtherCAT(登録商標)など)で通信を行うものであるが、アナログ信号での入出力インタフェースであってもよい。
他のシステム構成例として、電動機制御装置3が直接広域通信ネットワーク100に接続される形態としてもよく、この場合はコントローラ2を省略することもできる。
<電動機>
電動機4は、電力の供給により内部の回転子(図示せず)および回転子と一体をなす回転軸41を回転させる電力モーターであり、一具体例では、3相の交流電流(AC)により作動するサーボモーターである。かかるサーボモーターは、電動機制御装置3から入力される交流電圧および制御信号により回転軸41を中心として回転子を回転させ、かかる回転時に電動機運転情報としてのフィードバック信号を送出する。そして、フィードバック信号を入力した電動機制御装置3によって、電動機4の動作(回転の方向、速度、時間、停止の位置やタイミングなど)のフィードバック制御が行われる。上記のフィードバック信号に関し、例えば図6に示すように、回転軸41にロータリーエンコーダなどの位置検出器7を設け、かかる位置検出器7の検出値を電動機制御装置3に入力することにより、電動機4の回転子の位置(回転位置情報)を得ることができる。なお、本発明において、電動機4の種類(例えば、直流/交流等の電力供給方式、回転式またはリニア式などの動力発生方式など)は特に限定されるものではない。
<動力伝達機構>
図1では、電動機4の動力を伝達する動力伝達機構として、ボールネジ5を使用する場合を例示している。ボールネジ5は、電動機4の回転運動による動力を直線運動に変換して、載置された部品等(ワークW)を搬送する装置である。
一具体例では、ボールネジ5は、電動機4の回転軸41に連結(カップリング)されたねじ軸51、かかるねじ軸51を回転自在に保持する図示しないハウジング、ねじ軸51に組付けられたナットおよび該ナットと一体をなすワーク載置部52などを備える。
かかるボールネジ5は、電動機4の回転子と一体に回転するねじ軸51が図1中の矢印41a方向(例えば時計方向)に回転する場合、ワーク載置部52がねじ軸の回転方向および螺旋溝の形状に則した一方の方向、例えば図1中の左側に移動することにより、上面に搭載されたワークWを同方向に搬送する。搬送されたワークWは、かかる搬送路の下流側に配置された連携機器(下流側装置70)に受け渡される。
この後、電動機制御装置3による電動機4の制御に基づき、ねじ軸51が反時計方向(矢印41b方向)に回転した場合、ワーク載置部52は、上記とは逆の方向、この例では図1中の右側に移動する。すなわち、ワーク載置部52は、上流側装置60(例えば、部品をピックアップするロボットなど)から供給される次のワークを搭載して下流側装置70に搬送するために、初期位置または所定の待機位置まで移動する。
ここで、下流側装置70は、電動機4の動力が利用される負荷側装置(産業機器)であり、例えば、図示しないベルトコンベアが挙げられる。概して、ベルトコンベアは、一対のローラーと、当該2つのローラーに架け渡されたベルトと、これらローラーを回転自在に保持するとともに、ベルトを地面に接触しない位置に支持する支持体(フレーム)を備える。そして、ベルトコンベアは、一方のローラーのローラー軸が、ボールネジ5のねじ軸51(回転軸)にワンウェイクラッチを介して連結されることにより、ボールネジ5からベルト上に受け渡されたワークWを、一方向(図1の紙面垂直方向)にのみ搬送する。
すなわち、ボールネジ5のねじ軸51がワーク搬送方向の逆方向(戻り方向、すなわち図1中の右向き)に対応する向きに回転する場合、ベルトコンベアのローラーおよびベルトは、ベルト上面のワークを搬送する方向に回転し、ベルト上のワークWを搬送する。これとは逆に、ボールネジ5のねじ軸51がワーク搬送方向(図1中の左向き)に対応する向きに回転する場合、ベルトコンベアのローラーおよびベルトは、ワンウェイクラッチの作用により、静止ないし停止する。
かかる動作を繰り返すことで、ワークWをボールネジ5からベルトコンベアに受け渡すまではベルトコンベアが停止し、ボールネジ5が新たなワークを乗せるべく戻り方向に回転する間、ベルトコンベアはベルト上のワークWを搬送することができる。このような構成とすることで、電動機4の動力を効率的に利用することができる。
なお、上述した連携動作および電動機4の動力利用の形態は一例であり、他にも様々な種類の動力伝達機構および連携機器(負荷側装置)を組み合わせて電動機4の動力を利用することができる。
<電動機制御装置>
本システムにおいて、電動機制御装置3は、上述のような装置(産業機器)間の連携動作を円滑に行うべく、電動機4およびボールネジ5の動作を制御する機能を担う。
電動機制御装置3は、図1に示すように、電動機制御装置3の全体の制御を司る制御部30と、上述した通信網(100,102)を通じて外部装置と通信するための外部通信部31と、プログラムおよびデータを保存するためのライブラリ用のメモリ32と、各種プログラムを実行するための実行用のメモリ33と、を有する。また、電動機制御装置3は、例えばタッチパネル付き液晶ディスプレイなどの操作表示部36を備える。操作表示部36は、制御部30による表示制御の下、電動機制御装置3の各部の状態等を表示する。また、操作表示部36は、ユーザのタッチ操作に従った操作信号を制御部30に入力する。
上記のうち、実行用のメモリ33は、例えばランダムアクセスメモリ(RAM)などの揮発性のメモリであり、制御部30によって使用される種々のプログラムやデータを展開ないし一時保存するための作業領域として機能する。
一方、ライブラリ用のメモリ32は、一具体例では、上記のメモリ33とは別個の不揮発性のメモリであり、HDD、EEPROM、フラッシュメモリなど、データ格納用の種々の記憶装置を使用することができる。ライブラリ用のメモリ32は、実行用のメモリ33と比較して、読み書きの高速性は要求されないが、複数のプログラムおよび当該プログラムの実行により得られるデータを格納できるように、実行用のメモリ33よりも大きなデータ格納容量が確保されている。
本実施の形態では、メモリ32およびメモリ33は、スイッチ34、スイッチ35を介して接続される。このうち、スイッチ34は、ライブラリ用のメモリ32に保存されている複数の異常検知プログラムを実行用のメモリ33に選択的に読み出すための切換部として機能する。一方、スイッチ35は、メモリ32とメモリ33との間で異常検知データの選択的な読み出しまたは保存を行うための切換部として機能する。これらスイッチ34,35は、制御部30の制御下で切り換えられる、いわゆる論理的なスイッチである。なお、他の例として、メモリ32およびメモリ33が同一の記憶媒体(例えば大容量のRAM)であってもよく、この場合、スイッチ34,35は必要ない。
制御部30は、例えば、CPUやMPUなどのプロセッサ、基本プログラムが格納されたROM、各種I/Oインタフェース等を備えた組み込み機器用のマイクロコンピュータを有して構成され、プログラムとの協働によって種々の機能を遂行するようになっている。
図1に示す例では、ライブラリ用のメモリ32には、上述したボールネジ5の劣化診断用の異常検知プログラム(A)(以下、ボールネジ劣化診断プログラム321Aと称する場合がある)と、電動機4の回転軸41を回転自在に支持するベアリングの劣化診断用の異常検知プログラム(B)(以下、ベアリング劣化診断プログラム321Bと称する場合がある)が保存されている。
本実施の形態では、ベアリング劣化診断プログラム321Bが「第1の管理プログラム」に対応し、ボールネジ劣化診断プログラム321Aが「第2の管理プログラム」に対応する。言い換えると、本システムでは、電動機4が交換される場合は電動機制御装置3も一緒に交換されるため、ベアリング劣化診断プログラム321Bがデフォルトのソフトウェア機能プログラム(第1の管理プログラム)として実装される。一方、電動機4に接続される動力伝達機構は交換されることを前提とすることから、図1では、ボールネジ劣化診断プログラム321A(第2の管理プログラム)が外部装置(サーバ10またはコントローラ2)から取得された後の状態を示している。
また、ライブラリ用のメモリ32には、上記のボールネジ劣化診断プログラム321Aで使用される関連データとしての異常検知データ(A)322A、および上記のベアリング劣化診断プログラム321Bで使用される異常検知データ(B)322Bが、各々、関連データとして保存されている。異常検知データ(A)322A、異常検知データ(B)322Bは、各々、電動機4から入力される入力情報に基づいて生成されるデータである。これらプログラムおよびデータの内容の詳細は後述する。
一方、実行用のメモリ33には、電動機4の動作を制御するための電動機制御プログラム331と、異常検知プログラム332と、異常検知プログラム332で使用される異常検知データ333と、が格納されている。ここで、異常検知プログラム332は、ライブラリ用のメモリ32に格納された、ボールネジ劣化診断プログラム321Aまたはベアリング劣化診断プログラム321Bのうちのいずれか一つである。同様に、異常検知データ333は、ライブラリ用のメモリ32に格納された、異常検知データ(A)322Aまたは異常検知データ(B)322Bのうちの一つ(異常検知プログラム332に対応したデータ)である。
言い換えると、電動機制御装置3の制御部30は、「更新部」として、以下の機能を遂行する。すなわち、制御部30は、実行用のメモリ33内の異常検知プログラム332を、ライブラリ用のメモリ32に格納された複数(この例では2つ)の異常検知プログラム321A、321Bから選択的に読み出して、読み出した異常検知プログラム(321A又は321B)を、実行用のメモリ33に出力することにより、異常検知プログラム332の設定ないし更新(置き換え)を行う。
上記の動作により、動力伝達機構の種類に応じた劣化診断プログラムを実行して、当該動力伝達機構の異常の有無を判定することができる。なお、かかる判定の手法については後述する。
<電動機制御装置の動作>
次に、電動機制御装置3の動作を概説する。電動機制御装置3の制御部30は、実行用のメモリ33内の電動機制御プログラム331を起動して、電動機4の駆動制御を実行可能な状態で待機する。また、制御部30は、実行用のメモリ33にある異常検知プログラム332を起動する。そして、制御部30は、対応する異常検知データ333を読み出して、異常検知プログラム332に記述されている処理(アルゴリズム)を実行可能な状態で待機する。
この後、制御部30は、コントローラ2または操作端末6または操作表示部36(以下、コントローラ2等という)から制御信号としての動作指令を受信した場合、電動機制御プログラム331に従って電動機4の駆動を開始し、その動作を制御する。詳細には、電動機4の動作は、本システムで使用される動力伝達機構および連携装置(図1に示す上流側装置60および下流側装置70)の動作に対応する動作(駆動態様)となるように、電動機制御プログラム331に予め設定されている。かかる動作の設定は、図示しない設定画面およびコントローラ2等の操作入力を通じて行うことができる。
電動機制御装置3の制御部30は、電動機制御プログラム331における上記の設定内容に従って電動機4の動作を制御する(回転子の回転方向、回転速度、停止のタイミングなどを調整する)ことにより、動力伝達機構(図1の例ではボールネジ5)の動作を制御(調整)して、連携装置との連携動作(ワークWの搬送動作など)を実現する。このとき、電動機制御装置3の制御部30は、電動機4の回転子の位置、回転速度、入力電流などの、電動機4の運転状態を示す電動機運転情報(入力情報)を、位置検出器7や電流検出器125(図6を参照)などを通じてフィードバック信号として取得し、かかる入力情報を用いてフィードバック制御を行う。なお、このとき取得される入力情報(図3で後述する波形信号など)は、任意の表示部(例えば、操作表示部36あるいはコントローラ2や操作端末6の表示部)に表示することより、ユーザがモニタリングすることができる。
本実施の形態では、電動機制御装置3の制御部30は、電動機制御プログラム331の実行中に、実行用のメモリ33内にある異常検知プログラム332を実行する。すなわち、制御部30は、電動機制御プログラム331および異常検知プログラム332に記述された各々のアルゴリズムを、並列的または同時並行的に遂行する。
この例では、ボールネジ5の異常状態(異常の有無)を検出する異常検知アルゴリズムが、異常検知プログラム(A)321Aに格納されている。このため、制御部30によって異常検知プログラム(A)321Aがメモリ33内に展開され異常検知プログラム332として実行されることにより、動力伝達機構であるボールネジ5の異常の有無を検出できるようになる。電動機制御装置3の制御部30は、異常検知プログラム(A)321Aの異常検知アルゴリズムに基づいて、以下のような「状態管理部」としての機能を遂行する。
すなわち、制御部30は、上述した電動機4の回転子の位置、回転速度などの運転状態(入力情報)を、異常検知プログラム332(この例では異常検知プログラム(A)321A)を通じて解析し、かかる解析結果を実測データないし教師データとして実行用のメモリ33に格納する(異常検知データ333を参照)。また、制御部30は、予め測定されメモリ33に保存されている異常検知データ333と、異常検知プログラム332による現在の解析結果とを比較し、両者間の数値の乖離が大きい場合に、ボールネジ5(動力伝達機構)に異常ありと判定して異常信号を出力する。
詳細には、制御部30は、電動機運転情報における入力波の示す値が上記の教師データに設定された閾値と乖離するかの基準に基づいて、ボールネジ5(動力伝達機構)の異常の有無を判定する。
より具体的には、制御部30は、電動機運転情報における波形(波の形状)の歪みが教師データに設定された閾値を超えた場合、動力伝達機構(ボールネジ5)に異常ありと判定し、その旨の異常信号を出力する。
出力された異常信号は、電動機運転情報(波形など)を表示している表示部に、異常発生を通知するメッセージ、あるいは警告音やアイコンなどの画像として表示(出力)されることにより、産業機器のユーザに通知ないし警告することができる。したがって、本システムのユーザ(管理者等)は、表示部の表示内容(異常信号の出力の有無など)を監視することにより、動力伝達機構(ボールネジ5)の異常状態を監視する、もしくは予測することができる。
上述した例は、電動機4に接続される動力伝達機構がボールネジ5であり、かかるボールネジ5の異常の有無を、異常検知プログラム(A)321Aの実行を通じて判定する場合を前提とした。他の例として、電動機4に接続される動力伝達機構がボールねじ5以外の機構(例えば、ギヤボックスなど)である場合、制御部30は、他の異常検知アルゴリズムを備えるソフトウェア機能プログラム(例えば、図1に示す異常検知プログラム(C)213、あるいはサーバ10の異常検知プログラムライブラリ群11内の該当する異常検知プログラム)を実行する。
すなわち、制御部30は、異常検知の判定を行う動力伝達機構の種類等に応じたソフトウェア機能プログラムを、適宜、外部装置から取得して、ライブラリ用のメモリ32ひいては実行用のメモリ33に格納して実行する。このような運用、言い換えると、使用する動力伝達機構に応じて実行用のメモリ33に格納し実行するソフトウェア機能プログラムを更新する(入れ替える)ことにより、電動機4に接続される様々な種類の動力伝達機構の異常の有無を判定(診断)できるようになる。
さらに、制御部30は、サーバ10の異常検知プログラムライブラリ群11内の該当する異常検知プログラムを取得して、ライブラリ用のメモリ32ひいては実行用のメモリ33に格納(適宜更新)して実行することにより、負荷側装置(下流側装置70)の異常の有無を判定(診断)することもできる。
<異常検知プログラムの動作例>
次に、異常検知プログラムの動作例について、図2および図3を参照してより詳細に説明する。図2は、動力伝達機構の劣化診断用の異常検知プログラムの処理の一例を示すフローチャートである。図2では、上述したボールネジ劣化診断プログラム321A(図1に示す異常検知プログラム(A))に記述されたアルゴリズムの一部を示す処理フローである。
ボールネジ劣化診断プログラム321Aは、異常検知教師データ取得モードと、異常検知動作モードと、の2つの動作モード(アルゴリズム)を選択的に実行する構成を有する。そして、いずれの動作モードで実行するかは、ユーザがコントローラ2等を操作して指定または設定変更することができる。
電動機制御装置3の制御部30は、ボールネジ劣化診断プログラム321Aを起動した後のステップS1において、電動機制御装置3の動作モードが教師データ取得モードであるか否かを判定する。
ここで、制御部30は、動作モードが教師データ取得モードである(ステップS1、YES)と判定した場合、ステップS2に移行し、後述するステップS2~ステップS4の処理を通じて教師データを取得した後に、上述したステップS1の判定処理に戻る。
一方、制御部30は、動作モードが教師データ取得モードではない(ステップS1、NO)と判定した場合、動作モードは異常検知モードであると判断してステップS5に移行し、後述するステップS5~ステップS10の処理を通じてボールネジ5の異常の有無を診断した後に、上述したステップS1の判定処理に戻る。
まず、異常検知教師データ取得モード(以下、単に、「教師データ取得モード」という)における動作を説明する。ステップS2において、制御部30は、コントローラ2等(すなわちユーザの入力操作)より、ボールネジ5の異常検知の判定基準となる教師データの取得を開始すべき旨の指令(教師データ取得動作開始指令)を受信するまで待機し、この指令を受信した場合にステップS3に移行する。
ステップS2の待機は、例えば、ボールネジ劣化診断321Aが通常運転動作と同時に開始される場合など、電動機4の回転状態が安定するまで幾分時間がかかること等を考慮したものである。すなわち、制御部30は、電動機4の回転状態が安定するまでは教師データの取得を保留することにより、以下のステップS3およびS4の処理において、より精度の高い教師データを取得することができる。
ステップS3において、制御部30は、電動機4から検出される入力信号(フィードバック情報)に基づく種々の運転情報(この例では、p(t)、v(t)、およびiq(t))を取得する。このうち、p(t)は、時間tにおける電動機4の回転位置情報である。また、v(t)は、時間tにおける電動機4の回転速度情報である。これらp(t)、v(t)は、上述した位置検出器7の検出信号から取得することができる。さらに、iq(t)は、時間tにおける電動機4のトルク電流情報であり、電動機4から制御部30に入力(フィードバック)される電流(この例ではAC)により取得ないし算出される。
続くステップS4において、制御部30は、第1の異常検知アルゴリズム(=fan1(数式))に従って、予め括弧()内に規定されている数式に、電動機運転情報(p(t)、v(t)、iq(t))を代入することにより、異常検知教師データを導出する。
この後、制御部30は、ステップS1に戻り、動作モードが教師データ取得モードであると判定されている間(ステップS1、YES)は、上述したステップS3およびステップS4の処理を繰り返し実行することにより、異常検知教師データを導出し続ける。なお、ステップS2に関し、制御部30は、2回目以降は上述した待機の処理をスキップする。
図3は、図2に示す異常検知プログラムの実行時における異常検知動作の様子を、電動機の運転情報(p(t)、v(t)、iq(t))の波形と共に記したグラフである。
図3中、上から一段目、二段目、および三段目のグラフは、各々、制御部30に入力される電動機運転情報の波形図である。すなわち、上から一段目が電動機4の回転位置p(t)を、上から二段目が同回転速度v(t)を、上から三段目がトルク電流iq(t)を示す波形図であり、各々、時間の推移とともに波形が劣化して行く様子を模式的に表している。これら3つのグラフを参照すると、時間の経過に伴って、各々の波形に歪みが発生し、かつその歪みが大きくなってゆくことが分かる。
通常、電動機4または負荷側装置(図1中の下流側装置70)に異常が発生した場合には、波形の周期または振幅の異常として現れることが多い(例えば、回転速度の異常に伴う周期の変化、トルク電流の異常に伴う振幅の変化など)。
これに対して、下流側装置と比較して負荷が格段に小さい動力伝達機構(この例ではボールネジ5のねじ軸51など)に異常が発生した場合には、図3の右寄りに示すような歪んだ波形となる。すなわち、動力伝達機構の異常時には、電動機運転情報における回転位置p(t)、回転速度v(t)、およびトルク電流iq(t)の波形に、微細な振動波(以下、微小振動波という)が発生する。かかる微小振動波は、ボールネジ5の異常の度合い(例えば、ねじ軸51の摩耗度や歪み具合など)が大きくなるほどその振幅成分等に顕著に現れるようになる。そして、図3に示すような微小振動波は、微小時間tにおける振幅の変化あるいは波の勾配の変化として検出できるため、電動機4または下流側装置70(負荷側装置)の異常ではなく、ボールネジ5の状態に異常があるものと判別ないし推定することができる。
上記のような実情に鑑みて、本実施の形態では、図2で上述した異常検知教師データ取得モードの動作は、主に、ボールネジ5の劣化が発生していない正常状態(例えば、本システムの初期の稼働時期)において実行(実施)されることが望ましい。かかる正常状態で異常検知教師データ取得モード(図2のステップS3,S4等)の動作が実行されることにより、図3中の左側に示すように、正常な歪みの無い波形に基づく異常検知教師データを生成することができる。この異常検知教師データは、以下に説明する異常検知モードにおいて異常判定を行うための基準となる情報(教師付き機械学習における教師データ)としての意義を有する。
ここで、図3中の上から四段目のグラフは、上述の波形のいずれか(例えばトルク電流iq(t))の歪みの大きさ(微小時間tにおける振幅の変化あるいは波の勾配の変化)が閾値を超えたため、正常状態を表す信号(例えばバイナリ値(0/1)の「0」)から異常状態を表す信号(例えば「1」)に切り替わった例を示す。
さらに、図3中の上から五段目のグラフは、上述した異常検知動作モードにおいて、異常検知教師データ取得モードの動作から異常検知モードの動作へと切り替えられた例を示す。一具体例では、電動機制御装置3のタイマー機能を用いて、例えば本システムの初期稼働日だけ異常検知教師データ取得モードで動作させ、翌日から異常検知モードで動作させることができる。
次に、再び図2を参照して、ボールネジ劣化診断プログラム321Aの実行中における異常検知モードの動作について説明する。
ステップS5において、電動機制御装置3の制御部30は、コントローラ2等(すなわちユーザの入力操作)より、ボールネジ5の異常を検知する動作を開始すべき旨の指令(異常検知動作開始指令)を受信するまで待機し、この指令を受信した場合にステップS6に移行する。なお、ステップS6の待機の意義は、上述したステップS2と同様である。すなわち、電動機4の回転状態が安定するまでは異常検知の動作を保留することにより、以下のステップS6~S10の処理において、無用な誤検知が防止され、より精度の高い状態検知が実現できる。
ステップS6において、制御部30は、入力される信号(実測される検出信号またはフィードバック信号)に基づく種々の電動機運転情報(この例では、p(t)、v(t)、およびiq(t))を取得する。ステップS6の処理は、前述のステップS3と同様であるため、詳述を省略する。
続くステップS7において、制御部30は、第1の異常検知アルゴリズム(=fan1(数式))に従って、括弧内の数式に電動機運転情報(p(t)、v(t)、iq(t))を代入することにより、異常検知実測データを導出する。なお、ステップS7におけるデータの導出手法自体は、上述したステップS4における異常検知教師データの導出手法と同じである。
次のステップS8において、制御部30は、導出された異常検知実測データを、前述した異常検知教師データと比較して、両者の差異を算出した後にステップS9に移行する。ステップS9において、制御部30は、算出された差異、言い換えると異常検知教師データの波形に対する異常検知実測データの波形の歪みの程度が、所定の閾値を超えたか否かを判定する。
ここで、制御部30は、歪みの程度が閾値を超えていないと判定した場合(ステップS9、NO)、ボールネジ5の状態は正常であると判断してステップS10に移行する。一方、制御部30は、歪みの程度が閾値を超えていると判定した場合(ステップS9、YES)、ボールネジ5の状態に異常があると判断してステップS11に移行する。
ステップS10において、制御部30は、ボールネジ5の状態は正常である旨の表示を行うように、所定の装置(例えば、コントローラ2および操作端末6)に表示指示を送信する。一方、ステップS11において、制御部30は、異常検知信号を出力するとともに、ボールネジ5の状態に異常がある旨の表示を行うように、上記の装置に表示指示を送信する。
ここで、再度図3を参照して、ボールネジ5の劣化状態との関係における異常検知モードの動作を説明する。ボールネジ5の劣化が始まると、その影響により、電動機4の回転位置情報p(t)、電動機4の回転速度情報v(t)、電動機4のトルク電流情報iq(t)の入力動作波形は、正常時すなわち異常検知教師データ取得モードの波形とは異なって、上述した微小振動波が加わった歪んだ波形に劣化してくる。
したがって、制御部30は、異常検知モードで取得された異常検知教師データと異常検知実測データとを比較することで、かかる波形の違い(劣化度)を算出し(ステップS8)、算出された劣化度が閾値を超えた場合に、ボールネジ5の状態に異常ありと判定し(ステップS9、YES)、当該判定結果を異常検知信号として出力する(ステップS11)。
本システムのユーザ、保守管理者は、このような異常検知信号の出力の有無および外部装置の表示画面を監視することで、ボールネジ5の異常状態を検知、もしくは予測することができる。
ところで、電動機制御装置3で実行される、上述したような異常検知機能を担うソフトウェア・プログラムは、電動機4の動力が伝達される動力伝達機構の種類が変更された場合、同様の異常検知を行うようにするために、異なるアルゴリズムを用いる必要がある。
具体的には、図1では、電動機4に接続される動力伝達機構がボールネジ5の場合を例示したが、かかるボールネジ5を他の動力伝達機構(例えば、図示しないギヤ等を介したタイミングベルト)に変更したような場合が挙げられる。
すなわち、ボールネジ5の場合、上述のように往復運動させる必要から、電動機4を正逆の両方向に回転させる必要がある(図1中の矢印を参照)。これに対して、動力伝達機構がタイミングベルトの場合には、ワークWを移動させて下流側装置70に受け渡すための基本的な動作において、電動機4を一方向に回転させるだけで足りる。あるいは、連携装置やシステム構成を大幅に変更するような場合、さらに別の種類の動力伝達機構や下流側装置を使用する必要があり、このような場合にも、電動機4の動作態様(電動機制御装置3による基本動作時の制御内容)が変わる。
かくして、動力伝達機構の種類(通常稼働時における基本的な動作など)が異なる場合、電動機4の駆動態様も異なるものとなるため、通常の稼働(基本動作)時に電動機4の回転を制御するアルゴリズムが異なって来る。この場合、異常検知教師データとして取得される正常時の波形の情報も異なるものとなる。
一方で、上述した異常検知教師データおよび実測データを取得する手法およびこれらのデータを比較して動力伝達機構の異常の有無を判定する基本的な手法は、動力伝達機構の種類等にかかわらず、共通に用いることができる。
かかる知見に基づき、本システムでは、使用すなわち電動機4に接続される動力伝達機構の種類等に応じて、実行するソフトウェア・プログラムを変更(更新)可能とする構成を設けた。
具体的には、電動機制御装置3の制御部30に、電動機制御装置3で実行するソフトウェア・プログラム、この例では実行用のメモリ33に実装ないし展開するプログラムおよびデータを更新する更新部としての機能を持たせることとした。
また、本実施の形態では、かかる制御部30に、動力伝達機構の管理(異常検知)機能を有するソフトウェア・プログラム(管理プログラム)を、外部装置(サーバ10またはコントローラ2)から取得する機能を持たせることとした。
<本実施の形態による主な効果>
電動機制御装置3の制御部30に上記の機能を持たせた本実施の形態によれば、電動機制御装置3のハードウェアを変えることなく、様々な動力伝達機構に対する異常検知等の管理を実行できるようになる。このため、電動機制御装置3の性能を低コストにて向上させることができる。また、本実施の形態によれば、電動機制御装置3およびコントローラ2を追加する(買い替える)ことなく、電動機4に接続される動力伝達機構や負荷側装置など(システムを構成する産業機器)の種類や配置等を、適宜かつ柔軟に変更することができる。
(実施の形態2)
次に、図4を参照して、実施の形態2について説明する。図4は、動力伝達機構の劣化診断用の異常検知プログラムの処理の他の一例を説明するフローチャートであり、異常検知教師データ切替え機能を付加したアルゴリズムを示す。
図4に示すアルゴリズムは、例えば、コントローラ2のデータ格納部(プログラムライブラリ21)に格納されている異常検知プログラム(C)213を電動機制御装置3が取得して制御部30で起動することによって、実行される。なお、図2で上述した処理と同一の処理については同一のステップ番号を付して、適宜説明を省略する。
図4に示すアルゴリズムは、例えば本システムの試運転の際などに活用することができる。具体的には、電動機4から入力され所定の表示部に表示される電動機運転情報の波形が、振幅の値からは異常とも判断し得るが、波形に歪み(微小振動波)が生じておらず、ワークWを搬送する際の一時的な過負荷により過電流状態となっているような場合があり得る。このような場合に、電動機運転情報の波形を教師データとして保存して後に活用することで、動力伝達機構の異常の有無の判定精度を高める等に役立てることができる。
教師データ取得モードにおけるステップS4Aにおいて、制御部30は、第3の異常検知アルゴリズム(=fan3(数式))に従って、予め定められた関数fan3の数式に電動機運転情報(p(t)、v(t)、iq(t))を代入することにより、異常検知教師データを導出する。この教師データ取得モードでは、第3の異常検知アルゴリズム(=fan3(数式))は、上述した第1の異常検知アルゴリズム(=fan1(数式))とは異なった数式を用いること以外は図2と同様の処理が行われる。
また、異常検知モードにおいて、制御部30は、ステップS4Aと同様の処理により、教師データを導出し(ステップS7A)、図2の場合と同様に、ステップS8の比較処理およびステップS9の判定処理を行う。ステップS9で、歪みの程度(波形の劣化度)が閾値を超えていない(ステップS9、NO)と判定した後のステップS10の表示処理も図2と同様である。
一方、制御部30は、歪みの程度(波形の劣化度)が閾値を超えていると判定した場合(ステップS9、YES)、ステップS9Aに移行する。ステップS9Aにおいて、制御部30は、教師データを切り替える旨の教師データ切換指令が入力されたか否かを判定する。ここで、制御部30は、教師データ切換指令が入力されていないと判定した場合(ステップS9A、NO)、ボールネジ5の状態に異常があると判断して、図2の場合と同様に、ステップS11の表示処理を行う。
一方、制御部30は、教師データ切換指令が入力されていると判定した場合(ステップS9A、YES)、ボールネジ5の状態は正常であると判断して、ステップS12に移行する。ステップS12において、制御部30は、入力中の実測データを教師データに追加するように、異常検知データ333に保存する。このとき、制御部30は、ライブラリ用のメモリ32内に記憶されている異常検知データ(322Aまたは322B)を更新してもよい。加えて、制御部30は、ボールネジ5の状態は正常である旨の表示処理を行う。
上記のような処理を行うことにより、例えば試運転時に本システムの動作および運転情報(波形)を監視しているユーザの操作入力に基づく指示に応じて、教師データを更新することができ、動力伝達機構の異常の有無の判定精度を高める等に役立てることができる。
(実施の形態3)
図5および図6は、実施の形態3を説明する図である。実施形態3では、制御部30により実行される電動機制御プログラム331の内容(アルゴリズム)を、適宜に更新または切り替えることができるように構成している。別の観点からは、実施形態3では、ライブラリ用のメモリ32に複数の電動機制御プログラムが格納され、かつ、電動機制御装置3の制御部30は、更新部の機能として、かかる電動機制御プログラムを選択的に実行できるように、実行用のメモリ33の電動機制御プログラムを更新する。
なお、簡明のため、図5では、電動機4と連携する下流側装置70、電動機制御装置内3の操作表示部36、コントローラ2内のCPU20などの図示は省略している。また、複雑化を避けるため、図5では、実行用のメモリ33内に、電動機制御プログラム331だけ格納されているように描いているが、実際には、上述した動力伝達機構の異常の有無を判定するプログラムも、実行用のメモリ33内に格納して実行されることができる。
図5は、電動機制御装置の他の実施形態の構成を示す図であり、実行する電動機制御プログラムの内容(アルゴリズム)を更新できるようにした例を説明するブロック図である。実施の形態3では、図5に示す電動機制御プログラム331を構成する位置制御プログラム、速度制御プログラム、および電流制御プログラムを、通信網(100,102)を介して、直接サーバ10から、あるいはコントローラ2経由でサーバ10から取得する。
一方、図6は、図5に示すプログラム構成と等価または近似するハードウェア構成(インバータ回路)を概略的に示す図である。
図1~図4を参照して説明した実施の形態1および2では、通常動作において、電動機制御プログラム331と、電動機制御プログラム331とは別の異常検知プログラム332(すなわち教師あり機械学習により異常動力伝達機構の異常を検知するプログラム)と、を同時並行的に実行する場合を前提とした。
これに対して、図5および図6は、電動機制御プログラム331として、制御部30に、電動機4の回転位置を制御させるための位置制御プログラム、電動機4の回転速度を制御させるための速度制御プログラム、および電動機4に流れる電流を制御させるための電流制御プログラム、を組み合わせて実行させるための構成例を示している。但し、制御部30は、上述した動力伝達機構の異常の有無を判定するプログラムを同時並列的に実行することができる。
まず、図5を参照して、電動機制御プログラム331の内容を説明する。図5は、制御部30が、実行用のメモリ33に電動機制御プログラム331を展開して実行することにより電動機4を駆動している様子を模式的に示している。
図5に示すように、電動機制御プログラム331は、電動機4の位置を制御する位置制御プログラム3311、電動機4の速度を制御する速度制御プログラム3312、および電動機4の電流を制御する電流制御プログラム3313を含む。各々のプログラム(3311,3312,3313)は、制御部30によって、互いに独立的に実行されることができ、あるいは同時並行的に実行されることもできる。
一具体例では、制御部30は、電動機4の制御方法を変更する場合に、実行する制御プログラム(3311,3312,3313)の切替えを行う。ここで、「制御方法を変更する場合」とは、複数ある既存の制御方法へ変更する場合(例えば、3つの制御プログラム(3311,3312,3313)を同時に実行していたのを、いずれか一の制御プログラムのみ実行するような場合)や、新たな制御方法が開発された場合などが挙げられる。
上記のうち、新たな制御方法が開発された場合について説明する。図5に示す例では、制御プログラムの切替えは、ライブラリ用のメモリ32に格納されている各々2種類の制御プログラムの一方(図5に示す位置制御PG(1)323A又は位置制御PG(2)323B、速度制御PG(1)324A又は速度制御PG(2)324B、電流制御PG(1)325A又は電流制御PG(2)325B)を、実行用のメモリ33に展開(更新)して行うこともできる。
かかるプログラムの更新は、図1の場合と同様に、ライブラリ用のメモリ32と実行用のメモリ33との間に設けられる論理スイッチ(図6の例ではスイッチ37,38,39)の切換えを通じて行うことができる。
一具体例では、図5中の(1)の制御PG(323A,324A,325A)が既存の制御方法を用いて電動機4(各々、回転子の位置,回転速度,流れる電流量)を制御するプログラムであり、(2)の制御PG(323B,324B,325B)は、新たに開発された制御方法を用いて電動機4(各々、回転子の位置,回転速度,流れる電流量)を制御するプログラムとすることができる。
他の具体例では、図5中の(1)の制御PG(323A,324A,325A)が動力伝達機構としてボールネジ5を使う場合、(2)の制御PG(323B,324B,325B)は、動力伝達機構としてタイミングベルトを使う場合、に実行されることができる。
さらに、図5に示すように、コントローラ2には、上記(1)および(2)の制御PG(符号231,232,241,242,251,252を参照)の他、所謂ストックとして、(3)の制御PG(233,243,253)が保存されている。これら(3)の制御PG(233,243,253)は、上述した「制御方法を変更する場合」に、コントローラ2と電動機制御装置3との間で通信が行われ、電動機制御装置3のライブラリ用メモリ32に格納されることで、電動機制御装置3で実行可能になる。
なお、動力伝達機構(ボールネジ5など)の異常の有無の検知を行うアルゴリズムは、図2~図4を参照して説明した通りである。また、図5に示すように、サーバ10には、電動機制御装置3またはコントローラ2に提供される上述の種々の制御プログラム(制御PG)が、位置制御プログラムライブラリ群13、速度制御プログラムライブラリ群14、および電流制御プログラムライブラリ群15として、それぞれデータベース化して格納される。
以下、メモリ33に格納され制御部30で実行される各々の電動機制御プログラム(3311,3312,3313)による電動機4の制御の内容を、図6を用いてハードウェア的な観点から説明する。電動機制御装置3は、図6に示すようなインバータ回路122により、電動機4の回転位置や速度をフィードバック制御することで、動力伝達機構および負荷側装置の位置、速度、トルクを管理する。また、かかるフィードバック制御および管理を通じて、上述した動力伝達機構の異常の有無を検知することもできる。
図6に示すように、インバータ回路122は、交流電源ACから供給される電圧を変換して整流する整流回路123、および三相駆動式の電動機4に供給する電圧値を各々切り替えるためのスイッチング素子124、等を備える。
また、図6中の上方に示すように、インバータ回路122は、電動機4に流れる三相の電流を各々検出する電流検出器125、電動機4の回転子の位置、速度、および電動機4に流れる電流を制御するための、位置制御部126、速度制御部127、および電流制御部128を備える。
さらに、インバータ回路122は、電動機4の回転子の速度を演算して演算結果を速度制御部127に出力する微分回路129、電流制御部128に供給される信号を切り替えるためのスイッチング素子130、三角波などの定常波を出力する発振回路131、定常波にパルス幅変調(PWM:Pulse Width Modulation)を施して出力するPWM回路132を備える。
図6に示す例では、電動機制御装置3から電動機4に供給(入力)される交流電流がIu、Iv、Iwの3相からなり、各々の電流値が電流検出器125で検出され、実測値(フィードバック情報)として、時間tにおける電流値id(t)およびトルク値iq(t)が電流検出器125から電流制御部128に入力される。
概略的に説明すると、予め設定された回転子の位置および速度の制御指令が例えばコントローラ2から出力され、かかる制御指令が信号p*(t)およびv*(t)として各々、位置制御部126および速度制御部127に入力される。また、電動機4の回転軸に設けられた位置検出器7の検出信号による位置信号p(t)が位置制御部126に入力されるとともに、かかる位置信号p(t)に基づいて微分回路129によって算出された回転速度信号v(t)が速度制御部127に入力される。
位置制御部126は、入力された信号p*(t)とp(t)とを比較してその差分値を演算し、演算された差分値を速度制御部127に向けて出力する。速度制御部127は、スイッチング素子130が第1状態の場合、すなわち図6に示すように信号v*(t)が入力されない場合は、位置制御部126から入力された差分の値と、微分回路129から入力された回転速度信号v(t)とに基づいて、電流値の信号id*(t)およびトルク値の信号iq*(t)を制御信号として電流制御部128に出力する。
一方、速度制御部127は、スイッチング素子130が第2状態の場合、すなわち位置制御部126から出力される差分値を入力せずに、速度の制御指令の信号v*(t)が入力される場合、かかる信号v*(t)および入力される信号v(t)の差分に基づいて、電流値の信号id*(t)およびトルク値の信号iq*(t)を制御信号として電流制御部128に出力する。
電流制御部128は、入力された信号id*(t)およびiq*(t)と信号id(t)およびiq(t)に基づいて、電動機4を駆動する3相の制御信号FmをPWM回路132に出力する。PWM回路132は、制御信号FmをPWM変調することにより、スイッチング素子124(図6に示す例では3相×2=6個)の各々のスイッチの状態(オン/オフ)を切り替えるためのスイッチング信号を生成および出力する。かくして、上記スイッチのオン/オフの状態が変化することにより、電動機4に供給される三相の電流の各々の振幅等が変化することで、電動機4の回転子の回転方向、回転速度、回転位置などのフィードバック制御が行われる。
上述したように、電動機制御装置3の制御部30は、電動機4から入力(フィードバック)される波形の信号に応じて電動機4の回転子の動作を制御することによって、負荷側装置である下流側装置70の動作に対応するように、動力伝達機構(例えばボールネジ5)を動作させる動作制御部として機能する。
また、図3、図5および図6で説明したように、電動機制御装置3の制御部30は、位置制御プラグラム3311の実行により電動機4の回転位置を制御する場合に、電動機4から入力される波形の信号(回転子の位置情報p(t))に基づいて動力伝達機構の状態管理(異常の有無の検知)を行う状態管理部として機能する。
加えて、制御部30は、速度制御プラグラム3312の実行により電動機4の回転速度を制御する場合に、電動機4から入力される波形の信号(回転速度情報v(t))に基づいて動力伝達機構の状態管理(異常の有無の検知)を行う状態管理部として機能する。
また、制御部30は、電流制御プラグラム3313の実行により電動機4に流れる電流を制御する場合に、電動機4から入力される波形の信号(トルク電流iq(t))に基づいて動力伝達機構の状態管理(異常の有無の検知)を行う状態管理部として機能する。
さらに、制御部30は、上述した更新部の機能により、実行対象となるメモリ33内の各々のプラグラム(3311、3312、3313)を、ライブラリ用のメモリ32に記憶されている制御PG(1)、制御PG(2)から選択的に読み出して更新することができる。したがって、制御部30は、動作制御部として既存または新たに開発された種々の制御方法を組み合わせて使用するとともに、動力伝達の状態管理(異常の有無の検知)を行う状態管理部としての機能を担うことができる。
<プログラム等の取得および更新の流れ>
次に、図7を参照して、電動機制御装置3の制御部30で実行可能なソフトウェア機能プログラムを取得し更新するための処理の流れの一例を説明する。
ステップS41において、電動機制御装置3の制御部30は、外部通信部31を制御して、上述した公共または産業用の通信網(100、102)を通じて、外部装置であるサーバ10に接続する。かかるサーバ10への接続の時期は、特に制限されるものではなく、例えば任意の時期に行うことができる。あるいは、タイマー機能を用いて、例えば通常運転後の時間帯に定期的にサーバに接続してもよい。
また、電動機制御装置3とサーバ10とが接続する方法も特に限定されるものではなく、電動機制御装置3とサーバ10とが上述した通信網(100、102)を介して直接的に接続することができる。あるいは他の例として、電動機制御装置3と接続中の操作端末6を中継して、サーバ10(10A)と電動機制御装置3との通信接続を確立してもよい。他にも、ユーザがコントローラ2を操作することにより、後述するステップS42~ステップS47の処理を、コントローラ2が主体となって行う構成としてもよい。
ステップS42において、制御部30は、電動機制御装置3で管理する産業機器、連携機器、プログラム等に関する種々の情報をサーバ10に送信する。ここで、電動機制御装置3で管理しサーバ10に送信される情報としては、例えば、電動機4、動力伝達機構、負荷側装置の種類(名称、型番など)、その時点で実装(すなわちメモリ32,33に記憶)しているソフトウェア・プログラムの種類(例えばプログラム名)などが含まれる。また、制御部30は、新たに取得できるソフトウェア・プログラムがある場合、当該プログラムのリストを送るべき旨の指令をサーバ10に送信する。
上述した情報および指令を受信したサーバ10は、該当するソフトウェア・プログラムを検索し、提供できる新たなソフトウェア・プログラムがない場合、その旨のメッセージを電動機制御装置3に送信する。この場合、電動機制御装置3の制御部30は、取得および更新可能なソフトウェア・プログラムがないと判断し(ステップS43、NO)、サーバ10との接続を終えて、図7のルーチンを終了する。
一方、サーバ10は、上記の検索により、提供できる新たなソフトウェア・プログラムがある場合、該当するプログラムのリストを電動機制御装置3に送信する。一具体例では、リストは、プログラム名、プログラムの機能、容量などの情報が含まれる。ここで、プログラムの機能としては、例えば、バージョンアップされたプログラムである場合のバージョンアップ内容(新機能や修正内容など)が含まれる。
この場合、電動機制御装置3の制御部30は、取得および更新可能なソフトウェア・プログラムがあると判断し(ステップS43、YES)、ステップS44に移行する。
ステップS44において、制御部30は、受信したプログラムのリストを選択ボタンとともに表示して、取得するプログラムをユーザが選択する選択画面を表示する処理を行う。かかる選択画面の表示は、操作表示部36で行う、あるいは接続中の他の装置(コントローラ2、操作端末6)の表示部により行うことができる。
このとき、制御部30は、ユーザによる操作入力の指示を監視して、選択画面中に表示された一以上のプログラムが選択された場合、当該選択されたプログラムをサーバ10から取得(ダウンロード)して、当該取得したプログラムをライブラリ用のメモリ32に格納する処理を行う(ステップS45)。
制御部30は、かかるプログラムの取得の処理が完了した場合、サーバ10との接続を終了し、当該メモリ32に格納したプログラムを次回実行用として更新するか否かをユーザが選択する更新画面を表示する処理を行う(ステップS46)。かかる更新画面の表示は、選択画面と同様に、操作表示部36で行う、あるいは接続中の他の装置(コントローラ2、操作端末6)の表示部により行うことができる。
この後、制御部30は、ユーザによる操作入力の指示を監視し、更新するプログラムが選択された場合、当該選択されたプログラムをライブラリ用のメモリ32から読み出して、実行用のメモリ33に展開し、メモリ33内のプログラムを置き換える(ステップS47:更新処理)。
このように、上述した各実施の形態では、電動機制御装置3の制御部30に更新部としての機能を持たせることにより、電動機制御装置3のハードウェアを変えることなく、様々な動力伝達機構に対する異常検知等の管理を実行できるようになる。したがって、電動機制御装置3の性能を低コストにて向上させることができる。また、動力伝達機構などのシステムを構成する産業機器の配置等も柔軟に変更できるようになる。
また、各実施の形態における電動機制御装置3は、外部通信部31を通じてサーバ10やコントローラ2などの外部装置と接続し、外部装置との通信により、ソフトウェア機能プログラムや該プログラムに関連するデータの授受や保有するプログラムの照合等を行える構成としたことから、以下の効果が得られる。すなわち、電動機制御装置3は、任意の時期に、必要なプログラムやデータを外部装置から取得することができる。加えて、電動機制御装置3は、使用頻度が低くなったプログラムやデータをコントローラ2などに保存しておくことができる。他にも、電動機制御装置3は、本システムの通常運転中における電動機4の運転状態を示すデータをサーバ10に提供して、サーバ10側で更なる解析を行うことにより、動力伝達機構等の状態を他の技術的観点から検査する、あるいは対応するソフトウェア機能プログラムの改良等に役立てることができる。
なお、本発明は上記した実施の形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。