(57)【特許請求の範囲】
【請求項１】
複数のモニタ手段をマルチタスクＯＳ上で動作させ、ターゲットシステムとの間でデータを遣り取りして画面表示等を行うようにしてあるモニタリングシステムにおいて、
マルチタスクＯＳ上で動作し、動作テーブルにより与えられる表示、動作内容データに従った表示、動作を行う多重起動可能な１つのモニタ動作実行手段（１）と、そのモニタ動作実行手段（１）に適用される表示、動作内容データを記述した複数の前記動作テーブルとを備え、
動作テーブルは、モニタ動作実行手段（１）で実現されるモニタ手段の複数の動作がシーケンス式に記述されたロジックテーブル（２０）と、そのロジックテーブル（２０）に参照され、表示、動作内容データが記述されたファンクションテーブル（２１）と、ファンクションテーブル（２１）に参照され、モニタ動作に用いるデータのアクセス対象情報を持つオブジェクトテーブル（２２）とから構成され、
ロジックテーブル（２０）には、先頭から順に初期化部（２０ａ）とメイン処理部（２０ｂ）とマクロ記述部（２０ｃ）が設けてあり、初期化部（２０ａ）は、所定のイベントが発生したときにのみに当該動作テーブルに基づくモニタ動作を実行するようにイベント条件を予め定義してあり、メイン処理部（２０ｂ）は、イベント通知を判別条件として、そのイベント通知があったときに行われる処理が夫々条件識別子に続いてテキストで記述され、工具情報表示手段で行うすべての動作がシーケンス式に順に記述され、マクロ記述部（２０ｃ）は、メイン処理部の、各処理で共通に使用される共通処理が記述され、メイン処理部（２０ｂ）で記述された処理の途中で、マクロ記述部（２０ｃ）の共通処理が呼び出されるようになっており、
前記モニタ動作実行手段（１）は、ロジック処理部（５０）とファンクションテーブル処理部（６０）とから構成され、ロジック処理部（５０）は、ＯＳから通知されたイベントが、前記モニタ手段に対して有効かどうかを判断するイベントチェック手段（５１）と、有効であれば前記メイン処理部（２０ｂ）を実行開始する実行開始手段（５２）と、メイン処理部（２０ｂ）において記述されている複数の処理をシーケンス式に先頭から処理を行う実行手段（５３）と、メイン処理部（２０ｂ）の実行を終える終了判別手段（５４）とを備え、メイン処理部（２０ｂ）を先頭から末尾まで１周期分処理したら終了し、
複数の動作テーブルの表示、動作内容データを多重に動作した前記モニタ動作実行手段に夫々適用して複数のモニタ手段を構成可能とし、それらのモニタ手段とターゲットシステムとをデータ授受のための通信手段（８）で接続したことを特徴とするモニタリングシステム。
【請求項２】
フアンクションテーブル（２１）において記述される、オブジェクトテーブル（２２）を参照して画面表示を行わせるための参照描画ファンクションを、参照したオブジェクトテーブル（２２）で指定されているデータを利用若しくは加工して、画面上での表示方式を多様に指定可能なものとし、前記ファンクションテーブル処理部（６０）には、前記表示方式を解釈してそれに従う表示制御を行わせる表示制御手段（６３）を備え、
オブジェクトテーブル（２２）において、データのアクセス対象情報を間接記述し、該間接記述データをオブジェクトテーブル（２２）の外側で別に指定することにより、オブジェクトテーブル（２２）で指定されるデータのアクセス対象を可変としたことを特徴とする請求項１記載のモニタリングシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、制御対象機器を動作制御するプログラマブルコントローラ（ターゲットシステム）を介して、該制御対象機器の各種動作データをモニタするモニタリングシステムに関する。
【０００２】
【従来の技術】
マルチタスクＯＳ上で複数のモニタ装置を実現して、ターゲットシステム（プログラマブルコントローラ）と通信して、プログラムコントローラが制御している制御対象機器に関する多くの動作データをモニタ可能としたモニタリングシステムがある（たとえば、特開平１１−３２７６１２号など）。
【０００３】
【発明が解決しようとする課題】
しかしながら、このような従来のモニタ装置では、各モニタ装置（モニタプログラム）は、制御対象装置専用にその都度開発、あるいは、変更されていた。このプログラムの開発、あるいは、修正変更は、各モニタプログラムのソースから行われていたので、修正、変更後のプログラムを再度コンパイルし動作検証するなど、開発、修正に大変な労力がかかっていた。この発明は、複数のモニタプログラムの修正、開発が容易に行い得て、しかも、多くのモニタリング情報を表示可能なモニタリングシステムを提供することを目的とする。
次に、従来のモニタプログラムでは複数の動作がシーケンス式に記述してあり、モニタ動作実現のために、プログラムの先頭から終了まで処理してもそこで止まらず、再び先頭からの処理を繰り返す、というように、一旦起動されると絶えず周期的にプログラムをスキャンしてモニタ動作しているので、従来のように複数のモニタプログラムをマルチタスクＯＳ上で動作させる場合には、複数のモニタプログラムが上記のような周期的スキャンを並行処理するため、処理能力の高いコンピュータシステムでないと処理能力が不足してそのようなモニタリングシステムを採用できないという問題もあった。本発明では、それらの複数のモニタリングプログラムが、必要な時にのみ動作することで、処理能力の高くないコンピュータシステムにおいても、採用することができるモニタリングシステムを構築することにある。
更に、本願発明の別の課題は、参照したデータを利用して、表示する際の表示方式を多様に指定できるモニタリングシステムを提供することにある。また更に、本願では、モニタ動作についてのデータのアクセス対象の変更を一層簡単に行うことのできる上記モニタリングシステムを提供することを目的とする。
【０００４】
【課題を解決するための手段】
本願モニタリングシステムでは、複数のモニタ手段をマルチタスクＯＳ上で動作させ、ターゲットシステムとの間でデータを遣り取りして画面表示等を行うようにしてあるモニタリングシステムにおいて、マルチタスクＯＳ上で動作し、動作テーブルにより与えられる表示、動作内容データに従った表示、動作を行う多重起動可能な１つのモニタ動作実行手段と、そのモニタ動作実行手段に適用される表示、動作内容データを記述した複数の前記動作テーブルとを備え、動作テーブルは、モニタ動作実行手段で実現されるモニタ手段の複数の動作がシーケンス式に記述されたロジックテーブルと、そのロジックテーブルに参照され、表示、動作内容データが記述されたファンクションテーブルと、ファンクションテーブルに参照され、モニタ動作に用いるデータのアクセス対象情報を持つオブジェクトテーブルとから構成され、ロジックテーブルには、先頭から順に初期化部とメイン処理部とマクロ記述部が設けてあり、初期化部は、所定のイベントが発生したときにのみに当該動作テーブルに基づくモニタ動作を実行するようにイベント条件を予め定義してあり、メイン処理部は、イベント通知を判別条件として、そのイベント通知があったときに行われる処理が夫々条件識別子に続いてテキストで記述され、工具情報表示手段で行うすべての動作がシーケンス式に順に記述され、マクロ記述部は、メイン処理部の、各処理で共通に使用される共通処理が記述され、メイン処理部で記述された処理の途中で、マクロ記述部の共通処理が呼び出されるようになっており、前記モニタ動作実行手段は、ロジック処理部とファンクションテーブル処理部とから構成され、ロジック処理部は、ＯＳから通知されたイベントが、前記モニタ手段に対して有効かどうかを判断するイベントチェック手段と、有効であれば前記メイン処理部を実行開始する実行開始手段と、メイン処理部において記述されている複数の処理をシーケンス式に先頭から処理を行う実行手段と、メイン処理部の実行を終える終了判別手段とを備え、メイン処理部を先頭から末尾まで１周期分処理したら終了し、複数の動作テーブルの表示、動作内容データを多重に動作した前記モニタ動作実行手段に夫々適用して複数のモニタ手段を構成可能とし、それらのモニタ手段とターゲットシステムとをデータ授受のための通信手段で接続したことを特徴とする。
【０００５】
これによれば、モニタ動作実行手段は動作テーブルを適用することにより、動作テーブルに記述された一連の表示、動作内容データに従ったモニタ動作を実行するモニタ手段となるため、動作テーブルの表示、動作内容データを変更し、あるいは、編集することにより、プログラムソースから開発、修正しなくても、新たなモニタ手段（モニタプログラム）を得ることができ、複数のモニタプログラムの開発、修正作業が極めて簡易となる。また、複数の異なるモニタ手段を、マルチタスクＯＳ上で動作し、多重に起動可能な１つのモニタ動作実行手段に複数の異なる動作テーブルを夫々適用することにより実現しているので、通信手段を介して収集される多くのモニタ情報を表示可能である。マルチタスクＯＳとしては、普及度合いの高いＷＩＮＤＯＷＳ（登録商標）を採用することが望ましい。
【０００６】
また、ロジックテーブルにシーケンス式にモニタ動作が記述されている場合において、常時、シーケンスの先頭から終了までを止まることなく繰り返しスキャンする場合に比較して、特定のイベント（ＯＳからのイベントでもよいし、特定のプログラムからのイベントでもよい）で、１スキャンだけ実行した後は、またイベント通知待ちとなるので、無駄な処理が繰り返されることがなく、そのため、処理能力の高くないコンピュータシステムにおいても、本願モニタリングシステムを採用できる。
【０００７】
フアンクションテーブルにおいて記述される、オブジェクトテーブルを参照して画面表示を行わせるための参照描画ファンクションを、参照したオブジェクトテーブルで指定されているデータを利用若しくは加工して、画面上での表示方式を多様に指定可能なものとし、前記ファンクションテーブル処理部には、前記表示方式を解釈してそれに従う表示制御を行わせる表示制御手段を備え、オブジェクトテーブルにおいて、データのアクセス対象情報を間接記述し、該間接記述データをオブジェクトテーブルの外側で別に指定することにより、オブジェクトテーブルで指定されるデータのアクセス対象を可変としたことを特徴としている。これによれば、データの属性を数値から文字列に変換して表示したり、数値をグラフィックな表示（たとえば棒グラフなど）に変換して表示したり、あるいは、あるデータの内容を条件として、そのデータの表示、非表示などを制御したり、別の図形として表示したりするというような、多様な状態データの画面への出力制御を行うことができる。
【０００８】
また、特定したアクセス対象を固定して記述してある多数のオブジェクトテーブルを用いる場合では、そのアクセス対象と違うアクセス対象をそれらのオブジェクトテーブルに適用したい場合には、それら多数のオブジェクトテーブルそのものを修正する必要があるのに比べ、アクセス対象を間接記述した場合には、その間接記述した間接記述データのみを別途変更してやればよいから、オブジェクトテーブル自体の修正、変更を必要としない。
【００１０】
【発明の実施の形態】
以下、多数のマシニングセンタなどの各種工作機械をライン状に並べて、工作物を搬送しつつ加工を行うトランスフア加工ラインに適用した例で説明する。本願のモニタリングシステムは、パーソナルコンピュータＰＣにインストールされて使用され、ＷＩＮＤＯＷＳ（登録商標）などのマルチタスクＯＳ上で動作し、多重起動可能な１つのモニタ動作実行手段（テーブル内容処理プログラム）１と、そのモニタ動作実行手段１に適用されて所望のモニタ動作をさせるために準備される表示、動作内容データを記述した複数の動作テーブル２ａ，３ａ，４ａとを備えている。これら複数の動作テーブル２ａ，３ａ，４ａの表示、動作内容データは、多重に動作した前記モニタ動作実行手段１に夫々適用されて複数のモニタ手段２，３，４（ここでは異常表示手段、工具情報表示手段、生産情報表示手段）を生成する。
【００１１】
また、それらのモニタ手段２，３，４とは別に、ターゲットシステムの異常データをリアルタイムで収集する異常情報収集手段５と、マシニングセンタＭ／Ｃ１、Ｍ／Ｃ２…をコントロールすると共に、マシニングセンタＭ／Ｃ１、Ｍ／Ｃ２…の各種動作状態を監視するプログラマブルコントローラ（ＰＬＣ１、ＰＬＣ２…）から成るターゲットシステムからの各種データを常時収集して記録フアイル６に書き出すデータ記録手段７と、上記各種のモニタ手段２〜４、異常情報収集手段５、データ記録手段７と多数のＰＬＣ１、ＰＬＣ２…とを接続する通信手段８と、モニタ手段２〜４、異常情報収集手段５、データ記録手段７、通信手段８の起動、終了を管理するタスク管理手段９を備えている。１０はモニタ内容表示用のＣＲＴ、１１は、マウス、あるいはキーボードといった入力手段である。
【００１２】
まず、複数の動作テーブル２ａ，３ａ，４ａは、ここでは、リアルタイムでの異常表示用のもの２ａ、工具情報表示用のもの３ａ、生産情報を記録した記録フアイル６による生産情報表示用のもの４ａが準備されている。各動作テーブル２ａ，３ａ，４ａは、夫々モニタ手段２，３，４の行う複数の動作をシーケンス式に記述したロジックテーブルと、そのロジックテーブルで呼び出され、モニタリング画面の画面構成、その画面構成に対するデータの表示に関する命令群をテキストで記述したフアンクションテーブルと、ロジックテーブル、または、ファンクションテーブルで参照される、データ出力先、参照先といった、データアクセス情報を記述したオブジェクトテーブルの組み合わせから成る。
【００１３】
以下、工具情報表示の場合について説明する。工具情報表示用の動作テーブル３ａにおいて、ロジックテーブル２０の先頭部分には、初期化部２０ａが設けてある。ここには、たとえば、マウスが画面のどこの位置でクリックされたらそのイベントが有効であるかという、イベント条件が記述される。図３の例では、先ずイベント有効マウス領域設定のための識別子が記述され、それに続いて、イベントＡ用、イベントＢ用…の、各設定領域データ（画面上での）が記述され、これにより、マウスのクリック有効領域を画面上でいくつか設定し、その部分でマウスがクリックされたら、その部分に設定したイベントが有効であるという設定が成されている。イベント条件としては、この他に、予め定めた時間（例えば１秒毎）により発生するもの、他のアプリケーションから発生されるもの等を設定できるし、イベント発生をフラグとして扱い、それらのフラグを組み合わせてイベント条件を設定する、といったことも可能である。
【００１４】
工具情報表示画面を示す図２の画面の場合、画面の下方にいくつかの矩形領域（先頭頁、前頁、後頁、生産情報、終了）が設定されている。ここで、イベントＡ、Ｂ、Ｃ、は、夫々”先頭頁”、”前頁”、”後頁”に対応し、また、画面右上方には、イベントＤに対応する矩形領域”修正”が設定されているものとする。他のモニタ手段２，４の各画面を構成する場合も同様である（図８の異常表示画面、図9の生産情報表示画面）。矩形領域自体の画面表示は、後述のファンクションテーブル２１の単純描画命令により描画される。また、初期化部２０ａには、初期画面（先頭頁）表示用のフアンクションテーブル２１、オブジェクトテーブル２２を呼び出す各識別子と夫々呼び出すテーブル名データが記述されている。
【００１５】
ロジックテーブル２０には、初期化部２０ａに続いてメイン処理部２０ｂが設けてある。メイン処理部２０ｂは、メイン処理部２０ｂの始まりを示す識別子「ＭＡＩＮ  ＳＴＡＲＴ」とメイン処理部２０ｂの終わりを示す識別子「ＭＡＩＮＥＮＤ」で囲まれた部分である。このメイン処理部２０ｂには、上記したマウスによるイベント通知を判別条件として、そのイベント通知があったときに行われる処理が夫々条件識別子に続いてテキストで記述され、工具情報表示手段３で行うすべての動作がシーケンス式に順に記述されている。
【００１６】
工具情報表示の場合、画面構成（線枠とか表題文字）は全て同じであり、そこに表示するデータが異なってくる。そのため、後述するオブジェクトテーブル２２で間接指定されるレコード番号参照先テーブル２３（図７）内のレコード番号処理を行って、表示したい画面に対応したデータを参照ファイルＤＡＴ１から読み出しする処理を行っている。工具情報はここでは５本ずつを表示するようにしており、後述のように、各工具について参照フアイルＤＡＴ１内の１レコードが順に対応しているので（図６）、メイン処理部２０ｂでの先頭頁表示処理では、レコード番号参照先テーブル２３内のレコード番号を工具番号Ｔ１〜Ｔ５に対応した初期値（１〜５）に設定し、また、前頁表示処理では、レコード番号参照先テーブル２３内のレコード番号を夫々”５”ずつ減算して現在表示している５つのレコード番号に対して、夫々”５”ずつ小さいレコード番号を設定し、後頁表示処理では、レコード番号参照先テーブル２３内のレコード番号を夫々”５”ずつ加算して現在表示している５つのレコード番号に対して、夫々”５”ずつ大きいレコード番号を設定する、という処理を行っている。これらの演算処理は、各イベント判別のための条件識別子の後に記述され、該当するイベントがあると実行される。
同様に、処理Ｄとしての入力処理のイベント判別識別子の後ろには、画面上の「修正」をクリックしたときに、図２下図のように画面に入力を促す別ウインドウをポップアップ表示し、画面上で修正したい表示データを選択して、そのデータに対して修正入力すると、その選択された表示データを記録している参照ファイルＤＡＴ１内の内容を、修正された新たなデータに書き換える、という処理が記述されている。
【００１７】
メイン処理部２０ｂに続いて、マクロ記述部２０ｃが設けてある。マクロ記述部２０ｃには、メイン処理部２０ｂの、各処理で共通に使用される共通処理がいくつか記述されており、メイン処理部２０ｂで記述された処理の途中で、マクロ記述部２０ｃの共通処理が呼び出されるようになっている。
【００１８】
次に、工具情報表示のためのファンクションテーブル２１は図４に示すもので、オブジェクトテーブル２２を参照しない単純描画ファンクション「ＤＲＡＷ」に続いて、タイトルの「工具情報」、データ表示表中の「現在値」「工具番号」「使用ステーション、加工個所」の文字列、また、マウスクリック領域内の「先頭頁」等の文字列を描画するための文字列描画命令（ＴＥＸＴ）や、また、データ表示表の枠線を描くための枠線描画命令（ＢＯＸ（矩形描画）、ＬＩＮＥ（線描画））が、表示位置データや文字の大きさ、その他描画に必要な情報と共に記述される。
【００１９】
また、ファンクションテーブル２１には、参照描画ファンクション「ＴＥＭＰＬＡＴＥ」が記述される。この参照描画ファンクションでは、ファンクション「ＴＥＭＰＬＡＴＥ」に続いて、参照するオブジェクトテーブル番号、描画命令、描画に必要な情報、表示方式が指定される。たとえば、あるオブジェクトテーブル番号の参照するバイナリデータを１０進数値として表示したい場合、描画命令「ＴＥＸＴ」と数値としての表示方式を指定する「ＶＡＬＵＥ」を組み合わせ、その後ろに、「１０進表示への変換」を記述する。また、オブジェクトテーブル番号の指定する文字列データをそのまま文字列として画面出力する場合には、描画命令「ＴＥＸＴ」と文字列としての表示方式を指定する「ＳＴＲＩＮＧ」とを組み合わせて記述する。
【００２０】
文字列データと数値との間の変換に限らず、本願発明では、さらに、描画命令として図形描画「円：ＣＩＲＣＬＥ」や「線：ＬＩＮＥ」を指定して、表示形式中に、表示のための条件を記述することもできる。たとえば、描画命令としての「円」を指定し、表示方式中には、参照したオブジェクトテーブル番号の示す先のデータがある値となるまでは、単に「円」であるが、ある値を超えると「円を黄色く塗りつぶす」というような条件を指定すると、後述の表示制御手段６３でその記述された条件を解釈し、画面上でランプが点灯したように表示される。また、描画命令としての「線」を指定し、その「線」を画面に表示する際に必要となる、線描画の始点、終点位置データの内、終点データを、参照したオブジェクトテーブル番号の示す先のデータに比例させるというような条件を数式と共に指定すると、後述の表示制御手段６３でその記述された条件を解釈し、オブジェクトテーブル番号の示す先のデータに対応して、線の長さが決定されるような表示ができる。この点の実際の記述は、後述の（１）式に示される。勿論、前述の描画命令の後ろの表示方式においても、このような条件を含んだ表示方式を記述できる。
【００２１】
オブジェクトテーブルは、１つの動作テーブルについて多数準備される。オブジェクトテーブルにはオブジェクトテーブル番号が順に割り付けてあり、割り付けられた各オブジェクトテーブルには、夫々、データの読み書きの対象となるところの、ＰＬＣの番号とそのＰＬＣ内のデバイス番号、通信データサイズであるとか（図５（ｂ））、あるいは、参照したい状態データファイルのフアイル名と、そのフアイル名で特定されるデータ内における参照したいデータ内容の位置といった、データ位置情報（アクセス情報）が記録される（図５（ａ））。
【００２２】
工具情報表示の場合のオブジェクトテーブル２２は、図５（ａ）に示すようにここでは、各工具毎に２つずつ設けられる。各工具の使用回数の現在値を読み出すＰＬＣ番号、デバイス番号、通信データサイズの参照先を指定するオブジェクトテーブル（工具Ｔ１では番号１００１のもの）と、各工具の工具番号の各文字列データ、使用ステーション、加工個所の文字列データの参照先を指定するオブジェクトテーブル（工具Ｔ１では番号１００２のもの）とが１つの工具（Ｔ１）について対となる。これらのテーブルでは、”ＦＩＬＥＤＡＴ１”の記述により参照ファイルＤＡＴ１を参照先のファイルに指定し、そのファイルＤＡＴ１内の工具毎に割り振られたレコード番号を、”＠＊＊＊”により別途指定されるレコード番号参照テーブル２３の参照先から参照し、さらに、参照先ファイルＤＡＴ１のレコード内のデータ位置を指定することで、１レコード中のデータから、必要な部分だけを切り出すようにしてある。
【００２３】
レコード番号参照先テーブル２３は、図７のように、１頁に表示する工具数に対応した数の参照先を持っている。ここでは工具５本を一頁に表示するため、５つの参照先（１０１〜１０５）が確保してある。この参照先のデータには、初期画面および先頭画面の場合は、”１〜５”が設定され、その状態で頁表示が切り替えられるイベントが発生すると、上記したメイン処理部２０ｂで演算処理されて、その処理結果が反映され、表示すべき画面に対応した５本分の工具の工具番号が設定されるようにしてある。
【００２４】
オブジェクトテーブル２２が指定する参照フアイルＤＡＴ１（図６）には、各工具毎に１レコードが割り当てられ、先頭から順にレコード番号が割り当ててある。即ち、レコード番号１のデータとしては、先頭からｎバイトの領域には、”工具Ｔ１の現在値を読み出すＰＬＣ番号、デバイス番号、通信データサイズ”が、それに続くｍバイトの領域には”Ｔ１”の文字列データ、使用ステーション”ＳＴ１”、加工個所”１５ｍｍ孔”といった文字列データが記録されており、レコード番号２のデータとしては、工具Ｔ２の現在値を読み出すＰＬＣ番号、デバイス番号、通信データサイズ、”Ｔ２”の文字列データ、使用ステーション”ＳＴ２”、加工個所”２０ｍｍ孔”といったの文字列データが記録されており、工具Ｔ３以下も同様である。
【００２５】
従って、上記オブジェクトテーブル２２において、参照ファイルＤＡＴ１内の１レコードのデータの内、先頭からｎバイトを参照することにより” ＰＬＣ番号、デバイス番号、通信データサイズ”が取得され、それに続くｍバイトを参照することにより、”工具番号、使用ステーション、加工個所”の文字列データが取得される。また、オブジェクトテーブル２２において、参照ファイルＤＡＴ１内の参照すべきレコード番号を直接記述せず、オブジェクトテーブル２２内にはレコード番号参照先として間接指定しておき、オブジェクトテーブル２２の外側でその間接指定データを指定するようにしているので、参照先（レコード番号）を変更しようとするときには、オブジェクトテーブル２２を変更することなく間接指定データを設定している部分（レコード番号参照先テーブル２３）内データの変更だけで済む利点がある。
【００２６】
以上説明してきた工具情報表示画面では、ファンクションテーブル２１、オブジェクトテーブル２２は、夫々１つしか持たず、画面切り替えを行っても、これらのテーブルに変更はないが、画面表示構成が画面ごと（処理ごと）に異なるような場合には、基本的には、各処理を行う際に、各処理用のファンクションテーブルと、そのファンクションテーブル２１が参照する各処理用のオブジェクトテーブル２２が呼び出されるように、メイン処理部２０ｂにはテーブル呼出識別子と共にテーブル名が記述される。
【００２７】
次にリアルタイムで異常を検知する異常情報収集手段５は、各ＰＬＣの特定の異常検出デバイスの状態を常時監視するもので、異常が検知されると異常表示手段２を起動して表示動作を行わせるようになっている。異常表示手段２（異常表示プログラム）も、異常表示用の動作テーブル２ａが、モニタ動作実行手段１に適用されて生成される。この場合の動作テーブル２ａでは、図８上図に示すような初期画面が設定してあり、”詳細”をクリックすることで、異常発生個所の詳細図が表示される。即ち、初期画面では、線枠描画と異常発生を知らせる文字（数値）データを表示するためのファンクションテーブルとそれに対応したオブジェクトテーブルとが使用されるが、”詳細”を指定したときには、異常発生ステーションと異常発生個所を描画するためのファンクション、オブジェクトテーブルが使用される。また、異常情報収集手段２は、上記のデバイスの状態により、異常表示手段と別のアプリケーションをも起動できるようになっている。
【００２８】
生産情報表示手段４は、加工したワーク種類ごとの加工数を画面に表示するものである。初期画面においては、加工したワークが”数値”で示される（図９上図）が、グラフィック表示のために、２頁目用のファンクションテーブルとして参照描画ファンクションを使用したものが準備してある。この例では、画面下段の”グラフィック”をクリックすると、個数が棒グラフとなるように、「線」の終点が、参照したオブジェクトテーブルの示すワーク種類に対応して加工個数に対応した位置に設定されるように、ファンクションテーブルが作られている。
この場合の、ファンクションテーブルに記述されるファンクションは、ワークＷＲ１に関して説明すると、
ＴＥＭＰＬＡＴＥ、ＷＲ１の加工数を参照するオブジェクトテーブル番号、ＬＩＮＥ、始点（Ｘ１、Ｙ１）、終点（Ｘ２、Ｙ１）、ＷＩＬＤ、演算式：Ｘ２＝Ｘ１＋オブジェクトテーブルの参照先データ（加工数）に比例したＸ座標方向長さ）、線太さ    …（１）
と記述される。ここで、”ＷＩＬＤ”以下が、表示方式指定を示し、”ＷＩＬＤ”は比例演算方式を示しており、演算式で指定された式に基づく結果を終点のＸ座標に反映させることを示している。なお、画面表示において、左右方向がＸ座標、上下方向がＹ座標である。ワーク加工数データＳ１、Ｓ２…がＰＬＣの特定のデバイス内データとして記録されているときには、オブジェクトテーブルとしては、図５（ｂ）のように、オブジェクトテーブル内に参照ＰＬＣ番号、参照デバイス番号、通信データサイズを直接記述したものが使用される。
【００２９】
これらの動作テーブル２ａ，３ａ，４ａを読み込むモニタ動作実行手段（モニタ動作実行プログラム）１は、ロジック処理部５０とファンクションテーブル処理部６０とから構成される。図１０に示すように、ＯＳから通知されたイベントが、動作テーブル３ａ（２ａ、４ａ）を読み込んでモニタ動作実行手段１によって生成されたモニタ手段３（２，４）に対して”有効かどうか”を判断するイベントチェック手段５１、有効であれば、モニタ手段３（２、４）のロジックテーブルのメイン処理部を実行開始する実行開始手段５２、メイン処理部において記述されている複数の処理をシーケンス式に先頭から処理してイベント条件に該当する処理を、識別子、処理内容を解釈して行う実行手段５３、「ＭＡＩＮ  ＥＮＤ」で実行を終える終了判別手段５４とを備えており、「ＭＡＩＮ  ＥＮＤ」を判別するとそこで終了して次のイベント待ちとし、メイン処理部２０ｂの先頭に戻って繰り返し処理を行わないようにしてある。このことは、多数のシーケンス式のモニタプログラムを同時実行するときには大変重要である。つまり、通常のシーケンス式のモニタプログラムでは、プログラムの先頭から終わりまでの周期を常時繰り返しているので、複数のモニタプログラムがそのような動作をすると、処理速度の速いコンピュータでないとモニタ処理できないおそれがあるが、このようなイベントドリブン方式でメイン処理部２０ｂを先頭から末尾まで１周期分処理したら終了する方式では、常時の繰り返しがないので、コンピュータに対する負荷が小さくでき、能力の低いコンピュータシステムでも十分処理可能である。
【００３０】
ファンクションテーブル処理部６０では、ロジックテーブルから参照されたファンクションテーブルに記述されたファンクションを識別する識別手段６１と、その識別手段６１で識別されたファンクションに対応して、オブジェクトテーブルを参照しない単純描画処理を実行する実行手段６２、オブジェクトテーブルを参照する参照描画処理を実行する実行手段６３とを備えている。単純描画処理を実行する実行手段６２は、単純描画フアンクションの後に続く描画命令を解釈して「文字列」「図形（箱、線、円など）」を、指定された描画情報に基づいて、画面に描画する。また、参照描画処理を実行する実行手段（表示制御手段）６３では、参照描画ファンクションに続くオブジェクトテーブル、描画命令を解釈して、表示方式に指定の方式で画面に表示する処理を行う。
【００３１】
タスク管理手段９は、モニタリングシステムが起動されると同時に起動し、工具情報表示手段３、異常情報収集手段５、データ記録手段７、通信手段８の起動を制御する起動手段７０と、モニタ装置終了時に、すべてのプログラムを閉じる停止手段７１とを備えている。
データ記録手段７は、予め設定した指定時間に、指定のデータをＰＬＣから収集するもので、たとえば、工作機械の稼動状態（異常履歴）などを記録ファイル６に記録するものである。このデータ記録手段７は、図示しない時間テーブルに基づいて、別のアプリケーションを起動させることもできるようになっている。通信手段８は、各種のモニタ手段２〜４、異常情報収集手段５、データ記録手段７と、ＰＬＣやパーソナルコンピュータＰＣの内部ファイル（参照ファイルＤＡＴ１、記録ファイル６など）との間でデータ授受を行うための複数のデータ授受エリアを持っており（図１２）、その複数のデータ授受エリアに設定されたモニタ手段等からの通信要求を上位から順に処理して必要なデータをデータ要求元に返すと、次の通信エリアにセットされた通信要求を処理するようにしてある。
【００３２】
タスク管理手段９が起動されると、工具情報表示手段３、通信手段８、記録手段７、異常情報収集手段５を夫々起動する。工具情報表示手段３は、工具情報表示用の動作テーブル３ａが、マルチタスクＯＳ上で起動されたモニタ動作実行手段１に適用されて生成される。ロジックテーブル２０が読み込まれ、初期化部２０ａが実行されて、イベント有効マウス領域が設定され、初期画面（先頭頁：図２上図）用のファンクションテーブル２１とオブジェクトテーブル２２とが読み込まれ、レコード番号参照先テーブル２３には初期値”１〜５”が設定される。これによりオブジェクトテーブル番号１００１、１００２（工具Ｔ１用）には、データファイルＤＡＴ１のレコード番号１が、１００３，１００４（工具Ｔ２用）には、データファイルＤＡＴ１のレコード番号２が、以下、工具Ｔ３用の１００５，１００６にはレコード番号３、工具Ｔ４用の１００７，１００８にはレコード番号４、工具Ｔ５用の１００９，１０１０にはレコード番号５がセットされ、例えば、オブジェクトテーブル番号１００１では、工具Ｔ１の現在値を読み出す”ＰＬＣ番号、デバイス番号、通信データサイズ”の位置が指定され、参照ファイルＤＡＴ１のレコード番号１のデータからＰＬＣ番号、デバイス番号、通信データサイズが読み出されて、当該ＰＬＣと通信手段８を介して通信が行われて指定デバイスのデータを受け取ると共に、オブジェクトテーブル番号１００２では、”Ｔ１””ＳＴ１””１５ｍｍ孔”の文字列データの位置が指定され、参照ファイルＤＡＴ１のレコード番号１のデータからそれらのデータが読み出されて図２上図に示すような画面が表示される。初期化部２０ａの処理後、メイン処理部２０ｂは実行されず、イベント待ちとなる。
【００３３】
一方、記録手段７、異常情報収集手段５も、マルチタスクＯＳ上で同時に動いており、記録手段７は、予め設定した指定時間に、指定のデータを通信手段８を介してＰＬＣから収集して、記録ファイル６に記録しつづける。また、異常情報収集手段５もマルチタスクＯＳ上で同時起動され、ＰＬＣの異常情報をリアルタイムで検知している。この時点では、異常表示手段２、生産情報表示手段４は起動されていない。
【００３４】
この状態で、工具情報表示手段２の”後頁”をクリックすると、工具情報表示手段３に対する有効イベントが発生する。このとき、ファンクションテーブル２１、オブジェクトテーブル２２は最初に読み込んだものと変更がないが、工具情報表示手段３に対する有効イベントにより、ロジックテーブル２０のメイン処理部２０ｂが実行されて各イベントに対する条件識別が先頭から順に行われて、イベント条件が一致した処理Ｃ（後頁表示処理）が行われ、メイン処理部２０ｂにおいて、前記レコード番号参照先テーブル２３内の”１〜５”が夫々”５”ずつ加算されて”６〜１０”に変更される。これにより、オブジェクトテーブル番号１００１、１００２のレコード番号参照先の示すデータには、データファイルＤＡＴ１のレコード番号６が指定されて工具Ｔ６用データが読み出され、同様に、オブジェクトテーブル番号１００３，１００４のレコード番号参照先の示すデータには、データファイルＤＡＴ１のレコード番号７が指定されて工具Ｔ７用データが読み出され…というように、参照ファイルＤＡＴ１の参照レコード番号（データ参照先）が変更される。従って、工具情報画面としては、図２の下図のように工具Ｔ６〜Ｔ１０の内容が表示される。
【００３５】
モニタリング開始から、異常情報収集手段５により初めて異常が検知されると、異常情報収集手段５は、異常表示手段２を起動する。異常表示手段２は、モニタ動作実行手段１をマルチタスクＯＳ上で多重起動させ、それに異常表示用の動作テーブル２ａを適用して生成され、図８上図に示すような画面を工具情報表示手段３による画面と同じ画面上に重ねて表示する。この時点では、生産情報表示手段４は起動していない。
異常表示手段２が起動された後、”詳細”をクリックすると、異常表示手段２に対する有効イベントが発生し、異常表示手段２を生成しているモニタ動作実行手段１がイベント有効と判別し、そのイベントを条件とした処理（詳細表示画面表示）が実行され、ステーションの細部が画面に表示される（図８下図）。
また、異常表示手段２が起動された後、異常情報収集手段５が異常内容、異常個数の変化を検知したときにはイベントが発生して、そのイベントは、異常表示手段２に通知される。異常表示手段２は、そのイベントを有効として、新しく発生した異常内容を図８上図の初期画面にて表示する。
【００３６】
これらが起動している状態で、工具情報表示画面で「生産情報」をクリックすると、そのイベントを契機に、工具情報表示用の動作テーブル３ａで動作していたモニタ動作実行手段１が、生産情報表示用の動作テーブル４ａを読み込む。これにより、工具情報表示画面に代わって、生産情報表示画面が表示され、ＰＬＣと通信が行われて所定のＰＬＣのデバイスに記録されているワーク種類別の生産数を画面表示する（図１５）。初期画面（図９上図）においては、生産数の数値データをそのまま数値として表示しているに過ぎない。しかし、”グラフィック”をクリックすると、生産情報表示手段４に対する有効イベントが発生し、生産情報表示手段４のロジックテーブルのメイン処理部が実行され、”グラフィック”をクリックしたというイベント条件に一致する処理、即ち、”棒グラフ表示処理”が、上述した（１）式の参照描画ファンクションの記述に基づいて行われることになる。
ここでは工具情報表示手段３に代えて生産情報表示手段４を起動するようにしたが、さらにモニタ動作実行手段１を多重に起動して工具情報表示手段３、生産情報表示手段４を同時に起動するようにしてあってもよい。モニタ手段としては、このほかに、異常履歴表示手段や、機台稼動状態表示といったものもつくることができる。この場合、画面の表示形態などは、動作テーブルに記述するデータ変更を行えばよいから、別のモニタ手段の生成は、極めて容易である。
【００３７】
【発明の効果】
以上のように本願発明では、動作テーブルにモニタ動作を行わせる表示、動作データを記述し、その表示、動作データを、多重に起動できる１つのモニタ動作実行手段に適用して、モニタ動作実行手段が動作データの記述を解釈、処理して表示、動作データとして記述した内容を実行するようにして複数のモニタプログラムを実現するようにしたから、モニタプログラムの開発、修正は、前記動作テーブルの作成、修正で済み、ソースプログラムから記述しないため、開発、修正が極めて容易に行い得る。それに加えて、複数のモニタプログラムがマルチタスクＯＳ上で多重（並列）に起動できるので、多くのモニタ情報を一画面で閲覧できる。
また、モニタ手段は、初回の起動後は、所定のイベントによるイベントドリブン方式で１サイクルのモニタ動作を行って、その後は、次のイベント待ち状態となるようにしたので、シーケンス方式でモニタ動作が実行される複数のモニタ手段がマルチタスクＯＳ上で並行的に処理される場合であっても、シーケンス処理が常時繰り返される場合と比べて、モニタプログラムを実行するコンピュータの負担を軽くできる。
また、フアンクションテーブルで指定する参照データ位置を、ファンクションテーブルの外側で指定するようにしたため、ファンクションテーブルを変更すること無く、参照先を変更することが容易である。
【図面の簡単な説明】
【図１】モニタリングシステムの全体構成を示す図である。
【図２】工具情報表示画面である。
【図３】ロジックテーブルの説明図である。
【図４】ファンクションテーブルの説明図である。
【図５】オブジェクトテーブルの説明図であり、（ａ）は間接記述方式、（ｂ）は直接記述方式である。
【図６】間接記述方式のオブジェクトテーブルが参照する参照ファイルを示す図である。
【図７】間接記述方式のオブジェクトテーブルが参照するレコード番号参照先テーブルを示す図である。
【図８】異常表示画面である。
【図９】生産情報表示画面である。
【図１０】モニタ動作実行手段を示す図である。
【図１１】タスク管理手段を示す図である。
【図１２】通信手段の共有メモリを示す図である。
【図１３】モニタ手段が多重に起動された状態のモニタ画面を示す図である。
【符号の説明】
１  モニタ動作実行手段
２ａ、３ａ，４ａ  動作テーブル
２  異常表示手段（モニタ手段）
３  工具情報表示手段（モニタ手段）
４  生産情報表示手段（モニタ手段）
６  記録フアイル
７  データ記録手段
８  通信手段
９  タスク管理手段
２０  ロジックテーブル
２０ａ  初期化部
２０ｂ  メイン処理部
２０ｃ  マクロ記述部
２１  フアンクションテーブル
２２  オブジェクトテーブル
２３  レコード番号参照先テーブル
５０  ロジック処理部
５１  イベントチェック手段
５２  実行開始手段
５３  実行手段
５４  終了判別手段
６０  ファンクションテーブル処理部
６３  表示制御手段
ＰＬＣ１、ＰＬＣ２…  プログラマブルコントローラ（ターゲットシステム）
【図１】
0004474631.tif 000002
【図２】
0004474631.tif 000003
【図３】
0004474631.tif 000004
【図４】
0004474631.tif 000005
【図５】
0004474631.tif 000006
【図６】
0004474631.tif 000007
【図７】
0004474631.tif 000008
【図８】
0004474631.tif 000009
【図９】
0004474631.tif 000010
【図１０】
0004474631.tif 000011
【図１１】
0004474631.tif 000012
【図１２】
0004474631.tif 000013
【図１３】
0004474631.tif 000014