(57)【特許請求の範囲】
【請求項１】
入力機器および出力機器が接続された制御装置と、該制御装置による該入出力機器の制御状態を表示し、かつ上記制御装置に制御指示を与える表示型制御装置との間で専用ネットワークを介して制御装置に固有の通信プロトコルを用いて通信を行い、上記表示型制御装置の上位に設けられるホストコンピュータと上記表示型制御装置との間で共通ネットワークを介して共通の通信プロトコルを用いて通信を行うことによって上記制御装置に関するデータを集積するデータ集積システムであって、
上記表示型制御装置が、上記両ネットワークで用いられる通信プロトコルを上記両ネットワークで用いられる通信プロトコルに互いに変換するプロトコル変換手段と、予め設定されている配信条件が満たされたときに上記制御装置の制御状態を表し実行されたユーザプログラムを含むユーザ画面、該ユーザプログラムを含むユーザ画面において、上記入出力機器のアドレスに対応付けられ、上記制御指示のデータおよび該制御指示データの結果として得られる上記出力データによって変化する各変化要素としてのシンボル、ならびに該変化要素に対応する上記制御指示データおよび上記出力データを上記ホストコンピュータに配信する配信手段とを有し、
上記ホストコンピュータが、配信された上記ユーザプログラムを含むユーザ画面、上記変化要素および上記両データを上記表示型制御装置単位で蓄積する蓄積手段を備えていることを特徴とするデータ集積システム。
【請求項２】
入力機器および出力機器が接続される制御装置と、該制御装置による該入出力機器の制御状態を表示し、かつ上記制御装置に制御指示を与える表示型制御装置との間で専用ネットワークを介して制御装置に固有の通信プロトコルを用いて通信を行い、上記表示型制御装置の上位に設けられるホストコンピュータと上記表示型制御装置との間で共通ネットワークを介して共通の通信プロトコルを用いて通信を行うことによって上記制御装置に関するデータを集積するデータ集積システムであって、
上記表示型制御装置が、上記両ネットワークで用いられる通信プロトコルを上記両ネットワークで用いられる通信プロトコルに互いに変換するプロトコル変換手段と、予め設定されている配信条件が満たされたときに上記制御装置の制御状態を表し実行された制御手順プログラム、該制御手順プログラムにおいて、上記入出力機器のアドレスに対応付けられ、上記制御指示のデータおよび該制御指示データの結果として得られる上記出力データによって変化する各変化要素、ならびに該変化要素に対応する上記制御指示データおよび上記出力データを上記ホストコンピュータに配信する配信手段とを有し、
上記ホストコンピュータが、配信された上記制御手順プログラム、上記変化要素および上記両データを上記表示型制御装置単位で蓄積する蓄積手段を備えていることを特徴とするデータ集積システム。
【請求項３】
上記ホストコンピュータが、上記蓄積手段に蓄積された上記ユーザプログラムを含むユーザ画面、ならびに上記変化要素および上記両データを連続して検索し、かつ表示する検索手段を備えていることを特徴とする請求項１に記載のデータ集積システム。
【請求項４】
上記ホストコンピュータが、端末装置からの要求に応じて上記検索手段によって検索された上記ユーザプログラムを含むユーザ画面を上記端末装置が実行可能な実行プログラムに変換する変換手段と、該実行プログラム、上記変化要素および上記両データを、上記ユーザプログラムを含むユーザ画面において上記変化要素を上記両データに基づいて変化させるように上記実行プログラムを実行する上記端末装置へ送信する通信手段とを備えていることを特徴とする請求項１または３に記載のデータ集積システム。
【請求項５】
入力機器および出力機器が接続された制御装置と、該制御装置による該入出力機器の制御状態を表示し、かつ上記制御装置に制御指示を与える表示型制御装置との間で専用ネットワークを介して制御装置に固有の通信プロトコルを用いて通信を行い、上記表示型制御装置の上位に設けられるホストコンピュータと上記表示型制御装置との間で共通ネットワークを介して共通の通信プロトコルを用いて通信を行うことによって上記制御装置に関するデータを集積するデータ集積方法であって、
上記表示型制御装置において、上記両ネットワークで用いられる通信プロトコルを相互に変換するとともに、予め設定されている配信条件が満たされたときに上記制御装置の制御状態を表し実行されたユーザプログラムを含むユーザ画面、該ユーザプログラムを含むユーザ画面において、上記入出力機器のアドレスに対応付けられ、上記制御指示のデータおよび該制御指示データの結果として得られる上記出力データによって変化する各変化要素としてのシンボル、ならびに該変化要素に対応する上記制御指示データおよび上記出力データを上記ホストコンピュータに配信し、
上記ホストコンピュータに配信された上記ユーザプログラムを含むユーザ画面、上記変化要素および上記両データを上記表示型制御装置単位で蓄積することを特徴とするデータ集積方法。
【請求項６】
入力機器および出力機器が接続される制御装置と、該制御装置による該入出力機器の制御状態を表示し、かつ上記制御装置に制御指示を与える表示型制御装置との間で専用ネットワークを介して制御装置に固有の通信プロトコルを用いて通信を行い、上記表示型制御装置の上位に設けられるホストコンピュータと上記表示型制御装置との間で共通ネットワークを介して共通の通信プロトコルを用いて通信を行うことによって上記制御装置に関するデータを集積するデータ集積方法であって、
上記表示型制御装置において、上記両ネットワークで用いられる通信プロトコルを相互に変換するとともに、予め設定されている配信条件が満たされたときに上記制御装置の制御状態を表し実行された制御手順プログラム、該制御手順プログラムにおいて、上記入出力機器のアドレスに対応付けられ、上記制御指示のデータおよび該制御指示データの結果として得られる上記出力データによって変化する各変化要素、ならびに該変化要素に対応する上記制御指示データおよび上記出力データを上記ホストコンピュータに配信し、
上記ホストコンピュータに配信された上記制御手順プログラム、上記変化要素および上記両データを上記表示型制御装置単位で蓄積することを特徴とするデータ集積方法。
【請求項７】
上記ホストコンピュータにおいて、蓄積された上記ユーザプログラムを含むユーザ画面、ならびに上記変化要素および上記両データを連続して検索し、かつ表示することを特徴とする請求項６に記載のデータ集積方法。
【請求項８】
上記ホストコンピュータにおいて、端末装置からの要求に応じて検索された上記ユーザプログラムを含むユーザ画面を上記端末装置が実行可能な実行プログラムに変換し、該実行プログラム、上記変化要素および上記両データを、上記ユーザプログラムを含むユーザ画面において上記変化要素を上記両データに基づいて変化させるように上記実行プログラムを実行する上記端末装置へ送信することを特徴とする請求項５または７記載のデータ集積方法。
【請求項９】
入力機器および出力機器が接続される制御装置と、該制御装置による該入出力機器の制御状態を表示し、かつ上記制御装置に制御指示を与える表示型制御装置との間で専用ネットワークを介して制御装置に固有の通信プロトコルを用いて通信を行わせ、上記表示型制御装置の上位に設けられるホストコンピュータと上記表示型制御装置との間で共通ネットワークを介して共通の通信プロトコルを用いて通信を行わせることによって上記制御装置に関するデータを集積するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
上記表示型制御装置において、上記両ネットワークで用いられる通信プロトコルを相互に変換するとともに、予め設定されている配信条件が満たされたときに上記制御装置の制御状態を表し実行されたユーザプログラムを含むユーザ画面、該ユーザプログラムを含むユーザ画面において、上記入出力機器のアドレスに対応付けられ、上記制御指示のデータおよび該制御指示データの結果として得られる上記出力データによって変化する各変化要素としてのシンボルすなわち部品およびタグ、ならびに該変化要素に対応する上記制御指示データおよび上記出力データを上記ホストコンピュータに配信する処理と、
上記ホストコンピュータに配信された上記ユーザプログラムを含むユーザ画面、上記変化要素および上記両データを上記表示型制御装置単位で蓄積する処理とを実行するためのプログラムを記録した記録媒体。
【請求項１０】
入力機器および出力機器が接続される制御装置と、該制御装置による該入出力機器の制御状態を表示し、かつ上記制御装置に制御指示を与える表示型制御装置との間で専用ネットワークを介して制御装置に固有の通信プロトコルを用いて通信を行わせ、上記表示型制御装置の上位に設けられるホストコンピュータと上記表示型制御装置との間で共通ネットワークを介して共通の通信プロトコルを用いて通信を行わせることによって上記制御装置に関するデータを集積するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
上記表示型制御装置において、上記両ネットワークで用いられる通信プロトコルを相互に変換するとともに、予め設定されている配信条件が満たされたときに上記制御装置の制御状態を表し実行された制御手順プログラム、該制御手順プログラムにおいて、上記入出力機器のアドレスに対応付けられ、上記制御指示のデータおよび該制御指示データの結果として得られる上記出力データによって変化する各変化要素、ならびに該変化要素に対応する上記制御指示データおよび上記出力データを上記ホストコンピュータに配信する処理と、
上記ホストコンピュータに配信された上記ユーザプログラム、上記変化要素および上記両データを上記表示型制御装置単位で蓄積する処理とを実行するためのプログラムを記録した記録媒体。
【請求項１１】
上記ホストコンピュータにおいて、蓄積された上記ユーザプログラムを含むユーザ画面、ならびに上記変化要素および上記両データを連続して検索し、かつ表示する処理を実行するプログラムを記録したことを特徴とする請求項９に記載の記録媒体。
【請求項１２】
上記ホストコンピュータにおいて、検索された上記ユーザプログラムを含むユーザ画面を上記端末装置が実行可能な実行プログラムに変換し、該実行プログラム、上記変化要素および上記両データを、上記ユーザプログラムを含むユーザ画面において上記変化要素を上記両データに基づいて変化させるように上記実行プログラムを実行する上記端末装置へ送信する処理を実行するプログラムを記録したことを特徴とする請求項９または１１に記載の記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラマブルロジックコントローラなどの産業用制御装置やこのような産業用制御装置に接続されるプログラマブル表示器などの表示装置のデータを集積して記録保存するためのシステム、方法およびそのためのプログラムを記録した記録媒体に関するものである。
【０００２】
【従来の技術】
プログラマブルロジックコントローラ（以降、ＰＬＣと称する）などと呼ばれる産業用制御装置は、シーケンス制御をはじめとする各種制御を実現するために、ベルトコンベアー式の自動組付機などの種々のターゲットシステムを制御する制御装置として広く使用されている。このようなＰＬＣへの制御指示を行うための操作盤、ＰＬＣの稼働状況を示す表示灯などに代わって、近年では、ＨＭＩ（Ｈｕｍａｎ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｒｆａｃｅ）  機器としてのプログラマブル表示器が普及している。
【０００３】
プログラマブル表示器は、ドット表示画面、操作用入力スイッチ、ホストコントローラ（ＰＬＣ）とのインターフェース、画面上での操作入力のような制御のためのプログラムメモリなどを備えた操作用表示器である。一般に、プログラマブル表示器は、グラフィック表示を行うので、操作盤、スイッチ、表示灯などの機能を備えることができる他、制御対象機器（デバイス）の稼働状況や作業指示のような管理のための各種のモニタ、機器に対する設定値を入力する端末としての機能を備えている。
【０００４】
また、近年では、制御対象機器を接続するための入出力ユニットなどを搭載することによってＰＬＣの制御機能を備えたプログラマブル表示器も登場してきている。
【０００５】
このようなプログラマブル表示器で表示される制御画面は、画面作成ソフトウェア（作画エディタ）を用いてユーザ独自で作成できるようになっている。画面作成に際しては、ユーザが、パーソナルコンピュータなどにおいて作画ソフトによって提供されるスイッチ、ランプ、テンキー、メータ表示器、グラフ表示器などが画像としてデザイン化された部品、所望形状の画像、数値などを所望の位置に動的に表示させるためのタグ、描画機能などを用いて所望の制御画面を構成する
プログラマブル表示器は、生産現場などにおいて、ユーザが作成した上記の画面上で、ＰＬＣの稼働状況の表示、ＰＬＣへの作業指示の入力などを可能にしている。しかしながら、現場のオペレータがプログラマブル表示器を操作するので、操作ミスが生じると、ターゲットシステムにおける機器の動作異常や故障を招くおそれがある。
【０００６】
このような不都合を回避するには、諸データをＰＬＣの稼働時に定期的に集積しておき、操作ミスが生じたときのデータを基に、操作ミスの種類や発生時刻を過去に逆上って検証し、そのような操作ミスが生じない対策を講じることが必要である。このため、例えば、データ収集用のソフトウェアを用いて、ＰＬＣからデータを定期的に収集して蓄積しておくことが考えられる。このようなソフトウェアによれば、指定された時刻や期間にＰＬＣとの間の通信で入出力データを収集し、これらのデータを市販のアプリケーションソフトウェア（表計算ソフトなど）に記録して日報や月報として保存しておき、これらを用いて過去の操作ミスを検証することができる。
【０００７】
また、蓄積したデータをトレンドグラフとして表すこともよく行われる。トレンドグラフによれば、データの変化を視覚的に表現することができ、アラームの原因となったデータを容易に特定することができる。
【０００８】
さらに、上記のデータをデータベースに蓄積することによって、検索などのデータアクセスを容易にすることも考えられる。
【０００９】
【発明が解決しようとする課題】
しかしながら、ＰＬＣからのデータのみでは、プログラマブル表示器でどのような操作が行われたかを特定することは難しい。このため、プログラマブル表示器に表示された画面の変化を録画装置で記録すれば、画面を動画として再生することができる。しかしながら、このような記録方法は、デジタルデータであっても動画の状態で記録するため、記録すべきデータ量が膨大になり、実現性に乏しい。
【００１０】
また、上記のようなデータ収集用のソフトは、そのソフトがインストールされたパーソナルコンピュータなどから、設定された時刻や周期でＰＬＣにデータの送信を要求する必要があり、データ収集の効率があまり良くなかった。
【００１１】
さらに、トレンドグラフを作成する場合は、データロギングの周期やロギングすべきデータの設定や、データのグラフ化の形態の設定を行う必要があり、そのための設計が必要である。また、トレンドグラフによっても、プログラマブル表示器でどのような操作が行われたかを特定することは難しい。しかも、アラームなどの異常メッセージは、プログラマブル表示器で表示可能であるが、パーソナルコンピュータなどでは別途ユーザが作成したプログラムを用いなければ表示できなかった。
【００１２】
一方、収集されたデータをデータベースに構築する場合、データベースを構築する作業が必要であるので、そのために生産ラインの管理者などを専任の担当者として割り当てる必要がある。しかも、そのデータベースが担当者により独自に構築されてしまうと、担当者が変わったときにデータの詳細や所在が分かりにくいという不都合が生じて、データベース管理に支障を来すおそれがある。
【００１３】
本発明は、上記の事情に鑑みてなされたものであって、データベースの構築を容易にするとともに、プログラマブル表示器に表示された画面の状態をデータベースに蓄積することによって、過去のプログラマブル表示器の操作を容易に再現することができるデータ集積システム、データ集積方法およびそのデータ集積のためのプログラムを記録した記録媒体を提供することを目的としている。
【００１４】
【課題を解決するための手段】
本発明に係るデータ集積システムは、上記の課題を解決するために、入力機器および出力機器が接続された制御装置と、該制御装置による該入出力機器の制御状態を表示し、かつ上記制御装置に制御指示を与える表示型制御装置との間で専用ネットワークを介して制御装置に固有の通信プロトコルを用いて通信を行い、上記表示型制御装置の上位に設けられるホストコンピュータと上記表示型制御装置との間で共通ネットワークを介して共通の通信プロトコルを用いて通信を行うことによって上記制御装置に関するデータを集積するデータ集積システムであって、上記表示型制御装置が、上記両ネットワークで用いられる通信プロトコルを上記両ネットワークで用いられる通信プロトコルに互いに変換するプロトコル変換手段と、予め設定されている配信条件が満たされたときに上記制御装置の制御状態を表し実行されたユーザプログラムを含むユーザ画面、該ユーザプログラムを含むユーザ画面において、上記入出力機器のアドレスに対応付けられ、上記制御指示のデータおよび該制御指示データの結果として得られる上記出力データによって変化する各変化要素としてのシンボル、ならびに該変化要素に対応する上記制御指示データおよび上記出力データを上記ホストコンピュータに配信する配信手段とを有し、上記ホストコンピュータが、配信された上記ユーザプログラムを含むユーザ画面、上記変化要素および上記両データを上記表示型制御装置単位で蓄積する蓄積手段を備えていることを特徴としている。
本発明に係るデータ集積システムは、上記の課題を解決するために、入力機器および出力機器が接続される制御装置と、該制御装置による該入出力機器の制御状態を表示し、かつ上記制御装置に制御指示を与える表示型制御装置との間で専用ネットワークを介して制御装置に固有の通信プロトコルを用いて通信を行い、上記表示型制御装置の上位に設けられるホストコンピュータと上記表示型制御装置との間で共通ネットワークを介して共通の通信プロトコルを用いて通信を行うことによって上記制御装置に関するデータを集積するデータ集積システムであって、上記表示型制御装置が、上記両ネットワークで用いられる通信プロトコルを上記両ネットワークで用いられる通信プロトコルに互いに変換するプロトコル変換手段と、予め設定されている配信条件が満たされたときに上記制御装置の制御状態を表し実行された制御手順プログラム、該制御手順プログラムにおいて、上記入出力機器のアドレスに対応付けられ、上記制御指示のデータおよび該制御指示データの結果として得られる上記出力データによって変化する各変化要素、ならびに該変化要素に対応する上記制御指示データおよび上記出力データを上記ホストコンピュータに配信する配信手段とを有し、上記ホストコンピュータが、配信された上記制御手順プログラム、上記変化要素および上記両データを上記表示型制御装置単位で蓄積する蓄積手段を備えていることを特徴としている。
【００１５】
上記の構成において、制御装置からの出力データは、専用ネットワークを介して表示型制御装置に送出される。表示型制御装置においては、専用ネットワークの通信プロトコルが、プロトコル変換手段によって共通ネットワークの通信プロトコルに変換される。その後、出力データは、表示型制御装置から共通ネットワークを介して接続されたホストコンピュータへ転送される。
【００１６】
これにより、表示型制御装置は、制御装置の通信プロトコルに関わらず、常に同一の通信プロトコルで、共通ネットワークを介してホストコンピュータと通信することができる。この結果、制御装置、表示型制御装置およびホストコンピュータを含む制御システム内に、通信プロトコルの異なる制御装置が混在していても、ホストコンピュータは、これらの制御装置から容易にデータを集積することができる。
【００１７】
また、予め設定されている配信条件（指定時刻、指定周期など）が満たされたときに、実行されたユーザプログラム（例えば、プログラマブル表示器で表示されるユーザ画面やＰＬＣのラダープログラム）、ユーザプログラムにおける各変化要素（例えば、ユーザ画面におけるシンボルやラダープログラムにおけるラダー記号）、ならびに変化要素に対応する上記制御指示データおよび上記出力データがホストコンピュータに配信されると、ホストコンピュータにおける蓄積手段によって、それらが表示型制御装置単位で時系列に順次蓄積される。これにより、ユーザが意識することなくデータベースが自動的に構築されるとともに、蓄積されたデータ構造が単純化される。また、ユーザプログラム、変化要素および両データが関連付けられて蓄積されるので、ユーザプログラムにおける変化要素の両データによる変化状態を再現することができる。
【００１８】
上記のデータ集積システムにおいては、上記ホストコンピュータが、上記蓄積手段に蓄積された上記ユーザプログラムを含むユーザ画面、上記変化要素および上記両データを連続して検索し、かつ表示する検索手段を備えていることが好ましい。これにより、検索されたユーザプログラムが連続的に表示されるので、制御装置が動作していたときのユーザプログラムの状況を再現することができる。
【００１９】
また、上記のデータ集積システムにおいては、上記ホストコンピュータが、端末装置からの要求に応じて上記検索手段によって検索された上記ユーザプログラムを含むユーザ画面を上記端末装置が実行可能な実行プログラムに変換する変換手段と、該実行プログラム、上記変化要素および上記両データを、上記ユーザプログラムを含むユーザ画面において上記変化要素を上記両データに基づいて変化させるように上記実行プログラムを実行する上記端末装置へ送信する通信手段とを備えていることが好ましい。
【００２０】
これにより、ホストコンピュータで検索されたユーザプログラムが変換手段によって実行プログラムに変換されると、変化要素および両データとともに通信手段によって端末装置に送信される。端末装置では、実行プログラムが実行されることによって、ユーザプログラムにおいて変化要素が両データに基づいて変化する。この結果、例えば、ユーザ画面上で変化要素が変化する状態が表示される。
【００２１】
なお、上記実行プログラムは、端末装置が実行可能な機械語を含むプログラムであってもよいが、そのプログラムが機種に依存しないように予め定められた手続きからなるアプレットであり、端末装置がアプレットを自機器用の機械語に翻訳するアプレットである方が好ましい。
【００２２】
この場合は、変換手段が、端末の機種に依存しないアプレットを生成し、端末装置の翻訳機能がアプレットを翻訳して実行することで、端末装置は、入出力機器のアドレス内容（上記両データ）を通信手段に問い合わせたり、表示したりする。この結果変換するアプレットが１種類であっても、複数種類の端末装置で、検索されたユーザプログラムを同一内容のユーザプログラムを表示することができる。
【００２３】
本発明に係るデータ集積方法は、上記の課題を解決するために、入力機器および出力機器が接続される制御装置と、該制御装置による該入出力機器の制御状態を表示し、かつ上記制御装置に制御指示を与える表示型制御装置との間で専用ネットワークを介して制御装置に固有の通信プロトコルを用いて通信を行い、上記表示型制御装置の上位に設けられるホストコンピュータと上記表示型制御装置との間で共通ネットワークを介して共通の通信プロトコルを用いて通信を行うことによって上記制御装置に関するデータを集積するデータ集積方法であって、上記表示型制御装置において、上記両ネットワークで用いられる通信プロトコルを相互に変換するとともに、予め設定されている配信条件が満たされたときに上記制御装置の制御状態を表し実行されたユーザプログラムを含むユーザ画面、該ユーザプログラムを含むユーザ画面において、上記入出力機器のアドレスに対応付けられ、上記制御指示のデータおよび該制御指示データの結果として得られる上記出力データによって変化する各変化要素としてのシンボル、ならびに該変化要素に対応する上記制御指示データおよび上記出力データを上記ホストコンピュータに配信し、上記ホストコンピュータに配信された上記ユーザプログラムを含むユーザ画面、上記変化要素および上記両データを上記表示型制御装置単位で蓄積することを特徴としている。
本発明に係るデータ集積方法は、上記の課題を解決するために、入力機器および出力機器が接続される制御装置と、該制御装置による該入出力機器の制御状態を表示し、かつ上記制御装置に制御指示を与える表示型制御装置との間で専用ネットワークを介して制御装置に固有の通信プロトコルを用いて通信を行い、上記表示型制御装置の上位に設けられるホストコンピュータと上記表示型制御装置との間で共通ネットワークを介して共通の通信プロトコルを用いて通信を行うことによって上記制御装置に関するデータを集積するデータ集積方法であって、上記表示型制御装置において、上記両ネットワークで用いられる通信プロトコルを相互に変換するとともに、予め設定されている配信条件が満たされたときに上記制御装置の制御状態を表し実行された制御手順プログラム、該制御手順プログラムにおいて、上記入出力機器のアドレスに対応付けられ、上記制御指示のデータおよび該制御指示データの結果として得られる上記出力データによって変化する各変化要素、ならびに該変化要素に対応する上記制御指示データおよび上記出力データを上記ホストコンピュータに配信し、上記ホストコンピュータに配信された上記制御手順プログラム、上記変化要素および上記両データを上記表示型制御装置単位で蓄積することを特徴としている。
【００２４】
このデータ集積方法でも、制御装置と表示型制御装置との間の通信プロトコルが、表示型制御装置のプロトコル変換手段によって、表示型制御装置とホストコンピュータとの間の通信プロトコルに変換される。それゆえ、表示型制御装置は、常に同一の通信プロトコルで、共通ネットワークを介してホストコンピュータと通信が可能になり、この結果、ホストコンピュータは、通信プロトコルの異なる制御装置から容易にデータを集積することができる。
【００２５】
また、実行されたユーザプログラム、各変化要素、両データが、予め設定されている配信条件が満たされたときにホストコンピュータに表示型制御装置単位で時系列に順次蓄積されるので、ユーザが意識することなくデータベースが自動的に構築されるとともに、蓄積されたデータ構造が単純化される。また、ユーザプログラム、変化要素および両データが関連付けられて蓄積されるので、ユーザプログラムにおける変化要素の両データによる変化状態を再現することができる。
【００２６】
上記のデータ集積方法においては、上記ホストコンピュータにおいて、蓄積された上記ユーザプログラムを含むユーザ画面、上記変化要素および上記両データを連続して検索し、かつ表示することが好ましい。これにより、検索されたユーザプログラムを含むユーザ画面が連続的に表示されるので、制御装置が動作していたときのユーザプログラムの状況を再現することができる。
【００２７】
また、上記のデータ集積方法においては、上記ホストコンピュータにおいて、端末装置からの要求に応じて検索された上記ユーザプログラムを含むユーザ画面を上記端末装置が実行可能な実行プログラムに変換し、該実行プログラム、上記変化要素および上記両データを、上記ユーザプログラムを含むユーザ画面において上記変化要素を上記両データに基づいて変化させるように上記実行プログラムを実行する上記端末装置へ送信することが好ましい。これにより、ホストコンピュータで検索されたユーザプログラムが実行プログラムに変換されて、変化要素および両データとともに端末装置に送信されると、ここで、実行プログラムが実行されることによって、ユーザプログラムにおいて変化要素が両データに基づいて変化する。この結果、例えば、ユーザ画面上で変化要素が変化する状態が表示される。
【００２８】
本発明のデータ集積のためのプログラムを記録した記録媒体は、入力機器および出力機器が接続される制御装置と、該制御装置による該入出力機器の制御状態を表示し、かつ上記制御装置に制御指示を与える表示型制御装置との間で専用ネットワークを介して制御装置に固有の通信プロトコルを用いて通信を行わせ、上記表示型制御装置の上位に設けられるホストコンピュータと上記表示型制御装置との間で共通ネットワークを介して共通の通信プロトコルを用いて通信を行わせることによって上記制御装置に関するデータを集積するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、上記表示型制御装置において、上記両ネットワークで用いられる通信プロトコルを相互に変換するとともに、予め設定されている配信条件が満たされたときに上記制御装置の制御状態を表し実行されたユーザプログラムを含むユーザ画面、該ユーザプログラムを含むユーザ画面において、上記入出力機器のアドレスに対応付けられ、上記制御指示のデータおよび該制御指示データの結果として得られる上記出力データによって変化する各変化要素としてのシンボル、ならびに該変化要素に対応する上記制御指示データおよび上記出力データを上記ホストコンピュータに配信する処理と、上記ホストコンピュータに配信された上記ユーザプログラムを含むユーザ画面、上記変化要素および上記両データを上記表示型制御装置単位で蓄積する処理とを実行するためのプログラムを記録していることを特徴としている。
本発明のデータ集積のためのプログラムを記録した記録媒体は、入力機器および出力機器が接続される制御装置と、該制御装置による該入出力機器の制御状態を表示し、かつ上記制御装置に制御指示を与える表示型制御装置との間で専用ネットワークを介して制御装置に固有の通信プロトコルを用いて通信を行わせ、上記表示型制御装置の上位に設けられるホストコンピュータと上記表示型制御装置との間で共通ネットワークを介して共通の通信プロトコルを用いて通信を行わせることによって上記制御装置に関するデータを集積するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、上記表示型制御装置において、上記両ネットワークで用いられる通信プロトコルを相互に変換するとともに、予め設定されている配信条件が満たされたときに上記制御装置の制御状態を表し実行された制御手順プログラム、該制御手順プログラムにおいて、上記入出力機器のアドレスに対応付けられ、上記制御指示のデータおよび該制御指示データの結果として得られる上記出力データによって変化する各変化要素、ならびに該変化要素に対応する上記制御指示データおよび上記出力データを上記ホストコンピュータに配信する処理と、上記ホストコンピュータに配信された上記ユーザプログラム、上記変化要素および上記両データを上記表示型制御装置単位で蓄積する処理とを実行するためのプログラムを記録していることを特徴としている。
【００２９】
この記録媒体に記録されたプログラムによっても、表示型制御装置とホストコンピュータとの間の通信が常に同一の通信プロトコルで行うことが可能になり、この結果、ホストコンピュータは、通信プロトコルの異なる制御装置から容易にデータを集積することができる。また、実行されたユーザプログラム、各変化要素、両データが、ホストコンピュータに表示型制御装置単位で時系列に順次蓄積されるので、ユーザが意識することなくデータベースが自動的に構築されるとともに、蓄積されたデータ構造が単純化される。しかも、ユーザプログラムにおける変化要素の両データによる変化状態を再現することができる。
【００３０】
上記の記録媒体においては、上記ホストコンピュータにおいて、蓄積された上記ユーザプログラムを含むユーザ画面、上記変化要素および上記両データを連続して検索し、かつ表示する処理を実行するためのプログラムが記録されていることが好ましい。これにより、検索されたユーザプログラムが連続的に表示されるので、制御装置が動作していたときのユーザプログラムの状況を再現することができる。
【００３１】
また、上記の記録媒体においては、上記ホストコンピュータにおいて、端末装置からの要求に応じて検索された上記ユーザプログラムを含むユーザ画面を上記端末装置が実行可能な実行プログラムに変換し、該実行プログラム、上記変化要素および上記両データを、上記ユーザプログラムを含むユーザ画面において上記変化要素を上記両データに基づいて変化させるように上記実行プログラムを実行する上記端末装置へ送信する処理を実行するためのプログラムが記録されていることが好ましい。これにより、ユーザプログラムが変換された実行プログラムが端末装置で実行されると、ユーザプログラムにおいて変化要素が両データに基づいて変化する。この結果、例えば、ユーザ画面上で変化要素が変化する状態が表示される。
【００３２】
【発明の実施の形態】
本発明の実施の一形態について図１ないし図８に基づいて説明すれば、以下の通りである。
【００３３】
本実施の形態に係る制御システムは、図１に示すように、パーソナルコンピュータ（以降、コンピュータと称する）１と、複数のプログラマブル表示器（以降、表示器と称する）２…と、複数のＰＬＣ３…とを備えている。
【００３４】
コンピュータ１および表示器２…は、共通の通信プロトコルで通信を行うことが可能な共通ネットワーク４を介して互いに接続されている。一方、表示器２およびＰＬＣ３は、ＰＬＣ３毎に固有の通信プロトコルで通信を行うことが可能な専用ネットワーク５を介して個々に接続されている。また、共通ネットワーク４は、図示しないルータを介してインターネット８に接続されている。このインターネット８には、クライアント装置９が接続されている。
【００３５】
なお、広義の通信プロトコルには、スタートキャラクタやエンドキャラクタを示すコード、各キャラクタの送受タイミング、送信先や送信元の特定方法などが送信元と送信先とを含むネットワーク内で統一されていないと正常にデータが伝送できない通信プロトコルと、各ＰＬＣ３が理解可能なコマンド体系など、送信元と送信先とで統一されていないと一方が所望する動作と他方が実施する動作とが一致せずに正常に制御できない通信プロトコルとが存在する。それゆえ、以下の説明では、両者の組み合わせを通信プロトコルと称し、両者の区別が必要な場合には、前者を伝送プロトコル、後者をコマンド体系として区別する。
【００３６】
ここで、各ＰＬＣ３の製造者が規定する通信プロトコルでは、データの読み出しを指示する場合、概ね、図２に示すように、次に伝送されるコードがコマンドであることを示す制御コード（ＥＳＣ）と、ＰＬＣ３へデータの読み出しを指示するコマンドコード（ＲＤ）と、読み出し開始アドレス（Ｘ０００１）と、読み出しサイズ（５）と、伝送の終了を示す制御コード（ＲＥＴ）とを含むデータ列ＤＴ１  が伝送される。ただし、各ＰＬＣ３間では、コマンドコードを含むコマンド体系はもちろん、アドレスやサイズなどの並び順や、制御コード自体、あるいはアドレスやサイズを表現する際の表現方法（数値を示す際のビット幅や文字を示す際のコード種別など）も互いに異なっていることが多い。
【００３７】
したがって、本実施の形態では、表示器２が共通ネットワーク４を介してデータ通信する場合、専用ネットワーク５を伝送される通信プロトコルに関わらず、統一した通信プロトコルで通信できるように、共通ネットワーク４で伝送可能な通信プロトコルに共通の通信プロトコル（共通プロトコル）を規定している。具体的に、本実施の形態では、共通ネットワーク４として、イーサネット（商標：ゼロックス社）などのローカルエリアネットワーク（ＬＡＮ）が用いられており、共通ネットワーク４での通信プロトコルとして、ＴＣＰ／ＩＰが採用されている。
【００３８】
このため、共通ネットワーク４に接続される各表示器２およびコンピュータ１には、それぞれに固有のＩＰアドレスが割り当てられており、共通ネットワーク４を介して通信する際、図３に示すように、ＴＣＰ／ＩＰで規定された形式のデータ列ＤＴ２  を受信する。このデータ列ＤＴ２  は、送信元および送信先のＩＰアドレスを含むヘッダ部４１と、通信内容を示すデータ本体４２とを備えている。これにより、例えば、制御システムの開発者が使用するコンピュータなどが、制御システムの運用会社とは異なる場所から電話回線を介して接続する場合であっても、ＴＣＰ／ＩＰで通信可能な通信機器であれば、他の通信機器間のデータ伝送を阻害することなく、共通ネットワーク４に自由に参加できる。
【００３９】
さらに、共通プロトコルでは、データ読み出しを指示するコマンドをＰＬＣ３へ伝える際のデータ本体４２ｒに、コマンドの内容を示す共通コード４３と、この共通コード４３に付随する関連情報４４として、読み出し開始アドレス４４ａおよび読み出しサイズ４４ｂとが含まれる。また、データ書き込みを指示する際のデータ本体４２ｗには、関連情報４４として、書き込み開始アドレス４４ｃおよび書き込みデータ４４ｄが含まれる。
【００４０】
上記の共通コード４３は、各ＰＬＣ３が理解可能なコマンドのうち、互いに同一内容のコマンド間では、専用ネットワーク５でのコマンドコード（各ＰＬＣ３でのコマンドコード）に関わらず、統一されている。また、例えば、読み出し開始アドレス４４ａおよび読み出しサイズ４４ｂなど、関連情報４４内のデータを伝送する順番、伝送する際の表現方法も、専用ネットワーク５での通信プロトコルに関わらず、統一されている。これにより、共通プロトコルでは、表示器２に接続されているＰＬＣ３の機種に関わらず、実行させるべき命令を一意的に特定できる。
【００４１】
制御装置としてのＰＬＣ３は、ＣＰＵ／電源モジュールと、入力ユニットと、出力ユニットとを備えている。ＣＰＵ／電源モジュールは、ＣＰＵやメモリを含むＣＰＵ部と、ＰＬＣ３の各部に電力を供給する電源部とからなっている。ＣＰＵ部は、制御プログラムにしたがって、入力ユニットを介して入力機器（図中、Ｉ／Ｄ）６から入力される信号に基づいて出力機器（図中、Ｏ／Ｄ）７に与える制御データの演算処理を行う。入力ユニットおよび出力ユニットは、それぞれ入力機器６および出力機器７に接続されるインターフェース機能を有する部分であって、これらの機器との間で入出力されるデジタル信号またはアナログ信号を上記のＣＰＵ部とやり取りするようになっている。
【００４２】
入力機器６としては、センサ（温度センサ、光センサなど）、スイッチ（押ボタンスイッチ、リミットスイッチ、圧力スイッチなど）のような機器が用いられる。出力機器７としては、アクチュエータ、リレー、電磁弁、表示器などが用いられる。これらの入力機器６…および出力機器７…は、製造ラインなどの各種のターゲットシステムの所要各部に配置される。
【００４３】
表示型制御装置としての表示器２は、ＲＡＭ、ＲＯＭ、フラッシュＲＯＭ、ＶＲＡＭなどのメモリや、ＣＰＵなどの演算処理部を有しており、これらによって表示器２の各部の動作を制御している。また、表示器２は、データ処理部２１、インターフェース部（図中、Ｉ／Ｆ）２２・２３、入力部２４、表示部２５、ユーザメモリ２６、変換データ記憶部２７およびデータ配信部２８を備えている。
【００４４】
データ処理部２１は、後述するユーザ画面の表示制御、プロトコル変換およびデータ配信の処理を行うために各種のデータ処理を行う。このデータ処理部２１は、パッケージソフトウェアとしてプログラムメディアの形態で提供可能なソフトウェアであって、予めコンピュータ１から表示器２にダウンロードされている。また、このソフトウェアは、必要に応じて、表示器２の出荷時などに、予め表示器２インストールされていてもよい。
【００４５】
ユーザ画面の表示制御については、データ処理部２１は、コンピュータ１の作画エディタ１６ａで作成されたユーザ画面のデータに基づいてＶＲＡＭなどを用いて表示部２５にユーザ画面を描画させる。ユーザプログラムとしてのユーザ画面は、ターゲットシステムを模した背景画面に、前述の部品やタグがシンボルとして合成されている。このように構成されるユーザ画面においては、部品やタグが入出力機器６・７の動作に応じて動くようになっており、入力機器６および出力機器７の動作状況が視覚化されている。
【００４６】
ここで、前記のプログラムメディアは、コンピュータ１や表示器２と分離可能に構成される記録媒体であり、磁気テープやカセットテープなどのテープ系、フロッピディスクやハードディスクなどの磁気ディスク系、ＣＤ−ＲＯＭ、ＭＯ、ＭＤ、ＤＶＤなどの光ディスクの光ディスク系、ＩＣカード（メモリカードを含む）、光カードなどのカード系、あるいはマスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＲＯＭなどによる半導体メモリを含めた固定的にプログラムを担持する媒体であってもよい。
【００４７】
また、本制御システムは、インターネット８を含む通信ネットワークと接続可能なシステム構成であることから、通信ネットワークからプログラムをダウンロードするように流動的にプログラムを担持する媒体であってもよい。ただし、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用プログラムは予めコンピュータ１に格納されるか、あるいは別な記録媒体からインストールされるものであってもよい。
【００４８】
プロトコル変換処理は、両ネットワーク４・５での通信プロトコルが互いに異なる場合、変換データ記憶部２７に記憶されたデータを参照しながら、一方の通信プロトコルから他方の通信プロトコルへ変換する処理である。データ配信処理は、予め設定された配信条件が満たされたときに、入力機器６からＰＣＬ３のメモリに取り込まれてＰＬＣ３から出力される出力データをコンピュータ１や他の表示器２に配信する処理である。
【００４９】
インターフェース部２２は、コンピュータ１および他の表示器２との間の通信を行うために共通ネットワーク４に接続されている。この共通ネットワーク４を介した通信で後述のようにＰＬＣ３の出力データが表示器２からコンピュータ１に転送される。一方、インターフェース部２３は、ＰＬＣ３との間の通信を行うために専用ネットワーク５に接続されている。この専用ネットワーク５を介した通信で後述のようにＰＬＣ３からの出力データが表示器２に転送される。
【００５０】
入力部２４は、表示部２５の表示画面上で入力を行うためにタッチパネルのような入力装置によって構成されている。このため、表示部２５は、液晶パネルやＥＬパネルのような平板型表示素子によって構成されている。
【００５１】
ユーザメモリ２６は、上記の作画エディタ１６ａでユーザによって作成されたユーザ画面を格納するメモリであってフラッシュＲＯＭなどから構成されている。
【００５２】
変換データ記憶部２７は、プロトコル変換処理に必要なデータを記憶している。このデータは、専用ネットワーク５と共通ネットワーク４との間で通信プロトコルを相互変換できれば、どのような形式でもよいが、本実施の形態に係る変換データ記憶部２７は、専用ネットワーク５で伝送されるデータのフォーマットを示すデータ転送フォーマットＦＭＴと、両ネットワーク４・５で伝送されるコマンドコード間の対応関係を示すコマンド変換テーブルＴＢＬとを記憶している。
【００５３】
具体的には、図２に示すように、上記データ転送フォーマットＦＭＴは、専用ネットワーク５にて伝送されるデータ列ＤＴ１  のうち、例えば、読み書きするデータ内容自体、データのサイズ、読み書きするアドレスのように実際に伝送するデータ内容によって変化する部分を未定義としたスケルトン状のデータ列であって、未定義の部分は、用途のみが定義されている。なお、コマンドの領域を未定義とすれば、実際に伝送されるデータ列から抽出されたデータ転送フォーマットＦＭＴが複数のコマンド間で共通になる場合、コマンドの領域をも未定義として、これらのコマンド間で共通のデータ転送フォーマットＦＭＴを用いてもよい。
【００５４】
また、コマンド変換テーブルＴＢＬには、図４に示すように、共通ネットワーク４で伝送される共通コードと、専用ネットワーク５で伝送されるコマンドコードとの対応が格納されている。データ処理部２１は、このコマンド変換テーブルＴＢＬに基づいて一方のコードを他方のコードに変換する（例えばＴＢＬａとＴＢＬｂとの間）。
【００５５】
データ配信部２８は、予め設定された配信条件が満たされたときに、ＰＬＣ３の出力データを、指定された配信先に配信する。このため、データ配信部２８は、配信先のノードに関するノード情報および配信に関する設定情報がコンピュータ１から予めダウンロードされて記憶されている。配信条件の設定については、後に詳述する。
【００５６】
ホストコンピュータとしてのコンピュータ１は、一般の汎用パーソナルコンピュータと同様に、ＣＰＵ、メモリ（ＲＡＭ、ＲＯＭなど）、外部記憶装置（ハードディスクドライブ、ＭＯドライブなど）、表示装置および入力装置（キーボード、マウスなど）を有している。また、コンピュータ１は、図１に示すように、サーバ部１１、インターフェース部（図中、Ｉ／Ｆ）１２、配信設定部１３、ネットワークファイル１４、データ登録部１５、アプリケーション部１６、データベース１７、データメモリ１８、コンパイラ１９および公開サーバ部２０を備えている。
【００５７】
インターフェース部１２は、表示器２との間の通信を行うために共通ネットワーク４に接続されている。
【００５８】
サーバ部１１は、データ通信処理部１１ａおよびデータベース管理部１１ｂを有している。このサーバ部１１は、パッケージソフトウェアとしてプログラムメディアの形態で提供可能なソフトウェアであって、予めコンピュータ１にインストールされている。このプログラムメディアも、前述のプログラムメディアと同様、コンピュータ１や表示器２と分離可能に構成される記録媒体である。
【００５９】
データ通信処理部１１ａは、共通ネットワーク４を介した表示器２…との間のデータ通信処理を行うとともに、アプリケーション部１６との間でデータのやり取りを行う部分である。このデータ通信処理部１１ａは、例えば、後述する作画エディタ１６ａで作成されたユーザ画面やラダーエディタ１６ｂで作成されたユーザプログラムとしてのラダープログラムを表示器２に転送したり、表示器２から配信されたユーザ画面またはＰＬＣ３から表示器２によって配信されたラダープログラムおよびＰＬＣ３の入力データ（制御指示のデータ）や出力データを収集したりといった処理を行う。この入力データは、入力機器６における後述するデバイスアドレスの内容（ビット、数値等）の変更すべき内容であり、出力データは、出力機器７におけるデバイスアドレスの出力すべき内容である。
【００６０】
蓄積手段および検索手段としてのデータベース管理部１１ｂは、表示器２から配信されてきたユーザ画面またはラダープログラムおよびＰＬＣ３の入出力データをデータベース１７に登録したり、データベース１７に登録されたそれらのデータを検索したりする。
【００６１】
具体的には、データベース管理部１１ｂは、データベース１７において表示器２毎に名称が付与されたフォルダを設定し、表示器２から所定の周期毎に配信されてくる、プログラマブル表示器２で表示されたユーザ画面またはＰＬＣ３で実行されたラダープログラムと、そのユーザ画面における変化要素としてのシンボル（部品およびタグ）またはそのラダープログラムにおける変化要素としてのラダー記号と、デバイスアドレスと、上記の入出力データとを各々組み合わせてレコードとし、上記のフォルダにそのレコードを発生順に登録する。フォルダ名としては、例えば、表示器２の局名、例えば、図１に示すようなＡで表される「ノードＡ」や、表示器２の機種名といった適当な名称が用いられる。また、データベース管理部１１ｂは、ユーザが指定したフォルダの指定した時刻のレコードを検索して、得られたレコードを表示させるように作画エディタ１６ａまたはラダーエディタ１６ｂに渡す。
【００６２】
データベース１７が一般にハードディスク装置に構築されることから、ハードディスク装置からのデータの読み出しには比較的長い時間を要する。このため、データベース管理部１１ｂは、複数のレコードからなるブロック単位でレコードを読み出す。これにより、ハードディスク装置へのアクセスが少なくなり、検索の速度を高めることができる。また、複数のブロックをまとめて読み出すことによって、さらに高速の検索を行うことができる。
【００６３】
検索のために、データベース管理部１１ｂは、例えば、図５に示すような検索画面５１をユーザに提供する。この検索画面５１は、再生キー５１ａ、停止キー５１ｂ、早送りキー５１ｃ、早戻しキー５１ｄ、一時停止キー５１ｅ、日時を設定する日時設定部５１ｆおよび後述するキーを指定するキー指定部５１ｇを有している。
【００６４】
データベース管理部１１ｂは、再生キー５１ａの操作により、作画エディタ１６ａまたはラダーエディタ１６ｂが検索データを動画的に表示するように、連続的にデータの検索を行う。この検索において早送りキー５１ｃまたは早戻しキー５１ｄが操作されると、検索速度が高くなり、検索画面が順方向または逆方向に高速で表示される一方、一時停止キー５１ｅの操作により検索が一時停止し、このとき、ユーザ画面が静止状態で表示される。また、早送りキー５１ｃまたは早戻しキー５１ｄのみの操作では、高速度で検索位置が変化するが、ユーザ画面は表示（再生）されない。このとき、日時設定部５１ａには、検索位置の移動時に認識された日時が表示されていく。さらに、停止キー５１ｃの操作により、検索が停止する。
【００６５】
上記の検索画面５１は、検索されて作画エディタ１６ａまたはラダーエディタ１６ｂによって表示された再生画面５２上に表示され、マウスなどのドラッグ＆ドロップにより所望の位置への移動が可能である。このような検索画面５１により、オーディオ装置などの操作と同様な感覚で検索を行う環境がユーザに提供される。
【００６６】
また、データベース管理部１１ｂは、ネットワークを介してのデータベース１７へのアクセスに対するセキュリティチェックを行う。例えば、共通ネットワーク４においては、ユーザＩＤおよびパスワードが登録されたものであると確認されると、アクセスが許可（認証）される。これにより、共通ネットワーク４に接続されるインターネット８からの第三者による不用意なアクセスを拒否することができる。
【００６７】
配信設定部１３は、ノード情報および配信情報を設定する。ノード情報は、共通ネットワーク４におけるノードと、そのノードに接続される表示器２の種類とを含んでいる。配信情報は、各ＰＬＣ３に接続されるデバイス（入力機器６および出力機器７）の名称、各表示器２毎のデータ配信タイミング、配信すべきデータのストアアドレス、受信したデータのストアアドレス等を含んでいる。これらのノード情報および配信情報は、ネットワークファイル１４に保存され、必要に応じて各表示器２のデータ配信部２８にダウンロードされる。この配信設定部１３は、パッケージソフトウェアとしてプログラムメディアの形態で提供可能なソフトウェアであって、予めコンピュータ１にインストールされている。このプログラムメディアも、前述のプログラムメディアと同様、コンピュータ１や表示器２と分離可能に構成される記録媒体である。
【００６８】
データ登録部１５は、変換データ記憶部２７に記憶されるべき前述のプロトコル変換データを予め登録している。この変換データは、初期設定時や、制御システムに接続されるＰＬＣ３が変更されるときなどのメンテナンス時に、必要とする表示器２にデータ通信処理部１１ａを介してダウンロードされる。
【００６９】
アプリケーション部１６は、作画エディタ１６ａおよびラダーエディタ１６ｂを含んでいる。
【００７０】
作画エディタ１６ａは、プログラマブル表示器２が、入力機器６…および出力機器７…の稼働状況や作業指示のような管理のための各種のモニタ、機器に対する設定値を入力する端末としての機能を備えるように、表示部２５に表示させるユーザ画面を作成する画面作成ソフトウェアである。
【００７１】
一般に、作画エディタ１６ａは、ユーザ独自の画面であるユーザ画面を作成できるように、スイッチ、ランプ、テンキー、各種表示器（例えば、数値表示器、メータ表示器およびグラフ表示器）などの部品、タグ設定機能、描画機能、テキスト入力機能などを備えている。部品としては、単一の機能を有する単一部品だけでなく、複数の機能を有する、複合スイッチ、カウンタ、タイマといった複合部品が用意されている。このような複合部品は、単一部品と同様、ドラッグ＆ドロップなどの操作によってベース画面の所望の位置に配置できるようにライブラリ形式で登録されている。タグは、数値や直線などの動的変化を画面上の任意の位置で表現させるために、所望の位置（領域）に設定される所望の動画機能である。
【００７２】
また、作画エディタ１６ａは、作成されたユーザ画面に配置された部品の各入出力機器６・７に対する前記の入出力番号（デバイスアドレス）を変数を介して割り付ける。
【００７３】
上記の作画エディタ１６ａによって作成されたユーザ画面は、必要に応じてインターフェース部１２を介してプログラマブル表示器２に転送され、ユーザメモリ２６にダウンロードされる。
【００７４】
ラダーエディタ１６ｂは、入力機器６…および出力機器７…が所望のシーケンスにしたがって動作するようにＰＬＣ３の制御手順を定めるラダープログラムを作成するためのプログラミングソフトウェアであり、コンピュータ１のディスプレイ（図示せず）上で入出力機器６・７の動作に対応するラダー記号を配置してラダー図を作成できるように構成されている。このラダーエディタ１６ｂにおいては、例えば、国際基準ＩＥＣに準拠した前述のプログラミング言語が用いられる。
【００７５】
また、ラダーエディタ１６ｂは、ＰＬＣ３の入力端子および出力端子のそれぞれに付与されている入力番号および出力番号と、各入出力端子に接続される入力機器６および出力機器７の名称（デバイス名）との対応付けを変数を介して入出力番号の割り付け（Ｉ／Ｏアサイン）として行う。この割り付けの結果は、コンピュータ１内の記憶装置（図示せず）に保存される。
【００７６】
割り付けを行う際、コンピュータ１内の所定のメモリには、入力番号および出力番号をそれぞれアドレスとして、各アドレスに対応するデバイス名が格納される。従来、このような割り付けは、ＰＬＣのメーカによって異なっており、絶対アドレスで設定されるので、メーカに応じたメモリテーブルを用意する必要がある。ただし、ＩＥＣに準拠した本ラダーエディタ１６ｂは、上記の変数（自由変数）によってユーザが入出力を決定できるので、上記のようなメモリテーブルは不要である。また、一度決定した割り付けも、後に変更することができる。
【００７７】
ラダーエディタ１６ｂで作成されたラダープログラムは、プログラマブル表示器２を介して（または直接）ＰＬＣ３に転送され、ＰＬＣ３内のメモリにダウンロードされる。
【００７８】
データベース１７は、データベース管理部１１ｂによって順次書き込まれるデータをフォルダ毎に管理している。例えば、ノードＡの表示器２に表示されるユーザ画面については、図６（ａ）に示すように、「日時」、「画面」、「設定温度」、「レベル」、「設定圧力」、「レベル」、「アラーム」などの各項目がフィールドとして設けられている。「日時」は、同図において分の単位まで記載されているが、必要に応じて秒やミリ秒の単位まで保存できるようにしてもよい。「画面」は、ユーザ画面のファイル名を表している。「設定温度」および「設定圧力」は、作業指示として設定された温度および圧力を表し、「レベル」は、設定された温度や圧力に対する実際の温度や圧力を表している。アラームは、設定された温度や圧力が規定範囲内にあるときは正常であるとして“０”の値をとり、規定範囲外にあるときは異常であるとして“１”の値をとる。
【００７９】
また、図示はしないが、「画面」を除いた各フィールドのデータは、デバイスアドレスおよびユーザ画面上のシンボルのデータが対になるように併せて書き込まれる。例えば、「温度設定」の場合は、温調器のデバイスアドレスおよび数値入力タグであったり、「アラーム」の場合は、ランプのデバイスアドレスおよびシンボルであったりする。それらのフィールドによって１つのレコードが形成され、各レコードが日時順に書き込まれる。ユーザ画面が切り替わる場合は、そのユーザ画面に応じたファイル名が書き込まれるようになっている。
【００８０】
ラダープログラムについても、ユーザ画面と同様に図６（ｂ）に示すように、図６（ａ）と同様な形式でレコードが書き込まれる。この場合、「日時」、「ラダー」、「ＯＮ」、「生産数」、「ＯＮ／ＯＦＦ」、「カウント値」、「点灯／消灯」などの各項目がフィールドとして設けられている。「ラダー」は、ラダープログラムのファイル名を表している。「ＯＮ」は、生産ラインのスタートボタンがＯＮされたことを表している（ＯＮ時に“１”となる）。「生産数」は、ラインにおける所定位置を通過する製品の数の設定値を表している。「ＯＮ／ＯＦＦ」は、上記の所定位置で製品の通過を検出する光センサの出力を表しており、検出すなわちＯＮが“１”であり、非検出すなわちＯＦＦが“０”である。「カウント値」は、光センサのＯＮ出力のカウンタによるカウント値を表している。「点灯／消灯」は、設定された数の製品がラインにより搬送されているか否かをランプの点灯または消灯で表しており、搬送時すなわち点灯が“１”であり、非搬送時すなわち消灯が“０”である。
【００８１】
また、図７に示すように、ユーザ画面およびラダープログラムのレコードを一括して管理するようにしてもよい。図７において「プログラム」は、図６（ａ）における「画面」および図６（ｂ）の「ラダー」に相当し、ユーザ画面のファイル名およびラダープログラムのファイル名が格納されるようになっている。
【００８２】
さらに、他のアプリケーションプログラムによって作成されたユーザプログラムについても、同様に図６（ａ）と同様な形式でレコードを保存するようにしてもよいし、図７に示すような形式でユーザ画面およびラダープログラムと併せてレコードを保存するようにしてもよい。このようなユーザプログラムとしては、例えば、ターゲットシステムにおける入出力機器６・７の電気的配線を設計するＣＡＤ図面が挙げられる。
【００８３】
データベース１７においては、レコードが入力順に保存される順編成のファイル構造が形成される。これにより、時刻順にレコードを検索する順アクセスを可能にしている。また、データベース１７においては、指定された検索項目に基づいてレコードを直接アクセスすることを可能にするために、所望のレコードがデータベース管理部１１ｂによってキーを付与された状態で保存される。このキーの設定は、図示しないが、データベース管理部１１ｂが提供するキー設定用の画面で予めユーザによって行われる。
【００８４】
キーは、例えば、時刻、アラームなどのデータ（検索項目）に付与される。最終的なレコードへのアクセスは、物理アドレスに基づいて行われるので、物理アドレスとキーとの対応付けが必要となる。この対応付けとしては、例えば、キーと物理アドレスとを対照表で１対１で対応付けたり、あるいはキー値を基に所定の関数を用いて得られた値を物理アドレスとしてレコードを書き込んだりすることが挙げられる。また、キーと物理アドレスとの対応付けの代わりに、キーからレコード番号を算出し、このレコード番号に基づいてレコードの書き込みを行って、ＯＳのファイルシステムにレコード番号から物理アドレスを算出させるようにしてもよい。
【００８５】
このように、キーをレコードに付与することによって、キーにより所望のレコードを一意的に特定することができる。
【００８６】
データメモリ１８は、データベース管理部１１ｂによって検索されたユーザ画面およびそのシンボル（テキストも含む）またはラダープログラムおよびそのラダー記号と、ＰＬＣ３の入出力データ（デバイスアドレスのデータ）とをコンパイラ１９の処理に供するために一時的に格納しておくメモリである。
【００８７】
変換手段としてのコンパイラ１９は、上記のユーザ画面またはラダープログラムを、クライアント装置９のブラウザ９１に含まれるバーチャルマシンで実行できるようなＪａｖａ（登録商標）言語のアプレットに変換する。このアプレットは、Ｊａｖａ言語からなっているので、クライアント装置９のプラットフォームに依存しない。アプレットにおける各インスタンスは、ユーザ画面において対応するシンボルまたはラダープログラムにおいて対応するラダー記号と同じデバイスアドレスを参照するように設定されている。また、各インスタンスは、デバイスアドレスの入出力データをシンボルまたはラダー記号に反映させるように作成されている。
【００８８】
コンピュータ１には、予め作画エディタ１６ａで用いられるシンボルの種類またはラダーエディタ１６ｂで用いられるラダー記号の種類毎にバーチャルマシンが実行するメソッドを含むクラスが格納されており、コンパイラ１９がユーザ画面における各シンボルまたはラダープログラムにおける各ラダー記号に対応するメソッドを呼び出すコードを生成する。また、コンパイラ１９は、図５に示す検索画面５１もユーザ画面またはラダープログラムと同様にアプレットに変換する。この検索画面５１による前述の各検索操作についても、バーチャルマシンが実行するメソッドを含むクラスが用意されている。
【００８９】
公開サーバ部２０は、クライアント装置９からの要求に対し、例えば、URI(Universal Resource Identifier) などに基づいて、クライアント装置９が要求しているユーザ画面を判別し、ＣＧＩ(Common Gateway Interface)やBGI(Binary Gateway Interface) などによって、コンパイラ１９にアプレットの生成を指示する。通信手段としての公開サーバ部２０は、インターフェース部１２から共通ネットワーク４およびインターネット８を介してクライアント装置９に上記のアプレットを送出する。コンピュータ１は、公開サーバ部２０を備えることによって、インターネット８上でＷｅｂサーバとして機能する。
【００９０】
上記のコンパイラ１９および公開サーバ部２０も、パッケージソフトウェアとしてプログラムメディアの形態で提供可能なソフトウェアであって、予めコンピュータ１にインストールされている。このプログラムメディアも、前述のプログラムメディアと同様、コンピュータ１や表示器２と分離可能に構成される記録媒体である。
【００９１】
端末装置としてのクライアント装置９は、例えば、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）プロトコルでコンピュータ１などのサーバ装置からＨＴＭＬドキュメントなどのドキュメントを受け取って閲覧するブラウザ９１を備えている。このブラウザ９１は、汎用の閲覧用ソフトウェアなどで構成されており、バーチャルマシンを含んでいる。バーチャルマシンは、プラットフォームに依存しないバイトコードをクライアント装置９のネイティブコードに変換する。このバーチャルマシンは、コンピュータ１からの入出力データに応じて、ユーザ画面を表示器２での表示状態と同様に表示させるため、またはラダープログラムをＰＬＣ３の動作状態を反映させた状態で表示させるための描画メソッドを実行する。また、バーチャルマシンは、ブラウザ９１から独立して設けられていてもよい。
【００９２】
ここで、前述の配信設定部１３で設定される配信情報について説明する。配信情報は、図８（ａ）および（ｂ）に示すような設定画面上で設定され、設定画面には「配信条件」と「配信局・受信局」とが設けられている。
【００９３】
図８（ａ）に示す「配信条件」には、配信のタイミングを決定する条件として、電源投入、時刻指定、周期指定、書き換えトリガ、ＯＮ期間、ＯＦＦ期間、立ち上がりトリガおよび立ち下がりトリガが設けられている。
【００９４】
「電源投入」は、表示器２の電源投入時に配信を行う条件であり、「時刻指定」は、指定された時刻に配信を行う条件である。「周期指定」は、所望の周期毎に配信を行う条件であり、「書き換えトリガ」は、出力データが書き換えられたとき、すなわち出力データが変化したときに配信を行う条件である。「ＯＮ期間」と「ＯＦＦ期間」とは、デバイスのＯＮ期間とＯＦＦ期間とのそれぞれにおいて配信を続けて行うための条件であり、「立ち上がりトリガ」と「立ち下がりトリガ」とは、出力データ（指定デバイス出力）の立ち上がりと立ち下がりとのそれぞれの検出時に配信を行うための条件である。
【００９５】
また、配信条件の設定画面における下側の領域には、上記の各条件のうちデバイスの出力に基づく条件に関して指定すべきデバイスの名称を入力する欄が設けられている。さらに、その下には、配信条件をチェックする周期（ｍｓ単位）と、配信を行う期間の設定欄と、配信後にデバイス出力をＯＦＦまたはＯＮに戻す処理のための設定欄とが設けられている。ただし、チェック周期は、「電源投入」、「時刻設定」および「周期指定」の配信条件にのみ有効であり、期間限定は、「周期指定」の配信条件にのみ有効である。また、配信後にデバイス出力をＯＦＦに戻す設定については、「立ち上がりトリガ」の配信条件にのみ有効であり、この欄をチェックしない場合、デバイス出力は配信後もＯＮしたままになる。一方、配信後にデバイス出力をＯＮに戻す設定については、「立ち下がりトリガ」の配信条件にのみ有効であり、この欄をチェックしない場合、デバイス出力は配信後もＯＦＦしたままになる。
【００９６】
一方、図８（ｂ）に示す「配信局・受信局」には、配信局および受信局についての情報記入部が設けられている。配信局の情報は、表示器２から配信される出力データの出力元となるデバイス名と、指定された期間に配信するデータの個数とを含んでいる。また、受信局の情報は、受信局となる表示器２に対応するＰＬＣ３に接続されたデバイスの名称を含んでいる。ただし、コンピュータ１が受信局となる場合、データベース１７で管理されるフォルダ名をデバイス名とする。
【００９７】
上記のように構成される制御システムにおいては、共通ネットワーク４を介して、共通プロトコルのデータ列ＤＴ２  を受け取った場合、データ処理部２１は、データ本体４２から、ＰＬＣ３へ伝送すべきコマンドを示す共通コード４３と関連情報４４とを抽出する。さらに、データ処理部２１は、コマンド変換テーブルＴＢＬを参照して、専用ネットワーク５において伝送可能で、その共通コード４３に対応するコマンドコードを選択する。また、必要に応じて、関連情報４４の表現方法が、専用ネットワーク５で伝送される表現方法に変換される。これらの結果、ＰＬＣ３へ伝送すべきコマンド、データ内容自体、データのサイズおよびアドレスなどが決まると、データ処理部２１は、データ転送フォーマットＦＭＴを参照してＰＬＣ３へ送出するデータ列を生成できる。
【００９８】
一方、ＰＬＣ３からデータ列ＤＴ１  を受け取った場合、データ処理部２１は、上記のデータ転送フォーマットＦＭＴに当てはめて、そのデータ列の示すコマンド、データ内容自体、データのサイズおよびアドレスなどを抽出し、上述とは逆の手順で共通プロトコルのデータ列ＤＴ２  に変換する。
【００９９】
前記のデータ転送フォーマットＦＭＴおよびコマンド変換テーブルＴＢＬの組み合わせ（プロトコル情報）は、表示器２およびＰＬＣ３が制御に関するデータを通信する前に、ＰＬＣ３の通信プロトコルに合わせて設定され、異なる通信プロトコルを採用したＰＬＣ３が接続されると、そのプロトコル情報は切り換えられる。例えば、図４では、機種ＡのＰＬＣ３から機種ＢのＰＬＣ３に変更する場合、コマンド変換テーブルＴＢＬａからコマンド変換テーブルＴＢＬｂに切り換えられる。
【０１００】
なお、通信プロトコルの選択方法は、例えば、使用者がコンピュータ１や表示器２を操作して選択してもよい。さらに、表示器２が自らが送出可能な通信プロトコルを順次選択しながら、ＰＬＣ３の通信プロトコルを特定可能なコマンドを、ＰＬＣ３へ送出し、ＰＬＣ３からの応答コードによって、通信プロトコルを自動的に判別してもよい。また、表示器２は、自らに接続可能なＰＬＣ３が採用している通信プロトコルすべてに関して、上記のプロトコル情報を格納しておいてもよいし、現在、接続されているＰＬＣ３の通信プロトコルのみを格納しておき、必要に応じて、コンピュータ１から、あるいは記録媒体を介してなど、種々の方法で通信プロトコルをダウンロードしてもよい。
【０１０１】
このように、ＰＬＣ３との間で受け渡すデータ列ＤＴ１  を、制御システムの動作中にリアルタイムに生成することにより、表示器２は、入力されたデータがどこから来たかを問うことなく、ＰＬＣ３へデータを受け渡しできるとともに、ＰＬＣ３が変更された場合にあっても、制御システムを停止することなく即応できる。
【０１０２】
このように、本制御システムでは、従来の制御システムとは異なり、通信の中心に表示器２…が配されており、この表示器２…が、共通ネットワーク４と専用ネットワーク５との双方に接続されている。さらに、表示器２は、両ネットワーク４・５での通信プロトコルが異なる場合、それぞれの通信プロトコルを相互変換して、自らに接続されたＰＬＣ３と、コンピュータ１あるいは他の表示器２との間の通信を中継する。これにより、表示器２…のそれぞれに接続されたＰＬＣ３…が採用する通信プロトコルが互いに異なっていても、各表示器２とコンピュータ１との間は、共通の通信プロトコルにて通信できる。
【０１０３】
より詳しくは、ターゲットシステムは、流量センサや温度センサまたはターゲットシステムの各部の状態を検出するセンサのような入力機器６と、指示に応じた動作を行うバルブやモータのような出力機器７とを備えており、入出力機器６・７はＰＬＣ３にて制御されている。また、ＰＬＣ３は、シーケンサから発達してきた経緯もあって、例えば、製造者毎や製品の種別毎など、ＰＬＣ３の機種毎に、独自の通信プロトコルを備えているものが多い。したがって、ＰＬＣ３は、専用ネットワーク５を介して表示器２と接続されており、そのＰＬＣ３が通信可能な通信プロトコルで表示器２と通信する。
【０１０４】
これにより、ＰＬＣ３は、表示器２へ、または表示器２を介して他の表示器２あるいはコンピュータ１へ、入力機器６が取得したデータをＰＬＣ３の出力データとして送信する一方、表示器２から、または他局より表示器２を介して伝えられた制御指示を受信して出力機器７を制御することができる。
【０１０５】
ここで、表示器２は、制御システムに必須の装置であるが、近年では、高解像度の画像を表示するために、例えば、数Ｍバイト程度の記憶容量を持ち、表示に十分な速度で演算処理を行う。したがって、表示器２は、十分余力を持って上記のプロトコル変換を行うことができる。また、表示器２とコンピュータ１との間に、ＰＬＣ３が介在していないため、ＰＬＣ３は、ターゲットシステム２の制御に専念できる。したがって、ＰＬＣが通信の大半を処理する前述の従来の制御システムに比べて、記憶容量や処理能力を削減することができる。
【０１０６】
本制御システムでは、ＰＬＣ３の機種に関わらず、各表示器２およびコンピュータ１の間は、共通のプロトコルで通信される。したがって、同じ制御システム内に、複数機種のＰＬＣ３を混在させることができ、機種選択の幅が広くなる。
【０１０７】
上記のように共通ネットワーク４で通信プロトコルの共通化がなされた制御システムにおいては、各表示器２およびコンピュータ１の間でユーザ画面およびデバイスアドレスのデータの配信を容易に行うことができる。次に、その配信について詳細に説明する。
【０１０８】
ここで、共通ネットワーク４の各ノードＡ〜Ｃに各表示器２が接続されており、表示器２に個々に接続されるＰＬＣ３はそれぞれ１００個の入出力端子を有する構成について説明する。このような構成においては、各ＰＬＣ３の出力端子に対しては、ＰＬＣ３におけるメモリの対応するストア領域へ表示器２でオペレータによって入力された制御データが格納され、そのストア内容に応答して出力機器７が制御される。また、各ＰＬＣ３の入力端子に対しては、上記のメモリの対応するストア領域に入力機器６からの入力データが書き込まれる。
【０１０９】
例えば、ノードＡ〜Ｃに対応する各ＰＬＣ３の１００個の各入出力端子に対応したストア領域には、それぞれ１００〜１９９、２００〜２９９、３００〜３９９のストアアドレスが割り当てられている。ノードＡの表示器２におけるデータ配信部２８は、前述の配信設定部１３で予め設定された周期（例えば１０秒）毎に１００〜１９９のストア領域のデータ、すなわちすべての入出力データを配信し、そのデータはコンピュータ１にストアされる。
【０１１０】
また、「立ち上がりトリガ」の配信条件を設定しておき、かつＰＬＣ３のメモリにおける各デバイスに対応するストア領域に、デバイスのエラー（アラーム）情報、デバイス出力に対応した作業指示の情報などの各種の情報を表すビットを設けておけば、このビットが立ち上がったときに、配信条件とともに、そのデバイスが接続されるＰＬＣ３のノード情報（局名）がそのノードの表示器２から送信される。
【０１１１】
さらに、コンピュータ１は、各表示器２から配信されるすべてのデータをストアしている。各表示器２には、データ配信部２８内に配信データの格納に必要なストア領域が形成されている。
【０１１２】
コンピュータ１でのデータの取り込みは、配信元からの配信データの、例えばＩＰアドレスに受信先のアドレスを格納しておくことによって行われてもよい。また、受信先がコンピュータ１だけでなく表示器２など多く存在する場合には、上記のデータ取り込みが、上記のＩＰアドレスを一斉同報として、受信側で、配信データの配信元のＩＰアドレスに応答してデータを取り込むか否かを決定するようにして行われてもよい。しかも、すべての表示器２がコンピュータ１と同様に、すべての配信データに対応したストア領域を有し、すべての配信データを保有していてもよいことは勿論である。
【０１１３】
上記のように、配信条件が成立すると、各表示器２およびパソコン１との間でデータの配信が行えるだけでなく、配信条件の成立をトリガとして、コンピュータ１のデータベース１７に配信データを順次格納し、そのデータベース１７から所望のレコードを検索することができる。続いて、その動作について詳細に説明する。
【０１１４】
例えば、ノードＡの表示器２で集められたＰＬＣ３の入力データ（入力機器６のデバイスアドレスの内容）および出力データ（出力機器７のデバイスアドレスの内容）は、デバイスアドレスとともに共通ネットワーク４を介してコンピュータ１に配信され、インターフェース部１１ｂからデータ通信処理部１１ａに取り込まれ、データベース管理部１１ｂに渡される。データベース管理部１１ｂは、ノードＡのフォルダに同時刻に入力されたデータを１件のレコードとして、次々と入力されてくるレコードを順次データベース１７に書き込んでいく。このような書き込みは、自動的に行われるので、ユーザがデータベース１７を意識することなくデータを蓄積することができる。
【０１１５】
データベース１７において検索を行う場合、まず、サーバ部１１の動作モードを検索モードに切り替えて、図５に示すような検索画面５１を起動する。ここで、レコードを格納された日時順に検索していく場合は、再生キー５１ｂを操作することによって指定されたフォルダにおいて検索が開始する。検索が行われているときは、レコードが、データベース管理部１１ｂによってデータベース１７から順次読み出され、作画エディタ１６ａに出力される。作画エディタ１６ａは、受け取ったレコードにおけるユーザ画面と、デバイスアドレスおよびシンボルのデータとに基づいてユーザ画面を再現し、図５の再生画面５２のように、コンピュータ１のディスプレイに表示する。このような一連の動作が連続的に行われるので、ディスプレイには、ＰＬＣ３が実際に稼働していたときに表示器２に表示されたユーザ画面とほぼ同様に、ユーザ画面の変化を動的に再現することができる。
【０１１６】
また、予め設定されたキーに基づいて、指定されたキーに対応するレコードのみを読み出す場合、例えば、アラームをキーとして指定して、再生キー５１ｂを操作すれば、アラーム発生時のレコードが順次読み出され、作画エディタ１６ａによって再生される。このようにアラームをキーとして指定することによって、アラームの発生時のユーザ画面を表示させるだけでなく、さらにそのアラーム発生時の前後のユーザ画面を再生することによって、表示器２において、アラーム発生前にどのような操作がなされていたか、またはアラーム発生後に回復処置のためにどのような操作がなされていたかを確認することができる。
【０１１７】
さらに、データベース１７には、図６（ａ）および（ｂ）ならびに図７に示すように表形式でレコードが保存されている。これによって、データベース１７に蓄えられたレコードが、そのまま日報や月報として利用できる。
【０１１８】
上記のような検索および再生操作は、ユーザ画面だけでなく、ラダープログラムやその他のユーザプログラム（例えば、前述のＣＡＤ図面）でも同様にして行うことができる。
【０１１９】
ラダープログラムの場合、ＰＬＣ３で実行されたラダープログラムが表示器２を介してコンピュータ１に配信され、データベース管理部１１ｂによってデータベース１７に書き込まれていく。検索するときは、図示はしないが、図５に示す再生画面５２の代わりに、検索されたラダープログラムが再生される。ラダープログラムモニタを再生する場合、ラダープログラムが選択されたラダープログラムモニタのエリア範囲内で再生される。そして、ラダープログラムにおいて検索された接点やコイルの動作などは、例えば、それらの部分の色が変わることによって表現される。
【０１２０】
上記のような検索および再生の操作は、インターネット８を介してクライアント装置９からでも行うことができる。続いて、この場合の動作について説明する。
【０１２１】
まず、公開サーバ部２０は、クライアント装置９から検索の要求を受けると、ＣＧＩを起動してサーバ部１１のデータベース管理部１１ｂに検索を指示する。データベース管理部１１ｂは、この指示を受けて前述のようにしてデータベース１７に対して検索を行う。データベース管理部１１ｂから送出されるレコードは、一旦データメモリ１８に蓄えられた後、コンパイラ１９に出力される。
【０１２２】
また、公開サーバ部２０は、ＣＧＩやＢＧＩなどによって、コンパイラ１９にアプレットの生成を指示する。コンパイラ１９は、公開サーバ部２０からアプレットの生成指示を受けると、データメモリ１８から読み出された、生成すべきアプレットに対応するレコードから、ユーザ画面またはラダープログラムのそれぞれにおけるシンボルまたはラダー記号を抽出し、そのシンボルまたはラダー記号の種類に対応するクラスのインスタンスを生成するための文字列（コード）と、そのインスタンスのフィールドにシンボルまたはラダー記号のパラメータを設定するための文字列（コード）とを出力する。また、インスタンス生成時の初期値として両文字列を指定してまとめて出力してもよい。
【０１２３】
さらに、コンパイラ１９は、ユーザ画面またはラダープログラムのそれぞれにおける全てのシンボルまたはラダー記号について文字列の出力が終了したときには、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）  ドキュメントとして必要な文字列（“〈ＨＴＭＬ〉”、“〈ＴＩＴＬＥ  〉”など）も、生成されたコードをアプレットとして動作させるための文字列（“〈ＡＰＰＬＥＴ〉など）を各シンボルまたは各ラダー記号に基づいて生成されたコードの前後に付す。
【０１２４】
このようにして、データベース１７に格納されていた、実際に表示器２に表示されたユーザ画面または実際にＰＬＣ３で実行されたラダープログラムは、アプレットとして公開サーバ２０に出力される。公開サーバ部２０は、ＨＴＴＰデーモンによって、インターフェース部１２から共通ネットワーク４およびインターネット８を介してクライアント装置９に上記のアプレットを送出する。
【０１２５】
クライアント装置９では、ブラウザ９１がバーチャルマシンを起動し、コンピュータ１から提供されるデバイスアドレスおよび入出力データを用いて描画メソッドを実行することによって、表示器２での表示状態と同様にユーザ画面が表示され、またはラダープログラムがＰＬＣ３の動作状態を反映させた状態で表示される。このようにして、コンピュータ１から離れた位置にあるクライアント装置９でも、コンピュータ１と同様に検索を行うことができる。
【０１２６】
以上のように、本実施の形態の制御システムでは、表示器２がＰＬＣ３の機種毎の通信プロトコルの相違を吸収して、各表示器２およびコンピュータ１の間のデータ通信を容易にしている。それゆえ、コンピュータ１において異機種のＰＬＣ３からの出力データを容易に収集することができる。また、データ配信部２８によるデータ配信機能を用いることによって、設定された配信条件を満たす毎に表示器２からデータがコンピュータ１に配信され、そのデータがデータベース管理部１１ｂによってデータベース１７に順次蓄えられていくので、従来のデータ収集用ソフトのようにＰＬＣと通信しながら、パーソナルコンピュータ側からデータの送信要求を発することなく、効率的にデータを収集して蓄積することができる。それゆえ、ユーザが意識することなくデータベース１７を構築することができる。
【０１２７】
また、データが収集された順に時系列でデータベース１７に蓄積されていくので、データベース１７におけるデータ構造が単純化されて、データの詳細や所在が分かりやすい。これにより、データベース管理が容易になる。
【０１２８】
さらに、検索によって得られた入出力データをユーザ画面やラダープログラムに反映させることによって、表示器２での操作が再現される。それゆえ、動画を記録するＶＴＲのように膨大なデータを蓄える必要がないばかりか、検索によって操作ミスが生じた際のユーザ画面やラダープログラムを確認することができる。特に、アラームをキーとして検索することによって、操作ミスが生じた時点を容易に特定することができる。しかも、図５に示すような検索画面５１を用いることによって連続的な検索を行えば、ユーザ画面のシンボルやラダープログラムのラダー記号の入出力データによる変化が動的に表示されるので、ＶＴＲなどの映像再生機器での再生操作と同様な感覚でユーザ画面もラダープログラムを再生することができる。
【０１２９】
このように、実行されたユーザ画面やラダープログラムを再生することは、操作ミスなどの検証に利用されるだけでなく、オペレータの教育にも利用できる。例えば、表示器２の操作内容が、ターゲットシステムを動作させることなく繰り返して再現できることから、熟練のオペレータによる操作内容は教材として十分利用できる。
【０１３０】
また、昨日の作業と同じ作業を行う場合、データベース１７に格納された昨日のデータを利用しても不都合がないかをユーザ画面の再生で確認できるので、データの再利用を有効に行うことができる。
【０１３１】
なお、本実施の形態では、共通ネットワーク４として、イーサネット上のＴＣＰ／ＩＰを採用しているが、これに限るものではない。例えば、ＩＥＥＥ１３９４など、他のネットワークであってもよい。コンピュータ１が表示器２を介して各ＰＬＣ３と通信するために十分な通信容量を持ったネットワークであれば、同様の効果が得られる。
【０１３２】
また、本実施の形態では、ラダープログラムを用いた例を示したが、本発明の制御手順プログラムとしては、ラダープログラムだけではなく、前述のＩＥＣ  ６  １１３１−３  で規定された５言語を含む他の言語による制御手順プログラムにおいても適用されるのは勿論である。一方、ユーザプログラムとしては、表示内容プログラム（ユーザ画面）および制御手順プログラム以外にも、ＰＬＣ３による制御状態を表すプログラムであれば前述のＣＡＤ図面などであってもよい。
【０１３３】
また、本実施の形態では、コンピュータ１でユーザプログラムとしてのユーザ画面やラダープログラムをアプレットに変換する例について説明したが、本発明はこれに限定されない。例えば、ユーザプログラムと同一内容のビットマップ形式やＪＰＥＧ形式のファイルを作成し、それをクライアント装置９に送信してもよい。コンピュータ１が、検索されたユーザプログラムをクライアント装置９が表示可能な形式に変更した後、それをクライアント装置９に送信すれば、ユーザプログラムを表示するための表示制御用プログラムを予めクライアント装置９にインストールしておく必要がなくなるので、インストールの手間、時間および費用を削減できる。
【０１３４】
ただし、コンピュータ１とクライアント装置９とがインターネット８を介して通信している場合など、両者間の通信速度が遅い場合、ユーザプログラムを送信すると、クライアント装置９における表示の更新速度が低下してしまう。そこで、本実施の形態では、表示動作をクライアント装置９に行わせるアプレットを配付するとともに、デバイスアドレスの内容を中継しているので、データ伝送量を大幅に削減でき、クライアント装置９における応答速度を大幅に向上することができる。また、例えば、カーソル移動などのユーザインターフェースをクライアント装置９側で処理できるので、さらに応答速度を向上することができる。
【０１３５】
さらに、本実施の形態では、アプレットを伝送する場合を例示したが、アプレットの代わりに、例えばＢＡＳＩＣなどのプログラム言語をコンパイルするなどして、アプレットと同様の動作をクライアント装置９に実行させるプログラムを配信しても、ほぼ同様の効果が得られる。
【０１３６】
これに対し、本実施の形態のように、コンピュータ１がアプレットを送信し、クライアント装置９におけるバーチャルマシンがそのアプレットを解釈して表示する場合、バーチャルマシンを備えることによってクライアント装置９のオペレーティングシステム（ＯＳ）やＣＰＵが実行可能な機械語が異なっていても、アプレットを実行することができる。したがって、コンピュータ１が生成するアプレットの種類を増加させることなく、より多くのクライアント装置９でユーザプログラムを表示することができる。
【０１３７】
【発明の効果】
以上のように、本発明のデータ集積システム、データ集積方法および記録媒体に記録されたデータ集積のためのプログラムは、ホストコンピュータと複数の表示型制御装置とが共通ネットワークを介して共通の通信プロトコルを用いて通信を行う一方、上記表示型制御装置と入力機器および出力機器が接続された制御装置とが専用ネットワークを介して制御装置に固有の通信プロトコルを用いて通信を行い、上記表示型制御装置が、上記両ネットワークで用いられる通信プロトコルを上記両ネットワークで用いられる通信プロトコルに互いに変換し（プロトコル変換手段）、予め設定されている配信条件が満たされたときに上記制御装置の制御状態を表し実行されたユーザプログラムを含むユーザ画面または制御手順プログラム、該ユーザプログラムを含むユーザ画面または制御手順プログラムにおいて、上記入出力機器のアドレスに対応付けられ、上記制御指示のデータおよび該制御指示データの結果として得られる上記出力データによって変化する各変化要素、ならびに該変化要素に対応する上記制御指示データおよび上記出力データを上記ホストコンピュータに配信し（配信手段）、上記ホストコンピュータにおいて、配信された上記ユーザプログラムを含むユーザ画面または制御手順プログラム、上記変化要素および上記両データを上記表示型制御装置単位で蓄積する（蓄積手段）。
【０１３８】
これにより、表示型制御装置とホストコンピュータとの間の共通ネットワークで使用される通信プロトコルと、表示型制御装置と制御装置との間の専用ネットワークで使用される通信プロトコルとが相互に変換される。それゆえ、表示型制御装置は、制御装置の通信プロトコルに関わらず、常に同一の通信プロトコルで、共通ネットワークを介してホストコンピュータと通信することができる。この結果、ホストコンピュータは、通信プロトコルの異なる制御装置からの出力データを容易に集積することができる。
【０１３９】
また、予め設定されている配信条件が満たされたときに、ユーザプログラム、各変化要素および両データがホストコンピュータに配信されると、ホストコンピュータでそれらが表示型制御装置単位で時系列に順次蓄積されるので、ユーザが意識することなくデータベースが自動的に構築されるとともに、蓄積されたデータ構造が単純化される。また、ユーザプログラム、変化要素および両データが関連付けられて蓄積されるので、ユーザプログラムにおける変化要素の両データによる変化状態を再現することができる。したがって、データベース管理を容易にするとともに、制御装置の過去の制御状況を容易に確認することができるという効果を奏する。
【０１４０】
上記のデータ集積システム、方法およびプログラムにおいては、上記ホストコンピュータが、蓄積された上記ユーザプログラム、上記変化要素および上記両データを連続して検索し、かつ表示する（検索手段）ので、制御装置が動作していたときのユーザプログラムの状況を再現することができる。したがって、制御装置の過去の制御状況をより一層容易に確認することができるという効果を奏する。
【０１４１】
また、上記のデータ集積システム、方法およびプログラムにおいては、上記ホストコンピュータが、端末装置からの要求に応じて検索された上記ユーザプログラムを上記端末装置が実行可能な実行プログラムに変換し（変換手段）、該実行プログラム、上記変化要素および上記両データを、上記ユーザプログラムにおいて上記変化要素を上記両データに基づいて変化させるように上記実行プログラムを実行する上記端末装置へ送信する（通信手段）ので、端末装置で実行プログラムが実行されることによって、ユーザプログラムにおいて変化要素が両データに基づいて変化する。この結果、例えば、ユーザ画面上でシンボルが変化する状態が表示される。したがって、ユーザプログラムを実行プログラムの形態で送信することよって、インターネットなどのネットワーク上の端末装置でもホストコンピュータに蓄積されたデータを、ホストコンピュータと同様に検索して確認することができるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の一実施の形態に係る制御システムの要部の構成を示すブロック図である。
【図２】専用ネットワークの通信プロトコルと、上記制御システムにおけるプログラマブル表示器が通信プロトコルを変換する場合に参照するデータ転送フォーマットとを示す説明図である。
【図３】共通ネットワークの通信プロトコルを示す説明図である。
【図４】上記プログラマブル表示器が通信プロトコルを変換する場合に参照されるコマンド変換テーブルを示す説明図である。
【図５】上記制御システムにおけるパーソナルコンピュータに含まれるデータベースで検索するための操作画面および検索によって再生されたユーザ画面（再生画面）を示す説明図である。
【図６】（ａ）は上記データベースに格納されるユーザ画面に関するレコードの保存形式を示す説明図であり、（ｂ）は上記データベースに格納されるラダープログラムに関するレコードの保存形式を示す説明図である。
【図７】上記データベースに格納されるユーザ画面およびラダープログラムに関するレコードの保存形式を示す説明図である。
【図８】（ａ）および（ｂ）は、それぞれ上記パーソナルコンピュータにおける配信設定部にて設定される配信条件設定画面および配信局・受信局設定画面を示す説明図である。
【符号の説明】
１      パーソナルコンピュータ（ホストコンピュータ）
２      プログラマブル表示器（表示型制御装置）
３      ＰＬＣ（制御装置）
４      共通ネットワーク
５      専用ネットワーク
６      入力機器
７      出力機器
９      クライアント装置（端末装置）
１１ａ    データ通信処理部
１１ｂ    データベース管理部（蓄積手段、検索手段）
１６      アプリケーション部
１６ａ    作画エディタ
１６ｂ    ラダーエディタ
１７      データベース
１９      コンパイラ（変換手段）
２０      公開サーバ（通信手段）
２１      データ処理部
２７      変換データ記憶部
２８      データ配信部
９１      ブラウザ
【図１】
0003621326.tif 000002
【図２】
0003621326.tif 000003
【図３】
0003621326.tif 000004
【図４】
0003621326.tif 000005
【図５】
0003621326.tif 000006
【図６】
0003621326.tif 000007
【図７】
0003621326.tif 000008
【図８】
0003621326.tif 000009