(57)【要約】      （修正有）【課題】時間軸上においてかなり離れた各サイクルのパルス列波形同士を画面をスクロールさせることなく同時に観察可能とすること。【解決手段】  収集された複数の変数のうちの１の変数について、スタートポイントとエンドポイントとなるべき変数値条件を設定する第１のステップと、前記変数値条件に該当する変数値を時系列順に代入してその変数値条件の成立を判定することにより、スタートポイントとエンドポイントとを検出する第２のステップと、前記検出されたスタートポイントとエンドポイントとに挟まれる前記１の変数に関する一連のデータ列を複数サイクル分だけ抽出する第３のステップと、前記抽出された前記１の変数に関する複数サイクル分のデータ列のそれぞれに相当するパルス列波形を時間軸を整合させた状態で重ねて又は並べて表示する第４のステップとを具備する。【選択図】図１３
2007219658.tif 000002
【特許請求の範囲】
【請求項１】
データ収集ユニットがプログラマブル・コントローラのメモリから収集した複数の変数の各収集時点の値のそれぞれに相当する一連のビットデータ列を画像表示器を介してモニタするための方法であって、
前記収集された複数の変数のうちの１の変数について、スタートポイントとエンドポイントとなるべき変数値条件を設定する第１のステップと、
前記変数値条件に該当する変数値を時系列順に代入してその変数値条件の成立を判定することにより、スタートポイントとエンドポイントとを検出する第２のステップと、
前記検出されたスタートポイントとエンドポイントとに挟まれる前記１の変数に関する一連のデータ列を複数サイクル分だけ抽出する第３のステップと、
前記抽出された前記１の変数に関する複数サイクル分のデータ列のそれぞれに相当するパルス列波形を時間軸を整合させた状態で重ねて又は並べて表示する第４のステップと、
を具備することを特徴とする収集データのモニタ方法。
【請求項２】
複数サイクル分のデータ列のそれぞれに相当するパルス列波形のうちから基準として選択された１のパルス列波形において、又は予め基準として用意された１のパルス列波形において、時間軸上の任意の１の時点が指定されたことを検出する第５のステップと、
前記検出された時点と規定の関係にあるエッジの時刻及び所定の基準点からのエッジカウント数を検出する第６のステップと、
前記基準となる１のパルス波形以外の他のパルス列波形のそれぞれについて、同一エッジカウント数となるエッジの時刻を検出する第７のステップと、
前記基準となるパルス列波形上の前記エッジの時刻と他のパルス列波形上の前記エッジの時刻とが整合するように、他のパルス列波形を時間軸方向へシフトさせて表示させる第８のステップと、
をさらに具備することを特徴とする請求項１に記載の収集データのモニタ方法。
【請求項３】
データ収集ユニットがプログラマブル・コントローラのメモリから収集した複数の変数の各収集時点の値のそれぞれに相当する一連のビットデータ列を画像表示器を介してモニタするための装置であって、
前記収集された複数の変数のうちの１の変数について、スタートポイントとエンドポイントとなるべき変数値条件を設定する第１の手段と、
前記変数値条件に該当する変数値を時系列順に代入してその変数値条件の成立を判定することにより、スタートポイントとエンドポイントとを検出する第２の手段と、
前記検出されたスタートポイントとエンドポイントとに挟まれる前記１の変数に関する一連のデータ列を複数サイクル分だけ抽出する第３の手段と、
前記抽出された前記１の変数に関する複数サイクル分のデータ列のそれぞれに相当するパルス列波形を時間軸を整合させた状態で重ねて又は並べて表示する第４の手段と、
を具備することを特徴とする収集データのモニタ装置。
【請求項４】
複数サイクル分のデータ列のそれぞれに相当するパルス列波形のうちから基準として選択された１のパルス列波形において、又は予め基準として用意された１のパルス列波形において、時間軸上の任意の１の時点が指定されたことを検出する第５の手段と、
前記検出された時点と規定の関係にあるエッジの時刻及び所定の基準点からのエッジカウント数を検出する第６の手段と、
前記基準となる１のパルス波形以外の他のパルス列波形のそれぞれについて、同一エッジカウント数となるエッジの時刻を検出する第７の手段と、
前記基準となるパルス列波形上の前記エッジの時刻と他のパルス列波形上の前記エッジの時刻とが整合するように、他のパルス列波形を時間軸方向へシフトさせて表示させる第８の手段と、
をさらに具備することを特徴とする請求項３に記載の収集データのモニタ装置。
【請求項５】
請求項１又は２に記載の方法をコンピュータにより実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データ収集ユニットがプログラマブル・コントローラのメモリから収集した複数の変数の各収集時点の値のそれぞれに相当する一連のビットデータ列を画像表示器を介してモニタするための方法及び装置に関する。
【背景技術】
【０００２】
プログラマブル・コントローラ（ＰＬＣ）のメモリ（例えば、入出力メモリ、データメモリ等々）から各種変数（入出力ビット信号）のオンオフ状態のそれぞれに相当する一連の時系列ビットデータを自動的に収集する装置としては、データ収集ユニット（ＳＰＵ）が従来より知られている（特許文献１参照）。また、この種のデータ収集装置にて収集された一連の時系列ビットデータ列を画像表示器を介してモニタすることも従来より知られている（特許文献２参照）。
【０００３】
この種のモニタ装置では、データ収集ユニットにて収集された複数の変数のそれそれに関する一連の時系列ビットデータに相当するパルス列波形を、画像表示器の画面上に複数行にわたり並べて表示させるのが通例である。
【０００４】
ＰＬＣの制御対象となる生産ライン等において、それに組み込まれたセンサやアクチュエータに経年劣化（摩耗、潤滑油切れ、過負荷等々）が生じた場合に、その影響は、モニタ装置の画面上に表示される各変数対応のパルス列波形のそれぞれにおける１若しくは２以上のオンパルス又はオフパルスの位相のずれとして現れることが多い。
【０００５】
すなわち、この種のＰＬＣの制御対象機器は同一動作を繰り返すことが多く、そのため、ＰＬＣの扱うビット変数に相当するパルス列波形上には、一定パターンを有する一連のパルス列波形が周期的に現れる。そして、この周期的なパルス列を構成する各パルスのそれぞれは、制御対象機器の劣化と共に位相の乱れやパルス幅の変動を来すことが多い。
【特許文献１】特開２００５−１２８７２１
【特許文献２】特開２００３−２１６５０
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、この種のＰＬＣのモニタ装置において、時間軸上においてかなり離れた各サイクルのパルス列波形同士を画面をスクロールさせながら１つずつ観察し、それらを相互に比較して位相のずれを判定する作業は、熟練作業員にとってもなかなか容易なことではない。
【０００７】
この発明は、上述の問題点に着目してなされたものであり、その目的とするところは、同一のビット変数に関する一連のパルス列を任意のサイクル毎に取り出して、時間軸を整合させて重ねて又は並べて表示させることにより、時間軸上においてかなり離れた各サイクルのパルス列波形同士を画面をスクロールさせることなく同時に観察可能とた収集データのモニタ方法を提供することにある。
【０００８】
この発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【０００９】
この発明の収集データのモニタ方法（又は装置）は、データ収集ユニットがプログラマブル・コントローラのメモリから収集した複数の変数の各収集時点の値のそれぞれに相当する一連のビットデータ列を画像表示器を介してモニタするための方法（又は装置）であって、前記収集された複数の変数のうちの１の変数について、スタートポイントとエンドポイントとなるべき変数値条件を設定する第１のステップ（又は第１の手段）と、前記変数値条件に該当する変数値を時系列順に代入してその変数値条件の成立を判定することにより、スタートポイントとエンドポイントとを検出する第２のステップと（又は第２の手段）、前記検出されたスタートポイントとエンドポイントとに挟まれる前記１の変数に関する一連のデータ列を複数サイクル分だけ抽出する第３のステップ（又は第３の手段）と、前記抽出された前記１の変数に関する複数サイクル分のデータ列のそれぞれに相当するパルス列波形を時間軸を整合させた状態で重ねて又は並べて表示する第４のステップ（又は第４の手段）と、を具備することを特徴とするものである。
【００１０】
このような構成によれば、スタートポイントとエンドポイントとなるべき変数値条件さえ設定すれば、スタートポイントとエンドポイントとが自動的に検出されると共に、検出されたスタートポイントとエンドポイントとに挟まれる前記１の変数に関する一連のデータ列が複数サイクル分だけ抽出され、それらの抽出された前記１の変数に関する複数サイクル分のデータ列のそれぞれに相当するパルス列波形は、時間軸を整合させた状態で重ねて又は並べて表示されるから、ユーザは、時間軸上においてかなり離れた各サイクルのパルス列波形同士を画面をスクロールさせることなく同時に観察可能となるのである。
【００１１】
このとき、複数サイクル分のデータ列のそれぞれに相当するパルス列波形のうちから基準として選択された１のパルス列波形において、又は予め基準として用意された１のパルス列波形において、時間軸上の任意の１の時点が指定されたことを検出する第５のステップ（又は第５の手段）と、前記検出された時点と規定の関係にあるエッジの時刻及び所定の基準点からのエッジカウント数を検出する第６のステップ（又は第６の手段）と、前記基準となる１のパルス波形以外の他のパルス列波形のそれぞれについて、同一エッジカウント数となるエッジの時刻を検出する第７のステップ（又は第７の手段）と、前記基準となるパルス列波形上の前記エッジの時刻と他のパルス列波形上の前記エッジの時刻とが整合するように、他のパルス列波形を時間軸方向へシフトさせて表示させる第８のステップ（又は第８の手段）と、をさらに具備するものであれば、各サイクルパルス列波形全体同士の整合のみならず、個々のパルスに着目して、異なるサイクルのパルス同士における位相ずれ、パルス幅の変動等も容易に観察可能となる。
【００１２】
そして、本発明は、請求項１又は２に記載の方法をコンピュータにより実行させるためのコンピュータプログラムとして具現化することもできる。
【発明の効果】
【００１３】
本発明によれば、スタートポイントとエンドポイントとなるべき変数値条件さえ設定すれば、スタートポイントとエンドポイントとが自動的に検出されると共に、検出されたスタートポイントとエンドポイントとに挟まれる１の変数に関する一連のデータ列は複数サイクル分だけ抽出され、それらの抽出された１の変数に関する複数サイクル分のデータ列のそれぞれに相当するパルス列波形は、時間軸を整合させた状態で重ねて又は並べて表示されるから、ユーザは、時間軸上においてかなり離れた各サイクルのパルス列波形同士を画面をスクロールさせることなく同時に観察可能となる。
【発明を実施するための最良の形態】
【００１４】
以下に、この発明に係る収集データのモニタ方法及び装置の好適な実施の一形態を添付図面を参照しながら詳細に説明する。
【００１５】
データ収集ユニットを含むＰＬＣシステムの構成図が図１に示されている。同図に示されるように、このＰＬＣシステムは、ＰＬＣ１０と、パーソナルコンピュータ（以下、ＰＣと言う）２０と、プログラマブル表示器（ＰＴ等とも称する）３５とを含んでいる。
【００１６】
ＰＬＣ１０とＰＣ２０とは通信線３０を介して結ばれており、ＰＬＣ１０とプログラマブル表示器３５とは通信線３４を介して結ばれ、同様にして、ＰＬＣ１０とアクチュエータ３２及びセンサ３３とは信号線３１を介して結ばれている。
【００１７】
ＰＬＣ１０は、この例にあっては、ビルディングブロック型に構成されており、ＣＰＵユニット１１と通信ユニット１２とＩ／Ｏユニット１３とデータ収集ユニット（ＳＰＵとも言う）１５とをバックプレーン上のバスを介して結んで構成されている。
【００１８】
ＣＰＵユニット１１は、ＰＬＣ全体を統括制御するものであり、その内部には、ユーザプログラムメモリ、Ｉ／Ｏメモリ、データメモリ等を含んでいる。ＣＰＵユニット１１内のマイクロプロセッサは、Ｉ／Ｏリフレッシュ処理、ユーザプログラム実行処理、周辺サービス処理を所定のサイクルタイムをもってサイクリックに実行する。
【００１９】
Ｉ／Ｏリフレッシュ処理においては、Ｉ／Ｏユニット１３を介してセンサ３３から入力信号を読み込んで入力データを生成すると共に、こうして生成された入力データ（１ビットのＯＮ／ＯＦＦデータ、多ビットのアナログデータ等を含む）はＣＰＵユニット１１内の入出力メモリやデータメモリへと書き込まれる。同時に、入出力メモリやデータメモリの出力データ（１ビットのＯＮ／ＯＦＦデータ、多ビットのアナログデータの双方を含む）は、Ｉ／Ｏユニット１３を介して外部アクチュエータ３２へと送出される。
【００２０】
命令実行処理においては、ＣＰＵユニット１１内の入出力メモリやデータメモリの内容に基づき、ユーザプログラムを構成する各命令を順次読み出しては実行すると共に、その実行結果に基づいて、入出力メモリやデータメモリの該当するデータを書き換える。
【００２１】
周辺サービス機能においては、図示しないネットワークを介して他のＰＬＣとの間でデータの交換を行ったり、上位ＰＣ２０と通信を行うことにより、ユーザプログラムのアップロードやダウンロード等の様々な周辺サービス処理を行う。
【００２２】
データ収集ユニット（ＳＰＵ）１５は、上述したＩ／Ｏリフレッシュ処理と連動して、ＣＰＵユニット１１内のＩ／Ｏメモリやデータメモリから、１ビットまたは多ビットの入出力データを読み出し、これをデータ収集ユニット１５内の所定メモリに蓄積保存する。そして、適当なタイミングで、通信線３５を介してＰＣ２０と通信することにより、データ収集ユニット１５内の収集データを、ＰＣ２０へと送信する。
【００２３】
すなわち、ＣＰＵユニット１１のＩ／Ｏメモリやデータメモリ内のデータは、サイクルタイムに同期して、ＣＰＵユニット１１からデータ収集ユニットＳＰＵ１５へと転送されて、データ収集ユニット１５内に蓄積保存される。そして、この蓄積保存された入出力データ（入出力変数）は、適当なタイミングで、ＰＣ２０とデータ収集ユニット１５とが交信することによって、データ収集ユニット（ＳＰＵ）１５からＰＣ２０へと送り込まれる。
【００２４】
ＰＣ２０では、ＰＬＣ１０のデータ収集ユニット（ＳＰＵ）１５から読み込まれたデータを内部メモリ（内部テーブル）に保存する。この内部メモリに保存された入出力データ（入出力変数）は、ＰＣ２０に備えられた図示しない画像表示器の画面上に所定の表示フォーマットで表示される。これにより、ＰＣ２０のオペレータは、画像表示器の画面上に表示された表示内容に基づいて、ＣＰＵユニット１１の入出力メモリやデータメモリの内容をモニタすることができる。本発明は、このＰＣ２０におけるモニタ機能に関するものである。
【００２５】
本発明と関連してＰＣ２０で実行される処理の全体を示すゼネラルフローチャートが図２に示されている。同図に示されるように、この処理の全体は、グラフ描画処理（ステップ２０１）と、スタートポイント指定処理（ステップ２０２）と、エンドポイント指定処理（ステップ２０３）と、重ね合わせ表示処理（ステップ２０４）とを含んでいる。
【００２６】
グラフ描画処理（ステップ２０１）の詳細フローチャートが図３に示されている。同図において処理が開始されると、まず、ＰＣ２０はＰＬＣ１０側のデータ収集ユニット（ＳＰＵ）１５と通信することにより、データ収集ユニット（ＳＰＵ）１５に格納された変数テーブルデータ並びに変数データ（ビット変数データ、アナログ変数データ）をＰＣ２０側へと読み出す（ステップ３０１）。
【００２７】
こうして読み出された変数テーブルデータ並びに変数データは、ＰＣ２０のメモリ内にあらかじめ設けられた変数テーブル並びに内部テーブルに格納される（ステップ３０２）。すなわち、データ収集ユニット（ＳＰＵ）１５から読み出された変数テーブルデータについては、ＰＣ２０内の同様な変数テーブルに格納され、同時に、ＳＰＵ１５内のメモリから読み出された変数データ（ビット変数データ、アナログ変数データ）は、ＰＣ２０のメモリ内の内部テーブルに格納される（ステップ３０２）。なお、図３のグラフ描画処理で利用された変数テーブルの構造を示す構成図が図１４に、また内部テーブルの構造を示す構成図が図１５にそれぞれ示されている。
【００２８】
図１４に示されるように、変数テーブルには、複数の属性項目が設定されており、それらの属性項目のそれぞれ毎に該当する情報が一連に記憶されている。それらの属性項目としては、『Ｎｏ．』と記されたインデックス番号、『名称』と記された変数名称、『型』と記された変数型、『メモリ情報』と記されたＰＬＣ内におけるＩ／Ｏメモリまたはデータメモリのアドレス情報、『備考』と記されたコメント情報を挙げることができる。
【００２９】
また図１５に示されるように、内部テーブルには、複数の属性項目のそれぞれ毎に該当する情報が一連に記憶されている。それらの属性項目としては、『データインデックス』、『タイムスタンプ』、『変数Ｎｏ．１データ』、『変数Ｎｏ．２データ』・・・を挙げることができる。すなわち、この変数テーブルには、データ取得時刻のそれぞれ毎に、取得されたビット変数並びにアナログ変数の状態が時系列的に格納されている。
【００３０】
続いて、ＰＣ２０のメモリ内の変数テーブル及び内部テーブルに格納されたデータに基づき、グラフ描画処理が実行される（ステップ３０３）。グラフ描画初期状態の画面イメージ図が図１９に示されている。
【００３１】
同図に示されるように、ＰＣ２０に備え付けられた画像表示器の画面１００には、上段に位置し且つ横長長方形状を有する第１の波形表示領域１１０と、下段に位置し且つ同様に横長長方形状を有する第２の波形表示領域１２０とが設けられる。また、第１の波形表示領域１１０の右隣には、第１の波形表示領域１１０に表示される波形の関連情報を表示するための第１の関連情報表示領域１３０が設けられ、同様にして、第２の波形表示領域１２０の右隣にも、第２の波形表示領域１２０に表示される波形の関連情報を表示するための第２の関連情報表示領域１４０が設けられる。
【００３２】
第１の波形表示領域１１０には、Ｌ１〜Ｌ１６からなる１６行の表示行が設けられている。各表示行Ｌ１〜Ｌ１６には、対応するビット変数のデータ列に相当するパルス列波形が表示される。また、第１の関連情報表示領域１３０には、各表示行Ｌ１〜Ｌ１６を表示アクティブとするかノンアクティブとするかを決定するためのチェックボックス列１３１と、各表示行Ｌ１〜Ｌ１６に表示されるパルス列波形の表示色を示す表示色ボックス列１３２と、各表示行Ｌ１〜Ｌ１６のそれぞれに対応してアドレスまたはコメントの何れかを択一的に表示するアドレス／コメント表示列１３３と、各表示行Ｌ１〜Ｌ１６に対応して、カーソル１１１の指し示す時間軸上の１点におけるＯＮ状態またはＯＦＦ状態を２色の何れかで示すＯＮ／ＯＦＦ色ボックス列１３４と、同様にＯＮ／ＯＦＦ状態を文字で示すＯＮ／ＯＦＦ表示列１３５と、カーソル１１１がＯＮパルスに位置するときにはＯＮ時間を、またＯＦＦパルスに位置するときにはＯＦＦ時間をそれぞれ表示するＯＮ／ＯＦＦ時間ボックス列１３６とが設けられている。なお、１３７は、アドレス／コメント表示列の切り替えに使用するための切り替えボタンである。
【００３３】
一方、第２の波形表示領域１２０には、この例にあっては、各アナログ変数データ列に対応するアナログ波形が表示される。これらのアナログ波形は、それぞれ固有の表示色をもって行われる。このアナログ波形表示は、第２の波形表示領域の上下方向幅全体を使用して行うことができる。そのため、レンジの異なる複数の波形が表示されるため、それらの波形は互いに重ねて表示される。しかし、各波形の表示色は異なるため、視認性を損ねることはない。
【００３４】
第２の関連情報表示領域１４０には、第２の波形表示領域１２０に表示される複数のアナログ変数のそれぞれに対応して、表示をアクティブにするかノンアクティブにするかを決定するためのチェックボックス列１４１と、複数の変数のそれぞれの固有色に相当する色を表示するための色ボックス列１４２と、各行の変数に対応するアドレス表示列１４３と、カーソル１１０が位置する時間軸上の１点における各アナログ変数の値を示すアナログ変数値ボックス列１４４とが設けられている。
【００３５】
この例にあっては、カーソル１１１としては、第１の波形表示領域及び第２の波形表示領域を上下に横切る１本の直線状カーソルが使用されている。このカーソル１１１を図中左右方向へと移動させるためには、左シフトボタン１５１または右シフトボタン１５３が使用され、さらに何れかのＯＮパルスまたはＯＦＦパルス上においてセンタリングをさせるためには、センタリングボタン１５２が使用される。
【００３６】
続いて、スタートポイント指定処理（ステップ２０２）の詳細が図４に示されている。同図において処理が開始されると、図２０に示されるように、ＰＣ２０に備え付けられた表示装置の画面１００上には、選択可能なビット変数並びにアナログ変数の一覧をメニュー表示させることが可能な変数一覧表示領域１０１と、スタートポイントとして決定された条件式を表示させるための条件式表示領域１０２と、ビット変数の状態を決定するためのＯＮンボタン１０５と、追加ボタン１０３ａと、削除ボタン１０３ｂと、変更ボタン１０３ｃとが設けられる。
【００３７】
オペレータは、表示領域１０１内においてカーソルを上下に移動させつつ所望の変数に位置合わせし、しかる後、ＯＮボタン１０５を操作する。すると、図４のフローチャートにおいて、変数テーブルよりビット変数を取り出す処理（ステップ４０１）、変数テーブルよりアナログ変数を取り出す処理（ステップ４０２）、さらにスタートポイントの条件入力を受け付ける処理（ステップ４０３）が順次に実行され、これにより入力ポイントに相当する条件式が決定される。こうして決定された条件式は、メモリ内のスタートポイントに相当する条件式記憶領域に格納される（ステップ４０４）。すると、図２０に示されるように、条件式表示領域１０２には、こうして決定された条件式が表示される。この例にあっては、『ビット変数ＣＩＯ＿００１１１＿００（ハンダゴテ）がＯＮしたとき』がスタートポイントとして設定される。
【００３８】
続いて、エンドポイント指定処理（ステップ２０３）の詳細フローチャートが図５に示されている。同図において処理が開始されると、ＰＣ２０に備えられた画像表示器の画面１００上には、図２１に示されるように、変数一覧表示領域１０１と、条件式表示領域１０２と、追加ボタン１０３ａと、削除ボタン１０３ｂと、変更ボタン１０３ｃと、選択変数表示領域１０４と、アナログ条件表示領域１０６とが設けられる。
【００３９】
この場合にも、オペレータは、表示領域１０１において所望の変数をカーソルの上下移動で選択し、その状態で、アナログ条件表示領域１０６を適宜操作することによって、エンドポイントに相当する条件式を決定することができる。
【００４０】
すると、図５のフローチャートにおいては、変数テーブルよりビットデータを取り出す処理（ステップ５０１）、変数テーブルよりアナログデータを取り出す処理（ステップ５０２）、エンドポイントの条件入力を受け付ける処理（ステップ５０３）が順次に実行されて、エンドポイントを決定するための条件式が決定され、こうして決定された条件式はメモリ内のエンドポイントに相当する記憶領域に格納される（ステップ５０４）。こうして格納された条件式は、画面１００上においては、条件式表示領域１０２に表示される。この例にあっては、『アナログ変数ＤＭ＿０００４０＿ＣＨ（Ｘ軸現在位置）≧０．００』がエンドポイント決定のための条件式として記憶される。
【００４１】
続いて、重ね合わせ表示処理（ステップ２０４）の詳細フローチャートが図６に示されている。同図において、処理が開始されると、内部テーブルよりデータを取り出した後（ステップ６０１）、データが存在することを条件として（ステップ６０２ＮＯ）、そのデータを条件式に当てはめることにより、スタートポイントと一致したと判定されるまで（ステップ６０３ＮＯ）、データインデックスをインクリメントしつつ、以上の動作（ステップ６０１〜６０３）が繰り返される。
【００４２】
ここで、スタートポイント決定のための条件式は、個々のビット変数、アナログ変数、あるいはそれら変数の組み合わせによって任意に決定することができる。そのため、内部テーブルよりデータを取り出す処理（ステップ６０１）においては、その照合に必要な全ての変数を図１５に示される内部テーブルより取り出す。
【００４３】
この間に、スタートポイントとの一致が判定されれば（ステップ６０３ＹＥＳ）、以後、エンドポイントとの一致が判定されるまでの間（ステップ６０６ＮＯ）、図１５に示される内部テーブルから、エンドポイント照合のためのデータのみならずグラフ表示用のデータについても、データインデックスをインクリメントしつつ、読み出す処理が実行される（ステップ６０４）。
【００４４】
この間に、エンドポイントとの一致が判定されれば（ステップ６０６ＹＥＳ）、それまで内部テーブルより取り出したデータのうちで、グラフ表示用のデータを、メモリの重ね合わせテーブルに格納する。このグラフデータ格納処理（ステップ６０７）によって、スタートポイントからエンドポイントに至る１サイクル分のデータが切り出される。
【００４５】
ここで重ね合わせテーブルについて、図１６を参照して説明する。同図（ｂ）に示されるように、３つのサイクル（サイクルＡ，Ｂ，Ｃ）のそれぞれについて、スタートポイントとエンドポイントとに基づいてデータが収集されたと想定する。
【００４６】
このとき、スタートポイントからエンドポイントに至る区間に、オフセット０〜１１を設定すると、同図（ａ）に示されるように、重ね合わせテーブルにおいては、一連のオフセット０〜１１に対応して、サイクル値とサイクルデータインデックスとの組を取得することができる。
【００４７】
すなわち、基準となるサイクルＡデータ列については、オフセット０〜１１とサイクルデータインデックス０〜１１とが対応する。同様にして、比較対照となるサイクルＢデータ列においては、オフセット０〜１１とデータインデックス２２〜３３が対応する。さらに比較対照となるサイクルＣデータ列についても、オフセット０〜１１とデータインデックス４２〜５３とが対応する。さらに、オフセット値０〜１１に対応して、サイクルＡ値、サイクルＢ値、サイクルＣ値がそれぞれ“１”または“０”として決定される。
【００４８】
このように、位置揃え前の重ね合わせテーブルにおいては、オフセット０〜１１に対応して、サイクルＡ，サイクルＢ，サイクルＣのそれぞれ毎に、論理値とデータインデックスの組が記憶されることとなる。
【００４９】
以後、フローチャートの先頭に戻って、以上の動作（ステップ６０１〜６０７）が繰り返されることにより、次の１サイクル分のグラフデータ、さらには次の次の１サイクル分のグラフデータと言ったように、時系列的に配列された一連のデータ列の中で、周期性を有する一連のグラフデータが、間隔をおいて収集されていく。
【００５０】
以上の動作を繰り返す間に、内部テーブル内の最終データインデックスまで達すると、スタートポイントの探索中（ステップ６０２）またはエンドポイントの探索中（ステップ６０５）において、データ無しの判定が行われる（ステップ６０２ＹＥＳ又は６０５ＹＥＳ）。すると、データの収集処理は終了して、重ね合わせグラフが表示される（ステップ６０８）。
【００５１】
位置揃え前の重ね合わせグラフの画面イメージ図が図２２に示されている。同図（ａ）に示されるように、いま仮に、７つのビット変数のそれぞれについて、６サイクル分のデータ列を取得したものと想定する。これら取得されたデータに基づき、重ね合わせグラフを表示する場合、上段に位置する第１波形表示領域１１０には、それら７種類のビット変数のそれぞれについて、各６サイクル分のデータ列が、時間軸のみならず論理値軸についても完全に一致させて、６サイクル分をそれぞれ１行に重ねて表示される。
【００５２】
すなわち、第１のビット変数についての６サイクル分のデータ列は、第１の表示行Ｌ１０１において１行に重ねて表示され、第２の変数についての６サイクル分のデータ列についても、第２の表示行１０２において重ねて１行に表示され、以下同様にして、第３の変数、第４の変数、第５の変数、第６の変数、第７の変数のそれぞれについても、表示行Ｌ１０３、Ｌ１０４、Ｌ１０５、Ｌ１０６、Ｌ１０７のそれぞれにおいて１行に重ねて表示される。
【００５３】
この表示態様によれば、各サイクル間でパルスの立ち上がりタイミング又は立ち下がりタイミングが微妙にずれていた場合、１行に重ねられたパルス列波形のエッジが不鮮明な線として表示されるので、僅かな立ち上がり又は立ち下がりタイミングのずれも確実に認識することができる。
【００５４】
一方、第２の波形表示領域１２０においては、第１の波形表示領域１１０に表示された７行の変数のうちの任意に選択された１行の変数が、各行に分解されて表示される。すなわち、図の例であれば、第１の表示行Ｌ１０１の変数が選択され、その変数を構成する６サイクル分のデータ列に相当するパルス列波形が、第２の波形表示領域における第１の表示行Ｌ２０１〜第６の表示行Ｌ２０６に分解されて上下に並べて表示される。
【００５５】
なお、この例においては、直線状カーソル１１１は、これに沿って上下動する上下２個のポイントマーク１１１ａ，１１１ａを有する。そして、このポイントマーク１１１ａを上段の波形表示領域１１０において所望の変数に位置合わせすれば、下段の波形表示領域１２０には、上段の波形表示領域１１０において指定された変数に相当する６サイクル分のパルス列波形が６行に分解されて並べて表示される。
【００５６】
また、図２２（ａ）に示されるように、下段に位置する第２の波形表示領域１２０の右隣には、第２の関連情報表示領域１４０が設けられる。そして、この第２の関連情報表示領域１４０には、サイクル回数表示列１４５と、ずれ時間表示列１４６と、ずれ時間色別表示ボックス列１４７とが設けられる。
【００５７】
なお、位置揃え前の画面イメージ図の状態においては、各サイクル回数表示列１６１のそれぞれに対応するずれ時間表示列１６２の値はすべて０．０００の状態とされ、色ボックス列１６３の着色についても全て同一の色とされている。
【００５８】
次に、タイミング揃え処理について説明する。先に図２２を参照して説明したように、重ね合わせ表示処理が完了した状態においては、上段に位置する第１の波形表示領域１１０には、各ビット変数に対応する複数サイクル分のパルス列波形が１行に重ねて表示され、同時に下段に位置する第２の波形表示領域１２０には、１つの変数に含まれる複数サイクルのパルス列波形が、各サイクル毎に行を異ならせて複数行に並べて表示される。しかも、各表示行のスタートポイントとエンドポイントとは同一の条件で探査されたものであるから、サイクル間における微細な位相のずれなどについても比較的容易に観察することができる。
【００５９】
しかし、如何にスタートポイントとエンドポイントとが各サイクルで一致していたとしても、各サイクルに含まれるパルス列のＯＮタイミング又はＯＦＦタイミングについては、サイクル間で合致して表示されてはいないため、サイクル間における微細な位相のずれを正確に観察することはなかなか容易なことではない。つまり、スタートポイントとエンドポイントとが各サイクル間で合致していたとしても、例えばスタートポイント以降最初にまたは２番目にＯＮパルスが出現するタイミングはサイクル間で必ずしも一致しないから、何れかのエッジタイミングを基準としてサイクル間で位相のずれを観察することはできない。
【００６０】
そこで、この例にあっては、『位置揃え処理』乃至『タイミング揃え処理』を実行することによって、複数サイクル間で特定のエッジタイミングを整合させることにより、微細な位相のずれを正確に観察できるようにしている。
【００６１】
タイミング揃え処理の詳細フローチャートが図７に、その作用説明図が図１３にそれぞれ示されている。図７において処理が開始されると、まず、グラフカーソル１１１の位置に対応するオフセットが算出される（ステップ７０１）。図１３の例であれば、この処理（ステップ７０１）によって、グラフカーソル１１１の位置に対応するオフセットとして『３』が算出される。
【００６２】
続いて、基準サイクルのＯＮ／ＯＦＦ状態が取得される（ステップ７０２）。同様に、図１３の例であれば、符号１１２が付された円で示されるように、基準サイクルのＯＮ／ＯＦＦ状態はＯＮ状態として取得される。
【００６３】
続いて、取得されたＯＮ／ＯＦＦ状態が、ＯＮ状態であるかＯＦＦ状態であるかの判定が行われる（ステップ７０３）。ここで、ＯＮ状態と判定されると（ステップ７０３ＹＥＳ）、基準変数のＯＮ回数をカウントする処理が実行された後（ステップ７０４）、そのＯＮカウント値が基準回数レジスタにセットされる。これに対して、ＯＦＦ状態と判定された場合には（ステップ７０３ＮＯ）、基準変数のＯＦＦ回数をカウントした後（ステップ７０６）、そのＯＦＦカウント値を基準回数レジスタにセットする処理が実行される（ステップ７０７）。
【００６４】
基準サイクルのＯＮ回数カウント処理の詳細フローチャートが図８に示されている。同図において処理が開始されると、まず、『ＯＮ回数』及び『オフセット』はそれぞれゼロリセットされる（ステップ８０１）。
【００６５】
以後、『オフセット』の値をインクリメントしながら（ステップ８０５）、基準サイクルの値がＯＦＦからＯＮに変化する度に（ステップ８０２ＹＥＳ）、『ＯＮ回数』をインクリメントする処理（ステップ８０３）を、オフセットの値がグラフカーソル１１１の位置に対応するオフセットに達するまで繰り返し（ステップ８０４ＮＯ）、グラフカーソルに到達したならば（ステップ８０４ＹＥＳ）、処理を終了する。
【００６６】
同様に、基準サイクルのＯＦＦ回数カウント処理の詳細フローチャートが図９に示されている。同図において処理が開始されると、『ＯＦＦ回数』及び『オフセット』はともにゼロリセットされる（ステップ９０１）。
【００６７】
以後、『オフセット』をインクリメントしつつ（ステップ９０５）、その値がグラフカーソル１１１の位置に対応する値に達するまでの間（ステップ９０４ＮＯ）、基準サイクルの値がＯＮからＯＦＦに変化する度に（ステップ９０２ＹＥＳ）、『ＯＦＦ回数』をインクリメントする処理が繰り返される（ステップ９０３）。そして、『オフセット』の値がグラフカーソルに到達したならば（ステップ９０４ＹＥＳ）、処理は終了する。
【００６８】
こうして得られたＯＮカウント値またはＯＦＦカウント値は、基準回数レジスタにそれぞれ記憶される（ステップ７０５，７０７）。
【００６９】
以後、他サイクルについて基準回数と同じオフセットを算出する処理が実行される（ステップ７０８）。他サイクルに関する基準回数との同一オフセット算出処理（ステップ７０８）の詳細フローチャートが図１０に示されている。
【００７０】
同図において、処理が開始されると、『オフセット』及び『ＯＮ／ＯＦＦ回数』は何れもゼロリセットされる（ステップ１００１，１００２）。
【００７１】
その後、『オフセット』をインクリメントしながら（ステップ１００８）、ＯＮ／ＯＦＦ回数が『基準回数』に達するまでの間（ステップ１００５ＮＯ）、ＯＮ／ＯＦＦ状態が変化する度に（ステップ１００３ＹＥＳ）、『ＯＮ／ＯＦＦ回数』をインクリメントする処理（ステップ１００４）が繰り返される。
【００７２】
その間に、『ＯＮ／ＯＦＦ回数』が基準回数に達すれば（ステップ１００５ＹＥＳ）、その時点の『オフセット』は図１８に示されるずれテーブルに格納される（ステップ１００６）。
【００７３】
一方、『ＯＮ／ＯＦＦ回数』が基準回数に達することなく（ステップ１００５ＮＯ）、最終データに達した場合（ステップ１００７ＹＥＳ）、または、オフセットをずれテーブルに格納した後にあっては（ステップ１００６）、未だ、最終サイクルに対応するデータ列でないことを条件として（ステップ１００９ＮＯ）、順次次のサイクルを調べる処理（ステップ１０１０）を繰り返す。その間に、最終サイクルに対応する一連のデータ列についての処理が終了すれば（ステップ１００９ＹＥＳ）、処理は終了する。
【００７４】
図１３の上段に描かれた波形図を参照して、以上の処理を具体的に説明する。まず、グラフカーソルの位置に対応するオフセットを算出すれば、その値は『３』とされる（ステップ７０１）。次いで、基準サイクルのＯＮ／ＯＦＦ状態を取得すれば、『ＯＮ状態』とされる（ステップ７０２）。次いで、基準変数のオフセット『３』に至る『ＯＮ回数』をカウントすれば、『１回』とされる（ステップ７０４，７０５）。次いで、他サイクルについて基準回数と同じオフセットを算出すれば、比較サイクルＡについては『２』、比較サイクルＢについては『３』となる（ステップ７０８）。その後、ずれテーブルに他サイクルのオフセットを格納すれば、図１８の内容となる（ステップ７０９）。
【００７５】
次いで、ずれテーブルに他サイクルのオフセットと基準サイクルのオフセットとの差を格納する処理が実行される（ステップ７１０）。図１６（ｂ）に示される３系統のサイクルＡ，Ｂ，Ｃを前提とし且つサイクルＡを基準サイクルとすれば、図１８に示されるように、サイクルＡ，Ｂ，Ｃに対応する『差』は「０」，「１」，「２」となる。
【００７６】
以後、グラフ表示を調整する処理（ステップ７１１）が実行される。グラフ表示の調整処理の詳細フローチャートが図１１に示されている。
【００７７】
同図において処理が開始されると、図１８に示されるずれテーブルから『差』が取り出される（ステップ１１０１）。次いで、表示位置を『差』の値だけずらす処理が実行される（ステップ１１０２）。以上の処理（ステップ１１０１，１１０２）が、最終サイクルに至るまで（ステップ１１０３ＮＯ）、他のサイクルのデータ列について同様にして調べられる（ステップ１１０４）。そして、最終サイクルに対応するデータ列についての処理が完了すれば（ステップ１１０３ＹＥＳ）、処理は終了する。
【００７８】
図１３の下段の波形図に示されるように、その上段に位置する比較サイクルＢ，比較サイクルＣのパルス列波形は、その下段の波形図に示されるように、比較サイクルＢについては『１』だけ、比較サイクルＣについては『２』だけそれぞれ左にずらされる。その結果、図１３の下段の波形図に示されるように、各サイクルの最初のＯＮパルスの立ち上がり時点は、オフセット『１』の時点に揃えられる。
【００７９】
そのため、図１３の下段の波形図をみて明らかなように、オフセット『１』の時点以降、ＯＮ状態からＯＦＦ状態へ変化する時点の相違を明瞭なものとすることができる。すなわち、基準サイクルにおいては、オフセット『４』で立ち下がり、比較サイクルＢにおいてはオフセット『３』において立ち下がり、比較サイクルＣにおいてはオフセット『５』において立ち下がるから、同一意味内容を持つ波形の位相ずれを認識し、これに基づき対応する制御機器の動作不良や経年劣化などを発見することが可能となる。
【００８０】
続いて、ずれ時間表示処理（ステップ７１２）が実行される。ずれ時間表示処理の詳細フローチャートが図１２に示されている。同図において処理が開始されると、まず、基準サイクルのオフセットに対応するタイムスタンプを内部テーブル（図１５参照）より算出する（ステップ１２０１）。
【００８１】
続いて、ずれテーブル（図１８参照）から、オフセットの値を取り出す（ステップ１２０２）。続いて、ポイント時刻から基準時刻を差し引いた値を時間差として求める（ステップ１２０４）。続いて、以上で求められた時間差を画面に表示する（ステップ１２０５）。
【００８２】
以後、同様な処理（ステップ１２０２〜１２０５）を他のサイクルについても調べる（ステップ１２０７）。以上の動作が最終サイクルに達するまで繰り返される（ステップ１２０６ＹＥＳ）。
【００８３】
位置揃え前の画面イメージ図が図２２に、位置揃え後の画面イメージ図が図２３にそれぞれ示されている。それらの図の比較から明らかなように、位置揃え前の画面イメージ図においては、同図（ｂ）に示されるように、ＯＮパルスの立ち上がり時点は不揃いとなっている。これに対して、位置揃え後の画面イメージ図においては、同図（ｂ）に示されるように、ＯＮパルスの立ち上がり時点はピッタリと整合されている。そのため、図２３（ｂ）に示されるように、本発明によれば、第１の波形表示領域１１０における同一行重ね合わせ表示、あるいは第２の波形表示領域１２０における各サイクル別の複数列表示複数行表示を適宜選択することにより、時間的にかけ離れた複数のサイクルにおけるパルス間の位相のずれを正確に観察することができると共に、表示列１６１〜１６３によって、基準パルス波形と各サイクルのパルス波形との時間的なずれを数値表示を介して正確に認識すると共に、ブロック列１６３の色階調によってもずれ量の大小を直感的に認識させることもできる。
【産業上の利用可能性】
【００８４】
本発明によれば、スタートポイントとエンドポイントとなるべき変数値条件さえ設定すれば、スタートポイントとエンドポイントとが自動的に検出されると共に、検出されたスタートポイントとエンドポイントとに挟まれる１の変数に関する一連のデータ列は複数サイクル分だけ抽出され、それらの抽出された１の変数に関する複数サイクル分のデータ列のそれぞれに相当するパルス列波形は、時間軸を整合させた状態で重ねて又は並べて表示されるから、ユーザは、時間軸上においてかなり離れた各サイクルのパルス列波形同士を画面をスクロールさせることなく同時に観察可能となる。
【図面の簡単な説明】
【００８５】
【図１】データ収集ユニットを含むＰＬＣシステムの構成図である。
【図２】本発明に係る処理の全体を示すゼネラルフローチャートである。
【図３】グラフ描画処理の詳細フローチャートである。
【図４】スタートポイント指定処理の詳細フローチャートである。
【図５】エンドポイント指定処理の詳細フローチャートである。
【図６】重ね合わせ表示処理の詳細フローチャートである。
【図７】タイミング揃え処理の詳細フローチャートである。
【図８】基準サイクルのＯＮ回数カウント処理の詳細フローチャートである。
【図９】基準サイクルのＯＦＦ回数カウント処理の詳細フローチャートである。
【図１０】他サイクルに関する基準回数との同一オフセット算出処理の詳細フローチャートである。
【図１１】グラフ表示の調整処理の詳細フローチャートである。
【図１２】ずれ時間表示処理の詳細フローチャートである。
【図１３】タイミング揃え処理の作用説明図である。
【図１４】変数テーブルの構造を示す構成図である。
【図１５】内部テーブルの構造を示す構成図である。
【図１６】位置揃え前の状態説明図である。
【図１７】位置揃え後の状態説明図である。
【図１８】ずれテーブルの構造を示す構成図である。
【図１９】グラフ描画初期状態の画面イメージ図である。
【図２０】スタートポイント指定用画面のイメージ図である。
【図２１】エンドポイント指定用画面のイメージ図である。
【図２２】位置揃え前の画面イメージ図である。
【図２３】位置揃え後の画面イメージ図である。
【符号の説明】
【００８６】
１０      ＰＬＣ
１１      ＣＰＵユニット
１２      通信ユニット
１３      Ｉ／Ｏユニット
１５      データ収集ユニット（ＳＰＵ）
２０      ＰＣ
３０      通信線
３１      信号線
３２      アクチュエータ
３３      センサ
３４      通信線
３５      表示器
１００    表示画面
１１０    第１の波形表示領域
１１１    カーソル（カーソル線）
１１１ａ  カーソルマーク
１２０    第２の波形表示領域
１３０    第１の関連情報表示領域
１３１    チェックボックス列
１３２    表示色ボックス列
１３３    アドレス／コメント列
１３４    ＯＮ／ＯＦＦ色ボックス列
１３５    ＯＮ／ＯＦＦ表示文字列
１３６    ＯＮ／ＯＦＦ時間ボックス列
１３７    切り替えボタン
１４０    第２の関連情報表示領域
１４１    チェックボックス列
１４２    表示色ボックス列
１４３    アドレス／コメント表示列
１４４    アナログ数値表示ボックス列
１４５    サイクル回数表示列
１４６    ずれ時間数値表示列
１４７    ずれ時間色ボックス列
１５１    左シフトボタン
１５２    センタリングボタン
１５３    右シフトボタン
Ｌ１０１〜Ｌ１１６  第１の波形表示領域における表示行
Ｌ２０１〜Ｌ２１６  第２の波形表示領域における表示行
【図１】
2007219658.tif 000003
【図２】
2007219658.tif 000004
【図３】
2007219658.tif 000005
【図４】
2007219658.tif 000006
【図５】
2007219658.tif 000007
【図６】
2007219658.tif 000008
【図７】
2007219658.tif 000009
【図８】
2007219658.tif 000010
【図９】
2007219658.tif 000011
【図１０】
2007219658.tif 000012
【図１１】
2007219658.tif 000013
【図１２】
2007219658.tif 000014
【図１３】
2007219658.tif 000015
【図１４】
2007219658.tif 000016
【図１５】
2007219658.tif 000017
【図１６】
2007219658.tif 000018
【図１７】
2007219658.tif 000019
【図１８】
2007219658.tif 000020
【図１９】
2007219658.tif 000021
【図２０】
2007219658.tif 000022
【図２１】
2007219658.tif 000023
【図２２】
2007219658.tif 000024
【図２３】
2007219658.tif 000025