(57)【要約】【課題】    ロボットや工作機械等の遠隔診断やモニタリングを実施する際に，モニタ側計算機の負荷状況に左右されずに連続した稼動データを途切れることなく取得する。【解決手段】制御装置２に監視部制御側２５と制御側周期設定部２６を設け，モニタ用計算機４の受信バッファサイズと制御装置２のバッファメモリ２３を観測することによってデータ作成周期を調整する。【選択図】図１
2007249903.tif 000002
【特許請求の範囲】
【請求項１】
制御対象を制御する制御演算部と前記制御演算部で保持している稼動データを通信回線を介して外部の計算機に送信する制御側通信部と前記稼動データから送信データを作成する送信データ作成部を有する制御装置と，少なくとも一つの前記制御装置から送信される前記稼動データを受信するモニタ側通信部と前記受信した稼動データを処理するデータ処理部を有するモニタ用計算機とを備えたモニタ装置において，
前記制御装置は，前記送信データを一時的に記憶するバッファメモリと，
前記制御側通信部が送信するデータの作成周期を設定する制御側周期設定部と，
前記バッファメモリと前記制御側通信部を監視して前記制御側周期設定部へ周期変更通知を行う制御側監視部と，
を備えたことを特徴とするモニタ装置。
【請求項２】
前記制御側監視部は，前記バッファメモリの使用量を監視し，使用量の増減および増減の傾向に基づき前記制御周期設定部へ周期変更通知を行うことを特徴とする請求項1記載のモニタ装置。
【請求項３】
前記制御側監視部は，前記モニタ用計算機から前期制御側通信部へ送信される受信可能データサイズを監視し，前記受信可能データサイズの増減および増減の傾向に基づき前記制御周期設定部へ周期変更通知を行うことを特徴とする請求項1記載のモニタ装置。
【請求項４】
前記送信データ作成部は，データの作成周期が変化した際に送信データ内の周期を判別するデータを変更することを特徴とする請求項1記載のモニタ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットや工作機械などの稼動データをモニタするモニタ装置に関する。
【背景技術】
【０００２】
工場の製造ラインでは多くのロボットや工作機械等が稼動しており，近年では搬送や溶接，組み立て等製造工程の自動化や省人化が進んでいる。このようなロボットや工作機械でトラブルが発生すれば，たとえそれが1台であったとしても，製造ラインの停止を余儀なくされ，製造コストや後工程に大きな影響を及ぼしてしまう。特にロボットや工作機械自体に起因するトラブルはその工場の作業者のみでは対処が難しい場合が多い。この時，これらの機器が設置されている場所から離れた場所で稼動データをモニタリングし，これらの機器のメンテナンスや故障診断，異常検出を行うことができれば，わざわざメンテナンス技術者が機器の設置場所まで行かずともさまざまな診断や処置が可能となる。このような遠隔モニタリングのひとつとして制御装置とモニタ用計算機をインターネットなどの通信ネットワークで接続し，モニタ用計算機から制御装置にデータ要求コマンドを送り，コマンドに応じて制御装置からモニタ用計算機に機器の稼動データを送信してモニタ用計算機の描画ソフトで稼動状況を表示させるようなものがある(例えば，特許文献１、２参照)。
また，送信データ作成に関して，ネットワークの負荷に応じてデータ圧縮パラメータを変更するもの(特許文献３)や，データの状態によりデータサンプリング周期を変更するもの(例えば特許文献４参照)がある。
【特許文献１】特開平１−９２８０９号公報(図１)
【特許文献２】特許３３０５４５１号公報（図２，３）
【特許文献３】特開平９−３６８７７号公報（図１）
【特許文献４】特開平８−１１１８９２号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１，２に開示されている従来のモニタ装置は，モニタ用計算機から指令されたデータ要求に対して制御装置が角度データなどを送信するため，高サンプリング周期のデータを取得することが困難である。また，制御装置が高サンプリング周期のデータを作成しても，モニタ用計算機で三次元モデル演算処理や診断の演算処理等のために負荷が高くなり，データ作成にモニタ用計算機の取得処理が追いつかなくなった場合，部分的なデータ喪失が不規則に発生する。特に多数のロボットや機器を対象とした場合はそれが顕著となる。
特許文献３には，ネットワーク負荷を観測し，それに基づいてデータの圧縮パラメータを変更し，コリジョンやセル廃棄による情報の欠落を防止する方法が開示されているが，データ受信側の負荷に基づいていない。また，特許文献４には，データの内容によりデータ作成周期を変更し，データ受信側の負荷が高くならないようにする方法が開示されているが，同様にデータ受信側の負荷には基づいておらず，特許文献１，２の場合と同様に，データ受信側の負荷が高くなった場合にデータ喪失が不規則に発生する。
本発明はこのような問題点に鑑みてなされたものであり，モニタ用計算機の負荷に応じて制御装置の最適なデータ作成周期を設定することにより，不規則に発生するデータ喪失を防ぎ，また，可能な限り連続したデータを取得可能とし，複数の機器を対象とした場合でも，連続的に途切れの無い稼動データを取得でき，正確な診断や稼動状況の不明な期間の無いモニタリングを行うことができるモニタ装置を提供することを目的とする。また，モニタ用計算機が高負荷な時にモニタ用計算機へ送信する送信データ量を調節することでモニタ用計算機の負荷を低減できるモニタ装置を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記問題を解決するため、本発明は、次のように構成したのである。
請求項１に記載の発明は、制御対象を制御する制御演算部と前記制御演算部で保持している稼動データを通信回線を介して外部の計算機に送信する制御側通信部と前記稼動データから送信データを作成する送信データ作成部を有する制御装置と，少なくとも一つの前記制御装置から送信される前記稼動データを受信するモニタ側通信部と前記受信した稼動データを処理するデータ処理部を有するモニタ用計算機とを備えたモニタ装置において，前記制御装置は，前記送信データを一時的に記憶するバッファメモリと，前記制御側通信部が送信するデータの作成周期を設定する制御側周期設定部と，前記バッファメモリと前記制御側通信部を監視して前記制御側周期設定部へ周期変更通知を行う制御側監視部とを備えたことを特徴とするものである。
また、請求項２に記載の発明は、前記制御側監視部が前期バッファメモリの使用量を監視し，使用量の増減および増減の傾向に基づき前記制御周期設定部へ周期変更通知を行うことを特徴とするものである。
また，請求項３に記載の発明は，前記制御側監視部が前記モニタ用計算機から前期制御側通信部へ送信される受信可能データサイズを監視し，前記受信可能データサイズの増減および増減の傾向に基づき前記制御周期設定部へ周期変更通知を行うことを特徴とするものである。
また，請求項４記載の発明は，前記送信データ作成部は，データの作成周期が変化した際に送信データ内の周期を判別するデータを変更することを特徴とするものである。
【発明の効果】
【０００５】
請求項１に記載の発明によると、モニタ側計算機の負荷状況に応じて最適な送信データの作成周期を設定することで連続的に途切れの無いデータが取得可能となるので，機器の稼動状況の正確な診断や判定，稼動状況の不明な期間の無いモニタリングが可能となる。また，モニタ側計算機への送信データ量を減らすようにデータ作成周期を設定することでモニタ側計算機の負荷を低減することができる。
請求項２に記載の発明によると，前記制御周期設定部は前記バッファメモリの使用状況に基づいて前記制御装置のデータ作成周期を決定することが可能となる。
請求項３に記載の発明によると，前記制御周期設定部は前記モニタ用計算機の受信可能データサイズに基づいて前記制御装置のデータ作成周期を決定することが可能となる。
請求項４に記載の発明によると，データ送信途中でデータ作成周期が変わった場合でも，モニタ側計算機でデータのどこから周期が変わったかを判定できるので，正確な診断や判定が可能となる。
【発明を実施するための最良の形態】
【０００６】
以下、本発明の実施の形態について図を参照して説明する。
【実施例１】
【０００７】
図１は，本発明のモニタ装置の構成と接続関係を示すブロック図である。
図において，１は制御装置２により制御される制御対象であり，具体的には，ロボットや電動機である。なお，本実施例では，制御対象１をロボットとした場合について述べるが，本発明は特にロボットに限定されるものではなく，その要旨を逸脱しない範囲において種々変更可能である。
２は前述のように制御対象１を制御する制御装置である。制御装置２内の２１は，制御演算部であり，図示しない予め記憶された教示プログラムに記述された命令を実行し，制御対象１の各関節モータへの指令を制御対象１へ送り駆動するものである。２２は送信データ作成部であり，制御演算部２１で演算されている制御対象１の操作量や状態量等の稼動データから必要なデータを選択し，設定された周期で送信データを作成する。２３はバッファメモリであり，送信データ作成部２２で作成された送信データを，制御側通信部２４が送信するまでの間一時的に保持する。制御側通信部２４は，前述のバッファメモリ２３から送信データを読み込み，ネットワーク３を介しTCP/IPを用いてモニタ用計算機４へ送信する。また，制御側通信部２４は，制御側監視部２５からの問い合わせに対して，モニタ用計算機４のモニタ側通信部４１から返されるTCPウィンドウ・サイズ広告に含まれ，モニタ用計算機４で受信可能なデータサイズを示す受信バッファサイズ(受信ウィンドウサイズ)を返すようになっている。
制御側監視部２５は，定期的に制御側通信部２４へモニタ用計算機４の受信ウィンドウサイズとバッファメモリ２３の使用率の増減および増減の傾向を監視し，その結果に基づき制御側周期設定部２６へデータ作成周期の変更通知を行う。制御側周期設定部２６は，制御側監視部２５からのデータ作成周期変更通知によりデータ作成周期を決定し，送信データ作成部２２のデータ作成周期を変更する。
図において３はTCP/IPによるネットワークであり，少なくとも一つの制御装置２とモニタ用計算機４が接続される。モニタ用計算機４は，制御装置２から送信される制御装置２の稼動データを持つ送信データをモニタ側通信部４１で受信し，データ処理部４２で処理を行った後，モデル・グラフ描画部４３でロボットのモデル表示や稼動データのグラフ表示を行う。モニタ側通信部４１から制御装置２へのTCPウィンドウ・サイズ広告の送信は，TCPにより規定されているものであり，モニタ用計算機４のOSが持つプロトコルスタックにより自動的に行われる。
なお，TCPウィンドウ・サイズ広告によるフローコントロールについては、株式会社オーム社のマスタリングTCP/IP入門編（PP.125〜PP.127）に解説されている。
【０００８】
本発明が特許文献１〜４と異なる部分は，制御装置２に制御側監視部２５，制御側周期設定部を２６を備えた部分であり，モニタ用計算機４の負荷状況に応じて変化する受信バッファサイズとバッファメモリ２３の使用状況を制御側監視部２５で監視し，その結果から制御側周期設定部２６で送信データ作成周期の決定と送信データ作成部２２への設定を行うことで連続した稼動データを途切れなくモニタリングができるようにしたものである。
すなわち，モニタ用計算機４の負荷が上昇し受信したデータの処理が滞り始めると，モニタ用計算機４の受信バッファ内に受信データが残り，使用できる受信バッファが小さくなる。すると，モニタ用計算機４のTCPスタックによって受信バッファサイズの縮小がTCPウィンドウ・サイズ広告を用いて制御装置２へ通知される。これは一度に送信できるデータ量が減ることになるため，以前と同様な周期で送信データ作成を続けると有限サイズであるバッファメモリ２３を使いきり，送信データ作成停止あるいはデータ上書きが発生し，連続したデータが途切れてしまう。そこで，受信バッファの縮小が通知された場合にバッファメモリ２３を使い切らない程度に送信データ作成部２２のデータ作成周期を設定することでデータが途切れないようにする。また，同時に制御側監視部２５によるバッファメモリ２３の使用量監視で使用量の増加傾向が観測された場合，データ作成周期が長くなる方向へ変更を行い，バッファメモリ２３を使い切らないようにする。また，モニタ側計算機４の処理が回復した場合，使用できる受信バッファサイズが大きくなるため一度に多くのデータが送信できるようになり，バッファメモリ２３の使用量が低下する。その際には，変更した送信データ作成周期が短くなるように変更する。
【０００９】
ここで，制御装置２で設定される送信データ作成周期の設定動作について述べる。制御側監視部２５は，一定間隔で制御側通信部２４とバッファメモリ２３からモニタ用計算機４の受信バッファサイズとバッファメモリ使用量または使用率を取得する。受信バッファサイズやバッファメモリ使用量に変化がなければ，モニタ用計算機４は受信したデータを充分な速度で処理していると言える。ここで，データ処理部４２の処理が遅滞する何らかの負荷がモニタ用計算機４にかかった場合，データ処理部４２のモニタ側通信部４１から取り出されるデータのデータ取り出し頻度が低下するため，モニタ用計算機4の持つ受信バッファに読み込み待ちのデータが溜まり，使用できるバッファが減少することになる。すると，受信バッファの縮小がTCPウィンドウ・サイズ広告により制御装置２へ通知される。
一定間隔で監視を行っている制御側監視部２５では，制御側通信部２４を通じて受信バッファサイズの縮小を検出すると制御側周期設定部２６に対して送信データ作成周期を現在よりも長くするように通知する。検出から通知への条件や手順は，受信バッファサイズの変更を検出した時に送信データ作成周期変更の通知を行う，検出後一定期間監視の後，受信バッファサイズの減少傾向を検出した場合に通知を行う，受信バッファサイズが定められた閾値を下回った場合に通知を行う等いくつか考えられるが，適切に通知ができるなら，どのような条件や手順を用いても良い。
制御周期設定部２６は，送信データ作成周期を長くする変更通知を受け取った場合，現在設定されている周期よりも長い周期を決定し送信データ作成部２２に設定する。この周期決定は，予め受信バッファサイズと周期の表を与えておき，その表に従って決定する方法や，使用できる受信バッファの減少率から算出する等様々な方法が考えられるが，適切な周期が決定できるならどのような方法を用いても良い。また，周期の変更は単純に一定値を加減するのみとして，後に述べるバッファメモリ２３の監視により，バッファメモリ２３の使用量の変動が０に近くなるように送信データ作成周期を調整するような仕組みにしても良い。また，一時的にでも送信データ作成周期を非常に長くすることで送信データ量を減らし，モニタ用計算機４で処理するデータ量を減らしてモニタ用計算機４の負荷を低減させても良い。これは，特に複数の制御装置２で同時に行うことによりモニタ用計算機４の負荷を大きく低減できることが期待できる。
【００１０】
以上の手順により，モニタ用計算機４の負荷により送信データ作成周期が変更される。上記では，モニタ用計算機４の負荷の増加により送信データ作成周期が長く変更される手順を示したが，モニタ用計算機４の負荷が軽減された場合，同様の手順に従って送信データ作成周期は短く変更される。
制御側監視部２５は，制御側通信部２４の監視を行うとともに，バッファメモリ２３の使用量(あるいは使用率)の監視を行う。モニタ用計算機４の負荷上昇により受信バッファが縮小されると，制御装置２の制御側通信部２４から送信できるデータ量も縮小される。この状態で以前と同じ周期で送信データの作成を行うとバッファメモリ２３に送信待ちのデータが蓄積され，バッファ使用量が増加する。
バッファメモリ２３を監視する制御側監視部２５は，このバッファメモリ２３の使用量の増加を検出し，制御側周期設定部２６へ送信データ作成周期を長く変更するように通知する。周期の変更通知は，前述のように使用量の変化が０になるまで通知を続ける，減少傾向を示すまで通知を続ける等様々に方法が考えられるが，適切な周期にできるならどのような方法を用いても良い。
【００１１】
このような実施の形態によれば，モニタ用計算機の負荷状況や制御装置のバッファメモリ使用状態により送信データ作成周期を調整する構成をしているので，制御装置内の稼動データを連続的に，途切れることなくモニタ用計算機に送信することができる。また，送信データ量が減少するように送信データ作成周期を設定することでモニタ側計算機の負荷低減が期待できる。
【００１２】
上記のような送信データ作成周期の変更は，モニタリング実行中に行われる。この時，送信データのどこから周期が変更されたかを区別するために，送信データ作成部２２において送信データ作成周期の値を送信データに追加もしくは変更する。モニタ用計算機４のデータ処理部４２で送信データ作成周期の変更を検出した時は，モデル・グラフ描画部４３で周期に応じて描画を切り替える。送信データ作成周期は，データ処理部４２で正しく検出できるなら，常に送信データに埋め込まれる形でも，変更のあったときに追加される形でも，何でも良い。
【図面の簡単な説明】
【００１３】
【図１】本発明のモニタ装置の構成を示すブロック図
【符号の説明】
【００１４】
１  制御対象               ２  制御装置               ２１  制御演算部
２２  送信データ作成部     ２３  バッファメモリ       ２４  制御側通信部
２５  制御側監視部         ２６  制御側周期設定部     ３  ネットワーク
４  モニタ用計算機         ４１  モニタ側通信部       ４２  データ処理部
４３  モデル・グラフ描画部
【図１】
2007249903.tif 000003