(57)【要約】      （修正有）【課題】  常時更新されるバッファリング装置からデータを連続して順次取り出すとともに、バッファが一巡して上書きされたデータ位置および上書きされたデータ個数を検出する。【解決手段】  任意の周期で常時更新されるデータを格納するバッファリング装置を備えたモータ制御装置と、バッファリングデータを通信により取得し、モニタへ表示するエンジニアリングツールからなるモータ制御システムのデータ取得方法において、データカウントが変化したことによりバッファに新しいデータが格納されたことを判別し、バッファに新しいデータが格納された場合はバッファの全データを取得し、インデックスの昇順でデータを取り出し、最後に取り出したデータに付加されたインデックスを記憶し、次回バッファリング装置からデータを取得した際は、インデックスが前記記憶したインデックス以降の昇順でデータを取り出すことで常時更新されるデータを連続して順次取り出す。【選択図】図６
2008090670.tif 000002
【特許請求の範囲】
【請求項１】
不定期かつ任意の周期で常時更新されるデータを格納するバッファリング装置を備えたモータ制御装置と、前記モータ制御装置のバッファリングデータを通信により取得し、モニタへ表示するエンジニアリングツールからなるモータ制御システムにおいて、
前記モータ制御装置内に格納されるデータに昇順の連続したインデックスを付加して格納するバッファと、前記バッファに格納されたデータカウントを格納するカウンタ領域を有することを特徴とするモータ制御システム。
【請求項２】
不定期かつ任意の周期で常時更新されるデータを格納するバッファリング装置を備えたモータ制御装置と、前記モータ制御装置のバッファリングデータを通信により取得し、モニタへ表示するエンジニアリングツールからなるモータ制御システムのデータ取得方法において、
バッファに格納されたデータカウントを格納するカウンタ領域よりデータを取得してデータカウントが変化したことにより前記バッファに新しいデータが格納されたことを判別し、
前記バッファに新しいデータが格納された場合はバッファの全データを取得し、取得したバッファの全データにおいて付加されたインデックスの昇順でデータを取り出し、同時に最後に取り出したデータに付加されたインデックスを記憶し、次回バッファリング装置からデータを取得した際は、取得したデータに付加されたインデックスが前記記憶したインデックス以降の昇順でデータを取り出すことで常時更新されるデータを連続して順次取り出すことを特徴とするモータ制御システムのデータ取得方法。
【請求項３】
前記バッファリング装置から取得したデータに付加されたインデックスが連続していないことよりバッファが一巡し上書きされたことを検出し、前記インデックスが連続していない位置より上書きされたデータ位置を検出し、前記インデックスが欠落した個数より上書きされたデータ個数を検出する請求項２記載のモータ制御システムのデータ取得方法。
【請求項４】
エンジニアリングツール、取得したバッファリングデータをモニタへ表示する際に検出した上書きされたデータ位置から欠落したデータ個数分を予め設定した文字でモニタへ表示したことを特徴とする請求項３記載のモータ制御システムのデータ取得方法。
【請求項５】
前記モータ制御装置はサーボモータ駆動用のＡＣサーボドライブである請求項１記載のモータ制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不定期かつ任意の周期で常時更新されるデータを格納するモータ制御装置およびそのデータをモニタへ表示するエンジニアリングツールのデータ取得方法およびデータ表示方法に関する。エンジニアリングツールは、サーボ制御装置やインバータ装置の複数の制御装置の定数設定、変更や制御装置の動作のモニタ等の機能をパソコンに搭載するソフトウェアで構成する。
【背景技術】
【０００２】
ＦＡシステム制御装置とパソコンなどその他の制御装置が通信するシステムである場合に、ＦＡシステム制御装置のエンジニアリングツールにおいて、その通信内容をモニタリングして画面に表示する。ＦＡシステム制御装置とその他の制御装置との通信は不定期におこなわれ、その通信内容のモニタデータはリングバッファ形式でＦＡシステム制御装置内にバッファリングされるのが一般的である。
従来のＦＡシステム制御装置のエンジニアリングツールでは、ＦＡシステム制御装置内のモニタデータを一定周期で取得し、リングバッファ内のデータを古い順に並べ替えることをおこなう。よって、モニタする通信内容が高速に更新される場合、モニタデータを取得する周期を早くする必要があるが、多くの場合、通信媒体の制約により周期を変更することができない。
【０００３】
図１は制御装置とエンジニアリングツールのシステムブロック図である。モータ制御装置１１はバッファリング装置１１１を備え、エンジニアリングツール１２はデータ取得部１２１とモニタ表示部１２２を備えている。制御装置１１とエンジニアリングツール１２は通信をおこない、バッファリング装置１１１のデータはデータ取得部１２１で取得、成型された後モニタ表示部１２２でモニタへ表示される。
図２は従来のバッファリング装置のブロック図である。バッファリング装置２１はデータを格納するバッファ２２とバッファに格納されたデータのカウントを格納するカウンタ領域２３を持っている。
【０００４】
図３は従来のバッファリング装置からのエンジニアリングツールのデータ取得方法のフローチャートである。バッファリング装置のデータ取得を開始すると、ステップＳ３０１で前回データカウントｉと最新データカウントｊとバッファ更新データ個数ｋとバッファデータ取得位置ｐを０にイニシャルセットする。ステップＳ３０２でカウンタ領域のデータを取得し、最新データカウントとしてセットする。ステップＳ３０３で前回データカウントと最新データカウントを比較し、一致しない場合はバッファに新しいデータが格納されたと判別してステップＳ３０４へ進み、一致する場合はバッファに新しいデータが格納されていないと判別してステップＳ３０２へ進む。ステップＳ３０４でバッファ更新データ個数を最新データカウント-前回データカウントより求め、ステップＳ３０５でバッファのバッファデータ取得位置からバッファ更新データ個数分のデータを新たに更新されたバッファデータとして取り出し、ステップＳ３０６で取り出したデータをモニタへ表示する。ステップＳ３０７で最後のデータ取得位置＋１をバッファデータ取得位置としてセットし、前回データカウント=最新データカウントとしてステップＳ３０２へ進む。以降、前記の処理を繰り返し行う。
このように、従来のバッファリング装置およびバッファリング装置からのエンジニアリングツールのデータ取得方法では、データカウントの変化からバッファに新しいデータが格納されたことを判別し、データカウントの差分個数のデータを新しいデータとしてバッファから取得してモニタへ表示し、次回のバッファデータ取得位置を取得したデータ個数だけずらすことで常時更新されるデータを連続して順次取り出しモニタへ表示するという手順がとられていた。
【０００５】
なお、ＡＣサーボドライブ用のエンジニアリングツールは、（１）ユーザ定数編集機能（各種パラメータの設定）、（２）アラーム表示／モニタ機能（サーボモータ駆動用制御装置の状態をモニタリングして表示）、（３）各種セットアップ機能（運転に必要な初期設定を支援）、（４）トレース機能（サーボドライブシステムのデータを画面に表示）、（５）慣性モーメント同定機能（負荷慣性モーメント比を推定）、（６）メカニカルアナリシス機能（高速フーリエ変換により機械の固有振動数を測定）、（７）ゲインチューニング機能（システムの最適な性能を引き出す制御ゲイン調整）、（８）ダイナミクスシミュレーション機能（システムの動的挙動を予測、評価）を備えている。これらの機能を発揮するためには正確なデータ取得がその前提条件となる。
【特許文献１】特開２００６−１４８５５６号公報
【特許文献２】特開２００３−２０２９２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来のバッファリング装置およびバッファリング装置からのエンジニアリングツールのデータ取得方法での問題点を図４を用いて説明する。
図４は、リングバッファ形式のバッファリング装置におけるデータ取得時のバッファリング装置内の状態とモニタ表示を示した一例である。図４において、左図（ａ）のようにデータ１からデータ３が新たに更新されたバッファデータとする。更新されたバッファデータはデータ１、データ２、データ３と順次取得されるが、データの更新周期が速かった場合、右図（ｂ）のように全ての更新されたバッファデータを取得するまでにリングバッファが一巡して上書きされ、エンジニアリングツールでは取得したデータがバッファ一巡後の間違ったデータであることを判別できずに正常データと混同して右下図（ｃ）のようにモニタへ表示してしまい、使用者は誤ったデータを観察してしまうという問題があった。
【０００７】
本発明はこのような問題点に鑑みてなされたものであり、不定期かつ任意の周期で常時更新されるデータを格納するバッファリング装置からデータを連続して順次取り出すとともに、バッファが一巡して上書きされたことおよび上書きされたデータ位置および上書きされたデータ個数を検出し、モニタへ上書きされたデータを特殊な文字で表示することにより使用者がデータの正否を判別できるモータ制御システムとそのデータ取得方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記問題を解決するため、本発明は、次のようにしたのである。
請求項１記載の発明は、不定期かつ任意の周期で常時更新されるデータを格納するバッファリング装置を備えたモータ制御装置と、前記モータ制御装置のバッファリングデータを通信により取得し、モニタへ表示するエンジニアリングツールからなるモータ制御システムにおいて、前記モータ制御装置内に格納されるデータに昇順の連続したインデックスを付加して格納するバッファと、前記バッファに格納されたデータカウントを格納するカウンタ領域を有することを特徴とするものである。
また請求項２記載の発明は、不定期かつ任意の周期で常時更新されるデータを格納するバッファリング装置を備えたモータ制御装置と、前記モータ制御装置のバッファリングデータを通信により取得し、モニタへ表示するエンジニアリングツールからなるモータ制御システムのデータ取得方法において、
バッファに格納されたデータカウントを格納するカウンタ領域よりデータを取得してデータカウントが変化したことにより前記バッファに新しいデータが格納されたことを判別し、
前記バッファに新しいデータが格納された場合はバッファの全データを取得し、取得したバッファの全データにおいて付加されたインデックスの昇順でデータを取り出し、同時に最後に取り出したデータに付加されたインデックスを記憶し、次回バッファリング装置からデータを取得した際は、取得したデータに付加されたインデックスが前記記憶したインデックス以降の昇順でデータを取り出すことで常時更新されるデータを連続して順次取り出すことを特徴とするものである。
また請求項３記載の発明は、請求項２において前記バッファリング装置から取得したデータに付加されたインデックスが連続していないことよりバッファが一巡し上書きされたことを検出し、前記インデックスが連続していない位置より上書きされたデータ位置を検出し、前記インデックスが欠落した個数より上書きされたデータ個数を検出するものである。
また請求項４記載の発明は、請求項３においてエンジニアリングツールは、取得したバッファリングデータをモニタへ表示する際に検出した上書きされたデータ位置から欠落したデータ個数分を予め設定した文字でモニタへ表示したことを特徴とするものである。
また請求項５記載の発明は、請求項１において前記モータ制御装置はサーボモータ駆動用のＡＣサーボドライブとしたものである。
【発明の効果】
【０００９】
本発明によると、不定期かつ任意の周期で常時更新されるデータを格納するバッファリング装置からデータを連続して順次取り出すとともに、バッファが一巡して上書きされたことおよび上書きされたデータ位置および上書きされたデータ個数を検出し、モニタへ上書きされたデータを特殊な文字で表示することにより使用者がデータの正否を判別できる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の方法の具体的実施例について、図に基づいて説明する。
【実施例１】
【００１１】
図５は、本発明の方法を実施するバッファリング装置の構成を示すブロック図である。バッファリング装置５１はデータに昇順の連続したインデックスを付加したものを格納するバッファ５２とバッファに格納されたデータのカウントを格納するカウンタ領域５３を持っている。
【００１２】
図６は本発明のバッファリング装置からのエンジニアリングツールのデータ取得方法を示すフローチャートである。この図を用いて本発明の方法を順を追って説明する。
はじめにステップＳ６０１で前回データカウントiと最新データカウントｊとデータ取得開始インデックスｍを０にイニシャルセットする。
ステップＳ６０２でカウンタ領域のデータを取得し、最新データカウントとしてセットする。ステップＳ６０３で前回データカウントと最新データカウントを比較し、一致しない場合はバッファに新しいデータが格納されたと判別してステップＳ６０４へ進み、一致する場合はバッファに新しいデータが格納されていないと判別してステップＳ６０２へ進む。
ステップＳ６０４でバッファの全データを取得し、ステップＳ６０５で取得したバッファの全データのなかから、インデックスがデータ取得開始インデックス以降のものを新しくバッファに格納されたデータとしてインデックスの昇順で取り出す。
ステップＳ６０６で隣り合うデータ間のインデックスが連続しているかの判定をおこない、連続している場合はステップＳ６０７へ進み、連続していない場合はステップＳ６０８へ進む。
ステップＳ６０７ではインデックスが連続した正常データをモニタへ表示する。ステップＳ６０８ではバッファの上書きを検出したとして、インデックスが連続していない位置より上書きされたデータ位置を、インデックスの欠落した個数より上書きされたデータ個数を検出し、ステップＳ６０９で上書きされたデータ位置から上書きデータ個数分のデータを記号などの特殊な文字を用いて上書きデータとわかるようにモニタへ表示する。
ステップＳ６１０では表示したデータのインデックスが今回取得した内で最大であるかの判定をおこない、最大であった場合はＳ６１１へ進み、最大でなかった場合は次のデータの取得のためにＳ６０６へ進む。
ステップＳ６１１で最後に取り出したデータのインデックス＋１をデータ取得開始インデックスにセットし、前回データカウントとして最新データカウントをセットしてステップＳ６０２へ進む。以降、前記の処理を繰り返しおこなう。
【００１３】
図７は本発明によるエンジニアリングツールのモニタ表示を示した一例である。バッファが一巡して上書きされたデータ位置には特殊な文字“＊”が欠落したデータ個数分表示され、使用者は取得したデータの正否を判別することができる。
【００１４】
このように、不定期かつ任意の周期で常時更新されるデータを格納する制御装置およびそのデータをモニタへ表示するエンジニアリングツールにおいて、格納されるデータに昇順の連続したインデックスを付加して格納するバッファと、前記バッファに格納されたデータカウントを格納するカウンタ領域を有することを特徴とするバッファリング装置を用いて、前記カウンタ領域にあるデータカウントが変化したことによりバッファに新しいデータが格納されたことを判別し、バッファに新しいデータが格納された場合はバッファの全データを取得し、取得したバッファの全データにおいて付加されたインデックスの昇順でデータを取り出し、同時に最後に取り出したデータに付加されたインデックスを記憶し、次回バッファリング装置からデータを取得した際は、取得したデータに付加されたインデックスが前記記憶したインデックス以降の昇順でデータを取り出すことで常時更新されるデータを連続して順次取り出せる。
【００１５】
また、バッファから取得したデータに付加されたインデックスが連続していないことよりバッファが一巡し上書きされたことを検出し、前記インデックスが連続していない位置より上書きされたデータ位置を検出し、前記インデックスが欠落した個数より上書きされたデータ個数が検出可能となる。
エンジニアリングツールで取得したバッファリングデータをモニタへ表示する際は、上書きされたデータ位置から欠落したデータ個数分を特殊な文字でモニタへ表示することで、使用者がバッファの上書きで欠落したデータ位置と個数を判別可能にするのである。
【図面の簡単な説明】
【００１６】
【図１】制御装置とエンジニアリングツールのシステムブロック図
【図２】従来のバッファリング装置のブロック図
【図３】従来のバッファリング装置からのエンジニアリングツールのデータ取得方法のフローチャート
【図４】従来のバッファリング装置（リングバッファ形式）におけるデータ取得時のバッファリング装置内の状態とモニタ表示を示した一例
【図５】本発明のバッファリング装置のブロック図
【図６】本発明のバッファリング装置におけるエンジニアリングツールのデータ取得方法のフローチャート
【図７】本発明によるエンジニアリングツールのモニタ表示を示した一例
【符号の説明】
【００１７】
１０  サーボモータ
１１  モータ制御装置
１２  エンジニアリングツール
１１１  バッファリング装置
１２１  データ取得部
１２２  モニタ表示部
２１  バッファリング装置
２２  バッファ
２３  カウンタ領域
５１  バッファリング装置
５２  バッファ
５３  カウンタ領域
【図１】
2008090670.tif 000003
【図２】
2008090670.tif 000004
【図３】
2008090670.tif 000005
【図４】
2008090670.tif 000006
【図５】
2008090670.tif 000007
【図６】
2008090670.tif 000008
【図７】
2008090670.tif 000009