(57)【特許請求の範囲】
【請求項１】
内部バスのバスサイクルのトレースデータを取得するデータ取得機能を有する数値制御装置であって、
前記数値制御装置は、
設定レジスタと、バッファメモリと、を有し、前記設定レジスタに設定した条件を満たすバスサイクルを前記バッファメモリに取り込むバストレース回路と、
ＣＰＵと、
内部バスと、
アラーム履歴と、
アラーム毎にトレースデータを取得するか否かが記録されたアラームデータ取得テーブルと、
アラーム毎に前記バストレース回路のバスサイクルの取込み条件が記録されたトレース回路設定テーブルと、
不揮発性記憶媒体と、
を有し、
前記数値制御装置は、
前記ＣＰＵにより前記アラーム履歴と前記アラームデータ取得テーブルから、トレースデータを取るべきアラームを特定し、該アラームに対応するバスサイクルの取込み条件を前記トレース回路設定テーブルから読み出し、前記バストレース回路の設定レジスタに設定し、
前記バストレース回路は、前記設定された取込み条件に基づいて前記内部バスのバスサイクルのトレースデータを取得し、
アラーム発生時に前記トレース回路のバッファメモリから前記不揮発性記憶媒体にトレースデータを転送する、
ことを特徴とするデータ取得機能を有する数値制御装置。
【請求項２】
前記数値制御装置は、起動時に前記アラーム履歴の最後に発生したアラームから一つずつ前に戻って、前記アラームデータ取得テーブルにより評価していき、前記トレースデータを取るべきアラームを特定する、
ことを特徴とする請求項１に記載のデータ取得機能を有する数値制御装置。
【請求項３】
前記バストレース回路のバスサイクルを取り込む条件は、アドレス範囲、コマンド、バスサイクル発生デバイス、データ、トレース動作の開始サイクル、トレース動作の終了サイクルの少なくとも何れか１つを含む、
ことを特徴とする請求項１または２に記載のデータ取得機能を有する数値制御装置。
【請求項４】
複数の請求項１〜３のいずれかに記載の数値制御装置がネットワークによって接続された数値制御システムであって、
前記複数の前記数値制御装置はアラーム履歴を共有しており、
前記複数の前記数値制御装置はそれぞれが、前記アラーム履歴と前記アラームデータ取得テーブルからトレースデータを取るべきアラームを特定し、該アラームに対応するバスサイクルの取込み条件を前記トレース回路設定テーブルから読み出し、前記バストレース回路に設定し、前記設定された取込み条件に基づいてバスサイクルのトレースデータを取得する、
ことを特徴とするデータ取得機能を有する数値制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特に数値制御装置のアラーム発生時の障害解析データ取得方法に関する。
【背景技術】
【０００２】
数値制御装置では、その内部バスに直接、又は制御ＬＳＩを介してＣＰＵ、フラッシュメモリ、モータ制御ＬＳＩ、Ｉ／Ｏ制御ＬＳＩ等が接続されており、内部バスにはこれらユニット間のリード、ライトデータや、あるユニットにアラームが発生したことを示す障害発生通知信号等が流れている。
【０００３】
従来、数値制御装置の内部バスでアラームが発生した場合、そのアラームに応じて関連するレジスタ等のログを残すことが行われている。この時、自動的に適切な情報をいかに残すかが、障害復旧のために重要である。
【０００４】
特許文献１では同じアラームが連続して発生した場合に、ログをとる場所を変えることで、障害解析のための情報量を増やしている。例えば、図６に示すように、サーボ制御ＬＳＩ６のアラームが発生した場合、一度目のアラームではサーボ制御ＬＳＩ６内のアラームに関連するレジスタ７をログに残し、その次のアラームが同じアラームだった場合、あらかじめ決められている図示しない別のレジスタや、ＤＲＡＭ２等をログに残す。
【０００５】
しかしながら、ログにはメモリ、レジスタ等の最終的な値が残っているが、どのＣＰＵやＬＳＩがどのレジスタにライトしたか、どのレジスタにリードがあったか等のバスサイクルは残っていない。障害解析ではログの情報だけでは不十分で、どんなバスサイクルが発生していたか調べることが必要な場合があり、その場合にバスサイクルを保存するバストレース回路を使用することがある。
【０００６】
特許文献２はＬＳＩ内部のバストレース回路であるが、トレース対象バス回路が複数あり、それぞれの回路が持っている障害発生通知信号が出力された時に、トレース回路はトレース対象バスを切り替え、回路規模を増やさずにアラーム毎に対応した障害発生時付近のトレースデータを取得している。図７の例では第１バス１７、第２バス１８とそれぞれのバス制御回路があり、各バス制御回路がエラーを検出し、エラー通知信号をトレース回路１１に通知すると、トレース回路１１の対象決定部１２が、エラー通知信号を出力したバスをトレース対象と決定し、トレース選択信号を対象選択部１３に通知し、対象選択部１３はエラー通知信号を出力したバスをバッファメモリ１４に保存する。なお、図では省略しているが、第１バスと第２バスには他の回路やＬＳＩの入出力が接続されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平０５−１０８３９８号公報
【特許文献２】特開２０１０−２０５０６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、ＬＳＩを結ぶ内部バスの場合、例えばメモリのパリティエラーのように、メモリへのデータライト時にライトサイクルを発生させたＬＳＩの故障のため書き込むデータが既に壊れていたことがアラームの真の原因で、そのデータのリードによりアラームが発生した等、アラームの原因がアラームの発生時刻と時間差がある場合があり、その場合、特許文献２では必要なトレースデータを取得できない。または、特許文献２ではトレース対象固定モードについての記述があるが、これを使用する場合、人手によりそのモードに設定する必要があり、自動的にトレースデータを取得することはできない。
【０００９】
また、障害解析のため、全てのトレースデータを保存することも考えられるが、保存場所のメモリを大量に用意する必要があり、回路規模が大きくなってしまう。そこでバストレース回路にアドレス範囲等の設定を行い、設定を満たすバスサイクルのみを取り込むということがよく行われている。
【００１０】
しかし、取り込みたいバスサイクルはアラームごとに異なるため、従来はアラームが発生した後に、残されたログ等の情報を確認し、その情報から障害の原因が分からない場合には、バストレース回路に行う設定を考え、バストレース回路の設定レジスタにその設定を行う専用ソフトの作成を行い、そのソフトを数値制御装置にインストールすることが必要であり、手間と時間がかかっていた。
【００１１】
そこで本発明の目的は、プロセッサや内部バスに負荷をかけることなく自動的に障害調査に必要なデータを取得可能な数値制御装置を提供することである。
【課題を解決するための手段】
【００１２】
本願の請求項１に係る発明は、内部バスのバスサイクルのトレースデータを取得するデータ取得機能を有する数値制御装置であって、前記数値制御装置は、設定レジスタと、バッファメモリと、を有し、前記設定レジスタに設定した条件を満たすバスサイクルを前記バッファメモリに取り込むバストレース回路と、ＣＰＵと、内部バスと、アラーム履歴と、アラーム毎にトレースデータを取得するか否かが記録されたアラームデータ取得テーブルと、アラーム毎に前記バストレース回路のバスサイクルの取込み条件が記録されたトレース回路設定テーブルと、不揮発性記憶媒体と、を有し、前記数値制御装置は、前記ＣＰＵにより前記アラーム履歴と前記アラームデータ取得テーブルから、トレースデータを取るべきアラームを特定し、該アラームに対応するバスサイクルの取込み条件を前記トレース回路設定テーブルから読み出し、前記バストレース回路の設定レジスタに設定し、前記バストレース回路は、前記設定された取込み条件に基づいて前記内部バスのバスサイクルのトレースデータを取得し、アラーム発生時に前記トレース回路のバッファメモリから前記不揮発性記憶媒体にトレースデータを転送する、ことを特徴とするデータ取得機能を有する数値制御装置である。
【００１３】
本願の請求項２に係る発明は、前記数値制御装置は、起動時に前記アラーム履歴の最後に発生したアラームから一つずつ前に戻って、前記アラームデータ取得テーブルにより評価していき、前記トレースデータを取るべきアラームを特定する、ことを特徴とする請求項１に記載のデータ取得機能を有する数値制御装置である。
【００１４】
本願の請求項３に係る発明は、前記バストレース回路のバスサイクルを取り込む条件は、アドレス範囲、コマンド、バスサイクル発生デバイス、データ、トレース動作の開始サイクル、トレース動作の終了サイクルの少なくとも何れか１つを含む、ことを特徴とする請求項１または２に記載のデータ取得機能を有する数値制御装置である。
【００１５】
本願の請求項４に係る発明は、複数の請求項１〜３のいずれかに記載の数値制御装置がネットワークによって接続された数値制御システムであって、前記複数の前記数値制御装置はアラーム履歴を共有しており、前記複数の前記数値制御装置はそれぞれが、前記アラーム履歴と前記アラームデータ取得テーブルからトレースデータを取るべきアラームを特定し、該アラームに対応するバスサイクルの取込み条件を前記トレース回路設定テーブルから読み出し、前記バストレース回路に設定し、前記設定された取込み条件に基づいてバスサイクルのトレースデータを取得する、ことを特徴とするデータ取得機能を有する数値制御システムである。
【発明の効果】
【００１６】
本発明により、通常動作時にプロセッサや内部バスに負荷をかけることなく、小さな回路規模で自動的に障害調査に必要なデータを取ることができるようになる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態における数値制御装置の概略構成図である。
【図２】本発明の実施形態におけるアラーム履歴の例である。
【図３】本発明の実施形態におけるトレース回路設定テーブルの例である。
【図４】本発明の他の実施形態における数値制御システムの概略構成図である。
【図５】本発明の他の実施形態におけるアラーム履歴の例である。
【図６】従来技術１における数値制御装置の概略構成図である。
【図７】従来技術２におけるトレース回路の概略構成図である。
【００１８】
以下、図面を参照して本発明の実施形態を説明する。
図１は、本発明の一実施形態における数値制御装置内の概略構成図を示している。本実施形態の数値制御装置１００の内部バス２０にはＣＰＵ制御ＬＳＩ３を通してＣＰＵ１、ＤＲＡＭ２が、周辺機器制御ＬＳＩ４を通してフラッシュＲＯＭ８が、また、トレース回路１１、およびＩ／Ｏ制御ＬＳＩ５、サーボ制御ＬＳＩ６などの、その他ＬＳＩ等が接続されている。
【００１９】
トレース回路１１には設定レジスタ１９があり、この設定によって取り込むバスサイクルの選別が可能である。設定としては例えば、バスサイクルのアクセス対象のアドレス範囲や、シングルリードやバーストライト等のコマンドの種類、バスサイクルを発生させたデバイスの種類、リード、ライトデータのあるビットが０か１か、トレースの開始や終了するトリガとなるサイクル等があり、これらの一部、又は全部を用いて望んでいるバスサイクルを捕らえることが出来る。
【００２０】
フラッシュＲＯＭ８にはアラーム履歴９とトレース回路設定テーブル１０の情報が保存されており、アラーム履歴９には、図２に例示すように、数値制御装置１００でアラームが発生した時刻と、アラームの内容を示すアラーム番号が保存されている。
【００２１】
トレース回路設定テーブル１０には、それぞれのアラーム番号に対して、トレースデータを取得するかどうかの情報と、その障害解析に有用なバスサイクルを捕らえるための、トレース回路１１の設定レジスタ１９に設定する値が保存されている。図３は、トレース回路設定テーブル１０の例を示している。
【００２２】
数値制御装置１００の起動時に行われる設定で、ＣＰＵ１はフラッシュＲＯＭ８にある数値制御装置１００のアラーム履歴９から、最後に発生したアラーム番号を確認し、同じくフラッシュＲＯＭ８にあるトレース回路設定テーブル１０のトレースデータを取得するかどうかの情報から、それがトレースデータを取るべきアラーム番号か判定する。トレースデータを取る必要がないアラーム番号なら、その一つ前に発生したアラーム番号を確認し、再びトレースデータを取るべきアラーム番号か判定するということを繰り返し、トレースデータを取るべき最後に発生したアラーム番号を確定させる。ＣＰＵ１はトレース回路設定テーブル１０から、その確定させたアラーム番号に設定されたトレース回路１１の設定を読み出し、トレース回路１１の設定レジスタ１９に設定する。図３に示すトレース回路設定テーブル１０に従って設定する場合、トレース回路１１の設定レジスタ１９のＲｅｇｉｓｔｅｒ１にトレースを取得するアドレスのサイズやコマンド種別、Ｒｅｇｉｓｔｅｒ２にトレースを取得する範囲の先頭のアドレスを設定し、省略しているが他のレジスタにも設定を行ない、最後に、ＲｅｇｉｓｔｅｒＮのトレース回路制御レジスタに起動設定を書き込み、トレース回路１１を起動している。
【００２３】
各種設定が完了した後、トレース回路１１は設定レジスタ１９に設定された条件にあった内部バスを流れるバスサイクルのトレースデータを、トレース回路内のバッファメモリに保存する。バッファメモリを持たずに例えばＣＰＵ制御ＬＳＩ３につながっているＤＲＡＭ２に保存することも考えられるが、その場合には内部バス２０にバスサイクルを起こす必要があり、内部バス２０に負荷がかかる。
【００２４】
その後、アラームが発生し、トレースデータを取るべき最後に発生したアラームと同じ場合には、障害解析に有用なバスサイクルを捕らえられる。アラーム発生をもってＣＰＵ１を用いて、または、故障によりＣＰＵ１が動けないことを考え、図示しないＤＭＡ回路により、トレース回路１１のバッファメモリ１４の内容をフラッシュＲＯＭ８に転送することで、トレースデータを保存できる。その時にはアラーム番号も一緒に残すことで、保存したトレースデータの種類を示すことができる。
【００２５】
以上の様に、ＣＰＵ１がトレース回路１１にアクセスする必要があるのは、数値制御装置１００の起動時に行われる設定レジスタ１９への設定と、アラーム発生時のバッファメモリ１４からフラッシュＲＯＭ８へのデータの転送のみなため、通常動作時にはトレース回路１１を動かすことによるＣＰＵへの負荷は発生しない。同じく、トレース回路１１が内部バス２０に負荷をかけるのは、数値制御装置１００の起動時とアラーム発生時のみのため、トレース回路１１を動かすことによる内部バス２０への負荷も発生しない。
【００２６】
尚、本構成は一例であり、本発明を制限するものではない。例えばアラーム履歴９とトレース回路設定テーブル１０を異なる記憶装置に保存したり、外部記憶装置に保存したりすること等が考えられる。また、一つの設定テーブルにトレースデータを取得するかどうかの情報と、その障害解析に有用なバスサイクルを捕らえるための、トレース回路１１の設定レジスタ１９に設定する値を記録する必要もなく、分けてもよい。
【００２７】
図４は、本発明の他の実施形態における数値制御システムの概略構成図を示している。数値制御装置１００の内部バス２０にはＣＰＵ制御ＬＳＩ３を通してＣＰＵ１、ＤＲＡＭ２が、また、トレース回路１１、通信制御ＬＳＩ２１、およびＩ／Ｏ制御ＬＳＩ５、サーボ制御ＬＳＩ６などの、その他ＬＳＩ等が接続されている。
【００２８】
数値制御装置１００は通信制御ＬＳＩ２１を介して通信路３００につながっており、通信路３００にはサーバ２００と、数値制御装置１００と同様の構成を備えた数値制御装置１１０，１２０などの複数の数値制御装置がつながっている。
【００２９】
サーバ２００はハードディスク２０１を内蔵しており、ハードディスク２０１には、アラーム履歴９と、図３に例示されるトレース回路設定テーブル１０の情報が保存されており、アラーム履歴９には、図５に示すように、各数値制御装置でアラームが発生した時刻と、アラームが発生した数値制御装置の識別名、アラームの内容を示すアラーム番号が保存されている。
【００３０】
それぞれの数値制御装置の起動時に行われる設定で、それぞれの数値制御装置のＣＰＵは通信制御ＬＳＩ２１を介してサーバ２００にアクセスし、サーバ２００のハードディスク２０１にある数値制御装置のアラーム履歴９を確認し、同じくサーバ２００のハードディスク２０１にあるトレース回路設定テーブル１０のトレースデータを取得するかどうかの情報から、通信路３００につながっている全ての数値制御装置でトレースデータを取るべき最後に発生したアラーム番号を確認する。それぞれの数値制御装置のＣＰＵ１は、トレース回路設定テーブル１０から、確認したアラーム番号に設定されたトレース回路１１の設定を読み出し、それぞれの数値制御装置のトレース回路１１の設定レジスタ１９に設定する。
【００３１】
このようにすることで、例えば一つの工場で同じ工作機械を何台も使用している場合に、その中の一台がアラームになった時に、そのアラームが発生した機械だけでなく、通信路３００に接続されている他の機械でも、次に同じアラームが発生した場合に、障害解析に有用なバスサイクルを捕らえることができる。
【００３２】
本実施形態の数値制御システムにより、ネットワークに接続されたそれぞれの数値制御装置において、共通のアラームを調査のためのトレース設定を実行することで、豊富なデータの取得や、間欠性のアラームである場合、データの取得頻度をあげることができる。例えば、数値制御装置や工作機械の設計に欠陥がある場合や、工場のある場所で非常に大きいノイズが発生していて、複数台の工作機械に影響している等の環境要因の解析に有用である。
【００３３】
尚、本構成は一例であり、本発明を制限するものではない。例えばサーバを設けずにアラーム履歴やトレース回路設定テーブルをそれぞれの数値制御装置のフラッシュＲＯＭ等に保存し、その内容を同期する等が考えられる。
【００３４】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【符号の説明】
【００３５】
１  ＣＰＵ
２  ＤＲＡＭ
３  ＣＰＵ制御ＬＳＩ
４  周辺機器制御ＬＳＩ
５  Ｉ／Ｏ制御ＬＳＩ
６  サーボ制御ＬＳＩ
７  レジスタ
８  フラッシュＲＯＭ
９  アラーム履歴
１０  トレース回路設定テーブル
１１  トレース回路
１２  対象決定部
１３  対象選択部
１４  バッファメモリ
１５  第１バス制御回路
１６  第２バス制御回路
１７  第１バス
１８  第２バス
１９  設定レジスタ
２０  内部バス
２１  通信制御ＬＳＩ
１００，１１０，１２０  数値制御装置
１２１  データ
２００  サーバ
２０１  ハードディスク
３００  通信路
【図１】
0006309919.tif 000002
【図２】
0006309919.tif 000003
【図３】
0006309919.tif 000004
【図４】
0006309919.tif 000005
【図５】
0006309919.tif 000006
【図６】
0006309919.tif 000007
【図７】
0006309919.tif 000008