以下に添付図面を参照して、開示の故障診断支援装置、故障診断支援方法、および故障診断支援プログラムの実施の形態を詳細に説明する。本実施の形態にかかる故障診断支援装置は、複数のテープカートリッジを収納し、複数のテープドライブを搭載するテープライブラリ装置に含まれていることを想定して説明を行う。
図1は、本実施の形態にかかる故障診断支援装置の動作例を示す説明図である。故障診断支援装置100は、テープライブラリ装置内に含まれる。テープライブラリ装置については、図2にて後述する。故障診断支援装置100は、ライブラリコントローラ101と、ライブラリコントローラ101によって制御されるロボット機構部102を有する。本実施の形態では、ライブラリコントローラ101によって制御されるロボット機構部102が2つあり、上部のロボット機構部102をロボット機構部102#1とし、下部のロボット機構部102をロボット機構部102#2とする。以下、「#1」が付与された符号は、ロボット機構部102#1に関する符号であり、「#2」が付与された符号は、ロボット機構部102#2に関する符号であるとする。
また、ロボット機構部102には、ロボット機構部102を移動させる駆動部を有している。駆動部は、パルス状の駆動電力に基づいて、ロボット機構部102を移動させる。パルス状の駆動電力とは、一定の幅を持った矩形波を有し、駆動部を駆動させる電力である。具体的に、パルス状の電流が入力された駆動部は、1パルス当たりにロボット機構部102を一定量移動させる。
故障診断支援装置100は、診断対象のロボット機構部102の動作中に、ロボット機構部102から発生する音が異常であるかを判断する際に用いられる比較元となる音データを取得する装置である。ロボット機構部102から発生する音には、駆動部から発生する音を含む。また、音データを取得した際の動作を、「診断動作」と称する。診断動作は、開始位置から終了位置まで移動する動作である。診断動作の内容は、ロボット機構部102が駆動部の制御により実行可能な動作であればどのような動作であってもよい。診断動作の一例として、ロボット機構部102が、開始位置として、テープライブラリ装置内のテープカートリッジが格納された位置から、終了位置として、テープドライブの位置にテープカートリッジを運搬する動作である。また、比較元となる音データが、ロボット機構部102が故障したか否かの判断基準として用いられる閾値となる。以下、比較元となる音データを、「基準音データ」と称する。
図1の(A)では、故障診断支援装置100が基準音データを取得するために、ロボット機構部102を移動させている例を示している。具体的に、図1の(A)の例では、診断動作として、故障診断支援装置100は、ロボット機構部102#1を診断動作の開始位置となる診断動作開始位置p1から診断動作の終了位置となる診断動作終了位置p2に向かって移動させる。より詳細には、故障診断支援装置100は、診断動作開始位置p1から診断動作終了位置p2までのパルス数をロボット機構部102#1を駆動する駆動部に付与することにより、ロボット機構部102#1を移動させる。
図1の(B)では、故障診断支援装置100が基準音データを取得している例を示している。具体的に、故障診断支援装置100は、ロボット機構部102が目標位置に到達したときの動作音の音データを基準音データとして取得する。基準音データを取得する位置となる目標位置は、診断動作開始位置p1と診断動作終了位置p2の間であればどこでもよく、たとえば、診断動作開始位置p1と診断動作終了位置p2の中間位置である。
以下、基準音データを取得する目標位置を、「基準音取得目標位置」と称する。また、診断動作開始位置p1を、単に、「位置p1」と称する。同様に、診断動作終了位置p2を、単に、「位置p2」と称する。
図1の(A)で示した動作中に、故障診断支援装置100は、ロボット機構部102が位置p1から基準音取得目標位置に到達したことを検出する。具体的な検出方法として、故障診断支援装置100は、駆動部に入力された電流のパルス数が、位置p1から基準音取得目標位置までのパルス数と一致したときに、ロボット機構部102が位置p1から基準音取得目標位置に到達したことを検出する。また、位置p1から基準音取得目標位置までのパルス数は、予め算出しておくことができる。たとえば、基準音取得目標位置が、位置p1と位置p2との中間位置にあれば、位置p1から基準音取得目標位置までのパルス数は、位置p1から位置p2までのパルス数の半分の値となる。以下、位置p1から基準音取得目標位置までのパルス数を、「目標位置パルス数」と称する。
ロボット機構部102が位置p1から基準音取得目標位置に到達したことを検出したときに、故障診断支援装置100は、ロボット機構部102から発生する音の強さを表す音データを取得する。本実施の形態に示す図面では、音を吹き出し内の白抜きの波線で表示し、波線の大きさが音の大きさを表すものとする。続けて、故障診断支援装置100は、ロボット機構部102から発生する音111の音データと位置p1から基準音取得目標位置までの目標位置パルス数とを関連付けた故障診断支援情報を出力する。
以上により、故障診断支援装置100は、機構部を1パルス当たり一定量移動させるモータへのパルス数から機構部の位置を推定し、目標位置に到達した時点の音を目標位置パルス数と関連付ける。これにより、故障診断支援装置100は、目標位置での故障診断用の基準音を取得できる。以下、図2〜図21を用いて、故障診断支援装置100の動作を説明する。
図2は、テープライブラリ装置のハードウェア構成例を示す説明図である。図2の(A)は、テープライブラリ装置200の全体を示している。図2の(B)は、テープライブラリ装置200の前面扉を開けた状態を示している。図2の(C)は、テープライブラリ装置200の後面扉を開けた状態を示している。テープライブラリ装置200は、オペレータパネル201と、Cartridge Access Station(CAS)202と、テープドライブ203と、ロボット電源204と、テープライブラリ制御部205と、カートリッジセル206を含む。また、図2の(A)で示すように、テープライブラリ装置200の前面を基準として、上下左右の方向を定義する。さらに、テープライブラリ装置200の中心から見て、図2の(B)で示す前面扉の方が前方向であり、図2の(C)で示す後面扉の方が後方向であるとする。
オペレータパネル201は、テープライブラリ装置200のユーザからの操作を受け付ける。オペレータパネル201は、ハードウェアキーボードを有していてもよいし、タッチパネルであってもよい。CAS202は、テープカートリッジの投入口である。テープドライブ203は、テープカートリッジの読み書きを行う装置である。ロボット電源204は、ロボット機構部102#1、ロボット機構部102#2に電流を供給する装置である。テープライブラリ制御部205は、テープライブラリ装置200を制御する。ライブラリコントローラ101は、テープライブラリ制御部205内に含まれる。カートリッジセル206は、テープカートリッジを収容する領域である。以下、カートリッジセル206を、「CELL」と称する。また、テープドライブ203を、「DRIVE」と称する。
図3は、ライブラリコントローラとロボット機構部のハードウェア構成例を示す説明図である。ロボット機構部102は、ロボットコントローラ301と、Yモータ302と、Zモータ303と、Xモータ304と、Sモータ305と、Pモータ306と、集音マイク307を含む。ロボット機構部102#1、ロボット機構部102#2は、同一のハードウェアを有する。図3の説明では、ロボット機構部102#1について説明する。また、ロボット機構部102#1、ロボット機構部102#2は、一方のみ動作しており他方は予備として動作していない。一方が故障した場合、予備となっていた他方が動作する。
また、ライブラリコントローラ101は、フラッシュRead Only Memory(ROM)311と、Man Machine Interface(MMI)312に接続されている。
ライブラリコントローラ101は、ロボット機構部102#1とロボット機構部102#2とを制御する装置である。ライブラリコントローラ101は、演算処理を行うMicro Processing Unit(MPU)313を含む。
ロボットコントローラ301#1は、Yモータ302#1〜Pモータ306#1に対して、Pulse Width Modulation(PWM)制御を行う。Yモータ302#1〜Pモータ306#1は、ロボット機構部102#1を移動させるサーボモータである。サーボモータとは、パルス状の電流を受けて1パルス当たりに所定の角度回転するモータであって、さらに、位置、速度等をフィードバックとなるエンコーダ信号により制御可能なモータである。なお、本実施の形態にかかるテープライブラリ装置200は、厳密な位置決めを行うため、サーボモータを採用することが好ましい。厳密な位置決めを行わなくてもよい装置であれば、該当の装置は、ステッピングモータを採用してもよい。ステッピングモータは、パルス状の電流を受けて1パルス当たりに所定の角度回転するモータである。
たとえば、Yモータ302#1は、ロボット機構部102#1を上下に移動させる。Zモータ303#1は、ロボット機構部102#1を前後に移動させる。Xモータ304#1は、ロボット機構部102#1を左右に移動させる。Sモータ305#1は、ロボット機構部102#1を、前後方向を軸として回転させる。Pモータ306#1は、ハンドピッカーを制御して、テープカートリッジをCELLからDRIVEに装填する。また、Pモータ306#1は、装填されたテープカートリッジを取り出す。Yモータ302#1〜Pモータ306#1によるロボット機構部102#1の移動方向については、図4にて後述する。集音マイク307#1は、ロボット機構部102#1から発生する音を集音して、音の強さを表す音データを生成する。
フラッシュROM311は、書き換え可能であり、電源を切ってもデータが消えない不揮発性の半導体メモリである。たとえば、フラッシュROM311は、故障診断支援プログラムを記憶している。また、フラッシュROM311は、テープライブラリ装置200の動作記録を記憶してもよい。MMI312は、テープライブラリ装置200のユーザとテープライブラリ装置200を仲立ちする装置である。
図4は、ロボット機構部の移動方向の一例を示す説明図である。図4では、ロボット機構部102#1の移動方向の説明を行う。ロボット機構部102#1の一部分であるX機構部401#1は、Xモータ304#1のX駆動により、左右に移動する。ロボット機構部102#1の一部分であるY機構部402#1は、Yモータ302#1のY駆動により、上下に移動する。ロボット機構部102#1の一部分であるZ機構部403#1は、Zモータ303#1のZ駆動により、前後に移動する。また、ロボット機構部102#1の一部分であるS機構部404#1は、Sモータ305#1のS駆動により、前後方向を軸にて回転する。また、ロボット機構部102#1の一部分であるP機構部405#1は、Pモータ306#1のP駆動により、Sモータ305#1により回転した向きで移動する。
図5は、テープライブラリ装置の断面図である。テープライブラリ装置200は、左面サイドキャビネットに、CAS0と、CELL0〜CELL5を有する。また、テープライブラリ装置200は、後面サイドキャビネットに、DRIVE0〜DRIVE3と、CELL12〜CELL14を有する。また、テープライブラリ装置200は、右面サイドキャビネットに、CAS1と、CELL6〜CELL11を有する。次に、図6〜図8にて、テープライブラリ装置200内の、CAS、CELL、DRIVEの物理アドレスの例を示す。
図6は、左面サイドキャビネットの物理アドレスの一例を示す説明図である。また、図7は、後面サイドキャビネットの物理アドレスの一例を示す説明図である。また、図8は、右面サイドキャビネットの物理アドレスの一例を示す説明図である。
具体的に、図6には、CAS0内のセル1〜セル10のX、Y、Z、Sアドレスと、CELL0〜CELL5内のユーザセル1〜114、229〜284、341〜448のX、Y、Z、Sアドレスを表示している。また、図7には、DRIVE0〜DRIVE3内のX、Y、Z、Sアドレスと、CELL12〜CELL14内のユーザセル557〜687のX、Y、Z、Sアドレスを表示している。また、図8には、CAS1内のセル11〜20のX、Y、Z、Sアドレスと、CELL6〜CELL11内のユーザセル115〜228、285〜340、449〜556のX、Y、Z、Sアドレスを表示している。なお、Pアドレスについては、各停止位置にて、前進を示す1か、後退を示す0かのいずれかが設定される。
たとえば、ロボット機構部102#1が、CAS0内のアドレス1にアクセスする場合、Xアドレスが3となり、Sアドレスが0となり、Zアドレスが0となり、Yアドレスが24となる。また、ロボット機構部102#1が、DRIVE0にアクセスする場合、Xアドレスが4となり、Sアドレスが1となり、Zアドレスが6となり、Yアドレスが3となる。また、ロボット機構部102#1が、CELL11内のアドレス466にアクセスする場合、Xアドレスが6となり、Sアドレスが2となり、Zアドレスが7となり、Yアドレスが53となる。
また、テープライブラリ装置200内の領域は、テープライブラリ装置200のユーザにより変更することも可能である。たとえば、図7にて示すように、CELL12〜CELL14のYアドレス3〜9は、Cluster0として、DRIVE0〜DRIVE3が設置されている。このとき、テープライブラリ装置200のユーザは、新たなClusterを設置してもよい。たとえば、テープライブラリ装置200のユーザは、CELL12〜CELL14のYアドレス10〜18を、新たなCluster1として、新たなDRIVEを設置してもよい。
(故障診断支援装置100の機能構成)
次に、故障診断支援装置100の機能構成について説明する。図9は、故障診断支援装置の機能構成例を示すブロック図である。故障診断支援装置100は、制御部901と、検出部902と、パルス数取得部903と、算出部904と、音データ取得部905と、比較部906と、出力部907を含む。制御部901〜出力部907は、記憶装置に記憶されたプログラムをMPU313が実行することにより、制御部901〜出力部907の機能を実現する。記憶装置とは、具体的には、たとえば、図3に示したフラッシュROM311などである。
また、故障診断支援装置100は、可動範囲記憶テーブル911と、パルス数記憶テーブル912と、音データ記憶テーブル913にアクセス可能である。可動範囲記憶テーブル911と、パルス数記憶テーブル912と、音データ記憶テーブル913は、フラッシュROM311といった記憶装置に格納されている。
可動範囲記憶テーブル911は、X機構部401〜P機構部405の可動可能な範囲のパルス数を記憶する。可動範囲記憶テーブル911の具体的な記憶内容の詳細については、図10にて後述する。
パルス数記憶テーブル912は、X機構部401〜P機構部405が可動可能な範囲のうち診断動作開始位置から基準音取得目標位置に向かって移動する際に駆動部に付与される目標位置パルス数を記憶する。以下、図9の説明では、X機構部401〜P機構部405のうち、Y機構部402を診断対象として説明を行う。診断対象となる機構部は、X機構部401〜P機構部405のいずれの機構部であってもよいし、ロボット機構部102でもよい。また、Y機構部402の駆動部は、Yモータ302となる。たとえば、パルス数記憶テーブル912は、Yモータ302が可動可能な範囲のうち、診断動作開始位置から基準音取得目標位置までY機構部402を移動させるためにYモータ302に付与される反時計回転方向の57675[パルス]を記憶する。
また、パルス数記憶テーブル912は、Y機構部402の原点位置から診断動作開始位置までY機構部402を移動させるためにYモータ302に付与される開始位置パルス数を記憶してもよい。また、パルス数記憶テーブル912は、診断動作開始位置から診断動作終了位置までY機構部402を移動させるためにYモータ302に付与される電流の終了位置パルス数と、を記憶していてもよい。
たとえば、パルス数記憶テーブル912は、開始位置パルス数として、原点位置から診断動作開始位置までの反時計回転方向の80080[パルス]を記憶する。さらに、パルス数記憶テーブル912は、終了位置パルス数として、診断動作開始位置から診断動作終了位置までの時計回転方向の44810[パルス]を記憶する。また、パルス数記憶テーブル912は、原点位置から診断動作終了位置までのパルス数を記憶していてもよい。パルス数記憶テーブル912の具体的な記憶内容の詳細については、図11にて後述する。
音データ記憶テーブル913は、X機構部401〜P機構部405のいずれかの機構部が、基準音取得目標位置を通過した際の基準音データを記憶する。音データ記憶テーブル913の具体的な記憶内容の詳細については、図12にて後述する。
制御部901は、パルス状の駆動電力に基づいて、1パルス当たりにY機構部402を一定量移動させるYモータ302を制御して、Y機構部402とYモータ302とを含む診断対象となるY機構部402を移動させる。
また、制御部901は、パルス数記憶テーブル912によって記憶されている開始位置パルス数の電流をYモータ302に入力してY機構部402を原点位置から診断動作開始位置に移動させて停止させてもよい。続けて、制御部901は、パルス数記憶テーブル912によって記憶されている終了位置パルス数の電流をYモータ302に入力してY機構部402を診断動作開始位置から診断動作終了位置に移動させてもよい。
たとえば、制御部901は、開始位置パルス数として、反時計回転方向の80080[パルス]をYモータ302に付与してY機構部402を原点位置から診断動作開始位置に移動させて停止させる。続けて、制御部901は、終了位置パルス数として、時計回転方向の44810[パルス]をYモータ302に付与してY機構部402を診断動作開始位置から診断動作終了位置に移動させる。
検出部902は、パルス数記憶テーブル912に記憶されている目標位置パルス数に基づいて、制御部901によってY機構部402が移動させられている間に、Y機構部402が診断動作開始位置から基準音取得目標位置に到達したことを検出する。基準音取得目標位置は、基準音データを取得する位置である。また、検出部902は、算出部904によって算出された目標位置パルス数に基づいて、制御部901によってロボット機構部102が移動させられている間に、Y機構部402が診断動作開始位置から基準音取得目標位置まで移動したことを検出してもよい。具体的な所定のパルス数を用いた検出方法は、Yモータ302がステッピングモータであるか、サーボモータであるかによって異なる。
また、検出部902は、目標位置パルス数の電流がYモータ302に入力されたときに、Y機構部402が診断動作開始位置から基準音取得目標位置に到達したことを検出してもよい。この方法は、Yモータ302がステッピングモータであってもサーボモータであっても採用することができる。具体的に、検出部902は、Yモータ302に入力された電流のパルス数を計数しておき、計数した値が目標位置パルス数と一致したときに、診断動作開始位置から基準音取得目標位置に到達したことを検出する。
たとえば、Y機構部402が診断動作開始位置となる、反時計回転方向の80080[パルス]にて停止したとする。この後、検出部902は、Yモータ302から目標位置パルス数となる反時計回転方向の57675[パルス]の電流がYモータ302に入力されたときに、Y機構部402が診断動作開始位置から基準音取得目標位置に到達したことを検出する。
また、検出部902は、Yモータ302から目標位置パルス数の電流が出力されたときに、Y機構部402が診断動作開始位置から基準音取得目標位置に到達したことを検出してもよい。Yモータ302から出力される電流とは、1パルス当たりにY機構部402を一定量移動させたことを示すパルス状の電流となるエンコーダ信号である。この方法は、Yモータ302がサーボモータであれば採用することができる。具体的に、検出部902は、Yモータ302から出力された電流のパルス数を計数しておき、計数した値が目標位置パルス数と一致したときに、Y機構部402が診断動作開始位置から基準音取得目標位置に到達したことを検出する。
たとえば、Y機構部402が診断動作開始位置となる、反時計回転方向の80080[パルス]にて停止したとする。この後、検出部902は、Yモータ302から目標位置パルス数となる反時計回転方向の57675[パルス]のエンコーダ信号が出力されたときに、Y機構部402が診断動作開始位置から基準音取得目標位置に到達したことを検出する。
また、検出部902は、目標位置パルス数に基づいて、故障診断中のY機構部402が診断動作開始位置から基準音取得目標位置に到達したことを検出してもよい。なお、検出部902は、ロボットコントローラ301が実行してもよい。または、ロボットコントローラ301は、Yモータ302へ入力した電流のパルス数、またはYモータ302から出力された電流のパルス数をMPU313に通知して、MPU313が検出部902の機能を実現してもよい。また、検出されたという情報は、MPU313のレジスタ、フラッシュROM311などの記憶領域に記憶される。
パルス数取得部903は、診断動作開始位置から診断動作終了位置までY機構部402を移動させるためにYモータ302に付与される終了位置パルス数を取得する。たとえば、パルス数取得部903は、診断動作開始位置から診断動作終了位置までの時計回転方向の44810[パルス]を終了位置パルス数として取得する。具体的な終了位置パルス数の取得元としては、たとえば、パルス数記憶テーブル912である。また、パルス数取得部903は、たとえば、テープライブラリ装置200の構成が変化したときに実行する。なお、取得した終了位置パルス数は、MPU313のレジスタ、フラッシュROM311などの記憶領域に記憶される。
算出部904は、パルス数取得部903によって取得された終了位置パルス数に基づいて、目標位置パルス数を算出する。たとえば、算出部904は、取得された終了位置パルス数が44810[パルス]であれば、基準音取得目標位置が中間位置となるように、取得されたパルス数の半分の値を算出して、目標位置パルス数とする。なお、算出した目標位置パルス数は、MPU313のレジスタ、フラッシュROM311などの記憶領域に記憶される。
音データ取得部905は、検出部902によってY機構部402が基準音取得目標位置まで移動したことが検出されたときにY機構部402から発生した音の強さを表す基準音データを取得する。たとえば、音データ取得部905は、検出部902によってY機構部402が基準音取得目標位置に到達したことが検出されたときに、集音マイク307が集音して生成した音データ25[dB]を基準音データとして取得する。
また、音データ取得部905は、検出部902によってY機構部402が基準音取得目標位置に到達したことが検出されたときに故障診断中のY機構部402から発生した音の強さを表す音データを取得してもよい。たとえば、音データ取得部905は、検出部902によってY機構部402が基準音取得目標位置に到達したことが検出されたときにY機構部402から発生した音を集音マイク307が集音して生成した音データ35[dB]を取得する。なお、取得したパルス数は、MPU313のレジスタ、フラッシュROM311などの記憶領域に記憶される。
比較部906は、出力部907によって目標位置パルス数と関連付けて出力された故障診断支援情報の基準音データと、故障診断中にY機構部402から発生する音の強さを表す音データとを比較する。たとえば、比較部906は、基準音データ25[dB]と、故障診断中のY機構部402から発生した音データ35[dB]を比較する。なお、比較結果は、MPU313のレジスタ、フラッシュROM311などの記憶領域に記憶される。
出力部907は、音データ取得部905によって取得された基準音データと目標位置パルス数とを関連付けた故障診断支援情報を出力する。たとえば、出力部907は、基準音データとなる25[dB]と、目標位置パルス数となる反時計回転方向の57675[パルス]とを関連付けた故障診断支援情報を出力する。故障診断支援情報の記憶内容の一例を、図11、図12にて示す。
また、出力部907は、比較部906によって比較された比較結果を出力してもよい。たとえば、出力部907は、基準音データと、故障診断中のY機構部402から発生した音データと比較した差が所定の閾値より大きいことを出力する。なお、Y機構部402が故障診断中の状態となる契機の一例としては、出力部907により故障診断支援情報が出力された以降の状態を、故障診断中の状態としてもよい。また、Y機構部402が故障診断中の状態となる契機の他の例としては、検査者によって指定された期間を故障診断中の状態としてもよい。
また、出力部907は、音データ取得部905によって取得された音データが表す音の強さが、基準音データが表す音の強さよりも大きい場合に警告情報を出力してもよい。警告情報は、テープライブラリ装置200のユーザに警告することを示す情報である。たとえば、Y機構部402の基準音データと、故障診断中のY機構部402から発生した音データと比較した差が大きい場合、出力部907は、Y機構部402の部品をメンテナンスした方がよいことを示す警告情報を出力する。なお、出力先として、出力部907は、MMI312を経由してオペレータパネル201に出力してもよいし、フラッシュROM311に出力してもよい。
図10は、可動範囲記憶テーブルの記憶内容の一例を示す説明図である。可動範囲記憶テーブル911は、X機構部401〜P機構部405の可動可能な範囲のパルス数を記憶するテーブルである。図10に示す可動範囲記憶テーブル911は、レコード1001−1〜1001−5を記憶する。
可動範囲記憶テーブル911は、機構部ID、FWDストッパ可動範囲、BWDストッパ可動範囲という3つのフィールドを含む。機構部IDフィールドには、X機構部401〜P機構部405を識別する情報が格納される。FWDストッパ可動範囲フィールドには、時計回転方向に可動可能な位置に対応するパルス数の範囲が格納される。BWDストッパ可動範囲フィールドには、反時計回転方向に可動可能な位置に対応するパルス数の範囲が格納される。
たとえば、レコード1001−1は、X機構部401が時計回転方向に4220[パルス]を中心に前後50[パルス]の範囲に対応する位置まで可動可能であることを示す。さらに、レコード1001−1は、X機構部401が反時計回転方向に54200[パルス]を中心に前後50[パルス]の範囲に対応する位置まで可動可能であることを示す。
図11は、パルス数記憶テーブルの記憶内容の一例を示す説明図である。パルス数記憶テーブル912は、X機構部401〜P機構部405に対して、各機構部の原点からの診断動作開始位置、基準音取得目標位置のパルス数を記憶するテーブルである。また、パルス数記憶テーブル912は、診断動作終了位置のパルス数を記憶してもよい。図11に示すパルス数記憶テーブル912は、レコード1101−1〜1101−5を記憶する。
パルス数記憶テーブル912は、機構部ID、FWDストッパ位置、BWDストッパ位置、基準音取得目標位置、静止中基準音データという5つのフィールドを含む。故障診断支援情報の記憶内容の一例として、故障診断支援情報は、基準音取得目標位置フィールドと、静止中基準音データフィールドとを有してもよい。また、故障診断支援情報の記憶内容の他の例について、図12にて示す。
機構部IDフィールドには、X機構部401〜P機構部405を識別する情報が格納される。FWDストッパ位置フィールドには、故障診断支援装置100がX機構部401〜P機構部405のうちの該当の機構部に対してFWDストッパ可動範囲を超える動作命令を発行した際に、実際に動作が停止した位置のパルス数が格納される。よって、FWDストッパ位置フィールドには、FWDストッパ可動範囲のうち該当の機構部が可動可能な最大値が格納される。BWDストッパ位置フィールドには、故障診断支援装置100が該当の機構部に対してBWDストッパ可動範囲を超える動作命令を発行した際に、実際に動作が停止した位置のパルス数が格納される。よって、BWDストッパ位置フィールドには、BWDストッパ可動範囲のうち該当の機構部が可動可能な最大値が格納される。
図9に示した、開始位置パルス数は、FWDストッパ位置フィールドに格納されるパルス数となり、終了位置パルス数は、BWDストッパ位置フィールドに格納されるパルス数となる。または、開始位置パルス数は、BWDストッパ位置フィールドに格納されるパルス数となり、終了位置パルス数は、FWDストッパ位置フィールドに格納されるパルス数となってもよい。
基準音取得目標位置フィールドには、基準音データを取得するパルス数が格納される。基準音取得目標位置は、機構部に対して1つでもよいし、複数あってもよい。基準音取得目標位置が複数ある場合、複数の基準音取得目標位置に対応する複数の静止中基準音データがある。
静止中基準音データフィールドには、基準音データを取得する位置での、ストップロック静止動作を行った際の音の強さが格納される。ストップロック静止動作とは、該当の機構部が指定した位置から移動しないようにする動作である。具体的には、該当の機構部を停止させようとしても、該当の機構部の時計回転方向、または反時計回転方向に微小に移動してしまうため、移動した分、元の位置に戻るように制御する動作である。
基準音取得目標位置フィールドには、たとえば、下記(1)式によって算出された値が格納される。また、BWDストッパ位置フィールドの値は、反時計回転方向のパルス数とし、FWDストッパ位置フィールドの値は、時計回転方向のパルス数とする。(1)式の結果が正である場合、基準音取得目標位置は、反時計回転方向のパルス数であり、(1)式の結果が負である場合、基準音取得目標位置は、時計回転方向のパルス数である。
基準音取得目標位置フィールドの値=(BWDストッパ位置フィールドの値−FWDストッパ位置フィールドの値)/2…(1)
たとえば、レコード1101−1は、X機構部401の時計回転方向の最大の可動位置が4210[パルス]であり、さらに、X機構部401の反時計回転方向の最大の可動位置が54246[パルス]であることを示す。さらに、レコード1101−1は、基準音データを取得するパルス数が、25018[パルス]であり、25018[パルス]の位置でのストップロック静止動作を行った際の音の強さが10[dB]であることを示す。
図12は、音データ記憶テーブルの記憶内容の一例を示す説明図である。音データ記憶テーブル913は、X機構部401〜P機構部405のいずれかの機構部が、基準音取得目標位置を通過した際の音データを記憶するテーブルである。たとえば、図12に示す音データ記憶テーブル913は、レコード1201−1〜1201−4を記憶する。
音データ記憶テーブル913は、動作ID、基準音取得目標位置通過機構部ID、基準音取得目標位置、通過時基準音データという4つのフィールドを含む。故障診断支援情報の記憶内容の他の例として、故障診断支援情報は、基準音取得目標位置フィールドと、通過時基準音データフィールドとを有してもよい。
動作IDフィールドには、動作の種別を示す識別情報が格納される。動作IDフィールドには、たとえば、CASからDRIVEまで移動する動作を示す“CAS→DRIVE”識別子や、DRIVEからCELLまで移動することを示す“DRIVE→CELL”識別子が格納される。基準音取得目標位置通過機構部IDフィールドには、ロボット機構部102が対象の動作を行った際に、X機構部401〜P機構部405のいずれかの基準音取得目標位置を通過した際の機構部IDが格納される。
基準音取得目標位置フィールドには、パルス数記憶テーブル912の基準音取得目標位置フィールドと同様の値が格納される。基準音取得目標位置は、機構部に対して1つでもよいし、複数あってもよい。基準音取得目標位置が複数ある場合、複数の基準音取得目標位置に対応する複数の通過時基準音データがある。通過時基準音データフィールドには、いずれかの基準音取得目標位置を通過した際の音の強さが格納される。
たとえば、レコード1201−1は、ロボット機構部102がX機構部401の基準音取得目標位置である反時計回転方向に25018[パルス]の位置を通過した際の音の強さが、30[dB]であったことを示す。次に、図13と図14を用いて、基準音データの取得例と、故障診断中の診断例を示す。
図13は、基準音データの取得例を示す説明図である。始めに、図13の(A)にて、故障診断支援装置100は、ロボット機構部102#1に対して、FWDストッパ可動範囲を超える動作命令を発行する。たとえば、故障診断支援装置100は、Yモータ302に対して、35300[パルス]を超える時計回転方向のパルスを通知する。また、故障診断支援装置100は、ロボット機構部102#2に対して、BWDストッパ可動範囲を超える動作命令を発行する。たとえば、故障診断支援装置100は、Yモータ302に対して、80100[パルス]を超える反時計回転方向のパルスを通知する。
次に、図13の(B)にて、故障診断支援装置100は、FWDストッパ可動範囲内で動作が停止した位置をFWDストッパ位置に設定し、パルス数記憶テーブル912のFWDストッパ位置フィールドに格納する。たとえば、故障診断支援装置100は、Y機構部402が停止した35270[パルス]の位置をY機構部402のFWDストッパ位置に設定する。また、故障診断支援装置100は、BWDストッパ可動範囲内で動作が停止した位置をBWDストッパ位置に設定し、パルス数記憶テーブル912のBWDストッパ位置フィールドに格納する。
続けて、故障診断支援装置100は、FWDストッパ位置とBWDストッパ位置とに基づいて、基準音取得目標位置のパルス数を算出する。たとえば、故障診断支援装置100は、(1)式を用いて、基準音取得目標位置となる22405[パルス]を算出する。故障診断支援装置100は、算出した値をパルス数記憶テーブル912の基準音取得目標位置フィールドに格納する。また、故障診断支援装置100は、基準音取得目標位置にてロボット機構部102#1から発生した音1301の強さを表す静止中基準音データを取得する。図13の例では、故障診断支援装置100は、20[dB]を取得する。故障診断支援装置100は、取得した値をパルス数記憶テーブル912の静止中基準音データフィールドに格納する。なお、故障診断支援装置100は、取得する回数について、1度でもよいし、複数回取得して、平均の値を算出してもよい。
次に、図13の(C)にて、故障診断支援装置100は、診断動作を実行中に、基準音取得目標位置を通過した際の音の強さを取得する。診断動作として、診断動作の(1)番目の動作は、CASからCELLへの動作である。(2)番目の動作は、CELLからDRIVEへの動作である。(3)番目の動作は、DRIVEからCELLへの動作である。(4)番目の動作は、CELLからCASへの動作である。
(1)〜(4)番目の動作の詳細を説明する。(5)番目の動作として、CASよりカートリッジが投入された後、ロボット機構部102は、テープカートリッジをCASから抜き取ってCELLの位置まで運搬した後、テープカートリッジをCELLに収納する。この場合、CASでのロボット機構部102の位置が、診断動作開始位置となる。同様に、CELLでのロボット機構部102の位置が、診断動作終了位置となる。また、(2)番目の動作として、ロボット機構部102は、CELLに収納したテープカートリッジを抜き取ってDRIVEの位置まで運搬した後、テープカートリッジをDRIVEに装填する。この場合、CELLでのロボット機構部102の位置が、診断動作開始位置となる。同様に、DRIVEでのロボット機構部102の位置が、診断動作終了位置となる。(6)番目の動作の後、テープライブラリ装置200は、テープカートリッジをマウントする。
また、(3)番目の動作として、テープカートリッジをアンマウントした後、ロボット機構部102は、DRIVEに装填されたテープカートリッジを抜き取ってCELLの位置まで運搬した後、テープカートリッジをCELLに収納する。この場合、DRIVEでのロボット機構部102の位置が、診断動作開始位置となる。同様に、CELLでのロボット機構部102の位置が、診断動作終了位置となる。また、(4)番目の動作として、ロボット機構部102は、CELLに収納したテープカートリッジを抜き取ってCASの位置まで運搬した後、テープカートリッジをCASに収納する。この場合、CELLでのロボット機構部102の位置が、診断動作開始位置となる。同様に、DRIVEでのロボット機構部102の位置が、診断動作終了位置となる。
図13の(C)では、ロボット機構部102が(1)番目のCASからCELLへの動作を行っているとする。テープカートリッジの運搬中、故障診断支援装置100は、Y機構部402が基準音取得目標位置を通過したときのロボット機構部102#1から発生した音1302の強さを表す音データ45[dB]を取得する。故障診断支援装置100は、取得した音データを音データ記憶テーブル913の通過時基準音データフィールドに格納する。なお、故障診断支援装置100は、取得する回数について、1度でもよいし、複数回基準音取得目標位置の通過を繰り返して複数の値を取得して、平均の値を算出してもよい。
また、CAS、CELL、DRIVEのアドレスとして、ロボット機構部102の移動が最大距離となるアドレスを選択する。たとえば、CASがCAS0のセル1であれば、CELLがCELL6のセル556である。
図14は、故障診断中の診断例を示す説明図である。図14では、(1)〜(4)番目の動作を行っている最中に、ロボット機構部102は、音データを取得して、ロボット機構部102が正常であるかを診断する。たとえば、故障診断支援装置100は、Y機構部402について、反時計回転方向70000[パルス]を診断動作開始位置として、(1)番目の動作の実行に伴って、診断動作終了位置となる時計回転方向35000[パルス]へ移動することになる。故障診断支援装置100は、診断動作開始位置のパルス数および診断動作終了位置のパルス数とから、動作音を取得する位置となる動作音取得目標位置のパルス数を下記(2)式の算出結果音データを算出する。
動作音取得目標位置のパルス数=(診断動作開始位置のパルス数−診断動作終了位置のパルス数)/2 …(2)
たとえば、図14の例では、故障診断支援装置100は、(2)式を用いて、動作音取得目標位置のパルス数を以下のように算出する。
動作音取得目標位置のパルス数=(70000−35000)/2=17500
次に、故障診断支援装置100は、パルス数が17500となったときの音1401の強さを表す音データ60[dB]を取得する。続けて、故障診断支援装置100は、取得した音データ60[dB]と、基準音データとなるレコード1201−2内のY機構部402の基準音取得目標位置の音データ45[dB]とを比較することにより、異常か否かを判断する。図14の場合は、故障診断中の音データの強さが基準音データの強さより大きいため、故障診断支援装置100は、異常であることを出力する。次に、図13、図14で示した動作を行うフローチャートを図15〜図21にて説明する。
図15は、初回基準音データ記憶時における故障診断処理手順の一例を示すフローチャートである。初回基準音データ記憶時における故障診断処理は、一回目の基準音データを記憶する際に、X機構部401〜P機構部405の故障診断を行う処理である。初回基準音データ記憶時における故障診断処理は、テープライブラリ装置200製造時の初回に行われたり、X機構部401〜P機構部405の保守交換作業時に行われたりする。また、初回基準音データ記憶時における故障診断処理は、X機構部401〜P機構部405それぞれの機構部を対象に行われる。図15の説明では、X機構部401〜P機構部405のうちの対象となる機構部を、「対象の機構部」と呼称する。また、対象の機構部に対応するモータを、「対象のモータ」と呼称する。たとえば、X機構部401に対応するモータは、Xモータ304である。
故障診断支援装置100は、エンコーダ信号および駆動回路診断処理を実行する(ステップS1501)。エンコーダ信号および駆動回路診断処理は、図19にて後述する。次に、故障診断支援装置100は、エンコーダ信号および駆動回路が正常を示したか否かを判断する(ステップS1502)。異常であることを示した場合(ステップS1502:No)、故障診断支援装置100は、対象のモータが故障していることを出力する(ステップS1503)。
正常であることを示した場合(ステップS1502:Yes)、故障診断支援装置100は、可動範囲測定処理を実行する(ステップS1504)。可動範囲測定処理は、図13で示したように、FWDストッパ可動範囲、BWDストッパ可動範囲から、FWDストッパ位置、BWDストッパ位置を測定する処理である。測定したFWDストッパ位置、BWDストッパ位置が、FWDストッパ可動範囲内、BWDストッパ可動範囲内であれば、可動範囲測定処理は、処理結果として可動範囲が正常であることを出力する。測定したFWDストッパ位置とBWDストッパ位置のいずれかが、FWDストッパ可動範囲外、BWDストッパ可動範囲外となれば、可動範囲測定処理は、処理結果として可動範囲が異常であることを出力する。
ステップS1504の実行終了後、故障診断支援装置100は、可動範囲が正常を示したか否かを判断する(ステップS1505)。異常を示した場合(ステップS1505:No)、故障診断支援装置100は、可動範囲が異常であることを出力する(ステップS1506)。
正常を示した場合(ステップS1505:Yes)、故障診断支援装置100は、対象の機構部に対して機構部テスト処理を実行する(ステップS1507)。機構部テスト処理は、駆動電流値を下げ、FWDストッパ位置からBWDストッパ位置間を低速動作でテストする処理である。駆動電流値を下げることにより、対象のモータの駆動トルクが低下することになり、通常動作では検出できない、対象の機構部の異常な負荷を診断することができる。したがって、機構部テスト処理が正常終了した機構部を基準音データの取得条件とする。機構部テスト処理は、動作音が所定の閾値以下となれば対象の機構部の動作が正常であることを出力し、動作音が所定の閾値より大きければ、対象の機構部の動作が異常であることを出力する。
ステップS1507の実行終了後、故障診断支援装置100は、対象の機構部の動作が正常を示したか否かを判断する(ステップS1508)。異常を示した場合(ステップS1508:No)、故障診断支援装置100は、対象の機構部の動作が異常であることを出力する(ステップS1509)。正常を示した場合(ステップS1508:Yes)、故障診断支援装置100は、初回基準音データ記憶処理を実行する(ステップS1510)。初回基準音データ記憶処理は、図20で後述する。
ステップS1510の実行処理後、故障診断支援装置100は、基準音データを記憶できたか否かを判断する(ステップS1511)。記憶できた場合(ステップS1511:Yes)、故障診断支援装置100は、初回基準音データを記憶できたことを出力する(ステップS1512)。記憶できなかった場合(ステップS1511:No)、故障診断支援装置100は、集音マイク307に異常があることを出力する(ステップS1513)。
ステップS1503、ステップS1506、ステップS1509、ステップS1512、またはステップS1513の処理終了後、故障診断支援装置100は、初回基準音データ記憶時における故障診断処理を終了する。初回基準音データ記憶時における故障診断処理を実行することにより、故障診断支援装置100は、X機構部401〜P機構部405が故障していないときの正常動作を示す基準音データを記憶することができる。
図16は、初回診断動作における基準音データ記憶処理手順の一例を示すフローチャートである。初回診断動作における基準音データ記憶処理は、初回の診断動作時に基準音データを記憶する処理である。初期診断動作における基準音データ記憶処理は、テープライブラリ装置200に電源を投入したときに行われる。または、初期診断動作における基準音データ記憶処理は、X機構部401〜P機構部405のリトライ動作時に行われてもよい。または、初期診断動作における基準音データ記憶処理は、X機構部401〜P機構部405の定期診断として行われてもよいし、オペレータパネル201を通じて、ユーザから指示されたときに行われてもよい。
故障診断支援装置100は、エンコーダ信号および駆動回路診断処理を実行する(ステップS1601)。次に、故障診断支援装置100は、エンコーダ信号および駆動回路が正常を示したか否かを判断する(ステップS1602)。正常を示した場合(ステップS1602:Yes)、故障診断支援装置100は、機構部テスト処理を実行する(ステップS1603)。続けて、故障診断支援装置100は、対象の機構部の動作が正常を示したか否かを判断する(ステップS1604)。正常を示した場合(ステップS1604:Yes)、故障診断支援装置100は、基準音データ記憶処理を実行する(ステップS1605)。次に、故障診断支援装置100は、基準音データを記憶できたか否かを判断する(ステップS1606)。記憶できた場合(ステップS1606:Yes)、故障診断支援装置100は、基準音データを記憶できたことを出力する(ステップS1607)。
エンコーダ信号または駆動回路が異常を示した場合(ステップS1602:No)、故障診断支援装置100は、エラー情報に、対象のモータが故障していることを設定する(ステップS1608)。また、対象の機構部の動作が異常を示した場合(ステップS1604:No)、故障診断支援装置100は、エラー情報に、対象の機構部の動作が異常であることを設定する(ステップS1609)。また、基準音データを記憶できなかった場合(ステップS1606:No)、故障診断支援装置100は、エラー情報に、集音マイク307に異常があることを設定する(ステップS1610)。
ステップS1608、ステップS1609、またはステップS1610のうちのいずれかの処理を終了した場合、故障診断支援装置100は、MMI312にエラー情報を通知する(ステップS1611)。次に、故障診断支援装置100は、予備のロボット機構部102に切り替える(ステップS1612)。ステップS1607、またはステップS1612の実行終了後、故障診断支援装置100は、初回診断動作における基準音データ記憶処理を終了する。初回診断動作における基準音データ記憶処理を実行することにより、初回診断時に、X機構部401〜P機構部405が故障していないときの正常動作を示す基準音データを記憶することができる。
図17は、故障診断中診断処理手順の一例を示すフローチャート(その1)である。また、図18は、故障診断中診断処理手順の一例を示すフローチャート(その2)である。故障診断中診断処理は、故障診断中のロボット機構部102に対して行われる処理である。
故障診断支援装置100は、診断動作中の各機構部の診断動作開始位置のパルス数および診断動作終了位置のパルス数を取得する(ステップS1701)。続けて、故障診断支援装置100は、各機構部の診断動作開始位置のパルス数および診断動作終了位置のパルス数から、各機構部の動作音取得目標位置を算出する(ステップS1702)。
次に、故障診断支援装置100は、各機構部の動作音取得目標位置に到達したか否かを判断する(ステップS1703)。到達した場合(ステップS1703:Yes)、故障診断支援装置100は、動作音取得目標位置の音データを取得する(ステップS1704)。続けて、故障診断支援装置100は、全ての機構部の音データを取得したか否かを判断する(ステップS1705)。動作音取得目標位置に到達していない場合(ステップS1703:No)、または、取得していない音データがある場合(ステップS1705:No)、故障診断支援装置100は、ステップS1703の処理に移行する。
全ての機構部の音データを取得した場合(ステップS1705:Yes)、故障診断支援装置100は、全ての機構部の音データが正しく取得できたか否かを判断する(ステップS1706)。音データが正しく取得できたかとは、たとえば、所定の閾値以上の音データが取得できた場合、正しく取得できたとする。音データが取得できていない場合(ステップS1706:No)、故障診断支援装置100は、集音マイク307が故障していることを出力する(ステップS1707)。音データが正しく取得できた場合(ステップS1706:Yes)、故障診断支援装置100は、図18のステップS1801の処理に移行する。
図18にて、故障診断支援装置100は、全ての機構部の音データと、音データ記憶テーブル913の通過時基準音データを比較する(ステップS1801)。次に、故障診断支援装置100は、比較結果となる音データの差が所定の閾値を超えたことを示しているか否かを判断する(ステップS1802)。音データの差が所定の閾値を超えた場合(ステップS1802:Yes)、故障診断支援装置100は、MMI312に音量・周波数アラーム通報を通知する(ステップS1803)。
次に、故障診断支援装置100は、音データの差が同一の機構部で連続して閾値を超えたか否かを判断する(ステップS1804)。連続して閾値を超えた場合(ステップS1804:Yes)、故障診断支援装置100は、MMI312に音量・周波数エラー通報を通知する(ステップS1805)。次に、故障診断支援装置100は、予備のロボット機構部に切り替える(ステップS1806)。ステップS1806の実行終了後、故障診断支援装置100は、故障診断中診断処理を終了する。
音データの差が所定の閾値を超えていない場合(ステップS1802:No)、または、音データの差が連続して閾値を超えていない場合(ステップS1804:No)、故障診断支援装置100は、目標位置にて、各機構部の静止中の音データを取得する(ステップS1807)。次に、故障診断支援装置100は、各機構部の静止中の音データと、パルス数記憶テーブル912の静止中基準音データを比較する(ステップS1808)。ステップS1809〜ステップS1813の処理については、比較対象が変わったのみであり、処理内容は同一であるから、説明を省略する。
ステップS1809:No、ステップS1811:No、またはステップS1813の実行終了後、故障診断支援装置100は、故障診断中診断処理を終了する。故障診断中診断処理を実行することにより、故障診断支援装置100は、取得してあった動作中の基準音データと、静止中の基準音データを用いて、故障診断を行うことができる。
図19は、エンコーダ信号および駆動回路診断処理手順の一例を示すフローチャートである。エンコーダ信号および駆動回路診断処理は、対象のモータの動作が正常であるか否かを判断する処理である。
故障診断支援装置100は、対象のモータの駆動電流値を0に設定する(ステップS1901)。次に、故障診断支援装置100は、エンコーダ信号に変化があるか否かを判断する(ステップS1902)。変化がある場合(ステップS1902:Yes)、故障診断支援装置100は、一定時間経過後、ステップS1902の処理を再び実行する。駆動電流値が0にもかかわらず、エンコーダ信号に変化がある場合とは、地震などの外的要因により、対象の機構部が振動していることを示している。この場合、正常動作音および診断動作に影響があるため、故障診断支援装置100は、診断動作を開始前に、エンコーダ信号に変化がないことを確認する。
変化がない場合(ステップS1902:No)、故障診断支援装置100は、対象のモータの駆動電流値を所定量増加する(ステップS1903)。次に、故障診断支援装置100は、駆動方向と同方向にタコカウンタが変化したか否かを判断する(ステップS1904)。駆動方向は、時計回転方向と反時計回転方向である。駆動方向と同方向にタコカウンタが変化した場合(ステップS1904:Yes)、故障診断支援装置100は、対象のモータの駆動電流値が最大値か否かを判断する(ステップS1905)。対象のモータの駆動電流値が最大値でない場合(ステップS1905:No)、故障診断支援装置100は、ステップS1903の処理に移行する。
対象のモータの駆動電流値が最大値である場合(ステップS1905:Yes)、故障診断支援装置100は、エンコーダ信号および駆動回路が正常であることを出力する(ステップS1906)。駆動方向と同方向にタコカウンタが変化しない場合(ステップS1904:No)、故障診断支援装置100は、エンコーダ信号または駆動回路が異常であることを出力する(ステップS1907)。ステップS1906、またはステップS1907の実行終了後、故障診断支援装置100は、エンコーダ信号および駆動回路診断処理を終了する。エンコーダ信号および駆動回路診断処理を実行することにより、故障診断支援装置100は、エンコーダ信号および駆動回路診断処理対象のモータの動作が正常であるか否かを診断できる。
図20は、初回基準音データ記憶処理手順の一例を示すフローチャートである。初回基準音データ記憶処理は、初回の静止中の音データと動作中の音データを取得する処理である。始めに、故障診断支援装置100は、FWDストッパ位置のパルス数とBWDストッパ位置のパルス数を取得する(ステップS2001)。次に、故障診断支援装置100は、FWDストッパ位置のパルス数とBWDストッパ位置のパルス数から、基準音取得目標位置のパルス数を算出する(ステップS2002)。続けて、故障診断支援装置100は、基準音取得目標位置でのストップロック静止動作中の音データを取得する(ステップS2003)。
次に、故障診断支援装置100は、取得した音データが所定の閾値以上か否かを判断する(ステップS2004)。所定の閾値以上である場合(ステップS2004:Yes)、故障診断支援装置100は、取得した音データを、パルス数記憶テーブル912の静止中基準音データフィールドに格納する(ステップS2005)。次に、故障診断支援装置100は、対象の機構部を診断動作開始位置に移動する(ステップS2006)。続けて、故障診断支援装置100は、対象の機構部を診断動作開始位置から診断動作終了位置まで移動させている間に、対象の機構部が基準音取得目標位置に到達したことを検出する(ステップS2007)。次に、故障診断支援装置100は、基準音取得目標位置の音データを取得する(ステップS2008)。
続けて、故障診断支援装置100は、取得した音データが所定の閾値以上か否かを判断する(ステップS2009)。所定の閾値以上である場合(ステップS2009:Yes)、故障診断支援装置100は、取得した音データを、音データ記憶テーブル913の通過時基準音データフィールドに格納する(ステップS2010)。次に、故障診断支援装置100は、基準音データを記憶できたことを出力する(ステップS2011)。
所定の閾値以上でない場合(ステップS2004:No、ステップS2009:No)、故障診断支援装置100は、集音マイク307に異常があることを出力する(ステップS2012)。ステップS2011、またはステップS2012の実行終了後、故障診断支援装置100は、初回基準音データ記憶処理を終了する。
図21は、基準音データ記憶処理手順の一例を示すフローチャートである。基準音データ記憶処理は、2回目以降の基準音データを記憶する処理である。故障診断支援装置100は、基準音取得目標位置でのストップロック静止動作中の音データを取得する(ステップS2101)。次に、故障診断支援装置100は、取得した音データと、パルス数記憶テーブル912の静止中基準音データフィールドの値を比較する(ステップS2102)。
続けて、故障診断支援装置100は、音データの差が所定の閾値を超えたことを示しているか否かを判断する(ステップS2103)。所定の閾値を超えていない場合(ステップS2103:No)、故障診断支援装置100は、取得した音データを、パルス数記憶テーブル912の静止中基準音データフィールドに格納する(ステップS2104)。なお、パルス数記憶テーブル912の静止中基準音データフィールドに格納する場合、故障診断支援装置100は、既存の値を取得した音データで上書きしてもよいし、既存の値と取得した音データとの平均値を静止中基準音データフィールドに格納してもよい。次に、故障診断支援装置100は、対象の機構部を診断動作開始位置に移動させる(ステップS2105)。続けて、故障診断支援装置100は、対象の機構部を診断動作開始位置から診断動作終了位置まで移動させている間に、対象の機構部が基準音取得目標位置に到達したことを検出する(ステップS2106)。次に、故障診断支援装置100は、基準音取得目標位置の音データを取得する(ステップS2107)。続けて、故障診断支援装置100は、取得した音データと、音データ記憶テーブル913の通過時基準音データフィールドの値を比較する(ステップS2108)。
次に、故障診断支援装置100は、音データの差が所定の閾値を超えたことを示しているか否かを判断する(ステップS2109)。音データの差が所定の閾値を超えていない場合(ステップS2109:No)、故障診断支援装置100は、取得した音データを、音データ記憶テーブル913の通過時基準音データフィールドに格納する(ステップS2110)。なお、パルス数記憶テーブル912の通過時基準音データフィールドに格納する場合、故障診断支援装置100は、既存の値を取得した音データで上書きしてもよいし、既存の値と取得した音データとの平均値を通過時基準音データフィールドに格納してもよい。続けて、故障診断支援装置100は、基準音データを記憶できたことを出力する(ステップS2111)。音データの差が所定の閾値を超えている場合(ステップS2103:Yes、ステップS2109:Yes)、故障診断支援装置100は、異常音があることを出力する(ステップS2112)。
ステップS2111、または、ステップS2112の実行終了後、故障診断支援装置100は、基準音データ記憶処理を終了する。基準音データ記憶処理を実行することにより、故障診断支援装置100は、2回目以降の基準音データを記憶することができる。
以上説明したように、故障診断支援装置100によれば、診断対象の機構部を1パルス当たり一定量移動させるモータへのパルス数から動作中の診断対象の機構部の位置を推定し、目標位置に到達した時点の音データを目標位置パルス数と関連付けて出力する。これにより、故障診断支援装置100は、目標位置での故障診断用の基準音データを取得できる。また、故障診断支援装置100が故障診断用の基準音データを取得するため、基準音を取得する時間と人手を削減することができる。
目標位置は、たとえば、診断動作開始位置と診断動作終了位置との中間位置でもよい。中間位置である場合、機構部が最も速く移動していると推定できるため、故障診断支援装置100は、動作中で最大の音の強さを表す音データを取得することができる。また、目標位置は、たとえば、診断動作開始位置と診断動作終了位置とのうち、頻繁に診断対象の機構部が通過する位置に検査者が指定してもよい。頻繁に診断対象の機構部が通過する位置にあたる部分は劣化している可能性が高いため、該当の位置での音を取得することにより、故障診断支援装置100は、故障しやすい位置の音の強さを表す音データを取得することができる。
また、故障診断支援装置100によれば、診断動作開始位置から診断動作終了位置まで診断対象の機構部を移動させるためのパルス数を取得して、目標位置パルス数を算出してもよい。たとえば、テープライブラリ装置200のキャビネットの構成が変化した場合、再度目標位置パルス数を算出することにより、故障診断支援装置100は、キャビネットの構成に対応した目標位置での音データを基準音データに設定できる。
また、故障診断支援装置100によれば、目標位置パルス数の電流を診断対象の機構部の駆動部に入力したときに、診断対象の機構部が基準音取得目標位置に到達したことを検出してもよい。これにより、故障診断支援装置100は、診断対象の機構部の動作範囲内の目標位置パルス数に対応した位置での基準音を取得できる。また、故障診断支援装置100によれば、診断対象の機構部の駆動部がステッピングモータであってもサーボモータであっても本故障診断支援方法が適用できる。
また、故障診断支援装置100によれば、診断対象の機構部の駆動部から出力される電流のパルス数に基づいて、診断対象の機構部が基準音取得目標位置に到達したことを検出してもよい。これにより、故障診断支援装置100は、診断対象の機構部の駆動部がサーボモータであるときに、エンコーダ信号に基づいた診断対象の機構部の正確な位置での基準音を取得できる。
また、目標位置が複数あれば、故障診断支援装置100は、ある目標位置では、ある目標位置に対応する目標位置パルス数の電流が入力された場合、ある目標位置に到達したことを検出する。さらに、故障診断支援装置100は、他の目標位置では、他の目標位置に対応する目標位置パルス数の電流が出力された場合、他の目標位置に到達したことを検出してもよい。たとえば、機構部が急激な速度変化を行う位置や機構部にかかる負荷が高い位置では、入力したパルス数に対応する位置と機構部の実際の位置とがずれやすいため、駆動部から出力された電流のパルス数を用いることにより、正確な位置での基準音を取得できる。
また、故障診断支援装置100によれば、原点位置から診断動作開始位置までのパルス数の電流を診断対象の機構部の駆動部に入力して、診断対象の機構部の原点位置から診断動作開始位置まで移動させて停止させる。次に、故障診断支援装置100によれば、診断動作開始位置から診断動作終了位置までのパルス数の電流を診断対象の機構部の駆動部に入力して、診断対象の機構部を診断動作開始位置から診断動作終了位置まで移動させてもよい。
たとえば、パルス数の順序が、原点位置、診断動作開始位置、目標位置である場合、診断対象の機構部が、診断動作開始位置にて一旦停止しない場合、故障診断中の機構部では発生しない速度にて目標位置に到達する可能性がある。この場合、基準音データの強さが、本来取得すべき基準音データの強さより強くなり、結果、判断基準が緩くなってしまう。故障診断支援装置100は、原点位置から診断動作開始位置に移動して一旦停止させることにより、診断対象の機構部が診断動作開始位置から移動し始めて基準音取得目標位置に到達したときの基準音データを取得できるため、判断基準が緩くなることを防止できる。
また、故障診断支援装置100によれば、基準音データと故障診断中の機構部から発生した音データとを比較してもよい。これにより、故障診断支援装置100は、基準音データを取得したときと同一の位置で故障診断を行うことができる。また、故障診断支援装置100によれば、診断基準によるばらつきがなくなる。また、故障診断支援装置100によれば、故障診断が故障診断支援装置100で行えることにより、ロボット機構部102の検査者の聞き漏れによる見逃しや、聞き間違いによる判断ミスをなくすことができる。
また、故障診断支援装置100によれば、故障診断中のロボット機構部102から発生した音データが基準音データより大きい場合、警告情報を出力してもよい。これにより、テープライブラリ装置200のユーザは、故障診断支援装置100が故障している可能性があるという情報を知ることができる。
また、故障診断支援装置100によれば、ロボット機構部102の検査者に委ねられていた基準音の取得処理を自動取得することにより、基準音のばらつきをなくすことができる。また、本実施の形態にかかる故障診断支援方法は、テープライブラリ装置200以外にも、サーボモータやステッピングモータにより位置制御する装置であれば適用することができる。たとえば、本実施の形態にかかる故障診断支援方法をNC装置に適用することができる。
本故障診断支援プログラムは、可搬型のフラッシュメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本故障診断支援プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)機構部と、前記機構部を駆動する駆動部の故障診断を支援する故障診断支援装置であって、
パルス状の駆動電力に基づいて診断対象の機構部の駆動部を制御する制御部と、
前記診断対象の機構部を診断動作開始位置から目標位置に向かって移動する際に前記診断対象の機構部の駆動部に付与される目標位置パルス数を記憶する記憶部と、
前記記憶部によって記憶されている前記目標位置パルス数に基づいて、前記診断対象の機構部が前記診断動作開始位置から前記目標位置に到達したことを検出する検出部と、
前記検出部によって前記診断対象の機構部が前記目標位置に到達したことが検出されたときに取得された音の強さを表す音データと、前記目標位置パルス数とを関連付けた故障診断支援情報を出力する出力部と、
を有することを特徴とする故障診断支援装置。
(付記2)前記診断動作開始位置から前記目標位置を超えて診断動作終了位置まで前記診断対象の機構部を移動させるために前記診断対象の機構部の駆動部に付与される終了位置パルス数を取得するパルス数取得部と、
前記パルス数取得部によって取得された前記終了位置パルス数に基づいて、前記診断対象の機構部を前記診断動作開始位置から前記目標位置に向かって前記診断対象の機構部が移動する際に前記診断対象の機構部の駆動部に付与される前記目標位置パルス数を算出する算出部と、を有し、
前記検出部は、
前記算出部によって算出された前記目標位置パルス数に基づいて、前記診断対象の機構部が前記診断動作開始位置から前記目標位置まで移動したことを検出することを特徴とする付記1に記載の故障診断支援装置。
(付記3)前記検出部は、
前記目標位置パルス数の電流が前記診断対象の機構部の駆動部に入力されたときに、前記診断対象の機構部が前記診断動作開始位置から前記目標位置に到達したことを検出することを特徴とする付記1または2に記載の故障診断支援装置。
(付記4)前記検出部は、
前記診断対象の機構部の駆動部から前記目標位置パルス数の電流が出力されたときに、前記診断対象の機構部が前記診断動作開始位置から前記目標位置に到達したことを検出することを特徴とする付記1〜3のいずれか一つに記載の故障診断支援装置。
(付記5)前記記憶部は、
前記診断対象の機構部の原点位置から前記診断動作開始位置まで前記診断対象の機構部を移動させるために前記診断対象の機構部の駆動部に付与される開始位置パルス数と、前記診断動作開始位置から前記目標位置を超えて診断動作終了位置まで前記診断対象の機構部を移動させるために前記診断対象の機構部の駆動部に付与される終了位置パルス数と、を記憶しており、
前記制御部は、
前記記憶部によって記憶されている前記開始位置パルス数の電流を前記診断対象の機構部の駆動部に入力して前記診断対象の機構部を前記原点位置から前記診断動作開始位置に移動させて停止させた後、前記記憶部によって記憶されている前記終了位置パルス数の電流を前記診断対象の機構部の駆動部に入力して前記診断対象の機構部を前記診断動作開始位置から前記目標位置を超えて前記診断動作終了位置に移動させることを特徴とする付記1〜4のいずれか一つに記載の故障診断支援装置。
(付記6)前記出力部によって出力された前記故障診断支援情報の音データと、故障診断中に前記診断対象の機構部が前記目標位置に到達したときに取得された音の強さを表す音データとを比較する比較部を有し、
前記検出部は、
前記目標位置パルス数に基づいて、故障診断中の前記診断対象の機構部が前記診断動作開始位置から前記目標位置に到達したことを検出し、
前記比較部は、
前記出力部によって出力された前記故障診断支援情報の音データと、前記検出部によって故障診断中の前記診断対象の機構部が前記目標位置に到達したことが検出されたときに取得された音の強さを表す音データと、を比較し、
前記出力部は、
前記比較部によって比較された比較結果を出力することを特徴とする付記1〜5のいずれか一つに記載の故障診断支援装置。
(付記7)前記出力部は、
前記検出部によって前記診断対象の機構部が前記目標位置に到達したことが検出されたときに取得された前記音データが表す音の強さが、前記故障診断支援情報の音データが表す音の強さよりも大きい場合に警告情報を出力することを特徴とする付記6に記載の故障診断支援装置。
(付記8)機構部と、前記機構部を駆動する駆動部の故障診断を支援する故障診断支援装置であって、
パルス状の駆動電力に基づいて診断対象の機構部の駆動部を制御する制御部と、
前記診断対象の機構部を診断動作開始位置から目標位置に向かって移動する際に前記診断対象の機構部の駆動部に付与される目標位置パルス数を記憶する記憶部と、
前記記憶部によって記憶されている前記目標位置パルス数に基づいて、前記診断対象の機構部が前記診断動作開始位置から前記目標位置に到達したことを検出する検出部と、
前記検出部によって前記診断対象の機構部が前記目標位置に到達したことが検出されたときに取得された音の強さを表す音データと、前記目標位置パルス数とを関連付けた故障診断支援情報を出力する出力部と、
を有するコンピュータを含むことを特徴とする故障診断支援装置。
(付記9)機構部と、前記機構部を駆動する駆動部の故障診断を支援する故障診断支援方法であって、
コンピュータが、
パルス状の駆動電力に基づいて診断対象の機構部の駆動部を制御し、
前記診断対象の機構部を診断動作開始位置から目標位置に向かって移動する際に前記診断対象の機構部の駆動部に付与される目標位置パルス数を記憶する記憶部によって記憶されている前記目標位置パルス数に基づいて、前記診断対象の機構部が前記診断動作開始位置から前記目標位置に到達したことを検出し、
前記診断対象の機構部が前記目標位置に到達したことを検出したときに取得された音の強さを表す音データと、前記目標位置パルス数とを関連付けた故障診断支援情報を出力する、
処理を実行することを特徴とする故障診断支援方法。
(付記10)機構部と、前記機構部を駆動する駆動部の故障診断を支援する故障診断支援プログラムであって、
コンピュータに、
パルス状の駆動電力に基づいて診断対象の機構部の駆動部を制御し、
前記診断対象の機構部を診断動作開始位置から目標位置に向かって移動する際に前記診断対象の機構部の駆動部に付与される目標位置パルス数を記憶する記憶部によって記憶されている前記目標位置パルス数に基づいて、前記診断対象の機構部が前記診断動作開始位置から前記目標位置に到達したことを検出し、
前記診断対象の機構部が前記目標位置に到達したことを検出したときに取得された音の強さを表す音データと、前記目標位置パルス数とを関連付けた故障診断支援情報を出力する、
処理を実行させることを特徴とする故障診断支援プログラム。
(付記11)機構部と、前記機構部を駆動する駆動部の故障診断を支援する故障診断支援プログラムであって、
コンピュータに、
パルス状の駆動電力に基づいて診断対象の機構部の駆動部を制御し、
前記診断対象の機構部を診断動作開始位置から目標位置に向かって移動する際に前記診断対象の機構部の駆動部に付与される目標位置パルス数を記憶する記憶部によって記憶されている前記目標位置パルス数に基づいて、前記診断対象の機構部が前記診断動作開始位置から前記目標位置に到達したことを検出し、
前記診断対象の機構部が前記目標位置に到達したことを検出したときに取得された音の強さを表す音データと、前記目標位置パルス数とを関連付けた故障診断支援情報を出力する、
処理をコンピュータに実行させる故障診断支援プログラムを記録したことを特徴とする記録媒体。