(57)【要約】【課題】連続したレジスタへアクセスする場合には、無駄な通信をせず、モニタデータの取得周期をモニタ毎に変更できる、効率の良いモニタデータ取得装置を提供する。【解決手段】モニタデータ取得装置は１つのレジスタに１個又は複数個のモニタ情報が割り付けられ、該レジスタが複数個あり、その複数個の一部又は全部のレジスタが連続したアドレス領域に割り付けられたモニタデータを取得する際、モニタ開始要求後に取得するモニタ項目数分のモニタ項目情報をモニタデータ単位に格納するモニタ項目情報格納部３と、モニタ項目情報格納部３により参照すべきレジスタとその個数を取得し、該個数分レジスタ情報をレジスタアドレス単位で管理するレジスタ情報格納部５と、レジスタ単位で管理されたレジスタ情報格納部５のテーブルに基づき、複数レジスタの連続したアドレスに関しては１回の通信でまとめてモニタデータを取得する連続レジスタ取得情報格納部６を備える。【選択図】      図１
2006148556.tif 000002
【特許請求の範囲】
【請求項１】
データ伝送路を流れる複数個の被モニタデータを取得するモニタデータ取得装置において、
１つのレジスタに１個または複数個のモニタ情報が割り付けられており、そのレジスタが複数個あり、その複数個の一部または全部のレジスタが連続したアドレス領域に割り付けられたモニタデータを取得する場合に、モニタ開始要求を受けて取得するモニタ項目数分のモニタ項目情報をモニタデータ単位に格納するためのテーブルを生成するモニタ項目情報格納部と、
前記モニタ項目情報格納部により参照すべきレジスタとその個数を取得し、該個数分レジスタ情報をレジスタアドレス単位で管理するためのテーブルを生成するレジスタ情報格納部と、
前記レジスタ単位で管理されたレジスタ情報格納部のテーブルに基づいて、前記複数レジスタの連続したアドレスに関しては１回の通信でまとめてモニタデータを取得するためのテーブルを生成する連続レジスタ取得情報格納部と、
を備えたことを特徴とするモニタデータ取得装置。
【請求項２】
前記取得されたモニタデータ情報の変更があった場合には、モニタデータ取得周期に関して、モニタデータ毎に通信の優先度を、高レベルまたは低レベルの何れかに選択を切り替えるようにしたモニター通信切替手段を設けたことを特徴とする請求項１記載のモニタデータ取得装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーボやインバータなどＦＡシステム制御装置のエンジニアリングツールとして用いられるモニタデータを取得するためのモニタデータ装置に関する。
【背景技術】
【０００２】
モニタデータの種類としては、ＦＡシステム制御装置の内部信号の状態に関する情報（「状態モニタ」と呼ぶ）、モータの回転速度や速度指令など動作に関する情報（「動作モニタ」と呼ぶ）、ＦＡシステム制御装置に入力されている信号に関する情報（「入力信号モニタ」と呼ぶ）、および、ＦＡシステム制御装置から出力されている信号に関する情報（「出力信号モニタ」と呼ぶ）の４つがある。
状態モニタ、入力信号モニタおよび出力信号モニタに関しては、１つの情報を表すために１ビットのＯＮ／ＯＦＦを使用して表現するものがほとんどである。このため、ＦＡシステム制御装置においては、１ビットの情報を複数個併せて１つのレジスタに割り当て、管理している。更に、モニタデータは、連続したアドレス領域に割り当てることが一般的である（例えば、特許文献１参照）。
従来のＦＡシステム制御装置のエンジニアリングツールでは、ＦＡシステム制御装置内のモニタデータを取得するために、１つのモニタデータに対して１つの情報をツール内に持ち、その１つ１つの情報により、１つ１つＦＡシステム制御装置と通信してモニタデータを取得する。
よって、モニタ表示項目をたくさん割り付ければ割り付けるほど、その分多くの通信が発生し、モニタデータの更新に時間がかかるとともに、同じレジスタから複数個のモニタデータを取得する場合には、同一周期内で何度も同じレジスタに対して通信することになる。
また、モニタデータは、定周期で常時取得する必要があるため、モニタデータ取得用の通信の優先順位は低く設定されており、現時点でモニタデータ毎に優先順位を変える手段がない。
【０００３】
従来のモニタデータ取得装置の詳細について、図５に示すフローチャートおよび図６に示す装置の構成図を参照しながら説明する。
図５において、モニタの開始要求で、モニタ登録部のテーブル情報を内部に生成する（ステップＳＴ３０１）。モニタ登録部のテーブルに関しては、図６に記載する。
次に、モニタ停止要求がないかどうか調べる（ステップＳＴ３０２）。停止要求がある場合は、モニタを停止。停止要求がなければ、モニタ登録部のテーブルへのインデックスを先頭にして（ステップＳＴ３０３）、そのインデックスが指し示すモニタ登録テーブルの内容によりＦＡシステム制御装置からモニタデータ値を取得して内部に保持（ステップＳＴ３０４）。モニタ登録部のテーブルへのインデックスを次に進めて（ステップＳＴ３０５）、モニタ登録部のテーブルの終了インデックスまで到達していなければ（ステップＳＴ３０６）、ステップＳＴ３０４から繰り返して、モニタデータ値を取得、保持。終了インデックスまで到達していれば、ステップＳＴ３０２のモニタ停止要求の確認から繰り返す。
図６は、モニタ登録部のテーブルの構成図である。
モニタ登録部１３においては、モニタの要求があったデータをこのテーブルに登録。テーブルの軸番号は、各ＦＡシステム制御装置に割り当てられている固有の番号である。また、モニタＩＤは、各モニタデータ１つ１つに割り当てられている固有の番号である。このモニタＩＤは、さらにＦＡシステム制御装置のアドレス情報や取得したモニタデータを表示する際に必要な情報などを持つモニタ情報部１４のテーブルにおけるモニタＩＤにリンクしている。上記に述べたモニタ登録部のテーブルにおける軸番号とモニタＩＤの２つの情報から、どの制御装置のどこの情報をモニタするのかがわかる。なお、動作フラグはモニタが動作中か停止中かを示す。
【特許文献１】特開平５−３１６１７０号公報（第３―４頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のモニタデータ取得装置では、モニタ登録部のテーブルに登録されたモニタに関して１個ずつＦＡシステム制御装置からモニタデータを取得するため、ＦＡシステム制御装置の１レジスタに複数個のモニタデータが管理されているものでも、同じレジスタに対して複数回通信を繰り返してそれぞれのモニタデータを取得していた。また、ＦＡシステム制御装置内に連続して割り付けられているモニタ領域にアクセスするにも関わらす、１レジスタ単位でアクセスしていた。これにより、モニタデータ取得の際には、無駄な通信を繰り返していたことになり、効率が悪いという問題があった。
さらに、モニタ通信の取得周期である優先順位は低レベル固定であり、モニタデータ個別に優先順位のレベルを変更できないという問題があった。
本発明はこのような問題点に鑑みてなされたものであり、連続したレジスタへアクセスする場合には、無駄な通信をせず、モニタデータの取得周期をモニタ毎に変更できる、効率良くモニタデータを取得可能なモニタデータ取得装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、請求項１の発明は、データ伝送路を流れる複数個の被モニタデータを取得するモニタデータ取得装置において、１つのレジスタに１個または複数個のモニタ情報が割り付けられており、そのレジスタが複数個あり、その複数個の一部または全部のレジスタが連続したアドレス領域に割り付けられているモニタデータを取得する場合に、モニタ開始要求を受けて取得するモニタ項目数分のモニタ項目情報をモニタデータ単位に格納するためのテーブルを生成するモニタ項目情報格納部と、前記モニタ項目情報格納部により参照すべきレジスタとその個数を取得し、該個数分レジスタ情報をレジスタアドレス単位で管理するためのテーブルを生成するレジスタ情報格納部と、前記レジスタ単位で管理されたレジスタ情報格納部のテーブルに基づいて、前記複数レジスタの連続したアドレスに関しては１回の通信でまとめてモニタデータを取得するためのテーブルを生成する連続レジスタ取得情報格納部と、を備えたことを特徴としている。
また、請求項２の発明は、請求項１記載のモニタデータ取得装置において、前記取得されたモニタデータ情報の変更があった場合には、モニタデータ取得周期に関して、モニタデータ毎に通信の優先度を，高レベルまたは低レベルの何れかに選択を切り替えるようにしたモニター通信切替手段を設けたことを特徴としている。
【発明の効果】
【０００６】
請求項１の発明によると、連続したレジスタに割り付けれているモニタ領域に対しては、１つにまとめて通信することにより複数個のモニタデータが１度に取得でき、極力無駄な通信をせず効率良くモニタデータを取得することができる。
請求項２の発明によると、モニタデータ取得周期に関して、モニタデータ毎に通信の優先度を切替るようにしたので、モニタデータ取得における更新周期に幅を持たせることが出来る。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施例を図に基づいて具体的に説明する。
【実施例１】
【０００８】
図１は本発明の実施例を示すモニタデータ取得装置の構成図である。
図において、１はデータ伝送網、２はモニタデータ装置、３はモニタ項目情報格納部、４はモニタ情報部、５はレジスタ情報格納部、６は連続レジスタ取得情報格納部である。
本発明の特徴は以下のとおりである。
すなわち、モニタデータ取得装置は、１つのレジスタに１個または複数個のモニタ情報が割り付けられており、そのレジスタが複数個あり、その複数個の一部または全部のレジスタが連続したアドレス領域に割り付けられているモニタデータを取得する場合に、モニタ開始要求を受けて取得するモニタ項目数分のモニタ項目情報をモニタデータ単位に格納するためのテーブルを生成するモニタ項目情報格納部３と、前記モニタ項目情報格納部により参照すべきレジスタとその個数を取得し、該個数分レジスタ情報をレジスタアドレス単位で管理するためのテーブルを生成するレジスタ情報格納部５と、前記レジスタ単位で管理されたレジスタ情報格納部のテーブルに基づいて、前記複数レジスタの連続したアドレスに関しては１回の通信でまとめてモニタデータを取得するためのテーブルを生成する連続レジスタ取得情報格納部６と、を備えた点である。なお、モニタ情報部４は従来技術の図６に示したモニタ情報部１４と同じものであり、モニタ項目情報格納部３において、各モニタデータ１つ１つに割り当てられている固有の番号（モニタＩＤ）がＦＡシステム制御装置のアドレス情報や取得したモニタデータを表示する際に必要な情報などを持つモニタ情報部１４のテーブルにおけるモニタＩＤにリンクしている。
【０００９】
図１に示すように、上記のモニタ項目情報格納部３のテーブルについては、モニタデータ毎に必要な情報を定義するものである。テーブルにおける軸アドレス、モニタＩＤに関しては、前記図６の内容と同じである。また、動作フラグは、現在の動作状態を示すものであり、モニタ停止、優先度「低」でモニタする、あるいは優先度「高」でモニタするの３パターンがある。また、レジスタテーブルインデックスは、レジスタ情報格納部におけるテーブルの何番目の情報を使用するのかを示している。そして、レジスタアドレスは、ＦＡシステム制御装置のレジスタ番地を示している。それから、ビット位置はレジスタアドレス内のビット番地を示すものであって、この情報はビット単位で割り付けられているモニタデータに関してのみ必要となる。
【００１０】
次に、レジスタ情報格納部５におけるテーブルの構造を説明する。
このテーブルはＦＡシステム制御装置のレジスタ単位で用意する情報であり、レジスタアドレス、モニタデータを取得したときの状態などの情報を持ち、加えて、このレジスタに割り付けられている優先度「高」のモニタ数と優先度「低」のモニタ数を持つものである。
このテーブルのうち、軸番号とレジスタアドレスにより昇順にソートされている必要がある。また、軸番号、レジスタアドレスに関しては、前記図１の内容と同じである。さらに、取得したレジスタ値は、通信で取得した制御装置のレジスタ値を格納する。それから、取得時間は、レジスタ値を取得したときの時刻を格納する。そして、実行状況ステータスは、レジスタ値を取得した時の状態を格納する。正常の場合は０であり、異常の場合はエラーコードが格納される。高速カウンタは、このレジスタに対して、優先度「高」で定義されたモニタがいくつ割り付いているのかを示す。モニタ項目情報格納テーブルからレジスタ情報格納テーブルを生成するときに、モニタ項目情報格納テーブルの動作フラグが優先度「高」に割り付いている場合に１カウントアップする。低速カウンタも高速カウンタと同様の内容である。モニタ項目情報格納部のテーブルの動作フラグが優先度「低」に割り付いている場合に１カウントアップする。
【００１１】
図２は、本発明の実施例によるモニタ項目情報格納部およびレジスタ情報格納部におけるテーブル生成処理手順を示すフローチャートである。
図２においては、モニタ開始要求で、まずモニタ項目数を取得する（ステップＳＴ１０１）。ステップＳＴ１０１で取得したモニタ項目数分のモニタ項目情報を生成する（ステップＳＴ１０２）。モニタ項目情報格納テーブルから、参照すべきレジスタとその個数を取得する（ステップＳＴ１０３）。ステップＳＴ１０３で取得した個数分レジスタ情報格納テーブル領域を確保する（ステップＳＴ１０４）。モニタ項目情報テーブルのレジスタアドレスが、レジスタ情報格納テーブルに登録されているかチェックする（ステップＳＴ１０５）。登録されていなければレジスタ情報格納テーブルに登録する。このとき、軸番号とレジスタアドレスでソートする。モニタ項目情報テーブルの動作フラグにより、レジスタ情報格納テーブルの高速カウンタまたは低速カウンタを１インクリメントする（ステップＳＴ１０７）。ステップＳＴ１０５ですでにレジスタが登録されていれば、ステップＳＴ１０７のみ実施する。そのときのレジスタ情報格納テーブルへのインデックス値をモニタ項目情報テーブルのインデックスに格納する（ステップＳＴ１０８）。これでモニタ項目情報テーブルとレジスタ情報格納テーブルがインデックスでリンクされる。ステップＳＴ１０５からステップＳＴ１０８をモニタ項目数分繰り返して初期処理は終了である。
【００１２】
次に、図３は、本発明の実施例による優先度「高」または「低」の状態でモニタデータを取得する場合の処理手順を示すフローチャートである。また、図４は図３におけるステップＳＴ２１１の処理手順を詳細に説明するためのフローチャートである。なお、図３のステップＳＴ２０６ＡおよびステップＳＴ２０６Ｂは、モニター通信切替手段を示すものとなっている。
まず、図３において、モニタ停止要求があるかチェックする（ステップＳＴ２０１）。停止要求がある場合には、一時停止する（ステップＳＴ２０２）。一時停止の時間は、優先度「高」のモニタ周期分である。停止要求が無い場合は、モニタ設定に変更がないかどうかチェックする（ステップＳＴ２０３）。モニタ設定に変更がない場合は、前回と同じ内容でモニタを取得すればよく、アドレスリストをそのまま利用する（ステップＳＴ２０４）。モニタ設定に変更がある場合は、アドレスリストを再生成する。
まずレジスタ情報格納部５のテーブルを参照するためのインデックスを０に初期化する（ステップＳＴ２０５）。インデックスが示すレジスタ情報格納部５のテーブルの高速カウンタが０より大かどうかチェックする（Ｓ４０６）。高速カウンタが０より大と言う事は、優先度「高」に割り付けているモニタが存在するということなので、そのインデックスとレジスタアドレスを退避し（ステップＳＴ２０７）、インデックスを１インクリメントして、次のレジスタ情報格納部５のテーブル位置へ移動する（ステップＳＴ２０８）。インデックスがレジスタ情報格納部５のテーブルの個数より小さいかどうかチェックする（ステップＳＴ２０９）。小さい場合は、再度Ｓ４０６から繰り返す。Ｓ４０６からステップＳＴ２０９の処理をレジスタ情報格納部５のテーブルの個数分繰り返す。ステップＳＴ２０９でインデックスがレジスタ情報格納部５のテーブルの個数より大きくなれば、ステップＳＴ２０７で退避したインデックスとレジスタアドレスを使用してレジスタリストを作成する（ステップＳＴ２１０）。このレジスタリストは、優先度「高」に割り付けられたモニタのデータを取得するために必要なレジスタの情報が定義されたリストである。
最後にレジスタリストを使用してモニタデータを取得する（ステップＳＴ２１１）。ステップＳＴ２１１の処理をレジスタリストに登録された分繰り返すが、このとき１レジスタずつ通信をするのではなく、連続したアドレスに関しては、１つにまとめることで１度に複数個のレジスタにアクセスし、モニタデータを取得する。
【００１３】
ここで、上記に述べたステップＳＴ２１１について説明する。なお、ステップＳＴ２１１の処理は、図1に示した連続レジスタ取得情報格納部６において行われる。
ステップＳＴ２１２において、内部で使用する変数の初期化を行う。ステップＳＴ２１３において、内部変数の軸番号とレジスタ情報格納部５のテーブルのインデックス部分の軸番号が同じかどうかを確認する。次に、ステップＳＴ２１４で、内部変数の次アドレスとレジスタ情報格納部５のテーブルのインデックス部分のレジスタアドレスが同じかどうかを確認する。該レジスタアドレスが、ステップＳＴ２１３およびＳＴ２１４で同じ場合は前回と今回が連続アドレスと判断できる。そして、ステップＳＴ２１５において、取得個数に今回分の１個を足し、ステップＳＴ２１６にて、次アドレスが１を足して次のアドレスを指すようにする。それから、ステップＳＴ２１７にて、レジスタ情報格納部５のテーブルのインデックスをインクリメントして次の情報を指し、前回と今回でアドレスが連続していないので、ここで一旦取得するモニタデータがあれば取得する。また、ステップＳＴ２１８、２１９では、ＳＴ２１３とステップＳＴ２１４の分岐で連続アドレスではなくなったので、取得個数が０でなければ開始アドレスから取得個数分のモニタデータを取得する。さらに、ステップＳＴ２２０において、レジスタ情報格納部のテーブルのインデックス部分の軸番号を内部変数の軸番号とし、レジスタアドレスを内部変数の開始アドレスとする。なお、取得個数は今回分の１個とする。
【００１４】
なお、優先度「低」のモニタデータ取得については、処理手順のうち、Ｓ２０６Ａの部分において高速カウンタが０より小であれば、優先度「低」に割り付けられ、Ｓ２０６Ｂの部分において低速カウンタが０より大であれば、そのインデックスとレジスタアドレスを退避し（ステップＳＴ２０７）、インデックスを１インクリメントして、次のレジスタ情報格納テーブル位置へ移動する（ステップＳＴ２０８）。
【産業上の利用可能性】
【００１５】
本発明は、１つのレジスタに複数個のモニタデータの情報を持ち、それらが連続したアドレス領域に割り付けられているモニタデータを取得する必要がある場合に、１度にまとめてモニタデータを取得し、更にモニタデータ毎に、通信の優先順位レベルを「高」または「低」に変更できるモニタデータ取得方法を提供できるので、インバータやサーボが使用される工作機械、ロボット、一般産業分野などに幅広く利用できる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施例を示すモニタデータ取得装置の構成図
【図２】本実施例によるモニタ項目情報格納部およびレジスタ情報格納部におけるテーブル生成処理手順を示すフローチャート
【図３】優先度「高」または「低」でモニタデータを取得する場合の処理手順を示すフローチャート
【図４】図３におけるステップＳＴ２１１の処理手順を詳細に説明するためのフローチャート
【図５】従来のモニタデータ取得装置の処理手順の詳細を説明するためのフローチャート
【図６】従来のモニタデータ取得装置の構成図
【符号の説明】
【００１７】
１：データ伝送網、
２：モニタデータ装置、
３：モニタ項目情報格納部、
４：モニタ情報部、
５：レジスタ情報格納部、
６：連続レジスタ取得情報格納部
【図１】
2006148556.tif 000003
【図２】
2006148556.tif 000004
【図３】
2006148556.tif 000005
【図４】
2006148556.tif 000006
【図５】
2006148556.tif 000007
【図６】
2006148556.tif 000008