説明

収集データのモニタ方法及び装置

【課題】時間軸上においてかなり離れた各サイクルのパルス列波形同士を画面をスクロールさせることなく同時に観察可能とすること。
【解決手段】 収集された複数の変数のうちの1の変数について、スタートポイントとエンドポイントとなるべき変数値条件を設定する第1のステップと、前記変数値条件に該当する変数値を時系列順に代入してその変数値条件の成立を判定することにより、スタートポイントとエンドポイントとを検出する第2のステップと、前記検出されたスタートポイントとエンドポイントとに挟まれる前記1の変数に関する一連のデータ列を複数サイクル分だけ抽出する第3のステップと、前記抽出された前記1の変数に関する複数サイクル分のデータ列のそれぞれに相当するパルス列波形を時間軸を整合させた状態で重ねて又は並べて表示する第4のステップとを具備する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、データ収集ユニットがプログラマブル・コントローラのメモリから収集した複数の変数の各収集時点の値のそれぞれに相当する一連のビットデータ列を画像表示器を介してモニタするための方法及び装置に関する。
【背景技術】
【0002】
プログラマブル・コントローラ(PLC)のメモリ(例えば、入出力メモリ、データメモリ等々)から各種変数(入出力ビット信号)のオンオフ状態のそれぞれに相当する一連の時系列ビットデータを自動的に収集する装置としては、データ収集ユニット(SPU)が従来より知られている(特許文献1参照)。また、この種のデータ収集装置にて収集された一連の時系列ビットデータ列を画像表示器を介してモニタすることも従来より知られている(特許文献2参照)。
【0003】
この種のモニタ装置では、データ収集ユニットにて収集された複数の変数のそれそれに関する一連の時系列ビットデータに相当するパルス列波形を、画像表示器の画面上に複数行にわたり並べて表示させるのが通例である。
【0004】
PLCの制御対象となる生産ライン等において、それに組み込まれたセンサやアクチュエータに経年劣化(摩耗、潤滑油切れ、過負荷等々)が生じた場合に、その影響は、モニタ装置の画面上に表示される各変数対応のパルス列波形のそれぞれにおける1若しくは2以上のオンパルス又はオフパルスの位相のずれとして現れることが多い。
【0005】
すなわち、この種のPLCの制御対象機器は同一動作を繰り返すことが多く、そのため、PLCの扱うビット変数に相当するパルス列波形上には、一定パターンを有する一連のパルス列波形が周期的に現れる。そして、この周期的なパルス列を構成する各パルスのそれぞれは、制御対象機器の劣化と共に位相の乱れやパルス幅の変動を来すことが多い。
【特許文献1】特開2005−128721
【特許文献2】特開2003−21650
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、この種のPLCのモニタ装置において、時間軸上においてかなり離れた各サイクルのパルス列波形同士を画面をスクロールさせながら1つずつ観察し、それらを相互に比較して位相のずれを判定する作業は、熟練作業員にとってもなかなか容易なことではない。
【0007】
この発明は、上述の問題点に着目してなされたものであり、その目的とするところは、同一のビット変数に関する一連のパルス列を任意のサイクル毎に取り出して、時間軸を整合させて重ねて又は並べて表示させることにより、時間軸上においてかなり離れた各サイクルのパルス列波形同士を画面をスクロールさせることなく同時に観察可能とた収集データのモニタ方法を提供することにある。
【0008】
この発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【0009】
この発明の収集データのモニタ方法(又は装置)は、データ収集ユニットがプログラマブル・コントローラのメモリから収集した複数の変数の各収集時点の値のそれぞれに相当する一連のビットデータ列を画像表示器を介してモニタするための方法(又は装置)であって、前記収集された複数の変数のうちの1の変数について、スタートポイントとエンドポイントとなるべき変数値条件を設定する第1のステップ(又は第1の手段)と、前記変数値条件に該当する変数値を時系列順に代入してその変数値条件の成立を判定することにより、スタートポイントとエンドポイントとを検出する第2のステップと(又は第2の手段)、前記検出されたスタートポイントとエンドポイントとに挟まれる前記1の変数に関する一連のデータ列を複数サイクル分だけ抽出する第3のステップ(又は第3の手段)と、前記抽出された前記1の変数に関する複数サイクル分のデータ列のそれぞれに相当するパルス列波形を時間軸を整合させた状態で重ねて又は並べて表示する第4のステップ(又は第4の手段)と、を具備することを特徴とするものである。
【0010】
このような構成によれば、スタートポイントとエンドポイントとなるべき変数値条件さえ設定すれば、スタートポイントとエンドポイントとが自動的に検出されると共に、検出されたスタートポイントとエンドポイントとに挟まれる前記1の変数に関する一連のデータ列が複数サイクル分だけ抽出され、それらの抽出された前記1の変数に関する複数サイクル分のデータ列のそれぞれに相当するパルス列波形は、時間軸を整合させた状態で重ねて又は並べて表示されるから、ユーザは、時間軸上においてかなり離れた各サイクルのパルス列波形同士を画面をスクロールさせることなく同時に観察可能となるのである。
【0011】
このとき、複数サイクル分のデータ列のそれぞれに相当するパルス列波形のうちから基準として選択された1のパルス列波形において、又は予め基準として用意された1のパルス列波形において、時間軸上の任意の1の時点が指定されたことを検出する第5のステップ(又は第5の手段)と、前記検出された時点と規定の関係にあるエッジの時刻及び所定の基準点からのエッジカウント数を検出する第6のステップ(又は第6の手段)と、前記基準となる1のパルス波形以外の他のパルス列波形のそれぞれについて、同一エッジカウント数となるエッジの時刻を検出する第7のステップ(又は第7の手段)と、前記基準となるパルス列波形上の前記エッジの時刻と他のパルス列波形上の前記エッジの時刻とが整合するように、他のパルス列波形を時間軸方向へシフトさせて表示させる第8のステップ(又は第8の手段)と、をさらに具備するものであれば、各サイクルパルス列波形全体同士の整合のみならず、個々のパルスに着目して、異なるサイクルのパルス同士における位相ずれ、パルス幅の変動等も容易に観察可能となる。
【0012】
そして、本発明は、請求項1又は2に記載の方法をコンピュータにより実行させるためのコンピュータプログラムとして具現化することもできる。
【発明の効果】
【0013】
本発明によれば、スタートポイントとエンドポイントとなるべき変数値条件さえ設定すれば、スタートポイントとエンドポイントとが自動的に検出されると共に、検出されたスタートポイントとエンドポイントとに挟まれる1の変数に関する一連のデータ列は複数サイクル分だけ抽出され、それらの抽出された1の変数に関する複数サイクル分のデータ列のそれぞれに相当するパルス列波形は、時間軸を整合させた状態で重ねて又は並べて表示されるから、ユーザは、時間軸上においてかなり離れた各サイクルのパルス列波形同士を画面をスクロールさせることなく同時に観察可能となる。
【発明を実施するための最良の形態】
【0014】
以下に、この発明に係る収集データのモニタ方法及び装置の好適な実施の一形態を添付図面を参照しながら詳細に説明する。
【0015】
データ収集ユニットを含むPLCシステムの構成図が図1に示されている。同図に示されるように、このPLCシステムは、PLC10と、パーソナルコンピュータ(以下、PCと言う)20と、プログラマブル表示器(PT等とも称する)35とを含んでいる。
【0016】
PLC10とPC20とは通信線30を介して結ばれており、PLC10とプログラマブル表示器35とは通信線34を介して結ばれ、同様にして、PLC10とアクチュエータ32及びセンサ33とは信号線31を介して結ばれている。
【0017】
PLC10は、この例にあっては、ビルディングブロック型に構成されており、CPUユニット11と通信ユニット12とI/Oユニット13とデータ収集ユニット(SPUとも言う)15とをバックプレーン上のバスを介して結んで構成されている。
【0018】
CPUユニット11は、PLC全体を統括制御するものであり、その内部には、ユーザプログラムメモリ、I/Oメモリ、データメモリ等を含んでいる。CPUユニット11内のマイクロプロセッサは、I/Oリフレッシュ処理、ユーザプログラム実行処理、周辺サービス処理を所定のサイクルタイムをもってサイクリックに実行する。
【0019】
I/Oリフレッシュ処理においては、I/Oユニット13を介してセンサ33から入力信号を読み込んで入力データを生成すると共に、こうして生成された入力データ(1ビットのON/OFFデータ、多ビットのアナログデータ等を含む)はCPUユニット11内の入出力メモリやデータメモリへと書き込まれる。同時に、入出力メモリやデータメモリの出力データ(1ビットのON/OFFデータ、多ビットのアナログデータの双方を含む)は、I/Oユニット13を介して外部アクチュエータ32へと送出される。
【0020】
命令実行処理においては、CPUユニット11内の入出力メモリやデータメモリの内容に基づき、ユーザプログラムを構成する各命令を順次読み出しては実行すると共に、その実行結果に基づいて、入出力メモリやデータメモリの該当するデータを書き換える。
【0021】
周辺サービス機能においては、図示しないネットワークを介して他のPLCとの間でデータの交換を行ったり、上位PC20と通信を行うことにより、ユーザプログラムのアップロードやダウンロード等の様々な周辺サービス処理を行う。
【0022】
データ収集ユニット(SPU)15は、上述したI/Oリフレッシュ処理と連動して、CPUユニット11内のI/Oメモリやデータメモリから、1ビットまたは多ビットの入出力データを読み出し、これをデータ収集ユニット15内の所定メモリに蓄積保存する。そして、適当なタイミングで、通信線35を介してPC20と通信することにより、データ収集ユニット15内の収集データを、PC20へと送信する。
【0023】
すなわち、CPUユニット11のI/Oメモリやデータメモリ内のデータは、サイクルタイムに同期して、CPUユニット11からデータ収集ユニットSPU15へと転送されて、データ収集ユニット15内に蓄積保存される。そして、この蓄積保存された入出力データ(入出力変数)は、適当なタイミングで、PC20とデータ収集ユニット15とが交信することによって、データ収集ユニット(SPU)15からPC20へと送り込まれる。
【0024】
PC20では、PLC10のデータ収集ユニット(SPU)15から読み込まれたデータを内部メモリ(内部テーブル)に保存する。この内部メモリに保存された入出力データ(入出力変数)は、PC20に備えられた図示しない画像表示器の画面上に所定の表示フォーマットで表示される。これにより、PC20のオペレータは、画像表示器の画面上に表示された表示内容に基づいて、CPUユニット11の入出力メモリやデータメモリの内容をモニタすることができる。本発明は、このPC20におけるモニタ機能に関するものである。
【0025】
本発明と関連してPC20で実行される処理の全体を示すゼネラルフローチャートが図2に示されている。同図に示されるように、この処理の全体は、グラフ描画処理(ステップ201)と、スタートポイント指定処理(ステップ202)と、エンドポイント指定処理(ステップ203)と、重ね合わせ表示処理(ステップ204)とを含んでいる。
【0026】
グラフ描画処理(ステップ201)の詳細フローチャートが図3に示されている。同図において処理が開始されると、まず、PC20はPLC10側のデータ収集ユニット(SPU)15と通信することにより、データ収集ユニット(SPU)15に格納された変数テーブルデータ並びに変数データ(ビット変数データ、アナログ変数データ)をPC20側へと読み出す(ステップ301)。
【0027】
こうして読み出された変数テーブルデータ並びに変数データは、PC20のメモリ内にあらかじめ設けられた変数テーブル並びに内部テーブルに格納される(ステップ302)。すなわち、データ収集ユニット(SPU)15から読み出された変数テーブルデータについては、PC20内の同様な変数テーブルに格納され、同時に、SPU15内のメモリから読み出された変数データ(ビット変数データ、アナログ変数データ)は、PC20のメモリ内の内部テーブルに格納される(ステップ302)。なお、図3のグラフ描画処理で利用された変数テーブルの構造を示す構成図が図14に、また内部テーブルの構造を示す構成図が図15にそれぞれ示されている。
【0028】
図14に示されるように、変数テーブルには、複数の属性項目が設定されており、それらの属性項目のそれぞれ毎に該当する情報が一連に記憶されている。それらの属性項目としては、『No.』と記されたインデックス番号、『名称』と記された変数名称、『型』と記された変数型、『メモリ情報』と記されたPLC内におけるI/Oメモリまたはデータメモリのアドレス情報、『備考』と記されたコメント情報を挙げることができる。
【0029】
また図15に示されるように、内部テーブルには、複数の属性項目のそれぞれ毎に該当する情報が一連に記憶されている。それらの属性項目としては、『データインデックス』、『タイムスタンプ』、『変数No.1データ』、『変数No.2データ』・・・を挙げることができる。すなわち、この変数テーブルには、データ取得時刻のそれぞれ毎に、取得されたビット変数並びにアナログ変数の状態が時系列的に格納されている。
【0030】
続いて、PC20のメモリ内の変数テーブル及び内部テーブルに格納されたデータに基づき、グラフ描画処理が実行される(ステップ303)。グラフ描画初期状態の画面イメージ図が図19に示されている。
【0031】
同図に示されるように、PC20に備え付けられた画像表示器の画面100には、上段に位置し且つ横長長方形状を有する第1の波形表示領域110と、下段に位置し且つ同様に横長長方形状を有する第2の波形表示領域120とが設けられる。また、第1の波形表示領域110の右隣には、第1の波形表示領域110に表示される波形の関連情報を表示するための第1の関連情報表示領域130が設けられ、同様にして、第2の波形表示領域120の右隣にも、第2の波形表示領域120に表示される波形の関連情報を表示するための第2の関連情報表示領域140が設けられる。
【0032】
第1の波形表示領域110には、L1〜L16からなる16行の表示行が設けられている。各表示行L1〜L16には、対応するビット変数のデータ列に相当するパルス列波形が表示される。また、第1の関連情報表示領域130には、各表示行L1〜L16を表示アクティブとするかノンアクティブとするかを決定するためのチェックボックス列131と、各表示行L1〜L16に表示されるパルス列波形の表示色を示す表示色ボックス列132と、各表示行L1〜L16のそれぞれに対応してアドレスまたはコメントの何れかを択一的に表示するアドレス/コメント表示列133と、各表示行L1〜L16に対応して、カーソル111の指し示す時間軸上の1点におけるON状態またはOFF状態を2色の何れかで示すON/OFF色ボックス列134と、同様にON/OFF状態を文字で示すON/OFF表示列135と、カーソル111がONパルスに位置するときにはON時間を、またOFFパルスに位置するときにはOFF時間をそれぞれ表示するON/OFF時間ボックス列136とが設けられている。なお、137は、アドレス/コメント表示列の切り替えに使用するための切り替えボタンである。
【0033】
一方、第2の波形表示領域120には、この例にあっては、各アナログ変数データ列に対応するアナログ波形が表示される。これらのアナログ波形は、それぞれ固有の表示色をもって行われる。このアナログ波形表示は、第2の波形表示領域の上下方向幅全体を使用して行うことができる。そのため、レンジの異なる複数の波形が表示されるため、それらの波形は互いに重ねて表示される。しかし、各波形の表示色は異なるため、視認性を損ねることはない。
【0034】
第2の関連情報表示領域140には、第2の波形表示領域120に表示される複数のアナログ変数のそれぞれに対応して、表示をアクティブにするかノンアクティブにするかを決定するためのチェックボックス列141と、複数の変数のそれぞれの固有色に相当する色を表示するための色ボックス列142と、各行の変数に対応するアドレス表示列143と、カーソル110が位置する時間軸上の1点における各アナログ変数の値を示すアナログ変数値ボックス列144とが設けられている。
【0035】
この例にあっては、カーソル111としては、第1の波形表示領域及び第2の波形表示領域を上下に横切る1本の直線状カーソルが使用されている。このカーソル111を図中左右方向へと移動させるためには、左シフトボタン151または右シフトボタン153が使用され、さらに何れかのONパルスまたはOFFパルス上においてセンタリングをさせるためには、センタリングボタン152が使用される。
【0036】
続いて、スタートポイント指定処理(ステップ202)の詳細が図4に示されている。同図において処理が開始されると、図20に示されるように、PC20に備え付けられた表示装置の画面100上には、選択可能なビット変数並びにアナログ変数の一覧をメニュー表示させることが可能な変数一覧表示領域101と、スタートポイントとして決定された条件式を表示させるための条件式表示領域102と、ビット変数の状態を決定するためのONンボタン105と、追加ボタン103aと、削除ボタン103bと、変更ボタン103cとが設けられる。
【0037】
オペレータは、表示領域101内においてカーソルを上下に移動させつつ所望の変数に位置合わせし、しかる後、ONボタン105を操作する。すると、図4のフローチャートにおいて、変数テーブルよりビット変数を取り出す処理(ステップ401)、変数テーブルよりアナログ変数を取り出す処理(ステップ402)、さらにスタートポイントの条件入力を受け付ける処理(ステップ403)が順次に実行され、これにより入力ポイントに相当する条件式が決定される。こうして決定された条件式は、メモリ内のスタートポイントに相当する条件式記憶領域に格納される(ステップ404)。すると、図20に示されるように、条件式表示領域102には、こうして決定された条件式が表示される。この例にあっては、『ビット変数CIO_00111_00(ハンダゴテ)がONしたとき』がスタートポイントとして設定される。
【0038】
続いて、エンドポイント指定処理(ステップ203)の詳細フローチャートが図5に示されている。同図において処理が開始されると、PC20に備えられた画像表示器の画面100上には、図21に示されるように、変数一覧表示領域101と、条件式表示領域102と、追加ボタン103aと、削除ボタン103bと、変更ボタン103cと、選択変数表示領域104と、アナログ条件表示領域106とが設けられる。
【0039】
この場合にも、オペレータは、表示領域101において所望の変数をカーソルの上下移動で選択し、その状態で、アナログ条件表示領域106を適宜操作することによって、エンドポイントに相当する条件式を決定することができる。
【0040】
すると、図5のフローチャートにおいては、変数テーブルよりビットデータを取り出す処理(ステップ501)、変数テーブルよりアナログデータを取り出す処理(ステップ502)、エンドポイントの条件入力を受け付ける処理(ステップ503)が順次に実行されて、エンドポイントを決定するための条件式が決定され、こうして決定された条件式はメモリ内のエンドポイントに相当する記憶領域に格納される(ステップ504)。こうして格納された条件式は、画面100上においては、条件式表示領域102に表示される。この例にあっては、『アナログ変数DM_00040_CH(X軸現在位置)≧0.00』がエンドポイント決定のための条件式として記憶される。
【0041】
続いて、重ね合わせ表示処理(ステップ204)の詳細フローチャートが図6に示されている。同図において、処理が開始されると、内部テーブルよりデータを取り出した後(ステップ601)、データが存在することを条件として(ステップ602NO)、そのデータを条件式に当てはめることにより、スタートポイントと一致したと判定されるまで(ステップ603NO)、データインデックスをインクリメントしつつ、以上の動作(ステップ601〜603)が繰り返される。
【0042】
ここで、スタートポイント決定のための条件式は、個々のビット変数、アナログ変数、あるいはそれら変数の組み合わせによって任意に決定することができる。そのため、内部テーブルよりデータを取り出す処理(ステップ601)においては、その照合に必要な全ての変数を図15に示される内部テーブルより取り出す。
【0043】
この間に、スタートポイントとの一致が判定されれば(ステップ603YES)、以後、エンドポイントとの一致が判定されるまでの間(ステップ606NO)、図15に示される内部テーブルから、エンドポイント照合のためのデータのみならずグラフ表示用のデータについても、データインデックスをインクリメントしつつ、読み出す処理が実行される(ステップ604)。
【0044】
この間に、エンドポイントとの一致が判定されれば(ステップ606YES)、それまで内部テーブルより取り出したデータのうちで、グラフ表示用のデータを、メモリの重ね合わせテーブルに格納する。このグラフデータ格納処理(ステップ607)によって、スタートポイントからエンドポイントに至る1サイクル分のデータが切り出される。
【0045】
ここで重ね合わせテーブルについて、図16を参照して説明する。同図(b)に示されるように、3つのサイクル(サイクルA,B,C)のそれぞれについて、スタートポイントとエンドポイントとに基づいてデータが収集されたと想定する。
【0046】
このとき、スタートポイントからエンドポイントに至る区間に、オフセット0〜11を設定すると、同図(a)に示されるように、重ね合わせテーブルにおいては、一連のオフセット0〜11に対応して、サイクル値とサイクルデータインデックスとの組を取得することができる。
【0047】
すなわち、基準となるサイクルAデータ列については、オフセット0〜11とサイクルデータインデックス0〜11とが対応する。同様にして、比較対照となるサイクルBデータ列においては、オフセット0〜11とデータインデックス22〜33が対応する。さらに比較対照となるサイクルCデータ列についても、オフセット0〜11とデータインデックス42〜53とが対応する。さらに、オフセット値0〜11に対応して、サイクルA値、サイクルB値、サイクルC値がそれぞれ“1”または“0”として決定される。
【0048】
このように、位置揃え前の重ね合わせテーブルにおいては、オフセット0〜11に対応して、サイクルA,サイクルB,サイクルCのそれぞれ毎に、論理値とデータインデックスの組が記憶されることとなる。
【0049】
以後、フローチャートの先頭に戻って、以上の動作(ステップ601〜607)が繰り返されることにより、次の1サイクル分のグラフデータ、さらには次の次の1サイクル分のグラフデータと言ったように、時系列的に配列された一連のデータ列の中で、周期性を有する一連のグラフデータが、間隔をおいて収集されていく。
【0050】
以上の動作を繰り返す間に、内部テーブル内の最終データインデックスまで達すると、スタートポイントの探索中(ステップ602)またはエンドポイントの探索中(ステップ605)において、データ無しの判定が行われる(ステップ602YES又は605YES)。すると、データの収集処理は終了して、重ね合わせグラフが表示される(ステップ608)。
【0051】
位置揃え前の重ね合わせグラフの画面イメージ図が図22に示されている。同図(a)に示されるように、いま仮に、7つのビット変数のそれぞれについて、6サイクル分のデータ列を取得したものと想定する。これら取得されたデータに基づき、重ね合わせグラフを表示する場合、上段に位置する第1波形表示領域110には、それら7種類のビット変数のそれぞれについて、各6サイクル分のデータ列が、時間軸のみならず論理値軸についても完全に一致させて、6サイクル分をそれぞれ1行に重ねて表示される。
【0052】
すなわち、第1のビット変数についての6サイクル分のデータ列は、第1の表示行L101において1行に重ねて表示され、第2の変数についての6サイクル分のデータ列についても、第2の表示行102において重ねて1行に表示され、以下同様にして、第3の変数、第4の変数、第5の変数、第6の変数、第7の変数のそれぞれについても、表示行L103、L104、L105、L106、L107のそれぞれにおいて1行に重ねて表示される。
【0053】
この表示態様によれば、各サイクル間でパルスの立ち上がりタイミング又は立ち下がりタイミングが微妙にずれていた場合、1行に重ねられたパルス列波形のエッジが不鮮明な線として表示されるので、僅かな立ち上がり又は立ち下がりタイミングのずれも確実に認識することができる。
【0054】
一方、第2の波形表示領域120においては、第1の波形表示領域110に表示された7行の変数のうちの任意に選択された1行の変数が、各行に分解されて表示される。すなわち、図の例であれば、第1の表示行L101の変数が選択され、その変数を構成する6サイクル分のデータ列に相当するパルス列波形が、第2の波形表示領域における第1の表示行L201〜第6の表示行L206に分解されて上下に並べて表示される。
【0055】
なお、この例においては、直線状カーソル111は、これに沿って上下動する上下2個のポイントマーク111a,111aを有する。そして、このポイントマーク111aを上段の波形表示領域110において所望の変数に位置合わせすれば、下段の波形表示領域120には、上段の波形表示領域110において指定された変数に相当する6サイクル分のパルス列波形が6行に分解されて並べて表示される。
【0056】
また、図22(a)に示されるように、下段に位置する第2の波形表示領域120の右隣には、第2の関連情報表示領域140が設けられる。そして、この第2の関連情報表示領域140には、サイクル回数表示列145と、ずれ時間表示列146と、ずれ時間色別表示ボックス列147とが設けられる。
【0057】
なお、位置揃え前の画面イメージ図の状態においては、各サイクル回数表示列161のそれぞれに対応するずれ時間表示列162の値はすべて0.000の状態とされ、色ボックス列163の着色についても全て同一の色とされている。
【0058】
次に、タイミング揃え処理について説明する。先に図22を参照して説明したように、重ね合わせ表示処理が完了した状態においては、上段に位置する第1の波形表示領域110には、各ビット変数に対応する複数サイクル分のパルス列波形が1行に重ねて表示され、同時に下段に位置する第2の波形表示領域120には、1つの変数に含まれる複数サイクルのパルス列波形が、各サイクル毎に行を異ならせて複数行に並べて表示される。しかも、各表示行のスタートポイントとエンドポイントとは同一の条件で探査されたものであるから、サイクル間における微細な位相のずれなどについても比較的容易に観察することができる。
【0059】
しかし、如何にスタートポイントとエンドポイントとが各サイクルで一致していたとしても、各サイクルに含まれるパルス列のONタイミング又はOFFタイミングについては、サイクル間で合致して表示されてはいないため、サイクル間における微細な位相のずれを正確に観察することはなかなか容易なことではない。つまり、スタートポイントとエンドポイントとが各サイクル間で合致していたとしても、例えばスタートポイント以降最初にまたは2番目にONパルスが出現するタイミングはサイクル間で必ずしも一致しないから、何れかのエッジタイミングを基準としてサイクル間で位相のずれを観察することはできない。
【0060】
そこで、この例にあっては、『位置揃え処理』乃至『タイミング揃え処理』を実行することによって、複数サイクル間で特定のエッジタイミングを整合させることにより、微細な位相のずれを正確に観察できるようにしている。
【0061】
タイミング揃え処理の詳細フローチャートが図7に、その作用説明図が図13にそれぞれ示されている。図7において処理が開始されると、まず、グラフカーソル111の位置に対応するオフセットが算出される(ステップ701)。図13の例であれば、この処理(ステップ701)によって、グラフカーソル111の位置に対応するオフセットとして『3』が算出される。
【0062】
続いて、基準サイクルのON/OFF状態が取得される(ステップ702)。同様に、図13の例であれば、符号112が付された円で示されるように、基準サイクルのON/OFF状態はON状態として取得される。
【0063】
続いて、取得されたON/OFF状態が、ON状態であるかOFF状態であるかの判定が行われる(ステップ703)。ここで、ON状態と判定されると(ステップ703YES)、基準変数のON回数をカウントする処理が実行された後(ステップ704)、そのONカウント値が基準回数レジスタにセットされる。これに対して、OFF状態と判定された場合には(ステップ703NO)、基準変数のOFF回数をカウントした後(ステップ706)、そのOFFカウント値を基準回数レジスタにセットする処理が実行される(ステップ707)。
【0064】
基準サイクルのON回数カウント処理の詳細フローチャートが図8に示されている。同図において処理が開始されると、まず、『ON回数』及び『オフセット』はそれぞれゼロリセットされる(ステップ801)。
【0065】
以後、『オフセット』の値をインクリメントしながら(ステップ805)、基準サイクルの値がOFFからONに変化する度に(ステップ802YES)、『ON回数』をインクリメントする処理(ステップ803)を、オフセットの値がグラフカーソル111の位置に対応するオフセットに達するまで繰り返し(ステップ804NO)、グラフカーソルに到達したならば(ステップ804YES)、処理を終了する。
【0066】
同様に、基準サイクルのOFF回数カウント処理の詳細フローチャートが図9に示されている。同図において処理が開始されると、『OFF回数』及び『オフセット』はともにゼロリセットされる(ステップ901)。
【0067】
以後、『オフセット』をインクリメントしつつ(ステップ905)、その値がグラフカーソル111の位置に対応する値に達するまでの間(ステップ904NO)、基準サイクルの値がONからOFFに変化する度に(ステップ902YES)、『OFF回数』をインクリメントする処理が繰り返される(ステップ903)。そして、『オフセット』の値がグラフカーソルに到達したならば(ステップ904YES)、処理は終了する。
【0068】
こうして得られたONカウント値またはOFFカウント値は、基準回数レジスタにそれぞれ記憶される(ステップ705,707)。
【0069】
以後、他サイクルについて基準回数と同じオフセットを算出する処理が実行される(ステップ708)。他サイクルに関する基準回数との同一オフセット算出処理(ステップ708)の詳細フローチャートが図10に示されている。
【0070】
同図において、処理が開始されると、『オフセット』及び『ON/OFF回数』は何れもゼロリセットされる(ステップ1001,1002)。
【0071】
その後、『オフセット』をインクリメントしながら(ステップ1008)、ON/OFF回数が『基準回数』に達するまでの間(ステップ1005NO)、ON/OFF状態が変化する度に(ステップ1003YES)、『ON/OFF回数』をインクリメントする処理(ステップ1004)が繰り返される。
【0072】
その間に、『ON/OFF回数』が基準回数に達すれば(ステップ1005YES)、その時点の『オフセット』は図18に示されるずれテーブルに格納される(ステップ1006)。
【0073】
一方、『ON/OFF回数』が基準回数に達することなく(ステップ1005NO)、最終データに達した場合(ステップ1007YES)、または、オフセットをずれテーブルに格納した後にあっては(ステップ1006)、未だ、最終サイクルに対応するデータ列でないことを条件として(ステップ1009NO)、順次次のサイクルを調べる処理(ステップ1010)を繰り返す。その間に、最終サイクルに対応する一連のデータ列についての処理が終了すれば(ステップ1009YES)、処理は終了する。
【0074】
図13の上段に描かれた波形図を参照して、以上の処理を具体的に説明する。まず、グラフカーソルの位置に対応するオフセットを算出すれば、その値は『3』とされる(ステップ701)。次いで、基準サイクルのON/OFF状態を取得すれば、『ON状態』とされる(ステップ702)。次いで、基準変数のオフセット『3』に至る『ON回数』をカウントすれば、『1回』とされる(ステップ704,705)。次いで、他サイクルについて基準回数と同じオフセットを算出すれば、比較サイクルAについては『2』、比較サイクルBについては『3』となる(ステップ708)。その後、ずれテーブルに他サイクルのオフセットを格納すれば、図18の内容となる(ステップ709)。
【0075】
次いで、ずれテーブルに他サイクルのオフセットと基準サイクルのオフセットとの差を格納する処理が実行される(ステップ710)。図16(b)に示される3系統のサイクルA,B,Cを前提とし且つサイクルAを基準サイクルとすれば、図18に示されるように、サイクルA,B,Cに対応する『差』は「0」,「1」,「2」となる。
【0076】
以後、グラフ表示を調整する処理(ステップ711)が実行される。グラフ表示の調整処理の詳細フローチャートが図11に示されている。
【0077】
同図において処理が開始されると、図18に示されるずれテーブルから『差』が取り出される(ステップ1101)。次いで、表示位置を『差』の値だけずらす処理が実行される(ステップ1102)。以上の処理(ステップ1101,1102)が、最終サイクルに至るまで(ステップ1103NO)、他のサイクルのデータ列について同様にして調べられる(ステップ1104)。そして、最終サイクルに対応するデータ列についての処理が完了すれば(ステップ1103YES)、処理は終了する。
【0078】
図13の下段の波形図に示されるように、その上段に位置する比較サイクルB,比較サイクルCのパルス列波形は、その下段の波形図に示されるように、比較サイクルBについては『1』だけ、比較サイクルCについては『2』だけそれぞれ左にずらされる。その結果、図13の下段の波形図に示されるように、各サイクルの最初のONパルスの立ち上がり時点は、オフセット『1』の時点に揃えられる。
【0079】
そのため、図13の下段の波形図をみて明らかなように、オフセット『1』の時点以降、ON状態からOFF状態へ変化する時点の相違を明瞭なものとすることができる。すなわち、基準サイクルにおいては、オフセット『4』で立ち下がり、比較サイクルBにおいてはオフセット『3』において立ち下がり、比較サイクルCにおいてはオフセット『5』において立ち下がるから、同一意味内容を持つ波形の位相ずれを認識し、これに基づき対応する制御機器の動作不良や経年劣化などを発見することが可能となる。
【0080】
続いて、ずれ時間表示処理(ステップ712)が実行される。ずれ時間表示処理の詳細フローチャートが図12に示されている。同図において処理が開始されると、まず、基準サイクルのオフセットに対応するタイムスタンプを内部テーブル(図15参照)より算出する(ステップ1201)。
【0081】
続いて、ずれテーブル(図18参照)から、オフセットの値を取り出す(ステップ1202)。続いて、ポイント時刻から基準時刻を差し引いた値を時間差として求める(ステップ1204)。続いて、以上で求められた時間差を画面に表示する(ステップ1205)。
【0082】
以後、同様な処理(ステップ1202〜1205)を他のサイクルについても調べる(ステップ1207)。以上の動作が最終サイクルに達するまで繰り返される(ステップ1206YES)。
【0083】
位置揃え前の画面イメージ図が図22に、位置揃え後の画面イメージ図が図23にそれぞれ示されている。それらの図の比較から明らかなように、位置揃え前の画面イメージ図においては、同図(b)に示されるように、ONパルスの立ち上がり時点は不揃いとなっている。これに対して、位置揃え後の画面イメージ図においては、同図(b)に示されるように、ONパルスの立ち上がり時点はピッタリと整合されている。そのため、図23(b)に示されるように、本発明によれば、第1の波形表示領域110における同一行重ね合わせ表示、あるいは第2の波形表示領域120における各サイクル別の複数列表示複数行表示を適宜選択することにより、時間的にかけ離れた複数のサイクルにおけるパルス間の位相のずれを正確に観察することができると共に、表示列161〜163によって、基準パルス波形と各サイクルのパルス波形との時間的なずれを数値表示を介して正確に認識すると共に、ブロック列163の色階調によってもずれ量の大小を直感的に認識させることもできる。
【産業上の利用可能性】
【0084】
本発明によれば、スタートポイントとエンドポイントとなるべき変数値条件さえ設定すれば、スタートポイントとエンドポイントとが自動的に検出されると共に、検出されたスタートポイントとエンドポイントとに挟まれる1の変数に関する一連のデータ列は複数サイクル分だけ抽出され、それらの抽出された1の変数に関する複数サイクル分のデータ列のそれぞれに相当するパルス列波形は、時間軸を整合させた状態で重ねて又は並べて表示されるから、ユーザは、時間軸上においてかなり離れた各サイクルのパルス列波形同士を画面をスクロールさせることなく同時に観察可能となる。
【図面の簡単な説明】
【0085】
【図1】データ収集ユニットを含むPLCシステムの構成図である。
【図2】本発明に係る処理の全体を示すゼネラルフローチャートである。
【図3】グラフ描画処理の詳細フローチャートである。
【図4】スタートポイント指定処理の詳細フローチャートである。
【図5】エンドポイント指定処理の詳細フローチャートである。
【図6】重ね合わせ表示処理の詳細フローチャートである。
【図7】タイミング揃え処理の詳細フローチャートである。
【図8】基準サイクルのON回数カウント処理の詳細フローチャートである。
【図9】基準サイクルのOFF回数カウント処理の詳細フローチャートである。
【図10】他サイクルに関する基準回数との同一オフセット算出処理の詳細フローチャートである。
【図11】グラフ表示の調整処理の詳細フローチャートである。
【図12】ずれ時間表示処理の詳細フローチャートである。
【図13】タイミング揃え処理の作用説明図である。
【図14】変数テーブルの構造を示す構成図である。
【図15】内部テーブルの構造を示す構成図である。
【図16】位置揃え前の状態説明図である。
【図17】位置揃え後の状態説明図である。
【図18】ずれテーブルの構造を示す構成図である。
【図19】グラフ描画初期状態の画面イメージ図である。
【図20】スタートポイント指定用画面のイメージ図である。
【図21】エンドポイント指定用画面のイメージ図である。
【図22】位置揃え前の画面イメージ図である。
【図23】位置揃え後の画面イメージ図である。
【符号の説明】
【0086】
10 PLC
11 CPUユニット
12 通信ユニット
13 I/Oユニット
15 データ収集ユニット(SPU)
20 PC
30 通信線
31 信号線
32 アクチュエータ
33 センサ
34 通信線
35 表示器
100 表示画面
110 第1の波形表示領域
111 カーソル(カーソル線)
111a カーソルマーク
120 第2の波形表示領域
130 第1の関連情報表示領域
131 チェックボックス列
132 表示色ボックス列
133 アドレス/コメント列
134 ON/OFF色ボックス列
135 ON/OFF表示文字列
136 ON/OFF時間ボックス列
137 切り替えボタン
140 第2の関連情報表示領域
141 チェックボックス列
142 表示色ボックス列
143 アドレス/コメント表示列
144 アナログ数値表示ボックス列
145 サイクル回数表示列
146 ずれ時間数値表示列
147 ずれ時間色ボックス列
151 左シフトボタン
152 センタリングボタン
153 右シフトボタン
L101〜L116 第1の波形表示領域における表示行
L201〜L216 第2の波形表示領域における表示行

