(57)【要約】【課題】アプリケーション構築者が、複合コンポーネントの内部コンポーネントの仕様や構成を意識することなく内部コンポーネントを容易かつ適切に各フィールド機器上に分割して配置できる複合コンポーネント配置システムを実現する。【解決手段】複数の内部コンポーネントから成る複合コンポーネントを複数の動作装置に分割配置してアプリケーションを構築する複合コンポーネント配置システムであって、  前記各内部コンポーネントのインスタンスを生成し、各動作装置の構成情報と前記各内部コンポーネントの動作環境を有する仮想動作装置の構成情報とを比較して前記各動作装置が前記各仮想動作装置の能力を備えているか否かを判断し、前記各内部コンポーネントのインスタンスを前記各動作装置に配置するアプリケーション構築装置を備える。【選択図】                    図１
2009110311.tif 000002
【特許請求の範囲】
【請求項１】
複数の内部コンポーネントから成る複合コンポーネントを複数の動作装置に分割配置してアプリケーションを構築する複合コンポーネント配置システムであって、
前記各内部コンポーネントのインスタンスを生成し、各動作装置の構成情報と前記内部コンポーネントの動作環境を有する仮想動作装置の構成情報とを比較して前記各動作装置が前記各仮想動作装置の能力を備えているか否かを判断し、前記各内部コンポーネントのインスタンスを前記各動作装置に配置するアプリケーション構築装置を備えることを特徴とする複合コンポーネント配置システム。
【請求項２】
前記アプリケーション構築装置は、
内部コンポーネント間接続設定情報に基づき、前記各内部コンポーネントを前記各仮想動作装置に配置して接続するためのインスタンス間の接続設定を行うことを特徴とする
請求項１記載の複合コンポーネント配置システム。
【請求項３】
前記複合コンポーネントを解析して前記各内部コンポーネントの仮想動作装置の構成を抽出することにより前記仮想動作装置の構成情報を作成し、この構成情報に基づいて前記各内部コンポーネント間の接続設定を定義する前記内部コンポーネント間接続設定情報を作成する複合コンポーネント作成装置を備えることを特徴とする
請求項１もしくは請求項２記載の複合コンポーネント配置システム。
【請求項４】
前記アプリケーション構築装置は、
前記複合コンポーネント作成装置から前記複合コンポーネントのコンポーネントデータ、前記仮想動作装置の構成情報、前記内部コンポーネント間接続設定情報の少なくともいずれか一つを取得することを特徴とする
請求項１〜請求項３いずれかに記載の複合コンポーネント配置システム。
【請求項５】
前記アプリケーション構築装置は、
アプリケーション構築に利用する複合コンポーネントを指定し、前記仮想動作装置に対応する動作装置を指定する設定ユーザインタフェース部と、
前記指定された複合コンポーネントのコンポーネントデータを取得する利用コンポーネントデータインポート部と、
前記コンポーネントデータを記憶するコンポーネントデータ保存部と、
前記各内部コンポーネントのインスタンスおよびこれらのインスタンスの設定情報を生成し、前記内部コンポーネント間接続設定情報に基づき前記各内部コンポーネントのインスタンス間の接続設定を行い、前記各動作装置の構成情報と前記仮想動作装置の構成情報とを比較して前記各動作装置が前記各仮想動作装置の能力を備えているか否かを判断するコンポーネントインスタンス情報生成部と、
前記各内部コンポーネントのインスタンスに前記指定された各動作装置を関連付けて前記インスタンス設定情報を更新する実動作装置設定部と、
前記コンポーネントインスタンス情報生成部が、前記各動作装置は前記各仮想動作装置の能力を備えていると判断すると、前記各内部コンポーネントのインスタンスと前記インスタンスの設定情報に基づき前記各内部コンポーネントを各動作装置に送信して配置するコンポーネント配置部と、
前記各動作装置の構成情報、前記各内部コンポーネントのインスタンスの設定情報の少なくともいずれか一つを含むアプリケーション構築設定データを記憶するアプリケーション構築設定データ保存部とから構成されることを特徴とする
請求項１〜請求４いずれかに記載の複合コンポーネント配置システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションの開発にあたり、複合コンポーネントを複数の機器に分割配置する複合コンポーネント配置システムに関し、詳しくは、短時間で自動的に配置設定を行うことに関する。
【背景技術】
【０００２】
たとえば、センサ、アクチュエータ、コントローラなどのフィールド機器で構成されるフィールド制御システム、各種動作機器で構成される生産管理システム、広域監視システムなどのアプリケーションの開発にあたっては、統一形式で部品化されたソフトウェアコンポーネント（以下、コンポーネントという）を組み合わせることが行われている。
【０００３】
このようなコンポーネントの一種に、複数のコンポーネントを組み合わせて一つのコンポーネントとして扱うことを可能とする複合コンポーネントがある。言い換えれば、複合コンポーネントは複数の内部要素のコンポーネント（以下、内部コンポーネントという）から構成されている。
【０００４】
アプリケーション構築者は、この複合コンポーネントを利用して、たとえばフィールド制御システムなどを構成する各フィールド機器に内部コンポーネントを分散配置することにより、アプリケーションを開発することができる。
【０００５】
しかし、一般に、複合コンポーネントは、一つの動作装置上で動作することを想定した仕様となっているので、複数の動作装置をまたがって複合コンポーネントを動作させる場合には、複合コンポーネントの内部にどのような内部コンポーネントが含まれているか把握しなければならなかった。
【０００６】
さらに、これらの動作装置は、動作環境、入出力データ、メモリサイズやサービス機能などの「特性情報」が各装置によってそれぞれ異なる場合があるので、アプリケーションの構築にあたっては、各動作装置の特性情報を把握して各内部コンポーネントが各動作装置の特性に適合するように配置構成を決定する必要があった。
【０００７】
そこで、このような複合コンポーネントを複数の動作装置に分散配置するにあたり、複合コンポーネントの分割配置作業を支援するためのアプリケーション構築装置が用いられている。
【０００８】
アプリケーション構築装置は、アプリケーション構築者によって決定されたコンポーネントの配置構成に基づいて、内部コンポーネントを各フィールド機器に配置・設定し、各内部コンポーネントのインタフェースを接続して複合コンポーネントを利用したアプリケーションを構築する。
【０００９】
従来のアプリケーション構築装置に関連する先行技術文献としては次のようなものがある。
【００１０】
【特許文献１】特開２００６−３５０５８０号公報
【００１１】
図９は従来のアプリケーション構築装置の一例を示す構成ブロック図である。図９において、アプリケーション構築装置１は、主にフィールド機器２〜３とデータの送受信を行う通信機能と、複合コンポーネントを分割し各機器に配置する分割配置機能、内部コンポーネント間の接続関係やプロパティを設定する設定機能を有している。
【００１２】
フィールド機器２〜３は、通信機能と、アプリケーション構築装置１によって配置された内部コンポーネントの処理を実行するコンポーネント実行機能を有している。アプリケーション構築装置１は、フィールド機器２〜３とそれぞれネットワークＮＷ１００を介して相互に接続されている。
【００１３】
図１０は複合コンポーネントの一例を示す説明図である。図１０において、複合コンポーネントＺは、内部コンポーネントＡ、ＢおよびＣで構成されている。内部コンポーネントＡは内部コンポーネントＢおよびＣと相互に接続されている。
【００１４】
たとえば、内部コンポーネントＡは内部コンポーネントＢおよびＣからの出力に基づいて処理を行う。アプリケーション構築者は、これら内部コンポーネントＡ〜Ｃを各フィールド機器に分散配置して、フィールド制御システムのアプリケーションを開発する。
【００１５】
図１１は複合コンポーネントを各フィールド機器に配置する動作の説明図である。ここで、アプリケーション構築者は、フィールド機器２〜３の動作環境、入出力データ、メモリサイズやサービス機能などの「特性情報」を把握しているものとする。
【００１６】
まず、アプリケーション構築装置１は、利用する複合コンポーネントのデータを外部装置や記憶媒体などから取得して記憶する。
【００１７】
アプリケーション構築者は、アプリケーション構築装置１を介して、複合コンポーネントＺの内部コンポーネントＡ〜Ｃの関数やメソッドの利用方法、データの型、データ送受信の方式（イベントタイプ、応答タイプなど）、データ送受信の方向性（データを送信する側か、受信する側か）、インタフェース情報などの各コンポーネントの特性を定義した「コンポーネント設定情報」を把握する。
【００１８】
次に、アプリケーション構築装置１は、複合コンポーネントのインスタンスを生成し、記憶部に記憶する。
【００１９】
アプリケーション構築者は、アプリケーション構築装置１を介して複合コンポーネントのインスタンスにおける内部コンポーネントＡ〜Ｃのインスタンスのコンポーネント設定情報を把握する。そして、アプリケーション構築装置１を利用して、フィールド機器２〜３の特性情報と内部コンポーネントＡ〜Ｃのコンポーネント設定情報に基づき、フィールド機器２〜３の機器特性に合うように内部コンポーネントを分割する。
【００２０】
また、アプリケーション構築装置１は、各内部コンポーネントＡ〜Ｃが連携できるようなインタフェースの接続関係を示す「分割配置情報」を設定し、図示しない記憶部に記憶する。このとき、内部コンポーネントＡ〜Ｃのコンポーネント設定情報に基づき各内部コンポーネントの各インタフェースが連携して動作できるか否かを判断し、連携可能なコンポーネント同士のインタフェース接続関係を設定する。
【００２１】
たとえば図１０に示すように、コンポーネントＡのインタフェースＩＦ１００とコンポーネントＢのインタフェースＩＦ１０２とが接続するように接続関係情報ＣＮ１００を設定し、コンポーネントＡのインタフェースＩＦ１０１とコンポーネントＣのインタフェースＩＦ１０３とが接続するように接続関係情報ＣＮ１０１を設定する。
【００２２】
そして、アプリケーション構築装置１は、分割配置情報に基づき、複合コンポーネントＺをフィールド機器２〜３に分割配置する。具体的には、図１１に示すように、分割配置情報に基づきネットワークＮＷ１００を介してアプリケーションに必要なコンポーネントデータ（たとえば内部コンポーネントＡ〜Ｃ）をフィールド機器２〜３に送信する。
【００２３】
フィールド機器２は受信したコンポーネントデータに基づいて内部コンポーネントＡを配置・設定し、フィールド機器３は受信したコンポーネントデータに基づいて内部コンポーネントＢおよびＣを配置・設定する。
【００２４】
アプリケーション構築装置１は、複合コンポーネントを構成する複数の内部コンポーネントをフィールド機器２〜３に分割配置するとともに各内部コンポーネントの接続関係を設定することにより、複数のフィールド機器上で動作するアプリケーションを構築することができる。
【発明の開示】
【発明が解決しようとする課題】
【００２５】
しかしながら、従来技術では、内部コンポーネントの仕様とその構成を把握して各コンポーネント間の適切な接続の設定や各フィールド機器への配置の適切な構成を決定することから多くの時間が必要となり、複数のフィールド機器に複合コンポーネントの内部コンポーネントを適切に分割して配置設定を行うことが容易ではなかった。
【００２６】
本発明は上述の問題点を解決するものであり、その目的は、アプリケーション構築者が複合コンポーネントの内部コンポーネントの仕様や構成を意識することなく内部コンポーネントを容易かつ適切に各フィールド機器上に分割して配置できる複合コンポーネント配置システムを実現することにある。
【課題を解決するための手段】
【００２７】
このような課題を達成するために、本発明のうち請求項１記載の発明は、
複数の内部コンポーネントから成る複合コンポーネントを複数の動作装置に分割配置してアプリケーションを構築する複合コンポーネント配置システムであって、
前記各内部コンポーネントのインスタンスを生成し、各動作装置の構成情報と前記内部コンポーネントの動作環境を有する仮想動作装置の構成情報とを比較して前記各動作装置が前記各仮想動作装置の能力を備えているか否かを判断し、前記各内部コンポーネントのインスタンスを前記各動作装置に配置するアプリケーション構築装置を備えることを特徴とする。
【００２８】
請求項２記載の発明は、
請求項１記載の複合コンポーネント配置システムにおいて、
前記アプリケーション構築装置は、内部コンポーネント間接続設定情報に基づき、前記各内部コンポーネントを前記各仮想動作装置に配置して接続するためのインスタンス間の接続設定を行うことを特徴とする。
【００２９】
請求項３記載の発明は、
請求項１もしくは請求項２記載の複合コンポーネント配置システムにおいて、
前記複合コンポーネントを解析して前記各内部コンポーネントの仮想動作装置の構成を抽出することにより前記仮想動作装置の構成情報を作成し、この構成情報に基づいて前記各内部コンポーネント間の接続設定を定義する前記内部コンポーネント間接続設定情報を作成する複合コンポーネント作成装置を備えることを特徴とする。
【００３０】
請求項４記載の発明は、
請求項３記載の複合コンポーネント配置システムにおいて、
前記アプリケーション構築装置は、前記複合コンポーネント作成装置から前記複合コンポーネントのコンポーネントデータ、前記仮想動作装置の構成情報、前記内部コンポーネント間接続設定情報の少なくともいずれか一つを取得することを特徴とする
請求項１〜請求項３いずれかに記載の複合コンポーネント配置システム。
【００３１】
請求項５記載の発明は、請求項１〜請求４いずれかに記載の複合コンポーネント配置システムにおいて、
前記アプリケーション構築装置は、
アプリケーション構築に利用する複合コンポーネントを指定し、前記各内部コンポーネントを配置する動作装置を指定する設定ユーザインタフェース部と、
前記指定された複合コンポーネントのコンポーネントデータを取得する利用コンポーネントデータインポート部と、
前記コンポーネントデータを記憶するコンポーネントデータ保存部と、
前記各内部コンポーネントのインスタンスおよびこれらのインスタンスの設定情報を生成し、前記内部コンポーネント間接続設定情報に基づき前記各内部コンポーネントのインスタンス間の接続設定を行い、前記各動作装置の構成情報と前記仮想動作装置の構成情報とを比較して前記各動作装置が前記各仮想動作装置の能力を備えているか否かを判断するコンポーネントインスタンス情報生成部と、
前記各内部コンポーネントのインスタンスに前記指定された各動作装置を関連付けて前記インスタンス設定情報を更新する実動作装置設定部と、
前記コンポーネントインスタンス情報生成部が、前記各動作装置は前記各仮想動作装置の能力を備えていると判断すると、前記各内部コンポーネントのインスタンスと前記インスタンスの設定情報に基づき前記各内部コンポーネントを各動作装置に送信して配置するコンポーネント配置部と、
前記各動作装置の構成情報、前記各内部コンポーネントのインスタンスの設定情報の少なくともいずれか一つを含むアプリケーション構築設定データを記憶するアプリケーション構築設定データ保存部とから構成されることを特徴とする。
【発明の効果】
【００３２】
本発明によれば、アプリケーション構築装置は複合コンポーネントを内部コンポーネントの動作環境に適した各フィールド機器に分割配置してアプリケーションを構築することができる。
【発明を実施するための最良の形態】
【００３３】
本発明の複合コンポーネント配置システムが、フィールド制御システムなどを構成する各フィールド機器に内部コンポーネントを分散配置してアプリケーションを開発する場合を例にとり説明する。
【００３４】
図１は、本発明に係る複合コンポーネント配置システムの一実施例を示す構成ブロック図である。図１において、複合コンポーネント作成装置１０は、主にフィールド機器１２〜１３とデータの送受信を行う通信機能と、内部コンポーネントの動作環境の推奨構成として想定される仮想的な動作装置（以下、仮想動作装置という）の構成を決定する仮想動作装置設定機能を有している。アプリケーション構築装置１１は、通信機能と、複合コンポーネントを分割し各フィールド機器に配置する分割配置機能、複合コンポーネントの内部コンポーネント間の接続関係やプロパティの設定機能を有している。
【００３５】
複合コンポーネント作成装置１０とアプリケーション構築装置１１は、主に複合コンポーネント作成装置１０、アプリケーション構築装置１１、フィールド機器１２、１３との間で通信を行う通信部、各部の動作を制御するたとえばＣＰＵ（Central Processing Unit）などの演算制御部、ＯＳ（Operating System）や複合コンポーネント作成装置およびアプリケーション構築装置として動作させるためのプログラムや複合コンポーネント、各種情報などを格納する記憶部から構成されている。
【００３６】
フィールド機器１２〜１３は、通信機能と、アプリケーション構築装置１１によって配置された内部コンポーネントの処理を実行するコンポーネント実行機能と、アプリケーション構築装置１１から受信した各コンポーネントを配置するコンポーネント配置実行機能を有している。アプリケーション構築装置１１はフィールド機器１２〜１３とそれぞれネットワークＮＷ２００を介して相互に接続されている。
【００３７】
データ通信ＤＦ２００は複合コンポーネント作成装置１０がアプリケーション構築装置１１にデータを送信する流れを示し、データ通信ＤＦ２０１はアプリケーション構築装置１１がフィールド機器１２にデータを送信する流れを示し、データ通信ＤＦ２０２はアプリケーション構築装置１１がフィールド機器１３にデータを送信する流れを示している。
【００３８】
なお、コンポーネントはソフトウェア部品であり、ファイル形式のデータ(以下、コンポーネントデータという)をクラスとして、各動作装置のメモリ上のコンポーネントデータをインスタンスとする。このコンポーネントデータは、コンポーネントのプログラムとそれを管理するための定義情報から構成される統一されたデータ構造を持っている。
【００３９】
図２は、複合コンポーネント作成装置１０の機能ブロック例図である。また複合コンポーネン作成装置１０の演算制御部は、記憶部に格納されているＯＳなどを起動し、このＯＳ上で格納されたプログラムを読み出し実行することにより、複合コンポーネント作成装置１０全体を制御して図２の各機能部を利用して複合コンポーネントの作成を行う。
【００４０】
なお、複合コンポーネン作成装置１０の演算制御部が記憶部に格納されたプログラムを読み出し実行して各部を制御する動作については、以下省略する。
【００４１】
図２において、コンポーネント作成ユーザインタフェース部１０１は、複合コンポーネント作成者が複合コンポーネント作成作業を行うためのユーザインタフェースである。利用コンポーネントデータインポート部１０２は、複合コンポーネントの内部コンポーネントに利用するコンポーネントデータを外部装置や記憶媒体などから取得する。
【００４２】
仮想動作装置構成設定部１０３は、「仮想動作装置情報」を生成する。複合コンポーネント内部構成設定部１０４は、「内部コンポーネント配置関係情報」と「内部コンポーネント構成情報」を生成する。
【００４３】
作成コンポーネントデータエクスポート部１０５は、複合コンポーネントデータ保存部１０６で装置内に保存されている複合コンポーネントのコンポーネントデータを転送／保存する。コンポーネントデータ保存部１０６は、複合コンポーネント作成装置１０内に取り込んだ複合コンポーネントの内部コンポーネントに利用するコンポーネントデータを記憶する。複合コンポーネントデータ保存部１０７は、複合コンポーネントのコンポーネントデータを記憶する。
【００４４】
図３は、アプリケーション構築装置１１の機能ブロック例図である。またアプリケーション構築装置１１の演算制御部は、記憶部に格納されているＯＳなどを起動し、このＯＳ上で格納されたプログラムを読み出し実行することにより、アプリケーション構築装置１１全体を制御して図２の各機能部を利用して複合コンポーネントの分割配置を行う。
【００４５】
なお、アプリケーション構築装置１１の演算制御部が記憶部に格納されたプログラムを読み出し実行して各部を制御する動作については、以下省略する。
【００４６】
図３において設定ユーザインタフェース部１１１は、主にアプリケーション構築者がアプリケーション構築作業を行うためのユーザインタフェースである。利用コンポーネントデータインポート部１１２は、アプリケーション構築に利用するコンポーネントや複合コンポーネントのコンポーネントデータを外部装置や記憶媒体、ネットワークに接続されている外部装置などから取得する。
【００４７】
実動作装置設定部１１３は、内部コンポーネントのインスタンスとアプリケーションを構成するフィールド機器とを関連付けする。コンポーネントインスタンス情報生成部１１４は、アプリケーション構築装置１１内に登録されているフィールド機器上で動作するコンポーネントのインスタンスを生成するとともに、コンポーネントデータの識別子と動作装置の識別子、コンポーネント間の接続情報、プロパティなどを含む「インスタンス設定情報」を生成し、フィールド機器が指定されたコンポーネント間の接続設定を行う。
【００４８】
コンポーネント配置部１１５は、「コンポーネントデータ」と「インスタンス設定情報」に基づいて、配置先のフィールド機器が決定された各コンポーネントを各フィールド機器と通信して配置する。
【００４９】
コンポーネントデータ保存部１１６は、複合コンポーネント作成装置１１からネットワークを介して取り込んだアプリケーション構築に利用するコンポーネントデータを記憶する。アプリケーション構築設定データ保存部１１７は、利用可能なフィールド機器の構成情報（たとえばフィールド機器の識別子、ネットワークアドレス、フィールド機器のスペックなどの能力情報）、コンポーネントのインスタンス設定情報を含む「アプリケーション構築設定データ」を保存する。
【００５０】
このように構成される本発明の複合コンポーネント配置システムにおいて、まず複合コンポーネント作成装置１０はコンポーネント作成者などによって利用され複合コンポーネントとその複合コンポーネント定義情報を作成し、次にアプリケーション構築装置１１はアプリケーション構築者などによって利用され複合コンポーネント作成装置１０で作成した複合コンポーネントを各フィールド機器に分割配置してアプリケーションを構築する。
【００５１】
図４は複合コンポーネントの各定義情報の説明図、図５は複合コンポーネントとその定義情報の作成の動作フロー図、図６は複合コンポーネント定義情報の説明図である。
【００５２】
図５のステップＳ２０１において、コンポーネント作成者は、複合コンポーネント作成装置１０のコンポーネント作成インタフェース１０１を介して複合コンポーネント作成に利用したいコンポーネント（たとえば図４のコンポーネントＡ〜Ｃ）を指定する。なお、コンポーネントＡ〜Ｃは、図４に示すように複合コンポーネントＺを構成する。
【００５３】
ステップＳ２０２において、複合コンポーネント作成装置１０の利用コンポーネントデータインポート部１０２は、コンポーネント作成者が指定したコンポーネント（たとえば内部コンポーネントＡ〜Ｃ）に利用するコンポーネントデータを外部装置や記憶媒体などから取得し、複合コンポーネントデータ保存１０７に記憶する。
【００５４】
ステップＳ２０３において、コンポーネント作成者は、仮想動作装置構成設定部１０３利用して、コンポーネントデータを解析して複合コンポーネントＺ、内部コンポーネントＡ〜Ｃの動作環境の推奨構成である仮想動作装置の構成を抽出し、「仮想動作装置情報」を作成して複合コンポーネントデータ保存部１０７に保存する。
【００５５】
なお、仮想動作装置情報は、仮想動作装置の構成情報などを含むもので、仮想動作装置が持つ情報の種類（温度、湿度、装置の健康状態など）、Ｉ／Ｏの情報(Analog I/O、 Digital I/O、 Serial Portなど)、リソース情報(メモリサイズ、記憶領域サイズなど)、共通サービス機能(Webサーバ、RDBなど)などから構成される。
【００５６】
また、複合コンポーネントは、この仮想動作装置情報を属性値または属性情報として有しており、複数個の仮想装置からなる仮想動作装置情報を有するものであってもよい。
【００５７】
仮想動作装置構成設定部１０３は、図４に示すように、コンポーネントＡの動作環境の推奨構成である「仮想動作装置−１」と、コンポーネントＢおよびＣの動作環境の推奨構成である「仮想動作装置―２」などの仮想動作装置情報などを作成する。なお、この仮想動作装置情報は、XML形式やKey-Value形式などのファイルなどで記述されている。
【００５８】
さらに仮想動作装置構成設定部１０３は、たとえば図６（Ｂ）に示すように、仮想動作装置として持つ情報の種類が「温度（℃）、湿度（％）」、Ｉ／Ｏの情報が「s-port1（Serial Port）」である仮想動作装置―１と、仮想動作装置として持つ情報の種類が「回転数（rpm）」で、リソース情報が「メモリサイズ１６ＭＢ」、Ｉ／Ｏの情報が「DI-port1（Digital Port）」である仮想動作装置―２とから構成される「仮想動作装置情報」を作成する。
【００５９】
図５のステップＳ２０４において、複合コンポーネント内部構成設定部１０４は、仮想動作装置情報に基づいて、内部コンポーネントＡ〜Ｃが仮想動作装置−１、２に対して適切に配置するための内部コンポーネントの接続設定などを示す「内部コンポーネント間接続関係情報」を生成して複合コンポーネントデータ保存部１０７に記憶する。
【００６０】
また、複合コンポーネント内部構成設定部１０４は、内部コンポーネントの識別子とこの内部コンポーネントの動作環境の推奨構成である仮想動作装置の識別子の対応付けする「内部コンポーネント配置関係情報」を生成して複合コンポーネントデータ保存部１０７に記憶する。たとえば図４に示すように、コンポーネントＡは仮想動作装置―１に配置することを示す配置関係情報Ａ、コンポーネントＢは仮想動作装置―２に配置することを示す配置関係情報Ｂ、コンポーネントＣは仮想動作装置―２に配置することを示す配置関係情報Ｃのような内部コンポーネント配置関係情報を生成して記憶する。
【００６１】
なお、この「内部コンポーネント間接続関係情報」と「内部コンポーネント配置関係情報」は、内部コンポーネントの識別子と名前のリストである「内部コンポーネント情報リスト」とともにXML形式やKey-Value形式などのファイルなどで記述されている。「内部コンポーネント構成情報」には、「内部コンポーネント間接続関係情報」、「内部コンポーネント配置関係情報」、「内部コンポーネント情報リスト」が記載されている。
【００６２】
具体的には、たとえば図６（Ｃ−１）および（Ｃ−２）に示すように、コンポーネントの識別子が「XXX−ID」、名前が「XXX−Name」に設定される内部コンポーネント情報リストと、内部コンポーネント間の通信プロトコルが「OPC」、通信する内部コンポーネントとそのインタフェースが「コンポーネントＡ、ＩＦ−１」、「コンポーネントＢ、ＩＦ―２」、通信用ポートが「８０８０」に設定される内部コンポーネント間接続関係情報とから構成される内部コンポーネント構成情報を作成する。
【００６３】
このように、複合コンポーネント作成装置１０は、複合コンポーネントを作成して内部コンポーネントの動作環境の推奨構成である仮想動作装置を設定するとともに、複合コンポーネント定義情報を作成することができる。
【００６４】
次に、アプリケーション構築者が複合コンポーネントを各フィールド機器に分割配置する動作を、図７の動作フロー図と図８の複合コンポーネントの配置例説明図を用いて説明する。
【００６５】
なお前提として、アプリケーション構築装置１１はネットワークＮＷ２００を介して複合コンポーネント作成装置１０から複合コンポーネントのコンポーネントデータおよび仮想動作装置情報や内部コンポーネント構成情報などの「複合コンポーネント定義情報」を取得し、コンポーネントデータ保存部１１６に記憶しているものとする。
【００６６】
アプリケーション構築装置１１のコンポーネントインスタンス情報生成部１１４は、たとえば図１のパケット通信ＤＦ２００の流れに示すように、複合コンポーネント作成装置１０からコンポーネントデータおよび複合コンポーネント定義情報を取得する。
【００６７】
図７のステップＳ３０１において、アプリケーション構築者は、設定インタフェース１１１を介してアプリケーション構築に利用する複合コンポーネントを指定する。
【００６８】
ステップＳ３０２において、アプリケーション構築装置１１のコンポーネントインスタンス情報生成部１１４は、設定インタフェース１１１で指定されたコンポーネントデータおよび複合コンポーネント定義情報をコンポーネントデータ保存部１１６から取得する。
【００６９】
ステップＳ３０３において、コンポーネントインスタンス情報生成部１１４は、複合コ
ンポーネント定義情報の内部コンポーネント構成情報に基づいて内部コンポーネントのインスタンスおよびそのインスタンス設定情報を生成し、アプリケーション構築設定データ保存部１１７に記憶する。
【００７０】
ステップＳ３０４において、コンポーネントインスタンス情報生成部１１４は、複合コンポーネントの定義情報の内部コンポーネント構成情報に基づいて各内部コンポーネントのインスタンス間の接続設定を行い、インスタンス設定情報として記憶する。たとえば図８に示すように、コンポーネントＡとコンポーネントＢを接続する「接続設定情報ＡＢ」の設定とコンポーネントＡとコンポーネントＣを接続する「接続設定情報ＡＣ」の設定を行い、インスタンス設定情報として記憶する。
【００７１】
ステップＳ３０５において、コンポーネントインスタンス情報生成部１１４は、生成したコンポーネントのインスタンスおよびインスタンス設定情報を、アプリケーション構築設定データ保存部１１７に記憶する。
【００７２】
ステップＳ３０６において、アプリケーション構築者は設定インタフェース１１１を利用し、複合コンポーネントＺの仮想動作装置に対応する動作装置としてフィールド機器１２〜１３を指定する。
【００７３】
すなわち図８に示すように、アプリケーション構築者は設定インタフェース１１１を介して「仮想動作装置−１」に対応する動作装置としてフィールド機器１２を指定し、「仮想動作装置−２」に対応する動作装置としてフィールド機器１３を指定する。
【００７４】
ステップＳ３０７において、コンポーネントインスタンス情報生成部１１４は、指定されたフィールド機器が仮想動作装置の能力を備えるかどうか確認する。たとえば、複合コンポーネント定義情報の仮想動作装置情報とコンポーネントデータ保存部１１６にあらかじめ記憶されているフィールド機器１２〜１３の構成情報を比較して指定されたフィールド機器１２〜１３が仮想動作装置―１〜２の能力を備えているかどうか確認する。
【００７５】
指定されたフィールド機器が仮想動作装置の能力を備えている場合は、ステップＳ３０８に移行する。ステップＳ３０８において、実動作装置設定部１１３は、仮想動作装置と内部コンポーネントの関連を表す「内部コンポーネント配置関係情報」を参照して、コンポーネントＡ〜Ｃのインスタンスのインスタンス設定情報に、各コンポーネントが動作する動作装置としてステップＳ３０６で指定されたフィールド機器の構成情報を設定する。
【００７６】
すなわち、実動作装置設定部１１３は、内部コンポーネントＡ〜Ｃのインスタンスとアプリケーションを構成するフィールド機器１２〜１３とを関連付けする。たとえば図８に示すように、コンポーネントＡのインスタンスのインスタンス設定情報にフィールド機器１２の構成情報を設定し、コンポーネントＢのインスタンスおよびコンポーネントＣのインスタンスの各インスタンス設定情報にフィールド機器１３の構成情報をそれぞれ設定する。
【００７７】
ステップＳ３０９において、実動作装置設定部１１３は、これらのインスタンス設定情報をアプリケーション構築設定データ保存部１１７に記憶する。
【００７８】
ステップＳ３１０において、コンポーネント配置部１１５は、ネットワークＮＷ２００を介してフィールド機器１２および１３の図示しないコンポーネント配置実行部と通信し、アプリケーション構築設定データ保存部１１７に記憶されたコンポーネントデータおよびインスタンス設定情報を送信する。
【００７９】
コンポーネント配置部１１５は、たとえば図１のパケット通信ＤＦ２０２および２０３の流れに示すように、フィールド機器１２および１３にコンポーネントデータおよびインスタンス設定情報を送信する。
【００８０】
そして、フィールド機器１２および１３の図示しないコンポーネント配置実行部は、受信したコンポーネントデータおよびインスタンス設定情報に基づいて、各コンポーネントのインスタンスの配置を行う。
【００８１】
たとえば、フィールド機器１２は受信したコンポーネントデータに基づいてコンポーネントＡのインスタンスを配置し、フィールド機器１３は受信したコンポーネントデータに基づいてコンポーネントＢのインスタンスを配置する。
【００８２】
一方ステップＳ３０７において、指定されたフィールド機器が仮想動作装置の能力を備えない場合はステップＳ３１１に移行し、ステップＳ３１１において設定ユーザインタフェース部１１１は指定されたフィールド機器が仮想動作装置の能力を備えない旨を表示してアプリケーション構築者に通知する。
【００８３】
このように、アプリケーション構築装置１１は、複合コンポーネントを内部コンポーネントの動作環境に適した複数のフィールド機器にそれぞれ分割配置してアプリケーションを構築することができる。
【００８４】
なお、上記実施例では、アプリケーション構築装置１１は図７のステップＳ３０１〜Ｓ３１１に示す一連の流れで複合コンポーネントを内部コンポーネントの動作環境の推奨構成である仮想動作装置に適した複数のフィールド機器にそれぞれ分割配置しているが、特にこれに限定するものではなく、ステップＳ３０１〜Ｓ３０９までに行われる「配置設定処理」とステップＳ３１０において行われる「配置実行処理」とは一連の動作で行うものではなく、それぞれタイミングを分けて処理するものであってもよい。
【００８５】
また、上記実施例では、フィールド制御システムを例として各フィールド機器に内部コンポーネントを分散配置してアプリケーションを開発する動作を説明しているが、生産実績管理システムなどの他のシステムにおいて、各種システムを構成するコントローラや各種動作装置上にコンポーネントを分割配置してアプリケーションを構築するものであってもよい。
【００８６】
たとえば、ある生産ラインに複数存在するコントローラ上で動作する各コンポーネントを生産ライン単位でまとめて複合コンポーネントとする場合は、アプリケーション構築装置１１は複合コンポーネントを内部コンポーネントの動作環境の推奨構成である仮想動作装置にそれぞれ分割配置することにより、同様の生産ラインを増設する際に、システム構築者が各コントローラ上の各内部コンポーネントの配置設定やそれに伴う接続設定を手動で再設定することなく、生産ラインのアプリケーションの複製を作成できる。
【００８７】
また、上記実施例では、複合コンポーネント作成装置１０が複合コンポーネントとその複合コンポーネント定義情報を作成し、アプリケーション構築装置１１がコンポーネント作成装置１０で作成した複合コンポーネントを各フィールド機器に分割配置しているが、特にこれに限定するものではなく、アプリケーション構築装置は複合コンポーネント作成装置の機能を有するものであっても構わない。すなわちアプリケーション構築装置は、複合コンポーネントとその定義情報を作成し、各フィールド機器に分割配置するものであってもよい。
【００８８】
以上説明したように、本発明によれば、複合コンポーネントを内部コンポーネントの動作環境に適した各フィールド機器に分割配置してアプリケーションを構築できる複合コンポーネント配置システムが実現できる。
【図面の簡単な説明】
【００８９】
【図１】複合コンポーネント配置システムの一実施例を示す構成ブロック図である。
【図２】複合コンポーネント作成装置１０を構成する機能ブロック例図である。
【図３】アプリケーション構築装置１１を構成する機能ブロック例図である。
【図４】複合コンポーネントの各定義情報の説明図である。
【図５】複合コンポーネントとその定義情報の作成の動作フロー図である。
【図６】複合コンポーネント定義情報の説明図である。
【図７】複合コンポーネントを各フィールド機器に分割配置する動作フロー図である。
【図８】複合コンポーネントの配置例の説明図である。
【図９】従来のアプリケーション構築装置の一例を示す構成ブロック図である。
【図１０】複合コンポーネントの一例を示す説明図である。
【図１１】複合コンポーネントの配置例の説明図である。
【符号の説明】
【００９０】
１、１１  アプリケーション構築装置
２、３、１２、１３  フィールド機器
１０  複合コンポーネント作成装置
１０１  コンポーネント作成ユーザインタフェース部
１０２  利用コンポーネントデータインポート部
１０３  仮想動作装置構成設定部
１０４  複合コンポーネント内部構成設定部
１０５  作成コンポーネントデータエクスポート部
１０６  コンポーネントデータ保存部
１０７  複合コンポーネントデータ保存部
１１１  設定ユーザインタフェース部
１１２  利用コンポーネントデータインポート部
１１３  実動作装置設定部
１１４  コンポーネントインスタンス情報生成部
１１５  コンポーネント配置部
１１６  コンポーネントデータ保存部
１１７  アプリケーション構築設定データ保存部
【図１】
2009110311.tif 000003
【図２】
2009110311.tif 000004
【図３】
2009110311.tif 000005
【図４】
2009110311.tif 000006
【図５】
2009110311.tif 000007
【図６】
2009110311.tif 000008
【図７】
2009110311.tif 000009
【図８】
2009110311.tif 000010
【図９】
2009110311.tif 000011
【図１０】
2009110311.tif 000012
【図１１】
2009110311.tif 000013