(57)【特許請求の範囲】
【請求項１】
対象機器への制御を管理する制御管理システムであって、
前記対象機器の制御に関連する複数のプログラム同士の入力と出力を接続した、前記複数のプログラム同士の接続形態に基づいて決まる実行順序で、前記複数のプログラムを実行する情報システムと、
前記対象機器からの監視信号に搭載された監視結果を含む複数の情報を前記情報システムに通知し、前記情報システムが前記複数の情報に基づいて前記複数のプログラムを実行した処理結果を取得し、前記処理結果に基づく出力信号により前記対象機器を制御する制御システムと、を有し、
前記情報システムは、前記複数のプログラム同士の接続形態の上流にあるプログラムの処理を下流にあるプログラムの処理よりも先に実行するように前記実行順序を決定するものであり、
前記制御システムは、所定の制御周期で前記対象機器への出力信号を更新し、
前記情報システムは、前記制御周期による１つの実行タイミングにおいて実行した上流のプログラムの処理結果を同一の前記実行タイミングにおいて下流のプログラムを実行するときの入力として利用すべき前記上流のプログラムと前記下流のプログラムの組み合せを抽出し、前記下流のプログラムを前記上流のプログラムよりも後に実行するように前記実行順序を決定する、
制御管理システム。
【請求項２】
対象機器への制御を管理する制御管理システムであって、
前記対象機器の制御に関連する複数のプログラム同士の入力と出力を接続した、前記複数のプログラム同士の接続形態に基づいて決まる実行順序で、前記複数のプログラムを実行する情報システムと、
前記対象機器からの監視信号に搭載された監視結果を含む複数の情報を前記情報システムに通知し、前記情報システムが前記複数の情報に基づいて前記複数のプログラムを実行した処理結果を取得し、前記処理結果に基づく出力信号により前記対象機器を制御する制御システムと、を有し、
前記情報システムは、
前記複数のプログラムを、ある階層に含まれるプログラムの入力が当該階層よりも前段の階層に含まれるプログラムの出力となるように、複数段の階層による接続形態で接続し、
前記接続形態を変更するとき、ある階層に含まれる第１のプログラムが同一またはそれより後段の階層に含まれる第２のプログラムの出力を入力として利用することになる前記第１のプログラムと前記第２のプログラムの組み合わせを抽出し、
前記第２のプログラムを前記第１のプログラムを含む階層よりも前段の階層に移動する、
制御管理システム。
【請求項３】
前記情報システムは、
前記第２のプログラムを前記第１のプログラムを含む階層よりも前段の階層に移動するとき、前記第２のプログラムが同一またはそれより後段の階層のプログラムの出力を入力として利用することになるとき、前記第１のプログラムが含まれている階層と前記第２のプログラムが含まれている階層の間に新たな階層を追加し、追加した前記階層に前記第２のプログラムを更に移動する、
請求項２に記載の制御管理システム。
【請求項４】
前記情報システムは、
前記第１のプログラムと前記第２のプログラムが同一の第１の階層に含まれ、前記第２のプログラムが前記第１の階層の１つ前段にある第２の階層に含まれるプログラムの出力を入力として利用している場合、前記第１の階層と前記第２の階層の間に第３の階層を追加し、前記第２のプログラムを前記第３の階層に移動する、
請求項３に記載の制御管理システム。
【請求項５】
対象機器への制御を管理する制御管理システムであって、
前記対象機器の制御に関連する複数のプログラム同士の入力と出力を接続した、前記複数のプログラム同士の接続形態に基づいて決まる実行順序で、前記複数のプログラムを実行する情報システムと、
前記対象機器からの監視信号に搭載された監視結果を含む複数の情報を前記情報システムに通知し、前記情報システムが前記複数の情報に基づいて前記複数のプログラムを実行した処理結果を取得し、前記処理結果に基づく出力信号により前記対象機器を制御する制御システムと、を有し、
前記情報システムは、複数のプログラム同士の出力と入力の接続により構成されているループを抽出し、該ループを形成している前記複数のプログラムを提示し、どのような順序で実行するかの設定を促す、
制御管理システム。
【請求項６】
前記情報システムは、前記複数のプログラムのうちの２つのプログラムが互いに出力を入力としたループを抽出し、該ループを形成している前記２つのプログラムを提示し、どちらを先に実行するかの設定を促す、請求項５に記載の制御管理システム。
【請求項７】
前記情報システムは、階層が２回変更されたプログラムがあった場合に該プログラムを含むループを抽出する、請求項５に記載の制御管理システム。
【請求項８】
情報システムと制御システムを含むコンピュータシステムにより対象機器を制御するための制御方法であって、
前記制御システムが、前記対象機器からの監視信号に搭載された監視結果を含む複数の情報を前記情報システムに通知し、
前記情報システムが、前記対象機器の制御に関連する複数のプログラム同士の入力と出力を接続した、前記複数のプログラム同士の接続形態に基づいて決まる実行順序で、前記複数の情報に基づいて前記複数のプログラムを実行し、
前記制御システムが、前記情報システムが前記複数のプログラムを実行した処理結果を取得し、前記処理結果に基づく出力信号により前記対象機器を制御する、制御方法において、
前記情報システムは、前記複数のプログラム同士の接続形態の上流にあるプログラムの処理を下流にあるプログラムの処理よりも先に実行するように前記実行順序を決定するものであり、
前記制御システムは、所定の制御周期で前記対象機器への出力信号を更新し、
前記情報システムは、前記制御周期による１つの実行タイミングにおいて実行した上流のプログラムの処理結果を同一の前記実行タイミングにおいて下流のプログラムを実行するときの入力として利用すべき前記上流のプログラムと前記下流のプログラムの組み合せを抽出し、前記下流のプログラムを前記上流のプログラムよりも後に実行するように前記実行順序を決定する、
制御方法。
【請求項９】
情報システムと制御システムを含むコンピュータシステムにより対象機器を制御するための制御方法であって、
前記制御システムが、前記対象機器からの監視信号に搭載された監視結果を含む複数の情報を前記情報システムに通知し、
前記情報システムが、前記対象機器の制御に関連する複数のプログラム同士の入力と出力を接続した、前記複数のプログラム同士の接続形態に基づいて決まる実行順序で、前記複数の情報に基づいて前記複数のプログラムを実行し、
前記制御システムが、前記情報システムが前記複数のプログラムを実行した処理結果を取得し、前記処理結果に基づく出力信号により前記対象機器を制御する、制御方法において、
前記情報システムは、
前記複数のプログラムを、ある階層に含まれるプログラムの入力が当該階層よりも前段の階層に含まれるプログラムの出力となるように、複数段の階層による接続形態で接続し、
前記接続形態を変更するとき、ある階層に含まれる第１のプログラムが同一またはそれより後段の階層に含まれる第２のプログラムの出力を入力として利用することになる前記第１のプログラムと前記第２のプログラムの組み合わせを抽出し、
前記第２のプログラムを前記第１のプログラムを含む階層よりも前段の階層に移動する、
制御方法。
【請求項１０】
情報システムと制御システムを含むコンピュータシステムにより対象機器を制御するための制御方法であって、
前記制御システムが、前記対象機器からの監視信号に搭載された監視結果を含む複数の情報を前記情報システムに通知し、
前記情報システムが、前記対象機器の制御に関連する複数のプログラム同士の入力と出力を接続した、前記複数のプログラム同士の接続形態に基づいて決まる実行順序で、前記複数の情報に基づいて前記複数のプログラムを実行し、
前記制御システムが、前記情報システムが前記複数のプログラムを実行した処理結果を取得し、前記処理結果に基づく出力信号により前記対象機器を制御する、制御方法において、
前記情報システムが、複数のプログラム同士の出力と入力の接続により構成されているループを抽出し、該ループを形成している前記複数のプログラムを提示し、どのような順序で実行するかの設定を促す、
制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プラント等の対象機器を制御する技術に関し、特に複数のプログラムで構成される処理により対象機器を制御する技術に関する。
【背景技術】
【０００２】
様々な業務に対応した情報システムおよび制御システムが開発され、実装されている。近年では、制御システムにて対象機器への入力信号を生成する処理が複数のプログラムで構成されるものがある。対象機器、情報システム、あるいは制御システムの構造に着目して情報システムあるいは制御システムの処理を改善する方法や複数の情報システムおよび制御システムを連携させて処理を改善する方法などにより、付加価値の高いサービスや業務の効率化を図る試みがなされている。
【０００３】
特許文献１には、あるシステムが他のシステムの出力データを利用するような構成において、データの利用先となるシステムのシステム構造が複雑化したりあるいは動的に変化したりしてもデータの利用状況と利用先を容易に把握することを可能にする方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２５７３９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
例えば産業プラントのプロセス制御では対象機器への出力信号を生成する処理は複雑である。一般に産業プラントでは様々なアナログ信号およびディジタル信号を入力として用いられる。そして、弁、ヒータ、ファン、モータなど様々な機器が制御対象となる。それら制御対象の機器へ起動信号、停止信号、調整量指令値など様々な制御信号を適切なタイミングで与える必要がある。
【０００６】
様々な入力信号から様々な制御信号を生成する処理も複雑である。制御信号は、複数の入力信号の値を使用して多階層のプログラムによる複雑な演算を経て生成される。特に、大型の産業プラントのプロセス制御においては、制御信号を生成するために与えられる入力信号も実行されるプログラムも膨大であり演算処理量も膨大である。そのため、対象機器に対して適切な制御が実行させるようにするために、膨大な数のプログラムを適切に配置する煩雑な実行順序の策定作業が必要となっていた。
【０００７】
本発明の目的は、対象機器への適切な制御を容易に実現可能にする技術を提供することである。
【課題を解決するための手段】
【０００８】
本発明の一つの実施態様に従う制御管理システムは、対象機器への制御を管理する制御管理システムであって、前記対象機器の制御に関連する複数のプログラム同士の入力と出力を接続し、前記複数のプログラム同士の接続形態に基づき、前記複数のプログラムによる処理の実行順序を決定する情報システムと、前記複数のプログラムによる処理結果に基づき前記対象機器を制御する制御システムと、を有している。
【発明の効果】
【０００９】
本発明によれば、制御に多数のプログラムが関連するような対象機器に対して適切な処理を実行するシステムの実現において多数のプログラムの処理の実行順序を定める煩雑な作業を低減することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態によるプラント制御の全体システムを示すブロック図である。
【図２】本実施形態における複数のプログラムの接続構成の一例を示す図である。
【図３】情報システムによる処理を示すフローチャートである。
【図４】情報システムおよび制御システムの他の構成例を示すブロック図である。
【図５】本実施形態における複数のプログラムの接続構成の他の例を示す図である。
【発明を実施するための形態】
【００１１】
図１は、本実施形態によるプラント制御の全体システムを示す構成図である。図１に示される全体システムの構成は一例である。全体システムには、プラントを構成する複数の機器であり制御対象となるプラント機器群１０１と、それらプラント機器群１０１と通信路１０２経由で接続される制御システム１０３と、制御システム１０３に通信回線１０５経由で接続される情報システム１０４が含まれている。
【００１２】
プラント機器群１０１には、調節弁、接点、およびモータなどが含まれる。通信路１０２として、ネットワークなどの通信回線あるいはハードワイヤードの直結線などがある。制御システム１０３は、通信路１０２経由でプラント機器群１０１を制御する制御信号を含む様々な情報を送信し、プラント機器群１０１における取得された監視結果を通知するための監視信号を含む様々な情報を受信する。また、制御システム１０３は、通信回線１０５経由で情報システム１０４に監視信号などの情報を送信し、また通信回線１０５経由で情報システム１０４から制御信号などの情報を受信する。
【００１３】
本実施形態では、情報システム１０４から制御システム１０３へ通知される情報は、プラント機器群１０１からの監視信号に搭載された監視結果を含む制御システム１０３から情報システム１０４へ通知される複数の情報に基づき、情報システム１０４が複数のプログラムによる演算処理により算出した情報である。
【００１４】
情報システム１０４では、あるプログラムの出力が他のプログラムの入力になるというプログラム同士の入出力関係が少なくとも２段以上あり、複数のプログラムが複数の階層に分類される。
【００１５】
以下、本実施形態の全体システムの処理の概要について説明する。
【００１６】
本実施形態では、プラント機器群１０１を制御の対象機器としている。
【００１７】
情報システム１０４は、プラント機器群１０１の制御に関連する複数のプログラム同士の入力と出力を接続し、複数のプログラム同士の接続形態に基づき、複数のプログラムによる処理の実行順序を決定する。制御システム１０３は、複数のプログラムによる処理結果に基づきプラント機器群１０１を制御する。これにより、例えば産業プラントのように、その制御に多数のプログラムが関連するような対象機器に対して適切な処理を実行するコンピュータシステムの実現において多数のプログラムの処理の実行順序を定める煩雑な作業を低減することができる。
【００１８】
情報システム１０４は、複数のプログラム同士の接続形態の上流にあるプログラムの処理を下流にあるプログラムの処理よりも先に実行するように実行順序を決定する。これにより、あるプログラムの処理に利用する情報として、そのプログラムの処理を実行する時点で正常な情報が生成されている状態となるようにすることができる。
【００１９】
また、制御システム１０３は、所定の制御周期でプラント機器群１０１への入力信号を更新することにしてもよい。情報システム１０４は、その制御周期による１つの実行タイミングにおいて実行した上流のプログラムの処理結果を同一の実行タイミングにおいて下流のプログラムを実行するときの入力として利用すべき、上流のプログラムと下流のプログラムの組み合せを抽出し、下流のプログラムを上流のプログラムよりも後に実行するように実行順序を決定する。これにより、所定の制御周期で制御信号を更新する制御システム１０３が適切な制御を実行することができるように実行順序を決定することができる。
【００２０】
また、情報システム１０４は、複数のプログラムを、ある階層に含まれるプログラムの入力がその階層よりも前段の階層に含まれるプログラムの出力となるように、複数段の階層による接続形態で接続する。そして、接続形態を変更するとき、情報システム１０４は、ある階層に含まれるあるプログラム（第１のプログラム）が同一またはそれより後段の階層に含まれる他のプログラム（第２のプログラム）の出力を入力として利用することになる第１のプログラムと第２のプログラムの組み合わせを抽出し、第２のプログラムを第１のプログラムを含む階層よりも前段の階層に移動する。これによれば、接続形態に影響するような制御処理の変更がされたとき、その変更に応じて複数のプログラムの実行順序を適切に並べ直すことができる。
【００２１】
更に、情報システム１０４は、第２のプログラムを第１のプログラムを含む階層よりも前段の階層に移動するとき、第２のプログラムが同一またはそれより後段の階層の他のプログラムの出力を入力として利用することになるとき、第１のプログラムが含まれている階層と第２のプログラムが含まれている階層の間に新たな階層を追加し、追加した階層に第２のプログラムを更に移動する。これによれば、階層の段数を変更せずにプログラムを階層間で移動させるだけでは、プログラムの実行順序を適切に決定することができない場合に新たな階層を追加してその階層に第２のプログラムを移動するので、階層の段数を変更せずにはプログラムの実行順序を適切に決定できない場合にも実行順序を適切に決定することができる。
【００２２】
また、情報システム１０４は、第１のプログラムと第２のプログラムが同一の階層（第１の階層）に含まれ、第２のプログラムが第１の階層の１つ前段にある階層（第２の階層）に含まれるプログラムの出力を入力として利用している場合、第１の階層と第２の階層の間に第３の階層を追加し、第２のプログラムを第３の階層に移動する。これによれば、第１のプログラムと第２のプログラムが同一に第１の階層に含まれ、第２のプログラムが第１の階層の１つ前段にある第２の階層に含まれるプログラムの出力を入力として利用しているという条件に該当する場合に階層の追加とプログラムの移動を容易に実現することができる。
【００２３】
情報システム１０４は、プラント機器群１０１への制御信号を出力するプログラムを抽出し、抽出したプログラムへの入力を出力するプログラムを抽出するという処理を、入力として他のプログラムの出力を必要としないプログラムに到達するまで繰り返すことにより、接続形態を決定する。これにより、プラント機器群１０１への必要な入力から遡ってプログラムの出力が必要でないプログラムまで辿ることにより、プログラムの接続形態を決定するので、適切なプログラムの接続形態を効率よく決定することができる。
【００２４】
また、情報システム１０４は、複数のプログラム同士の出力と入力の接続により構成されているループを抽出し、そのループを形成している複数のプログラムをユーザに提示し、どのような順序で実行するかの設定を促す。これによれば、ループを形成しどれを先に実行するのが適切かが接続形態からは定まらない複数のプログラムの組み合わせがあった場合にも適切な実行順序を容易に決定することができる。例えば、情報システム１０４は、複数のプログラムのうちの２つのプログラムが互いに出力を入力としたループを抽出し、そのループを形成している２つのプログラムをユーザに提示し、どちらを先に実行するかの設定をユーザに促す。
【００２５】
その際、情報システム１０４は、階層が２回変更されたプログラムがあった場合にそのプログラムを含むループを抽出する。これによれば、階層変更の回数に基づいて容易にループの存在を検知し、ループを抽出することができる。
【００２６】
また、情報システム１０４は複数のプログラムをソースプログラムとして、コンパイルおよびリンクを行うことにより実行ファイルを生成する。これによれば、実行ファイルを生成し実行するので、コンピュータによるプラント機器群１０１の制御を容易に実現することができる。
【００２７】
以下、本実施形態における処理について更に詳しく説明する。
【００２８】
図２は、本実施形態における複数のプログラムの接続構成の一例を示す図である。図２において左側が上流であり、右側が下流である。複数のプログラムが複数の階層に分類されている。また、ほとんどの部分で、上流階層のプログラムの出力が下流階層のプログラムの入力に接続されている。
【００２９】
ここでは、情報システム１０４から制御システム１０３への出力を演算するために必要な一連のプログラムをパスと称する。全てのパス群のうち階層数が最大となるパスの階層数をＮとする。情報システム１０４から制御システム１０３への全ての出力を演算するのに必要な複数のプログラムはＮ階層に分類される。
【００３０】
情報システム１０４は、制御システム１０３への入力信号を出力するプログラムを第Ｎ階層に分類する。更に、情報システム１０４は、第Ｎ階層のプログラムが制御システム１０３への入力信号を演算するのに用いる、第Ｎ階層のプログラムへの入力信号を演算し、出力しているプログラム群を第（Ｎ−１）階層に分類する。情報システム１０４は、以下、同じ手順を用いて各プログラムを第１階層から第Ｎ階層に分類する。ここで、第ｎ階層（１≦ｎ≦Ｎ）に属するプログラム群の員数をＭｎとする。その際、情報システム１０４は、第ｎ階層の各プログラムに任意に通し番号を付与する。第ｎ階層のｐ番目のプログラムには（ｎ−ｐ）という番号が付与される。ｐは、１≦ｐ≦Ｍｎである。
【００３１】
次に、情報システム１０４は各階層のプログラムに対する処理を実行する。
【００３２】
まず、情報システム１０４は、第（Ｎ−１）階層の各プログラムの各入力を作成しているプログラムがどの階層に属しているかそれぞれ確認する。第（Ｎ−１）階層に属するプログラムの入力信号が第（Ｎ−１）階層以上の階層に属するプログラムから出力されていたら、その入力信号を出力しているプログラムを第（Ｎ−２）階層に変更する。このとき情報システム１０４は階層の変更を行ったプログラムの識別情報および変更回数を記録する。情報システム１０４は、この処理を第（Ｎ−１）階層に属する全てのプログラムについて行う。第（Ｎ−１）階層であれば、Ｍ（Ｎ−１）個のプログラムに対して処理を実施することになる。
【００３３】
情報システム１０４は、この各階層のプログラムに対する処理を第１階層まで降順で繰り返す。
【００３４】
図２の例では、第（Ｎ−２）階層にある、（（Ｎ−２）−２）という番号が付与されているプログラムの出力が、同じ第（Ｎ−２）階層にある、（（Ｎ−２）−１）という番号が付与されているプログラムの入力となっている。そのため、図２において、破線矢印で示されているように、番号（（Ｎ−２）−２）が付与されているプログラムを第（Ｎ−３）階層に属するように変更している。
【００３５】
情報システム１０４は、各階層のプログラムについて上述した処理を実行し、プログラムの属する階層を変更するとき、そのプログラムが属する階層が２回以上変更されたか否か判断する。あるプログラムの階層が２回変更されるということは、そのプログラムを含む少なくとも２つのプログラムがループを形成していることを意味する。ループというのは、その第１のプログラムの出力が第２のプログラムの入力となり、第２のプログラムの出力が第１のプログラムの入力となっているような状態である。
【００３６】
このようにループが形成されていると、ループを形成しているプログラムのどれを先に実行すべきかを接続形態から定めることができない。そこで本実施形態では、コンパイルを実施するユーザに対して手動による選択を促す。情報システム１０４は、ユーザにより指定された順序でプログラムを実行するようにする。
【００３７】
図３は、情報システムによる処理を示すフローチャートである。
【００３８】
情報システム１０４は、まずｎ＝Ｎ−１、ｐ＝１をもって処理を開始する（ステップＳ１０１）。情報システム１０４はｎ＜１か否か判定する（ステップＳ１０２）。ｎ＜１であれば情報システム１０４は処理を終了する。
【００３９】
ｎ＜１でなければ、情報システム１０４はｐ＞Ｍｎか否か判定する（ステップＳ１０３）。ｎ＞Ｍｎであれば、情報システム１０４は、ｎ＝ｎ−１、ｐ＝１とし（ステップＳ１１０）、ステップＳ１０２に進む。
【００４０】
ｐ＞Ｍｎでなければ、情報システム１０４は、次に、番号（ｎ−ｐ）が付与されているプログラムの各入力信号を出力しているプログラムの階層を確認する（ステップＳ１０４）。次に、情報システム１０４は、ステップＳ１０４で確認したプログラムに、階層が、階層≧ｎとなっているプログラムがあるか否か判定する（ステップＳ１０５）。ステップＳ１０５で階層≧ｎとなっているプログラムが無ければ、情報システム１０４はｐ＝ｐ＋１とし（ステップＳ１０９）、ステップＳ１０３に戻る。
【００４１】
ステップＳ１０５で階層≧ｎとなっているプログラムがあれば、情報システム１０４は、そのプログラムの階層が過去に変更されたことがあるか否か判定する（ステップＳ１０６）。ステップＳ１０６にて既に階層が変更されたことがあれば、情報システム１０４は、ループを形成しているプログラムをどの順序で実行するかの選択をユーザに促して決定し（ステップＳ１０７）、ステップＳ１０９に進む。ステップＳ１０６にて未だ階層が変更されたことがなければ、情報システム１０４は、そのプログラムの階層をｎ−１に変更し（ステップＳ１０８）、ステップＳ１０９に進む。
【００４２】
以上説明したように、本実施形態において、制御システム１０３に入力した信号を元に、制御システム１０３とは別の情報システム１０４が演算処理を実施し、その処理結果を制御システム１０３に送信し、制御システム１０３が対象機器への制御に使用するという構成が例示されている。制御システム１０３から情報システム１０４へのある出力信号は、制御システム１０３から情報システム１０４への複数の入力信号を使用して、対象機器への制御を含む複数かつ多階層のプログラム同士の入出力を伴う演算処理を経て得られる。このような入出力構造を有する全体システムにおいて情報システム１０４は、各プログラムの入出力の関係からそれらプログラムの適切な実行順序を自動的に策定することができる。
【００４３】
図４は、情報システムおよび制御システムの他の構成例を示すブロック図である。図４を参照すると、制御システム１０３が複数のコンピュータ２０１を有し、情報システム１０４が複数のコンピュータ２０２を有する。
【００４４】
図４のように、制御システム１０３が複数のコンピュータ２０１を有する場合、制御システム１０３は、コンピュータ２０１同士が通信によって処理実行の状況について相互に確認することにより、コンピュータ２０１をまたいで所定の実行順序でプログラムを実行することを可能にする。
【００４５】
その場合、情報システム１０４が複数のプログラムの実行順序を決定し、制御対象のプラント機器群１０１のそれぞれに制御信号を入力するプログラムを、そのプログラムを実行するコンピュータ２０２に割り当て、その実行順序に従ってプログラムを実行させる。これによれば、制御システム１０３が複数のコンピュータ２０１を含む構成であっても、コンピュータ２０１間のプログラムの実行順序を適切に決定することができる。
【００４６】
また、その場合、複数のプログラムの全部または一部については、そのプログラムを実行するコンピュータ２０１が予め定まっていてもよい。例えば、あるプラント機器に対する制御信号を与えるコンピュータ２０１が物理的接続構成によって予め定まっていてもよい。その場合、制御システム１０３の各コンピュータ２０１は、情報システム１０４によって割り当てられたプログラムを、情報システム１０４で決定された実行順序で実行する。
【００４７】
また、図４のように、情報システム１０４が複数のコンピュータ２０２を有する場合、情報システム１０４は、コンピュータ２０２同士が通信によって処理実行の状況について相互に確認することにより、コンピュータ２０２をまたいで所定の実行順序でプログラムを実行することを可能にする。その場合、情報システム１０４のいずれかひとつのコンピュータ２０２あるいは複数のコンピュータ２０２が連携して複数のプログラムの実行順序を決定し、それぞれのプログラムを、そのプログラムを実行するコンピュータ２０２に割り当て、その実行順序に従ってプログラムを実行する。これによれば、情報システム１０４が複数のコンピュータ２０２を含む構成であっても、コンピュータ２０２間のプログラムの実行順序を適切に決定することができる。
【００４８】
また、その場合、複数のプログラムの全部または一部については、そのプログラムを実行するコンピュータ２０２が予め定まっていてもよい。その場合、情報システム１０４は、複数のプログラムの実行順序を決定し、それぞれのプログラムをコンピュータ２０２に割り当てる。そのとき、あるプログラムを実行すると定められているコンピュータ２０２があれば、情報システム１０４は、そのプログラムをそのコンピュータ２０２に割り当てる。
【００４９】
図４には、情報システム１０４が複数のコンピュータ２０２を有する例を示したが、更に他の例として、情報システム１０４が複数のプロセッサを備えたコンピュータにより実現される構成であってもよい。情報システム１０４は、複数のプログラムの実行順序を決定し、それらのプログラムを複数のプロセッサに割り当てて、実行順序に従って実行させればよい。
【００５０】
また、制御システム１０３が複数のプロセッサを備えたコンピュータにより実現される構成であってもよい。情報システム１０４は、複数のプログラムの実行順序を決定し、制御システム１０３の各プロセッサに割り当てて、実行順序に従って実行させればよい。
【００５１】
以上説明したように、図４の例では、情報システム１０４と制御システム１０３の一方あるいは両方が複数のコンピュータを有する全体システムにおいて、情報システム１０４のあるコンピュータ２０２から、制御システム１０３のあるコンピュータ２０１への出力信号を演算するために、情報システム１０４の複数のコンピュータ２０２と制御システム１０３の複数のコンピュータ２０１からの出力信号を使用し、かつ情報システム１０４の複数のコンピュータ２０２と制御システム１０３の複数のコンピュータ２０１を演算に使用する。このような構成においても、上述した実施形態と同様に、各プログラムの適切な実行順序を自動的な策定することができる。
【００５２】
図５は、本実施形態における複数のプログラムの接続構成の他の例を示す図である。図５においては、図２と同様に、左側が上流であり、右側が下流である。複数のプログラムが複数の階層に分類されている。図５では、上流階層のプログラムの出力が下流階層のプログラムの入力に接続されている。
【００５３】
また、ほとんどの部分で、上流階層のプログラムの出力が下流階層のプログラムの入力に接続されている。しかし、番号（（Ｎ−２）−３）が付与されたプログラムの出力が、番号（（Ｎ−２）−４）が付与された同じ階層のプログラムの入力となり、その番号（（Ｎ−２）−４）が付与されたプログラムの出力が、番号（（Ｎ−２）−３）が付与されたプログラムの入力となっている。その２つのプログラムがループ３０１が構成していると言える。
【００５４】
そのため、情報システム１０４は、そのループ３０１を抽出し、抽出したループ３０１を構成している２つのプログラムをユーザに提示し、どちらを先に実行するかの設定を促す。
【００５５】
上述した本発明の各実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。例えば、少なくともひとつの入力信号から少なくともひとつの出力信号を算出することを目的とした複数のプログラム群を有するシステム構成において本発明は効果を奏する。
【符号の説明】
【００５６】
１０１…プラント機器群、１０２…通信路、１０３…制御システム、１０４…情報システム、１０５…通信回線、２０１…コンピュータ、２０２…コンピュータ、３０１…ループ
【図１】
0006552343.tif 000002
【図２】
0006552343.tif 000003
【図３】
0006552343.tif 000004
【図４】
0006552343.tif 000005
【図５】
0006552343.tif 000006