【特許請求の範囲】
【請求項1】
データ収集ユニットがプログラマブル・コントローラのメモリから収集した複数の変数の各収集時点の値のそれぞれに相当する一連のビットデータ列を画像表示器を介してモニタするための方法であって、
前記収集された複数の変数のうちの1の変数について、スタートポイントとエンドポイントとなるべき変数値条件を設定する第1のステップと、
前記変数値条件に該当する変数値を時系列順に代入してその変数値条件の成立を判定することにより、スタートポイントとエンドポイントとを検出する第2のステップと、
前記検出されたスタートポイントとエンドポイントとに挟まれる前記1の変数に関する一連のデータ列を複数サイクル分だけ抽出する第3のステップと、
前記抽出された前記1の変数に関する複数サイクル分のデータ列のそれぞれに相当するパルス列波形を時間軸を整合させた状態で重ねて又は並べて表示する第4のステップと、
を具備することを特徴とする収集データのモニタ方法。
【請求項2】
複数サイクル分のデータ列のそれぞれに相当するパルス列波形のうちから基準として選択された1のパルス列波形において、又は予め基準として用意された1のパルス列波形において、時間軸上の任意の1の時点が指定されたことを検出する第5のステップと、
前記検出された時点と規定の関係にあるエッジの時刻及び所定の基準点からのエッジカウント数を検出する第6のステップと、
前記基準となる1のパルス波形以外の他のパルス列波形のそれぞれについて、同一エッジカウント数となるエッジの時刻を検出する第7のステップと、
前記基準となるパルス列波形上の前記エッジの時刻と他のパルス列波形上の前記エッジの時刻とが整合するように、他のパルス列波形を時間軸方向へシフトさせて表示させる第8のステップと、
をさらに具備することを特徴とする請求項1に記載の収集データのモニタ方法。
【請求項3】
データ収集ユニットがプログラマブル・コントローラのメモリから収集した複数の変数の各収集時点の値のそれぞれに相当する一連のビットデータ列を画像表示器を介してモニタするための装置であって、
前記収集された複数の変数のうちの1の変数について、スタートポイントとエンドポイントとなるべき変数値条件を設定する第1の手段と、
前記変数値条件に該当する変数値を時系列順に代入してその変数値条件の成立を判定することにより、スタートポイントとエンドポイントとを検出する第2の手段と、
前記検出されたスタートポイントとエンドポイントとに挟まれる前記1の変数に関する一連のデータ列を複数サイクル分だけ抽出する第3の手段と、
前記抽出された前記1の変数に関する複数サイクル分のデータ列のそれぞれに相当するパルス列波形を時間軸を整合させた状態で重ねて又は並べて表示する第4の手段と、
を具備することを特徴とする収集データのモニタ装置。
【請求項4】
複数サイクル分のデータ列のそれぞれに相当するパルス列波形のうちから基準として選択された1のパルス列波形において、又は予め基準として用意された1のパルス列波形において、時間軸上の任意の1の時点が指定されたことを検出する第5の手段と、
前記検出された時点と規定の関係にあるエッジの時刻及び所定の基準点からのエッジカウント数を検出する第6の手段と、
前記基準となる1のパルス波形以外の他のパルス列波形のそれぞれについて、同一エッジカウント数となるエッジの時刻を検出する第7の手段と、
前記基準となるパルス列波形上の前記エッジの時刻と他のパルス列波形上の前記エッジの時刻とが整合するように、他のパルス列波形を時間軸方向へシフトさせて表示させる第8の手段と、
をさらに具備することを特徴とする請求項3に記載の収集データのモニタ装置。
【請求項5】
請求項1又は2に記載の方法をコンピュータにより実行させるためのコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate


【公開番号】特開2007−219658(P2007−219658A)
【公開日】平成19年8月30日(2007.8.30)
【国際特許分類】
【出願番号】特願2006−37112(P2006−37112)
【出願日】平成18年2月14日(2006.2.14)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】