(57)【要約】【課題】アラームバッファに格納されるべきアラームのアラームコードをバッファに確実に格納することができるアラームコード格納装置及び方法とそれを備えたモータ制御装置を提供する。【解決手段】アラームが発生した際に、アラームに対応するアラームコードを発生順にバッファに格納するアラームコード格納装置において、アラーム要因が無くなるとバッファから削除されるアラームコードを格納するバッファＡ（１）と、アラーム要因が無くなってもバッファから削除されないアラームコードを格納するバッファＢ（１）を持つものである。【選択図】図１
2007011699.tif 000002
【特許請求の範囲】
【請求項１】
アラームが発生した際に、アラームに対応するアラームコードを発生順にバッファに格納するアラームコード格納装置において、
アラーム要因が無くなるとバッファから削除されるアラームコードを格納するバッファＡと、
アラーム要因が無くなってもバッファから削除されないアラームコードを格納するバッファＢを持つことを特徴とするアラームコード格納装置。
【請求項２】
前記バッファＡは、アラーム格納またはアラーム削除中を示すアラーム操作中信号を有し、前記アラーム操作中である間は他の並列処理または割り込み処理がバッファＡの操作をせずに、アラームバッファ操作の次の処理へスキップすることを特徴とする請求項１記載のアラームコード格納装置。
【請求項３】
前記バッファＢは、アラーム格納の際に他の並列処理または割り込み処理を停止することを特徴とする請求項１記載のアラームコード格納装置。
【請求項４】
前記バッファＡは、アラームコードを格納する際に、格納する時点の前記バッファＢのアラームコード格納末尾位置をアラームコード挿入位置として前記バッファＡに格納することを特徴とする請求項１記載のアラームコード格納装置。
【請求項５】
アラーム要因が無くなるとバッファから削除されるアラームコードを格納するバッファＡと、アラーム要因が無くなってもバッファから削除されないアラームコードを格納するバッファＢと、バッファＡに格納されるアラームコードと、バッファＢに格納されるアラームコードを備えたアラームコード格納方法において、
前記バッファＢに追加格納されるバッファ位置（５）、アラームコードＡが前記バッファＡに格納される時点の前記バッファ位置（５）の値を格納するバッファＢ挿入箇所（６）、アラームバッファ操作中を示す信号（７）を認識し、
前記バッファＡにはアラーム要因が無くなるとバッファから削除されるアラームコードＡＬＭ＿Ａ［ｉ］を格納し、前記バッファＢにはアラーム要因が無くなってもバッファから削除されないアラームコードＡＬＭ＿Ｂ［ｉ］を格納し、前記バッファＡにはアラームコードを格納する際に、格納する時点の前記バッファＢに追加格納されるバッファ位置を前記バッファＢ挿入位置ＩＮＳＴ［ｉ］として格納し、
前記バッファＡはアラームバッファに格納されているアラーム要因が無くなると、アラームコードを前記バッファＡから削除するために、前記バッファＡの中でアラームコードを探して削除し、削除したアラームコードより後に格納されたアラームコードを削除したアラームコードの分だけ移動させ、前記バッファＡの操作中にはアラームバッファ操作中を示す信号を用い他の処理が前記バッファＡを操作しようとした場合、前記バッファＡの操作を許可せずに次の処理へスキップさせ、
前記バッファＢは、前記バッファＢを操作するときは割り込み禁止とし、他の処理の実行を禁止するステップからなることを特徴とするアラームコード格納方法。
【請求項６】
アラームを発生順に取得する場合は、前記バッファＡ中の前記バッファＢ挿入箇が示すアラームコードＢの間にアラームコードＡを挿入するものである請求項５記載のアラームコード格納方法。
【請求項７】
請求項１乃至４のアラームコード格納装置を備え、アラームコードをその発生順に時系列に並べて記憶したことを特徴とするモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アラームコードをアラーム発生順に格納するアラームコード格納装置及び方法とそれを備えたモータ制御装置に関する。
【背景技術】
【０００２】
従来のアラーム格納方法はバッファ使用中信号を有し、あるアラーム検出処理がアラームを検出し、アラームコードをバッファに格納する場合、他のアラーム検出処理がアラームバッファに格納することを禁止する。アラームを格納することを禁止されたアラーム検出処理は、周期的に行われる次回のアラーム検出時にアラームバッファに格納しようとする（例えば、特許文献１参照）。
また、アラーム要因が無くなるとバッファから削除されるアラームのアラーム要因が無くなった場合、他のアラーム処理がバッファを操作することを禁止し、バッファの中から削除するアラームコードを探し、抜き取った後、以降のバッファを抜き取った分だけシフトする。その間、他のアラーム検出処理はアラームバッファに格納することを禁止され、周期的に行われる次回のアラーム検出時にアラームバッファに格納しようとする（例えば、特許文献１参照）。
【０００３】
図６において８は従来方式のアラームバッファ、９はアラームコードである。従来のアラーム格納方法はバッファ使用中信号を有し、あるアラーム検出処理がアラームを検出し、アラームコードをバッファに格納する場合、他のアラーム検出処理がアラームバッファに格納することを禁止する。アラームを格納することを禁止されたアラーム検出処理は周期的に行われる次回のアラーム検出時にアラームバッファに格納しようとする。
また、アラーム要因が無くなるとバッファから削除されるアラームのアラーム要因が無くなった場合、他のアラーム処理がバッファを操作することを禁止し、バッファの中から削除するアラームコードを探し、抜き取った後、以降のバッファを抜き取った分だけシフトする。その間、他のアラーム検出処理はアラームバッファに格納することを禁止され、周期的に行われる次回のアラーム検出時にアラームバッファに格納しようとする。
【０００４】
また、特許文献１ではアラーム信号をより優先順位の高いものから順に報知することができるアラーム報知システムが開示されている。即ち被監視装置から送信される複数のアラーム信号をバッファに格納するアラーム情報格納手段と、バッファに格納されたアラーム信号を先頭アドレス順に読み出して報知を行うアラーム報知手段とを備えたシステムであって、アラーム信号格納手段が、被監視装置から送信されたアラーム信号に対してその内容に応じた優先順位を付与する優先情報付与手段と、報知値優先順位が高いアラーム信号ほどバッファにおいてより先頭のアドレスに配置されるように格納する優先格納手段とを有する。優先格納手段を、優先順位が最下位となるアラーム信号については、それを破棄するように構成する。また、バッファに格納すべきアラーム信号の優先順位と同順位のアラーム信号がバッファにすでに存在するとき、すでに格納されている同順位のアラーム信号の次に格納すべきアラーム信号を挿入格納するように構成する。優先格納手段は、また、バッファに格納すべきアラーム信号と内容が等しいアラーム信号がバッファにすでに存在するとき、バッファに格納すべきアラーム信号をバッファに格納する前に破棄するように構成する。アラーム信号格納手段は、優先格納手段によってバッファに格納されたアラーム信号の中で、その発生の時点より一定の時間以上を経過しているアラーム信号を削除する削除手段を含んで構成する。
【特許文献１】特開平１０−６３５４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のアラーム格納方法は、全てのアラーム格納時に、他のアラーム検出処理がバッファを操作することを禁止して次回のアラーム検出時にバッファを操作させようとするので、次回アラーム検出時に今回アラームバッファに格納されるべきアラームのアラーム要因が無くなっていた場合、アラームコードが格納されなくなってしまうという問題があった。
そこで、本発明はこのような問題点に鑑みてなされたものであり、アラームバッファに格納されるべきアラームのアラームコードをバッファに確実に格納することができるアラームコード格納装置および方法とそれを備えたモータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記問題を解決するため、本発明は、次のように構成したのである。
【０００７】
請求項１に記載の発明は、アラームが発生した際に、アラームに対応するアラームコードを発生順にバッファに格納するアラームコード格納装置において、アラーム要因が無くなるとバッファから削除されるアラームコードを格納するバッファＡと、アラーム要因が無くなってもバッファから削除されないアラームコードを格納するバッファＢを持つことを特徴とするものである。このようになっているため、アラームの特性に応じてアラームコードを格納する方法を区別することができる。
【０００８】
また、請求項２に記載の発明は、請求項１記載のアラームコード格納装置において、前記バッファＡは、アラーム格納またはアラーム削除中を示すアラーム操作中信号を有し、前記アラーム操作中である間は他の並列処理または割り込み処理がバッファＡの操作をせずに、アラームバッファ操作の次の処理へスキップすることを特徴とするものである。このようになっているためアラームバッファを操作している以外の処理はアラームバッファを操作するまで他の処理を行うことができる。
【０００９】
また、請求項３に記載の発明は、請求項１記載のアラームコード格納装置において、前記バッファＢは、アラーム格納の際に他の並列処理または割り込み処理を停止することを特徴とするものである。このようになっているためアラームバッファを操作する以外の処理はアラームバッファが操作可能になるまで待ち続け、アラームコードを確実にアラームバッファに格納することができる。
また、請求項４記載の発明は、前記バッファＡは、アラームコードを格納する際に、格納する時点の前記バッファＢのアラームコード格納末尾位置をアラームコード挿入位置として前記バッファＡに格納するものである。
【００１０】
また、請求項５に記載の発明は、アラーム要因が無くなるとバッファから削除されるアラームコードを格納するバッファＡと、アラーム要因が無くなってもバッファから削除されないアラームコードを格納するバッファＢと、バッファＡに格納されるアラームコードと、バッファＢに格納されるアラームコードを備えたアラームコード格納方法において、
前記バッファＢに追加格納されるバッファ位置（５）、アラームコードＡが前記バッファＡに格納される時点の前記バッファ位置（５）の値を格納するバッファＢ挿入箇所（６）、アラームバッファ操作中を示す信号（７）を認識し、前記バッファＡにはアラーム要因が無くなるとバッファから削除されるアラームコードＡＬＭ＿Ａ［ｉ］を格納し、前記バッファＢにはアラーム要因が無くなってもバッファから削除されないアラームコードＡＬＭ＿Ｂ［ｉ］を格納し、前記バッファＡにはアラームコードを格納する際に、格納する時点の前記バッファＢに追加格納されるバッファ位置を前記バッファＢ挿入位置ＩＮＳＴ［ｉ］として格納し、前記バッファＡはアラームバッファに格納されているアラーム要因が無くなると、アラームコードを前記バッファＡから削除するために、前記バッファＡの中でアラームコードを探して削除し、削除したアラームコードより後に格納されたアラームコードを削除したアラームコードの分だけ移動させ、前記バッファＡの操作中にはアラームバッファ操作中を示す信号を用い他の処理が前記バッファＡを操作しようとした場合、前記バッファＡの操作を許可せずに次の処理へスキップさせ、前記バッファＢは、前記バッファＢを操作するときは割り込み禁止とし、他の処理の実行を禁止するステップからなることを特徴とするものである。
【００１１】
また、請求項６に記載の発明は、請求項４記載のアラームコード格納方法において、アラームを発生順に取得する場合は、前記バッファＡ中の前記バッファＢ挿入箇が示すアラームコードＢの間にアラームコードＡを挿入するものである。このようになっているため異なる特性のアラームコードを格納するバッファＡおよびバッファＢの２つのアラームバッファから時系列でアラームコードを取得することができる。
このようになっているため、アラームの特性に応じてアラームコードを格納でき、アラームコードを確実にバッファに格納することができる。
また、請求項７に記載の発明は、アラームコードをその発生順に時系列に並べて記憶した請求項１乃至４のアラームコード格納装置をモータ制御装置に適用したものである。
【発明の効果】
【００１２】
本発明のアラームコード格納方法によれば、請求項１に記載の発明は、アラーム要因が無くなるとバッファから削除されるアラームを格納するバッファＡと、アラーム要因が無くなってもバッファから削除されないアラームを格納するバッファＢを持つことを特徴とするものである。このようになっているため、アラームの特性に応じてアラームコードを格納する方法を区別することができる。
また、請求項２に記載の発明は、アラーム要因が無くなるとバッファから削除されるアラームを格納するバッファＡは、アラーム格納またはアラーム削除中を示すアラーム操作中信号を有し、他の並列処理または割り込み処理がアラームバッファを操作することを防ぎ、他の並列処理または割り込み処理が次の処理を行わせる事ができることを特徴とするものである。このようになっているためアラームバッファを操作している以外の処理はアラームバッファを操作するまで他の処理を行うことができる。
また、請求項３に記載の発明は、アラーム要因が無くなってもバッファから削除されないアラームを格納するバッファＢは、アラーム格納の際に他の並列処理または割り込み処理を停止することにより、他の並列処理または割り込み処理がアラームバッファを操作することを防ぐ事を特徴とするものである。このようになっているためアラームバッファを操作する以外の処理はアラームバッファが操作可能になるまで待ち続け、アラームコードを確実にアラームバッファに格納することができる。
また、請求項４に記載の発明は、バッファＡがアラームコードを格納する際に、格納する時点のバッファＢのアラームコード格納末尾位置をアラームコード挿入位置としてバッファＡに格納し、バッファＡおよびバッファBを併せて、時系列でアラームコードを並べる事ができる事を特徴とするものである。このようになっているため異なる特性のアラームコードを格納するアラームバッファAおよびアラームバッファＢの２つのアラームバッファから時系列でアラームコードを取得することができる。
このようになっているため、アラームの特性に応じてアラームコードを格納でき、アラームコードを確実にバッファに格納することができる。
また、請求項５、６に記載の発明は、アラームバッファに格納されるべきアラームのアラームコードをバッファに確実に格納することができるアラームコード格納方法を提供できる。
また、請求項７に記載の発明は、アラームコードをその発生順に時系列に並べて記憶した請求項１乃至４のアラームコード格納装置をモータ制御装置に適用することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の具体的実施例を図に基づいて説明する。
【実施例１】
【００１４】
図１に本発明のブロック図を示す。１はアラーム要因が無くなるとバッファから削除されるアラームコードを格納するバッファＡ、２はアラーム要因が無くなってもバッファから削除されないアラームコードを格納するバッファＢ、３はアラームバッファＡに格納されるアラームコード、４はアラームバッファＢに格納されるアラームコード、５はアラームバッファＢに追加格納されるバッファ位置、６はアラームコードＡがアラームバッファＡに格納される時点の前記バッファ位置５の値を格納するバッファＢ挿入箇所、７はアラームバッファ操作中を示す信号である。
【００１５】
アラームバッファＡにはアラーム要因が無くなるとバッファから削除されるアラームコードＡＬＭ＿Ａ［ｉ］を格納し、アラームバッファＢにはアラーム要因が無くなってもバッファから削除されないアラームコードＡＬＭ＿Ｂ［ｉ］を格納する。またアラームバッファＡにはアラームコードを格納する際に、格納する時点のアラームバッファＢに追加格納されるバッファ位置をバッファB挿入位置ＩＮＳＴ［ｉ］として格納する。アラームバッファＢに何もアラームコードが格納されていない場合は、アラームバッファＢに追加格納されるバッファ位置はゼロとなる。
【００１６】
アラームバッファＡではアラームバッファに格納されているアラームのアラーム要因が無くなると、アラームコードをアラームバッファＡから削除するために、アラームバッファＡの中でアラームコードを探して削除し、削除したアラームコードより後に格納されたアラームコードを削除したアラームコードの分だけ移動する。このような処理時間を必要とする処理を行うため、アラームバッファＡの操作にはアラームバッファ操作中を示す信号を用い、他の処理がアラームバッファＡを操作しようとした場合、アラームバッファＡの操作をスキップさせる。
アラームバッファＢではアラームバッファＡのような格納アラームコードの削除は無く、単にアラームを格納するだけなので、アラームバッファＢを操作するときは割り込み禁止とし、他の処理の実行を禁止する。
【００１７】
アラームを発生順に取得する場合は、アラームバッファＡ中のバッファＢ挿入箇が示すアラームコードＢの間にアラームコードＡを挿入する。例えば図１にてINST[0]=0, INST[1]=2, INST[2]=2の場合、アラーム発生順は次のように取得できる。
ALM_A[0],ALM_B[0],ALM_B[1],ALM_A[1],ALM_A[2],ALM_B[2],ALM_B[3]
【００１８】
図２は、本発明のアラームバッファＢへのアラームコード格納方式のフロー図である。図２においてＳＴＥＰ１にて他の割り込み処理を実行禁止し、ステップ２にてALM_B[ｉ]にアラームコードを格納し、ＳＴＥＰ３にてｉに１を加算し、ＳＴＥＰ４にて他の割り込み処理を禁止している。
ここでｉはアラームコードを追加するバッファＢの位置である。
【００１９】
図３はアラームバッファＡへのアラームコード格納方式のアラームコードを追加する場合のフロー図である。図３においてＳＴＥＰ１１にてアラームバッファ操作中を示す信号を調べ、他の処理がアラームバッファＡを使っているか否かを判断し、使っていれば本フローを終了する。ＳＴＥＰ１２にてアラームバッファ操作中を示す信号を有効にし、ＳＴＥＰ１３にてアラームコードをＡＬＭ＿Ａ［ｉ］に格納し、ＳＴＥＰ１４にてアラームコードを追加するバッファＢの位置：ｉをバッファＢ挿入箇所：ＩＮＳＴ［ｊ］に格納し、ＳＴＥＰ１５にてｊに１を加算し、ＳＴＥＰ１６にてアラームバッファ操作中を示す信号を無効にする。
ここでｊはアラームコードを追加するバッファＡの位置である。
【００２０】
図４はアラームバッファＡへのアラームコード格納方式のアラームコードを削除する場合のフロー図である。図４においてＳＴＥＰ２１にてアラームバッファ操作中を示す信号を調べ、他の処理がアラームバッファＡを使っているか否かを判断し、使っていれば本フローを終了する。ＳＴＥＰ２２にてアラームバッファ操作中を示す信号を有効にし、ＳＴＥＰ２３にて検索位置：ｋを０からｉ-1の範囲で削除したいアラームコードをＡＬＭ＿Ａ［ｋ］と比較しながら検索し、ＳＴＥＰ２４にて同一になったｋからｋ＝ｉ-2までＡＬＭ＿Ａ［ｋ］＝ＡＬＭ＿Ａ［ｋ＋１］、ＩＮＳＴ［ｋ］＝ＩＮＳＴ［ｋ＋１］と移動し、ＳＴＥＰ２５にてｊから１を減算し、ＳＴＥＰ２６にてアラームバッファ操作中を示す信号を無効にする。
【００２１】
図５はアラームバッファＡとアラームバッファＢのアラームコードを発生順にアラームコードを並べるフロー図であり、ＳＴＥＰ３１にてＡＬＭ＿Ｂ[m]に格納されたアラームコードを並べるバッファＡＬＭ＿Ｃ[m]に移す。ここでｍはバッファ位置を示す作業用変数である。ＳＴＥＰ３２にてＡＬＭ＿Ｃの追加格納位置ｎにｉを設定し、ｍ＝ｊ−１から０までループ端ＳＴＥＰ３３からループ端ＳＴＥＰ３７に挟まれたＳＴＥＰ３４からＳＴＥＰ３６を繰り返す。ＳＴＥＰ３４にてａ＝ＩＮＳＴ［ｍ］からｎまでＡＬＭ＿Ｃ［ａ＋１］＝ＡＬＭ＿Ｃ［ａ］とし、ＳＴＥＰ３５にてａにＩＮＳＴ［ｍ］を代入し、ＡＬＭ＿Ｃ［ａ］にＡＬＭ＿Ａ［ａ］を格納し、ＳＴＥＰ３６にてｎ＝ｎ＋１とする。図５のフローによりＡＬＭ＿Ｃに発生順にｉ+j個のアラームコードが格納される。
【００２２】
以上のように図２、図３のように２つの格納方式の異なるアラームバッファを用いることにより、図４のような複雑な処理を要求されるアラームコードと図３のような確実にアラームバッファに格納すべきコードに対する格納方式を適用でき、確実にアラームバッファに格納すべきコードがバッファに格納できるようになる。
そして図５に示すように、発生順にアラームコードを取得することができる。
【産業上の利用可能性】
【００２３】
例えば、電動機駆動用インバータ制御装置およびロボット等のサーボモータ駆動制御装置では、アラームコードをその発生順に時系列に並べて記憶し装置のトラブル解決に用いられている。本発明は、アラームバッファに格納されるべきアラームのアラームコードをバッファに確実に格納することができるので、高信頼性の要求されるモータ制御装置                  へ適用できる。
【図面の簡単な説明】
【００２４】
【図１】本発明の構成図
【図２】アラームバッファＢへのアラームコード格納方式のフロー図
【図３】アラームバッファＡへのアラームコード格納方式のアラームコードを追加する場合のフロー図
【図４】アラームバッファＡへのアラームコード格納方式のアラームコードを削除する場合のフロー図
【図５】アラームバッファＡとアラームバッファＢから発生順にアラームコードを取得する方法を示した図
【図６】従来方式の構成図
【符号の説明】
【００２５】
１  アラーム要因が無くなるとバッファから削除されるアラームを格納するバッファＡ
２  アラーム要因が無くなってもバッファから削除されないアラームを格納するバッファＢ
３  アラームバッファＡに格納されるアラームコード
４  アラームバッファＢに格納されるアラームバッファ
５  アラームバッファＢに格納されたアラームコードの末尾位置
６  アラームコードＡがアラームバッファＡに格納される時点のアラームバッファＢのアラームコードの末尾位置を示すバッファＢ挿入箇所
７  アラームバッファ操作中を示す信号
【図１】
2007011699.tif 000003
【図２】
2007011699.tif 000004
【図３】
2007011699.tif 000005
【図４】
2007011699.tif 000006
【図５】
2007011699.tif 000007
【図６】
2007011699.tif 000008