(57)【要約】      （修正有）【課題】プラント用の制御プログラムの編集の際に異常終了が生じた場合の復旧処理を可能とした。【解決手段】制御プログラム管理装置は、プラントの制御をするコントローラで実行可能な制御プログラムを記憶する記憶部と、情報処理装置に対して制御プログラムを送信する送信部と、送信した制御プログラムを他の情報処理装置が編集できないように権限を更新する更新部と、情報処理装置から送信された情報に基づいて情報処理装置と送信された制御プログラムとを識別する固有情報を保持する保持部と、を備える。送信部は、情報処理装置に対して、制御プログラムを編集しているか否かの問い合わせを送信し、問合せ結果で、保持部は、制御プログラムを編集していないと判定された場合に固有情報を削除し、更新部は、情報処理装置が制御プログラムを編集していないと判定された場合に、制御プログラムを他の情報処理装置で編集できるように権限を解除する。【選択図】図２
2015049683.tif 000002
【特許請求の範囲】
【請求項１】
プラントの制御をするコントローラで実行可能な制御プログラムを記憶する記憶部と、
前記制御プログラムを編集可能な情報処理装置に対して、前記制御プログラムを送信する送信部と、
前記制御プログラムを前記情報処理装置に送信した際に、送信した前記制御プログラムを他の情報処理装置が編集できないように権限を更新する更新部と、
前記制御プログラムを前記情報処理装置に送信した際、前記情報処理装置から送信された情報に基づいて、前記情報処理装置と、送信された前記制御プログラムと、を識別する固有情報を保持する保持部と、を備え、
前記送信部は、さらに、前記固有情報で識別される前記情報処理装置に対して、当該固有情報で識別される前記制御プログラムを編集しているか否かの問い合わせを送信し、
前記保持部は、さらに、前記送信部による問合せ結果で、前記情報処理装置が前記制御プログラムを編集していないと判定された場合に、前記固有情報を削除し、
前記更新部は、さらに、前記送信部による問合せ結果で、前記情報処理装置が前記制御プログラムを編集していないと判定された場合に、当該情報処理装置に送信した前記制御プログラムを他の情報処理装置で編集できるように前記権限を解除する、
制御プログラム管理装置。
【請求項２】
前記情報処理装置が前記記憶部にアクセスする際に、前記記憶部がアクセス中であることを表す一時ファイルを生成するファイル制御部を、さらに備え、
前記送信部は、さらに、前記記憶部のメンテナンスを行う際に、ネットワークに接続されている情報処理装置に対して前記記憶部へのアクセスを終了する旨を送信し、
前記ファイル制御部は、さらに、前記送信部によるアクセスを終了する旨の送信先の前記情報処理装置から、前記記憶部へのアクセスが終了した旨の応答を受信した場合に、前記記憶部にアクセスしているプロセスと、前記一時ファイルと、を削除する、
請求項１に記載の制御プログラム管理装置。
【請求項３】
前記情報処理装置毎に、前記送信部が問合せを送信する時間間隔を設定する設定部を、
さらに備える請求項１又は２に記載の制御プログラム管理装置。
【請求項４】
前記保持部は、前記固有情報として、前記情報処理装置が前記記憶部にログインする際のログインユーザ名、前記情報処理装置の名称、前記プラントのステーション名、前記プラントの前記コントローラのスロット番号、及び前記制御プログラムの名称のうちいずれか一つ以上を保持する、
請求項１乃至３のいずれか一つ以上に記載の制御プログラム管理装置。
【請求項５】
前記記憶部は、制御プログラムのソースファイルを、当該ソースファイルの前記権限と対応付けて保持するデータベースとする、
請求項１乃至４のいずれか１つに記載の制御プログラム管理装置。
【請求項６】
プラントの制御をするコントローラで実行可能な制御プログラムを管理する制御プログラム管理装置から、当該制御プログラムを受信する受信部と、
自装置及び当該自装置で編集する制御プログラムを識別する固有情報を、前記制御プログラム管理装置に送信すると共に、受信した前記制御プログラムが編集されている間、前記固有情報を、前記制御プログラム管理装置が有しているか否かの問い合わせを送信する送信部と、
前記送信部が送信した問合せの結果、前記固有情報を前記制御プログラム管理装置が有していないと判定した場合に、前記制御プログラムの編集処理を終了させる制御部と、
を備える情報処理装置。
【請求項７】
前記送信部が送信した問合せの結果、前記固有情報を前記制御プログラム管理装置が有していないと判定した場合に、前記制御プログラム管理装置との間の通信が切断された旨を表示する表示制御部を、
さらに備える請求項６に記載の情報処理装置。
【請求項８】
制御プログラム管理装置で実行される制御プログラム処理方法であって、
前記制御プログラム管理装置は、プラントの制御をするコントローラで実行可能な制御プログラムを記憶する記憶部を備え、
前記制御プログラムを編集可能な情報処理装置に対して、前記制御プログラムを送信し、
前記制御プログラムを前記情報処理装置に送信した際に、送信した前記制御プログラムを他の情報処理装置が編集できないように権限を更新し、
前記制御プログラムを前記情報処理装置に送信した際、前記情報処理装置から送信された情報に基づいて、前記情報処理装置と、送信された前記制御プログラムと、を識別する固有情報を保持部に保持し、
前記固有情報で識別される前記情報処理装置に対して、当該固有情報で識別される前記制御プログラムを編集しているか否かの問い合わせを送信し、
前記問合せ結果で、前記情報処理装置が前記制御プログラムを編集していないと判定された場合に、前記固有情報を削除し、
前記問合せ結果で、前記情報処理装置が前記制御プログラムを編集していないと判定された場合に、当該情報処理装置に送信した前記制御プログラムを他の情報処理装置で編集できるように前記権限を解除する、
制御プログラム処理方法。
【請求項９】
前記情報処理装置が前記記憶部にアクセスする際に、前記記憶部がアクセス中であることを表す一時ファイルを生成し、
前記記憶部のメンテナンスを行う際に、ネットワークに接続されている情報処理装置に対して前記記憶部へのアクセスを終了する旨を送信し、
前記送信部によるアクセスを終了する旨の送信先の前記情報処理装置から、前記記憶部へのアクセスが終了した旨の応答を受信した場合に、前記記憶部にアクセスしているプロセスと、前記一時ファイルと、を削除する、
請求項８に記載の制御プログラム処理方法。
【請求項１０】
前記情報処理装置毎に、前記送信部が問合せを送信する時間間隔を設定する、
請求項８又は９に記載の制御プログラム処理方法。
【請求項１１】
前記固有情報として、前記情報処理装置が前記記憶部にログインする際のログインユーザ名、前記情報処理装置の名称、前記プラントのステーション名、前記プラントの前記コントローラのスロット番号、及び前記制御プログラムの名称のうちいずれか一つ以上を保持する、
請求項８乃至１０のいずれか一つ以上に記載の制御プログラム処理方法。
【請求項１２】
情報処理装置で実行される制御プログラム処理方法であって、
プラントの制御をするコントローラで実行可能な制御プログラムを管理する制御プログラム管理装置から、当該制御プログラムを受信し、
前記情報処理装置及び前記情報処理装置で編集する制御プログラムを識別する固有情報を、前記制御プログラム管理装置に送信すると共に、受信した前記制御プログラムが編集されている間、前記固有情報を、前記制御プログラム管理装置が有しているか否かの問い合わせを送信し、
前記問合せの結果、前記固有情報を前記制御プログラム管理装置が有していないと判定した場合に、前記制御プログラムの編集処理を終了させる、
制御プログラム処理方法。
【請求項１３】
前記問合せの結果、前記固有情報を前記制御プログラム管理装置が有していないと判定した場合に、前記制御プログラム管理装置との間の通信が切断された旨を表示する、
請求項１２に記載の制御プログラム処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、制御プログラム管理装置、情報処理装置、及び制御プログラム処理方法に関する。
【背景技術】
【０００２】
従来、一般にプラントを制御するプラント制御装置は、アプリケーションプログラム(以降、「制御プログラム」と呼ぶ)を実行し、アプリケーションプログラムで定められた手順に従って制御を行うことで、プラントの自動運転が実現される。システムプログラマが、制御プログラムを作成、試験、調整後、プラント運転者へ提供する。
【０００３】
そして、システムプログラマは、プラントを安全に制御するために、調整時に、制御プログラムのデバッグを行う。制御プログラムは、ＩＥＣ（国際電気標準会議）６１１３１−３で規定されているＬＤ(ラダー・ダイアグラム)言語、ＦＢＤ(ファンクション・ブロック・ダイアグラム)言語、ＳＦＣ（シーケンシャル・ファンクション・チャート）言語、及びＳＴ（ストラクチャード・テキスト）言語を用いて記述する。
【０００４】
通常、複数のシステムプログラマで、ひとつのプラントの作業を行う。このため、サーバ／クライアント環境を整え、複数のシステムプログラマが同時に作業を行ったり、データのバックアップ作業を行ったりする。このようなサーバ／クライアント環境においては、サーバ上でデータベースを用いて、制御プログラムを一括管理した上で、複数人が同じ制御プログラムを同時に変更しないように排他制御を行う必要がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−３９６１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術においては、任意のクライアントが異常終了した場合に、制御プログラムやデータベースに対する排他制御等が保持されることになり、他のシステムプログラマ等の作業に影響を与えるという問題が生じる。
【課題を解決するための手段】
【０００７】
実施形態の制御プログラム管理装置は、記憶部と、送信部と、更新部と、保持部と、を備える。記憶部は、プラントの制御をするコントローラで実行可能な制御プログラムを記憶する。送信部は、情報処理装置に対して、制御プログラムを送信する。更新部は、制御プログラムを情報処理装置に送信した際に、送信した制御プログラムを他の情報処理装置が編集できないように権限を更新する。保持部は、制御プログラムを送信した際、情報処理装置から送信された情報に基づいて、情報処理装置と、送信された制御プログラムと、を識別する固有情報を保持する。送信部は、さらに、固有情報で識別される情報処理装置に対して、当該固有情報で識別される制御プログラムを編集しているか否かの問い合わせを送信する。保持部は、さらに、送信部による問合せ結果で、情報処理装置が制御プログラムを編集していないと判定された場合に固有情報を削除する。更新部は、さらに、送信部による問合せ結果で、情報処理装置が制御プログラムを編集していないと判定された場合に、当該情報処理装置に送信した制御プログラムを他の情報処理装置で編集できるように権限を解除する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態のプラント制御するための制御プログラムを作成するためサーバ／クライアントの構成例を示した図である。
【図２】図２は、実施形態のサーバＰＣで実現されるブロック構成例を示した図である。
【図３】図３は、実施形態の編集画面表示制御部が表示する編集画面例を示した図である。
【図４】図４は、実施形態のクライアントＰＣで実現されるブロック構成例を示した図である。
【図５】図５は、実施形態のコントローラブロック構成例を示した図である。
【図６】図６は、クライアントＰＣで異常が生じた場合に、実施形態のクライアントＰＣ及びサーバＰＣにおける処理の手順例を示すフローチャートである。
【図７】図７は、実施形態のクライアントＰＣ及びサーバＰＣにおける、データベースにアクセスしていることを示す一時ファイルの削除処理の手順例を示すフローチャートである。
【図８】図８は、実施形態のクライアントＰＣにおける異常診断の処理の手順例を示すフローチャートである。
【図９】図９は、実施形態の編集画面表示制御部により表示される異常が生じた旨が示されたダイアログボックスの例を示した図である。
【発明を実施するための形態】
【０００９】
図１は、本実施形態のプラント制御するための制御プログラムを作成するためサーバ／クライアントの構成例を示した図である。図１に示される例では、本実施形態は、大きく３つの構成で成り立っている。具体的には、コントローラ１５０と、クライアントＰＣ１０１＿１〜１０１＿ｎと、サーバＰＣ１００と、で構成されている。そして、コントローラ１５０とクライアントＰＣ１０１＿１〜１０１＿ｎと、サーバＰＣ１００と、は、通信ネットワーク（例えばEthernet（登録商標））で接続されているものとする。
【００１０】
コントローラ１５０は、複数のステーションで構成され、プラント制御装置として機能する。コントローラ１５０を構成する複数のステーションの各々は、サーバＰＣ１００からダウンロードした制御プログラムに従って、（図示しない）プラントを制御する。その際、コントローラ１５０は、高度なループ制御や高速ループ演算処理を用い、プラントに対するプロセス制御を実現する。
【００１１】
本実施形態の制御プログラムは、例えば、ＩＥＣ（国際電気標準会議）  ６１１３１−３の標準規格で、ＰＬＣ用のプログラム言語として規定されているＬＤ(ラダー・ダイアグラム)言語、ＦＢＤ(ファンクション・ブロック・ダイアグラム)言語、ＳＦＣ（シーケンシャル・ファンクション・チャート）言語、及びＳＴ（ストラクチャード・テキスト）言語等が考えられるが、プラントを制御可能なプログラムであればよい。
【００１２】
サーバＰＣ１００は、制御プログラムを記憶するデータベースを備え、制御プログラムを管理する制御プログラム管理装置として機能する。
【００１３】
クライアントＰＣ１０１＿１〜１０１＿ｎは、サーバＰＣ１００が記憶している制御プログラムを読み出して、当該制御プログラムの編集処理を行う。本実施形態は、接続されるクライアントＰＣの数を制限するものではなく、１台以上であれば良い。
【００１４】
サーバＰＣ１００は、プログラム群を実行することで、様々なソフトウェア構成を実現する。図２は、本実施形態のサーバＰＣ１００で実現されるブロック構成例を示した図である。図２に示されるように、サーバＰＣ１００は、表示装置２０１、キーボード２０２、及びポインティングデバイス２０３と接続されている。
【００１５】
さらに、サーバＰＣ１００は、データベース管理部２１０と、クライアント診断部２２０と、制御プログラム管理部２３０と、クライアント通信部２４０と、を備える。
【００１６】
クライアント通信部２４０は、クライアントＰＣ１０１＿１〜１０１＿ｎ等との間でデータの送受信を行う。
【００１７】
データベース管理部２１０は、権限更新部２１１と、ソースファイル部２１２と、オブジェクトファイル部２１３と、データバックアップ部２１４と、データベース最適化／最小化部２１５と、制御部２１６と、を備える。本実施形態のデータベース管理部２１０は、データベースを用いて、制御プログラムのソースファイル（ソースファイル部２１２）と、当該ソースファイルをコンパイルしたオブジェクトファイル（オブジェクトファイル部２１３）とを管理する。
【００１８】
ソースファイル部２１２は、コントローラ１５０で実行可能な制御プログラムのソースファイルを保持する。本実施形態のソースファイル部２１２は、制御プログラムのソースファイル毎に、編集権が対応付けて記憶されている。編集権は、サーバＰＣ１００、及びクライアントＰＣ１０１＿１〜１０１＿ｎのうちいずれか１つが当該ソースファイルを編集しているか否かを表すフラグとする。そして、編集権が、ソースファイルを編集していない旨を示している場合に、当該ソースファイルを編集可能となり、ソースファイルを編集している旨を示している場合に、当該ソースファイルを編集禁止となる。
【００１９】
オブジェクトファイル部２１３は、ソースファイル部２１２で保持されているソースファイルをコンパイルした後の、コントローラ１５０が直接実行可能な制御プログラムのオブジェクトファイルを保持する。
【００２０】
制御部２１６は、データベース管理部２１０の全体の制御を行う。例えば、制御部２１６の制御に従って、クライアント通信部２４０が、ソースファイルを編集可能なクライアントＰＣ１０１＿１〜１０１＿ｎに対して、制御プログラムのソースファイルを送受信する。さらに、クライアント通信部２４０が、クライアントＰＣ１０１＿１〜１０１＿ｎから編集された後のソースファイルを受信した場合に、制御部２１６は、当該ソースファイルを用いて、ソースファイル部２１２の更新を行う。さらに、クライアントＰＣ１０１＿１〜１０１＿ｎから当該ソースファイルをコンパイルした後のオブジェクトファイルを受信した場合に、制御部２１６は、当該オブジェクトファイルを用いて、オブジェクトファイル部２１３の更新を行う。
【００２１】
また、制御部２１６は、オブジェクトファイル部２１３に保持されたオブジェクトファイルをコントローラ１５０に受け渡す制御を行う。
【００２２】
権限更新部２１１は、クライアント通信部２４０が制御プログラムのソースファイルをクライアントＰＣ１０１＿１〜１０１＿ｎのうちいずれか１つに送信した際、又はサーバＰＣ１００で当該ソースファイルを編集する際に、制御プログラムのソースファイルを他のクライアントＰＣ１０１＿１〜１０１＿ｎ等が編集できないように、編集権を“編集中”に更新する。
【００２３】
さらに、権限更新部２１１は、ソースファイルを編集が終了し、編集された後のソースファイルでソースファイル部２１２が更新された後、当該ソースファイルを他のクライアントＰＣ１０１＿１〜１０１＿ｎ等が編集できるように、編集権を“編集なし”に更新する。
【００２４】
さらに、ソースファイルを編集していたクライアントＰＣ１０１＿１〜１０１＿ｎ等で異常等が生じ、クライアントＰＣ１０１＿１〜１０１＿ｎでソースファイルの編集が行われなくなった場合には、権限更新部２１１は、クライアントＰＣ１０１＿１〜１０１＿ｎに送信したソースファイルが他のクライアントＰＣ１０１＿１〜１０１＿ｎで編集できるように、“編集中”設定された編集権を解除し、“編集なし”に更新する。なお、クライアントＰＣ１０１＿１〜１０１＿ｎが編集であるか否かは、後述するクライアント診断部２２０を用いる。
【００２５】
データバックアップ部２１４は、ソースファイル部２１２に保持されたソースファイル、及びオブジェクトファイル部２１３に保持されたオブジェクトファイルのバックアップ制御を行う。バックアップ先は、特に制限するものではなく、実施態様によって定められる。
【００２６】
データベース最適化／最小化部２１５は、ソースファイル部２１２に保持されたソースファイル、及びオブジェクトファイル部２１３に保持されたオブジェクトファイルで構成されるデータベースに対して、最適化／最小化を行う。
【００２７】
さらに、本実施形態では、制御部２１６が、ソースファイル部２１２やオブジェクトファイル部２１３にアクセスする際に、ソースファイル部２１２やオブジェクトファイル部２１３にアクセス中であることを示す一時ファイルを生成する。一時ファイルは、データベースにアクセスする際に、アクセス処理を行うために一時的に作成されるファイルとする。
【００２８】
また、制御部２１６は、ソースファイル部２１２やオブジェクトファイル部２１３へのアクセスが終了した場合（クライアントＰＣ１０１＿１〜１０１＿ｎからアクセスが終了した旨の通知を受信した場合）に、一時ファイルを削除する。
【００２９】
ところで、バックアップやデータベースの最適化／最小化を行う際に、データベース（例えばソースファイル部２１２やオブジェクトファイル部２１３）に対して、クライアントＰＣ１０１＿１〜１０１＿ｎ等がアクセスしていない状態にする必要がある。そこで、バックアップやデータベースの最適化／最小化を行う際、制御部２１６の制御により、クライアント通信部２４０が、ネットワークを介して接続されているクライアントＰＣ１０１＿１〜１０１＿ｎに対して、バックアップやデータベースの最適化／最小化を行うため、アクセスの終了要求と共に、現在アクセスしているクライアントＰＣ１０１＿１〜１０１＿ｎの報告要求を送信する。
【００３０】
制御プログラム管理部２３０は、編集画面表示制御部２３１と、プログラムコンパイラ２３２と、クライアント側ロード制御部２３３と、を備え、制御プログラムの編集等を行う。このように、本実施形態において、システムプログラマは、クライアントＰＣ１０１＿１〜１０１＿ｎの他に、サーバＰＣ１００でも、当該編集画面を参照して、制御プログラムの編集を可能とする。
【００３１】
編集画面表示制御部２３１は、制御プログラムを編集する際の編集画面の表示制御を行う。図３は、本実施形態の編集画面表示制御部２３１が表示する編集画面例を示した図である。図３に示される画面例は、ＪＩＳ  Ｂ  ３５０３(またはＩＥＣ  ６１１３１−３)で規定されたＬＤ／ＦＢＤ言語を用いた制御プログラムの編集画面の例とする。
【００３２】
当該制御プログラムの編集画面で編集する場合、当該制御プログラムの編集権を獲得する。換言すれば、当該制御プログラムの編集権が、他のクライアントＰＣで編集されないように“編集中”に更新される。そして、編集が正常に終了した場合、編集権は解放される（編集権が“編集なし”に更新される）。
【００３３】
しかしながら、従来、編集権が他のクライアントＰＣが編集できないように設定されている場合に、編集権を取得しているクライアントＰＣやサーバＰＣで障害等により、正常終了できなかった場合、編集権が設定された状態で維持されるため、他のクライアントＰＣやサーバＰＣでは、同じ制御プログラムに対して編集作業を行えなかった。従来、このような状況が生じた場合、初期状態に戻すために、サーバＰＣ１００とクライアントＰＣ１０１＿１〜１０１＿ｎとを再起動させる必要があった。これに対して、本実施形態では、異常が生じた場合に適切に復旧が行えるように、クライアント診断部２２０が、クライアントＰＣとの接続健全性を監視する。
【００３４】
システムプログラマが制御プログラムを保存した際に、制御プログラムはソースファイル部２１２に保存される。さらに、プログラムコンパイラ２３２が、当該ソースファイルをコンパイルし、コンパイルにより生成されたオブジェクトファイルをオブジェクトファイル部２１３に保存する。
【００３５】
クライアント側ロード制御部２３３は、コンパイルが実行された後に、コントローラ１５０に対してオブジェクトファイルを送信する。これにより、コントローラ１５０が、編集された制御プログラムを実行できる。
【００３６】
クライアント診断部２２０は、固有情報保持部２２２と、設定情報記憶部２２３と、を備え、クライアントとの接続健全性を監視する。
【００３７】
固有情報保持部２２２は、制御プログラムのソースファイルをクライアントＰＣ１０１＿１〜１０１＿ｎに送信した際、クライアントＰＣ１０１＿１〜１０１＿ｎから送信された情報に基づいて、送信先のクライアントＰＣ１０１＿１〜１０１＿ｎと送信したソースファイルとを識別する固有情報を保持する。
【００３８】
本実施形態の固有情報保持部２２２は、固有情報として、クライアントＰＣ１０１＿１〜１０１＿ｎのデータベースに対するログインユーザ名、クライアントＰＣ１０１＿１〜１０１＿ｎの名称、ユーザシステム名（プラントを特定できるシステムの名称）、ステーション名、コントローラのスロット番号、制御プログラム名(ＩＥＣ  ６１１３１−３におけるプログラム、ファンクションブロック、ファンクションが該当)を保持する。
【００３９】
つまり、従来、クライアントＰＣが異常終了した場合に、サーバＰＣはどのクライアントＰＣが制御プログラムを編集していたのか認識できなかったため、復旧させるのが難しかった。これに対して、本実施形態のサーバＰＣ１００は、制御プログラムを編集しているクライアントＰＣ１０１＿１〜１０１＿ｎの固有情報を保持することとした。これにより、制御プログラムを編集しているクライアントＰＣ１０１＿１〜１０１＿ｎで異常終了が生じた場合に、当該制御プログラムを編集していたクライアントＰＣ１０１＿１〜１０１＿ｎを特定可能となった。
【００４０】
設定情報記憶部２２３は、クライアント診断部２２０が健全性を監視するために、クライアントＰＣ１０１＿１〜１０１＿ｎに対して監視（問合せ）を行う時間間隔を保持する。本実施形態のクライアント診断部２２０は、ユーザから受け付けた操作に従って、時間間隔を設定する。本実施形態の設定情報記憶部２２３は、クライアントＰＣ１０１＿１〜１０１＿ｎ毎に時間間隔を記憶している。
【００４１】
つまり、本実施形態のクライアント診断部２２０は、  プラントに応じて接続されているクライアントＰＣの数や、パソコンの負荷に応じて、時間間隔（監視時間）を調整できる。つまり、プラントによってクライアントＰＣの数やＰＣの負荷は様々なため、時間間隔（監視時間）の調整機能が必要になる。そこで、本実施形態の設定情報記憶部２２３が時間間隔（監視時間）を調整可能とした。
【００４２】
調整手法としては、以下の手法が考えられる。まず、クライアントＰＣ毎に設定されている時間間隔（監視時間）は、初期状態では、デフォルト値が設定されている。
【００４３】
そして、プラントによって、デフォルト値の変更が必要な場合、クライアント診断部２２０が、システムプログラマの操作に応じて、設定情報記憶部２２３が記憶している設定情報（例えばテキストファイル）を変更することで、時間間隔（監視時間）を調整できる。
【００４４】
設定情報記憶部２２３の設定情報内においては、時間間隔として、30秒〜600秒(10分)の範囲内で設定可能とする。単位について特に制限を設けるものではないが、秒などが考えられる。
【００４５】
設定情報で、30秒以下が設定されている場合、最短は30秒に抑制し、監視するための負荷増とならないようにする。
【００４６】
また、設定情報で、600秒(10分)よりも大きい値が設定されている場合、最大は600秒(10分)に抑制する。
【００４７】
設定情報では、サーバＰＣ毎、クライアントＰＣ毎に異なる設定を可能とする。これにより、プラントによって異なるクライアントの数や、パソコンの負荷に対応して、適切な監視時間の調整を可能とする。
【００４８】
そして、クライアント診断部２２０からの要求に従って、クライアント通信部２４０が、固有情報保持部２２２が保持している固有情報で識別されるクライアントＰＣ１０１＿１〜１０１＿ｎに対して、当該固有情報で識別される制御プログラムを編集しているか否かの問い合わせを送信する。
【００４９】
つまり、本実施形態のサーバＰＣ１００は、クライアントＰＣ１０１＿１〜１０１＿ｎ等が制御プログラムを編集する際に、当該クライアントＰＣ１０１＿１〜１０１＿ｎの固有情報を保持する。そして、編集を行っている間固有情報を保持し続け、編集が終了した段階で当該固有情報を削除する。しかしながら、クライアントＰＣ１０１＿１〜１０１＿ｎで異常が生じた場合に、固有情報を削除できずに編集が終了する。換言すれば、固有情報が残っているにも拘わらず、当該固有情報で示されるクライアントＰＣ１０１＿１〜１０１＿ｎが編集処理を行っていない場合に、当該クライアントＰＣ１０１＿１〜１０１＿ｎで異常が生じたものと判定できる。
【００５０】
異常が生じたと判定できる場合に行う処理としては、権限更新部２１１が、固有情報で示される制御プログラムのソースファイルの編集権を“編集なし”に更新する。さらには、クライアント診断部２２０が、当該固有情報の削除とする。なお、編集権の更新と固有情報の削除のみに制限するものではなく、他の処理を行っても良い。これにより、クライアントＰＣ１０１＿１〜１０１＿ｎの異常終了等で生じた異常状態が解除される。
【００５１】
クライアントＰＣ１０１＿１は、プログラム群を実行することで、様々なソフトウェア構成を実現する。図４は、本実施形態のクライアントＰＣ１０１＿１で実現されるブロック構成例を示した図である。図４に示されるように、クライアントＰＣ１０１＿１は、表示装置３０１、キーボード３０２、及びポインティングデバイス３０３と接続されている。なお、クライアントＰＣ１０１＿２〜１０１＿ｎは、クライアントＰＣ１０１＿１と同様の構成を備えるものとして説明を省略する。
【００５２】
さらに、クライアントＰＣ１０１＿１は、制御プログラム管理部３１０と、サーバ診断部３２０と、サーバ通信部３３０と、を備える。
【００５３】
サーバ通信部３３０は、サーバＰＣ１００等との間でデータの送受信を行う。
【００５４】
制御プログラム管理部３１０は、編集画面表示制御部３１１と、プログラムコンパイラ３１２と、クライアント側ロード制御部３１３と、を備え、制御プログラムの編集等を行う。なお、制御プログラム管理部３１０の構成は、サーバＰＣ１００の制御プログラム管理部２３０とほぼ同様の構成として説明を省略する。そこで、サーバＰＣ１００と異なる点に限り説明する。
【００５５】
編集画面表示制御部３１１が制御プログラムの編集画面起動時に、サーバ通信部３３０を制御して、当該クライアントＰＣ１０１＿１と制御プログラムとを識別するための固有情報を、サーバＰＣ１００に送信する。これにより、サーバＰＣ１００が当該固有情報に基づくクライアントＰＣ１０１＿１の診断が可能となる。
【００５６】
さらに、サーバ通信部３３０は、サーバＰＣ１００から、制御プログラムのソースファイルを受信する。これにより、編集画面表示制御部３１１が、受信したソースファイルを読み込んで編集画面を表示する。
【００５７】
サーバ診断部３２０は、設定情報記憶部３２３と、を備え、サーバＰＣ１００との接続健全性を監視する。具体的には、サーバ診断部３２０は、当該クライアントＰＣ１０１＿１が制御プログラムのソースファイルを編集している際に、サーバ通信部３３０を制御して、サーバＰＣ１００に対して、固有情報を保持しているか否かの問い合わせを送信する。
【００５８】
ところで、上述したようにサーバＰＣ１００においては、編集中のクライアントＰＣ１０１＿１で異常終了等が生じたと判定した場合に、編集権の更新と、固有情報の削除と、が行われる。
【００５９】
そこで、サーバ診断部３２０は、サーバ通信部３３０を制御して、サーバＰＣ１００が固有情報を保持し続けているか否かを監視することで、サーバＰＣ１００との間で異常が生じたか否かを認識できる。
【００６０】
このように、サーバ診断部３２０は、編集画面表示制御部３１１を用いて制御プログラムの編集処理を行っている間、クライアントＰＣ１０１＿１とクライアントＰＣ１０１＿１で編集されている制御プログラムとを識別する固有情報を、サーバＰＣ１００が有しているか否かの問合せを、サーバ通信部３３０を制御して送信する。
【００６１】
そして、サーバ診断部３２０は、問合せに対するサーバＰＣ１００からの応答の結果、固有情報をサーバＰＣ１００が有していないと判定した場合に、制御プログラムの編集処理を終了させる。そして、編集画面表示制御部３１１に対して、サーバＰＣ１００との間の通信が切断された旨を通知する。
【００６２】
図５は、本実施形態のコントローラ１５０のブロック構成例を示した図である。図５に示されるように、コントローラ１５０は、オブジェクトメモリ４１０と、標準制御部４２０と、で構成されている。
【００６３】
オブジェクトメモリ４１０は、データメモリ４１１と、コードメモリ４１２と、を備える。コードメモリ４１２は、制御プログラムのオブジェクトファイルを格納する。データメモリ４１１は、制御プログラムが実行される際の作業領域として用いられ、パラメータ等を格納する。
【００６４】
標準制御部４２０は、サーバ側ロード制御部４２１と、プログラム実行制御部４２２と、プロセス入出力処理部４２３と、を備え、制御プログラムのオブジェクトファイルの書き込み、読み出し、実行を行う。
【００６５】
サーバ側ロード制御部４２１は、クライアントＰＣ１０１＿１〜１０１＿ｎやサーバＰＣ１００のクライアント側ロード制御部２３３、３１３と連携して、ネットワークを介して送信された制御プログラムのオブジェクトプログラムを、コードメモリ４１２に配置する。
【００６６】
プログラム実行制御部４２２は、オブジェクトメモリ４１０に格納されている制御プログラムを実行する。プロセス入出力処理部４２３は、プラントからのプロセス信号を制御プログラムに受け渡す。これによりプラントの自動制御を実現できる。
【００６７】
次に、クライアントＰＣ１０１＿１で制御プログラムの編集が終了した際に、クライアントＰＣ１０１＿１とコントローラ１５０との間で行われる処理について説明する。
【００６８】
クライアントＰＣ１０１＿１で編集が終了した際に、コンパイル等が終了した後、制御プログラムのソースファイルとオブジェクトファイルとがサーバＰＣ１００に受け渡される。これによりソースファイル部２１２に編集されたソースファイルが保存され、オブジェクトファイル部２１３にコンパイルされたオブジェクトファイルが保存される。
【００６９】
そして、クライアントＰＣ１０１＿１のクライアント側ロード制御部３１３が、サーバＰＣ１００のオブジェクトファイル部２１３に保持されたオブジェクトファイルを取り出して、コントローラ１５０のサーバ側ロード制御部４２１に受け渡す。そして、コントローラ１５０のサーバ側ロード制御部４２１が、受け渡されたオブジェクトファイルをコードメモリ４１２上に配置する。そして、プログラム実行処理部４２２がこれを実行して、制御プログラムが実行される。
【００７０】
次に、本実施形態のクライアントＰＣ１０１＿１及びサーバＰＣ１００における、制御プログラムを編集していたクライアントＰＣ１０１＿１で異常が生じた場合の処理について説明する。図６は、本実施形態のクライアントＰＣ１０１＿１及びサーバＰＣ１００における上述した処理の手順例を示すフローチャートである。
【００７１】
まず、クライアントＰＣ１０１＿１の編集画面表示制御部３１１が起動し、制御プログラムの編集画面の表示を開始する（ステップＳ５０１）。
【００７２】
そして、クライアントＰＣ１０１＿１のサーバ通信部３３０が、クライアントＰＣ１０１＿１と編集対象の制御プログラムとを識別する情報を含む固有情報を、サーバＰＣ１００に送信する（ステップＳ５０２）。
【００７３】
サーバＰＣ１００のクライアント通信部２４０が、クライアントＰＣ１０１＿１から、固有情報を受信する（ステップＳ５１１）。そして、クライアント診断部２２０の固有情報保持部２２２が、受信した固有情報を保持する（ステップＳ５１２）。
【００７４】
さらに、クライアント通信部２４０が、受信した固有情報で示された制御プログラムのソースファイルを、クライアントＰＣ１０１＿１に送信する（ステップＳ５１３）。
【００７５】
そして、サーバＰＣ１００の権限更新部２１１が、固有情報保持部２２２に保存された固有情報で示される制御プログラムのソースファイル（送信した制御プログラムのソースファイルと対応付けられた）の編集権を、他のクライアントＰＣ等で編集されないようにロック制御する（ステップＳ５１４）。
【００７６】
次に、サーバＰＣ１００のクライアント診断部２２０は、固有情報保持部２２２に保持されている固有情報に基づいて、クライアントＰＣ１０１＿１と接続確認を実行する（ステップＳ５１５）。具体的には、固有情報で示されているクライアントＰＣ１０１＿１に対して、当該固有情報で示されている制御プログラムを編集しているか否かを問い合わせる。
【００７７】
そして、サーバＰＣ１００のクライアント診断部２２０が、問合せ結果に基づいて、接続確認が正常に行われたか否かを判定する（ステップＳ５１６）。接続確認が正常に行われた（制御プログラムを編集している旨の応答を受け取った）と判定された場合（ステップＳ５１６：Ｙｅｓ）、定期的にステップＳ５１５からの処理を繰り返す。また、制御プログラムの編集が正常に終了した場合には、当該処理が終了される。
【００７８】
一方、クライアントＰＣ１０１＿１は、サーバＰＣ１００から、制御プログラムのソースファイルを受信する（ステップＳ５０３）。そして、編集画面表示制御部３１１が受信したソースファイルを読み込み、表示し、ユーザからの制御プログラムの編集を受け付ける（ステップＳ５０４）。その後、クライアントＰＣ１０１＿１で異常が生じたために、異常終了が生じたものとする（ステップＳ５０５）。これにより、制御プログラムの編集が終了すると共に、サーバＰＣ１００において、当該制御プログラムの編集権がロックされた状態が維持される。
【００７９】
そこで、クライアント診断部２２０による、ステップＳ５１５の問合せ結果に基づいて、接続確認が正常通り行われなかった（制御プログラムを編集している旨の応答を受け取れなかった）場合に（ステップＳ５１６：Ｎｏ）、権限更新部２１１が、接続確認できなかったクライアントＰＣ１０１＿１が示された固有情報に基づいて、編集権のロックを解除する（ステップＳ５１７）。さらに、固有情報保持部２２２が、接続確認できなかったクライアントＰＣ１０１＿１が示された固有情報を削除する（ステップＳ５１８）。
【００８０】
上述した処理手順により、クライアントＰＣ等で編集される制御プログラムの健全状態を監視し、クライアントＰＣ等で異常時に自動で編集権を適切に更新することができる。
【００８１】
次に、サーバＰＣ１００でデータベースのバックアップ、最適化、最小化を行う場合について説明する。ところで、データベースのバックアップ、最適化、最小化は、他の情報処理装置が当該データベースにアクセスすることで生成される一時ファイルが存在する間は行うことができない。そして、データベースのアクセス中に、情報処理端末が異常終了すると、一時ファイルのみ残され、データベースのバックアップ、最適化、最小化が行えなくなる可能性がある。従来はこのような状況になった場合に、サーバＰＣ１００及びクライアントＰＣ１０１＿１〜１０１＿ｎの再起動を行うことで、対応していた。これに対して、本実施形態は、所定の条件を満たした場合に、一時ファイルの削除を行うこととした。
【００８２】
本実施形態のクライアントＰＣ１０１＿１及びサーバＰＣ１００における、データベースにアクセスしていることを示す一時ファイルの削除処理について説明する。図７は、本実施形態のクライアントＰＣ１０１＿１及びサーバＰＣ１００における上述した処理の手順例を示すフローチャートである。
【００８３】
まず、サーバＰＣ１００のデータバックアップ部２１４又はデータベース最適化／最小化部２１５がメンテナンス（例えば、バックアップ、最適化、最小化）を開始する際に、クライアント通信部２４０が、ネットワークを介して接続されている全クライアントＰＣ１０１＿１〜１０１ｎに対して、ブロードキャストで、メンテナンス（例えばバックアップ）の開始を通知する（ステップＳ６１１）。
【００８４】
そして、クライアントＰＣ１０１＿１のサーバ通信部３３０は、メンテナンス（例えばバックアップ）の開始通知を受信する（ステップＳ６０１）。現在、クライアントＰＣ１０１＿１では、制御プログラムの編集中とする。
【００８５】
この場合、クライアントＰＣ１０１＿１のサーバ通信部３３０は、サーバＰＣ１００のデータベースにアクセスしているログインユーザを通知する（ステップＳ６０２）。一方、制御プログラムの編集が行われていない場合、クライアントＰＣ１０１＿１は準備完了している旨を通知する。
【００８６】
一方、サーバＰＣ１００のクライアント通信部２４０は、クライアントＰＣ１０１＿１から、データベース（ソースファイル部２１２、オブジェクトファイル部２１３）にアクセスしているログインユーザを受信する（ステップＳ６１２）。これにより、サーバＰＣ１００は、アクセスしているログインユーザがログアウトするまで一定時間待機する制御を行う。
【００８７】
一方、クライアントＰＣ１０１＿１の編集画面表示制御部３１１がソースファイルの編集画面の表示を終了し、編集作業が終了する（ステップＳ６０３）。この際に、固有情報の削除や編集権のロック解除等が行われる。
【００８８】
そして、クライアントＰＣ１０１＿１は、準備完了（データベースアクセスの作業を行っている画面を全て終了）の旨を、サーバＰＣ１００に通知する（ステップＳ６０４）。その際に、ログインユーザもサーバＰＣ１００に通知する。
【００８９】
そして、サーバＰＣ１００のクライアント通信部２４０は、クライアントＰＣ１０１＿１から準備完了の旨を受信する（ステップＳ６１３）。
【００９０】
次に、サーバＰＣ１００の制御部２１６が、ログインユーザを送信してきた全てのクライアントＰＣから準備完了の旨の通知を受け付けたか否かを判定する（ステップＳ６１４）。受け付けていないと判定した場合（ステップＳ６１４：Ｎｏ）、ステップＳ６１３から処理を行う。
【００９１】
一方、サーバＰＣ１００の制御部２１６が、全てのクライアントＰＣから準備完了の旨の通知を受け付けたと判定した場合（ステップＳ６１４：Ｙｅｓ）、データバックアップ部２１４が、データベース（ソースファイル部２１２、オブジェクトファイル部２１３）に対する作業を開始する（ステップＳ６１５）。
【００９２】
ところで、クライアントＰＣが異常終了している等の場合、データベース（ソースファイル部２１２、オブジェクトファイル部２１３）にアクセスしているプロセスが残っていると一時ファイル等の削除を行うことができない。ステップＳ６１６の段階では、全てのクライアントＰＣ１０１＿１〜１０１＿ｎのデータベースに対する正常なアクセスは終了しているはずなので、制御部２１６が、データベースにアクセスしているプロセス等を、異常なものとして強制終了させる（ステップＳ６１６）。
【００９３】
さらに、制御部２１６は、一時ファイルが残っている場合に、当該一時ファイルを削除する（ステップＳ６１７）。通常、全てのクライアントＰＣがデータベースに対するアクセスを終了した時点で、一時ファイルは削除されているため、ステップＳ６１７で削除されるのは、クライアントＰＣが異常終了等した場合等に限られる。
【００９４】
これにより、データバックアップ部２１４が、データベース（ソースファイル部２１２、オブジェクトファイル部２１３）に対するバックアップ処理を行う（ステップＳ６１８）。
【００９５】
上述した処理により、アクセスする際に生成される特殊な一時ファイルが削除されるため、バックアップを行うことができる。なお、図７で示す処理手順は、バックアップ処理に制限するものではなく、データベースの最適化・最小化等のデータベースのメンテナンスであれば良い。
【００９６】
以上の結果から明らかなように、任意のクライアントＰＣが様々な障害により、異常終了した場合、従来のクライアントＰＣ／サーバＰＣ環境においては再起動させるしか、復旧させられなかった。
【００９７】
これに対して、本実施形態においては、制御プログラムの編集を継続でき、異常終了で生じた一時ファイルを削除した上で、データベースの最適化・最小化やバックアップ作業ができることとした。これにより、他のクライアントで作業中のシステムプラグラマの作業を止めることがなくなり、全体の作業効率の低減を抑止できる。
【００９８】
また、異常であるか否かの診断はサーバＰＣ１００側に制限するものではなく、クライアントＰＣ１０１＿１〜１０１＿ｎ側でも行っても良い。例えば、クライアントＰＣ１０１＿１〜１０１＿ｎ側が行う異常診断としては、サーバＰＣ１００がクライアントＰＣ１０１＿１による制御プログラムの編集中であるにも拘わらず、クライアントＰＣ１０１＿１が異常終了したものとして処理を行ったか否かの診断等が考えられる。このため、クライアントＰＣ１０１＿１〜１０１＿ｎは、サーバＰＣ１００が固有情報を削除したか否かにより、サーバＰＣ１００との間の通信で異常が生じたか否かを判定する。図８は、本実施形態のクライアントＰＣ１０１＿１における異常診断の処理の手順例を示すフローチャートである。
【００９９】
まず、クライアントＰＣ１０１＿１の編集画面表示制御部３１１が起動し、制御プログラムの編集画面の表示を開始する（ステップＳ８０１）。
【０１００】
そして、クライアントＰＣ１０１＿１のサーバ通信部３３０が、クライアントＰＣ１０１＿１と編集対象の制御プログラムとを識別する情報を含む固有情報を、サーバＰＣ１００に送信する（ステップＳ８０２）。
【０１０１】
サーバＰＣ１００のクライアント通信部２４０が、クライアントＰＣ１０１＿１から、固有情報を受信する（ステップＳ８１１）。そして、クライアント診断部２２０の固有情報保持部２２２が、受信した固有情報を保持する（ステップＳ８１２）。
【０１０２】
一方、クライアントＰＣ１０１＿１のサーバ診断部３２０が、サーバ通信部３３０を制御して、ステップＳ８０２で送信した固有情報の確認要求を行う（ステップＳ８０３）。これに対応して、サーバＰＣ１００が固有情報の確認応答を行う（ステップＳ８１３）。その後、サーバ診断部３２０は、サーバＰＣ１００からの応答結果で固有情報があったか否かを判定する（ステップＳ８０４）。固有情報があったと判定した場合（ステップＳ８０４：Ｙｅｓ）、再びステップＳ８０３から処理を開始する。
【０１０３】
その後、図６で示した処理手順により、サーバＰＣ１００から、クライアントＰＣ１０１＿１を参照できず、接続確認が正常に行われなかったため、編集権のロックが解除されると共に、固有情報の削除が行われたものとする。
【０１０４】
一方、ステップＳ８０４において、クライアントＰＣ１０１＿１のサーバ診断部３２０が、固有情報がなかったと判定した場合（ステップＳ８０４：Ｎｏ）、編集画面表示制御部３１１が、異常が生じた旨を表示する（ステップＳ８０５）。さらに、サーバ診断部３２０が、制御プログラム管理部３１０で行われていた制御プログラムのソースファイルの編集処理を終了させる。
【０１０５】
図９は、編集画面表示制御部３１１により表示される異常が生じた旨が示されたダイアログボックスの例を示した図である。図９の例に示されるように、当該ダイアログボックスを表示することで、システムプログラマは、サーバＰＣ１００との間の通信が切断されたことを認識できる。
【０１０６】
上述した処理手順により、クライアントＰＣ１０１＿１は、サーバＰＣ１００との間で通信で異常が生じたか否かを認識できる。つまり、従来、クライアント側では、サーバＰＣとの通信を行わずに制御プログラムの編集処理を行っている間に、ネットワーク障害等でサーバとの切断が生じた場合、当該切断をすぐに認識できないことがあった。この場合に、システムプログラマはサーバＰＣと切断されたことを知らずに、編集処理を行うことになっていた。この場合、編集された後のソースファイルを更新できないため、作業の無駄が生じていた。
【０１０７】
そこで、本実施形態では、クライアントＰＣ１０１＿１が、サーバＰＣ１００と定期的に通信を行うこととした。そして、通信ができない場合に、ネットワークの切断と判定、上述したメッセージを表示した後、クライアントＰＣ１０１＿１の強制終了等を行うこととした。
【０１０８】
このように、クライアントＰＣ１０１＿１〜１０１＿ｎ側では、ネットワーク障害が生じても、サーバＰＣ１００との切断をすぐに認識できる。このため、切断された状態で編集処理を進めることが抑止され、クライアントＰＣ１０１＿１〜１０１＿ｎ側の作業が無駄になることを抑止できる。
【０１０９】
本実施形態のサーバＰＣ／クライアントＰＣ環境では、制御プログラムは、サーバＰＣ１００上のデータベースで一元管理され、複数人が同じ箇所を変更しないように排他制御が行われる。このような排他制御が行われている際に、任意のクライアントＰＣで様々な障害が生じて異常終了した場合でも、サーバＰＣ１００が上述した構成を備えていることで、適切に排他制御を解除して、他のクライアントＰＣで当該制御プログラムの編集を可能とした。
【０１１０】
従来、クライアントＰＣで異常終了した場合に、データベースアクセス中になるため、データベースの最適化・最小化やバックアップ作業ができなくなっていた。この場合に、全システムプログラマの作業を一度止めて、サーバ／クライアント環境を再起動させる必要があった。
【０１１１】
これに対して、本実施形態のサーバＰＣ１００では、上述した構成を備えることで、データベースのアクセス状態を解除して、サーバ／クライアント環境を再起動させる必要なく、最適化・最小化やバックアップ作業を実行可能とした。
【０１１２】
従来は、クライアントＰＣ側で、ネットワーク障害等の理由で、サーバＰＣとの間で生じた切断をすぐに認識できない場合がある。このような状況で、クライアントＰＣで作業を続けても、サーバＰＣに作業結果を反映できないため、作業が無駄になっていた。これに対して、本実施形態では、異常診断を行い、異常が生じた場合にその旨を通知することで、無駄な作業が生じるのを抑止できる。
【０１１３】
さらに上述した実施形態のサーバＰＣ１００においては、クライアントＰＣで異常終了が生じた場合に、当該異常終了を検出して、編集権のロック解除や、固有情報の削除を行うことで、適切な復旧処理を行うことを可能とした。これにより、異常終了したクライアントＰＣ以外のクライアントＰＣ等を使用している他のシステムプログラマ等に対して影響を及ぼすのを抑止できる。
【０１１４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１１５】
１００…サーバＰＣ、１０１＿１〜１０１＿ｎ…クライアントＰＣ、１５０…コントローラ、２０１…表示装置、２０２…キーボード、２０３…ポインティングデバイス、２１０…データベース管理部、２１１…権限更新部、２１２…ソースファイル部、２１３…オブジェクトファイル部、２１４…データバックアップ部、２１５…データベース最適化／最小化部、２１６…制御部、２２０…クライアント診断部、２２２…固有情報保持部、２２３…設定情報記憶部、２３０…制御プログラム管理部、２３１…編集画面表示制御部、２３２…プログラムコンパイラ、２３３…クライアント側ロード制御部、２４０…クライアント通信部、３０１…表示装置、３０２…キーボード、３０３…ポインティングデバイス、３１０…制御プログラム管理部、３１１…編集画面表示制御部、３１２…プログラムコンパイラ、３１３…クライアント側ロード制御部、３２０…サーバ診断部、３３０…サーバ通信部、４１０…オブジェクトメモリ、４１１…データメモリ、４１２…コードメモリ、４２０…標準制御部、４２１…サーバ側ロード制御部、４２２…プログラム実行制御部、４２３…プロセス入出力処理部。
【図１】
2015049683.tif 000003
【図２】
2015049683.tif 000004
【図３】
2015049683.tif 000005
【図４】
2015049683.tif 000006
【図５】
2015049683.tif 000007
【図６】
2015049683.tif 000008
【図７】
2015049683.tif 000009
【図８】
2015049683.tif 000010
【図９】
2015049683.tif 000011