以下、図面を参照し、本発明の実施形態を説明する。図1は、本発明の第1の実施形態による装置制御システムの構成を示している。本実施形態による装置制御システムは通信サーバ18、操作端末27、操作管理サーバ28、装置管理サーバ29、および制御装置30を備えている。通信サーバ18は他の装置との通信等のために設けられているが、通信サーバ18を設けない形態であってもよい。操作端末27は、例えば汎用のPCであり、キーボード等の操作手段やモニタ等の表示手段を備えている。また、操作端末27は、ユーザによる制御機器の操作指示を含む情報の入力を受け付けると共に、処理内容の結果等の情報を表示手段へ出力するGUI部31(第1の入力手段)を備えている。ユーザ操作による入出力処理については、一般的なWebサービスで実現できるため、説明は省略する。
操作管理サーバ28は、ユーザによって操作端末27に入力された情報を装置管理サーバ29へ送信することによって、操作端末27を介して指示された操作内容を装置管理サーバ29に通知したり、装置管理サーバ29から通知される処理結果等を操作端末27に表示させるための処理を行ったりする機能を有する。操作管理サーバ28の端末管理部34は、I/F32を介して操作端末27のGUI部31と通信を行う。端末管理部34は、GUIの表示処理の内容や画面遷移情報等を含んだアプリケーションファイル79を有している。
GUIの表示処理とは、操作端末27で起動したブラウザの画面に必要なボタンやリンク先等を表示する処理のことである。また、画面遷移情報とは、ブラウザの画面上でボタンやリンク先等がクリックされる等のイベントが発生した際の画面の切換先を示す情報のことである。端末管理部34は、操作端末27のGUI部31に入力された情報に基づいて、次に表示すべき画面が記された画面遷移情報をアプリケーションファイル79から読み出して遷移先の画面を特定すると共に、特定された画面の表示処理の内容をアプリケーションファイル79から特定する。端末管理部34はこれら遷移先の画面および表示処理の内容をGUI部31に通知する。GUI部31は、通知された情報に基づいて、操作端末27の表示手段に画面表示を行わせる。
Webサービスの用語では、GUI部31はブラウザソフト、端末管理部34はWebサーバソフト、I/F32はインターネット/イントラネット、アプリケーションファイル79はASPファイルやHTMLファイル(HTMLソースコード)等と呼ばれるものである。GUI部31に入力された情報を装置管理サーバ29へ送信したり、装置管理サーバ29から情報を受信したりするため、端末管理部34には、I/F35を介してサーバ間通信部36が接続されており、さらにサーバ間通信部36は、I/F37を介して装置管理サーバ29のシステム管理S部39と接続されている。
装置管理サーバ29は、操作管理サーバ28から送信される接続機器の操作指示に基づいて、制御装置30に対して接続機器の制御指示を行い、制御装置30を制御する。装置管理サーバ29において、システム管理S部39(第1のシステム管理手段)は基本的には、前述した全体処理部3と同様の処理を行う。すなわち、システム管理S部39は、操作端末27から入力された接続機器の操作指示に応じて、接続機器に対する命令を決定し、その命令に基づいた命令情報を、I/F47を介して制御装置30へ送信する。
装置管理サーバ29には制御すべきハードウェア群はなく、それ以外のユニットd管理部43、通信処理部42を、それぞれI/F41、I/F40を介して制御する。ユニットd管理部43によって管理される図示せぬユニットdは、例えば画像処理を行うソフトウェアによる処理手段である。通信処理部42は、I/F44を介して通信サーバ18の通信サーバ処理部17と通信を行う。
制御装置30は、装置Aを制御する例えば汎用のPC等である。制御装置30において、システム管理C部46(第2のシステム管理手段)は、I/F47を介して装置管理サーバ29のシステム管理S部39と接続されている。このシステム管理C部46はユニットa管理部52、ユニットb管理部53、およびユニットc管理部54の状態管理を行うと共に、これらのユニット管理部とシステム管理S部39との間で命令情報の受け渡しを管理し、必要に応じて命令情報の送受信を行う。
ユニットa管理部52、ユニットb管理部53、ユニットc管理部54は、例えばドライバソフトの起動によって起動する処理手段であり、それぞれI/F49、I/F50、I/F51を介してシステム管理C部46と接続されている。これらの各ユニット管理部(接続機器管理手段)は、システム管理C部46から命令情報を受信し、命令情報に基づいて装置Aの各ユニット(接続機器、制御機器)の状態を管理するため、各ユニットに固有の内容のコマンドを生成し、各ユニットへ出力する。ユニットa管理部52は、I/F10を介してユニットaに接続しており、ユニットb管理部53は、I/F12を介してユニットbに接続しており、ユニットc管理部54は、I/F14を介してユニットcに接続している。
I/F35,37,40,41,47,49,50,51は一般的にプロセス間通信と呼ばれ、プロセス名とIPアドレス、ポート番号等の識別情報でそれぞれ通信先を特定でき、情報の送受信が可能な通信手段である。本実施形態による装置制御システムの変形例として、システム管理S部39にシステム管理C部46の機能を持たせることで、I/F49、I/F50、I/F51がユニットa管理部52、ユニットb管理部53、ユニットc管理部54とシステム管理S部39とを接続してもよい。また、I/F35については、グループ38のように、端末管理部34にサーバ間通信部36の機能を含ませた上で、I/F35を省略してもよい。
同様に、I/F37については、操作管理サーバ28と装置管理サーバ29が同一であれば、それらをグループ45としてI/F37を省略することができる。装置管理サーバ29と制御装置30が同一の場合も、それらをグループ48としてI/F47を省略することができる。同じ理由でI/F40,41,49,50,51を省略することも可能である。
制御対象の接続機器(各ユニット)が接続された制御装置30が、リモート制御される側の装置であり、通信サーバ18、操作端末27、操作管理サーバ28、および装置管理サーバ29が、接続機器をリモート制御する側の装置(制御管理装置)である。ただし、接続機器をリモート制御する側の装置の形態は本実施形態に限られず、不要な構成の削除や構成の統一化を行った形態であってもよい。例えば、通信サーバ18を設けなくてもよく、操作端末27と操作管理サーバ28を一体化したり、操作端末27、操作管理サーバ28、および装置管理サーバ29を一体化したりしてもよい。すなわち、制御管理装置は、接続機器が接続された制御装置とは別個の1以上の装置によって構成されていればよい。
次に、図2を参照し、本実施形態による装置制御システムの動作を説明する。ただし、装置制御システムへのログイン処理およびユニットa11の初期化のみを説明する。その他の操作に対する各処理部の動作に関しては、処理内容が異なるだけで処理の流れは基本的に変わらないため、上記の説明だけを行う。まず、ユーザが操作端末27の操作手段を操作してログイン指示を入力すると、GUI部31は、ログイン名やパスワード等のログイン情報を含むログイン要求を端末管理部34へ送信する(ステップS201)。
端末管理部34はログイン要求を受信し、GUI部の確認(複数のGUI部からのアクセスが想定されるので、どのGUI部からのアクセスであるのかを特定する)を行う(ステップS202)。また、端末管理部34は、ログイン要求に付加されたログイン情報に基づいて、ユーザ確認(ログイン名やパスワードの確認)を行う(ステップS203)。続いて、端末管理部34はログイン要求をサーバ間通信部36へ送信する(ステップS204)。
サーバ間通信部36はログイン要求を受信してシステム確認(接続するシステムの確認)を行い(ステップS205)、ログイン要求をシステム管理S部39へ送信する(ステップS206)。システム管理S部39は状態確認(システム全体がアクセス可能かどうか確認し、ログイン状態とする)を行い(ステップS207)、ログインOK(ログイン許可)の応答をサーバ間通信部36に通知する(ステップS208)。この応答をサーバ間通信部36が受けた後、順次、端末管理部34、GUI部31の順にログインOKが通知される(ステップS209〜S210)。
これによってログイン状態となり、ユーザが、GUI部31を介してユニットを操作することが可能となる。ログイン状態となった後、ユーザが操作端末27の操作手段を操作してユニットaの初期化指示を入力すると、ログインの際のログイン要求の送信と同様に、順次、端末管理部34、サーバ間通信部36、システム管理S部39の順にユニットa初期化要求が転送される(ステップS211〜S215)。
ユニットa初期化要求を受け取ったシステム管理S部39はログイン処理時と同様に状態確認を行い(ステップS216)、ユニットa初期化要求をシステム管理C部46へ送信する(ステップS217)。システム管理C部46はユニットa初期化要求を受信してその内容を確認し、ユニットa11の初期化が要求されたと判断して状態確認(接続ユニットとの通信接続が正常状態か否か確認する)を行う(ステップS218)。続いて、システム管理C部46はユニットa初期化要求をユニットa管理部52へ送信する(ステップS219)。
ユニットa管理部52はユニットa初期化要求を受信し、状態確認(自分自身が動作可能な状態か否か確認する)を行った上で(ステップS220)、ユニットaを初期化するコマンドを生成し、ユニットa11へ出力して初期化処理を実行する(ステップS221)。初期化処理の実行が終了した後、ユニットa管理部52は初期化完了の応答をシステム管理C部46へ送信する(ステップS222)。初期化完了の応答はシステム管理C部46から順次、システム管理S部39、サーバ間通信部36、端末管理部34を経由してGUI部31へ返信される(ステップS223〜S226)。
ユニットb13およびユニットc15の初期化についても、GUI部31からシステム管理C部46までの情報の送信および応答の流れは同一であり、それ以下の流れが異なるのみである。このようにして、実際に処理を行う各部に対して、GUI部31からの情報の送信と、その情報に基づいて行われた処理の終了後の応答とが対になって実行される。
上述したように、本実施形態による装置制御システムでは、リモート制御の開発が比較的容易に行えるWebサービスの技術を用いて、制御の基本をローカル制御でなくリモート制御としている。また、操作対象の全接続機器を集中制御可能なシステム構成とするため、従来では制御装置毎に組み込まれていた全体処理部が統一化され、制御装置を管理する制御管理装置側に組み込まれている。これによって、ローカル制御とリモート制御のプログラムを共通にすることができ、接続機器(制御機器)を遠隔操作するための機能の追加や変更等を行う場合には、制御管理装置側に対してのみ追加や変更等を行えばよいので、システム開発に掛かる作業工数およびコストを低減することができる。
次に、本発明の第2の実施形態を説明する。本実施形態においては、装置Aに接続されたユニットa11、ユニットb13、およびユニットc15の制御方法が第1の実施形態と異なる。まず、図4を参照し、第1の実施形態に対する変更部分を説明する。第1の実施形態のユニットa管理部52に着目すると、その機能は、システム管理C部46からの指示に基づいてユニットaの制御を行うことだが、その機能をさらに分けると、システム管理C部46からの指示に対応したコマンドを生成するユニットa管理S部55(コマンド生成手段)と、ユニットa11に接続するI/F10(例えばRS232−C)に対応した方式(汎用インタフェース規格に準拠した通信方法)でコマンドを送信する汎用I/F部61とに分けることができる。
ユニットb管理部53の機能も同様にユニットb管理S部56(コマンド生成手段)と汎用I/F部61とに分けることができる。ユニットa11に接続するI/F10と、ユニットb13に接続するI/F12が同一の規格であるとしているので、ユニットa管理部52およびユニットb管理部53の汎用I/F部は共通とすることができる。ユニットc管理部54の機能も同様にユニットc管理S部57(コマンド生成手段)と汎用I/F部62とに分けることができる。
第1の実施形態では、制御装置30と各ユニットを接続するケーブルや、各ユニットとの通信方法(通信プロトコル)がユニット毎に異なっていることを想定していた。この場合、各ユニットに対応した個別のユニット管理部を設ける必要がある。これに対して、本実施形態では、汎用的なハードウェアインタフェース(RS232−C等)と、OSが提供する共通処理(汎用ドライバが提供する送受信処理や初期化処理のAPI(Application Program Interface)関数を、処理内容を変えて呼び出すことによって、個々のユニットを独立して制御する処理)とを用いることによって、システム開発の規模を小さくすることができる。
図3は、上述した変更部分を含んだ、本実施形態による装置制御システムの構成を示している。装置管理サーバ29は、上述したユニットa管理S部55、ユニットb管理S部56、およびユニットc管理S部57を有している。ユニットa管理S部55はI/F58を介して、ユニットb管理S部56はI/F59を介して、ユニットc管理S部57はI/F60を介して、それぞれシステム管理S部39に接続している。
制御装置30には、図1のユニットa管理部52およびユニットb管理部53に代えて汎用I/F部61が設けられ、I/F63を介してシステム管理C部46に接続していると共に、I/F10を介してユニットa11に、I/F12を介してユニットbに接続している。また、ユニットc管理部54に代えて汎用I/F部62が設けられ、I/F64を介してシステム管理C部46に接続していると共に、I/F14を介してユニットc15に接続している。
システム管理C部46は汎用I/F部61および62の状態管理を行う。システム管理S部39は、第1の実施形態におけるシステム管理C部46が行っていたユニットa11、ユニットb13、およびユニットc15の管理も行う。
次に、図5を参照し、本実施形態による装置制御システムの動作を説明する。ただし、装置制御システムへのログイン処理およびユニットa11の初期化のみを説明する。その他の操作に対する各処理部の動作に関しては、処理内容が異なるだけで処理の流れは基本的に変わらないため、上記の説明だけを行う。また、ログイン処理は第1の実施形態と同様であるため、図示および説明を省略し、ユニットa11の初期化指示がGUI部31に入力された場合の処理を説明する。
GUI部31によって初期化要求が送信され、第1の実施形態と同様にして、システム管理S部39によって受信される。システム管理S部39は状態確認を行い(ステップS501)、初期化要求に基づいて、ユニットa11に対する初期化コマンドの生成をユニットa管理S部55に指示するために、初期化コマンド生成要求をユニットa管理S部55へ送信する(ステップS502)。
ユニットa管理S部55は初期化コマンド生成要求を受信し、初期化コマンド生成要求に基づいて、ユニットa11の初期化コマンドを生成し(ステップS503)、初期化コマンドの生成完了をシステム管理S部39に応答する(ステップS504)。このとき、生成された初期化コマンドはシステム管理S部39へ送信される。コマンド生成完了を通知されたシステム管理S部39は、生成された初期化コマンドを含むユニットa初期化要求をシステム管理C部46へ送信する(ステップS505)。
システム管理C部46はユニットa初期化要求を受信し、第1の実施形態と同様の状態確認を実施した(ステップS506)後、ユニットa初期化要求に付加された初期化コマンドを汎用I/F部61へ送信する(ステップS507)。汎用I/F部61は初期化コマンドを受信し、自身にエラーが発生していないことを確認する(ステップS508)。続いて、汎用I/F部61は、I/F10の汎用インタフェース規格に準拠した通信方法で初期化コマンドをユニットa11へ送信し、ユニットaの初期化を行う(ステップS509)。
ユニットaの初期化処理が終了した後、汎用I/F部61はシステム管理C部46に初期化完了を応答する(ステップS510)。システム管理C部46は同様にシステム管理S部39に初期化完了を応答する(ステップS511)。これ以降の処理は第1の実施形態と同様である。また、ユニットb13およびユニットc15の初期化も、同様の処理の流れで実施される。
上述したように、本実施形態による装置制御システムでは、接続機器の状態管理に必要な機能のうち、汎用インタフェース規格に関する機能を制御装置に残し、コマンドの生成等、制御機器に固有の機能を制御管理装置に設けている。これによって、制御装置には、汎用インタフェースに関するプログラムのみがインストールされていればよく、システムの機能変更等によるプログラムの変更は制御管理装置のみで行えばよくなる。したがって、システム開発に掛かる作業工数およびコストをより低減することができる。
次に、本発明の第3の実施形態を説明する。図6は、本実施形態による装置制御システムの構成を示している。本実施形態においては、端末管理部34が読み出すアプリケーションファイル67の内容に画面遷移情報が含まれてなく、表示処理の内容のみが含まれている。一方、システム管理S部39は、ユニットの操作指示やログイン指示等の指示情報がGUI部31に入力された際に操作端末27の表示手段に表示される画面の遷移先を示す画面遷移情報を管理するGUI連動状態遷移管理部68を備えている。
以下、本実施形態による装置制御システムの動作を説明する。ただし、装置制御システムへのログイン処理のみを説明する。その他の操作に対する各処理部の動作に関しては、処理内容が異なるだけで処理の流れは基本的に変わらないため、上記の説明だけを行う。まず、比較のため、図7を参照し、第1の実施形態による装置制御システムの動作を説明する。
ユーザが操作端末27の操作手段を操作してログイン指示を入力すると、GUI部31から、ログイン情報を含むログイン要求が送信される(ステップS701)。端末管理部34はログイン要求を受信し、GUI部の確認を行う(ステップS702)と共に、ログイン要求に付加されたログイン情報に基づいて、ユーザ確認を行う(ステップS703)。続いて、端末管理部34はログイン要求をサーバ間通信部36へ送信する(ステップS704)。サーバ間通信部36はシステム確認を行い(ステップS705)、ログイン要求をシステム管理S部39へ送信する(ステップS706)。
一方、ログイン要求を送信した端末管理部34は、アプリケーションファイル79を参照し、ログイン処理に対応した表示処理の内容および画面遷移情報を読み出す。第1の実施形態による装置制御システムにおいては、GUIの遷移とシステムの状態の遷移が別々になっているため、端末管理部34は、サーバ間通信部36にログイン要求を送信した直後に、ログインの許可(ログインOK)を想定した次画面表示用のデータ(HTMLソースコードや必要な画像データ等)を準備する(ステップS707)。
一方、ログイン要求を受信したシステム管理S部39は状態確認を行う(ステップS708)。状態確認の結果、ログインが不可(NG)と判断されたものとする。システム管理S部39はログインNGをサーバ間通信部36に通知する(ステップS709)。ログインNGは、サーバ間通信部36を経由して端末管理部34に通知される(ステップS710)。端末管理部34は、ログインNGが通知されたため、予め用意していたログインOK時の次画面表示用のデータを破棄した上で、再度アプリケーションファイル79を参照し、ログインNG時の次画面表示用のデータを準備する(ステップS711)。端末管理部34は、準備したデータを画面表示の指示と共にGUI部31へ送信する(ステップS712)。これらを受信したGUI部31によって、HTMLソースコードの解析等が行われ、操作端末27の表示手段によってログインNG時の画面が表示される。
従来と同様にGUI処理のシーケンスがユーザ入力に依存していると、システムの内部処理の遷移(内部システムの状態遷移)に矛盾が生じ、表示画面の準備の再処理が必要となる場合がある。これによって、例えば操作端末27において、一度画面表示がなされた後、再度別の画面表示がなされて、画面のちらつきが発生する場合がある。
次に、図8を参照し、本実施形態による装置制御システムの動作を説明する。ステップS801〜S806は図7のステップS701〜S706と同様であるので、説明を省略する。GUI部31から送信されたログイン要求を受信したシステム管理S部39は状態確認を行う(ステップS807)。ログイン要求を送信した端末管理部34は、内部システムの処理と連動して表示すべき画面情報の問合せを示す問合せ情報をサーバ間通信部36へ送信する(ステップS808)。問合せ情報は、サーバ間通信部36を経由してシステム管理S部39へ転送される(ステップS809)。
問合せ情報を受信したシステム管理S部39のGUI連動状態遷移管理部68は、現在のシステム状態と画面遷移情報とに基づいて、現在のシステム状態(状態確認中)で表示すべき画面の遷移先を特定し、そのID情報をサーバ間通信部36へ送信する(ステップS810)。ID情報は、サーバ間通信部36を経由して端末管理部34へ転送される(ステップS811)。ID情報を受信した端末管理部34は、そのID情報に対応したアプリケーションファイル67を読み出し、表示処理の内容に従って次画面表示用のデータを準備する(ステップS812)。端末管理部34は、準備したデータと共に画面表示の指示情報をGUI部31へ送信する(ステップS813)。これらを受信したGUI部31によって、HTMLソースコードの解析等が行われ、操作端末27の表示手段によって状態確認中の画面が表示される。
問合せ情報はGUI部31からシステム管理S部39へ定期的に送信される(ステップS814〜S815)。システム管理S部39が問合せ情報を受信したとき、状態確認が終了していたとする。システム管理S部39のGUI連動状態遷移管理部68は、現在のシステム状態と画面遷移情報とに基づいて、現在のシステム状態(状態確認終了)で表示すべき画面の遷移先を特定し、そのID情報をサーバ間通信部36へ送信する(ステップS816)。問合せ情報は、サーバ間通信部36を経由してシステム管理S部39へ転送される(ステップS817)。
ID情報を受信した端末管理部34は、そのID情報に対応したアプリケーションファイル67を読み出し、表示処理の内容に従って次画面表示用のデータを準備する(ステップS818)。端末管理部34は、準備したデータと共に画面表示の指示をGUI部31へ送信する(ステップS819)。これらを受信したGUI部31によって、HTMLソースコードの解析等が行われ、操作端末27の表示手段によって状態確認終了後の画面が表示される。
上述したように、本実施形態による装置制御システムでは、システム管理S部39がシステムの状態遷移と操作端末27の表示手段の表示画面(の切替)とを関連付けて管理し、GUI処理のシーケンスを内部システムの状態に依存させている。これによって、前述したような内部システムの状態遷移の矛盾を発生させないようにすることができる。また、システムの規模を小さくすると共に、仕様変更に強いシステムを構築することができる。
例えば、以下のような仕様変更を行うことを想定する。
画面Aのボタンが押されると、内部システムで処理αが実行された後、画面Bが表示される。<仕様変更前>
画面Aのボタンが押されると、内部システムで処理βが実行された後、画面Cが表示される。<仕様変更後>
この仕様変更の場合、第1の実施形態による装置制御システムでは、画面Aのボタンが押されると画面Cが表示されるように端末管理部34の画面遷移処理の仕様を変更すると共に、画面Aのボタンの押下によって発生する命令に対して内部システムで処理βが実行されるようにシステム管理S部39の仕様を変更する必要がある。これに対して、本実施形態による装置制御システムでは、画面遷移処理と内部システムでの実行処理との両方をシステム管理S部39が管理し、端末管理部34は、システム管理S部39の指示に従って画面表示に必要なデータを用意する。このため、仕様変更による変更作業は、システム管理S部39に対してのみ行えばよい。
次に、本発明の第4の実施形態を説明する。図9は、本実施形態による装置制御システムの構成を示している。本実施形態においては、同一のユニットの組合せを有する同種の2つの装置Aを個別に制御する制御装置30aおよび30bが設けられている。制御装置30aはシステム管理C部46a、ユニットa管理部52a、ユニットb管理部53a、およびユニットc管理部54aを備えている。システム管理C部46aは、I/F47aを介してシステム管理S部39と接続している。ユニットa管理部52aは、I/F49aを介してシステム管理C部46aと接続し、I/F10aを介してユニットa11aと接続している。ユニットb管理部53aは、I/F50aを介してシステム管理C部46aと接続し、I/F12aを介してユニットb13aと接続している。ユニットc管理部54aは、I/F51aを介してシステム管理C部46aと接続し、I/F14aを介してユニットc15aと接続している。
制御装置30bはシステム管理C部46b、ユニットa管理部52b、ユニットb管理部53b、およびユニットc管理部54bを備えている。システム管理C部46bは、I/F47bを介してシステム管理S部39に接続されている。ユニットa管理部52bは、I/F49bを介してシステム管理C部46bと接続し、I/F10bを介してユニットa11bと接続している。ユニットb管理部53bは、I/F50bを介してシステム管理C部46bと接続し、I/F12bを介してユニットb13bと接続している。ユニットc管理部54bは、I/F51bを介してシステム管理C部46bと接続し、I/F14bを介してユニットc15bと接続している。このように、制御装置30aおよび30bは、第1および第2の実施形態における制御装置30と同等の構成を備えた同種の装置である。
装置管理サーバ29のシステム管理S部39は接続装置ID選択部69(制御装置識別手段)を備えている。接続装置ID選択部69は、GUI部31にユニットの操作指示が入力された場合に、2つの装置A(制御装置30aと30b)のうち、どちらの装置のユニットの操作指示が入力されたのかを判定し、その操作指示をどちらの制御装置へ送信すべきであるのかを識別する。システム管理S部39には、I/F41aを介してユニットd1管理部43aが接続され、I/F41bを介してユニットd2管理部43bが接続され、I/F40aを介して通信処理部42aが接続され、I/F40bを介して通信処理部42bが接続されている。
ユニットd1管理部43a、ユニットd2管理部43bは、それぞれ制御装置30a、30bに対応して設けられている。同様に、通信処理部42a、42bは、それぞれ制御装置30a、30bに対応して設けられている。通信処理部42aはI/F44aを介して、通信処理部42bはI/F44bを介して通信サーバ処理部17に接続している。
次に、図10を参照し、本実施形態による装置制御システムの動作を説明する。ただし、装置制御システムへのログイン処理のみを説明する。その他の操作に対する各処理部の動作に関しては、処理内容が異なるだけで処理の流れは基本的に変わらないため、上記の説明だけを行う。
ユーザによって、操作端末27の操作手段を介してログイン指示が入力され、さらにこの際に、接続を希望する装置の選択指示が入力される(ステップS1001)。ここでは制御装置30bの接続された装置Aが選択されたとする。GUI部31は、接続可能な装置のID情報(制御装置30aと30bを識別可能な装置シリアル番号等の情報)を予め所持しており、その情報を操作端末27の表示手段に表示させ、ユーザに選択を促す処理を行う。GUI部31は、ユーザによって入力された選択結果に基づいて、制御装置30bのID情報およびログイン情報を含むログイン要求を端末管理部34へ送信する(ステップS1002)。
端末管理部34はログイン要求を受信し、GUI部の確認を行う(ステップS1003)と共に、ログイン要求に付加されたログイン情報に基づいて、ユーザ確認を行う(ステップS1004)。続いて、端末管理部34はログイン要求をサーバ間通信部36へ送信する(ステップS1005)。サーバ間通信部36はシステム確認を行い(ステップS1006)、ログイン要求をシステム管理S部39へ送信する(ステップS1007)。
システム管理S部39はログイン要求を受信し、ログイン要求に含まれるID情報を、予め所持している接続装置(制御装置30aおよび30b)のID情報と照合し、制御装置30bへの接続が指示されていると判断する。システム管理S部39は、システム管理C部46bに対して状態確認指示を送信し、状態確認を指示する(ステップS1008)。
システム管理C部46bは状態確認指示を受信し、接続ユニットとの通信接続が正常状態か否か等の内部システムの状態確認を行う(ステップS1009)。システム管理C部46bは、状態確認の結果に基づいてログインの可否を判断し、その判断結果(ログイン可否結果)を含む状態応答をシステム管理S部39に通知する(ステップS1010)。ここでは、ログインが許可されたものとする。
システム管理S部39は、システム管理C部46bによって通知されたログインの可否に基づいてログインOK(ログイン許可)とログインNG(ログイン不可)のいずれかの情報をサーバ間通信部36へ送信する。ここでは、ログインが許可されたので、システム管理S部39はログインOKをサーバ間通信部36に通知する(ステップS1011)。ログインOKの情報は、サーバ間通信部36から端末管理部34に通知される(ステップS1012)。
端末管理部34はログインOKの通知に従って、ログインOK時の次画面表示用のデータを準備する(ステップS1013)。端末管理部34は、準備したデータを画面表示の指示と共にGUI部31へ送信する(ステップS1014)。これらを受信したGUI部31によって、HTMLソースコードの解析等が行われ、操作端末27の表示手段によってログインOK時の画面が表示される。
上述したように、本実施形態による装置制御システムでは、同種の複数の制御装置が制御管理装置に接続されており、ユーザから接続機器の操作指示が入力された場合に、制御装置のID情報に基づいて、どの制御装置に接続された接続機器の操作が指示されたのかが判断される。そして、判断結果に基づいて、指示された接続機器を有する制御装置への接続が確立される。これによって、1つの操作端末から同一種類の複数の装置を区別してリモート制御することができる。
次に、本発明の第5の実施形態を説明する。図11は、本実施形態による装置制御システムの構成を示している。本実施形態においては、装置Aを制御する制御装置30aと、装置Bを制御する制御装置30cとが設けられており、装置Aと装置Bは、ユニットの組合せが異なる異種の装置であるとする。制御装置30cはシステム管理C部46c、ユニットf管理部23c、およびユニットg管理部24cを備えている。システム管理C部46cは、I/F47cを介してシステム管理S部39と接続している。ユニットf管理部23cは、I/F65を介してシステム管理C部46cと接続し、I/F25cを介してユニットf20cと接続している。ユニットg管理部24cは、I/F66を介してシステム管理C部46cと接続し、I/F26cを介してユニットg21cと接続している。このように、制御装置30aおよび30cは、異なる組合せのユニットを制御するための異なる構成を備えた異種の装置である。
装置管理サーバ29のシステム管理S部39は接続装置種類選択部70(制御装置識別手段)を備えている。接続装置種類選択部70は、GUI部31にユニットの操作指示が入力された場合に、装置Aと装置B(制御装置30aと30c)のうち、どちらの装置のユニットの操作指示が入力されたのかを判定し、その操作指示をどちらの制御装置へ送信すべきであるのかを識別する。システム管理S部39には、I/F41aを介してユニットd1管理部43aが接続され、I/F40aを介して通信処理部42aが接続され、I/F40cを介して通信処理部42cが接続されている。
ユニットd1管理部43aは、制御装置30aに対応して設けられている。通信処理部42a、42cは、それぞれ制御装置30a、30cに対応して設けられている。通信処理部42aはI/F44aを介して、通信処理部42cはI/F44cを介して通信サーバ処理部17に接続している。
次に、図12を参照し、本実施形態による装置制御システムの動作を説明する。ただし、装置制御システムへのログイン処理のみを説明する。その他の操作に対する各処理部の動作に関しては、処理内容が異なるだけで処理の流れは基本的に変わらないため、上記の説明だけを行う。
ユーザによって、操作端末27の操作手段を介してログイン指示が入力され、さらにこの際に、接続を希望する装置の選択指示が入力される(ステップS1201)。ここでは制御装置30cの接続された装置Bが選択されたとする。GUI部31は、接続可能な装置のID情報(制御装置30aと30cを識別可能なシステムID名等の情報)を予め所持しており、その情報を操作端末27の表示手段に表示させ、ユーザに選択を促す処理を行う。GUI部31は、ユーザによって入力された選択結果に基づいて、制御装置30cのID情報およびログイン情報を含むログイン要求を端末管理部34へ送信する。
以降、第4の実施形態と同様に、ログイン要求はシステム管理S部39へ転送される。システム管理S部39は、ログイン要求に含まれるID情報を、予め所持している接続装置(制御装置30aおよび30c)のID情報と照合し、制御装置30cへの接続が指示されていると判断する。システム管理S部39は、システム管理C部46cに対して状態確認指示を送信し、状態確認を指示する(ステップS1202)。
システム管理C部46cは状態確認指示を受信し、接続ユニットとの通信接続が正常状態か否か等の内部システムの状態確認を行う(ステップS1203)。システム管理C部46cは、状態確認の結果に基づいてログインの可否を判断し、その判断結果(ログイン可否結果)を含む状態応答をシステム管理S部39に通知する(ステップS1204)。ここでは、ログインが許可されたものとする。
システム管理S部39は、システム管理C部46によって通知されたログインの可否に基づいてログインOK(ログイン許可)とログインNG(ログイン不可)のいずれかの情報をサーバ間通信部36へ送信する。ここでは、ログインが許可されたので、システム管理S部39はログインOKをサーバ間通信部36に通知する。以降、第4の実施形態と同様にログインOKの情報は、サーバ間通信部36から端末管理部34に通知される。端末管理部34はログインOKの通知に従って、ログインOK時の次画面表示用のデータを準備し、画面表示の指示と共にGUI部31へ送信する。これらを受信したGUI部31によって、HTMLソースコードの解析等が行われ、操作端末27の表示手段によってログインOK時の画面が表示される。
上述したように、本実施形態による装置制御システムでは、異種の複数の制御装置が制御管理装置に接続されており、ユーザから接続機器の操作指示が入力された場合に、制御装置のID情報に基づいて、どの制御装置に接続された接続機器の操作が指示されたのかが判断される。そして、判断結果に基づいて、指示された接続機器を有する制御装置への接続が確立される。これによって、1つの操作端末から異なる種類の複数の装置を区別してリモート制御することができる。
次に、本発明の第6の実施形態を説明する。図13は、本実施形態による装置制御システムの構成を示している。本実施形態において、操作管理サーバ28には2台の操作端末27aおよび27bが接続されている。操作端末27aのGUI部31aはI/F32aを介して、操作端末27bのGUI部31bはI/F32bを介して操作管理サーバ28の端末管理部34に接続している。制御装置30が備えるユニットの操作指示を各GUI部に入力することが可能であるが、両方のGUI部にユニットの操作指示が入力されると、そのユニットあるいは制御装置30は競合状態となってしまう。このため、本実施形態では排他制御が行われる。
システム管理S部39は、この排他制御のための接続装置状態管理部71(第1の動作可否判断手段)を備えている。接続装置状態管理部71は、操作端末27aおよび27bからユニットの操作指示が送信された場合に、操作指示の競合状態に基づいて、ユニット操作の実行の可否、すなわちユニットの動作可否を判断する。
以下、図14を参照し、本実施形態による装置制御システムの動作を説明する。ただし、ユニットa11の動作指示の入力のみを説明する。その他の操作に対する各処理部の動作に関しては、処理内容が異なるだけで処理の流れは基本的に変わらないため、上記の説明だけを行う。また、ログイン処理は第1の実施形態と同様であるため、図示および説明を省略し、ユニットa11の操作指示がGUI部31に入力された場合の処理を説明する。
GUI部31a(第1のGUI部)からユニットa11の操作指示が入力されると、GUI部31aは操作指示を端末管理部34へ送信する(ステップS1401)。この操作指示は、端末管理部34およびサーバ間通信部36を経由して、システム管理S部39に転送される(ステップS1402〜S1403)。システム管理S部39の接続装置状態管理部71は、ユニットa11の動作が可能であるか否かの状態確認を行う。この時点でGUI部31aにのみユニットa11の操作指示が入力されているものとすると、操作指示は競合しないため、接続装置状態管理部71はユニットa11の操作が可能(あるいはGUI部31aからの操作指示の入力が有効)であると判断する(ステップS1404)。続いて、前述した動作と同様にして、システム管理S部39は、システム管理C部46以下のサブシステムを経由してユニットa11を動作させる。これによって、GUI部31aからのユニットa11のリモート操作が可能になる。
ユニットa11が動作している間にGUI部31b(第2のGUI部)にユニットa11の操作指示が入力された場合、その操作指示は、端末管理部34およびサーバ間通信部36を経由して、システム管理S部39へ転送される(ステップS1405〜S1407)。システム管理S部39の接続装置状態管理部71は、ユニットa11の動作が可能であるか否かの状態確認を行う。システム管理C部46以下のサブシステム側からは動作完了応答が通知されていないため、接続装置状態管理部71は、ユニットa11が動作中であり、GUI部31bからのユニットa11の操作指示の入力が無効であると判断する(ステップS1408)。
接続装置状態管理部71は、上記の判断結果に基づいて、ユニットa11の操作の不可(NG)をサーバ間通信部36に通知する(ステップS1409)。この通知は、サーバ間通信部36および端末管理部34を経由してGUI部31bに通知される(ステップS1410〜S1411)。GUI部31bは、この通知に基づいて、例えばユニットa11の操作ができないことをユーザに通知するための表示を図示せぬ表示手段に行わせる。
以降、ユニットa11の動作が完了した場合、ユニットa管理部52から動作完了の応答がシステム管理S部39に通知される。システム管理S部39の接続装置状態管理部71は、この動作完了の応答を検知し、ユニットa11の操作が可能(OK)となったことをサーバ間通信部36に通知する(ステップS1412)。この通知はサーバ間通信部36および端末管理部34を経由してGUI部31bに通知される(ステップS1413〜S1414)。GUI部31bは、この通知に基づいて、例えばユニットa11の操作が可能となったことをユーザに通知するための表示を図示せぬ表示手段に行わせる。これによって、GUI部31bからのユニットa11のリモート操作が可能になる。
なお、本実施形態においては、2つの操作端末27aおよび27bから、1つのユニットa11を動作させる要求が入力され、ユニットa11の操作指示が競合する場合を例として、後に操作指示が入力された操作端末に対しては、ユニットa11の操作指示が不可となることを説明した。これに対して、一方の操作端末からあるユニットの操作指示(モータの動作指示等)が入力されて、そのユニットの動作中に別の操作端末から、動作中のユニットとは別のユニットの操作指示(現在位置の読み出し指示等)が入力された場合に、接続装置状態管理部71が別ユニットの操作を許可するようにしてもよい。
また、本実施形態においては、操作端末が2つの場合を説明したが、操作端末の数はこれに限定されず、各操作端末からのユニットの操作指示の入力が識別可能であれば、操作端末はいくつでもよい。
上述したように、本実施形態による装置制御システムでは、複数の操作指示入力手段から入力される接続機器の操作指示の競合状態が監視され、複数の操作指示入力手段から同一の接続機器の操作指示が入力された場合には、一の操作指示入力手段からの操作指示が有効となり、その操作指示入力手段を介した操作が終了するまで、他の操作指示入力手段からの操作指示の入力は無効となる。これによって、同一の接続機器に対する複数の操作指示が競合する場合でも、その排他制御を行い、動作に矛盾なく接続機器を動作させることができる。
次に、本発明の第7の実施形態を説明する。図15は、本実施形態による装置制御システムの構成を示している。本実施形態において、制御装置30にはユニットx105が接続されている。ユニットx105は、例えば被写体を撮像して画像を取得するものであり、通信速度等の制約のためローカル制御のみ可能であることが予め設定されている。すなわち、ユーザが制御装置30からユニットx105を操作することはできるが、操作端末27からユニットx105を操作することはできないような設定がシステムの仕様上なされている。ユニットx管理部104は、ユニットx105を制御するための、例えばドライバソフトの起動によって起動する処理手段である。ユニットx管理部104は、I/F81を介してシステム管理C部46と接続し、I/F82を介してユニットx105と接続している。
操作端末27は起動装置確認部102(入力識別手段)を備えている。この起動装置確認部102は、GUI機能によりユニットx105の操作指示が入力された際に起動するものである。操作端末27のGUI部31にユニットx105の操作指示が入力された場合には、図15に示されるように、操作端末27において起動装置確認部102が起動し、制御装置30のGUI部からユニットx105の操作指示が入力された場合には、図16に示されるように、制御装置30において起動装置確認部102が起動する。
この起動装置確認部102は、操作端末27のGUI部31、および図16に示される制御装置30のGUI部101のいずれかにユニットx105の操作指示が入力された場合に、GUI部31とGUI部101のどちらに入力されたのかを識別する機能を有している。すなわち、起動装置確認部102は、ユニットx105に関して、リモート制御とローカル制御のどちらが指示されたのかを判別する機能を有している。起動装置確認部102は、ユニットx105の操作指示が入力された装置と、ユニットx105の操作が可能に設定されている装置とが同一であった場合、すなわち制御装置30のGUI部101からユニットx105の操作指示が入力され、ローカル制御が指示された場合にのみ、ユニットx105へのアクセスを可能とする。
図15においては、起動装置確認部102は、I/F83を介してGUI部31と接続している。また、図16においては、起動装置確認部102は、I/F84を介してシステム管理C部46と接続し、I/F85を介してGUI部101と接続している。GUI部101は、I/F86を介してユニットx管理部104と接続している。
次に、本実施形態による装置制御システムの動作を説明する。ここでは、ユーザが制御装置30からユニットx105の操作を行おうとした場合の動作を、図17を参照して説明する。本実施形態においては、ユニットx105の操作によって、制御装置30の図示せぬ表示手段にライブ画像が表示されるものとする。ユーザの指示によって、GUI部101が起動し、ユニットx105の操作指示が入力される(ステップS1701)と、GUI部101は、起動装置確認部102を起動させ、起動装置の確認を指示する(ステップS1702)。指示を受けた起動装置確認部102は、起動装置を一意に特定する情報(ネットワークIPアドレスやMACアドレス等)に基づいて、GUIが起動された起動装置が制御装置30であるか否かを判断する(ステップS1703)。なお、起動装置確認部102は、起動装置の識別情報と各ユニットの制御可否の情報とが関連付けられた情報を予め所持し、その情報に基づいて上記の判断を行う。
この場合、起動装置確認部102は、起動装置が制御装置30と一致すると判断し、システム管理C部46に対して、ユニットx管理部104の起動(ユニットx105の起動)を指示する(ステップS1704)。システム管理C部46は、この指示に基づいてユニットx管理部104を起動する(ステップS1705)。起動したユニットx管理部104は、ライブ画像を表示するための準備処理を行い(ステップS1706)、GUI部101に準備完了の応答を行う(ステップS1707)。なお、起動後にユニットx管理部104は、I/F86を介してGUI部101と直接通信を行うことが可能となる。
GUI部101は、ユニットx管理部104からの応答に基づいて、準備が完了したことをユーザに通知するための表示を図示せぬ表示手段に行わせる。続いて、ユーザによってGUI部101にライブ画像の表示の開始指示が入力される(ステップS1708)と、GUI部101はユニットx管理部104にライブ表示開始指示を送信する(ステップS1709)。ユニットx管理部104はライブ表示開始指示を受信し、ユニットx105に対して画像入力のコマンドを送信する。コマンドを受信したユニットx105は画像入力を開始し、ユニットx管理部104に画像が入力される(ステップS1710)。
ユニットx管理部104は、入力された画像をGUI部101へ送信する。GUI部101は画像を受信して、図示せぬ表示手段に画像を表示させる(ステップS1711)。ユニットx105から連続的に入力された画像は動画像として表示される。続いて、ユーザによってGUI部101にライブ画像の表示の停止指示が入力される(ステップS1712)と、GUI部101はライブ表示停止指示をユニットx管理部104へ送信する(ステップS1713)。ユニットx管理部104はライブ表示停止指示を受信し、ユニットx105に対して画像入力の停止を指示するコマンドを送信する。コマンドを受信したユニットx105は画像入力を停止する(ステップS1714)。
ユニットx管理部104はユニットx105の状態を管理し、ユニットx105からの画像入力が停止したら、画像入力の停止が完了したことを通知するための入力停止完了をGUI部101へ送信する(ステップS1715)。続いて、ユーザによってGUI部101からライブ画像の表示を終了する指示が入力される(ステップS1716)と、GUI部101はライブ表示終了指示をユニットx管理部104へ送信する(ステップS1717)。ユニットx管理部104はライブ表示終了指示を受信し、ライブ画像の表示の終了処理を行う(ステップS1718)。なお、ライブ画像の表示の停止指示が入力された後、ライブ画像の表示の再開指示が入力された場合には、画像入力の開始時と同様にして、ライブ画像の表示が再開される。
ユーザが操作端末27からユニットx105の操作を行おうとした場合には、例えば以下のようになる。ユーザの指示によって、GUI部31が起動し、ユニットx105の操作指示が入力されると、GUI部31は、起動装置確認部102を起動させ、起動装置の確認を指示する。指示を受けた起動装置確認部102は、起動装置を一意に特定する情報に基づいて、GUIが起動された起動装置が制御装置30であるか否かを判断する。この場合、起動装置確認部102は、起動装置が制御装置30と一致しないと判断し、GUI部31へ判断結果を送信する。GUI部31は判断結果を受信し、その判断結果に基づいて、ユニットx105を操作できない旨の表示を図示せぬ表示手段に表示させる等の処理を行う。
上述したように、本実施形態による装置制御システムでは、接続機器が接続された制御装置でのみ、その制御機器をローカル制御可能な場合に、その制御装置から接続機器の操作指示が入力されたときにのみ、接続機器の制御が可能となる。装置制御システムが上記の起動装置確認部102を備えることによって、上記のような制御が可能となるので、システムの小改造を行うだけで、ローカル制御のみ可能な接続機器の制御を行うことができる。なお、起動装置確認部102がシステム管理S部39に接続される形態としてもよい。
次に、本実施形態の変形例を説明する。図18は、本変形例による装置制御システムの構成を示している。図18は図15と同様に、操作端末27のGUI部31にユニットx105の操作指示が入力され、起動装置確認部102が起動した場合の構成を示している。GUI部31にはI/F87を介して動作可否確認部106(第2の動作可否判断手段)が接続されている。動作可否確認部106は、GUI部31にユニットx105の操作指示が入力された場合に、システム管理C部46へ通信時間測定用のテストデータを送信し、テストデータを送信してから、テストデータの受信確認をシステム管理C部46から受信するまでの時間に基づいて、ユニットx105の動作可否を判断する。
この動作可否確認部106も起動装置確認部102と同様に、GUI部31にユニットx105の操作指示が入力された場合に起動する。ユニットx105は、装置制御システム上の通信速度の制約によって、ローカル制御のみが可能な設定となっているが、必要な通信速度(ユニットx105からGUI部31へリアルタイムに画像を送信するのに十分な通信速度)が得られる場合には、ユニットx105のリモート制御が可能となる。
以下、図19を参照し、本変形例による装置制御システムの動作を説明する。ユーザの指示によって、GUI部101が起動し、ユニットx105の操作指示が入力される(ステップS1901)と、GUI部101は、起動装置確認部102を起動させ、起動装置の確認を指示する(ステップS1902)。指示を受けた起動装置確認部102は、起動装置を一意に特定する情報に基づいて、GUIが起動された起動装置が制御装置30であるか否かを判断する(ステップS1903)。
この場合、起動装置確認部102は、起動装置が制御装置30と一致しないと判断し、判断結果をGUI部31へ送信する(ステップS1904)。GUI部31は判断結果を受信し、その判断結果に基づいて、リモート応答速度の計測を動作可否確認部106に依頼する(ステップS1905)。依頼を受けた動作可否確認部106は、所定のデータ量を有するテストデータを生成し、システム管理C部46へ送信する。テストデータは、GUI部31、端末管理部34、サーバ間通信部36、およびシステム管理S部39を経由してシステム管理C部46へ転送される(ステップS1906)。
システム管理C部46は、テストデータを受信すると、テストデータを受信したことを通知するための応答(受信確認)を即座に動作可否確認部106へ送信する。この応答はテストデータと逆の経路で動作可否確認部106へ転送される(ステップS1907)。動作可否確認部106は、テストデータの送信と同時に内部のタイマーを起動して計時を開始しており、テストデータを送信してから、システム管理C部46からの応答を受信するまでの時間を計測する。動作可否確認部106は、計測した時間を所定のしきい値と比較し、応答時間の長さに依存して動作の可否が決まるユニットx105に対する制御の可否を判断する。
計測した時間が所定のしきい値以下であった場合には、動作可否確認部106は、ユニットx105のリモート制御が可能であると判断する。一方、計測した時間が所定のしきい値を超えた場合には、動作可否判断部106は、ユニットx105のリモート制御が不可能であると判断する。本変形例においては、ユニットx105のリモート制御が可能であると判断されたとする(ステップS1908)。
動作可否確認部106は、ユニットx管理部104の起動をシステム管理C部46に指示する(ステップS1909)。指示を受けたシステム管理C部46はユニットx管理部104を起動する(ステップS1910)。また、動作可否確認部106は判断結果をGUI部31に通知する(ステップS1911)。GUI部31は、通知された判断結果に基づいて、ユニットx105のリモート制御の可否を図示せぬ表示手段に表示させる。
上述したように、本変形例による装置制御システムでは、リモート応答速度に制御の可否が依存するような接続機器に対して、そのリモート制御の許可/禁止が自動的に認識される。これによって、リモート操作時の通信速度が原因で、現在ローカル制御のみが可能な接続機器に対して、将来通信速度が向上した場合に、システムを変更することなく、その接続機器のリモート制御を行うことができる。なお、動作可否確認部106がシステム管理S部39に接続される形態としてもよい。
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成はこれらの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。例えば、コマンドデータや状態管理データ等を外部ファイルに出力しておき、必要なときにそれらのデータを入力するようにしてもよい。その場合、装置管理サーバ29に接続したデータ共有システムに全ての出力ファイルを一括管理させ、必要に応じて入出力処理によって装置管理サーバ29が読み出す構成としてもよい。それにより、出力ファイルの更新を容易にすることができる。
また、接続機器を備える制御装置が制御する対象は、画像を取得するシステムであってもよいし、半導体検査装置であってもよい。さらに、上述した各実施形態において、各処理部が主にプログラムの起動によって起動する処理手段であるとして説明を行ったが、各処理部をICチップ等のハードウェアによって構成してもよい。
30・・・制御装置、31・・・GUI部、11・・・ユニットa、13・・・ユニットb、15・・・ユニットc、27・・・操作端末、28・・・操作管理サーバ、29・・・装置管理サーバ、34・・・端末管理部、36・・・サーバ間通信部、39・・・システム管理S部、46・・・システム管理C部、52・・・ユニットa管理部、53・・・ユニットb管理部、54・・・ユニットc管理部、55・・・ユニットa管理S部、56・・・ユニットb管理S部、57・・・ユニットc管理S部、61,62・・・汎用I/F部、68・・・GUI連動状態遷移管理部、71・・・接続装置状態管理部、102・・・起動装置確認部、104・・・ユニットx管理部、105・・・ユニットx、106・・・動作可否確認部