(57)【要約】【課題】通信に係る負荷及び処理時間を改善した監視装置及び監視方法を提供する。【解決手段】監視装置１は、数値制御装置５をモニタリングする監視処理部１６と、監視処理部１６からの監視データ名が指定された監視データの取得要求に対して、数値制御装置５からの監視データの取得状況に基づいて監視データを監視処理部１６に引き渡すための管理を行うデータ管理部１１と、を備え、データ管理部１１が、まとめ範囲記憶部２３に記憶された、１つのデータ監視用ＡＰＩからの１回の送受信により数値制御装置５から監視データ名の範囲指定により当該範囲に含まれる全ての監視データを一括取得することができる監視データ名の範囲に含まれる全ての監視データを一括取得して、キャッシュ部２４に記憶させるキャッシュ管理部１２を備える。【選択図】図１
2020077309.tif 000002
【特許請求の範囲】
【請求項１】
監視対象に対して通信可能に接続された監視装置であって、
前記監視対象をモニタリングする監視処理部と、
前記監視処理部からの監視データ名が指定された監視データの取得要求に対して、前記監視対象からの監視データの取得状況に基づいて、取得要求に対応した監視データを前記監視処理部に引き渡すための管理を行うデータ管理部と、
を備え、
前記データ管理部は、
１つのデータ監視用ＡＰＩからの１回の送受信により前記監視対象から前記監視データ名の範囲指定により当該範囲に含まれる全ての監視データを一括取得することができる監視データ名の範囲を記憶する監視データまとめ取得範囲記憶部と、
前記監視データまとめ取得範囲記憶部に記憶された前記監視データ名の範囲に対して前記１つのデータ監視用ＡＰＩを用いて前記監視データ名の範囲指定により前記監視対象から当該範囲に含まれる全ての監視データを一括取得して、キャッシュ部に記憶させるキャッシュ管理部と、
前記監視処理部から取得要求がされた監視データが既に前記キャッシュ部に記憶されているか否かを判断する監視データまとめ取得実行部と、
を備え、
前記監視データまとめ取得実行部は、
前記監視処理部からの前記監視データ名を指定した監視データの取得要求に対して前記監視データ名が前記監視データまとめ取得範囲記憶部に記憶された監視データ名の範囲に含まれ、かつ、前記取得要求に対応した前記監視データが前記キャッシュ部に記憶されている場合には、前記キャッシュ部の中から前記取得要求に対応した前記監視データを取得して、前記監視処理部に引き渡し、
前記監視処理部からの前記監視データ名を指定した監視データの取得要求に対して前記監視データ名が前記監視データまとめ取得範囲記憶部に記憶された監視データ名の範囲に含まれ、かつ、前記取得要求に対応した前記監視データが前記キャッシュ部に記憶されていない場合には、前記監視データ名の範囲指定により前記監視対象から当該範囲に含まれる全ての監視データを一括取得して、前記キャッシュ部に記憶させる前記キャッシュ管理部による処理を行い、その後、前記キャッシュ部の中から前記取得要求に対応した前記監視データを取得して、前記監視処理部に引き渡すこと、
を特徴とする監視装置。
【請求項２】
前記データ管理部は、前記監視データまとめ取得範囲記憶部に記憶する前記監視データ名の範囲を構築する監視データまとめ範囲構築部を備えること、
を特徴とする請求項１に記載の監視装置。
【請求項３】
前記監視データまとめ範囲構築部は、前記監視処理部からの前記監視データ名を指定した監視データの取得要求に対して前記監視データ名が前記監視データまとめ取得範囲記憶部に記憶された監視データ名の範囲に含まれていない場合に、前記取得要求に対応した監視データ名を含む監視データ名の範囲を構築し、前記監視データまとめ取得範囲記憶部に記憶させること、
を特徴とする請求項２に記載の監視装置。
【請求項４】
前記監視データまとめ範囲構築部は、監視データ名の範囲が閾値を超えない範囲において監視データ名の範囲をまとめるように構築すること、
を特徴とする請求項２又は請求項３に記載の監視装置。
【請求項５】
前記監視データ名を指定した監視データの取得要求は、前記監視データのデータ種類を含み、
前記閾値は、前記データ種類に応じて設定された値であり、
前記監視データまとめ範囲構築部は、前記監視データのデータ種類ごとに、前記監視データ名の範囲を構築すること、
を特徴とする請求項４に記載の監視装置。
【請求項６】
前記キャッシュ管理部は、前記監視処理部から取得要求がされた監視データを、前記監視データまとめ取得実行部により前記キャッシュ部から取得して前記監視処理部に引き渡した場合に、前記監視データを前記キャッシュ部から削除すること、
を特徴とする請求項１から請求項５までのいずれかに記載の監視装置。
【請求項７】
前記キャッシュ管理部は、前記監視データが前記キャッシュ部に記憶されてから予め設定された所定時間が経過した場合に、前記監視データを前記キャッシュ部から削除すること、
を特徴とする請求項１から請求項６までのいずれかに記載の監視装置。
【請求項８】
前記監視データまとめ取得実行部は、前記監視処理部からの前記監視データ名を指定した監視データの取得要求に対して前記監視データ名が前記監視データまとめ取得範囲記憶部に記憶された監視データ名の範囲に含まれない場合には、前記取得要求に対応した前記監視データを前記監視対象から取得して、前記監視処理部に引き渡すこと、
を特徴とする請求項１から請求項７までのいずれかに記載の監視装置。
【請求項９】
前記監視対象は、数値制御装置であること、
を特徴とする請求項１から請求項８までのいずれかに記載の監視装置。
【請求項１０】
監視対象に対して通信可能に接続された監視装置における監視方法であって、
前記監視対象をモニタリングする監視アプリと、
前記監視アプリからの監視データ名が指定された監視データの取得要求に対して、前記監視対象からの監視データの取得状況に基づいて、取得要求に対応した監視データを前記監視アプリに引き渡すための管理を行うライブラリと、
を備え、
前記ライブラリは、
１つのデータ監視用ＡＰＩからの１回の送受信により前記監視対象から前記監視データ名の範囲指定により当該範囲に含まれる全ての監視データを一括取得することができる監視データ名の範囲を記憶する監視データまとめ取得範囲記憶部に記憶された前記監視データ名の範囲に対して前記１つのデータ監視用ＡＰＩを用いて前記監視データ名の範囲指定により前記監視対象から当該範囲に含まれる全ての監視データを一括取得して、キャッシュ部に記憶させるキャッシュ管理ステップと、
前記監視アプリから取得要求がされた監視データが既に前記キャッシュ部に記憶されているか否かを判断する監視データまとめ取得実行ステップと、
を含み、
前記監視データまとめ取得実行ステップは、
前記監視アプリからの前記監視データ名を指定した監視データの取得要求に対して前記監視データ名が前記監視データまとめ取得範囲記憶部に記憶された監視データ名の範囲に含まれ、かつ、前記取得要求に対応した前記監視データが前記キャッシュ部に記憶されている場合には、前記キャッシュ部の中から前記取得要求に対応した前記監視データを取得して、前記監視アプリに引き渡し、
前記監視アプリからの前記監視データ名を指定した監視データの取得要求に対して前記監視データ名が前記監視データまとめ取得範囲記憶部に記憶された監視データ名の範囲に含まれ、かつ、前記取得要求に対応した前記監視データが前記キャッシュ部に記憶されていない場合には、前記監視データ名の範囲指定により前記監視対象から当該範囲に含まれる全ての監視データを一括取得して、前記キャッシュ部に記憶させる前記キャッシュ管理ステップによる処理を行い、その後、前記キャッシュ部の中から前記取得要求に対応した前記監視データを取得して、前記監視アプリに引き渡すこと、
を特徴とする監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視装置及び監視方法に関する。
【背景技術】
【０００２】
従来、例えば、工業機械を制御する数値制御装置（ＣＮＣ）に対して通信可能に接続された監視装置を用いて、工作機械の稼働状況等を監視することが一般的に行われている。
監視装置には、数値制御装置をモニタリングするための監視アプリケーションプログラム（以下、単に「監視アプリ」ともいう。）を記憶させておく。監視アプリは、例えば、予め作成された監視データ取得リストを順番に読み取って、取得関数を用いて監視データを１つ１つ取得する処理を行うものであれば、このような監視アプリは、簡単に作成できる。
【０００３】
図９は、従来の監視システム９００の処理概要図である。図９に示す監視装置９０１は、監視アプリ９２１ａを有する。監視アプリ９２１ａは、上述した処理を行うアプリケーションプログラムであり、監視データ取得リスト３０の順番に、監視データを１つ１つ取得する取得関数を利用して数値制御装置から監視データを取得する。図９に示す例の場合、（１）〜（３）に示すように、監視装置９０１と数値制御装置５との間では、通信が頻繁に行われる。そのため、監視システム９００は、通信に係る負荷が高くなり、また、処理時間が長くなる可能性がある。
【０００４】
ここで、処理時間の高速化を図るためのものとしては、キャッシュを用いる方法が考えられる。特許文献１は、取得要求の多い監視データをキャッシュする機能を有する監視システムに関するものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２００１−５１４４０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
取得した監視データをキャッシュメモリに記憶させることで、高速化を図ることができる。しかし、監視データを１つ１つ取得するため、通信に係る負荷は高いままである。そのため、更なる改善した方法による監視データの取得が望まれる。
【０００７】
本発明は、通信に係る負荷及び処理時間を改善した監視装置及び監視方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
（１）  本発明に係る監視装置（例えば、後述の「監視装置１」）は、監視対象（例えば、後述の「数値制御装置５」）に対して通信可能に接続され、前記監視対象をモニタリングする監視処理部（例えば、後述の「監視処理部１６」）と、前記監視処理部からの監視データ名が指定された監視データの取得要求に対して、前記監視対象からの監視データの取得状況に基づいて、取得要求に対応した監視データを前記監視処理部に引き渡すための管理を行うデータ管理部（例えば、後述の「データ管理部１１」）と、を備え、前記データ管理部は、１つのデータ監視用ＡＰＩ（例えば、後述の「データ監視用ＡＰＩ２２ａ」）からの１回の送受信により前記監視対象から前記監視データ名の範囲指定により当該範囲に含まれる全ての監視データを一括取得することができる前記監視データ名の範囲を記憶する監視データまとめ取得範囲記憶部（例えば、後述する「まとめ範囲記憶部２３」）と、前記監視データまとめ取得範囲記憶部に記憶された前記監視データ名の範囲に対して前記１つのデータ監視用ＡＰＩを用いて前記監視データ名の範囲指定により前記監視対象から当該範囲に含まれる全ての監視データを一括取得して、キャッシュ部（例えば、後述する「キャッシュ部２４」）に記憶させるキャッシュ管理部（例えば、後述する「キャッシュ管理部１２」）と、前記監視処理部から取得要求がされた監視データが既に前記キャッシュ部に記憶されているか否かを判断する監視データまとめ取得実行部（例えば、後述する「監視データまとめ取得実行部１３」）と、を備え、前記監視データまとめ取得実行部は、前記監視処理部からの前記監視データ名を指定した監視データの取得要求に対して前記監視データ名が前記監視データまとめ取得範囲記憶部に記憶された監視データ名の範囲に含まれ、かつ、前記取得要求に対応した前記監視データが前記キャッシュ部に記憶されている場合には、前記キャッシュ部の中から前記取得要求に対応した前記監視データを取得して、前記監視処理部に引き渡し、前記監視処理部からの前記監視データ名を指定した監視データの取得要求に対して前記監視データ名が前記監視データまとめ取得範囲記憶部に記憶された監視データ名の範囲に含まれ、かつ、前記取得要求に対応した前記監視データが前記キャッシュ部に記憶されていない場合には、前記監視データ名の範囲指定により前記監視対象から当該範囲に含まれる全ての監視データを一括取得して、前記キャッシュ部に記憶させる前記キャッシュ管理部による処理を行い、その後、前記キャッシュ部の中から前記取得要求に対応した前記監視データを取得して、前記監視処理部に引き渡す。
【０００９】
（２）  （１）に記載の監視装置において、前記データ管理部は、前記監視データまとめ取得範囲記憶部に記憶する前記監視データ名の範囲を構築する監視データまとめ範囲構築部（例えば、後述する「監視データまとめ範囲構築部１４」）を備えてもよい。
【００１０】
（３）  （２）に記載の監視装置において、前記監視データまとめ範囲構築部は、前記監視処理部からの前記監視データ名を指定した監視データの取得要求に対して前記監視データ名が前記監視データまとめ取得範囲記憶部に記憶された監視データ名の範囲に含まれていない場合に、前記取得要求に対応した監視データ名を含む監視データ名の範囲を構築し、前記監視データまとめ取得範囲記憶部に記憶させてもよい。
【００１１】
（４）  （２）又は（３）に記載の監視装置において、前記監視データまとめ範囲構築部は、監視データ名の範囲が閾値を超えない範囲において監視データ名の範囲をまとめるように構築してもよい。
【００１２】
（５）  （４）に記載の監視装置において、前記監視データ名を指定した監視データの取得要求は、前記監視データのデータ種類を含み、前記閾値は、前記データ種類に応じて設定された値であり、前記監視データまとめ範囲構築部は、前記監視データのデータ種類ごとに、前記監視データ名の範囲を構築してもよい。
【００１３】
（６）  （１）から（５）までのいずれかに記載の監視装置において、前記キャッシュ管理部は、前記監視処理部から取得要求がされた監視データを、前記監視データまとめ取得実行部により前記キャッシュ部から取得して前記監視処理部に引き渡した場合に、前記監視データを前記キャッシュ部から削除してもよい。
【００１４】
（７）  （１）から（６）までのいずれかに記載の監視装置において、前記キャッシュ管理部は、前記監視データが前記キャッシュ部に記憶されてから予め設定された所定時間が経過した場合に、前記監視データを前記キャッシュ部から削除してもよい。
【００１５】
（８）  （１）から（７）までのいずれかに記載の監視装置において、前記監視データまとめ取得実行部は、前記監視処理部からの前記監視データ名を指定した監視データの取得要求に対して前記監視データ名が前記監視データまとめ取得範囲記憶部に記憶された監視データ名の範囲に含まれない場合には、前記取得要求に対応した前記監視データを前記監視対象から取得して、前記監視処理部に引き渡してもよい。
【００１６】
（９）  （１）から（８）までのいずれかに記載の監視装置において、前記監視対象は、数値制御装置であってもよい。
【００１７】
（１０）  本発明に係る監視対象に対して通信可能に接続された監視装置における監視方法は、前記監視対象をモニタリングする監視アプリ（例えば、後述する「監視アプリ２１ａ」）と、前記監視アプリからの監視データ名が指定された監視データの取得要求に対して、前記監視対象からの監視データの取得状況に基づいて、取得要求に対応した監視データを前記監視アプリに引き渡すための管理を行うライブラリ（例えば、後述する「ライブラリ２２」）と、を備え、前記ライブラリは、１つのデータ監視用ＡＰＩからの１回の送受信により前記監視対象から前記監視データ名の範囲指定により当該範囲に含まれる全ての監視データを一括取得することができる監視データ名の範囲を記憶する監視データまとめ取得範囲記憶部に記憶された前記監視データ名の範囲に対して前記１つのデータ監視用ＡＰＩを用いて前記監視データ名の範囲指定により前記監視対象から当該範囲に含まれる全ての監視データを一括取得して、キャッシュ部に記憶させるキャッシュ管理ステップと、前記監視アプリから取得要求がされた監視データが既に前記キャッシュ部に記憶されているか否かを判断する監視データまとめ取得実行ステップと、を含み、前記監視データまとめ取得実行ステップは、前記監視アプリからの前記監視データ名を指定した監視データの取得要求に対して前記監視データ名が前記監視データまとめ取得範囲記憶部に記憶された監視データ名の範囲に含まれ、かつ、前記取得要求に対応した前記監視データが前記キャッシュ部に記憶されている場合には、前記キャッシュ部の中から前記取得要求に対応した前記監視データを取得して、前記監視アプリに引き渡し、前記監視アプリからの前記監視データ名を指定した監視データの取得要求に対して前記監視データ名が前記監視データまとめ取得範囲記憶部に記憶された監視データ名の範囲に含まれ、かつ、前記取得要求に対応した前記監視データが前記キャッシュ部に記憶されていない場合には、前記監視データ名の範囲指定により前記監視対象から当該範囲に含まれる全ての監視データを一括取得して、前記キャッシュ部に記憶させる前記キャッシュ管理ステップによる処理を行い、その後、前記キャッシュ部の中から前記取得要求に対応した前記監視データを取得して、前記監視アプリに引き渡す。
【発明の効果】
【００１８】
本発明によれば、通信に係る負荷及び処理時間を改善した監視装置及び監視方法を提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本実施形態に係る監視システムの全体構成及び監視装置の機能構成を示す図である。
【図２】本実施形態に係る監視装置に入力される監視データ取得リストの例を示す図である。
【図３】本実施形態に係る監視装置の監視データ処理を示すフローチャートである。
【図４】本実施形態に係るデータ管理部の要求データ取得処理を示すフローチャートである。
【図５】本実施形態に係るデータ管理部のまとめ範囲構築処理を示すフローチャートである。
【図６】本実施形態に係る監視装置で行われる要求データ取得処理の例を示す図である。
【図７】本実施形態に係る監視装置で行われるまとめ範囲構築処理の例を示す図である。
【図８】本実施形態に係るデータ管理部のキャッシュ部管理処理を示すフローチャートである。
【図９】従来の監視システムの処理概要図である。
【発明を実施するための形態】
【００２０】
（実施形態）
以下、本発明の実施形態の一例について説明する。
図１は、本実施形態に係る監視システム１００の全体構成及び監視装置１の機能構成を示す図である。
図２は、本実施形態に係る監視装置に入力される監視データ取得リスト３０の例を示す図である。
監視システム１００は、監視装置１が、監視データ取得リスト３０に基づいて数値制御装置５（監視対象）から監視データを得て、数値制御装置５をモニタリングするためのシステムである。
【００２１】
監視装置１は、監視対象である機械の一例として数値制御装置５に関する監視データに対する処理を行い、情報出力を行う情報処理装置（コンピュータ）である。なお、監視装置１は、工作機械を構成するサーボモータ及びリニアモータ等の駆動部を制御する数値制御装置５に組み込まれていてもよい。また、監視対象は、数値制御装置５に限定されず、他の機械であってもよい。さらに、監視装置１は、複数の数値制御装置５を監視対象にしてもよい。
監視装置１と、数値制御装置５とは、例えば、接続インタフェースを介して直接接続されている。なお、この接続は、通信ネットワークを介して接続されてもよい。通信ネットワークは、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等であり、通信ネットワークにおける具体的な通信方式や、有線接続及び無線接続のいずれであるか等については、特に限定されない。
【００２２】
監視装置１は、制御部１０と、記憶部２０と、入力部２５と、表示部２６と、通信部２９とを備える。
制御部１０は、ＣＰＵ（中央処理装置）であってよく、記憶部２０に記憶された監視装置１を制御する各種のプログラムを実行することにより、監視装置１を統括制御する。
制御部１０は、データ管理部１１と、監視処理部１６とを備える。
データ管理部１１は、キャッシュ管理部１２と、監視データまとめ取得実行部１３と、監視データまとめ範囲構築部１４とを備える。
【００２３】
キャッシュ管理部１２は、キャッシュ部２４を管理する。具体的には、キャッシュ管理部１２は、数値制御装置５から監視データを取得し、取得した監視データをキャッシュ部２４に記憶させる。また、キャッシュ管理部１２は、キャッシュ部２４に記憶された監視データが、後述する監視処理部１６に引き渡された場合に、監視データをキャッシュ部２４から削除する。これは、キャッシュ部２４に記憶された監視データを、一度だけ使用することを示し、使用された監視データを、再度使用することがないことを示す。さらに、キャッシュ管理部１２は、監視データがキャッシュ部２４に記憶されてから予め設定された所定時間が経過した場合に、その監視データをキャッシュ部２４から削除する。
【００２４】
監視データまとめ取得実行部１３は、監視処理部１６から取得要求がされた監視データが、既にキャッシュ部２４に記憶されているか否かを判断する。そして、監視データまとめ取得実行部１３は、取得要求に対応した監視データがキャッシュ部２４に記憶されている場合には、キャッシュ部２４の中から取得要求に対応した監視データを得て、監視処理部１６に引き渡す。
【００２５】
また、監視データまとめ取得実行部１３は、取得要求に対応した監視データがキャッシュ部２４に記憶されていない場合に、監視データの取得要求に対する監視データ名が、後述するまとめ範囲記憶部２３（監視データまとめ取得範囲記憶部）に記憶された監視データ名の範囲に含まれるか否かを判定する。そして、監視データ名の範囲に含まれる場合には、監視データまとめ取得実行部１３は、当該監視データ名の範囲に含まれる全ての監視データを取得する処理を、キャッシュ管理部１２に行わせる。そして、監視データまとめ取得実行部１３は、キャッシュ部２４の中から取得要求に対応した監視データを得て、監視処理部１６に引き渡す。他方、監視データ名の範囲に含まれない場合には、監視データまとめ取得実行部１３は、取得要求に対応した監視データを、数値制御装置５から直接取得して、監視処理部１６に引き渡す。
【００２６】
監視データまとめ範囲構築部１４は、監視データの取得要求に対する監視データ名が、まとめ範囲記憶部２３に記憶された監視データ名の範囲に含まれない場合に、取得要求に対応した監視データ名を含む監視データ名の範囲を構築する。その際、監視データまとめ範囲構築部１４は、監視データ名の範囲が閾値を超えない範囲において監視データ名の範囲をまとめるように構築する。そして、監視データまとめ範囲構築部１４は、構築した監視データ名の範囲を、まとめ範囲記憶部２３に記憶させる。
【００２７】
監視処理部１６は、数値制御装置５をモニタリングする。そして、監視処理部１６は、監視データ取得リスト３０に基づいて１つの取得関数を実行し、データ管理部１１に対して監視データを要求する。監視データ取得リスト３０は、例えば、入力部２５を介して入力される。
ここで、監視データ取得リスト３０の例を、図２に基づき説明する。
監視データ取得リスト３０は、監視データ名が示されたリストであり、監視データのデータ種類と、番号とが対応付けられている。データ種類は、図２に示す例では、データ種類Ａ，Ｂ，Ｙの３種類である。具体的には、データ種類は、例えば、工作機械に設置された各センサから得られたセンサデータの種類である。また、番号は、数値制御装置５に表形式で格納された監視データの格納場所を示す。図２の例では、番号は、数字によって示されているが、アイウエオ順やイロハ順、ＡＢＣ順等によって示されるものであってもよい。
【００２８】
図１の記憶部２０は、制御部１０により実行されるプログラム等を記憶する。記憶部２０は、プログラム記憶部２１と、ライブラリ２２と、まとめ範囲記憶部２３と、キャッシュ部２４とを備える。
プログラム記憶部２１は、監視アプリ２１ａ等を記憶するプログラム記憶領域である。監視アプリ２１ａは、監視処理部１６の機能を実行するためのプログラムである。
【００２９】
ライブラリ２２は、監視アプリ２１ａから呼び出されるプログラム部品を格納したファイルである。ライブラリ２２は、データ管理部１１の各種機能を実行するのに用いられる。ライブラリ２２は、データ監視用ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）２２ａを記憶している。データ監視用ＡＰＩ２２ａは、数値制御装置５から監視データ名の範囲指定がされた当該範囲に含まれる全ての監視データを一括取得するための関数である。データ監視用ＡＰＩ２２ａは、データ種類ごとに異なるものであってもよいし、複数のデータ種類に共通で使用できるものであってもよい。例えば、図２に示すデータ種類がＡ，Ｂに共通のデータ監視用ＡＰＩ２２ａと、データ種類がＹのデータ監視用ＡＰＩ２２ａとがあってもよい。
【００３０】
まとめ範囲記憶部２３は、データ監視用ＡＰＩ２２ａからの１回の送受信により数値制御装置５から監視データ名の範囲指定により当該範囲に含まれる全ての監視データを一括取得することができる監視データ名の範囲を記憶する記憶領域である。
キャッシュ部２４は、高速の読み出しが可能なキャッシュメモリである。キャッシュ部２４は、まとめ範囲記憶部２３に記憶された監視データ名の範囲に基づいて、キャッシュ管理部１２が取得した監視データを記憶する。
【００３１】
入力部２５は、例えば、キーボードやマウス等の入力装置である。
表示部２６は、例えば、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）等の表示装置である。
通信部２９は、外部機器（例えば、数値制御装置５等）とデータの送受信を行う通信制御デバイスである。
【００３２】
数値制御装置５は、工作機械や産業用ロボット等の機械（サービス用ロボット、鍛圧機械、射出成形機、切削加工機、レーザ加工機、放電加工機等の様々な機械を含む。）を制御することにより、上述の機械に所定の動作を行わせるための装置である。
【００３３】
次に、監視装置１の処理について説明する。
図３は、本実施形態に係る監視装置１の監視データ処理を示すフローチャートである。
図４は、本実施形態に係るデータ管理部１１の要求データ取得処理を示すフローチャートである。
図５は、本実施形態に係るデータ管理部１１のまとめ範囲構築処理を示すフローチャートである。
【００３４】
図３のステップＳ１０（以下、「ステップＳ」を単に「Ｓ」という。）において、監視装置１の制御部１０は、監視処理部１６が、監視データ取得リスト３０に基づいて１つの取得関数を実行し、データ管理部１１に対して監視データの取得を要求する。
Ｓ１１において、制御部１０は、データ管理部１１が、監視データの取得要求を、監視処理部１６から受け付ける。
Ｓ１２において、制御部１０は、データ管理部１１が、後述の図４で説明する要求データ取得処理を行う。この処理によって、データ管理部１１は、取得要求がされた監視データを得る。
【００３５】
Ｓ１３において、制御部１０は、データ管理部１１が、取得した監視データを、監視処理部１６に引き渡す。
Ｓ１４において、制御部１０は、データ管理部１１が、Ｓ１２で取得した監視データがキャッシュ部２４から得たものであったか否かを判断する。キャッシュ部２４から得たものであった場合（Ｓ１４：ＹＥＳ）には、制御部１０は、処理をＳ１５に移す。他方、キャッシュ部２４から得たものではない場合、つまり、数値制御装置５から当該監視データのみを直接取得した場合（Ｓ１４：ＮＯ）には、制御部１０は、本処理を終了する。
【００３６】
Ｓ１５において、制御部１０は、キャッシュ管理部１２が、監視処理部１６に引き渡した監視データを、キャッシュ部２４から削除する処理を行う。
Ｓ１６において、制御部１０は、監視データ取得リスト３０に基づいて全ての取得関数を実行したか否かを判断する。全ての取得関数を実行した場合（Ｓ１６：ＹＥＳ）には、制御部１０は、本処理を終了する。他方、全ての取得関数を実行していない場合（Ｓ１６：ＮＯ）には、制御部１０は、処理をＳ１０に移し、監視データ取得リスト３０に基づいて、順番に１つの取得関数を実行して行う処理を繰り返す。
【００３７】
次に、要求データ取得処理について説明する。
図４のＳ２０において、データ管理部１１（監視データまとめ取得実行部１３）は、取得要求に対応した監視データ名が、まとめ範囲記憶部２３に記憶された監視データ名の範囲に含まれるか否かを判定する。監視データ名の範囲に含まれる場合（Ｓ２０：ＹＥＳ）には、監視データまとめ取得実行部１３は、処理をＳ２１に移す。他方、監視データ名の範囲に含まれない場合（Ｓ２０：ＮＯ）には、監視データまとめ取得実行部１３は、処理をＳ２５に移す。
【００３８】
Ｓ２１において、データ管理部１１（監視データまとめ取得実行部１３）は、取得したい監視データがキャッシュ部２４に記憶されているか否かを判断する。キャッシュ部２４に記憶されている場合（Ｓ２１：ＹＥＳ）には、監視データまとめ取得実行部１３は、処理をＳ２４に移す。他方、キャッシュ部２４に記憶されていない場合（Ｓ２１：ＮＯ）には、監視データまとめ取得実行部１３は、処理をＳ２２に移す。
【００３９】
Ｓ２２において、データ管理部１１（キャッシュ管理部１２）は、まとめ範囲記憶部２３を参照し、取得要求に対応した監視データ名を含む監視データ名の範囲から取得可能な全ての監視データを、数値制御装置５から一括取得する。
Ｓ２３において、データ管理部１１（キャッシュ管理部１２）は、一括取得した監視データを、キャッシュ部２４に記憶させる。
【００４０】
Ｓ２４において、データ管理部１１（監視データまとめ取得実行部１３）は、キャッシュ部２４から取得要求に対応した監視データを取得する。その後、監視データまとめ取得実行部１３は、処理を図３のＳ１３に移す。
【００４１】
他方、Ｓ２５において、データ管理部１１（監視データまとめ取得実行部１３）は、取得要求に対応した監視データを、数値制御装置５から取得する。
Ｓ２６において、データ管理部１１（監視データまとめ範囲構築部１４）は、後述の図５で説明するまとめ範囲構築処理を行う。その後、データ管理部１１は、処理を図３のＳ１３に移す。
なお、Ｓ２５とＳ２６の処理は、同時に行ってもよいし、Ｓ２６の処理を先に行ってもよい。
【００４２】
次に、まとめ範囲構築処理について説明する。
図５のＳ３０において、データ管理部１１（監視データまとめ範囲構築部１４）は、まとめ範囲記憶部２３に、取得要求に対応した監視データ名のデータ種類と同じデータ種類の他の範囲が記憶されているか否かを判定する。同じデータ種類の他の範囲が記憶されている場合（Ｓ３０：ＹＥＳ）には、監視データまとめ範囲構築部１４は、処理をＳ３１に移す。他方、同じデータ種類の他の範囲が記憶されていない場合（Ｓ３０：ＮＯ）には、監視データまとめ範囲構築部１４は、処理をＳ３２に移す。
【００４３】
Ｓ３１において、データ管理部１１（監視データまとめ範囲構築部１４）は、まとめ範囲記憶部２３に記憶された、取得要求に対応した監視データ名のデータ種類と同じデータ種類の他の範囲と、取得要求に対応した監視データ名のデータ種類の範囲とをまとめた範囲が閾値を超えるか否かを判定する。ここで、閾値は、例えば、データ種類ごとに予め記憶部２０に記憶されているものとする。また、範囲とは、番号が数字で表されている場合には、番号の最小値と最大値との間の長さである。範囲が閾値を超える場合（Ｓ３１：ＹＥＳ）には、監視データまとめ範囲構築部１４は、処理をＳ３２に移す。他方、範囲が閾値を超えない場合（Ｓ３１：ＮＯ）には、監視データまとめ範囲構築部１４は、処理をＳ３３に移す。
【００４４】
ここで、具体例に基づいて説明する。例えば、閾値を２５６とし、０〜２５０の範囲が既にあるものとする。その場合、取得要求に対応した監視データ名のデータ種類に対応した番号が２５３であれば、まとめた範囲である０〜２５３は、その長さが２５４であり、閾値（２５６）の範囲内である。よって、このような場合には、データ管理部１１は、Ｓ３１をＹＥＳとし、処理をＳ３３に移す。
同じ条件で、取得要求に対応した監視データ名のデータ種類に対応した番号が２６０であると、まとめた範囲である０〜２６０は、その長さは２６１であり、閾値（２５６）の範囲を超えるものになる。よって、このような場合には、データ管理部１１は、Ｓ３１をＮＯとし、処理をＳ３２に移す。
【００４５】
Ｓ３２において、データ管理部１１（監視データまとめ範囲構築部１４）は、取得要求に対応した監視データ名の範囲を、まとめ範囲記憶部２３に記憶させる。その後、データ管理部１１は、本処理を終了し、処理を図３のＳ１３に移す。
【００４６】
他方、Ｓ３３において、データ管理部１１（監視データまとめ範囲構築部１４）は、まとめ範囲記憶部２３に記憶された、取得要求に対応した監視データ名のデータ種類と同じデータ種類の他の範囲と、取得要求に対応した監視データ名のデータ種類の範囲とをまとめる。そして、監視データまとめ範囲構築部１４は、まとめた後の監視データ名の範囲を、まとめ範囲記憶部２３に記憶させる。その後、データ管理部１１は、本処理を終了し、処理を図３のＳ１３に移す。
【００４７】
次に、上述した処理を具体例に沿って説明する。
図６は、本実施形態に係る監視装置１で行われる要求データ取得処理の例を示す図である。
図７は、本実施形態に係る監視装置１で行われるまとめ範囲構築処理の例を示す図である。
【００４８】
まず、図６に示す監視処理部１６が監視データを得る処理について説明する。
ここで、図６の説明の前提として、監視データ取得リスト３０には、同じデータ種類（例えば、データ種類がＡ）のデータ名が記載されているものとする。また、キャッシュ部２４は、初期化された状態で空であり、まとめ範囲記憶部２３には、例えば、｛データ種類Ａの＃１０１〜＃１０５｝のように、＃１０１〜＃１０５の範囲の監視データを一括取得可能な監視データ名の範囲が記憶されている。
【００４９】
図６において、まず、（１）に示すように、監視処理部１６が、監視アプリ２１ａによって＃１０１の取得関数を実行すると、データ管理部１１が、ライブラリ２２によって要求を受け付ける。
まとめ範囲記憶部２３には、取得要求に対する監視データである＃１０１を含む監視データ名の範囲（＃１０１〜＃１０５）が記憶されている。また、キャッシュ部２４は空である。よって、データ管理部１１は、（２）に示すように、数値制御装置５に対して＃１０１〜＃１０５の範囲の監視データを一括取得する要求を送信する（図４のＳ２２参照）。そして、データ管理部１１は、数値制御装置５から一括取得した監視データである＃１０１〜＃１０５を、キャッシュ部２４に記憶させる（図４のＳ２３参照）。
データ管理部１１は、（３）に示すように、取得要求に対応した監視データである＃１０１をキャッシュ部２４から得て、監視アプリ２１ａ（監視処理部１６）に引き渡す。引き渡した後、データ管理部１１は、引き渡した監視データである＃１０１を、キャッシュ部２４から削除する。
【００５０】
次に、（４）に示すように、監視処理部１６が、監視アプリ２１ａによって＃１０２の取得関数を実行すると、データ管理部１１が、ライブラリ２２によって要求を受け付ける。
データ管理部１１は、取得要求に対する監視データである＃１０２を含む監視データ名の範囲（＃１０１〜＃１０５）が、まとめ範囲記憶部２３に記憶されていることを確認する。また、データ管理部１１は、取得要求に対応した監視データである＃１０２がキャッシュ部２４に記憶されていることを確認する。そこで、データ管理部１１は、（５）に示すように、取得要求に対応した監視データである＃１０２をキャッシュ部２４から得て、監視アプリ２１ａ（監視処理部１６）に引き渡す。引き渡した後、データ管理部１１は、引き渡した監視データである＃１０２を、キャッシュ部２４から削除する。
【００５１】
次に、（６）に示すように、監視処理部１６が、監視アプリ２１ａによって＃１０４の監視データの取得を要求すると、データ管理部１１は、ライブラリ２２によって要求を受け付ける。その後の（７）に示す処理は、上述の（５）で説明した処理と同様である。
【００５２】
このようにすることで、監視装置１は、一括取得によって一度にまとめて監視データを取得して、キャッシュ部２４に記憶させておけば、その後の取得要求に対応した監視データがキャッシュ部２４に記憶されていれば、その監視データを監視処理部１６に受け渡せばよい。そのため、数値制御装置５に監視データの取得要求がある都度通信をせずに済み、通信に係る負荷が軽減できる。
また、監視装置１は、監視データをまとめて取得してキャッシュ部２４に格納するので、作業効率がよくなり、処理時間が短縮できる。
さらに、監視装置１は、ライブラリ２２を用いるので、監視アプリ２１ａを修正する必要がなく、既存の監視アプリ２１ａをそのまま使用できる。よって、アプリ改修等に係る工数を削減できる。
【００５３】
次に、図６の説明で前提とした、まとめ範囲記憶部２３に監視データ名の範囲を記憶させる処理について、図７を用いて説明する。
図７を用いた説明の前提として、まとめ範囲記憶部２３には、データ種類ごとに閾値２３ａが予め設定されて記憶されている。ここで、閾値２３ａは、例えば、２５６であるとする。
【００５４】
図７において、まず、監視処理部１６が、監視アプリ２１ａによって＃１０１の取得関数を実行すると、データ管理部１１が、ライブラリ２２によって要求を受け付ける。
取得要求に対する監視データ名の範囲（＃１０１）が、まとめ範囲記憶部２３に記憶されていない。そのため、データ管理部１１は、（１）に示すように、数値制御装置５に対して＃１０１の監視データを取得して、監視アプリ２１ａ（監視処理部１６）に引き渡す。そして、データ管理部１１は、（２）に示すように、まとめ範囲記憶部２３に、取得要求に対する監視データ名の範囲（＃１０１）を記憶させる（図５のＳ３２）。
【００５５】
次に、監視処理部１６が、監視アプリ２１ａによって＃１０２の監視データの取得関数を実行すると、データ管理部１１が、ライブラリ２２によって要求を受け付ける。
取得要求に対する監視データ名の範囲（＃１０２）が、まとめ範囲記憶部２３に記憶されていない。そのため、データ管理部１１は、（３）に示すように、数値制御装置５に対して＃１０２の監視データを取得して、監視アプリ２１ａ（監視処理部１６）に引き渡す。そして、データ管理部１１は、（４）に示すように、まとめ範囲記憶部２３に記憶された、（２）で生成された監視データ名の範囲（＃１０１〜＃１０１）と、今回の取得要求に対する範囲（＃１０２）とをまとめたデータ名の範囲（＃１０１〜＃１０２）を、まとめ範囲記憶部２３に記憶させる（図５のＳ３３）。この処理は、既にまとめ範囲記憶部２３に記憶されている監視データ名の範囲（＃１０１〜＃１０１）と、今回の取得要求に対する範囲（＃１０２）とをまとめても、範囲が閾値２３ａを超えないために行うことができる処理である。
【００５６】
同様に、監視処理部１６が、監視アプリ２１ａによって＃１０４〜１０５の監視データの取得関数を実行すると、データ管理部１１が、ライブラリ２２によって要求を受け付ける。
取得要求に対する監視データ名の範囲（＃１０４〜１０５）が、まとめ範囲記憶部２３に記憶されていない。そのため、データ管理部１１は、（５）に示すように、数値制御装置５に対して＃１０４〜１０５の監視データを取得して、監視アプリ２１ａ（監視処理部１６）に引き渡す。そして、データ管理部１１は、（６）に示すように、まとめ範囲記憶部２３に記憶された、（４）でまとめられた監視データ名の範囲（＃１０１〜＃１０２）と、今回の取得要求に対する範囲（＃１０４〜１０５）とを、さらにまとめたデータ名の範囲（＃１０１〜＃１０５）を、まとめ範囲記憶部２３に記憶させる（図５のＳ３３）。このまとめは、これらをまとめても、範囲が閾値２３ａを超えないために行うことができる。ここで、まとめ範囲記憶部２３には、＃１０３の取得関数は実行されていないが、＃１０３を含む。
【００５７】
次に、監視処理部１６が、監視アプリ２１ａによって＃１００１の監視データの取得関数を実行すると、データ管理部１１が、ライブラリ２２によって要求を受け付ける。
取得要求に対する監視データ名の範囲（＃１００１）が、まとめ範囲記憶部２３に記憶されていないので、データ管理部１１は、（７）に示すように、数値制御装置５に対して＃１００１の監視データを取得して、監視アプリ２１ａ（監視処理部１６）に引き渡す。そして、データ管理部１１は、（８）に示すように、仮にデータ名の範囲（＃１０１〜＃１０５）にまとめた場合、その範囲が閾値２３ａを超えることから、まとめ範囲記憶部２３に、取得要求に対する監視データ名の範囲（＃１００１）を記憶させる（図５のＳ３２）。
【００５８】
このようにすることで、監視装置１は、監視データ名の範囲を、取得要求に対する監視データの処理を行うごとに構築する。そして、範囲が閾値を超えない限りにおいて、監視データ名の範囲をまとめる。そのため、次に、監視データ名の範囲に含まれる範囲の監視データの取得が要求された場合には、データ管理部１１は、まとめ範囲記憶部２３に記憶された監視データ名の範囲から取得可能な全ての監視データを、数値制御装置５から一括取得することができる。そのため、監視データを取得する作業効率がよくなり、処理時間が短縮できる。
【００５９】
次に、キャッシュ部管理処理について説明する。
図８は、本実施形態に係るデータ管理部１１のキャッシュ部管理処理を示すフローチャートである。
図８に示すキャッシュ部管理処理は、例えば、１時間おき、１日おき等の定期的に行ってもよいし、キャッシュ部２４に最後に監視データが格納された時間を記憶しておき、所定時間が経過したことを契機に行ってもよい。
【００６０】
Ｓ４０において、データ管理部１１（キャッシュ管理部１２）は、キャッシュ部２４に記憶された監視データのうち所定時間を経過したものを特定する。
Ｓ４１において、データ管理部１１（キャッシュ管理部１２）は、特定した監視データを、キャッシュ部２４から削除する。その後、データ管理部１１は、本処理を終了する。
【００６１】
このように、監視装置１は、キャッシュ部２４に監視データが格納されてから所定時間が経過した監視データを、キャッシュ部２４から削除する。よって、古い監視データを使用しないようにできる。
【００６２】
本発明で使用するアプリケーションを初めとするプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００６３】
監視装置１による監視方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、コンピュータにインストールされる。また、これらのプログラムは、リムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。
【００６４】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【００６５】
（変形例１）
本実施形態では、キャッシュ部に記憶されてから所定時間を経過した監視データを、キャッシュ部から削除するものとして説明した。しかし、キャッシュ部に記憶された監視データを削除するタイミングは、これに限定されるものではない。例えば、一括取得してキャッシュ部に記憶された監視データのうち、所定数の監視データが使用された場合に、一括取得してキャッシュ部に記憶された他の監視データを、キャッシュ部から削除してもよい。
【００６６】
（変形例２）
本実施形態では、まとめ範囲記憶部は、初期状態では空とし、監視データを取得する都度まとめ範囲記憶部を更新するものとして説明した。しかし、これに限定されるものではない。例えば、予めまとめ範囲記憶部に、設計書等に基づいて監視データ名の範囲を設定してもよい。但し、そのような場合には、設定内容によっては、一度に取得するデータ量が多くなりすぎて、パフォーマンスが低下する可能性がある。
【符号の説明】
【００６７】
１    監視装置
５    数値制御装置
１０  制御部
１１  データ管理部
１２  キャッシュ管理部
１３  監視データまとめ取得実行部
１４  監視データまとめ範囲構築部
１６  監視処理部
２０  記憶部
２１ａ  監視アプリ
２２  ライブラリ
２２ａ  データ監視用ＡＰＩ
２３  まとめ範囲記憶部
２４  キャッシュ部
１００  監視システム
【図１】
2020077309.tif 000003
【図２】
2020077309.tif 000004
【図３】
2020077309.tif 000005
【図４】
2020077309.tif 000006
【図５】
2020077309.tif 000007
【図６】
2020077309.tif 000008
【図７】
2020077309.tif 000009
【図８】
2020077309.tif 000010
【図９】
2020077309.tif 000011