(57)【要約】【課題】  アプリケーションプログラム間での連携動作を容易に実現することが可能なシステムを実現する。【解決手段】  ネットワークを介して相互に接続された複数のフィールド機器上で動作するアプリケーションプログラム間で連携動作を行うシステムにおいて、ＯＳで動作するアプリケーション管理機能が記憶手段からアプリケーション、スロット及びコネクタをそれぞれ読み出してアプリケーション、スロット及びコネクタをそれぞれ起動させると共に、アプリケーションにスロットを登録させスロットにコネクタを登録させるＯＳが稼動する第１及び第２のフィールド機器とを備え、第１及び第２のフィールド機器でそれぞれ動作するアプリケーションが１組のスロットで構成されるチャネルインターフェースを介して１組のコネクタで構成される仮想的なチャネルに接続して仮想的なデータの送受信を行う。【選択図】                    図１
2007328480.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して相互に接続された複数のフィールド機器上で動作するアプリケーションプログラム間で連携動作を行うシステムにおいて、
オペレーティングシステム上で動作するアプリケーション管理機能が記憶手段からアプリケーション、スロット及びコネクタをそれぞれ読み出して前記アプリケーション、前記スロット及び前記コネクタをそれぞれ起動させると共に、前記アプリケーションに前記スロットを登録させ前記スロットに前記コネクタを登録させる前記オペレーティングシステムが稼動する第１及び第２のフィールド機器とを備え、
前記第１及び第２のフィールド機器でそれぞれ動作するアプリケーションが１組の前記スロットで構成されるチャネルインターフェースを介して１組の前記コネクタで構成される仮想的なチャネルに接続して仮想的なデータの送受信を行うこと特徴とするシステム。
【請求項２】
前記アプリケーションに複数の前記スロットを登録させることを特徴とする
請求項１記載のシステム。
【請求項３】
前記アプリケーションに登録されている１つの前記スロットに複数の前記コネクタを登録させることを特徴とする
請求項１記載のシステム。
【請求項４】
同一フィールド機器上で動作する複数の前記アプリケーションが１組の前記スロットで構成されるチャネルインターフェースを介して１組の前記コネクタで構成される仮想的なチャネルに接続して仮想的なデータの送受信を行うことを特徴とする
請求項１記載のシステム。
【請求項５】
予め設定されているコネクタパラメータを参照して必要な処理を呼び出して実行するパラメータ参照処理機能を前記コネクタに実装することを特徴とする
請求項１記載のシステム。
【請求項６】
前記パラメータ参照処理機能が、
前記コネクタパラメータを参照して異なるフィールド機器間の連携ではないと判断した場合に、同一フィールド機器内の処理を呼び出し処理の実行を行い、
前記コネクタパラメータを参照してＩＰネットワークではないと判断した場合に、非ＩＰネットワーク用の処理を呼び出し処理の実行を行い、
ＩＰネットワーク用の処理を呼び出し、
前記コネクタパラメータを参照してＬＡＮではないと判断した場合に、ＷＡＮ対応の処理を呼び出し前記ＩＰネットワーク用の処理と共に処理の実行を行い、
ＬＡＮ対応の処理を呼び出し前記ＩＰネットワーク用の処理と共に処理の実行を行うことを特徴とする
請求項５記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して相互に接続された複数のフィールド機器上で動作するアプリケーションプログラム間で連携動作を行うシステムに関し、特にアプリケーションプログラム間での連携動作を容易に実現することが可能なシステムに関する。
【背景技術】
【０００２】
従来のネットワークを介して相互に接続された複数のフィールド機器上で動作するアプリケーションプログラム間で連携動作を行うシステムに関連する先行技術文献としては次のようなものがある。
【０００３】
【特許文献１】特開平０８−１９０５１３号公報
【特許文献２】特開２００３−００６１５５号公報
【０００４】
図７はこのような従来のアプリケーションプログラム間で連携動作を行うシステムの一例を示す構成ブロック図である。
【０００５】
図７において１，２，３，４及び５はセンサ、アクチュエータ、コントローラ、通信測定器、計測器、記録装置、サーバ等の分散配置されたフィールド機器、１００はＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）やインターネット等の汎用のネットワークである。
【０００６】
フィールド機器１，２，３，４及び５はネットワーク１００にそれぞれ相互に接続される。また、各フィールド機器１，２，３，４及び５上では図７中”ＡＰ０１”、”ＡＰ０２”、”ＡＰ０３”、”ＡＰ０４”及び”ＡＰ０５”に示すアプリケーションプログラム（以下、単にアプリケーションと呼ぶ。）が動作している。
【０００７】
ここで、図７に示す従来例の動作を図８及び図９を用いて説明する。図８は従来例の動作を説明する説明図、図９はアプリケーションが共通プロトコルに準拠していることを説明する説明図である。
【０００８】
そして、図８中”ＲＬ１１”に示す連携（論理的なつながり）によってフィールド機器１上で動作する図８中”ＡＰ０１”に示すアプリケーションは、フィールド機器２上で動作する図８中”ＡＰ０２”に示すアプリケーションとの間でデータのやり取り等の連携を行う。
【０００９】
例えば、図８中”ＡＰ０１”、”ＡＰ０２”、”ＡＰ０３”、”ＡＰ０４”及び”ＡＰ０５”に示すアプリケーションは共通プロトコルに準拠しており、図９に示すように図９中”ＡＰ０１”に示すアプリケーションには、図９中”ＰＲ２１”に示すように共通のプロトコルや連携の通信先の指定方法等がそれぞれ実装されている。
【００１０】
このような状態で、図８中”ＡＰ０１”に示すアプリケーションが、フィールド機器１、ネットワーク１００及びフィールド機器２を介して図８中”ＡＰ０２”に示すアプリケーションとの間で共通プロトコル（図９中”ＰＲ２１”）を用いて通信を行うことにより、図８中”ＡＰ０１”及び”ＡＰ０２”に示すアプリケーションが相互に連携することになる。
【００１１】
同様に、図８中”ＲＬ１２”に示す連携（論理的なつながり）によってフィールド機器２上で動作する図８中”ＡＰ０２”に示すアプリケーションは、フィールド機器３上で動作する図８中”ＡＰ０３”に示すアプリケーションとの間でデータのやり取り等の連携を行う。
【００１２】
同様に、図８中”ＲＬ１３”に示す連携（論理的なつながり）によってフィールド機器３上で動作する図８中”ＡＰ０３”に示すアプリケーションは、フィールド機器４上で動作する図８中”ＡＰ０４”に示すアプリケーションとの間でデータのやり取り等の連携を行う。
【００１３】
最後に、図８中”ＲＬ１４”に示す連携（論理的なつながり）によってフィールド機器４上で動作する図８中”ＡＰ０４”に示すアプリケーションは、フィールド機器５上で動作する図８中”ＡＰ０５”に示すアプリケーションとの間でデータのやり取り等の連携を行う。
【００１４】
この結果、フィールド機器上で動作するアプリケーションがフィールド機器及びネットワークを介して他のフィールド機器上で動作するアプリケーションとの間で共通のプロトコルを用いて通信を行うことにより、ネットワークに分散配置された複数のフィールド機器上で動作するアプリケーションが相互に連携するシステムを構築することができる。
【００１５】
また、図１０は従来のアプリケーションプログラム間で連携動作を行うシステムの他の一例を示す構成ブロック図であり、特に、フィールドバスに準拠して構築されたシステムである。
【００１６】
図１０において６は流路（図示せず）の流量を計測するフィールド機器である流量計、７はＰＩＤ（Proportional Integral Differential）制御を行うフィールド機器であるコントローラ、８はバルブ（図示せず）の開度を制御して流路（図示せず）の流量を調整するフィールド機器であるバルブ調節計である。
【００１７】
流量計６、コントローラ７及びバルブ調節計８は図示しないネットワークにそれぞれ相互に接続される。また、流量計６上では図１０中”ＡＰ３１”に示すアプリケーションが動作している。
【００１８】
同様に、コントローラ７上では図１０中”ＡＰ３２”、”ＡＰ３３”及び”ＡＰ３４”に示すアプリケーションが動作し、バルブ調節計８上では図１０中”ＡＰ３５”に示すアプリケーションが動作している。
【００１９】
ここで、図１０に示す従来例の動作を説明する。各アプリケーションはフィールドバスに準拠して機能定義及びインターフェース定義が行われ、これらのアプリケーションを組み合わせることにより分散制御アプリケーションを構築する。
【００２０】
例えば、図１０中”ＡＰ３１”及び”ＡＰ３４”に示すアプリケーションはＡＯ（AnalogOutput機能）として機能定義され、図１０中”ＡＰ３２”及び”ＡＰ３５”に示すアプリケーションはＡI（AnalogInput機能）として機能定義される。また、図１０中”ＡＰ３３”に示すアプリケーションはＰＩＤ（ＰＩＤ演算機能）として機能定義される。
【００２１】
流量計６は、流路を流量を計測して計測結果を流量計６上で動作する図１０中”ＡＰ３１”に示すアプリケーション（AnalogOutput機能）を用いてコントローラ７にネットワーク（図示せず。）を介して送信させる。
【００２２】
コントローラ７は、コントローラ７上で動作する図１０中”ＡＰ３２”に示すアプリケーション（AnalogInput機能）を用いて流量計６からの計測結果を受信させ、コントローラ７上で動作する図１０中”ＡＰ３３”に示すアプリケーション（ＰＩＤ演算機能）を用いて計測結果と流量の目標値に基づきＰＩＤ演算を行わせる。
【００２３】
また、コントローラ７は、ＰＩＤ演算結果をコントローラ７上で動作する図１０中”ＡＰ３４”に示すアプリケーション（AnalogOutput機能）を用いてバルブ調節計８にネットワーク（図示せず。）を介して送信させる。
【００２４】
最後に、バルブ調節計８は、バルブ調節計８上で動作する図１０中”ＡＰ３５”に示すアプリケーション（AnalogInput機能）を用いてコントローラ７からの計測結果を受信させ、受信したＰＩＤ演算結果に基づきバルブの開度を調節して流路の流量を制御する。
【００２５】
この結果、各アプリケーションをフィールドバスに準拠して機能定義及びインターフェース定義すると共にこれらのアプリケーションを組み合わせて分散制御アプリケーションを構築することにより、ネットワークに分散配置された複数のフィールド機器上で動作するアプリケーションが相互に連携するシステムを構築することができる。
【発明の開示】
【発明が解決しようとする課題】
【００２６】
しかし、図７に示す従来例では共通プロトコルによる連携であるため、図９に示すように各フィールド機器上で動作するアプリケーション毎にプロトコル実装等が必要になると言った問題点があった。
【００２７】
また、図１０に示す従来例では、フィールドバスに準拠した機能定義等は分散制御アプリケーションの構築に特化されているので、フィールドバスに準拠した機能定義等を用いて汎用的なアプリケーションを構築することは容易ではないと言った問題点があった。
従って本発明が解決しようとする課題は、アプリケーションプログラム間での連携動作を容易に実現することが可能なシステムを実現することにある。
【課題を解決するための手段】
【００２８】
このような課題を達成するために、本発明のうち請求項１記載の発明は、
ネットワークを介して相互に接続された複数のフィールド機器上で動作するアプリケーションプログラム間で連携動作を行うシステムにおいて、
オペレーティングシステム上で動作するアプリケーション管理機能が記憶手段からアプリケーション、スロット及びコネクタをそれぞれ読み出して前記アプリケーション、前記スロット及び前記コネクタをそれぞれ起動させると共に、前記アプリケーションに前記スロットを登録させ前記スロットに前記コネクタを登録させる前記オペレーティングシステムが稼動する第１及び第２のフィールド機器とを備え、前記第１及び第２のフィールド機器でそれぞれ動作するアプリケーションが１組の前記スロットで構成されるチャネルインターフェースを介して１組の前記コネクタで構成される仮想的なチャネルに接続して仮想的なデータの送受信を行うことにより、アプリケーションプログラム間での連携動作を容易に実現することができる。
【００２９】
請求項２記載の発明は、
請求項１記載の発明であるアプリケーションプログラム間で連携動作を行うシステムにおいて、
前記アプリケーションに複数の前記スロットを登録させることにより、より複雑なアプリケーションの連携動作を容易に実現することができる。
【００３０】
請求項３記載の発明は、
請求項１記載の発明であるアプリケーションプログラム間で連携動作を行うシステムにおいて、
前記アプリケーションに登録されている１つの前記スロットに複数の前記コネクタを登録させることにより、より複雑なアプリケーションの連携動作を容易に実現することができる。
【００３１】
請求項４記載の発明は、
請求項１記載の発明であるアプリケーションプログラム間で連携動作を行うシステムにおいて、
同一フィールド機器上で動作する複数の前記アプリケーションが１組の前記スロットで構成されるチャネルインターフェースを介して１組の前記コネクタで構成される仮想的なチャネルに接続して仮想的なデータの送受信を行うことにより、アプリケーションプログラム間での連携動作を容易に実現することができる。
【００３２】
請求項５記載の発明は、
請求項１記載の発明であるアプリケーションプログラム間で連携動作を行うシステムにおいて、
予め設定されているコネクタパラメータを参照して必要な処理を呼び出して実行するパラメータ参照処理機能を前記コネクタに実装することにより、コネクタに設定されるコネクタパラメータを変更することでネットワーク環境の違いに対応することができる。
【００３３】
請求項６記載の発明は、
請求項５記載の発明であるアプリケーションプログラム間で連携動作を行うシステムにおいて、
前記パラメータ参照処理機能が、
前記コネクタパラメータを参照して異なるフィールド機器間の連携ではないと判断した場合に、同一フィールド機器内の処理を呼び出し処理の実行を行い、前記コネクタパラメータを参照してＩＰネットワークではないと判断した場合に、非ＩＰネットワーク用の処理を呼び出し処理の実行を行い、ＩＰネットワーク用の処理を呼び出し、前記コネクタパラメータを参照してＬＡＮではないと判断した場合に、ＷＡＮ対応の処理を呼び出し前記ＩＰネットワーク用の処理と共に処理の実行を行い、ＬＡＮ対応の処理を呼び出し前記ＩＰネットワーク用の処理と共に処理の実行を行うことにより、コネクタに設定されるコネクタパラメータを変更することでネットワーク環境の違いに対応することができる。
【発明の効果】
【００３４】
本発明によれば次のような効果がある。
請求項１及び請求項４の発明によれば、アプリケーション管理機能が記憶手段からアプリケーションを読み出してアプリケーションを起動させ、併せて、記憶手段からスロット及びコネクタをそれぞれ読み出してスロット及びコネクタをそれぞれ起動させ、アプリケーションが１組のスロットで構成されるチャネルインターフェースを介して１組のコネクタで構成される仮想的なチャネルに接続して仮想的なデータの送受信を行うことにより、アプリケーションプログラム間での連携動作を容易に実現することができる。
【００３５】
また、請求項２及び請求項３の発明によれば、１つのアプリケーションに複数のスロットを登録させたり、アプリケーションに登録されている１つのスロットに複数のコネクタを登録させることにより、より複雑なアプリケーションの連携動作を容易に実現することができる。
【００３６】
また、請求項５及び請求項６の発明によれば、コネクタに設定されるコネクタパラメータを参照して必要な処理を呼び出して実行するパラメータ参照処理機能をコネクタに実装することにより、コネクタに対して変更を加えることなく、コネクタに設定されるコネクタパラメータを変更することでネットワーク環境の違いに対応することができる。
【発明を実施するための最良の形態】
【００３７】
以下本発明を図面を用いて詳細に説明する。図１は本発明に係るアプリケーションプログラム間で連携動作を行うシステムを構成するフィールド機器の一実施例を示す構成ブロック図である。
【００３８】
図１において９はセンサ、アクチュエータ、コントローラ、通信測定器、計測器、記録装置、サーバ等のフィールド機器である。また、フィールド機器９は図示しないネットワークに相互に接続され、他のフィールド機器（図示せず。）もまた図示しないネットワークに相互に接続される。
【００３９】
ここで、図１に示す実施例の動作を図２及び図３を用いて説明する。図２は２つのフィールド機器間での連携動作を説明する説明図、図３は２つのフィールド機器上でそれぞれ動作するアプリケーションの連携の論理的な構成を説明する説明図である。
【００４０】
フィールド機器９では、図１中”ＨＷ４１”に示すフィールド機器９のＣＰＵ（Central Processing Unit）やＲＡＭ（Random Access Memory）等のハードウェア上で図１中”ＯＳ４１”に示すオペレーティングシステム（Operating System：以下、単にＯＳと呼ぶ。）が稼動する。
【００４１】
そして、図１中”ＯＳ４１”に示すＯＳ上には、図１中”ＡＰ４１”に示すアプリケーション、図１中”ＳＬ４１”に示すスロットプログラム（以下、単にスロットと呼ぶ。）、図１中”ＣＮ４１”に示すコネクタプログラム（以下、単にコネクタと呼ぶ。）及び図１中”ＭＧ４１”に示すアプリケーション管理機能がそれぞれ動作する。
【００４２】
例えば、図１中”ＡＰ４１”に示すアプリケーションを起動する場合、図１中”ＭＧ４１”に示すアプリケーション管理機能は、図１中”ＲＤ４１”に示すように図１中”ＨＤ４１”に示すハードディスク等の記憶手段からアプリケーションを読み出し、図１中”ＳＴ４１”に示すようにアプリケーションを起動させる。
【００４３】
同様に、図１中”ＭＧ４１”に示すアプリケーション管理機能は、図１中”ＲＤ４１”に示すように図１中”ＨＤ４１”に示すハードディスク等の記憶手段からスロット及びコネクタをそれぞれ読み出し、図１中”ＳＴ４２”及び”ＳＴ４３”に示すようにスロット及びコネクタをそれぞれ起動させる。
【００４４】
図１中”ＣＮ４１”に示すコネクタは、起動時に図１中”ＳＬ４１”に示すスロットに登録され、図１中”ＳＬ４１”に示すスロットは、起動時に図１中”ＡＰ４１”に示すアプリケーションに登録される。
【００４５】
そして、図１中”ＡＰ４１”に示すアプリケーションが、図１中”ＣＬ４１”に示すように登録されている図１中”ＳＬ４１”に示すスロットを呼び出し、図１中”ＳＬ４１”に示すスロットが、図１中”ＣＬ４２”に示すように登録されている図１中”ＣＮ４１”に示すコネクタを呼び出し、図１中”ＣＮ４１”に示すコネクタが図１中”ＣＬ４３”に示すように図１中”ＯＳ４１”に示すＯＳを呼び出す。
【００４６】
次に、２つのフィールド機器間での連携動作を説明する。図２において１０はフィールド機器９と同一の構成を有するフィールド機器であり、９、”ＨＷ４１”、”ＯＳ４１”、”ＡＰ４１”、”ＳＬ４１”、”ＣＮ４１”、”ＭＧ４１”及び”ＨＤ４１”は図１と同一符号を付してある。
【００４７】
また、図２中”ＨＷ５１”はフィールド機器１０のＣＰＵやＲＡＭ等のハードウェア、図２中”ＯＳ５１”は図２中”ＨＷ５１”に示すハードウェア上で稼動するＯＳ、図２中”ＡＰ５１”、”ＳＬ５１”、”ＣＮ５１”及び”ＭＧ５１”はそれぞれ図２中”ＯＳ５１”に示すＯＳ上で動作するアプリケーション、スロット、コネクタ及びアプリケーション管理機能、図２中”ＨＤ５１”はハードディスク等の記憶手段である。
【００４８】
また、フィールド機器９及びフィールド機器１０は図示しないネットワークにそれぞれ相互に接続されている。
【００４９】
図２中”ＣＮ４１”及び”ＣＮ５１”に示す１組のコネクタは図２中”ＣＨ５１”に示すチャネルを構成し、図２中”ＳＬ４１”及び”ＳＬ５１”に示す１組のスロットは図２中”ＣＩ５１”に示す当該チャネルに接続可能なチャネルインターフェースを構成している。
【００５０】
また、ここで、図２中”ＣＨ５１”に示すチャネルは仮想的（論理的）な通信経路であり、図２中”ＣＩ５１”に示すチャネルインターフェースは図２中”ＣＨ５１”に示すチャネルに接続するためのインターフェースである。
【００５１】
前述と同様に、例えば、図２中”ＡＰ５１”に示すアプリケーションを起動する場合、図２中”ＭＧ５１”に示すアプリケーション管理機能は、図２中”ＨＤ５１”に示すハードディスク等の記憶手段からアプリケーションを読み出してアプリケーションを起動させる。
【００５２】
同様に、図２中”ＭＧ５１”に示すアプリケーション管理機能は、図２中”ＨＤ５１”に示すハードディスク等の記憶手段からスロット及びコネクタをそれぞれ読み出してスロット及びコネクタをそれぞれ起動させる。
【００５３】
また、図２中”ＣＮ５１”に示すコネクタは、起動時に図２中”ＳＬ５１”に示すスロットに登録され、図２中”ＳＬ５１”に示すスロットは、起動時に図２中”ＡＰ５１”に示すアプリケーションに登録される。
【００５４】
そして、図２中”ＡＰ５１”に示すアプリケーションが登録されている図２中”ＳＬ５１”に示すスロットを呼び出し、図２中”ＳＬ５１”に示すスロットが登録されている図２中”ＣＮ５１”に示すコネクタを呼び出し、図１中”ＣＮ５１”に示すコネクタが図２中”ＯＳ５１”に示すＯＳを呼び出す。
【００５５】
このような状況下で、図２中”ＡＰ４１”に示すアプリケーションと、図２中”ＡＰ５１”に示すアプリケーションとの間で連携を行う場合を想定する。具体的には、図２中”ＡＰ４１”に示すアプリケーションから図２中”ＡＰ５１”に示すアプリケーションにデータを送信する場合を想定する。
【００５６】
図２中”ＡＰ４１”に示すアプリケーションは、送信するデータを図２中”ＳＬ４１”に示すスロットに渡し、図２中”ＳＬ４１”に示すスロットは、図２中”ＣＮ４１”に示すコネクタにデータを中継する。
【００５７】
そして、図２中”ＣＮ４１”に示すコネクタは、図２中”ＯＳ４１”に示すＯＳを介してフィールド機器９のハードウェア（”ＨＷ４１”）を利用して、図２中”ＣＭ５１”に示すようにフィールド機器１０のハードウェア（”ＨＷ５１”）との間で通信（データ送信）を行う。
【００５８】
一方、図２中”ＣＮ５１”に示すコネクタは、図２中”ＯＳ５１”に示すＯＳを介してフィールド機器１０のハードウェア（”ＨＷ５１”）を利用して受信データを取り込み、図２中”ＳＬ５１”に示すスロットに渡し、図２中”ＳＬ５１”に示すスロットは、図２中”ＡＰ５１”に示すアプリケーションにデータを中継する。
【００５９】
この時、図２中”ＡＰ４１”に示すアプリケーションと図２中”ＡＰ５１”に示すアプリケーションとの間では、図２中”ＶＣ５１”に示すように仮想的にデータの送受信を行ったことになる。
【００６０】
例えば、図３中”ＡＰ４１”に示すアプリケーションは、図３中”ＳＬ４１”に示すチャネルインターフェース（具体的には、図３中”ＳＬ４１”と図３中”ＳＬ５１”に示す１組のスロットで構成されたチャネルインターフェースの一方のスロット）を介して図３中”ＣＮ４１”及び”ＣＮ５１”に示す１組のコネクタで構成される仮想的なチャネルに接続して図２中”ＡＰ５１”に示すアプリケーションに対して仮想的にデータの送信を行ったことになる。
【００６１】
同様に、例えば、図３中”ＡＰ５１”に示すアプリケーションは、図３中”ＳＬ５１”に示すチャネルインターフェース（具体的には、図３中”ＳＬ４１”と図３中”ＳＬ５１”に示す１組のスロットで構成されたチャネルインターフェースの一方のスロット）を介して図３中”ＣＮ４１”及び”ＣＮ５１”に示す１組のコネクタで構成される仮想的なチャネルに接続して図２中”ＡＰ４１”に示すアプリケーションから仮想的にデータの受信を行ったことになる。
【００６２】
この結果、アプリケーション管理機能が記憶手段からアプリケーションを読み出してアプリケーションを起動させ、併せて、記憶手段からスロット及びコネクタをそれぞれ読み出してスロット及びコネクタをそれぞれ起動させ、アプリケーションが１組のスロットで構成されるチャネルインターフェースを介して１組のコネクタで構成される仮想的なチャネルに接続して仮想的なデータの送受信を行うことにより、アプリケーションプログラム間での連携動作を容易に実現することができる。
【００６３】
なお、図１に示す実施例では２つのフィールド機器上でそれぞれ動作するアプリケーション間の連携動作に関して記述されているが、勿論、１つのアプリケーションに複数のスロットを登録させても構わない。また、アプリケーションに登録されている１つのスロットに複数のコネクタを登録させても構わない。
【００６４】
例えば、図４はこのような複数のフィールド機器上でそれぞれ動作するアプリケーションの様々な連携の論理的な構成を説明する説明図である。図４において”ＡＰ６１”、”ＡＰ６２”、”ＡＰ６３”、”ＡＰ６４”、”ＡＰ６５”及び”ＡＰ６６”は図示しない各フィールド機器上で動作するアプリケーションである。
【００６５】
また、図４において”ＣＨ６１”、”ＣＨ６２”、”ＣＨ６３”、”ＣＨ６４”及び”ＣＨ６５”は、１個のコネクタでそれぞれ構成される仮想的なチャネルである。ちなみに、説明の簡単のため図４におけるスロット及びコネクタには符号を付していない。
【００６６】
図４中”ＡＰ６１”に示すアプリケーションには２つのスロットが登録されており、４中”ＡＰ６１”に示すアプリケーションは、図４中”ＣＨ６１”に示す仮想的なチャネルによって図４中”ＡＰ６２”に示すアプリケーションと連携する。
【００６７】
より具体的には、図４中”ＡＰ６１”に示すアプリケーションに登録されている一方のスロットと図４中”ＡＰ６２”に示すアプリケーションに登録されているスロットとで構成されるチャネルインターフェースを介して図４中”ＣＨ６１”に示す仮想的なチャネルに接続する。
【００６８】
同時に、図４中”ＡＰ６１”に示すアプリケーションは、図４中”ＣＨ６２”に示す仮想的なチャネルによって図４中”ＡＰ６３”に示すアプリケーションと連携する。
【００６９】
より具体的には、図４中”ＡＰ６１”に示すアプリケーションに登録されている他方のスロットと図４中”ＡＰ６３”に示すアプリケーションに登録されている一方のスロットとで構成されるチャネルインターフェースを介して図４中”ＣＨ６２”に示す仮想的なチャネルに接続する。
【００７０】
また、図４中”ＡＰ６３”に示すアプリケーションは、図４中”ＣＨ６３”、”ＣＨ６４”及び”ＣＨ６５”に示す仮想的なチャネルによって図４中”ＡＰ６４”、”ＡＰ６５”及び”ＡＰ６６”に示すアプリケーションと連携する。
【００７１】
より具体的には、図４中”ＡＰ６３”に示すアプリケーションに登録されている他方のスロットと図４中”ＡＰ６４”、”ＡＰ６５”及び”ＡＰ６６”に示す３つのアプリケーションに登録されているそれぞれのスロットとで構成される３つのチャネルインターフェースを介して図４中”ＣＨ６３”、”ＣＨ６４”及び”ＣＨ６５”に示す仮想的なチャネルにそれぞれ接続する。
【００７２】
この結果、１つのアプリケーションに複数のスロットを登録させたり、アプリケーションに登録されている１つのスロットに複数のコネクタを登録させることにより、より複雑なアプリケーションの連携動作を容易に実現することができる。
【００７３】
また、図１に示す実施例では２つのフィールド機器上でそれぞれ動作するアプリケーション間の連携動作に関して記述されているが、勿論、同一フィールド機器上で動作する複数のアプリケーション間で連携動作をさせても構わない。
【００７４】
図５はこのような同一フィールド機器上で動作する複数のアプリケーション間の連携動作を説明する説明図である。図５中”ＨＷ７１”はフィールド機器のＣＰＵやＲＡＭ等のハードウェア、図５中”ＯＳ７１”は図５中”ＨＷ７１”に示すハードウェア上で稼動するＯＳ、図５中”ＡＰ７１”及び”ＡＰ７２”はそれぞれ図５中”ＯＳ７１”に示すＯＳ上で動作するアプリケーションである。
【００７５】
また、図５中”ＳＬ７１”及び”ＳＬ７２”はそれぞれ図５中”ＯＳ７１”に示すＯＳ上で動作するスロット、図５中”ＣＮ７１”及び”ＣＮ７２”はそれぞれ図５中”ＯＳ７１”に示すＯＳ上で動作するコネクタである。
【００７６】
但し、図５では説明の簡単のためにアプリケーション管理機能及び記憶手段の記述は省略している。
【００７７】
図５中”ＡＰ７１”に示すアプリケーションと、図５中”ＡＰ７２”に示すアプリケーションとの間で連携を行う場合を想定する。具体的には、図５中”ＡＰ７１”に示すアプリケーションから図５中”ＡＰ７２”に示すアプリケーションにデータを送信する場合を想定する。
【００７８】
図５中”ＡＰ７１”に示すアプリケーションは、送信するデータを図５中”ＳＬ７１”に示すスロットに渡し、図５中”ＳＬ７１”に示すスロットは、図５中”ＣＮ７１”に示すコネクタにデータを中継する。
【００７９】
そして、図５中”ＣＮ７１”に示すコネクタは、直接、図５中”ＯＳ７１”に示すＯＳ上で動作する図５中”ＣＮ７２”に示すコネクタとの間で通信（データ送信）を行う。
【００８０】
一方、図５中”ＣＮ７２”に示すコネクタは、図５中”ＣＮ７１”に示すコネクタから直接受信したデータを、図５中”ＳＬ７２”に示すスロットに渡し、図５中”ＳＬ７２”に示すスロットは、図５中”ＡＰ７２”に示すアプリケーションにデータを中継する。
【００８１】
この時、図５中”ＡＰ７１”に示すアプリケーションと図５中”ＡＰ７２”に示すアプリケーションとの間では、図５中”ＶＣ７１”に示すように仮想的にデータの送受信を行ったことになる。
【００８２】
例えば、図５中”ＡＰ７１”に示すアプリケーションは、図５中”ＳＬ７１”に示すチャネルインターフェース（具体的には、図５中”ＳＬ７１”と図５中”ＳＬ７２”に示す１組のスロットで構成されたチャネルインターフェースの一方のスロット）を介して図５中”ＣＮ７１”及び”ＣＮ７２”に示す１組のコネクタで構成される仮想的なチャネルに接続して図５中”ＡＰ７２”に示すアプリケーションに対して仮想的にデータの送信を行ったことになる。
【００８３】
同様に、例えば、図５中”ＡＰ７２”に示すアプリケーションは、図５中”ＳＬ７２”に示すチャネルインターフェース（具体的には、図５中”ＳＬ７１”と図５中”ＳＬ７２”に示す１組のスロットで構成されたチャネルインターフェースの一方のスロット）を介して図５中”ＣＮ７１”及び”ＣＮ７２”に示す１組のコネクタで構成される仮想的なチャネルに接続して図５中”ＡＰ７１”に示すアプリケーションから仮想的にデータの受信を行ったことになる。
【００８４】
また、各コネクタはそれぞれが動作するＯＳやハードウェアに依存した処理を行うため、フィールド機器が接続されるネットワーク環境の違いに依存することになる。
【００８５】
より具体的には、ネットワーク環境がＩＰ（Internet Protocol）ネットワークであるのか非ＩＰネットワークであるのかの違いがあり、ＩＰネットワークであってもＬＡＮであるのかＷＡＮであるのかの違いがある。
【００８６】
このような場合であっても、実施例によればアプリケーションやスロットに対して変更を加えることなく、コネクタのみを変更することによりネットワーク環境の違いに対応することができる。
【００８７】
また、コネクタに設定されるコネクタパラメータを参照して必要な処理を呼び出して実行するパラメータ参照処理機能をコネクタに実装することにより、コネクタに対して変更を加えることなく、コネクタに設定されるコネクタパラメータを変更することでネットワーク環境の違いに対応することができる。
【００８８】
図６はこのようなコネクタに実装されるパラメータ参照処理機能の動作を説明するフロー図である。
【００８９】
図６中”Ｓ００１”においてパラメータ参照処理機能は、予め設定されているコネクタパラメータを参照して異なるフィールド機器間での連携か否かを判断し、もし、異なるフィールド機器間の連携ではないと判断した場合には、図６中”Ｓ００２”においてパラメータ参照処理機能は、同一フィールド機器内の処理を呼び出し、図６中”Ｓ００９”のステップにスキップする。
【００９０】
もし、図６中”Ｓ００１”において異なるフィールド機器間の連携であると判断した場合には、図６中”Ｓ００３”においてパラメータ参照処理機能は、予め設定されているコネクタパラメータを参照してＩＰネットワークであるか否かを判断し、もし、ＩＰネットワークではないと判断した場合には、図６中”Ｓ００４”においてパラメータ参照処理機能は、非ＩＰネットワーク用の処理を呼び出し、図６中”Ｓ００９”のステップにスキップする。
【００９１】
もし、図６中”Ｓ００３”においてＩＰネットワークであると判断した場合には、図６中”Ｓ００５”においてパラメータ参照処理機能は、ＩＰネットワーク用の処理を呼び出し、図６中”Ｓ００６”において予め設定されているコネクタパラメータを参照してＬＡＮであるか否かを判断し、もし、ＬＡＮではないと判断した場合には、図６中”Ｓ００７”においてパラメータ参照処理機能は、ＷＡＮ対応の処理を呼び出し、図６中”Ｓ００９”のステップにスキップする。
【００９２】
もし、図６中”Ｓ００６”においてＬＡＮであると判断した場合には、図６中”Ｓ００８”においてパラメータ参照処理機能は、ＬＡＮ対応の処理を呼び出し、図６中”Ｓ００９”のステップにスキップする。
【００９３】
最後に、図６中”Ｓ００９”においてパラメータ参照処理機能は、呼び出された処理の実行を行う。
【００９４】
この結果、コネクタに設定されるコネクタパラメータを参照して必要な処理を呼び出して実行するパラメータ参照処理機能をコネクタに実装することにより、コネクタに対して変更を加えることなく、コネクタに設定されるコネクタパラメータを変更することでネットワーク環境の違いに対応することができる。
【００９５】
また、図６に示すフロー図では図６中”Ｓ００９”のステップにおいて呼び出した処理を一括して実行しているが、各種処理を呼び出した段階で逐次実行しても勿論構わない。
【図面の簡単な説明】
【００９６】
【図１】本発明に係るアプリケーションプログラム間で連携動作を行うシステムを構成するフィールド機器の一実施例を示す構成ブロック図である。
【図２】２つのフィールド機器間での連携動作を説明する説明図である。
【図３】２つのフィールド機器上でそれぞれ動作するアプリケーションの連携の論理的な構成を説明する説明図である。
【図４】複数のフィールド機器上でそれぞれ動作するアプリケーションの様々な連携の論理的な構成を説明する説明図である。
【図５】同一フィールド機器上で動作する複数のアプリケーション間の連携動作を説明する説明図である。
【図６】コネクタに実装されるパラメータ参照処理機能の動作を説明するフロー図である。
【図７】従来のアプリケーションプログラム間で連携動作を行うシステムの一例を示す構成ブロック図である。
【図８】従来例の動作を説明する説明図である。
【図９】アプリケーションが共通プロトコルに準拠していることを説明する説明図である。
【図１０】従来のアプリケーションプログラム間で連携動作を行うシステムの他の一例を示す構成ブロック図である。
【符号の説明】
【００９７】
１，２，３，４，５，９，１０フィールド機器
６  流量計
７  コントローラ
８  バルブ調節計
１００  ネットワーク
【図１】
2007328480.tif 000003
【図２】
2007328480.tif 000004
【図３】
2007328480.tif 000005
【図４】
2007328480.tif 000006
【図５】
2007328480.tif 000007
【図６】
2007328480.tif 000008
【図７】
2007328480.tif 000009
【図８】
2007328480.tif 000010
【図９】
2007328480.tif 000011
【図１０】
2007328480.tif 000012