本発明の実施の形態について図1から図16に基づいて説明すれば、以下のとおりである。
本実施の形態に係る制御用通信システムは、ローカル制御システムの安全性を損なうことなく、制御対象近傍に配されたプログラマブル表示器と同様の画面やデータを、遠隔地から参照し制御可能なシステムである。
例えば、図1に示すように、制御用通信システム1は、ターゲットシステム11のデバイス11aを制御する制御装置としてのプログラマブル・ロジック・コントローラ(PLC)12や、処理指示語(タグ)を組み合わせて決定される画面データに基づいて入力および画面表示を制御可能なプログラマブル表示器14などを含むローカル制御システム2と、インターネット(ネットワーク)3を介して、ローカル制御システム2と接続可能で、ローカル制御システム2の状態を示すデータを公開する公開サーバ装置(サーバ装置)4と、インターネット3を介して公開サーバ装置4と接続可能なクライアント装置(端末装置)5とを備えている。
図2に示すように、上記ローカル制御システム2において、各プログラマブル表示器14は、シリアルケーブル13を介して、PLC12と接続でき、多くの場合、ターゲットシステム11の近傍で、ターゲットシステム11のオペレータによって操作される。また、各プログラマブル表示器14は、イーサネット(商標:ゼロックス社)などのローカル・エリア・ネットワークからなるネットワーク15によって、互いに接続されている。さらに、上記ネットワーク15には、制御用ホストコンピュータ16が接続されている。
ここで、上記ローカル制御システム2では、ローカル制御システム2内の通信処理に各PLC504が介在する従来の制御システム501(図17)とは異なって、ローカル制御システム2に必須の構成であるプログラマブル表示器14が、通信の大半を処理するように構成されている。そして、各プログラマブル表示器14は、自らに接続されているPLC12の機種に固有の専用プロトコルと、ネットワーク15での共通プロトコルとを変換して、他のプログラマブル表示器14や制御用ホストコンピュータ16と、PLC12との通信を中継する。
これにより、プログラマブル表示器14および制御用ホストコンピュータ16は、他のプログラマブル表示器14に接続されているPLC12の機種にかかわらず、ネットワーク15を介して共通のプロトコルで通信できる。この結果、上記制御システム501に比べて、異なる機種のPLC12をローカル制御システム2内に混在させやすくなる。
より詳細には、図2に示すように、上記プログラマブル表示器14は、シリアルケーブル13やネットワーク15に接続されるインタフェース(IF)部として、専用プロトコルIF部21および共通プロトコルIF部22を備えており、さらに、両者の通信を中継するプロトコル変換部23と、上記画面データを記憶する画面データメモリ24と、タッチパネルなどの操作入力部25aからのオペレータの操作や通信結果などと画面データとに基づいて表示処理を行う表示処理部25とを備えている。また、他の入力手段として、バーコードリーダ25bやIDセンサ(図示しない)などを備えていてもよい。
さらに、プログラマブル表示器14は、PLC12を介して取得したデバイス11aのデータ(ログデータ、ヒストリデータ)や、デバイス11aの制御手順を記述したレシピデータ等を蓄積データとして蓄積するデータ蓄積部(データ蓄積手段)26を備えている。また、データ蓄積部26には、PLC12によるデバイス11aへの制御手順を示すレシピデータも蓄積されている。
ここで、上記制御用通信システム1では、上記表示処理部25は複数の単位画面を切り換えて表示することができる。
そして、図3に示すように、上記の単位画面は、銘板等のように表示内容を変更しない静止図形Bや、スイッチやランプあるいはメータ等のように、形状や色、点滅状態などの表示状態が変換する部品図形J(J1)を、ベース画面上に配置して形成される。
さらに、図4に示すように、上記の単位画面を表示する画面データ(第1画面データ)は、ベース画面のファイル番号Fと、ベース画面上で実行すべき動作内容を特定する事象名Nと、各実行事象ごとに参照される1または複数の参照情報Rとを含むタグWを組み合わせて構成されている。より詳細には、上記タグは、その機能に応じて、以下のようなデータ構造を備えている。
図5に示すように、上記タグが表示タグである場合、すなわち、タグWが所定の画面領域(表示座標範囲)に所定のデバイスアドレスAの内容に応じた部品図形Jを表示する表示タグWLである場合、参照情報Rには、表示座標範囲(X・Y)およびデバイスアドレスAが含まれる。加えて、部品図形Jが例えばスイッチの場合、参照情報Rには、ONを示す図形のファイルおよびOFFを示す図形のファイルなど、表示時に参照するファイル番号FLがさらに含まれる。
また、図6に示すように、上記タグが入力タグである場合、参照情報Rには、有効入力座標範囲(X・Y)と、入力結果が書き込まれるデバイスアドレスAとが含まれる。
一方、上記表示処理部25は、所定の時間間隔で、画面データメモリ24から、ベース画面のファイル番号Fが現在表示中のベース画面である表示タグWLを抽出し、各表示タグWLのデバイスアドレスAの内容を、PLC12のメモリ12aから読み出して、内容に応じた部品図形Jを画面に表示する。
例えば、図3において、画面データメモリ24に格納された表示タグWL1は、スイッチの表示を示しており、デバイスアドレスA1の機器に対応している。この表示タグWL1を実行する場合、表示処理部25は、デバイスアドレスA1の内容が“0”なので、スイッチがOFFであると判断し、表示処理部25のメモリ25mに格納されたファイルのうち、OFFに対応付けられたファイルFL1の図形を、表示座標範囲(X・Y)に表示する。これにより、当該座標範囲(X・Y)には、OFF状態のスイッチを示す部品図形J1が表示される。このように、表示処理部25が所定の時間間隔で画面データ内の表示タグを実行することで、プログラマブル表示器14の画面には、デバイス11aの状態が反映される。
また、タッチパネル(図示しない)への押し操作など、操作入力部25aがオペレータの入力操作を受け取ると、表示処理部25は、画面データメモリ24の画面データから、現在表示中のベース画面に対応し、当該入力操作にマッチする入力タグWTを検索し、入力結果に応じて、入力タグWTが示すデバイスアドレスAの内容を変更する。
例えば、有効入力座標範囲(X・Y)が上記部品図形J1と同じ座標範囲に設定され、同じデバイスアドレスA1の内容を変更する入力タグWT1が画面データ中に含まれている場合、オペレータが表示画面の部品図形J1(図3)を押すと、表示処理部25による検索の結果、入力タグWT1が発見される。この場合、表示処理部25は、例えば、専用プロトコルIF部21や共通プロトコルIF部22へ指示するなどして、入力タグWT1に対応するデバイスアドレスA1の内容を書き換える。さらに、入力操作の後、表示処理部25が表示タグWL1を処理すると、デバイスアドレスA1の内容が“1”に変更されているので、表示処理部25は、図7に示すように、ファイルFL2に対応し、ONを示す部品図形J2を画面上に表示する。この結果、表示処理部25は、入力操作に応じてデバイスアドレスAの内容を書き換えるとともに、デバイスアドレスAの内容に応じて、画面表示を更新できる。
なお、デバイスアドレスAは、制御対象となるデバイス11aを特定するアドレスであって、例えば、PLC12のメモリ12aなど、プログラマブル表示器14やPLC12あるいは制御用ホストコンピュータ16などに設けられた記憶装置の一領域を示している。ここで、デバイス11aが操作入力部25aやバーコードリーダ25bなどの入力装置である場合には、これら入力装置から手動で入力されたデータを格納しているメモリに対して、上記デバイスアドレスAが設定されてもよい。そして、後に詳述するように、例えば、専用プロトコルIF部21や共通プロトコルIF部22が、PLC12や他のプログラマブル表示器14と通信することで、各デバイス11aのデバイスアドレスAの内容を取得したり、内容を変更したりできる。なお、デバイスアドレスAの内容の取得および変更は、その都度指示してもよいし、プログラマブル表示器14内にキャッシュを用意し、内容の取得および変更時には、キャッシュへアクセスするとともに、所定の時間間隔ごとや所定のイベントごとに通信してデバイスアドレスAの実体と同期を取ってもよい。
一方、図2に示すように、上記制御用ホストコンピュータ16は、ローカル制御システム2全体の監視制御を行う表示処理部31と、ネットワーク15に接続される共通プロトコルIF部32と、共通プロトコルIF部32およびネットワーク15を介して各プログラマブル表示器14と通信して、表示処理部31などの要求に応じるサーバ部33とを備えている。これにより、制御用ホストコンピュータ16は、多くの場合、プログラマブル表示器14よりも離れた場所から、ターゲットシステム11やPLC12あるいはプログラマブル表示器14の状態を表示したり制御できる。
また、上記制御用ホストコンピュータ16には、プログラマブル表示器14の画面データを作成する作画処理部34と、作成した画面データを格納する画面データメモリ35とが設けられている。そして、各プログラマブル表示器14の表示および制御の動作を規定する画面データは、作画処理部34で集約して作成(修正)された後、サーバ部33、共通プロトコルIF部32およびネットワーク15を介して、各プログラマブル表示器14へ配布される。
さらに、制御用ホストコンピュータ16は、プログラマブル表示器14のデータ蓄積部26に蓄積されているデバイス11aのログデータ、ヒストリデータおよびレシピデータ等の蓄積データを取得して、例えばCSV(comma separated value )形式に変換し、公開サーバ側通信処理部36を介して、公開サーバ装置4へ送信する蓄積データ送信部37を備えている。蓄積データ送信部37は、上記蓄積データを定期的および公開サーバ装置4から指示を受けた時に取得し、形式変換して、送信する。
ここで、上記画面データは、上述したように、画面上の領域と、当該領域への表示や入力に対応するデバイス11aのデバイスアドレスAとの対応関係を示すタグを組み合わせて構成されている。そして、使用者は、上記作画処理部34を操作することによって、画面上の所望の位置にタグを配置するとともに、各タグとデバイスのアドレスとを対応付けるだけで、画面データを作成できる。そのために、作画処理部34は、例えば、タグのパレットを表示し、パレット中のタグを選択して画面上に所望のタグを配置するように、使用者へ促す。また、作画処理部34は、配置されたタグを指定された座標に表示して、使用者のドラグ・アンド・ドロップなどの操作に応じてタグの座標を調整する。また、作画処理部34は、入力タグや表示タグに関連するデバイスアドレスAを入力するように使用者へ促す。
よって、プログラマブル表示器14の表示プログラムを修正する場合に比べて容易に、各プログラマブル表示器14の表示や操作を決定(変更)できる。したがって、ローカル制御システム2の使用者(制御用ホストコンピュータ16の使用者)は、ターゲットシステム11の実情や、プログラマブル表示器14のオペレータの習熟度、あるいは、使用者の好みに合わせて、ユーザインタフェースすなわち画面の表示や操作の方法を最適化することができる。
さらに、図1に示すように、上記制御用通信システム1では、ローカル制御システム2に代わって、プログラマブル表示器14の画面と同一の画面をクライアント装置5に表示させる表示ファイルを公開する公開サーバ装置4が設けられている。そのために、上記制御用ホストコンピュータ16には、インターネット3を介して公開サーバ装置4と通信する公開サーバ側通信処理部36が設けられている。なお、ローカル制御システム2と公開サーバ装置4とが暗号通信する場合、公開サーバ側通信処理部36は、あらかじめ定められた暗号鍵や復号鍵を用いて、公開サーバ装置4と暗号通信する。
上記公開サーバ側通信処理部36には、インターネット3との接続時に使用されるプロバイダの電話番号や公開サーバ装置4のアドレス等のデータ、公開サーバ装置4へアクセスするためのデータ、公開サーバ装置4におけるアカウント名およびパスワード、公開サーバ装置4で自らを認証するためのデータなどが記憶されている。
そして、上記公開サーバ側通信処理部36は、ユーザからの指示があった時点や画面データが変更された時点などの所望のタイミングで、公開サーバ装置4と通信して、画面データメモリ35の画面データを公開サーバ装置4に送信する。また、公開サーバ側通信処理部36は、ローカル制御システム2に配備されているデバイス11aが変更された時点や所定の時間間隔などの所定のタイミングで公開サーバ装置4にアクセスして、公開サーバ装置4でのデータ公開に必要なデバイスアドレスAの内容(デバイスデータ)を公開サーバ装置4に送信する。さらに、公開サーバ側通信処理部36は、定期的に、あるいはクライアント装置5からの指示を受けた時に、プログラマブル表示器14のデータ蓄積部26に蓄積されていたデバイス11aのログデータ等の蓄積データを取得して、CSV形式に変換して、公開サーバ装置4に送信する。
なお、デバイスアドレスAの内容は、表示処理部31が取得する場合と同様に、サーバ部33を介して取得される。さらに、公開サーバ側通信処理部36は、公開サーバ装置4と通信した結果、クライアント装置5がデバイスデータの変更を指示していた場合、表示処理部31がデバイスアドレスAの内容を変更する場合と同様に、当該指示を中継し、プログラマブル表示器14自体やプログラマブル表示器14に接続されたPLC12など、デバイスアドレスAの実体へ内容の変更指示を伝送できる。
一方、図1に示すように、上記公開サーバ装置4は、ローカル制御システム側通信処理部41、表示ファイル生成部(画面データ変換手段)42、表示ファイル記憶部(画面データ記憶手段)43、データメモリ44、公開サーバ部(画面データ送信手段)45、スクリプトファイル指定部61、蓄積データ記憶部62、スクリプトファイル記憶部64を備えて構成されている。
上記ローカル制御システム側通信処理部41は、インターネット3を介してローカル制御システム2と通信する。
上記表示ファイル生成部42は、プログラマブル表示器14用の画面データ(第1画面データ)に基づいて、クライアント装置5で表示を行うための表示ファイル(第2画面データ)としてHTMLファイルおよびXML(extensible mark-up language )ファイルを作成する。
上記表示ファイル記憶部43は、クライアント装置5からの要求に応じて送信される上記のHTMLファイルおよびXMLファイル、ならびにアプレットを、それぞれ格納するHTMLファイル記憶部46,XMLファイル記憶部47,アプレット記憶部48を備えている。
上記データメモリ44は、ローカル制御システム側通信処理部41がローカル制御システム2から受け取ったデバイスアドレスAの内容(デバイスデータ)を格納する。特に、上記データメモリ44は、プログラマブル表示器14に現在表示中の単位画面を示すデータ(表示ページ情報)を格納する領域(表示ページ情報記憶部)を含んでいる。
上記公開サーバ部45は、インターネット3を介するクライアント装置5からの要求に応えて、上記の各記憶部46〜48にアクセスし、HTMLファイル、XMLファイル、アプレットをクライアント装置5へ送信する。また、公開サーバ部45は、当該アプレットを実行するクライアント装置5と通信して、クライアント装置5の画面表示に必要なデバイスデータを送信したり、クライアント装置5からのデバイスデータの変更指示を受け取ったりする。
さらに、上記制御用通信システム1は、公開サーバ部45が、ローカル制御システム2からプログラマブル表示器14のデータ蓄積部26に蓄積されているデバイス11aのログデータやレシピデータ等の蓄積データを取得して、上記蓄積データ記憶部62に格納する。そして、公開サーバ部45の蓄積データ表示ファイル生成部(蓄積データ表示ファイル生成手段)63が、クライアント装置5からの要求に応じて、蓄積データ記憶部62に格納している蓄積データ(例えばCSV形式のファイル)に基づいて、クライアント装置5で表示可能な形式(HTML形式)の表示ファイル(蓄積データ表示ファイル)を生成する。
上記蓄積データ表示ファイル生成部63は、蓄積データ表示ファイルを生成する際、スクリプトファイル記憶部64に格納されているスクリプトファイルに定義された処理手順に従って、蓄積データのファイルからその表示ファイルを生成する。ここで、どの蓄積データをどのスクリプトファイルに従って蓄積データ表示ファイルに変換するかは、クライアント装置5からのリクエストに記述されている。そして、クライアント装置5が送信する蓄積データ表示ファイルの送信リクエストの内容は、表示ファイル生成部42がプログラマブル表示器14用の画面データからクライアント装置5用の表示ファイルを生成する際、スクリプトファイル指定部61での指定に従って、当該表示ファイルに設定される。
上記公開サーバ装置4は、複数のローカル制御システム2の状態を公開可能である。そのため、上記の各記憶部46〜48には、各ローカル制御システム2のユーザに対して、記憶領域が割り当てられている。そして、ローカル制御システム側通信処理部41は、例えば、アカウント名およびパスワードによって、ローカル制御システム2のユーザを認証・識別して、ローカル制御システム2からの画面データに基づいて生成した表示ファイル(上記のHTMLファイル、XMLファイル)、あるいは、デバイスデータを、各記憶部46,47,44の記憶領域のうち、識別したユーザに割り当てられた領域へ格納する。なお、アプレットは、クライアント装置5の仕様ごとにあらかじめ作成されて、アプレット記憶部48に格納されている。
ここで、上記のHTMLファイル、XMLファイル、ならびにアプレットについて説明する。
まず、上記XMLファイル記憶部47に格納されるXMLファイルは、プログラマブル表示器14用の画面データに含まれる各単位画面ごとに作成されている。そして、各XMLファイルには、上記単位画面に関連する各タグ(処理指示語)を示すXML要素(エレメント)が含まれている。
ここで、図8に、上記XMLファイルの概略を示す。例えば、図5に示した形式で、プログラマブル表示器14用の画面データ内に、ベース画面(単位画面)=1(メイン画面)の表示タグWLが含まれている場合、メイン画面に対応するXMLファイルでは、表示タグWLに対応するTag要素E1が含まれている(図8)。さらに、このTag要素E1には、事象名、表示座標範囲、参照ファイル番号、ならびにデバイスアドレスなどに対応する、TagName要素E11、X要素E12およびY要素E13、LibraryNo要素E14、ならびにBitSymbolName要素E15などが含まれている。そして、図8の例では、各要素E11〜E15の内容(コンテンツ)は、表示タグWLの内容に応じて、“L_0000”,“−232”,“120”,“101”,“010100”に設定されている。
また、例えば、図6に示した形式で、プログラマブル表示器14用の画面データ内に、入力タグWTが含まれている場合、メイン画面に対応するXMLファイルでは、入力タグWTに対応するTag要素E2が含まれている(図8)。さらに、このTag要素E2には、事象名、デバイスアドレス、ならびに有効入力範囲などに対応する、TagName要素E21、SymbolName要素E22、ならびにX要素E23、Y要素E24、X2要素E25、Y2要素E26などが、入力タグWTの内容に応じた内容にそれぞれ設定されている。
このように、上記表示ファイル生成部42は、例えば、プログラマブル表示器14用の画面データから、ある単位画面の処理指示語(タグWL・WT…)、すなわち、ベース画面のファイル番号が所定の値のタグを順次抜き出し、当該タグに応じたXML要素を生成し、当該XML要素の内容を上記タグに応じて設定することで、当該単位画面のXMLファイルを作成できる。すなわち、表示ファイル生成部42は、上記の各要素E11〜E26などの内容を、表示タグWLや入力タグWTの内容と一致するように設定できる。なお、表示ファイル生成部42は、例えば、プログラマブル表示器14の解像度とクライアント装置5の解像度との相違などに応じた比率で拡大/縮小するなど、表示タグWLや入力タグWTの内容を所定の手順で変換して設定することもできる。
つぎに、上記アプレット記憶部48に格納されるアプレットは、上記XMLファイルを参照しながら、プログラマブル表示器14が単位画面の表示や操作を行う際の動作と同等の動作を、クライアント装置5に実行させるプログラムである。
具体的には、上記アプレットは、クライアント装置5のバーチャルマシン51が実行可能なJava(登録商標)言語で記述されたバイトコードとして実現されている。すなわち、上記アプレットは、画面データ中に出現可能なタグの種類に対応するメソッドが定義されたクラスと、上記XMLファイルを参照して、タグ種に対応するメソッドを呼び出すメソッドが定義されたクラスとを含んでいる。そして、アプレットを実行するバーチャルマシン51は、XMLファイルを参照し、タグを示すXML要素に基づいて、タグ種に応じたメソッドを呼び出し実行する。
例えば、バーチャルマシン51が実行するメソッドのうち、対応するタグ種が表示タグであるメソッドは、所定の時間間隔で呼び出され、特定のデバイスアドレスのデータを公開サーバ部45へ要求するとともに、応答に応じた表示を行う描画メソッドである。また、入力タグに対応するメソッドは、入力イベントが発生したときに呼び出され、入力結果に応じたデータを、特定のデバイスアドレスへ書き込むように、公開サーバ部45へ要求する入力メソッドである。
ここで、プログラマブル表示器14の画面の描画を行う画面データでは、各単位画面の切り換え動作も、入力タグとして実現されている。すなわち、画面切り換えの入力タグには、デバイスアドレスAとして、プログラマブル表示器14内の記憶領域のうち、現在表示中の単位画面を示すデータ(表示ページ情報)が格納されるシステム領域が関連付けられている。
したがって、上記の各入力メソッドのうち、上記特定のシステム領域への変更指示を要求する入力メソッドは、通常の入力メソッドと同様に、公開サーバ部45へ単位画面の変更指示を送信するとともに、変更後の単位画面に応じたXMLファイルを読み込む。これにより、プログラマブル表示器14の画面データから生成されたHTML/XMLファイルが、クライアント装置5で実行されている場合、クライアント装置5とプログラマブル表示器14とで、常時同じ単位画面を表示することが可能となる。
また、上記入力メソッドは、上記特定のシステム領域への変更指示を送信する代わりに、クライアント装置5内に設けられた代替の記憶領域の内容を変更してもよい。この場合は、クライアント装置5は、プログラマブル表示器14が表示可能な単位画面であっても、当該プログラマブル表示器14で現在表示している単位画面(表示ページ)とは異なる単位画面(リモート表示ページ)を表示できる。なお、この場合、他のメソッドにて、当該システム領域を参照する際は、公開サーバ部45へ問い合わせる代わりに上記代替の記憶領域が参照される。
さらに、例えば、アプレット実行時のパラメータ設定によって指定したり、あるいは、単位画面の選択操作と連動してメニューを表示して選択させるなどして、プログラマブル表示器14と同じ単位画面を表示するか、異なる単位画面を表示するかを選択できるように、上記各メソッドを作成することができる。この場合、同じアプレットやXMLファイルを使用しているにもかかわらず、例えば、プログラマブル表示器14のオペレータの操作を監視したい場合などには、前者を選択し、プログラマブル表示器14のオペレータの操作とは別にローカル制御システム2を監視したい場合などには、後者を選択することができる。
また、XMLファイルを参照するメソッドは、例えば、XMLファイルから、タグを示すXML要素を抽出し、当該タグの種類(例えば、当該XML要素中のTagName要素の内容)に対応するクラスのインスタンスを生成し、当該インスタンスのフィールドへ、上記タグのパラメータ(例えば、上記XML要素中の各要素の内容)を設定するなどして、XMLファイルに応じたメソッドをバーチャルマシン51に実行させることができる。
つぎに、上記HTMLファイル記憶部46に格納されるHTMLファイルは、プログラマブル表示器14ごとに作成されている。
ここで、図9に、上記HTMLファイルの概略を示す。図9の例では、上記HTMLファイルには、“<HTML>”や“<TITLE> ”などのHTML文書として必要な文字列P1が含まれている。また、上記HTMLファイルには、上記アプレットをクライアント装置5のバーチャルマシン51に実行させるための文字列P11が含まれている。この文字列P11には、例えば、クライアント装置5のブラウザ52が当該HTMLファイルを表示する際に最初に表示する単位画面の指定やプログラマブル表示器14の指定など、表示するプログラマブル表示器14の画面データ全体に関連する情報が含まれている。なお、この例では、アプレットを実行する際のパラメータとして指定されており、例えば、最初の単位画面がPARAM要素の属性名“BASESCR ”の属性値(この例では“1" )として指定されている。
また、上記HTMLファイルには、アプレットが表示するプログラマブル表示器14を説明する文字や画像を表示するための文字列、あるいは、ローカル制御システム2を説明するハイパーテキスト文書へのリンクを示す文字列など、HTMLの書式に沿った文字列P2が含まれていてもよい。さらに、上記HTMLファイルには、単位画面切り換え用のアプレットを実行させるための文字列P12が含まれていてもよい。
つづいて、上記公開サーバ部45は、クライアント装置5から要求があると、例えば、URI(universal resource identifier )などに基づいて、クライアント装置5が要求しているHTMLファイルやXMLファイルあるいはアプレットを判別し、これらをクライアント装置5へ送信する。
さらに、公開サーバ部45は、表示ファイルとして配布したHTML/XMLファイルおよびアプレットに基づいて描画するクライアント装置5から、デバイスアドレスAの内容の問い合わせを受け取ると、データメモリ44の記憶領域のうち、表示ファイルに対応するユーザ用の領域で、しかも、デバイスアドレスAに対応する領域の内容を読み出し、上記クライアント装置5に返答する。また、上記クライアント装置5からデバイスアドレスAの内容変更指示を受け取ると、デバイスアドレスAに対応する上記領域の内容を、指示に応じた値に書き換える。
ここで、ローカル制御システム2と公開サーバ装置4とは、所定のタイミングで通信しており、データメモリ44の内容は、ローカル制御システム2の指示に応じて更新されるとともに、クライアント装置5によるデータメモリ44の変更がローカル制御システム2に通知される。したがって、クライアント装置5は、データメモリ44を参照し、変更することにより、ローカル制御システム2の現況を表示し、制御できる。
一方、クライアント装置5は、上記バーチャルマシン(表示手段)51に加えて、例えば、汎用のブラウザソフトなどにより実現されるブラウザ(表示手段)52を備えており、ブラウザ52は、インターネット3に接続された機器と通信し、受け取ったHTMLファイルで指定されているアプレットをアプレット記憶部48から取得してバーチャルマシン51に実行させることができる。また、ブラウザ52は、例えば、HTTP(hyper text transfer protocol)プロトコルで任意のサーバ装置からHTML文書などの文書を受け取り、閲覧することもできる。
ここで、クライアント装置5は、オペレータによるタッチパネルなどの操作入力部(図示しない)を介した操作や、インターネット3を介した通信の結果などと、公開サーバ装置4から取得して格納した表示ファイルとに基づいて表示処理を行う。具体的には、プログラマブル表示器14の画面データに基づいて生成された、複数の単位画面に対応する表示ファイルであるHTML/XMLファイルを公開サーバ装置4から取得して、これに基づき、プログラマブル表示器14で表示されている画面、あるいはプログラマブル表示器14に蓄積されているデータを表示する。
そのため、クライアント装置5のブラウザ52およびバーチャルマシン51は、クライアント装置5に表示する画面のHTML/XMLファイルの送信を公開サーバ装置4の公開サーバ部45に要求する。また、ブラウザ52およびバーチャルマシン51は、プログラマブル表示器14のデバイスデータの参照および変更(制御入力)、すなわちデータメモリ44の参照および変更を公開サーバ装置4の公開サーバ部45に要求する。
つづいて、図10から図13を参照しながら、プログラマブル表示器14に蓄積されている蓄積データ(ログデータ、ヒストリデータ、レシピデータ等)をクライアント装置5に表示する機能について説明する。なお、以下では、ログデータを表示する場合を例として説明する。
まず、上記制御用通信システム1は、上記プログラマブル表示器14にデータ蓄積部26として、SRAM(static random access momory )およびメモリカード(例えば、コンパクトフラッシュ(登録商標))が設けられている。そして上記ローカル制御システム2では、制御用ホストコンピュータ16の蓄積データ送信部37が所定のタイミングで、プログラマブル表示器14のデータ蓄積部26に保存されているログデータをCSVファイルに変換して、公開サーバ装置4へ送信する。つづいて、上記公開サーバ装置4では、プログラマブル表示器14の画面データが保存されているフォルダの下にサブフォルダを作成し、各CSVファイルを格納する(図10)。さらに、蓄積データ表示ファイル生成部63が、ブラウザ52からの要求に応じてデータ蓄積部26に保存されているログデータをHTML形式に変換して送信し、これをブラウザ52が表示する。
図10は、公開サーバ装置4においてログデータおよびスクリプトファイルを格納する蓄積データ記憶部62およびスクリプトファイル記憶部64のフォルダ構成の例を示す説明図である。
図10では、フォルダ“¥CF−CARD”,“¥SRAM”がログデータを格納したフォルダである。これらのフォルダには、データ蓄積部26であるメモリカードおよびSRAMの内容がそれぞれ格納される。
ここで、上記プログラマブル表示器14では、ログデータをそれぞれ3つの形式を含む3つのモードで蓄積する。具体的には、ロギング,トレンド,サンプリングを含む第1のモード、アラームアクティブ,アラームヒストリ,アラームログを含む第2のモード、ブロック1,ブロック2,ブロック3を含む第3のモードである。例えば、第1のモードのサンプリングでは、「発報日付」,「発報時刻」,「メッセージ」,「確認時刻」,「復旧時刻」の各データが、1つのログデータとして対応付けられて蓄積される。そして、これらのログデータは、上記の各形式ごとに設けられたフォルダにそれぞれ分類されて格納される(図10のフォルダ“¥CF−CARD”)。なお、何れの形式のログデータを蓄積して表示するかは、オペレータにより選択できる。また、これらのサブフォルダは、後述するように、スクリプトファイル指定部61の“ログデータ表示の設定”のダイアログD10(図11)で、“ログデータ表示の有無”のチェックボックスD11にチェックを入れた場合に作成される。
また、図10では、フォルダ“¥LogPageJ”,“¥LogPageE”がスクリプトファイルを格納したフォルダである。図10の例では、スクリプトファイルのフォルダは、例えば日本語表示や英語表示のような環境ごとに設けられている。また、1つのスクリプトファイルフォルダには、上記ログデータの各形式ごとに用意されたスクリプトファイルがそれぞれ1つずつ格納されている。さらに、スクリプトファイルの名称は、ログデータの形式名すなわちログデータを格納するフォルダ名に一致している。よって、スクリプトファイルをフォルダごとにまとめて切り換えることができる。例えば、日本語環境用と英語環境用のスクリプトファイルをそれぞれのフォルダに格納しておけば、クライアント装置5の日本語/英語の環境の切り換えを、フォルダを切り換えることによって行うことができる。
なお、上記制御用通信システム1では、蓄積データ表示ファイル生成部63が、CSV形式の蓄積データをクライアント装置5用の蓄積データ表示ファイルに変換する処理内容を記述したスクリプトファイルとしてASP(Active Server Page)ファイルを使用する。なお、公開サーバ装置4とクライアント装置5との間がHTTP通信でない場合には、専用のアプリケーションにより蓄積データを表示することができる。
図11は、スクリプトファイル指定部61が表示する入力画面(ダイアログD10)の例を示す説明図である。この“ログデータ表示の設定”のダイアログD10を用いて、公開サーバ装置4のオペレータは、クライアント装置5のオペレータにログデータを公開するために、ログデータの表示の有無、ログデータを表示する場合に表示ファイルの生成に使用するスクリプトファイル、およびログデータ(CSV形式)をオペレータの指示に応じて作成する際のファイル名を設定する。
具体的には、図11に示すように、ダイアログD10で、“ログデータ表示の有無”のチェックボックスD11にチェックを入れると、表示ファイル生成部42が生成する表示ファイルに、ログデータ表示を起動するための起動ボタンD22(図12)が追加される。また、チェックボックスD11にチェックを入れると、“ログデータ表示ページの情報”の入力ボックスD12(スクリプトファイルのフォルダ名)および“新規CSVファイル作成時のファイル名”の入力ボックスD13(新規CSVファイル作成時のファイル名)の設定が有効になる。
そして、入力ボックスD12では、クライアント装置5に表示された画面上の起動ボタンD22(図12)が押された時に蓄積データ(ログデータ)に基づいて蓄積データ表示ファイルに生成する手順が定義されたスクリプトファイルを格納しているフォルダを指定する。なお、スクリプトファイルはログデータの形式ごとにフォルダに1つずつ用意されており、かつ、クライアント装置5からの蓄積データ表示ファイルの要求がログデータを指定して行われるため、フォルダを指定することで、スクリプトファイルを特定できる。
また、入力ボックスD13では、クライアント装置5でボタンD36(“新規作成”)(図13)が押された場合に、CSVファイルを新規に作成して保存する時に使用するCSVファイル名を設定する。よって、入力ボックスD13で、固定のファイル名を設定した場合は、新規のCSVファイルが毎回そのファイル名で保存される。また、この入力ボックスD13では、CSVファイルの作成時の日付/時間等に基づいて可変のファイル名を設定することもできる。例えば、図11の入力ボックスD13では、%Yを年度、%Mを月、%Dを日、%hを時間、%mを分、%sを秒として、新規作成したCSVファイルを、公開サーバ装置4の保存時点での日付/時間をファイル名として保存する設定を示している。
ここで、上記ダイアログD10による設定内容の処理について説明する。ダイアログD10で設定された内容は、スクリプトファイル指定部61によって表示ファイル生成部42に入力される。
まず、チェックボックスD11がチェックされている場合、表示ファイル生成部42は、プログラマブル表示器14用の画面データに基づいてクライアント装置5用の表示ファイルを生成する際に、その画面の表示内容に関連するログデータ等を公開サーバ装置4から読み出して表示するための機能を表示ファイルに追加する。例えば、“default.htm ”(図9)に起動ボタンD22(図12)を表示するタグ(文字列P2のINPUTタグ)(コード)を追加する。この起動ボタンD22のタグには、入力ボックスD12で設定されたスクリプトフォルダが特定できるようにパラメータが設定されている。
なお、表示ファイル生成部42には、スクリプトファイル指定部61の設定に基づいて“default.htm ”を生成するためのテンプレートがあらかじめ格納されている。そして、このテンプレートでは、上記起動ボタンD22を表示する行がコメントにされており、表示ファイル生成部42は、チェックボックスD11がチェックされた場合に、この行に付されていたコメントの指定を外すことによって、起動ボタンD22の表示を有効にする(図9)。
図12は、表示ファイル生成部42で起動ボタンD22を有効にして生成した表示ファイルである“default.htm ”(図9)をブラウザ52で表示したクライアント装置5の表示画面D20である。
上記表示画面D20には、プログラマブル表示器14に現在表示されている画面と同じ画面を表示する領域D21と、上記起動ボタンD22が表示されている。領域D21の画面は、上述のように、クライアント装置5用に生成された表示ファイルに基づき、バーチャルマシン51がJAVAアプレットによって表示する。ここで、クライアント装置5のオペレータが起動ボタンD22を押すと、ブラウザ52が領域D21の画面に関連するログデータ表示を行う蓄積データ表示ファイルを蓄積データ表示ファイル生成部63から取得して表示する。
具体的な処理は、以下の通りである。図9に示すように、起動ボタンD22には、ログデータ表示の初期画面を表示するための“\LogPageJ\Alarm.html”(図10には図示せず)が指定されている。よって、クライアント装置5において起動ボタンD22が押されると、クライアント装置5は起動ボタンD22に設定されている内容を公開サーバ装置4に送信する。そして、蓄積データ表示ファイル生成部63がスクリプトファイル記憶部64から、各スクリプトファイル(ASPファイル)を呼び出すための初期画面用の上記HTMLファイルを呼び出して処理し、表示ファイルをブラウザ52へ送信して、新しいウィンドウで表示する。この例では、フォルダ“\LogPageJ ”が指定されているため、日本語環境のログデータ表示ページD30(図13)が表示される。
つづいて、図13に示す、上記起動ボタンD22に設定された内容に従って表示されたログデータ表示ページD30には、ログデータを表示する領域D31、ログデータを呼び出す手段である切換ボタンD33…およびファイルリストD34が表示される。
上記ファイルリストD34には、この画面から呼び出し可能なログデータのCSVファイルが一覧表示されている。ここで、ファイルリストD34でCSVファイルを選択して、“表示”のボタンD35を押すと、蓄積データ記憶部62に格納されているCSVファイルが蓄積データ表示ファイルに変換されて、領域D31に表示される。また、切換ボタンD33でログデータを切り換えて、“新規作成”のボタンD36を押すと、現在のプログラマブル表示器14内部のデータを公開サーバ装置4経由で要求し、プログラマブル表示器14で取得されたデータを蓄積データ記憶部62にCSVファイルとして保存後、蓄積データ表示ファイル生成部63で蓄積データ表示ファイルに変換して、ブラウザ52により領域D31に表示する。なお、上述のように、この時の新規作成したCSVファイルは、スクリプトファイル指定部61によって上記ダイアログD10の入力ボックスD13で指定したファイル名となる。
また、切換ボタンD33…でログデータの種類を指定すると、表示可能なCSVファイルがファイルリストD34に一覧表示される。そして、ファイルリストD34中でCSVファイルを選択して“表示”(ボタンD35)を押すと、領域D31に内容表示される。また、切換ボタンD33…でログデータの種類を指定し、“新規作成”(ボタンD36)を押すと、上述のように新規作成したCSVファイルが、領域D31に内容表示される。なお、新規作成されたCSVファイルは、ファイルリストD34に追加され、次回以降選択可能になる。
図13の例では、上記の操作の結果、領域D31には、データ蓄積部26であるSRAMに格納されているサンプリングに関するログデータが表示されている。ここで、上述した起動ボタンD22におけるログデータ表示の初期画面を表示するHTMLファイルのフォルダ指定に基づいて、この初期画面から要求されるログファイルは、すべて当該フォルダのスクリプトファイルによって処理される。よって、日本語環境の初期画面から呼び出された場合、領域D31も日本語表示となる(図13)。なお、初期画面の表示時に、デフォルトのログデータを表示してもよい。
さらに、領域D31には、“ダウンロード”のボタンD32が表示されている。このボタンD32を押すと、現在表示しているログデータのCSVファイルをクライアント装置5にダウンロードする。このように、CSVファイルをクライアント装置5にダウンロードして保存することにより、ログデータを容易に編集できる。
上述のように、上記制御用通信システム1は、プログラマブル表示器14で取得されたログデータをデータ蓄積部26に蓄積し、これを蓄積データ送信部37がCSVファイルに変換して、公開サーバ装置4の蓄積データ記憶部62に格納し、これを蓄積データ表示ファイル生成部63が変換したHTMLファイルを、クライアント装置5に送信して表示する。
なお、ローカル制御システム2(蓄積データ送信部37)から公開サーバ装置4(蓄積データ記憶部62)への蓄積データの送信は、定期的あるいはクライアント装置5からの指示により行われる。
これにより、プログラマブル表示器14の内部、すなわちデータ蓄積部26にリアルタイムに保存されているログ/ヒストリデータ等を、インターネット3を介してクライアント5で表示させることができる。
また、プログラマブル表示器14の表示画面とは異なる表示画面で表示できる。すなわち、クライアント装置5に独自の画面を表示する表示ファイルを生成するため、例えば、表示可能領域が小さいプログラマブル表示器14では1画面に入らない件数のデータを、クライアント装置5において1画面で表示することが可能となる。
なお、図13では、蓄積データをHTMLのタグを用いてテーブル形式で表示した例を示したが、蓄積データ表示ファイルの形式はHTMLおよびそのタグに限定されず、適宜選択可能である。例えば、蓄積データ表示ファイル生成部63において、データを折れ線等にグラフ化してもよい。
また、ログデータ表示を呼び出すための手段としては、起動ボタンD22に限定されず、割り当てられたキー操作や、コマンド入力であってもよい。
また、図12に示したように、起動ボタンD22を領域21に設けたが、領域21に表示されている画面の部品図形(例えば、温度計)への操作から、その部品図形に関連するログデータを表示してもよい。すなわち、プログラマブル表示器14では、画面の部品図形への操作から、その部品図形に関連するログデータを表示することができる。よって、プログラマブル表示器14用の画面データをそのまま変換した表示ファイルに基づいてクライアント装置5で画面を表示すると、プログラマブル表示器14と同様にログデータが表示できる。しかし、一般にプログラマブル表示器14は表示面積が狭いため、表示できるデータ数が少ない。そこで、表示面積が広いクライアント装置5用の表示ファイルでは、画面の部品図形からログデータを表示する操作から、プログラマブル表示器14よりもデータ数およびデータの種類を増やしたログデータ画面を表示するように、部品図形に対応するタグの処理を設定してもよい。
また、上記では、領域D21にプログラマブル表示器14において現在表示されている画面と同じ画面を表示する場合について説明した。しかし、これに限定されず、領域D21には、公開サーバ装置4においてクライアント装置5で表示可能な形式に生成した画像を表示できる。
ここで、表示ファイルを表示するためのクライアント装置5の仕様、すなわち、クライアント装置5のハードウェアや、ブラウザ52およびバーチャルマシン51を実現するソフトウェアは様々である。例えば、クライアント装置5にもパソコンや携帯型の情報端末(PDA(personal digital assistant)や携帯電話等)などがあり、使用されるブラウザにもINTERNET EXPLORER (登録商標)やNETSCAPE NAVIGATOR(登録商標)等があり、さらに、それぞれに異なるバージョンがある。ハードウェアが異なれば面積や色数等の表示性能が異なり、ソフトウェアが異なればHTMLやXML等への対応が異なる。そのため、クライアント装置5において適切な表示を行うためには、表示ファイル生成部42は、上記のようなクライアント装置5の仕様に対応した表示ファイルを生成し、クライアント装置5に送信する必要がある。
そこで、上記制御用通信システム1では、上記表示ファイル生成部42は、プログラマブル表示器14用の画面データ(第1画面データ)に基づいて、アクセスが予想されるクライアント装置5のハードウェアおよびソフトウェアの仕様に対応した専用の表示ファイル(第2画面データ)を生成する図示しないジェネレータ(画面データ変換手段)を、クライアント装置5の仕様ごと(例えば、ブラウザの種別ごと)に備えていてもよい。また、表示ファイル生成部42にジェネレータを1つ設け、スイッチ等により切り替えて、クライアント装置5の各仕様に対応した表示ファイルを生成してもよい。
上記の各ジェネレータは、ローカル制御システム側通信処理部41がローカル制御システム2から画面データを受け取ると、自動的にHTML/XMLファイルを生成し、表示ファイル記憶部43(HTMLファイル記憶部46,XMLファイル記憶部47)に設定されている所定のフォルダにそれぞれ格納してもよい。あるいは、公開サーバ装置4のオペレータが、表示ファイル生成部42にて、表示するクライアント装置5の仕様(例えば、ブラウザソフトの種別)を選択することにより、そのクライアント装置5用のHTML/XMLファイルを生成し、指定したフォルダに格納してもよい。
なお、アプレットは、アクセスが予想されるクライアント装置5の仕様ごとにあらかじめ作成され、アプレット記憶部48に設定されている上記フォルダにそれぞれ格納されてもよい。また、アプレットは、表示ファイル生成部42で生成してもよいし、その他の場所、例えばローカル制御システム2において生成してもよい。また、HTML/XMLファイルおよびアプレットの各ファイルの格納位置は適宜設定できる。
ここで、HTML/XMLファイルは、上記のようにあらかじめ生成・格納しておいてもよいが、クライアント装置5から要求を受けた時点で、ブラウザ判定部49(後述)にて判別されたクライアント装置5の仕様に応じて、生成してもよい。また、一部のHTML/XMLファイルをあらかじめ用意しておき、それ以外は要求された時点で生成してもよい。
また、携帯電話等の携帯型の端末のように、プログラマブル表示器14と同等な表示能力を備えていないクライアント装置5もある。この場合、HTMLファイルのみによって、テキストのみを表示したり、その時点での静止画像を表示することができる。
そして、上記公開サーバ部45は、ブラウザ判定部49を備えている。上記公開サーバ部45は、クライアント装置5から要求があると、ブラウザ判定部49によって、クライアント装置5の仕様を判定する。具体的には、ブラウザ判定部49は、例えば、クライアント装置5からのリクエストのヘッダ部に記載されているブラウザ名を検出する。そして、ブラウザごとにあらかじめ生成されている表示ファイルを格納しているフォルダから、検出されたブラウザに対応したフォルダを選択する。
また、上記公開サーバ部45は、URI(universal resource identifier )などに基づいて、クライアント装置5が要求している表示ファイルを判別する。これらの結果に基づいて、公開サーバ部45は、要求された表示ファイル、すなわちHTMLファイル、XMLファイル、アプレットであって、要求したクライアント装置5に対応して生成したファイルを表示ファイル記憶部43から読み出し、CGI(common gateway interface)やBGI(binary gateway interface)などによってクライアント装置5へ該当する送出する。
つづいて、図16に示したフローチャートを参照しながら、上記制御用通信システム1の動作を説明する。
ステップS11では、ローカル制御システム2のユーザが、制御用ホストコンピュータ16の作画処理部34(図2)を操作し、ターゲットシステム11の実情やプログラマブル表示器14のオペレータの習熟度、あるいは、使用者の好みに合わせて、画面データを作成あるいは修正する。作成された画面データは、例えば、シミュレーションや接続試験などによって、正常に動くことが確認された後、ステップS12において、プログラマブル表示器14に配信され、ステップS13において、プログラマブル表示器14が画面データに応じた表示を開始する。
つぎに、画面データが更新されると、制御用ホストコンピュータ16(公開サーバ側通信処理部36)は、ステップS14において、公開サーバ装置4にアクセスする。ステップS15において、公開サーバ装置4(ローカル制御システム側通信処理部41)は、例えば、あらかじめ格納されたアカウントおよびパスワードの組み合わせと、受け取った組み合わせとを比較するなどして、ローカル制御システム2、または、そのユーザを認証する。この認証に成功すると、ステップS16において、ローカル制御システム2から公開サーバ装置4へ画面データが送信される。
つぎに、ステップS17において、公開サーバ装置4がローカル制御システム2から画面データを受け取ると、表示ファイル生成部42は、画面データに基づいて表示ファイルであるHTMLファイル、あるいはHTMLファイルおよびXMLファイルを生成し、表示ファイル記憶部43のHTMLファイル記憶部46およびXMLファイル記憶部47に格納する。
つぎに、ステップS18において、インターネット3を介して、クライアント装置5のオペレータが、公開サーバ装置4にアクセスして、あるローカル制御システム2のプログラマブル表示器14の画面を表示するように指示すると、ステップS19において、公開サーバ部45は、クライアント装置5から受け取った識別番号およびパスワード等があらかじめ定められたものであるか否かを確認するなどして、上記画面による表示および制御が、当該オペレータあるいはクライアント装置5に許可されているか否かを認証し、許可されていないオペレータあるいはクライアント装置からのアクセスを拒否する。
つぎに、許可された正規なオペレータあるいはクライアント装置5からのアクセスであることが確認されると、ステップS20において、ブラウザ判定部49がリクエストを発信したクライアント装置5のブラウザを判別する。そして、ステップS21において、公開サーバ部45は、上記ステップS17にて生成され、表示ファイル記憶部43に格納されている表示ファイルのうち、クライアント装置5が要求したHTMLファイル、XMLファイル、アプレットを、ブラウザ判定部49が判別したブラウザに対応したフォルダから適宜読み出し、インターネット3を介してクライアント装置5へ送信する。
つぎに、ステップS22において、クライアント装置5のブラウザ52は、受け取ったHTMLファイルから、APPLET要素(“<APPLET>”から“ </APPLET>”の部分)を抽出し、バーチャルマシン51に実行させる。これにより、バーチャルマシン51は、アプレットにHTMLファイル中で直接与えられたパラメータ、またはXMLファイルによって与えられたパラメータに基づき、公開サーバ部45と通信して、プログラマブル表示器14と同様の表示および制御を行う。
具体的には、バーチャルマシン51では、アプレット中の各表示タグに応じたインスタンスの描画メソッドが、所定の時間間隔で実行される。この結果、バーチャルマシン51は、デバイスアドレスAの内容を公開サーバ装置4へ問い合わせる。
これに対して、公開サーバ装置4の公開サーバ部45は、ブラウザ52から、あるローカル制御システム2のプログラマブル表示器14の画面表示の要求を受けると、データメモリ44の記憶領域のうち、要求されたローカル制御システム2に対応する記憶領域から、デバイスアドレスAに基づいて、デバイスデータ(デバイスアドレスAの内容)を読み出して、クライアント装置5に送信する。上記描画メソッドは、要求したデバイスデータがインターネット3を介してクライアント装置5に伝えられると、当該デバイスデータに応じて、クライアント装置5の表示画面のうち、パラメータで設定された表示領域(X・Y)の表示を更新する。
ここで、アプレット中の各インスタンスは、デバイスアドレスAの内容が同じ場合、画面データのタグと同じ描画を行うようにあらかじめ作成されている。一方、HTML/XMLファイルにおいて、上記アプレットに与えられるパラメータは、画面データ中の対応するタグと、同じデバイスアドレスAを参照するように、画面データに基づいて生成される。これにより、バーチャルマシン51において、HTML/XMLファイルが指定するパラメータに従って、アプレットが実行されると、クライアント装置5の表示画面には、プログラマブル表示器14と同様、デバイスの状態を示す部品図形J1(J2)が表示される(図3,図7)。
また、バーチャルマシン51は、表示ファイルの実行中、例えば、マウス操作などの入力操作が行われると、HTML/XMLファイル中の入力タグに対応するインスタンスのうち、入力操作に応じたインスタンスの入力メソッドを実行する。これにより、バーチャルマシン51は、入力結果に応じたデータを、特定のデバイスアドレスAへ書き込むように、公開サーバ部45へ要求する。そして、公開サーバ部45は、クライアント装置5から書き込み要求を受けると、データメモリ44の記憶領域のうち、要求されたデバイスアドレスAの領域の内容を書き換える。この結果、クライアント装置5の表示画面には、書き込み後、上記描画メソッドが実行された時点で、プログラマブル表示器14と同様に、操作結果が反映される。
以上のように、上記制御用通信システム1では、ローカル制御システム2は、プログラマブル表示器14がデバイスの内容を取得して表示する際の動作を特定する画面データ(第1画面データ)を公開サーバ装置4へ送信する。そして、公開サーバ装置4の表示ファイル生成部42は、この画面データをクライアント装置5で表示可能なHTMLファイルおよびXMLファイル(第2画面データ)に変換した後、HTMLファイル記憶部46,XMLファイル記憶部47にそれぞれ格納する。クライアント装置5(ブラウザ52および/あるいはバーチャルマシン51)は、公開サーバ装置4から取得したHTML/XMLファイルに従って表示を行う。また、プログラマブル表示器14のデータ(蓄積データ)はデータ蓄積部26に蓄積され、所定のタイミングで蓄積データ記憶部62へ送信される。そして、クライアント装置5が表示している上記HTML/XMLファイルに基づく画面を介して、クライアント装置5のオペレータが上記蓄積データの表示を要求すると、蓄積データ表示ファイル生成部63が蓄積データ記憶部62中の上記蓄積データをHTMLファイルに変換してブラウザ52へ送信する。
上記制御用通信システム1によれば、プログラマブル表示器14の画面を示す画面データ(第1画面データ)を、表示ファイル(第2画面データ)に形式を変換してインターネット3に接続されたクライアント装置5に配信することができる。さらに、プログラマブル表示器14に蓄積されたデータを、蓄積データ表示ファイルに形式を変換してインターネット3に接続されたクライアント装置5に配信することができる。
また、上記制御用通信システム1によれば、蓄積データの表示画面を読み出すための蓄積データ表示指示部(例えば、アイコンやコマンド入力部)を、プログラマブル表示器14と同じ画面を表示するための表示ファイルに設定する。これにより、蓄積データであるログデータ等を、関連する画面から呼び出して容易に参照できる。
また、ローカル制御システム2と公開サーバ装置4とは、プログラマブル表示器14で現在表示されている単位画面を示す表示ページ情報を含めて、画面表示に必要なすべてのデバイスデータがデータメモリ44に格納され、同期が取られている。よって、クライアント装置5は、ローカル制御システム2と直接通信せずに、データメモリ44を介してローカル制御システム2の状態を取得して、画面に表示できる。すなわち、プログラマブル表示器14に表示されている画面とは別の画面をクライアント装置5で表示することが可能となる。例えば、PLC12のデータをモニタしているプログラマブル表示器14の画面とは別に、PLC12のデータの履歴やデバイス間の比較・確認するための、現場とは異なる監視用の画面をクライアント装置5に構築することができる。
また、上記制御用通信システム1によれば、デバイスデータを送信すればよいので、ローカル制御システム2側の設定を簡略化できる。したがって、ローカル制御システム2のユーザに負担をかけることなく、遠隔地のクライアント装置5にて、ローカル制御システム2の状態を表示できる。特に、クライアント装置5での画面表示のために、クライアント装置5とローカル制御システム2とが直接通信することがないため、クライアント装置5に対して、ローカル制御システム2の安全性が確保できる。
なお、上記では、制御用通信システム1(図1)を示して、公開サーバ部45により配布されるアプレットが、各単位画面に関連するタグ(処理指示語)を示すXMLファイルに基づいて、表示/制御する場合について説明したが、これに限るものではない。
例えば、図15に示すように、HTMLファイルに記載するPARAM要素として、画面データに含まれる全てのタグに対応するインスタンスを生成するとともに、当該インスタンスの各フィールドをタグの内容に合わせて設定した文字列(コード)を記述してもよい。この場合、表示ファイル生成部42は、画面データ中の全タグについて、上記タグの内容を参照し、文字列P11aで示すように、参照結果に基づいて画面表示用のアプレットを呼び出す文字列を生成して、HTMLファイル中に記述する。
なお、この場合、表示ファイルとしてはHTMLファイルのみが生成されるため、図14に示すように、制御用通信システム1にはXMLファイル記憶部47(図1)は不要である。よって、表示ファイル記憶部43′には、HTMLファイルおよびアプレットが、クライアント装置5の各仕様に対応したフォルダにそれぞれ格納されることになる。
そして、アプレットの動作や呼び出し方法にかかわらず、公開サーバ部45によって、プログラマブル表示器14が画面データに基づいてデバイスの状態に応じて表示する動作、および、操作に応じたデバイスの状態変更を指示する際の動作をクライアント装置5へ同様に指示できれば、図1および図14に示した制御用通信システム1はほぼ同様の効果が得られる。
ただし、画面データ中の全タグに対応するアプレットやHTMLファイルを一括して送信すると、クライアント装置5が公開サーバ部45にアクセスしてから、クライアント装置5が表示/操作を開始するまでの時間が長くなってしまう。したがって、各単位画面に関する動作を指示するデータを分割して送信する方が好ましい。
また、プログラマブル表示器14と同様の問い合わせ・変更指示を公開サーバ部45に送信する動作と、応答に応じて表示させる動作とをクライアント装置5に行わせる表示ファイル(HTML/XMLファイルおよびアプレット)を配信する場合を例にして説明したが、これに限るものではない。
例えば、公開サーバ装置4またはローカル制御システム2が、画面データおよびデバイスデータに基づいて、プログラマブル表示器14の画面表示と同一内容で、クライアント装置5が表示可能な形式(ビットマップ形式やJPEG形式など)の画像ファイルを生成し、クライアント装置5へ送信してもよい。この場合、クライアント装置5からデバイスの状態を制御できないものの、プログラマブル表示器14と同等の表示機能を備えないクライアント装置5でもプログラマブル表示器14の画面を表示できる。
また、上記制御用通信システム1では、表示ファイル生成部42が公開サーバ装置4に設けられ、画面データから表示ファイルを生成して配信する。したがって、特に、クライアント装置5用の画面を設計しない限り、プログラマブル表示器14の画面とクライアント装置5の画面とを共通に保つことが可能となり、それぞれを別個に作成する場合に比べて、維持管理の手間を削減できる。
しかし、これに限定されず、表示ファイルの生成機能(表示ファイル生成部42)は、ローカル制御システム2の制御用ホストコンピュータ16に設けてもよいし、クライアント装置5に設けてもよい。同様に、蓄積データの表示ファイルの生成機能(蓄積データ表示ファイル生成部63)は、ローカル制御システム2の制御用ホストコンピュータ16に設けてもよいし、クライアント装置5に設けてもよい。
また、プログラマブル表示器14で表示する画面(単位画面)が複数ある場合、クライアント装置5では、画面データに基づいてプログラマブル表示器14に現在表示されている単位画面と同じ単位画面を、表示ファイル記憶部43から取得したHTML/XMLファイルに基づいて表示してもよいし(一致表示モード)、クライアント装置5でのオペレータによる選択により、プログラマブル表示器14の画面データに含まれる単位画面の何れかに対応する単位画面を、表示ファイル記憶部43から取得したHTML/XMLファイルに基づいて、プログラマブル表示器14に現在表示されている単位画面とは無関係に、表示してもよい(不一致表示モード)。そして、クライアント装置5にプログラマブル表示器14において現在表示されている単位画面と同じ単位画面を表示する一致表示モードと、別の単位画面を表示可能な不一致表示モードと、クライアント装置5のオペレータの指示に基づいて切り換え可能であってもよい。
また、プログラマブル表示器14の画面は、好みや習熟度などにも左右されるため、最適な画面を1つに決めることができず、比較的頻繁に変更されることが多い。この点、上述したように、上記制御用通信システム1では、ローカル制御システム2(制御用ホストコンピュータ16)のユーザが、画面データをタグの組み合わせで生成できるので、これらの要求に柔軟に対応でき、最適な状態を保ち続けることができる。また、制御用ホストコンピュータ16で一括して管理できるため、多くの場所で並行して管理する場合に比べて、画面データを容易に管理できる。
最後に、上記の各部材21〜26、31〜37、41〜49、51〜55、および61〜64は、CPUなどの演算手段が、ROMやRAMなどの記憶手段に格納されたプログラムを実行し、タッチパネルや液晶表示装置などの入出力手段、あるいは、インタフェース回路などの通信回路を制御することによって実現される機能ブロックである。
したがって、これらの手段を有するコンピュータが、上記プログラムを記録した記録媒体(例えば、CD−ROMなど)を読み取り、当該プログラムを実行するだけで、上記制御用通信システム1のプログラマブル表示器14、制御用ホストコンピュータ16、公開サーバ装置4およびクライアント装置5を実現できる。特に、クライアント装置5のバーチャルマシン51およびブラウザ52は、多くのコンピュータにあらかじめインストールされている汎用のブラウザソフトで実現できるため、これらのコンピュータは、特別なプログラムをインストールすることなく、クライアント装置5として動作できる。なお、例えば、シリアルケーブル13やネットワーク15、インターネット3、あるいは、他の通信路を介してプログラムをダウンロードするためのプログラムが、上記コンピュータにあらかじめインストールされていれば、これらの通信路を介して、上記コンピュータへ上記プログラムを配付することもできる。
以上のように、本実施形態のいずれかに記載の制御用通信システムは、プログラマブル表示器にネットワークを介して端末装置が接続されている制御用通信システムにおいて、上記プログラマブル表示器は、データを蓄積するデータ蓄積手段を具備し、上記端末装置は、上記プログラマブル表示器で表示されている画面と同一の画面を表示するとともに、上記データ蓄積手段に蓄積されたデータを表示する表示手段を具備することを特徴としている。
上記の構成により、上記制御用通信システムでは、端末装置が、プログラマブル表示器で表示されている画面と同一の画面と、プログラマブル表示器に蓄積されたデータを表示する画面とを表示する。
よって、プログラマブル表示器に蓄積されたデータを、プログラマブル表示器にネットワークを介して接続された端末装置において、プログラマブル表示器で表示されている画面と同一の画面を表示しながら、あるいは切り換えて表示することができる。
したがって、端末装置に、プログラマブル表示器で表示されている画面と同一の画面からは確認できなかったデータを表示できる。また、端末装置が、プログラマブル表示器よりも大きな表示面積を有する場合には、プログラマブル表示器での表示より多くのデータを表示できる。ゆえに、端末装置によるネットワークを介してのプログラマブル表示器の監視および制御が容易となる。
本実施形態のいずれかに記載の制御用通信システムは、以上のように、さらに、上記プログラマブル表示器のデータ蓄積手段に蓄積されているデータに基づき、該データを上記端末装置の表示手段で表示する蓄積データ表示ファイルを生成する蓄積データ表示ファイル生成手段を具備することを特徴としている。
上記の構成により、さらに、蓄積データ表示ファイル生成手段が、プログラマブル表示器に蓄積されているデータに基づき、該データを端末装置で表示する蓄積データ表示ファイルを生成する。
よって、プログラマブル表示器ごとに蓄積されるデータを、端末装置での表示に適した形式に変換することができる。したがって、プログラマブル表示器ごとに蓄積されているデータを、端末装置に応じた最適な表示形態で表示できるため、端末装置によるネットワークを介してのプログラマブル表示器の監視および制御が容易となる。
本実施形態のいずれかに記載の制御用通信システムは、以上のように、さらに、上記蓄積データ表示ファイル生成手段を具備するとともに、上記端末装置からの要求に従って、上記蓄積データ表示ファイルを当該端末装置へ送信する画面データ送信手段を具備するサーバ装置が、上記のプログラマブル表示器および端末装置とネットワークを介して接続されていることを特徴としている。
上記の構成により、さらに、プログラマブル表示器および端末装置とネットワークを介して接続されているサーバ装置が、プログラマブル表示器に蓄積されているデータに基づき、該データを端末装置で表示する蓄積データ表示ファイルを生成する。加えて、当該サーバ装置が、生成した蓄積データ表示ファイルを、端末装置からの要求に応じて送信する。
よって、端末装置が、自装置からの要求のタイミングで、プログラマブル表示器に蓄積されているデータを取得して表示できる。したがって、蓄積データの表示画面を、端末装置からの制御、例えば、端末装置のオペレータの操作に基づいて、必要最小量の通信で表示することができる。
また、端末装置は、蓄積データをサーバ装置から取得することが可能となる。すなわち、端末装置は、蓄積データをプログラマブル表示器から直接取得するのではなく、サーバ装置を介して間接的に取得できる。したがって、端末装置でプログラマブル表示器の蓄積データを表示するたびに、プログラマブル表示器にアクセスする必要がない。ゆえに、プログラマブル表示器は、端末装置の表示とは独立して運用できるため、ネットワークのセキュリティ上安全である。
本実施形態のいずれかに記載の制御用通信システムは、以上のように、さらに、上記サーバ装置は、上記プログラマブル表示器の画面を描画する第1画面データを、上記端末装置の表示手段が表示可能な形式の第2画面データに変換する画面データ変換手段を具備し、かつ、上記画面データ変換手段が、上記端末装置のオペレータが上記蓄積データ表示ファイルの表示を指示入力する蓄積データ表示指示部を上記第2画面データに設定するものであることを特徴としている。
上記の構成により、さらに、サーバ装置は、プログラマブル表示器の画面を描画する第1画面データを、端末装置が表示可能な形式の第2画面データに変換する。加えて、サーバ装置は、端末装置においてオペレータが蓄積データ表示ファイルの表示を指示入力する蓄積データ表示指示部(例えば、アイコン)を第2画面データに設定する。なお、端末装置のオペレータによる入力指示は、アイコンへのクリックや、キーによるコマンド入力等であってもよい。
よって、サーバ装置は、端末装置の画面を描画する第2画面データを生成する際に、表示されている画面に関連する蓄積データを表示するための蓄積データ表示指示部を、第2画面データに設定することができる。それゆえ、端末装置は、プログラマブル表示器用の第1画面データに基づいて作成された第2画面データに従って画面を表示するとともに、必要に応じて、当該画面の内容に関連する蓄積データを、蓄積データ表示指示部を介して表示できる。
したがって、端末装置のオペレータが、プログラマブル表示器を監視・制御する際、プログラマブル表示器の画面と同時にあるいは切り換えながら、当該画面の内容に関連する蓄積データを容易に参照することが可能となる。
ここで、上記第1画面データは、制御用通信システムに設けられたプログラマブル表示器が表示に必要なデバイスの状態(データ)を取得する動作と、取得した状態に基づいて画面表示する動作とを示すデータであってもよい。さらに、上記第1画面データは、プログラマブル表示器の画面上の領域への表示に対応するデバイスを特定する情報(デバイスのアドレス)と画面上の領域との対応関係を示すタグを組み合わせて構成されていてもよい。
また、上記第2画面データは、端末装置からネットワークを介して、上記プログラマブル表示器のデバイスの状態を問い合わせる動作と、応答に基づいてそのデバイスの状態を端末装置の画面領域のうち画面データが示す画面領域に対応する領域へ表示する動作とを示すデータであってもよい。さらに、上記第2画面データは、端末装置の画面上の領域への表示に対応するデバイスを特定する情報(デバイスのアドレス)と画面上の領域との対応関係を示すタグを組み合わせて構成されていてもよい。すなわち、第2画面データは、これに基づいて描画された端末装置の画面を介して、変換元の第1画面データに対応するプログラマブル表示器をネットワークを介して操作可能な形式であってもよい。
また、本実施形態のいずれかに記載の制御用通信プログラムを記録したコンピュータ読み取り可能な記録媒体は、以上のように、上記の各手段をコンピュータに実現させて、上記制御用通信システムを動作させる制御用通信プログラムを記録したコンピュータ読み取り可能な記録媒体である。
上記の構成により、上記記録媒体から読み出された制御用通信プログラムによって、上記制御用通信システムをコンピュータネットワーク上に実現することができる。したがって、上記した制御用通信システムの効果を奏することができる。