(57)【特許請求の範囲】
【請求項１】
外部機器を制御するための制御プログラムを周期的に実行するプログラマブルコントローラとデータ通信することが可能であり、前記制御プログラムにより参照される記憶領域であるデバイスのデバイス値を表示するデバイスモニタ装置において、
前記プログラマブルコントローラから転送された、少なくとも２つのデバイスの時系列データを受信する受信制御部と、
該受信制御部で受信した少なくとも２つのデバイスの時系列データを記憶する受信メモリと、
該受信メモリに記憶されている２つのデバイスの時系列データに基づいて、二次元グラフを座標平面に表示するための表示画面を生成する表示画面生成部と
を備え、
前記表示画面生成部は、
前記受信メモリに記憶されている２つのデバイスの時系列データに基づき構成された複数のデバイス値セットのうち２つのデバイス値セットを比較した場合において、デバイス値が互いに一致している度合いを示す一致度合いに基づいて、２つのデバイスの時系列データの中から表示に必要なデバイス値セットを選択して前記二次元グラフの表示点数を削減する表示点数削減手段と、
該表示点数削減手段で選択されたデバイス値セットに基づいて、二次元グラフとして表示画面を生成する二次元グラフ生成手段と
を備えることを特徴とするデバイスモニタ装置。
【請求項２】
前記二次元グラフ生成手段は、選択されたデバイス値セットのうち、直近に選択されたデバイス値セットを基準として、表示するデバイス値セットを選択して表示点数の設定を受け付ける表示点数設定受付手段を備えることを特徴とする請求項１に記載のデバイスモニタ装置。
【請求項３】
ユーザによる入力を受け付ける入力受付手段を備え、
前記表示点数設定受付手段は、表示点数の設定を、前記入力受付手段を介する入力として受け付けることを特徴とする請求項２に記載のデバイスモニタ装置。
【請求項４】
前記表示画面生成部は、前記座標平面の座標軸で表示可能な範囲の変更を受け付ける範囲変更受付手段を備え、
前記表示点数削減手段は、変更を受け付けた座標軸で表示可能な範囲に対する前記デバイス値セットが示す座標位置に基づいて、前記二次元グラフの表示点数を削減することを特徴とする請求項１乃至３のいずれか一項に記載のデバイスモニタ装置。
【請求項５】
前記表示画面生成部は、選択された前記デバイス値セットに基づいて生成される２つの一次元グラフが、前記二次元グラフと対応付けて表示される表示画面を生成することを特徴とする請求項１乃至４のいずれか一項に記載のデバイスモニタ装置。
【請求項６】
前記外部機器は、少なくとも２つのモータ軸を駆動するモータ駆動装置であり、
前記プログラマブルコントローラは、前記デバイス値セットの時系列データとして、少なくとも２つのモータ軸の目標位置に応じたモータ軸ごとの指令値で構成された指令値セットの時系列データに基づいて、前記モータ駆動装置に指令信号を出力し、出力された指令信号に基づいて駆動される少なくとも２つのモータ軸それぞれの現在位置を示す現在値セットの時系列データを取得し、
前記受信制御部は、前記プログラマブルコントローラが取得した、少なくとも２つのモータ軸についての指令値セット及び現在値セットの双方の時系列データを受信し、前記受信メモリに記憶し、
前記表示画面生成部は、前記受信メモリに記憶されている２つのモータ軸についての指令値セット及び現在値セットの時系列データに基づいて、目標位置の軌跡を示す二次元グラフ及び現在位置の軌跡を示す二次元グラフを座標平面に表示するための表示画面を生成することを特徴とする請求項１乃至５のいずれか一項に記載のデバイスモニタ装置。
【請求項７】
前記表示画面生成部は、２つのモータ軸の目標位置に応じたモータ軸ごとの指令値で構成された指令値セットの時系列データに基づく目標位置の軌跡と、２つのモータ軸の現在値セットの時系列データに基づく現在位置の軌跡とが、同一座標平面に表示されるよう表示画面を生成することを特徴とする請求項６に記載のデバイスモニタ装置。
【請求項８】
前記現在値セットの時系列データに応じた現在位置の軌跡を調整する調整パラメータの設定を受け付ける設定受付手段と、
設定を受け付けた調整パラメータを前記プログラマブルコントローラへ送信する調整パラメータ送信手段と
を備え、
前記調整パラメータを受信した前記プログラマブルコントローラは、前記指令値セットの時系列データと受信した前記調整パラメータとに基づいて、前記モータ駆動装置に対して指令信号を出力することを特徴とする請求項６又は７に記載のデバイスモニタ装置。
【請求項９】
前記プログラマブルコントローラは、外部機器を制御するための制御プログラムを周期的に実行するＣＰＵユニットと、少なくとも２つのモータ軸を駆動するモータ駆動装置が接続され、前記ＣＰＵユニットとユニット間通信可能に接続されているモーションユニットとを備え、
前記モーションユニットは、前記デバイス値セットの時系列データとして、２つのモータ軸の目標位置に応じたモータ軸ごとの指令値で構成された指令値セットの時系列データに基づいて、前記モータ駆動装置に指令信号を出力し、出力された指令信号に基づいて駆動される２つのモータ軸それぞれの現在位置を示す現在値セットの時系列データを取得することを特徴とする請求項６乃至８のいずれか一項に記載のデバイスモニタ装置。
【請求項１０】
あらかじめ準備された複数の種類の線分を組み合わせてなる自由軌跡を前記座標平面に描画する描画手段と、
該描画手段で描画された自由軌跡から、目標位置及び該目標位置への到達方法を示すポイントパラメータを生成するパラメータ生成手段と
を備えることを特徴とする請求項１乃至９のいずれか一項に記載のデバイスモニタ装置。
【請求項１１】
外部機器を制御するための制御プログラムを周期的に実行するプログラマブルコントローラとデータ通信することが可能であり、前記制御プログラムにより参照される記憶領域であるデバイスのデバイス値を表示するデバイスモニタ装置で実行することが可能なコンピュータプログラムにおいて、
前記デバイスモニタ装置を、
前記プログラマブルコントローラから転送された、少なくとも２つのデバイスの時系列データを受信する受信制御手段、
該受信制御手段で受信した少なくとも２つのデバイスの時系列データを記憶する記憶手段、及び
該記憶手段に記憶されている２つのデバイスの時系列データに基づいて、二次元グラフを座標平面に表示するための表示画面を生成する表示画面生成手段
として機能させ、
前記表示画面生成手段を、
前記記憶手段に記憶されている２つのデバイスの時系列データに基づき構成された複数のデバイス値セットのうち２つのデバイス値セットを比較した場合において、デバイス値が互いに一致している度合いを示す一致度合いに基づいて、２つのデバイスの時系列データの中から表示に必要なデバイス値セットを選択して前記二次元グラフの表示点数を削減する表示点数削減手段、及び
該表示点数削減手段で選択されたデバイス値セットに基づいて、二次元グラフとして表示画面を生成する二次元グラフ生成手段
として機能させることを特徴とするコンピュータプログラム。
【請求項１２】
外部機器を制御するための制御プログラムを周期的に実行するプログラマブルコントローラと、
該プログラマブルコントローラとデータ通信することが可能であり、前記制御プログラムにより参照される記憶領域であるデバイスのデバイス値を表示するデバイスモニタ装置と
を備えるデバイスモニタシステムで実行することが可能なデバイスモニタ方法において、
前記プログラマブルコントローラは、
少なくとも２つのデバイスの時系列データをデータメモリに記憶する工程と、
該データメモリに記憶されている少なくとも２つのデバイスの時系列データを転送する工程と
を含み、
前記デバイスモニタ装置は、
前記プログラマブルコントローラから転送された、少なくとも２つのデバイスの時系列データを受信する工程と、
受信した少なくとも２つのデバイスの時系列データを受信メモリに記憶する工程と、
該受信メモリに記憶されている２つのデバイスの時系列データに基づいて、二次元グラフを座標平面に表示するための表示画面を生成する工程と
を含み、
前記受信メモリに記憶されている２つのデバイスの時系列データに基づき構成された複数のデバイス値セットのうち２つのデバイス値セットを比較した場合において、デバイス値が互いに一致している度合いを示す一致度合いに基づいて、２つのデバイスの時系列データの中から表示に必要なデバイス値セットを選択して前記二次元グラフの表示点数を削減し、
選択されたデバイス値セットに基づいて、二次元グラフとして表示画面を生成することを特徴とするデバイスモニタ方法。
【請求項１３】
外部機器を制御するための制御プログラムを周期的に実行するプログラマブルコントローラと、
該プログラマブルコントローラとデータ通信することが可能であり、前記制御プログラムにより参照される記憶領域であるデバイスのデバイス値を表示するデバイスモニタ装置と
を備えるデバイスモニタシステムにおいて、
前記プログラマブルコントローラは、
少なくとも２つのデバイスの時系列データを記憶するデータメモリと、
該データメモリに記憶されている少なくとも２つのデバイスの時系列データを転送する転送制御部と
を備え、
前記デバイスモニタ装置は、
前記プログラマブルコントローラから転送された、少なくとも２つのデバイスの時系列データを受信する受信制御部と、
該受信制御部で受信した少なくとも２つのデバイスの時系列データを記憶する受信メモリと、
該受信メモリに記憶されている２つのデバイスの時系列データに基づいて、二次元グラフを座標平面に表示するための表示画面を生成する表示画面生成部と
を備え、
前記表示画面生成部は、
前記受信メモリに記憶されている２つのデバイスの時系列データに基づき構成された複数のデバイス値セットのうち２つのデバイス値セットを比較した場合において、デバイス値が互いに一致している度合いを示す一致度合いに基づいて、２つのデバイスの時系列データの中から表示に必要なデバイス値セットを選択して前記二次元グラフの表示点数を削減する表示点数削減手段と、
該表示点数削減手段で選択されたデバイス値セットに基づいて、二次元グラフとして表示画面を生成する二次元グラフ生成手段と
を備えることを特徴とするデバイスモニタシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラ（以下、ＰＬＣ）の動作状態をデバイスごとにユーザが視認可能に表示するデバイスモニタ装置、デバイスモニタ方法、デバイスモニタシステム、及びデバイスモニタ装置で実行することが可能なコンピュータプログラムに関する。
【背景技術】
【０００２】
ＰＬＣは、ＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）制御システムにおいて広く使用されているシーケンス制御装置であり、ラダープログラムと呼ばれる専用プログラムに従って動作する。ＰＬＣの動作状態は、ＰＬＣにデバイスモニタ装置を接続することで、内部のデータをリアルタイムで取得して表示することができる。
【０００３】
例えば特許文献１では、平均書込速度と送信速度を含む平均読出速度との速度差に起因して生じるデータ欠落部分を効果的に埋め合わせることが可能なＰＬＣ動作表示システムが開示されている。特許文献１では、表示対象として指定されたデバイスごとにデバイス値に基づいて時系列的にデバイス波形が表示される。
【０００４】
例えば表示対象として、Ｘ軸方向に移動させるモータ及びＹ軸方向に移動させるモータの２つのデバイスが指定された場合、指定された２つのデバイスそれぞれのデバイス値に基づいて時系列的にデバイス波形が並列に画面表示される。したがって、２つのモータがどのように動作しているのかを時系列的に把握することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２８７５５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、例えば２つのモータに同期して移動する対象物（例えば工具、切削具等）が、二次元平面上で正しく移動しているか否か、すなわち対象物の移動軌跡がどのような移動軌跡を描いているかを目視で確認することは困難であるという問題点があった。また、単純に二軸のデバイス値を各軸とする座標平面上に移動軌跡を表示するだけでは、二次元グラフの表示負荷が大きく、リアルタイムに移動軌跡を表示することが困難であるという問題点もあった。
【０００７】
本発明は斯かる事情に鑑みてなされたものであり、ＰＬＣの動作状態をデバイスごとに表示する場合、リアルタイム性の低下を抑制しつつ、２つのデバイスの動作状態に基づく二次元グラフを表示することが可能なデバイスモニタ装置、デバイスモニタ方法、デバイスモニタシステム、及びデバイスモニタ装置で実行することが可能なコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために第１発明に係るデバイスモニタ装置は、外部機器を制御するための制御プログラムを周期的に実行するプログラマブルコントローラとデータ通信することが可能であり、前記制御プログラムにより参照される記憶領域であるデバイスのデバイス値を表示するデバイスモニタ装置において、前記プログラマブルコントローラから転送された、少なくとも２つのデバイスの時系列データを受信する受信制御部と、該受信制御部で受信した少なくとも２つのデバイスの時系列データを記憶する受信メモリと、該受信メモリに記憶されている２つのデバイスの時系列データに基づいて、二次元グラフを座標平面に表示するための表示画面を生成する表示画面生成部とを備え、前記表示画面生成部は、前記受信メモリに記憶されている２つのデバイスの時系列データに基づき構成された複数のデバイス値セットのうち２つのデバイス値セットを比較した場合において、デバイス値が互いに一致している度合いを示す一致度合いに基づいて、２つのデバイスの時系列データの中から表示に必要なデバイス値セットを選択して前記二次元グラフの表示点数を削減する表示点数削減手段と、該表示点数削減手段で選択されたデバイス値セットに基づいて、二次元グラフとして表示画面を生成する二次元グラフ生成手段とを備えることを特徴とする。
【０００９】
また、第２発明に係るデバイスモニタ装置は、第１発明において、前記二次元グラフ生成手段は、選択されたデバイス値セットのうち、直近に選択されたデバイス値セットを基準として、表示するデバイス値セットを選択して表示点数の設定を受け付ける表示点数設定受付手段を備えることが好ましい。
【００１０】
また、第３発明に係るデバイスモニタ装置は、第２発明において、ユーザによる入力を受け付ける入力受付手段を備え、前記表示点数設定受付手段は、表示点数の設定を、前記入力受付手段を介する入力として受け付けることが好ましい。
【００１１】
また、第４発明に係るデバイスモニタ装置は、第１乃至第３発明のいずれか１つにおいて、前記表示画面生成部は、前記座標平面の座標軸で表示可能な範囲の変更を受け付ける範囲変更受付手段を備え、前記表示点数削減手段は、変更を受け付けた座標軸で表示可能な範囲に対する前記デバイス値セットが示す座標位置に基づいて、前記二次元グラフの表示点数を削減することが好ましい。
【００１２】
また、第５発明に係るデバイスモニタ装置は、第１乃至第４発明のいずれか１つにおいて、前記表示画面生成部が、選択された前記デバイス値セットに基づいて生成される２つの一次元グラフが、前記二次元グラフと対応付けて表示される表示画面を生成することが好ましい。
【００１３】
また、第６発明に係るデバイスモニタ装置は、第１乃至第５発明のいずれか１つにおいて、前記外部機器は、少なくとも２つのモータ軸を駆動するモータ駆動装置であり、前記プログラマブルコントローラは、前記デバイス値セットの時系列データとして、少なくとも２つのモータ軸の目標位置に応じたモータ軸ごとの指令値で構成された指令値セットの時系列データに基づいて、前記モータ駆動装置に指令信号を出力し、出力された指令信号に基づいて駆動される少なくとも２つのモータ軸それぞれの現在位置を示す現在値セットの時系列データを取得し、前記受信制御部は、前記プログラマブルコントローラが取得した、少なくとも２つのモータ軸についての指令値セット及び現在値セットの双方の時系列データを受信し、前記受信メモリに記憶し、前記表示画面生成部は、前記受信メモリに記憶されている２つのモータ軸についての指令値セット及び現在値セットの時系列データに基づいて、目標位置の軌跡を示す二次元グラフ及び現在位置の軌跡を示す二次元グラフを座標平面に表示するための表示画面を生成することが好ましい。
【００１４】
また、第７発明に係るデバイスモニタ装置は、第６発明において、前記表示画面生成部は、２つのモータ軸の目標位置に応じたモータ軸ごとの指令値で構成された指令値セットの時系列データに基づく目標位置の軌跡と、２つのモータ軸の現在値セットの時系列データに基づく現在位置の軌跡とが、同一座標平面に表示されるよう表示画面を生成することが好ましい。
【００１５】
また、第８発明に係るデバイスモニタ装置は、第６又は第７発明において、前記現在値セットの時系列データに応じた現在位置の軌跡を調整する調整パラメータの設定を受け付ける設定受付手段と、設定を受け付けた調整パラメータを前記プログラマブルコントローラへ送信する調整パラメータ送信手段とを備え、前記調整パラメータを受信した前記プログラマブルコントローラは、前記指令値セットの時系列データと受信した前記調整パラメータとに基づいて、前記モータ駆動装置に対して指令信号を出力することが好ましい。
【００１６】
また、第９発明に係るデバイスモニタ装置は、第６乃至第８発明のいずれか１つにおいて、前記プログラマブルコントローラは、外部機器を制御するための制御プログラムを周期的に実行するＣＰＵユニットと、少なくとも２つのモータ軸を駆動するモータ駆動装置が接続され、前記ＣＰＵユニットとユニット間通信可能に接続されているモーションユニットとを備え、前記モーションユニットは、前記デバイス値セットの時系列データとして、２つのモータ軸の目標位置に応じたモータ軸ごとの指令値で構成された指令値セットの時系列データに基づいて、前記モータ駆動装置に指令信号を出力し、出力された指令信号に基づいて駆動される２つのモータ軸それぞれの現在位置を示す現在値セットの時系列データを取得することが好ましい。
【００１７】
また、第１０発明に係るデバイスモニタ装置は、第１乃至第９発明のいずれか１つにおいて、あらかじめ準備された複数の種類の線分を組み合わせてなる自由軌跡を前記座標平面に描画する描画手段と、該描画手段で描画された自由軌跡から、目標位置及び該目標位置への到達方法を示すポイントパラメータを生成するパラメータ生成手段とを備えることが好ましい。
【００１８】
次に、上記目的を達成するために第１１発明に係るコンピュータプログラムは、外部機器を制御するための制御プログラムを周期的に実行するプログラマブルコントローラとデータ通信することが可能であり、前記制御プログラムにより参照される記憶領域であるデバイスのデバイス値を表示するデバイスモニタ装置で実行することが可能なコンピュータプログラムにおいて、前記デバイスモニタ装置を、前記プログラマブルコントローラから転送された、少なくとも２つのデバイスの時系列データを受信する受信制御手段、該受信制御手段で受信した少なくとも２つのデバイスの時系列データを記憶する記憶手段、及び該記憶手段に記憶されている２つのデバイスの時系列データに基づいて、二次元グラフを座標平面に表示するための表示画面を生成する表示画面生成手段として機能させ、前記表示画面生成手段を、前記記憶手段に記憶されている２つのデバイスの時系列データに基づき構成された複数のデバイス値セットのうち２つのデバイス値セットを比較した場合において、デバイス値が互いに一致している度合いを示す一致度合いに基づいて、２つのデバイスの時系列データの中から表示に必要なデバイス値セットを選択して前記二次元グラフの表示点数を削減する表示点数削減手段、及び該表示点数削減手段で選択されたデバイス値セットに基づいて、二次元グラフとして表示画面を生成する二次元グラフ生成手段として機能させることを特徴とする。
【００１９】
次に、上記目的を達成するために第１２発明に係るデバイスモニタ方法は、外部機器を制御するための制御プログラムを周期的に実行するプログラマブルコントローラと、該プログラマブルコントローラとデータ通信することが可能であり、前記制御プログラムにより参照される記憶領域であるデバイスのデバイス値を表示するデバイスモニタ装置とを備えるデバイスモニタシステムで実行することが可能なデバイスモニタ方法において、前記プログラマブルコントローラは、少なくとも２つのデバイスの時系列データをデータメモリに記憶する工程と、該データメモリに記憶されている少なくとも２つのデバイスの時系列データを転送する工程とを含み、前記デバイスモニタ装置は、前記プログラマブルコントローラから転送された、少なくとも２つのデバイスの時系列データを受信する工程と、受信した少なくとも２つのデバイスの時系列データを受信メモリに記憶する工程と、該受信メモリに記憶されている２つのデバイスの時系列データに基づき構成された複数のデバイス値セットのうち２つのデバイス値セットを比較した場合において、デバイス値が互いに一致している度合いを示す一致度合いに基づいて、２つのデバイスの時系列データの中から表示に必要なデバイス値セットを選択して前記二次元グラフの表示点数を削減し、選択されたデバイス値セットに基づいて、二次元グラフとして表示画面を生成することを特徴とする。
【００２０】
次に、上記目的を達成するために第１３発明に係るデバイスモニタシステムは、外部機器を制御するための制御プログラムを周期的に実行するプログラマブルコントローラと、該プログラマブルコントローラとデータ通信することが可能であり、前記制御プログラムにより参照される記憶領域であるデバイスのデバイス値を表示するデバイスモニタ装置とを備えるデバイスモニタシステムにおいて、前記プログラマブルコントローラは、少なくとも２つのデバイスの時系列データを記憶するデータメモリと、該データメモリに記憶されている少なくとも２つのデバイスの時系列データを転送する転送制御部とを備え、前記デバイスモニタ装置は、前記プログラマブルコントローラから転送された、少なくとも２つのデバイスの時系列データを受信する受信制御部と、該受信制御部で受信した少なくとも２つのデバイスの時系列データを記憶する受信メモリと、該受信メモリに記憶されている２つのデバイスの時系列データに基づいて、二次元グラフを座標平面に表示するための表示画面を生成する表示画面生成部とを備え、前記表示画面生成部は、前記受信メモリに記憶されている２つのデバイスの時系列データに基づき構成された複数のデバイス値セットのうち２つのデバイス値セットを比較した場合において、デバイス値が互いに一致している度合いを示す一致度合いに基づいて、２つのデバイスの時系列データの中から表示に必要なデバイス値セットを選択して前記二次元グラフの表示点数を削減する表示点数削減手段と、該表示点数削減手段で選択されたデバイス値セットに基づいて、二次元グラフとして表示画面を生成する二次元グラフ生成手段とを備えることを特徴とする。
【００２１】
第１発明、第１１発明、第１２発明及び第１３発明では、プログラマブルコントローラは、少なくとも２つのデバイスの時系列データをデータメモリに記憶し、データメモリに記憶されている少なくとも２つのデバイスの時系列データを転送する。デバイスモニタ装置は、プログラマブルコントローラから転送された、少なくとも２つのデバイスの時系列データを受信し、受信した少なくとも２つのデバイスの時系列データを記憶する。記憶されている２つのデバイスの時系列データに基づいて、二次元グラフを座標平面に表示するための表示画面を生成する。具体的には、記憶されている２つのデバイスの時系列データに基づき構成された複数のデバイス値セットのうち２つのデバイス値セットを比較した場合において、デバイス値が互いに一致している度合いを示す一致度合いに基づいて、２つのデバイスの時系列データの中から表示に必要なデバイス値セットを選択して二次元グラフの表示点数を削減し、選択されたデバイス値セットに基づいて、二次元グラフとして表示画面を生成する。これにより、二次元グラフの表示点数を削減して座標平面の座標軸に応じて表示することができるので、二次元グラフの表示負荷を軽減することができ、例えば現在位置の軌跡をリアルタイム性を維持しながら二次元グラフとして表示することが可能となる。なお、データメモリは記憶領域が複数の小領域に分割されており、分割された小領域を「デバイス」と呼ぶ。また、ラダープログラムにより、デバイスに格納されたデータ（デバイス値）に関する演算処理が実行される。
【００２２】
第２発明では、選択されたデバイス値セットのうち、直近に選択されたデバイス値セットを基準として、表示するデバイス値セットを選択して表示点数の設定を受け付ける。これにより、例えば直近のデバイス値セットから遡って何セットのデバイス値セット分を二次元グラフとして表示するかの設定を受け付けることができ、表示点数を少なくすることで二次元グラフの表示のリアルタイム性を確保することが可能となる。
【００２３】
第３発明では、表示点数の設定をユーザによる入力として受け付けるので、ユーザの希望により所望の表示点数を設定することが可能となる。
【００２４】
第４発明では、座標平面の座標軸で表示可能な範囲の変更を受け付け、変更を受け付けた座標軸で表示可能な範囲に対するデバイス値セットが示す座標位置に基づいて、二次元グラフの表示点数を削減する。これにより、座標平面内の座標軸で示される表示可能な範囲をリアルタイムで変更することが可能となる。
【００２５】
第５発明では、選択された前記デバイス値セットに基づいて生成される２つの一次元グラフが、二次元グラフと対応付けて表示される表示画面を生成する。これにより、一次元グラフと二次元グラフとを対応付けて表示できるので、２つのデバイスの動きをより正しく把握することが可能となる。
【００２６】
第６発明では、プログラマブルコントローラは、少なくとも２つのモータ軸の目標位置に応じたモータ軸ごとの指令値で構成された指令値セットの時系列データに基づいて、モータ駆動装置に指令信号を出力し、出力された指令信号に基づいて駆動される少なくとも２つのモータ軸それぞれの現在位置を示す現在値セットの時系列データを取得する。プログラマブルコントローラが取得した、少なくとも２つのモータ軸についての指令値セット及び現在値セットの双方の時系列データを受信し、受信メモリに記憶し、受信メモリに記憶されている２つのモータ軸についての指令値セット及び現在値セットの時系列データに基づいて、目標位置の軌跡を示す二次元グラフ及び現在位置の軌跡を示す二次元グラフを座標平面に表示するための表示画面を生成する。これにより、２つのモータ軸を用いたモーション制御に適用した場合であっても、現在位置の軌跡が目標位置の軌跡と合致しているか否かをリアルタイムに確認することが可能となる。
【００２７】
第７発明では、２つのモータ軸の目標位置に応じたモータ軸ごとの指令値で構成された指令値セットの時系列データに基づく目標位置の軌跡と、２つのモータ軸の現在値セットの時系列データに基づく現在位置の軌跡とが、同一座標平面に表示されるよう表示画面を生成する。目標位置の軌跡と現在位置の軌跡とを比較することにより、現在位置の軌跡の妥当性を評価することが可能となる。
【００２８】
第８発明では、現在値セットの時系列データに応じた現在位置の軌跡を調整する調整パラメータの設定を受け付け、設定を受け付けた調整パラメータをプログラマブルコントローラへ送信する。調整パラメータを受信したプログラマブルコントローラは、指令値セットの時系列データと受信した調整パラメータとに基づいて、モータ駆動装置に対して指令信号を出力する。これにより、目標位置の軌跡と現在位置の軌跡とを目視で確認しながら、現在位置が目標位置へ近づくようにリアルタイムに調整することが可能となる。
【００２９】
第９発明では、プログラマブルコントローラは、外部機器を制御するための制御プログラムを周期的に実行するＣＰＵユニットと、少なくとも２つのモータ軸を駆動するモータ駆動装置が接続され、ＣＰＵユニットとユニット間通信可能に接続されているモーションユニットとを備えている。モーションユニットは、デバイス値セットの時系列データとして、２つのモータ軸の目標位置に応じたモータ軸ごとの指令値で構成された指令値セットの時系列データに基づいて、モータ駆動装置に指令信号を出力し、出力された指令信号に基づいて駆動される２つのモータ軸それぞれの現在位置を示す現在値セットの時系列データを取得する。これにより、ＣＰＵユニットとモーションユニットとを別個に構成することで、ＣＰＵユニットの処理負荷を大きく低減することが可能となる。
【００３０】
第１０発明では、あらかじめ準備された複数の種類の線分を組み合わせてなる自由軌跡を座標平面に描画し、描画された自由軌跡から、目標位置及び該目標位置への到達方法を示すポイントパラメータを生成する。これにより、軌跡を座標平面に自由に描画することで、描画された軌跡を描くためのポイントパラメータを生成することができる。
【発明の効果】
【００３１】
本発明によれば、二次元グラフの表示点数を削減して座標平面の座標軸に応じて表示することができるので、二次元グラフの表示負荷を軽減することができ、例えば現在位置の軌跡をリアルタイム性を維持しながら二次元グラフとして表示することが可能となる。
【図面の簡単な説明】
【００３２】
【図１】本発明の実施の形態に係るデバイスモニタ装置を用いた、プログラマブルコントローラの動作を表示するデバイスモニタシステムの構成例を示すブロック図である。
【図２】本発明の実施の形態に係るデバイスモニタ装置と接続されているＰＬＣの構成例を示すブロック図である。
【図３】本発明の実施の形態に係るデバイスモニタ装置の、ＣＰＵ等の制御部を用いた場合の構成を示すブロック図である。
【図４】本発明の実施の形態に係るデバイスモニタ装置の機能を示す機能ブロック図である。
【図５】本発明の実施の形態に係るデバイスモニタシステムの指令値セットの例示図である。
【図６】本発明の実施の形態に係るデバイスモニタ装置の表示点数削減処理の説明図である。
【図７】本発明の実施の形態に係るデバイスモニタ装置の一部を拡大した場合の表示画面の例示図である。
【図８】本発明の実施の形態に係るデバイスモニタ装置の表示点数削減処理の他の説明図である。
【図９】本発明の実施の形態に係るデバイスモニタ装置で表示される散布図の例示図である。
【図１０】本発明の実施の形態に係るデバイスモニタ装置の表示画面の例示図である。
【図１１】本発明の実施の形態に係るデバイスモニタ装置の表示点数を制限する表示画面の例示図である。
【図１２】本発明の実施の形態に係るデバイスモニタ装置のグラフ切替画面の例示図である。
【図１３】本発明の実施の形態に係るデバイスモニタ装置のパラメータ調整前の表示画面の例示図である。
【図１４】本発明の実施の形態に係るデバイスモニタ装置の調整パラメータ「速度」を変更した場合の表示画面の例示図である。
【図１５】本発明の実施の形態に係るデバイスモニタ装置の調整パラメータ「応答性」を変更した場合の表示画面の例示図である。
【図１６】本発明の実施の形態に係るデバイスモニタ装置の調整パラメータ「指令値」を変更した場合の表示画面の例示図である。
【図１７】本発明の実施の形態に係るデバイスモニタ装置のポイントパラメータ生成画面の例示図である。
【図１８】本発明の実施の形態に係るデバイスモニタ装置の制御部のデバイス値取得の処理手順を示すフローチャートである。
【図１９】本発明の実施の形態に係るデバイスモニタ装置の制御部の二次元グラフ表示制御の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００３３】
以下、本発明の実施の形態に係るデバイスモニタ装置について、図面に基づいて具体的に説明する。図１は、本発明の実施の形態に係るデバイスモニタ装置を用いた、プログラマブルコントローラ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ：以下、ＰＬＣ）の動作を表示するデバイスモニタシステムの構成例を示すブロック図である。図１に示すように、本実施の形態では、ＰＬＣ１にデバイスモニタ装置２が接続されている。
【００３４】
ＰＬＣ１は、各種のセンサ、リレー接点、エンコーダ、スイッチ等の入力装置３と、モータ、ランプ、ソレノイド等の出力装置４とも接続されており、入力装置３からの入力信号に基づいて、出力装置４への出力信号を生成する。ＰＬＣ１の動作は、ＰＬＣ１内に記憶されているラダープログラムによって決定される。
【００３５】
より具体的には、ＰＬＣ１は、ＰＬＣ１全体の制御を司るＣＰＵユニットと、ＣＰＵユニットに着脱可能に接続される一又は複数の拡張ユニットとで構成されている。ＣＰＵユニットは、表示部及び操作部を備える。表示部は、ＣＰＵユニットに接続されている各拡張ユニットの動作状況等を表示し、表示部の表示内容は、操作部を操作することにより切り替えることができる。表示部には、通常、ラダープログラムにより参照されるデバイスの現在値（デバイス値）、ＰＬＣ１内で生じたエラー情報等が表示される。つまり、ＣＰＵユニットは、操作部を介したユーザ操作に基づいて、表示部に所望のデバイス値を表示させたり、そのデバイス値を他の値（ユーザの所望の値）に変更（編集）したりする機能を有する。
【００３６】
ＰＬＣ１の動作モードは、ユーザによって運用モード又は非運用モード（設定モード）に切り替えられる。運用モード時には、ラダープログラムが周期的に繰り返し実行され、非運用モード時には、ラダープログラムの実行は停止している。
【００３７】
デバイスモニタ装置２は、動作モード中のＰＬＣ１内のデバイス値をリアルタイムで読み出し、一次元グラフとして波形表示あるいは二次元グラフとして軌跡表示するための端末装置である。専用の端末装置であっても良いし、パーソナルコンピュータに専用ソフトウェアをインストールすることによって実現しても良い。デバイスモニタ装置２を用いて、監視対象となるデバイスを予め指定しておくことにより、動作モード中のＰＬＣ１から、指定したデバイスに関し、時系列的に変化するデバイス値を繰り返し読み出して画面表示する。なお、本実施の形態では、デバイスモニタ装置２はＰＬＣ１のＣＰＵユニットに接続される構成としているが、本発明は特にこれに限定されるものではなく、ＰＬＣ１の拡張ユニット等に接続される構成としても良い。
【００３８】
図２は、本発明の実施の形態に係るデバイスモニタ装置２と接続されているＰＬＣ１の構成例を示すブロック図である。本実施の形態に係るＰＬＣ１は、ＣＰＵユニット１ａと拡張ユニット１ｂとで構成されている。ＣＰＵユニット１ａと拡張ユニット１ｂとで機能を分散することにより、ＣＰＵユニット１ａの処理負荷を大きく低減することが可能となる。
【００３９】
拡張ユニット１ｂの種類は、特に限定されるものではない。本実施の形態では、拡張ユニット１ｂが、少なくとも２つのモータ軸の動作を制御するモーションユニットである場合について説明する。もちろん、ＣＰＵユニット１ａと拡張ユニット１ｂとで機能を分散せず、単体のＰＬＣ１で構成されていても良いことは言うまでもない。
【００４０】
また、図２の例では、２つのモータ軸の動作（モーション）を制御する。すなわち、モータ軸を駆動させるサーボモータの動作を制御するサーボアンプＡ、サーボアンプＢを備えている。本実施の形態では、サーボアンプＡ、サーボアンプＢを別個独立に備えているが、特に斯かる構成に限定されるものではなく、１個のサーボアンプに、サーボアンプＡ及びサーボアンプＢの両方の機能を持たせるようにしても良い。
【００４１】
図２に示すように、本発明の実施の形態に係るＰＬＣ１のプログラム実行部１０１は、記憶されているラダープログラム８に基づいて、デバイスメモリ（データメモリ）１０２を参照して演算処理を実行し、演算処理結果をデバイスメモリ１０２に記憶する。なお、デバイスメモリ１０２には、外部機器から取得したデータが記憶されている。
【００４２】
記憶されているラダープログラム８は、複数の命令コードからなり、シーケンス制御の手順を規定しているプログラムである。ラダープログラム８は、図示しないプログラム作成装置を用いてユーザによって作成され、ＰＬＣ１へ転送されている。なお、本実施の形態に係るデバイスモニタ装置２において、ユーザによってラダープログラム８が作成され、作成されたラダープログラム８がデバイスモニタ装置２からＰＬＣ１へ転送されても良い。この場合、デバイスモニタ装置２は、ラダープログラム８に対する編集機能を有するプログラム作成支援装置としても機能する。
【００４３】
プログラム実行部１０１は、記憶されているラダープログラム８に基づいて演算処理を実行する。演算処理は、デバイスメモリ１０２を参照して行われ、演算処理結果もデバイスメモリ１０２に記憶される。運用モード時には、プログラム実行部１０１によって、ラダープログラム８が周期的に繰り返し実行される。ラダープログラム８を１回実行することを「スキャン」と呼び、運用モード中はラダープログラム８のスキャンが繰り返される。一方、非運用モード時には、ラダープログラム８のスキャンは停止される。
【００４４】
デバイスメモリ１０２は、記憶領域が複数の小領域に分割されている。分割された小領域を「デバイス」と呼び、１つのデバイスは、通常、１ビット又は１ワード若しくは複数ワードの記憶容量からなる。換言すれば、例えばオン／オフのように１ビットのデバイス値を記憶する記憶領域（仮想記憶領域）であるデバイスをリレーデバイスと呼び（ビットデバイスとも呼ぶ）、アナログ値‘１５０’のように１ワード若しくは複数ワードのデバイス値（アナログ値）を記憶する記憶領域（仮想記憶領域）であるデバイスをワードデバイスと呼ぶ。ラダープログラム８には、参照すべきデバイスが記述されているとともに、デバイスに格納されたデータ（デバイス値）に関する演算処理が記述されている。つまり、ラダープログラム８には、デバイスメモリ１０２からデバイス値を読み出し、読み出したデバイス値に基づいて演算処理を行い、演算結果をデバイスメモリ１０２にデバイス値として書き込む手順が記述されている。
【００４５】
「スキャン」と「デバイス」との関係について補足する。１回のスキャンには、ユニット間通信、上述したラダープログラム８の実行、ＥＮＤ処理等が含まれる。ユニット間通信では、ＣＰＵユニット１ａは、拡張ユニット１ｂとの間で通信を行い、サーボアンプＡ、サーボアンプＢからの受信データを含む入力データを拡張ユニット１ｂからデバイスメモリ１０２に取り込み（入力リフレッシュ）、ラダープログラム８を実行して得られた出力データをデバイスメモリ１０２から拡張ユニット１ｂに送信する（出力リフレッシュ）。ＥＮＤ処理では、ＣＰＵユニット１ａは、システムのエラーチェック等の周辺サービスに関する処理全般を行う。
【００４６】
なお、上述したユニット間通信により、ＣＰＵユニット１ａのデバイスメモリ１０２に記憶されるデバイス値と、拡張ユニット１ｂのバッファメモリ１０９に記憶されるデバイス値とを同期させることができる。これにより、デバイスの時系列データがバッファメモリ１０９に記憶されていれば、デバイスメモリ１０２は、同等の時系列データを記憶することができる。そして、転送制御部１０３は、デバイスモニタ装置２からのデータ読出要求に基づいて、デバイスメモリ１０２に記憶されている２つのデバイスの時系列データをデバイスモニタ装置２へ転送しても良い。
【００４７】
しかし、デバイスメモリ１０２を経由してデバイスモニタ装置２へ転送することが必須となると、スキャンタイムよりも短い時間でのデータ転送が難しくなり、リアルタイム性が低下するおそれがある。
【００４８】
そこで、本実施の形態では、転送制御部１０３は、プログラム実行部１０１と独立して動作するように構成し、デバイスモニタ装置２からのデータ読出要求を、拡張ユニット１ｂのデータ通信部１０６に転送する。そして、データ通信部１０６は、後述するデータ書込部１０４によってモニタリングメモリ１０５に書き込まれた、少なくとも２つのデバイスの時系列データを読み出し、転送制御部１０３を介してデバイスモニタ装置２へ出力する。これにより、デバイスモニタ装置２は、ＣＰＵユニット１ａにおけるスキャン動作とは並列に（独立して）、モニタリングメモリ１０５に記憶された少なくとも２つのデバイスの時系列データを取得することができるので、リアルタイム性を向上させることができる。
【００４９】
なお、データ通信部１０６がモニタリングメモリ１０５から時系列データを読み出す場合、モニタリングメモリ１０５に書き込まれているすべての時系列データを読み出す。また、データ通信部１０６がデータを読み出す読出周期の期間内に、モニタリングメモリ１０５の記憶容量を超えないように、データ書込部１０４の書込速度が調整される。これにより、時系列データの欠落を防ぐことができる。
【００５０】
本実施の形態では、デバイスメモリ１０２には、少なくとも２つのデバイスの時系列データを記憶する。そして、転送制御部１０３は、デバイスメモリ１０２に記憶されている２つのデバイスの時系列データをデバイスモニタ装置２へ転送する。また、上述したように、転送制御部１０３は、デバイスモニタ装置２からのラダー読出要求に基づいて、ＣＰＵユニット１ａに記憶されているラダープログラム８を送信することが可能である。そして、デバイスモニタ装置２において編集されたラダープログラム８は、転送制御部１０３を介して再びＣＰＵユニット１ａに記憶される。
【００５１】
拡張ユニット（モーションユニット）１ｂのトレース設定部１１０は、監視対象となるデバイスの設定、デバイス値を取得する周期の設定等を受け付ける。データ書込部１０４は、監視対象に指定されたデバイスのデバイス値をバッファメモリ１０９からモニタリングメモリ１０５へ書き込む。データ通信部１０６は、上述したようにデバイスモニタ装置２からのデータ読出要求に基づいて、モニタリングメモリ１０５内のモニタデータを読み出してデバイスモニタ装置２へ転送制御部１０３を介して送信する。ここでは、一定量（例えば４ＫＢ）のデータをまとめて読み出し、デバイスモニタ装置２へ出力している。
【００５２】
なお、トレース設定部１１０において受け付ける、監視対象となるデバイスの設定、デバイス値を取得する周期の設定等は、デバイスモニタ装置２から受信することができる。すなわち、拡張ユニット１ｂは、直接又はＣＰＵユニット１ａを介してデバイスモニタ装置２と通信可能に構成され（例えばデータ通信部１０６により構成されても良いし、別途、設定通信部なるものが設けられても良い。）、デバイスモニタ装置２において設定された各種設定が拡張ユニット１ｂに送られるとともに、拡張ユニット１ｂに記憶されている各種設定がデバイスモニタ装置２によって読み出される。
【００５３】
モニタリングメモリ１０５は、データ書込部１０４によって書き込まれたデータを記憶する。モニタリングメモリ１０５には、例えばリングバッファが用いられる。リングバッファとは、連続する有限のメモリ空間の両端を仮想的につないで、無限に連続するメモリ空間として使用するバッファである。例えば、アドレスを順にインクリメントしてアクセスしていく場合、最後のアドレスに対しアクセスした後は、再び最初のアドレスに戻り、当該最初のアドレスに対しアクセスするという使い方がなされる。
【００５４】
モーション設定部１０７は、２つのモータ軸の動作内容の設定を受け付ける。モーション制御部１０８は、モーション設定部１０７で設定を受け付けた動作内容に従って、指令値、その他のデータをモータ駆動装置であるサーボアンプＡ、サーボアンプＢへ送信する。サーボアンプＡ、サーボアンプＢは、モーション制御部１０８を介してそれぞれ指令値を受け取り、モータ軸を回転させるサーボモータの動作を制御する。
【００５５】
なお、モーション設定部１０７において受け付ける、モータ軸の動作内容の設定等は、デバイスモニタ装置２から受信することができる。すなわち、拡張ユニット１ｂは、直接又はＣＰＵユニット１ａを介してデバイスモニタ装置２と通信可能に構成され（例えばデータ通信部１０６により構成されても良いし、別途、設定通信部なるものが設けられても良い。）、デバイスモニタ装置２において設定された各種設定が拡張ユニット１ｂに送られるとともに、拡張ユニット１ｂに記憶されている各種設定がデバイスモニタ装置２によって読み出される。
【００５６】
モーション制御部１０８は、サーボモータの動作によるモータ軸の現在位置を示す現在値、及びその他のデータを取得し、指令値とともにバッファメモリ１０９に記憶する。バッファメモリ１０９内には、一連の指令値で構成される指令値セット、それぞれの指令値に対する現在値で構成される現在値セット（デバイス値セット）として記憶されている。
【００５７】
なお、モーション制御部１０８は、デバイスモニタ装置２から受信したポイントパラメータ及び／又は到達方法（詳細は後述）がモーション設定部１０７により設定されると、設定されたポイントパラメータ及び／又は到達方法に基づいて、モータ軸を制御するための指令値を生成する。すなわち、モーション制御部１０８は、ポイントパラメータに基づいてモータ軸に対する指令値を生成する機能を有している。
【００５８】
図３は、本発明の実施の形態に係るデバイスモニタ装置２の、ＣＰＵ等の制御部を用いた場合の構成を示すブロック図である。図３に示すように、本実施の形態に係るデバイスモニタ装置２は、少なくとも制御部（ＣＰＵ）２１、メモリ２２、ハードディスク等の記憶装置２３、Ｉ／Ｏインタフェース２４、ビデオインタフェース２５、通信インタフェース２６、可搬型ディスクドライブ２７及び上述したハードウェアを接続する内部バス２８で構成されている。
【００５９】
制御部２１は、内部バス２８を介してデバイスモニタ装置２の上述したようなハードウェア各部と接続されており、上述したハードウェア各部の動作を制御するとともに、記憶装置２３に記憶しているコンピュータプログラム１００に従って、種々のソフトウェア的機能を実行する。メモリ２２は、ＳＲＡＭ、ＳＤＲＡＭ等の揮発性メモリで構成され、コンピュータプログラム１００の実行時にロードモジュールが展開され、コンピュータプログラム１００の実行時に発生する一時的なデータ等を記憶する。また、メモリ２２は記憶領域が、ＰＬＣ１のデバイスと同じ大きさの複数の小領域（以下、デバイス）に分割されている。
【００６０】
記憶装置２３は、内蔵される固定型記憶装置（ハードディスク）、ＲＯＭ等で構成されている。記憶装置２３に記憶しているコンピュータプログラム１００は、プログラム及びデータ等の情報を記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体９０から、可搬型ディスクドライブ２７によりダウンロードされ、実行時には記憶装置２３からメモリ２２へ展開して実行される。もちろん、通信インタフェース２６を介してネットワークに接続されている外部のコンピュータからダウンロードされたコンピュータプログラムであっても良い。
【００６１】
Ｉ／Ｏインタフェース２４は、キーボード２４１、マウス２４２等の入力装置と接続され、データの入力を受け付ける。また、ビデオインタフェース２５は、ＣＲＴモニタ、ＬＣＤ等の表示装置２５１と接続され、所定の画像を表示する。
【００６２】
通信インタフェース２６は内部バス２８に接続されており、インターネット、ＬＡＮ、ＷＡＮ等の外部のネットワークに接続されることにより、外部のコンピュータ等とデータ送受信することが可能となっている。また、通信線を介してＰＬＣ１へデータ送受信することが可能となっている。
【００６３】
図４は、本発明の実施の形態に係るデバイスモニタ装置２の機能を示す機能ブロック図である。図４において、デバイスモニタ装置２の受信制御部２０１は、ＰＬＣ１へデータ読出要求を送信し、ＰＬＣ１内のモニタリングメモリ１０５からモニタデータ（時系列データ）を取得する。デバイス値記憶部２０２は、ＰＬＣ１から取得したモニタデータをデバイス２２１ごとにメモリ（受信メモリ）２２に記憶する。記憶されるモニタデータは、前述したデバイス２２１ごとの指令値セット、デバイスごとの現在値セット、その他のデータである。
【００６４】
その他のデータとしては、ＣＰＵユニット１ａに記憶されたラダープログラム８等も含まれる。上述したように、本実施の形態に係るデバイスモニタ装置２は、ラダープログラム８の編集機能を有するプログラム作成支援装置として機能しても良く、この場合、ＰＬＣ１内のラダープログラム８を読み出し、編集した後、再びＰＬＣ１に送り込むことが可能となる。
【００６５】
一般に、ＰＬＣのユーザは、プログラム作成支援装置に記憶されているラダープログラムではなく、実際に運用しているＰＬＣ１内に記憶されているラダープログラムを、マスタープログラムとして扱い、重視している（プログラム作成支援装置に記憶されているラダープログラムは、ＰＬＣ１に送り込んだ後に、誰かが編集した可能性があり、実際に運用しているラダープログラムと齟齬があるかもしれないからである）。このような事情から、本実施の形態においても、現在値セットだけでなく、指令値セットをＰＬＣ１内から読み出すことにも大きな意義がある。
【００６６】
言い換えると、本実施の形態では、デバイスモニタ装置２内に記憶されている指令値セットと、ＰＬＣ１内に記憶されている現在値セットとを表示させるのではなく、ＰＬＣ１内に記憶されている指令値セットと、ＰＬＣ１内に記憶されている現在値セットとを表示させるようにしている。これにより、実際に運用している指令値及び現在値（ＰＬＣ１内に記憶されたマスター値）に応じたデバイスモニタリングが可能となる。
【００６７】
図５は、本発明の実施の形態に係るデバイスモニタシステムの指令値セットの例示図である。図５（ａ）は、原点（０，０）を起点とした移動軌跡の目標位置の座標値の例示図であり、図５（ｂ）は、指令値セットの例示図である。
【００６８】
図５に示すように、本実施の形態に係る指令値セットは、ポイントパラメータ及び到達方法と対応付けて記憶される（モーション設定部１０７は、これらの情報を記憶するメモリを有する）。「ポイントパラメータ」は、ＸＹ座標系における移動先の座標値（ｘ，ｙ）と、次のポイントパラメータまでの到達方法とを含んでいる。図５に示す本実施の形態では、直線移動を例示しているので、「到達方法」は「直線」となっているが、もちろんこれに限定されるものではない。例えば、「円弧」、「円」等であっても良い。
【００６９】
「指令値セット」は、それぞれ、直近の座標値からポイントパラメータが示す座標値までの移動軌跡を示す座標値が指定される。
【００７０】
現在値セットのデータ形式は、指令値セットと同様のデータ形式である。ただし、図５とは異なり、移動先の座標値や到達方法は含まれない。指令値に応じた移動軌跡を示しているからである。
【００７１】
図４に戻って、表示画面生成部２０３は、メモリ２２に記憶されている２つのデバイス、ここでは２つのモータ軸の時系列データ（現在値セット）に基づいて、二次元グラフを座標平面に表示するための表示画面を生成する。表示画面生成部２０３は、表示点数削減部２０４及び二次元グラフ生成部２０５を備えている。
【００７２】
表示点数削減部２０４は、メモリ２２に記憶されている２つのデバイスの時系列データに基づき構成された複数のデバイス値セットのうち２つのデバイス値セットを比較した場合において、デバイス値が互いに一致している度合いを示す一致度合いに基づいて、２つのデバイスの時系列データの中から表示に必要なデバイス値セットを選択して二次元グラフの表示点数を削減する。本実施の形態のように２つのモータ軸の回転により移動位置を現在値セットとして時系列的に取得する場合、二次元グラフを表示する表示点数を削減することで、処理負荷を低減し、表示のリアルタイム性を確保することができる。
【００７３】
ここで、「一致度合い」とは、デバイス値セットの中で、一致している度合いのことを意味する。例えば２つのモータ軸を駆動させて移動した現在位置を示す現在値セットでは、座標値（ｘ，ｙ）の各成分値がいずれも一致していれば一致度合いが１００％となる。一致度合いを検出するために、現在値ごとにハッシュ値を算出して、ハッシュ値の同一である現在値を削除（間引き）する方法であっても良い。
【００７４】
図６は、本発明の実施の形態に係るデバイスモニタ装置２の表示点数削減処理の説明図である。図６（ａ）は、現在値セットの例示図であり、図６（ｂ）は、移動座標の例示図である。
【００７５】
図６（ａ）に示すような現在値セットである場合、図６（ｂ）に示す軌跡６１が通過するブロック位置が共通しているのは、時刻ｔ４及び時刻ｔ６である。したがって、いずれか一方、この例では時刻ｔ６の現在値の描画が不要であるので、ハッチング部分の現在値を削除することができる。
【００７６】
図４に戻って、表示画面生成部２０３は、座標平面の座標軸で表示可能な範囲の変更を受け付ける範囲変更受付部２０８を備えることにより、表示点数を削除しても良い。この場合、表示点数削減部２０４は、変更を受け付けた座標軸で表示可能な範囲に対するデバイス値セットが示す座標位置に基づいて、二次元グラフの表示点数を削減する。図７は、本発明の実施の形態に係るデバイスモニタ装置２の一部を拡大した場合の表示画面の例示図である。図７（ａ）は、現在値セットに基づく移動軌跡の例示図であり、図７（ｂ）は、図７（ａ）に示す移動軌跡の一部を拡大した場合の例示図である。
【００７７】
図７（ａ）に示す領域７３を拡大して表示したものが図７（ｂ）である。二次元グラフとして表示されている移動軌跡７０の一部が拡大されているため、Ｘ軸のスケール７１及びＹ軸のスケール７２が変更されている。したがって、拡大表示されることにより、表示される座標値の表示点数が大きく削減されることになる。
【００７８】
図８は、本発明の実施の形態に係るデバイスモニタ装置２の表示点数削減処理の他の説明図である。図８（ａ）は、現在値セットの例示図であり、図８（ｂ）は、移動座標の例示図である。図８（ｃ）は、拡大された移動座標の例示図である。
【００７９】
図８（ａ）に示す現在値セットは図６（ａ）と同一である。図８（ｃ）は、図８（ｂ）に示す軌跡８１のうち領域８２のみを拡大している。したがって、時刻ｔ１、ｔ２以外の現在値の描画が不要となるので、図８（ａ）のハッチング部分の現在値を削除することができる。
【００８０】
移動軌跡を描画する場合には二次元グラフで表示されるが、点としてプロット表示する場合には散布図として表示される。図９は、本発明の実施の形態に係るデバイスモニタ装置２で表示される散布図の例示図である。図９に示すように、プロット表示される点ごとにバラツキが確認できるとともに一定の相関関係を確認することができる。したがって、例えば検査器においてモータの負荷率と移動軌跡との相関を調べて、予知保全を行うアプリケーションなどに適用することが可能である。
【００８１】
図４に戻って、二次元グラフ生成部２０５は、選択されたデバイス値セットに基づいて、二次元グラフとして表示画面を生成する。具体的には、指令値セットと現在値セットそれぞれについて、二次元グラフを生成する。画面表示部２１１は、生成された二次元グラフを描画する。
【００８２】
図１０は、本発明の実施の形態に係るデバイスモニタ装置２の表示画面の例示図である。図１０（ａ）は、表示点数を削減した二次元グラフの表示画面の例示図であり、図１０（ｂ）は、従来の一次元グラフの表示画面の例示図である。
【００８３】
図１０（ｂ）に示すように、従来は、２つのモータ軸について、それぞれＸ軸方向の変位、Ｙ軸方向の変位を時系列に表示している。図１０（ｂ）では、上から、一のモータ軸のＸ軸方向変位１００３、一のモータ軸のＹ軸方向変位１００４、他のモータ軸のＸ軸方向変位１００５、他のモータ軸のＹ軸方向変位１００６が、それぞれ表示されている。各軸の動きを時系列で把握することはできるものの、どのような移動軌跡が描かれているのかを直感的に把握することはできない。
【００８４】
そこで、図１０（ａ）に示すように、移動軌跡として、指令値セットに基づいて二次元グラフを生成した目標位置の軌跡１００１と、現在値セットに基づいて二次元グラフを生成した現在位置の軌跡１０００とを同一座標系に表示している。したがって、領域１００２に示すように、目標位置の軌跡１００１と現在位置の軌跡１０００との間の差分を目視で確認できるようになっている。
【００８５】
このように、表示画面生成部２０３は、少なくとも２つのモータ軸の目標位置に応じたモータ軸ごとの指令値で構成された指令値セットの時系列データに基づく目標位置の軌跡と、２つのモータ軸の現在値セットの時系列データに基づく現在位置の軌跡とが、同一座標平面に表示されるよう表示画面を生成することが好ましい。
【００８６】
また、二次元グラフ生成部２０５は、選択されたデバイス値セットのうち、直近に選択されたデバイス値セットを基準として、表示するデバイス値セットを選択して表示点数の設定を受け付ける表示点数設定受付部２０７を備えていても良い。もちろん、表示点数設定受付部２０７は、ユーザによる各種の入力を受け付ける入力受付部２０６を介して設定を受け付けても良い。
【００８７】
図１１は、本発明の実施の形態に係るデバイスモニタ装置２の表示点数を制限する表示画面の例示図である。図１１（ａ）は、表示点数を制限した二次元グラフの表示画面の例示図であり、図１１（ｂ）は、表示点数の設定受付画面の例示図である。
【００８８】
図１１（ｂ）に示すように、表示されるデータ点数の設定を受け付ける表示点数受付領域１１０２において、データ点数の設定を受け付ける（表示点数設定受付部２０７）。設定を受け付けたデータ点数に応じて、図１１（ａ）に示すように移動軌跡１１０１が表示点数分だけ部分的に表示される。これにより、不要な移動軌跡を省いて表示することができるので、より画面表示のリアルタイム性を確保することができる。
【００８９】
また、表示画面生成部２０３は、選択された２つのデバイス値セットに基づいて生成される２つの一次元グラフが、二次元グラフと対応付けて表示される表示画面を生成しても良い。図１２は、本発明の実施の形態に係るデバイスモニタ装置２のグラフ切替画面の例示図である。図１２（ａ）は、二次元グラフの表示画面の例示図であり、図１２（ｂ）は、デバイスごとの一次元グラフの表示画面の例示図である。
【００９０】
図１２に示すように、二次元グラフと２つの一次元グラフとの対応関係を示すカーソル１２０１が表示されており、図１２（ａ）に示すカーソル１２０１の示す位置（十字の交点）が、２つの一次元グラフのカーソル（時刻を示す直線）１２０１での位置を示している。図１２の例では、表示画面を自由に切り替える設定としているが、この二画面を並列に同時に表示しても良い。この場合、速度等の確認も視覚的に行うことができるようになる。
【００９１】
図４に戻って、現在値セットの時系列データに応じた現在位置の軌跡を調整する調整パラメータの設定を受け付ける調整パラメータ設定受付部（設定受付手段）２０９と、設定を受け付けた調整パラメータをＰＬＣ１へ送信する調整パラメータ送信部２１０とを備えることが好ましい。設定を受け付けた調整パラメータを受信したＰＬＣ１は、指令値セットの時系列データと受信した調整パラメータとに基づいて、それぞれ制御対象であるサーボモータを駆動するサーボアンプＡ及びサーボアンプＢ（モータ駆動装置）に対して指令信号を出力し、現在位置の軌跡を目標位置の軌跡に近づけるよう調整することができる。
【００９２】
以下、調整パラメータとして、（１）速度、（２）応答性、（３）指令値（目標位置、到達方法等）の３つについて、それぞれ効果を表示画面で確認する例について説明する。図１３は、本発明の実施の形態に係るデバイスモニタ装置２のパラメータ調整前の表示画面の例示図である。図１３（ａ）は、図１３（ｂ）及び図１３（ｃ）で表示されているグラフで設定されているパラメータを示しており、図１３（ｂ）は、二次元グラフの表示画面の例示図を、図１３（ｃ）は、一次元グラフの表示画面の例示図を、それぞれ示している。
【００９３】
図１３（ｂ）における目標位置の軌跡１３０１を移動するよう指令値セットを送信したところ、現在位置の軌跡１３０２と若干のずれが生じている。図１３（ｃ）に示す一次元グラフ（時系列表示）では、どこに差異が生じているのかは把握できない。
【００９４】
そこで、まず調整パラメータとして「速度」を３００ｍｍ／ｓｅｃから１００ｍｍ／ｓｅｃに変更した。図１４は、本発明の実施の形態に係るデバイスモニタ装置２の調整パラメータ「速度」を変更した場合の表示画面の例示図である。図１４（ａ）は、図１４（ｂ）及び図１４（ｃ）で表示されているグラフで設定されているパラメータを示しており、図１４（ｂ）は、二次元グラフの表示画面の例示図を、図１４（ｃ）は、一次元グラフの表示画面の例示図を、それぞれ示している。
【００９５】
図１３（ｂ）と図１４（ｂ）とを比べると明らかであるが、図１４（ｂ）の方が、目標位置の軌跡１３０１と現在位置の軌跡１３０２との乖離が少ない。したがって、調整パラメータとして「速度」を遅くすることが有効であることがわかる。ただし、「速度」を遅くするということは、追従性の向上には貢献するものの、装置全体のタクトの観点からは好ましくない調整パラメータの変更でもある。図１３（ｃ）と図１４（ｃ）とを比較すると、移動が完了するまでの時間が図１４（ｃ）の方がかなり長くなっていることからも明らかである。
【００９６】
次に、調整パラメータとして「速度」を３００ｍｍ／ｓｅｃのままにし、「応答性」を‘５’から‘１０’に変更した。図１５は、本発明の実施の形態に係るデバイスモニタ装置２の調整パラメータ「応答性」を変更した場合の表示画面の例示図である。図１５（ａ）は、図１５（ｂ）及び図１５（ｃ）で表示されているグラフで設定されているパラメータを示しており、図１５（ｂ）は、二次元グラフの表示画面の例示図を、図１５（ｃ）は、一次元グラフの表示画面の例示図を、それぞれ示している。
【００９７】
図１３（ｂ）と図１５（ｂ）とを比べると明らかであるが、図１５（ｂ）の方が、目標位置の軌跡１３０１と現在位置の軌跡１３０２との乖離が少ない。したがって、調整パラメータとして「応答性」を高めることが有効であることがわかる。従来のように、図１３（ｃ）と図１５（ｃ）とを比較しても、その変化は把握できない。
【００９８】
また、調整パラメータとして「指令値」そのものを変更しても良い。目標位置の軌跡１３０１と現在位置の軌跡１３０２との間に乖離が生じるのは応答の遅れが原因であり、指令値を前倒しで提供することにより応答遅れを吸収しようとするものである。
【００９９】
図１６は、本発明の実施の形態に係るデバイスモニタ装置２の調整パラメータ「指令値」を変更した場合の表示画面の例示図である。図１６（ａ）は、図１６（ｂ）及び図１６（ｃ）で表示されているグラフで設定されているパラメータを示しており、図１６（ｂ）は、二次元グラフの表示画面の例示図を、図１６（ｃ）は、一次元グラフの表示画面の例示図を、それぞれ示している。
【０１００】
図１３（ｂ）と図１６（ｂ）とを比べると、図１３（ｂ）に示す目標位置の軌跡１３０１とは目標位置の軌跡１３０３は形状が相違する。すなわち、指令値として、移動位置を先取りしたような指令値セットを設定することで、現在位置の軌跡１３０２が図１３（ｂ）の目標位置の軌跡１３０１の形状に近接するように変化している。したがって、調整パラメータとして「指令値」そのものを変化させることも有効であることがわかる。従来のように、図１３（ｃ）と図１６（ｃ）とを比較しても、その変化は把握できない。
【０１０１】
なお、あらかじめ準備された複数の種類の線分を組み合わせてなる自由軌跡を座標平面に描画する描画手段、及び描画された自由軌跡から、目標位置及び該目標位置への到達方法を示すポイントパラメータを生成するパラメータ生成手段を設けても良い。図１７は、本発明の実施の形態に係るデバイスモニタ装置２のポイントパラメータ生成画面の例示図である。
【０１０２】
図１７に示すように、描画領域１７０１に、目標位置の二次元の線図を描画する。描画された二次元線図が目標位置の軌跡となるようなポイントパラメータが、ポイントパラメータ表示領域１７０２に表示される。ここで、ポイントパラメータとは、目標位置、及び該目標位置への到達方法を設定するパラメータを意味する。すなわち、前の目標位置と次の目標位置との間を直線補間、あるいは円弧補間する等のパラメータが生成されて、ポイントパラメータ表示領域１７０２に表示される。なお、デバイスモニタ装置２において生成されたポイントパラメータは、直接又はＣＰＵユニット１ａを介して拡張ユニット１ｂに送られ、モーション設定部１０７により設定される。
【０１０３】
図１８は、本発明の実施の形態に係るデバイスモニタ装置２の制御部２１のデバイス値取得の処理手順を示すフローチャートである。図１８の例では、メモリ２２にリングバッファを用いている場合について説明する。
【０１０４】
図１８において、デバイスモニタ装置２の制御部２１は、ＰＬＣ１との通信を確立し（ステップＳ１８０１）、ＰＬＣ１のデバイスメモリ１０２に記憶されているデバイス値を受信する（ステップＳ１８０２）。具体的には、指令値セット、現在値セット、及びその他のデータである。制御部２１は、受信したデバイス値をメモリ（リングバッファ）２２に書き込む（ステップＳ１８０３）。
【０１０５】
制御部２１は、記憶されているデバイス値の容量がリングバッファ容量を超えたか否かを判断する（ステップＳ１８０４）。制御部２１が、リングバッファ容量を超えていないと判断した場合（ステップＳ１８０４：ＮＯ）、制御部２１は、処理をステップＳ１８０２へ戻し、上述した処理を繰り返す。制御部２１が、リングバッファ容量を超えたと判断した場合（ステップＳ１８０４：ＹＥＳ）、制御部２１は、メモリ２２に記憶されている最も古いデバイス値に上書きし（ステップＳ１８０５）、処理をステップＳ１８０２へ戻し、上述した処理を繰り返す。
【０１０６】
図１９は、本発明の実施の形態に係るデバイスモニタ装置２の制御部２１の二次元グラフ表示制御の処理手順を示すフローチャートである。図１９の例では、メモリ２２にリングバッファを用いている場合について説明する。なお、図１９に示すフローチャートのスタートからエンドまでで、一表示周期を示しており、実際には、制御部２１によって、図１９に示す処理フローが所定の表示周期で繰り返し実行される。
【０１０７】
図１９において、デバイスモニタ装置２の制御部２１は、メモリ（リングバッファ）２２に記憶されているデバイス値の中から表示対象となるデバイスのデバイス値を読み出す（ステップＳ１９０１）。デバイス値は、具体的には、目標位置を指令する指令値セットの時系列データ、現在位置を示す現在値セットの時系列データ、その他のデータである。
【０１０８】
制御部２１は、一のデバイス値を選択（削減可能であるか否かの判断対象に）する（ステップＳ１９０２）。ここでは、指令値セットの中の一の指令値、又は現在値セットの中の一の現在値を意味する。
【０１０９】
制御部２１は、選択されたデバイス値が表示から削減可能であるか否かを判断する（ステップＳ１９０３）。具体的には、例えばハッシュ値を算出して、以前に算出したハッシュ値の中に一致するものが存在するか否かで判断しても良い。
【０１１０】
制御部２１が、表示から削減可能であると判断した場合（ステップＳ１９０３：ＹＥＳ）、制御部２１は、選択されたデバイス値を非表示のデバイス値として選択（決定）する（ステップＳ１９０４）。制御部２１が、表示から削減可能ではないと判断した場合（ステップＳ１９０３：ＮＯ）、制御部２１は、ステップＳ１９０４をスキップし、読み出したすべてのデバイス値を選択したか否かを判断する（ステップＳ１９０５）
【０１１１】
制御部２１が、まだ選択されていないデバイス値が存在すると判断した場合（ステップＳ１９０５：ＮＯ）、制御部２１は、次のデバイス値を選択し（ステップＳ１９０６）、処理をステップＳ１９０３へ戻し、上述した処理を繰り返す。制御部２１が、すべてのデバイス値が選択されたと判断した場合（ステップＳ１９０５：ＹＥＳ）、制御部２１は、非表示のデバイス値として選択されたデバイス値を表示することなく、残りのデバイス値を用いて描画する（ステップＳ１９０７）。
【０１１２】
以上のように本実施の形態によれば、二次元グラフの表示点数を削減して座標平面の座標軸に応じて表示することができるので、二次元グラフの表示負荷を軽減することができ、例えば現在位置の軌跡をリアルタイム性を維持しながら二次元グラフとして表示することが可能となる。
【０１１３】
なお、図１９の変形例として、ステップＳ１９０７の処理をステップＳ１９０５の処理の直前に移動させても良い。この場合、一のデバイス値ずつ表示削減可能であるか否かを判断し、描画する処理フローになる。そのため、表示処理のスピードが低下する可能性がある。そこで、図１９に示すように、全てのデバイス値について表示・非表示を判断・選択（決定）した上で、描画する処理（ステップＳ１９０７）を行うことが好ましい。
【０１１４】
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨の範囲内であれば多種の変更、改良等が可能である。例えば、上述した実施の形態では、ＰＬＣ１のデバイスメモリ１０２及びデバイスモニタ装置２のメモリ２２にリングバッファを用いているが、特にこれに限定されるものではなく、通常のメモリであっても良い。この場合、メモリ容量に対して記憶量を常時把握しておき、書き込むデバイス値のヘッダ情報等からメモリ容量を超えるか否かを判断すれば良い。
【０１１５】
また、本発明は、例えば電子カムに用いられる複数の従軸の目標位置や現在値についての二次元グラフ表示にも適用することができる。さらに、ＰＬＣ１とデバイスモニタ装置２とを組み合わせてデバイスモニタシステムを構築することも可能である。
【符号の説明】
【０１１６】
１  ＰＬＣ
１ａ  ＣＰＵユニット
１ｂ  拡張ユニット（モーションユニット）
２  デバイスモニタ装置
１０  ＣＰＵ
２１  制御部
２２  メモリ（受信メモリ）
１０２  デバイスメモリ
【図１】
0006712500.tif 000002
【図２】
0006712500.tif 000003
【図３】
0006712500.tif 000004
【図４】
0006712500.tif 000005
【図５】
0006712500.tif 000006
【図６】
0006712500.tif 000007
【図７】
0006712500.tif 000008
【図８】
0006712500.tif 000009
【図９】
0006712500.tif 000010
【図１０】
0006712500.tif 000011
【図１１】
0006712500.tif 000012
【図１２】
0006712500.tif 000013
【図１３】
0006712500.tif 000014
【図１４】
0006712500.tif 000015
【図１５】
0006712500.tif 000016
【図１６】
0006712500.tif 000017
【図１７】
0006712500.tif 000018
【図１８】
0006712500.tif 000019
【図１９】
0006712500.tif 000020