(57)【要約】      （修正有）【課題】プロセス制御システムにおける機能を実行するスケジュールを生成するための実施例として挙げられる方法および機器を提供する。【解決手段】実施例として開示される機器は、プロセス制御ルーチンに関連した第１の機能を識別するように構成された第１のインターフェースを含む。該実施例として挙げられる機器はまた、第１の期間に関連した第１のサブスケジュールを生成するように構成されたサブスケジュール生成ルーチンを含む。第１のサブスケジュールは、第１の機能が実行されることになっている第１の実行時間を示す。実施例として挙げられる機器はまた、第１のサブスケジュールの二つのインスタンスに基づいて第２の期間に関連したスケジュールを形成するように構成されたスケジュール生成ルーチンを含む。該スケジュールには、第１の機能が実行されることになっている第１の実行時間と第２の実行時間とが示される。【選択図】図１
2008090841.tif 000002
【特許請求の範囲】
【請求項１】
プロセス制御システムにおける機能を実行するスケジュールを生成する機器であり、
プロセス制御ルーチンに関連した第１の機能を識別するように構成された第１のインターフェースと、
実行されることになっている第１の実行時間を第１のサブスケジュールが第１の機能が示すことを特徴とする、第１の期間に関連した第１のサブスケジュールを生成するように構成されたサブスケジュール生成ルーチンと、
第１の機能が実行されることになっている第１の実行時間および第２の実行時間をスケジュールが示すことを特徴とする、第１のサブスケジュールのインスタンス二つに基づいて第２の期間に関連したスケジュールを形成するように構成されたスケジュール生成ルーチンと、からなる機器。
【請求項２】
第１の期間より長く、第２の期間より短いまたは第２の期間に等しい第３の期間を有する第２のサブスケジュールを生成するように構成されるサブスケジュール生成ルーチンにおいて、第２の機能が実行されることになっている第３の実行時間が第２のサブスケジュールに示されることを特徴とする請求項１に記載の機器。
【請求項３】
第２のサブスケジュールの一つのインスタンスに基づいてスケジュールを生成するようにさらに構成されるスケジュール生成ルーチンにおいて、第１の機能がスケジュールの間に二回実行されることと、第２の機能がスケジュールの間に一回実行されることとがスケジュールに示されることを特徴とする請求項２に記載の機器。
【請求項４】
第１の機能は第１のプロセス・ループに関連しており、第２の機能は第２のプロセス・ループに関連していることを特徴とし、且つ、
第１のプロセス・ループが第２のプロセス・ループのループ実行期間より短いループ実行期間を使用して実行するように構成されることを特徴とする、請求項２に記載の機器。
【請求項５】
第１の機能は第１のフィールド装置により実行されるように構成され、第２の機能は第２のフィールド装置により実行されるように構成されることを特徴とし、且つ、
第１および第２のフィールド装置は同じ通信バスに通信可能に連結されることを特徴とする、請求項２に記載の機器。
【請求項６】
第１の機能がプロセスコントローラにより実行されることになっていることを特徴とする請求項１に記載の機器。
【請求項７】
第１の機能が第１のサブスケジュールの間に実行される回数を示す第１の機能に関連した開始時間オフセット数を判断するように構成される開始時間オフセット決定素子をさらに含む請求項１に記載の機器。
【請求項８】
開始時間オフセット決定素子が、第１の機能および第１の機能の機能ブロック実行期間を実行するように構成されたフィールド装置に関連した最も遅い機能ブロック実行期間に基づいて開始時間オフセット数を決定することを特徴とする請求項７に記載の機器。
【請求項９】
それに格納された指示を備える機械アクセス可能媒体であり、実行時、機械に、第１の期間に関連した第１のサブスケジュールの間に第１の機能を実行する回数を示す第１の開始時間オフセット数を生成させ、
第１のサブスケジュールの間に第２の機能を実行する回数を示し、第１の開始時間オフセット数とは異なる第２の開始時間オフセット数を生成させ、且つ、
第１のサブスケジュールの二つのインスタンスに基づいて第２の期間に関連したスケジュールを生成させることを特徴とする機械アクセス可能媒体。
【請求項１０】
それに格納された指示を備える機械アクセス可能媒体であり、実行時、機械に、第１の機能を実行するように構成されたフィールド装置に関連した最も遅い機能ブロック実行期間に基づいて第１の開始時間オフセット数と、第１の機能の機能ブロック実行期間とを生成させることを特徴とする請求項９に記載の機械アクセス可能媒体。
【請求項１１】
それに格納された指示を備える機械アクセス可能媒体であり、実行時、機械に、第１の機能の機能ブロック実行期間を第２の機能の第２の機能ブロック実行期間と比較することにより、フィールド装置に関連した最も遅い機能ブロック実行期間を決定させ、
第１および第２の機能はフィールド装置により実行されることになっていることを特徴とする請求項１０に記載の機械アクセス可能媒体。
【請求項１２】
それに格納された指示を備える機械アクセス可能媒体であり、実行時、機械に、第１の機能が第１のサブスケジュールの間に実行されることになっている複数の実行時期を示す複数の開始時間オフセット値を決定させることを特徴とする請求項９に記載の機械アクセス可能媒体。
【請求項１３】
それに格納された指示を備える機械アクセス可能媒体であり、実行時、機械に、第１の機能が第１のサブスケジュールの間に実行されることになっている回数を示す第１の機能の機能ブロック実行期間および開始時間オフセット数に基づいて複数の開始時間オフセット値を決定させることを特徴とする請求項１２に記載の機械アクセス可能媒体。
【請求項１４】
プロセス制御システムにおける機能を実行するスケジュールを生成する方法であり、
第１の期間に関連した第１のサブスケジュールの間に第１の機能を実行する回数を示す第１の開始時間オフセット数を生成することと、
第１のサブスケジュールの間に第２の機能を実行する回数を示し、第１の開始時間オフセット数とは異なる第２の開始時間オフセット数を生成することと、
第１のサブスケジュールの二つのインスタンスに基づいて第２の期間に関連したスケジュールを生成することと、からなる方法。
【請求項１５】
第１の機能が第１のプロセス・ループに関連していおり、第２の機能が第２のプロセス・ループに関連していることを特徴とし、且つ、
第１のプロセス・ループが、第２のプロセス・ループのループ実行期間より短いループ実行期間を使用して実行するように構成されることを特徴とする請求項１４に記載の方法。
【請求項１６】
第１の開始時間オフセット数の生成が、第１の機能を実行するように構成されたフィールド装置に関連した最も遅い機能ブロック実行期間および第１の機能の機能ブロック実行期間に基づいて第１の開始時間オフセット数を生成することからなることを特徴とする請求項１４に記載の方法。
【請求項１７】
フィールド装置に関連した最も遅い機能ブロック実行期間の決定が、第１の機能の機能ブロック実行期間を第２の機能の第２の機能ブロック実行期間と比較することからなり、第１および第２の機能はフィールド装置により実行されることになっていることを特徴とする請求項１５に記載の方法。
【請求項１８】
第１の機能が第１のサブスケジュールの間に実行されることになっている複数の実行時期を示す複数の開始時間オフセット値を決定することをさらに含む請求項１４に記載される方法。
【請求項１９】
複数の開始時間オフセット値の決定が、第１の機能の機能ブロック実行期間に基づいた複数の開始時間オフセット値と、第１の機能が第１のサブスケジュールの間に実行されることになっている回数を示す開始時間オフセット数とを決定ことからなることを特徴とする請求項１８に記載の方法。
【請求項２０】
第２のサブスケジュールの少なくとも一つのインスタンスに基づいてスケジュールを生成することをさらに含み、
第３の機能がスケジュールの間に一回実行されることになっていることと、第１および第２の機能がスケジュールの間に複数回実行されることになっていることとがスケジュールに示されることを特徴とする請求項１４に記載される方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してプロセス制御システムに関し、より具体的には、プロセス制御システムにおける機能を実行するためのスケジュールを生成する方法および機器に関する。
【背景技術】
【０００２】
化学薬品の処理工程や、石油精製工程、またはその他のプロセスに使用されるようなプロセス制御システムは通常、アナログ、デジタルまたはアナログ・デジタル混在バスを介して少なくとも一つのホスト又は少なくとも一つのオペレーターワークステーションにおよび一つ又は複数のフィールド装置に通信可能に連結される一つ又は複数の集中プロセス制御素子を含む。フィールド装置は、例えば、バルブ、バルブ・ポジショナ、スイッチおよびトランスミッタ（例えば、温度、圧力、流量センサー）などでありえ、バルブの開閉や工程パラメータの測定などのプロセス内における機能を行う。プロセス制御素子（プロセスコントローラ）は、プロセス制御システムの動作を制御するために、フィールド装置により生成されたプロセス計測且つ又はフィールド装置に関する他の情報を示す信号を受信し、この情報を使用して制御ルーチンを実施してから、バスまたは他の通信回線を通じてフィールド装置に送信される制御信号を生成する。フィールド装置およびコントローラからの情報は、オペレーターワークステーションにより実行される一つ又は複数のアプリケーションを通じてアクセスできるようになっており、これらの情報を利用して、オペレータは、プロセスの現状を表示したり、プロセスの動作を修正変更したりなど、プロセスに関する所望の機能を実行できるようになる。
【０００３】
プロセス制御システムアプリケーションは、一般に、プロセス制御システムにおいて様々な機能または動作を実行するように構成できるプロセス制御ルーチンを含む。例えば、プロセス制御ルーチンは、制御弁、モータ、ボイラ、ヒータなどに使用しうる。プロセス制御ルーチンはまた、フィールド装置、モジュール、工場の諸区域などを監視し、かつプロセス制御システムに関連した情報を収集するのに使用しうる。プロセス制御ルーチンを実施するのに使用されるフィールド装置は一般に、データバスを介してお互いにおよびプロセスコントローラに連結される。該データバスは、フィールド装置およびプロセスコントローラがお互いに情報を通信するために利用できる帯域幅などの資源に限りがあるものである。全てのフィールド装置およびコントローラが各々の機能を実行し両者間で情報を通信するのに十分な時間をデータバス上で確実に確保できるようにするために、コントローラおよびフィールド装置が各々の機能をいつ実行するべきかを示すスケジュールが生成される。
【発明の開示】
【０００４】
以下、実施例として挙げられるプロセス制御システムにおける機能を実行するスケジュールを生成するための機器および方法を説明する。一実施態様によると、例として挙げられる機器は、プロセス制御ルーチンに関連した第１の機能を識別するように構成された第１のインターフェースを含む。該実施態様として挙げられる機器はまた、第１の期間に関連した第１のサブスケジュールを生成するように構成されたサブスケジュール生成ルーチンを含む。第１のサブスケジュールは、第１の機能が実行されることになっている第１の実行時間を示す。実施例として挙げられる機器はまた、第１のサブスケジュールの二つのインスタンスに基づいて第２の期間に関連したスケジュールを形成するように構成されたスケジュール生成ルーチンを含む。該スケジュールには、第１の機能が実行されることになっている第１の実行時間と第２の実行時間とが示される。
【０００５】
別の実施態様において例として挙げられる方法には、第１の期間に関連した第１のサブスケジュールの間に第１の機能を実行する回数を示す第１の開始時間オフセット数を生成することが関与してくる。実施態様として挙げられる方法にはまた、第１のサブスケジュールの間に第２の機能を実行する回数を示す第２の開始時間オフセット数を生成することも関与してくる。第１の開始時間オフセット数は第２の開始時間オフセット数とは異なる。実施態様として挙げられる方法にはまた、第１のサブスケジュールの二つのインスタンスに基づいて第２の期間に関連したスケジュールを生成することも関与してくる。
【発明を実施するための最良の形態】
【０００６】
なお、以下の説明において実施例として挙げられる機器およびシステムは、その他にも存在する構成素子の中でも特にハードウェアで実行されるソフトウェア且つ又はファームウェアを含んだ状態で記載されているが、このようなシステムは単に本開示の実施例として示されているに過ぎず、本開示を限定するものであると見なされるべきでない。例えば、これらのハードウェア、ソフトウェアおよびファームウェア構成素子 のいずれか又は全ては、ハードウェアにおいてのみ、またはソフトウェアにおいてのみ、或いはハードウェアとソフトウェアのいかなる組み合わせにおいて具体化できるものと考慮される。よって、実施例として挙げられる機器およびシステムが以下において説明されているが、通常の技術を有する当業者であれば、ここに提供される実施例がこれらの機器およびシステムを実施する唯一の手段ではないことが容易に理解できるはずである。
【０００７】
プロセス制御システム中のプロセスコントローラおよびフィールドの装置により機能ブロックを実行するスケジュールを生成するのに使用される公知の技法には、一般に、実行速度の最も遅い機能ブロックの速度で実行を行うために同一の通信バス（例えば、機能ブロックを実行するために割り当てられたフィールド装置およびコントローラを通信可能に連結する通信バス）に関連した全ての機能ブロックのスケジュールを立てることが関与してくる。従って、比較的速度の速い実行機能ブロックのブロック実行期間を実行速度の最も遅い機能ブロックのブロック実行期間と一致させるために延長すること（例えば、機能ブロック実行速度を遅らせること）が、公知の技法には必要とされ、よって、プロセス制御システムを実施する際に、実行期間が短めの（即ち、実行速度が速めの)いくつかの機能ブロックを有利に利用することができない。
【０００８】
機能ブロック実行用スケジュールを実施するのに使用される公知の技法のいくつかとは異なり、ここに実施例として記載される方法および機器は、同一の通信バスと関連する（例えば、同一の通信バスを介して通信する)その他の機能ブロックの機能ブロック実行期間と一致させるために機能ブロック実行期間を著しく延長することなく、各々の機能ブロックの実行期間に基づいて機能ブロック実行用スケジュールを生成するのに使用されうる。他よりも速い機能ブロックのいくつかを実行することにより、同一の通信バスに関連した、遅めの機能ブロックも有利に利用しうる。例えば、圧力計測機能ブロックおよびバルブ制御機能ブロックが同一の通信バスに関連する場合、より短い期間でバルブ制御機能ブロックを実行してもあまり多くの利点がもたらされないかもしれない一方、圧力計測機能ブロックをより短い期間で（即ち、より速い速度で)実行することが有利となりうる。しかるべく、圧力計測機能ブロックの機能ブロック実行期間は、バルブ制御機能ブロックの機能ブロック実行期間より短い期間でありうる。機能ブロック実行のスケジュールを立てるために公知の技法を使用する場合は、該遅めのバルブ制御機能ブロックと同じ実行期間で圧力計測機能ブロックを実行しなければならない。結果として、プロセスにおける圧力変動の周波が高めの場合、圧力計測機能ブロックによって該変動を正確に捕らえられない場合がありえる。対照的に、機能ブロック実行用スケジュールを各々のブロック実行速度を使用して生成するためにここに実施例として記載される方法および機器を使用することによって、圧力計測機能ブロックをバルブ制御機能ブロックよりも短い期間で（即ち、より速い実行速度で）実行することが可能になる。従って、該圧力計測機能ブロックは、圧力計測をより高い周波で（例えば、比較的高解像度で)取得できるため、例えば、公知の機能ブロック・スケジュール作成技法を使用してでは捕らえる又は処理することが不可能であったような、高周波の圧力変動（例えば、一時的な急降下、急上昇、またはその他の比較的高周波を伴う圧力の変化）を捕らえられるようになる。
【０００９】
ここに記載されるように、スケジュールを生成するために各々の機能ブロックのブロック実行速度を使用することにより、同一の通信バスに通信可能に連結されたフィールド装置またはコントローラにより実行される複数のプロセス・ループのスケジュールを立てると共に、プロセス・ループ（複）を各々のループ実行期間に確実に実行できるようにすることが可能になる。すなわち、より短いループ実行期間(即ち、より速いループ実行速度)に関連したプロセス・ループは、ループ実行期間がより長い（即ち、ループ実行速度がより遅い)プロセス・ループより比較的速く実行できる。このように、機能ブロック実行用スケジュールを生成するのに使用される公知の方法のいくつかとは異なり、同一の通信バスに関連した全ループのループ実行期間を最長ループ実行期間と等しくする必要がない。
【００１０】
ここで図１を参照するに、ここに実施例として記載される方法および機器を実施するのに使用しうる実施例として挙げられるプロセス制御システム１００は、ワークステーション１０２（例えば、アプリケーションステーション、オペレータステーションなど)およびコントローラ１０６を含む。これらは両者とも、一般にアプリケーション制御ネットワーク(ACN)と呼ばれるローカル・エリア・ネットワーク（ＬＡＮ)１０８またはバスを介して通信可能に連結されうる。ＬＡＮ １０８は所望のあらゆる通信媒体およびプロトコルを使用して実施されうる。例えば、ＬＡＮ １０８は、ハードワイヤードまたはワイヤレスEthernet（登録商標）通信方式に基づいていてもよい。これについては周知の方式であるため、ここにおいてさらに詳しく説明しない。但し、通常の技術を有する当業者にとっては、その他の適切な通信媒体およびプロトコルを使用しうることが容易に理解できるはずである。さらに、ＬＡＮが一つ備えられた状態で図示されているが、ワークステーション１０２内において一つ以上のＬＡＮおよび適切な通信ハードウェアを使用して、ワークステーション１０２と該当する同類のワークステーション(図示せず)との間に冗長通信路を提供してもよい。
【００１１】
ワークステーション１０２は、一つ又は複数の情報技術(IT)アプリケーション、ユーザ対話型アプリケーション、且つ又は通信アプリケーションに関連した操作を行うように構成しうる。例えば、ワークステーション１０２は、所望のあらゆる通信媒体（例えば、ワイヤレス、ハードワイヤードなど)およびプロトコル(例えば、HTTP、SOAPなど)を用いて、その他の装置またはシステムとワークステーション１０２がコントローラ１０６と通信することを可能にする通信アプリケーションおよびプロセス制御関連アプリケーションに関連した操作を行うように構成しうる。ワークステーション１０２は、あらゆる適切なコンピュータシステムまたは処理システム（例えば、図２３のプロセッサーシステム２３１０）を使用して実施されうる。例えば、シングルプロセッサのパソコン、シングルまたはマルチプロセッサのワークステーションなどを使用して、ワークステーション１０２を実施することが可能である。
【００１２】
コントローラ１０６は、ワークステーション１０２または何らかのワークステーションを使用するシステム・エンジニアまたはその他のシステムオペレータにより生成され且つコントローラ１０６にダウンロードされそこにおいてインスタンスが作成されている一つ又は複数のプロセス制御ルーチンを実行しうる。コントローラ１０６には、例えば、Emerson Process Management（登録商標）およびFisher-Rosemount Systems， Inc.社により販売されるDeltaV（登録商標）コントローラを使用しうる。但し、その代りとしてその他のコントローラを使用してもよい。さらに、図１においてはコントローラが一つだけ備えられている状態で図示されているが、所望のあらゆるタイプの、または所望のあらゆるタイプの組み合わせからなる別のコントローラをさらに追加してＬＡＮ１０８に連結できる。
【００１３】
コントローラ１０６は、デジタルデータバス１１４および入出力(I/O)装置１１６を介して複数のフィールド装置１１２a〜cに連結されうる。プロセス制御ルーチンを実行中、コントローラ１０６はフィールド装置と１１２a〜cと情報（例えば、指令、構成情報、測定情報、状態情報、等）を交換しうる。例えば、コントローラ１０６には、（コントローラ１０６による実行されると）フィールド装置１１２a〜cに指定された動作を行なわせる（例えば、計測やバルブの開へなどを行なわせる）且つ又はデジタルデータバス１１４を介して情報(例えば、計測データ)を通信させる指令がコントローラ１０６からフィールド装置１１２a〜cに対して送られるようにするプロセス制御ルーチンを備えうる。
【００１４】
プロセス制御システム１００内のフィールド装置１１２a〜cを識別するために、フィールド装置１１２a〜cのそれぞれには、独特の物理的装置タグ(ＰＤＴ)が備えられている（例えば、格納されている)。例えば、第１のフィールド装置１１２aの物理的装置タグはＰＤＴ１である。第２のフィールド装置１１２bの物理的装置タグはＰＤＴ２である。また、第３のフィールド装置１１２cの物理的装置タグはＰＤＴ３である。ここに示される実施例において、フィールド装置１１２a〜cは、第１の圧力トランスミッタ１１２a、第２の圧力トランスミッタ１１２bおよびデジタル・バルブ・コントローラ（DVC)１１２cを含む。但し、その他のタイプのフィールド装置（例えば、バルブ、アクチュエータ、センサー、等）を、ここに実施例として記載される方法および機器に関連して使用してもよい。
【００１５】
ここに示される実施例において、フィールド装置１１２a〜cは、周知のFieldbusプロトコルを使用し、デジタルデータバス１１４を介して通信するように構成されたFieldbus適合装置である。Fieldbus標準によると、デジタルデータバス１１４は、計測および制御装置(例えば、フィールド装置１１２a〜c)に通信可能に連結されるように構成されたデジタル、双方向、マルチドロップ通信バスである。フィールド装置１１２a〜cは、マルチドロップ構成内のデジタルデータバス１１４に通信可能に連結された状態で図示されている。デジタルデータバス１１４またはそれに類似したデータバスはその代わりに、一つのフィールド装置がI/O装置１１６と通信するデジタルデータバス専用に設けられている二地点間構成を使用してフィールド装置をI/O装置１１６に通信可能に連結するのにも使用されうる。代替の実施例として挙げられる実施形態における方法および機器は、Fieldbus適合装置を含みえるまたは含みえないその他のタイプのフィールド装置（例えば、周知のProfibusおよびHART通信プロトコルを使用して、データバス１１４を介して通信するProfibusまたはHARTプロトコル適合装置）に関連しても使用されうる。また、デジタルデータバス１１４は、ここにおいて「セグメント」とも指称される。「セグメント」とは、それの特性インピーダンスにて終端処理される物理バスを示すFieldbus用語である。図１に示される実施例において、デジタルデータバス１１４は一つのセグメントを形成する。ここに実施例として記載される方法および機器は、一つのセグメント（例えば、デジタルデータバス１１４)、またはより長い論理バスを形成するために中継器を使用して連結された二つ以上のセグメント（例えば、デジタルデータバス１１４および、一つ又は複数のその他のデジタルデータバス）に関連して実施されうる。
【００１６】
ここに示される実施例において、I/O装置１１６は、Fieldbusプロトコルまたはその他のタイプの通信プロトコル（例えば、Profibusプロトコル、HARTプロトコル、等）を使用しうるその他のフィールド装置に、コントローラ１０６およびフィールド装置１１２a〜cを接続することを可能にする入出力サブシステムインターフェースを使用して実施される。例えば、I/O装置１１６は、Fieldbusプロトコルとその他の通信プロトコルの間で翻訳を行う一つ又は複数のゲートウェイを含みうる。フィールド装置のさらに別のグループがコントローラ１０６と通信できるようにするために、さらに（I/O装置１１６に類似するか同一の)I/O装置を追加してコントローラ１０６に連結してもよい。
【００１７】
実施例として挙げられるプロセス制御システム１００は、ここに実施例として挙げられ以下詳細にわたり説明されている方法および機器を有利に採用しうるタイプのシステムを説明するために提示されている。但し、ここに実施例として記載される方法および機器は、望ましい場合は、図１に示される実施例として挙げられるプロセス制御システム１００より複雑な又はより簡易的なその他のシステム、且つ又はプロセス制御活動、企業管理動作、通信活動などに関連して使用されるシステムにおいてでも有効に採用しうる。
【００１８】
図１に示される実施例においては、モジュール１２０が、コントローラ１０６且つ又はフィールド装置１１２a〜cにより実行されるプロセス制御ルーチンを定義するためにワークステーション１０２に構成される。モジュール１２０は、プロセス制御ルーチンを実施するフィールド装置１１２a〜cにより実行される機能を定義する複数の機能ブロック１２２a〜eを含む。該機能は、装置１１２a〜cに測定値（例えば、電圧値、温度値、流動値、電圧値、現在値、等）を取得させたり、アルゴリズムまたは計算(例えば、積分、微分、たし算、ひき算、等)を行なわせたり、計装（例えば、バルブ開閉、炉調節、ボイラ調節、等）を制御させたり、或いはその他の機能を行なわせる。ここに示される実施例において、フィールド装置１１２a〜cは、機能ブロック１２２a〜eの各々該当するものにより定義される機能を機械実行可能命令の形で格納し実行する。しかしながら、その他の実施例として挙げられる実施形態においては、一つ又は複数の機能ブロック１２２a〜eの代わりとして（またはそれに加えて）、フィールド装置１１２a〜cのうちの一つによってではくコントローラ１０６により実行される機能を示す機能ブロックをモジュール１２０に備えうる。
【００１９】
ワークステーション１０２はまた、フィールド装置１１２a〜c且つ又はコントローラ１０６により実行されるその他の機能ブロック(図示せず)の一つ又は複数を有する別のモジュール１２４を構成するのに使用されうる。二つのモジュール(モジュール１２０および１２４)が備えられた状態で図示されているが、コントローラ１０６且つ又はフィールド装置１１２a〜cにより実行される別の機能ブロックをさらに追加して備えるワークステーション１０２に、より多くのモジュール備えるようにも構成しうる。その他のモジュール（複数可）は、その他のプロセス制御ルーチンを実施するため、且つ又は、モジュール１２０および１２４に関連してプロセス制御ルーチンを実施するために使用してもよい。
【００２０】
図示する実施例において機能ブロック１２２a〜eは、第１のアナログ入力(ＡＩ１)機能ブロック１２２a、第１の比例・積分・微分(ＰＩＤ１)機能ブロック１２２b、第２のアナログ入力(ＡＩ２)機能ブロック１２２c、ＰＩＤ２機能ブロック１２２dおよびアナログ出力(ＡＯ１)機能ブロック１２２eを含む。ＡＩ１機能ブロック１２２aおよびＰＩＤ１機能ブロック１２２bは、フィールド装置１１２aにより実行される機能を定義する。ＡＩ２機能ブロック１２２cは、フィールド装置１１２bにより実行される機能を定義する。ＰＩＤ２機能ブロック１２２dおよびAO１機能ブロック１２２eは、フィールド装置１１２cにより実行される機能を定義する。代替の実施例として挙げられる実施形態においては、機能ブロック１２２a〜eの代わりに、またはそれに加えて、その他のタイプの機能ブロックを使用しうる。
【００２１】
図２は、機能ブロック１２２a〜eのグラフィカルユーザインタフェース（GUI)表示を表す。機能ブロック１２２a〜eは、例えばワークステーション１０２により実行されるGUIベースの設計ソフトウェア・アプリケーションを使用して、ユーザ(例えば、エンジニア、オペレータ、等)により相互接続しうる。図２に示されるように、機能ブロック１２２a〜eのそれぞれは、一つ又は複数の入力且つ又は、一つ又は複数の出力を含む。機能ブロック１２２a〜eの入力且つ又は出力の接続は、モジュール１２０(図１)のプロセス制御ルーチンを定義する。機能ブロック１２２a〜e間の接続は、ここにおいて機能ブロック接続線と指称される。ここに示される実施例において、ＡＩ１機能ブロック１２２aの出力はＰＩＤ１機能ブロック１２２bの入力に接続され、ＰＩＤ１機能ブロック１２２bおよびＡＩ２機能ブロック１２２cの出力はＰＩＤ２機能ブロック１２２dの入力に接続され、そして、ＰＩＤ２機能ブロック１２２dの出力はAO１機能ブロック１２２eの入力に接続される。
【００２２】
図３を簡単に参照すると、実施例として挙げられる機能ブロック結合構成２０２(即ち、結合構成２０２)は、ＡＩ２機能ブロック１２２cからＰＩＤ２機能ブロック１２２dへの情報の通信を可能にするためにＡＩ２機能ブロック１２２cの出力２０４をＰＩＤ２機能ブロック１２２dの入力２０６に結び付けることができる代表的な方法を示す目的で提示されている。結合工程により、機能ブロック（例えば、図１および図２の機能ブロック１２２a〜e)間の接続に基づいた結合構成２０２を生成する。結合工程により、例えば、機能ブロックが機能ブロック相互接続に準じて情報を交換することを可能にするために新しい機能ブロック接続（例えば、出力２０４および入力２０６間の接続）が構成される度に、ワークステーション１０２によって実行できる。
【００２３】
結合工程により、装置内の通信機構および装置間のリンクにより装置間の通信ができることを可能にするために装置内のリンクを作成するように構成される。装置内のリンクは、同じ装置に関連した二つの機能ブロック間の接続を定義する。例えば、機能ブロック１２２aおよび１２２bにより定義される機能が同じ装置(図１のフィールド装置１１２a)により実行されるので、装置内のリンクは、ＡＩ１機能ブロック１２２a（図１および図２)およびＰＩＤ１機能ブロック１２２b（図１および図２)間の接続を定義する。装置間のリンクは、二つのフィールド装置を通信可能に連結する通信バス(例えば、図１のデジタルデータバス１１４)を介してフィールド装置を通信させるために、一つのフィールド装置内の機能ブロックと別のフィールド装置内の機能ブロック間の接続を定義する。例えば、ＡＩ２機能ブロック１２２cに関連した機能がフィールド装置１１２b(図１)により実行され、ＰＩＤ２機能ブロック１２２dに関連した機能がフィールド装置１１２c(図１)により実行されるので、装置間リンクは、ＡＩ２機能ブロック１２２c(図１〜３)およびＰＩＤ２機能ブロック１２２d間の接続を定義する。
【００２４】
図３に示される実施例において、ｃ、ＡＩ２機能ブロック１２２cをＰＩＤ２機能ブロック１２２dに結び付けるための装置間リンク構成を作成する。初期段階において、結合工程により、出力２０４を入力２０６にリンクするための情報を含む装置〜装置リンク・オブジェクト２０８(例えば、装置間リンク・オブジェクト)を作成する。同じ装置に関連した機能ブロックを結び付けるのに使用される代替の実施例として挙げられる実施形態において、結合工程により装置内のリンク・オブジェクト(図示せず)が作成されることになる。図３の実施例として挙げられる結合構成２０２において、その後、結合工程により、公開者リンク２１０を作成し、出力２０４と公開者リンク２１０を関連付けて、公開者リンク２１０を装置〜装置リンク・オブジェクト２０８に結び付ける。また、結合工程により、受信登録者リンク２１２を作成し、入力２０６と受信登録者リンク２１２を関連付けて、受信登録者リンク２１２を装置〜装置リンク・オブジェクト２０８に結び付ける。
【００２５】
結合工程によってさらに、公開者用バーチャル通信資源 （VCR：Virtual Communication Resource) ２１４および受信登録者用VCR２１６が作成される。VCRは、機能ブロック間の接続のアイデンティティ(識別可能特性)を維持(または持続)して、該VCRのアイデンティティを利用して機能ブロック間のいかなる通信を行えるようにする。ここに示される実施例において、公開者用VCR ２１４は、ＡＩ２機能ブロック１２２cの独自の識別特性２１８を公開者リンク２１０に関連付け、受信登録者用VCR ２１６は、ＰＩＤ２機能ブロック１２２dの独自の識別特性２２０を受信登録者リンク２１２に関連付ける。一般に、公開者/受信登録者用VCR（例えば、公開者用VCRおよび受信登録者用VCR２１４および２１６）は、一対多数同時通信（例えば、一つの機能ブロックが多くの機能ブロックに対して同時に情報を通信すること）を含む機能ブロック間のバッファ処理済通信を可能にする。ここに示される実施例において、ＡＩ２機能ブロック１２２cは、新しいデータを生成した後に出力２０４を介してＰＩＤ２機能ブロック１２２dにデータを通信する（または発行する)。ＰＩＤ２機能ブロック１２２dは出力２０４にとっての受信登録者であり、したがって、出力２０４を介して公開されたデータを受け取る。
【００２６】
図２を再び参照するに、機能ブロック１２２a〜eは、ループを形成するために連結または接続される。特に、ＡＯ１機能ブロック１２２eの出力は、ＰＩＤ２-ＡＯ１ループ２３２を形成するために、ＰＩＤ２機能ブロック１２２dの入力に連結または接続される。また、ＰＩＤ２機能ブロック１２２dの出力は、ＰＩＤ１-ＰＩＤ２ループ２３４を形成するために、ＰＩＤ１機能ブロック１２２bの入力に接続される。ここに示される実施例において、ＰＩＤ１-ＰＩＤ２ループ２３４は、ＰＩＤ２-ＡＯ１ループ２３２ほど頻繁に実行されない（例えば、ＰＩＤ１-ＰＩＤ２ループ２３４は、ＰＩＤ２-ＡＯ１ループ２３２より長いループ実行期間またはより遅いループ実行速度を有する) 。
【００２７】
ループ２３２のループ実行期間は、機能ブロック１２２c〜eのブロック走査周波数(BSRの)に基づき、ループ２３４のループ実行期間は、機能ブロック１２２a〜bのブロック走査周波数に基づく。ブロック走査周波数は、機能ブロックが別の機能ブロックへの情報をどれくらいの頻繁で通信するのかを公開または定義する。例えば、フィールド装置１１２aがＡＩ１機能ブロック１２２aを実行し、デジタルデータバス１１４についての情報を２０００ミリ秒ごとに公開する場合、ＡＩ１機能ブロック１２２aのブロック走査周波数は２０００ミリ秒となる。各々の機能ブロックを実行するフィールド装置(またはコントローラ)に必要な時間は、ここにおいて「ブロック実行時間」と指称される。例えば、フィールド装置１１２aがＡＩ１機能ブロック１２２aを実行するために２０ミリ秒(ms)を必要とする場合、ＡＩ１機能ブロック１２２aのブロック実行時間は２０ミリ秒となる。機能ブロック１２２a〜eに対して各々関連付けられているブロック実行時期tE1、tE2、tE3、tE4、およびtE5が、実施例として図４および図５に示されている。ブロック走査周波数は一般に機能ブロック間で異なる。ここに示される実施例において、機能ブロック１２２aおよび１２２bに関連したブロック走査周波数は、機能ブロック１２２c〜eに関連したブロック走査周波数を下回る。結果として、ＰＩＤ１-ＰＩＤ２ループ２３４はＰＩＤ２-ＡＯ１ループ２３２ほど頻繁に実行しない（例えば、ループ速度がより遅い、ループ周期性がより長い、等)。
【００２８】
図４を参照するに、実施例として挙げられる実行順序図４００は、図２のループ２３２の連続する二つのループ実行中における機能ブロック１２２c〜eの実行間のタイミング関係を表す。ＡＩ２機能ブロック１２２cの実行は参照番号４０２により示されており、ＰＩＤ２機能ブロック１２２dの実行は参照番号４０４により示されており、AO１機能ブロック１２２eの実行は参照番号４０６により示されている。ここにおいては、マクロ周期がループの単一の実行(例えば、ループ２３２の単一の実行)を示すのに使用されている。ループを実行するのに必要な時間は一般に、最も頻繁が少ないブロック走査周波数を有するループにおける機能ブロックに基づく。公知のシステムにおいて、マクロ周期に関連した各機能ブロックは、そのマクロ周期の間に一回だけ実行されるようになっていなければならない。例えば、図４において、各機能ブロック１２２c〜eは、５００ミリ秒の期間を有するマクロ周期４０８の間に一回だけ実行されるものとして示されている。公知のシステムにおいて、同じセグメント（例えば、デジタルデータバス１１４のフィールド装置１１２a〜c）のフィールド装置は、同じマクロ周期に基づいた各々の機能ブロックを実行しなければならない。すなわち、公知のシステムの公知の設計基準ガイドラインは、単一のセグメント(例えば、デジタルデータバス１１４)で異なるマクロ周期を実行しないように指定している。走査周波数が低い（例えば、２秒の走査周波数）を有するループ２３２に別の機能ブロックが導入されると、全機能ブロック（例えば、２秒の走査周波数を有する機能ブロック１２２c〜eおよび追加された機能ブロック）の実行を完了させるためには、マクロ周期４０８の間に一回、マクロ周期４０８の期間を延長しなければならない。
【００２９】
図５は、図２の連続する二つの２００ミリ秒ループ２３４の実行時における図１および図２の機能ブロック１２２a〜bを実行する間のタイミング関係を示す別の実施例として挙げられる実行順序図５００を示す。ＡＩ１機能ブロック１２２aの実行は参照番号５０２により示され、機能ブロック１２２bの実行は参照番号５０４により示される。機能ブロック１２２a〜bのブロック走査周波数は機能ブロック１２２c〜eよりも低周波であるので、ループ２３４は、ループ２３２と比較して少ない頻度で実行される。ここに示される実施例において、ループ２３４に関連したマクロ周期５０２の所要時間は、頻度の少ないループ２３４の実行を完了させるために２０００ミリ秒になっている。
【００３０】
図６は、同じセグメント(例えば、デジタルデータバス１１４)にある異なるブロック走査周波数を有する機能ブロック（例えば、図１〜２、４および５の機能ブロック１２２a〜e）を実行する公知の方法に準じて実施される実施例として挙げられる実行順序図６００を示す。具体的に、公知の方法によると、同じセグメント(例えば、デジタルデータバス１１４)の機能ブロック１２２a〜eの実行期間が２０００ミリ秒であるマクロ周期６０２は、機能ブロック１２２a〜eのうち最も遅いブロック走査周波数に基づいて選択されている。このように、各機能ブロック１２２a〜eは、マクロ周期６０２ごとに一回実行される。実施例として挙げられる実行順序６００を実施するために、機能ブロック１２２c〜eのブロック走査周波数が下げられ、ループ２３２のループ実行期間をループ２３４のループ実行期間と同等のものにする。
【００３１】
機能ブロック１２２c〜eのブロック走査周波数を下げることにより、機能ブロック１２２c〜eおよび機能ブロック１２２a〜bを同じセグメントで実行することが可能になるが、その反面、機能ブロック１２２c〜eのブロック走査周波数を下げることにより、機能ブロック１２２a〜bのブロック走査周波数よりも速い速度で機能ブロック１２２c〜eを実行できなくなる。いくつかの実施形態において、機能ブロック１２２a〜bのブロック実行期間より速く機能ブロック１２２c〜eを実行することが有利な場合がある。例えば、ＡＩ２機能ブロック１２２cがフィールド装置１１２b(図１)に圧力計測を取得させるようになっている場合、図４に示されるように５００ミリ秒の間隔でＡＩ２機能ブロック１２２cを実行することによって、フィールド装置１１２bがデジタルデータバス１１４を通じて比較的高解像度で（例えば、高細分性を伴って)複数の圧力計測を取得または公開することが可能になる。図４に示されるように圧力計測をより高い周波で（例えば、比較的高解像度で)取得することにより、フィールド装置１１２bが、例えば、５００ミリ秒の範囲で生じる圧力の一時的な急降下、急上昇またはその他の比較的高周波を伴う挙動を捕らえることができるようにすることが可能になる。対照的に、公知の方法により実施例として挙げられる実行順序６００を生成するためにＡＩ２機能ブロック１２２cのブロック走査周波数を遅らせると、２０００ミリ秒以下の範囲で生じる一時的な急降下、急上昇またはその他の比較的高周波を伴う挙動をフィールド装置１１２bが捕らえられなくなる。
【００３２】
全ループのループ実行期間を同じにすることにより単一のセグメントで複数のループを実行するために実施例として挙げられる実行順序６００を生成するのに使用される公知の方法とは異なり、ここに示される実施例として挙げられる方法および機器は、同じセグメントにあり異なるループ実行期間を有する複数のループのスケジュールを立てることを可能にする。図７を参照するに、ここに実施例として記載される方法および機器に準じて実施される実施例として挙げられる実行順序図７００によると、図２〜４のループ２３２および２３４を、各々のループ実行期間に応じて実行できるようになる。このように、ブロック走査周波数のより速い機能ブロックを、同じセグメントにあるブロック走査周波数のより遅い機能ブロックより速い速度で実行できる。
【００３３】
デジタルデータバス１１４を通じて各々の速度でループ２３２および２３４を実行できるようにするために、ここに実施例として記載される方法および機器は、図７において機能ブロック１２２a〜eの複数の機能ブロック実行４０２、４０４、４０６、５０２および５０４として示されるスケジュール７０２(即ち、機能ブロック実行スケジュール)を生成する。ここに示される実施例において、スケジュール７００は、時間t０で開始するようになっているスケジュール開始時間７０４を含む。機能ブロック実行４０２、４０４、４０６、５０２および５０４のそれぞれは、スケジュール開始時間７０４に相対して、各々の開始時間オフセット(例えば、オフセット)から開始する。図７において、実施例として挙げられる開始時間オフセット７０６は、ＡＩ２機能ブロック１２２cの機能ブロック実行４０２のうちの一つがスケジュール開始時間７０４に相対して開始する状態で示されている。
【００３４】
スケジュール７００は、機能ブロック１２２a〜eのブロック走査周波数およびモジュール１２０のモジュール実行期間(TME)に基づいて決定される。モジュール実行期間(TME)は、モジュール１２０中の機能ブロック（例えば、機能ブロック１２２a〜eの一つ）に関連した最も遅い（又は最も低周波の）ブロック走査周波数の逆値に等しい。例えば、ＡＩ１機能ブロック１２２aおよびＰＩＤ１機能ブロック１２２bが、モジュール１２０の機能ブロック１２２c〜eのブロック走査周波数１走査／５００ミリ秒より遅いブロック走査周波数１走査／２０００ミリ秒を有するので、モジュール１２０のモジュール走査期間(TME)は２０００ミリ秒となる。
【００３５】
ここに示される実施例として挙げられる方法および機器は、各機能ブロック（例えば、機能ブロック１２２a〜eのそれぞれ）の開始時間オフセットを一つ又は複数生成するように構成される。機能ブロックの開始時間オフセットの数値は、その機能ブロックのブロック未加工実行期間(TBRE)とその機能ブロックを実行するように構成されたフィールド装置に関連した最も遅いブロックの生の実行期間(TSBE)とに基づいて決定される。ブロック未加工実行期間(TBRE)は、スケジュール（例えば、図７のスケジュール７０２）を無視して機能ブロックを実行する間隔の時間の長さを定義し、且つ、以下の方程式１に応じて決定できるものである。
ＴBRE＝ＴME＊ＦBSR        （式１）
上記の方程式１に示されるように、特定の機能ブロックに関するブロック未加工実行期間(TBRE)は、機能ブロックを含むモジュールのモジュール実行期間(TME)に、機能ブロックのブロック走査周波数因子(FBSR)を掛けることによって決定される。ブロック走査周波数因子(FBSR)は、機能ブロックの連続する二つの実行の開始時間の間のモジュール実行期間(TME)の数（quantity）に等しく、以下の方程式２を使用して決定されうる。
ＦBSR＝ＴME／ＢＳＲ        （式２）
上記の方程式２および図７を参照するに、モジュール１２０(図１)のモジュール実行期間(TME)が２０００ミリ秒で、機能ブロック１２２aが２０００ミリ秒(BSR=２０００ミリ秒)ごとに実行されるように構成されている場合、ＡＩ１機能ブロック１２２aの連続する二つの実行の開始点の間に、一つのモジュール実行期間(TME)が経過するので、ＡＩ１機能ブロック１２２aのブロック走査周波数因子(FBSR)は１となる。図７において、ＡＩ２機能ブロック１２２cは、５００ミリ秒ごとに（BSR=５００ミリ秒で)実行するものとして示されている。従って、ＡＩ２機能ブロック１２２cの連続する二つの実行の開始点の間に、モジュール実行期間(TME)の四分の一だけが経過するので、ＡＩ２機能ブロック１２２cのブロック走査周波数因子(FBSR)は、四分の一(０.２５)となる。
【００３６】
上記の方程式１を再び参照するに、モジュール１２０のモジュール実行期間(TME)が２０００ミリ秒であり、ＡＩ１機能ブロック１２２aのブロック走査周波数因子(FBSR)が１の場合、ＡＩ１機能ブロック１２２aのブロック未加工実行期間(TBRE)は２０００ミリ秒となり、ＡＩ１機能ブロック１２２aが２０００ミリ秒ごとに実行されることを示す。しかしながら、ＡＩ２機能ブロック１２２cのブロック走査周波数因子(FBSR)が、四分の一（例えば、５００ミリ秒(TBRE)=２０００ミリ秒(TME)x１/４（FBSR)）であるので、ＡＩ２機能ブロック１２２cのブロック未加工実行期間(TBRE)は５００ミリ秒となる。
【００３７】
上記の方程式１に基づいてブロック未加工実行期間(TBRE)が決定された後、ブロック未加工実行期間(TBRE)が、図８の端数処理一覧表８００に基づいて切り上げられる。スケジュール７０２(図７)を数回繰り返すうちに機能ブロックの実行（例えば、図７の機能ブロック実行４０２、４０４、４０６、５０２および５０４）が狂わないようにする手段として、ブロック未加工実行期間(TBRE)は切り上げられ、丸め済ブロック未加工実行期間(RTBRE)の境界に基づいて各機能ブロックに必要な開始時間オフセット数(QS)が決定される。端数処理一覧表８００に示されるように、機能ブロックのブロック未加工実行期間(TBRE)が０〜５００ミリ秒である場合、ブロック未加工実行期間(TBRE)は該丸め済ブロック未加工実行期間(RTBRE)まで切り上げられる。同様に、機能ブロックのブロック未加工実行期間(TBRE)が、５００ミリ秒から１０００ミリ秒の間、または１０００ミリ秒から２０００ミリ秒の間、或いは２０００ミリ秒以上にある場合、ブロック未加工実行期間(TBRE)は、該丸め済ブロック未加工実行期間(RTBRE)値１０００ミリ秒、２０００ミリ秒または４０００ミリ秒に各々切り上げられる。
【００３８】
図７に戻って参照するに、スケジュール７０２はサブスケジュール７１０および７１２を使用して実施される。ここに示される実施例において、サブスケジュール７１０の期間は５００ミリ秒であり、図２および図４のループ２３２のループ実行に関連する。サブスケジュール７１２の期間は２０００ミリ秒であり、図２および図５のループ２３４のループ実行をに関連する。スケジュール７０２の生成中、サブスケジュール７１０は、まず最初に生成され、その後、図７に示されるように該２０００ミリ秒スケジュール７０２を埋めるために３回複製される。サブスケジュール７１０が生成された後、期間が次に最も短いサブスケジュール（例えば、サブスケジュール７１２）が生成される。サブスケジュール７１０および７１２が生成された後に、サブスケジュール７１０および７１２はスケジュール７０２を生成するためにマージされる。
【００３９】
図７に示されるように、サブスケジュール７１０の間に、実行４０２、４０４および４０６がそれぞれ一回行われる。従って、機能ブロック１２２c〜eのそれぞれがサブスケジュール７１０用に必要な開始時間オフセットは一つだけである。また、サブスケジュール７１２の間に、機能ブロック１２２a〜bがそれぞれ一回だけ実行される。従って、機能ブロック１２２c〜eのそれぞれがサブスケジュール７１２用に必要な開始時間オフセットは一つだけである。
【００４０】
機能ブロック（例えば、図１および図２の機能ブロック１２２a〜eの一つ）により必要とされるサブスケジュール（例えば、サブスケジュール７１０またはサブスケジュール７１２)用の開始時間オフセット数(QS)（例えば、開始時間オフセット７０６）は、機能ブロックの丸め済ブロック未加工実行期間(RTBRE)と機能ブロックを実行するフィールド装置（例えば、図１のフィールド装置１１２a〜cの一つ）と関連した最も遅い丸め済ブロック未加工実行期間(RTSRE)に基づいて決定される。機能ブロック用の開始時間オフセット数(QS)は以下の方程式３を使用して決定できる。
ＱS＝ＲＴSRE／ＲＴBRE        （式３）
上記方程式３に示されるように、機能ブロック用の開始時間オフセット数(QS)は、機能ブロックを実行するフィールド装置に関連した最も遅い丸め済ブロック未加工実行期間(RTSRE)を、機能ブロックの丸め済ブロック未加工実行期間(RTBRE)で割ることより決定される。
【００４１】
ＰＩＤ２機能ブロック１２２d用の開始時間オフセット数(QS)を決定するために方程式３を使用する際に、まず最初に関与してくる作業として、ＰＩＤ２機能ブロック１２２dを実行するフィールド装置１１２cに関連した最も遅い丸め済ブロック未加工実行期間(RTSRE)を決定することが含まれる。ここに示される実施例において、ＰＩＤ２およびAO１機能ブロック１２２d〜eは、フィールド装置１１２cにより実行される唯一の機能ブロックである。従って、フィールド装置１１２cに関連した最も遅い丸め済ブロック未加工実行期間(RTSRE)が、より遅い丸め済ブロック未加工実行期間(RTBRE)を有する機能ブロック１２２d〜eのうちの一つの丸め済ブロック未加工実行期間(RTBRE)と等しくなる。機能ブロック１２２d〜eの丸め済ブロック未加工実行期間(RTBRE)は両方とも５００ミリ秒であるので、最も遅い丸め済ブロック未加工実行期間(RTSRE)が５００ミリ秒に設定される。
【００４２】
フィールド装置１１２cに関連した最も遅い丸め済ブロック未加工実行期間(RTSRE)を決定した後に、方程式３に使用して、５００ミリ秒（フィールド装置１１２cに関連した最も遅い丸め済ブロック未加工実行期間(RTSRE)）を５００ミリ秒（ＰＩＤ２機能ブロック１２２dの丸め済ブロック未加工実行期間(RTBRE)）で割ることによって、ＰＩＤ２機能ブロック１２２dに必要とされる開始時間オフセット数(QS)を決定することができる。この割り算により、サブスケジュール７１０で実行すべきＰＩＤ２機能ブロック１２２dにより必要とされる開始時間オフセット数(QS)は１であることが示される。
【００４３】
図９の実施例として挙げられる開始時間オフセット数一覧表９００は、図７のサブスケジュール７１２中で実行を行うために機能ブロック１２２a〜bにより必要とされる開始時間オフセット数(QS)と、図７のサブスケジュール７１０中で実行を行うために機能ブロック１２２c〜eにより必要とされる開始時間オフセット数(QS)とを示す。また、開始時間オフセット数一覧表９００は、ブロック走査周波数因子(FBSR)、ブロック未加工実行期間(TBRE)、および丸め済ブロック未加工実行期間(RTBRE)も示す。
【００４４】
図１０は、モジュール１０２０の機能ブロック１０２２a〜eに基づいてプロセス制御システムを実施するために、デジタルデータバス１０１４に複数のフィールド装置１０１２a〜cが通信可能に連結されている別の実施例として挙げられる機能ブロック構成１０００を表す。図９の開始時間オフセット数一覧表９００に示されるように、開始時間オフセットを一つだけ必要とする図１および図２の機能ブロック１２２a〜eとは異なり、図１０に示される機能ブロック１０２２a〜eのうちのいくつかは、下記されるように複数の開始時間オフセットを必要とする。複数のフィールド装置１０１２a〜cは、図１のフィールド装置１１２a〜cに類似するか、またはそれと同一のものであり、デジタルデータバス１０１４は、図１のデジタルデータバス１１４に類似するか、またはそれと同一のものである。図１０に示されるように、フィールド装置１０１２aは、ＡＩ１１機能ブロック１０２２a、ＡＩ１２機能ブロック１０２２cおよびＡＯ１１機能ブロック１０２２eにより定義される機能を実行し、フィールド装置１０１２bはＰＩＤ１２機能ブロック１０２２bにより定義される機能を実行し、そしてフィールド装置１０１２cはＰＩＤ１３機能ブロック１０２２dにより定義される機能を実行する。
【００４５】
ＡＩ１１機能ブロック１０２２aは図１および２のＡＩ１機能ブロック１２２aに類似するかまたは同一のものであり、ＰＩＤ１２機能ブロック１０２２bは図１および２のＰＩＤ１機能ブロック１２２bに類似するかまたは同一のものであり、ＡＩ１２機能ブロック１０２２cは図１および２のＡＩ２機能ブロック１２２cに類似するかまたは同一のものであり、ＰＩＤ１３機能ブロック１０２２dは図１および２のＰＩＤ２機能ブロック１２２dに類似するかまたは同一であり、そしてＡＯ１１機能ブロック１０２２eは図１および２のAO１機能ブロック１２２eに類似するかまたは同一のものである。例えば、ＡＩ１１機能ブロック１０２２aおよびＰＩＤ１２機能ブロック１０２２bのブロック走査周波数は、２０００ミリ秒である。また、機能ブロック１０２２c〜eのブロック走査周波数は５００ミリ秒である。図示されてはいないが、機能ブロック１０２２a〜eの間の接続は、図２に示される機能ブロック１２２a〜eの間の接続と同一のものである。
【００４６】
別の実施例として図１１に示される開始時間オフセット数一覧表１１００は、各々のブロック走査周波数因子(FBSR)、ブロック未加工実行期間(TBRE)、および丸め済ブロック未加工実行期間(RTBRE)に基づいて決定された、各機能ブロック１０２２a〜e(図１０)の開始時間オフセット数(QS)を示す。各機能ブロック１０２２a〜eのブロック未加工実行期間(TBRE)は、モジュール１０２０のモジュール実行期間(TME)およびブロック走査周波数因子(FBSR)に基づいて決定される上記方程式１に基づいて決定される。その後、ブロック未加工実行期間(TBRE)のそれぞれが丸められ、各機能ブロック１０２２a〜eの丸め済ブロック未加工実行期間(RTBRE)が決定される。
【００４７】
その後、各機能ブロック１０２２a〜eの開始時間オフセット数(QS)が上記方程式３に基づいて決定される。図１１に示されるように、参照番号１１０２は、ＡＩ１２機能ブロック１０２２c(ＰＤＴ１１/ＦＦＡＩ１２)にとっての４に等しい開始時間オフセット数(QS)を示す。ＡＩ１２機能ブロック１０２２c用に開始時間オフセット数(QS)を決定するために、フィールド装置１０１２aに関連した最も遅い丸め済ブロック未加工実行期間(RTSRE)がまず決定される。図１０に示される実施例において、フィールド装置１０１２aはＡＩ１１機能ブロック１０２２a、ＡＩ１２機能ブロック１０２２cおよびＡＯ１１機能ブロック１０２２eを実行するように構成される。従って、最も遅い丸め済ブロック未加工実行期間(RTSRE)が、ＡＩ１１機能ブロック１０２２aの丸め済ブロック未加工実行期間(RTBRE)、ＡＩ１２機能ブロック１０２２cの丸め済ブロック未加工実行期間(RTBRE)、およびＡＯ１１機能ブロック１０２２eの丸め済ブロック未加工実行期間(RTBRE)のうちで最も遅い。図１１に示されるように、ＡＩ１１機能ブロック１０２２a(ＰＤＴ１１/ＦＦＡＩ１１)の丸め済ブロック未加工実行期間(RTBRE)は２０００ミリ秒であり、ＡＩ１２機能ブロック１０２２c(ＰＤＴ１１/ＦＦＡＩ１２)の丸め済ブロック未加工実行期間(RTBRE)は５００ミリ秒であり、そして、ＡＯ１１機能ブロック１０２２e(ＰＤＴ１１/ＦＦＡＯ１１)の丸め済ブロック未加工実行期間(RTBRE)は５００ミリ秒である。従って、フィールド装置１０１２aに関連した最も遅い丸め済ブロック未加工実行期間(RTSRE)は２０００ミリ秒である。上記の方程式３に準じて、ＡＩ１２機能ブロック１０２２cにより必要とされる開始時間オフセット数(QS)を決定するために、２０００ミリ秒（ＡＩ１２機能ブロック１０２２cの丸め済ブロック未加工実行期間(RTBRE)）を５００ミリ秒（フィールド装置１０１２aに関連した最も遅い丸め済ブロック未加工実行期間(RTSRE)）で割って計算することにより照合番号１１０２により示されるような４の値を得る。
【００４８】
表１１００はまた、照合番号１１０４に示されるようにＡＩ１１機能ブロック１０２２a(ＰＤＴ１１/ＦＦＡＩ１１)により必要とされる開始時間オフセット数(QS)は１であることを示す。図示する実施例においては、ＡＩ１１機能ブロック１０２２aの丸め済ブロック未加工実行期間(RTBRE)（２０００ミリ秒）は、フィールド装置１０１２aに関連した最も遅い丸め済ブロック未加工実行期間(RTSRE)（２０００ミリ秒）と等しい一方、ＡＩ１２機能ブロック１０２２cの丸め済ブロック未加工実行期間(RTBRE)（５００ミリ秒）は、フィールド装置１０１２aに関連した最も遅い丸め済ブロック未加工実行期間(RTSRE)（２０００ミリ秒)４倍短い時間であることから、ＡＩ１１機能ブロック１０２２aは一つの開始時間オフセットを有し、ＡＩ１２機能ブロック１０２２cは四つの開始時間オフセットを有する。従って、４は、ＡＩ１１機能ブロック１０２２aを一回実行するごとに、フィールド装置１０１２bは、ＡＩ１２機能ブロック１０２２cを４回実行する必要がある。
【００４９】
図１２は、スケジュール１２０２（即ち、機能ブロック実行スケジュール)および各々の機能ブロック１０２２a〜e(図１０)の実行１２０４、１２０６、１２０８、１２１０および１２１２を示す別の実施例として挙げられる実行順序図１２００である。スケジュール１２０２は、ＰＩＤ２機能ブロック１０２２dに関連した５００ミリ秒のサブスケジュール１２１４、および、機能ブロック１０２２a〜cおよび１０２２eに関連した２０００ミリ秒のサブスケジュール１２１６を使用して生成される。図に示されるように、スケジュール１２０２中に、スケジュール１２０２および２０００ミリ秒のサブスケジュール１２１６が一回生じる間に、５００ミリ秒のサブスケジュール１２１４が４回繰り返される。
【００５０】
図１１の表１１００によると、２０００ミリ秒のサブスケジュール１２１６においては、ＡＩ１１機能ブロック１０２２aが一つの開始時間オフセット(開始時間オフセットt0)を有し、ＡＩ１２機能ブロック１０２２cが四つの開始時間オフセット（開始時間オフセットt1、t5、t9およびt11）を有し、ＡＯ１１機能ブロック１０２２eが四つの開始時間オフセット（開始時間オフセットt3、t7、t11およびt15）を有し、そして、ＰＩＤ１２機能ブロック１０２２bが一つの開始時間オフセット（開始時間オフセットt1)を有する。また、図１１の表１１００によると、５００ミリ秒のサブスケジュール１２１４では、ＰＩＤ１３機能ブロック１０２２dが一つの開始時間オフセット(開始時間オフセットt2)を有する。
【００５１】
機能ブロックの開始時間オフセットは、以下の方程式４より決定できる。
ｔS＝ＮSeq＊ＴBRE＋ｔDA        （式４）
上記の方程式４に示されるように、機能ブロックの開始時間オフセット(tS)は、計算の対象となっている現在の開始時間オフセットのシーケンス番号(Nseq)に機能ブロックのブロック未加工実行期間(TBRE)を掛け、それによって得られた結果を機能ブロックのデータ利用可能時間(tDA)にたすことにより決定される。シーケンス番号(Nseq)とは、サブスケジュール（例えば、図７のサブスケジュール７１０または７１２のいずれか一つ）の間に機能ブロックの特定の実行インスタンスのことである。例えば、図１２において、ＡＩ１２機能モジュール１０２２cは、２０００ミリ秒のサブスケジュール１２１６の間に四つの実行インスタンス（即ち、開始時間オフセット数（QS=４；シーケンス番号(Nseq＝０〜３)を有する。機能ブロックのデータ利用可能時間(tDA)とは、機能ブロックを実行するのに必要なデータが別の機能ブロックにより利用可能となった時の機能ブロックのブロック未加工実行期間(TBRE)中の時間のことである。例えば、第１の機能ブロックのデータ利用可能時間(tDA)は、第２の機能ブロックからのデータが（例えば、データがデジタルデータバス１０１４で公開される場合に)第１の機能ブロックを実行するフィールド装置に対して利用可能状態となる時に応じて決定される。第１の機能ブロックが第２の機能ブロックまたは第１の機能ブロックを実行するフィールド装置のその他の機能ブロックからのデータを必要としない場合、第１の機能ブロックのデータ利用可能時間(tDA)はゼロに設定される。さらに別の実施例として、機能ブロックのブロック未加工実行期間(TBRE)が５００ミリ秒で、それに対してデータが別の機能ブロックにより５００ミリ秒のブロックの未加工実行期間(TBRE)の開始から１２５ミリ秒で利用可能とされる場合、機能ブロックのデータ利用可能時間(tDA)は１２５ミリ秒となる。
【００５２】
方程式４およびＡＩ１２機能ブロック１０２２cの実行１２０６を参照するに、オフセット開始時間(tS)t1、t5、t9およびt11は以下のように決定できる。ＡＩ１２機能ブロック１０２２cのブロック未加工実行期間(TBRE)が５００ミリ秒である場合、２０００ミリ秒のサブスケジュール１２１６のサブスケジュール実行期間をＡＩ１２機能ブロック１０２２cの５００ミリ秒のブロックの未加工実行期間(TBRE)で割った数は４となるので、図１２に示されるように、２０００ミリ秒サブスケジュール１２１６の間の開始時間オフセット数(QS)は４（即ち、シーケンス番号(Nseq＝０〜３)となる。また、ＡＩ１２機能ブロック１０２２cのデータ利用可能時間(tDA)は、１２５ミリ秒である。従って、上記方程式４を使用して計算すると、第１のシーケンス番号(NSEQ)に対応する開始時間オフセット（tS)t1は１２５ミリ秒となり、第２のシーケンス番号(NSEQ)に対応する開始時間オフセット（tS)t5は６２５ミリ秒となり、第３のシーケンス番号(NSEQ)に対応する開始時間オフセット（tS)t9は１１２５ミリ秒となり、第１のシーケンス番号(NSEQ)に対応する開始時間オフセット（tS)t11は１６２５ミリ秒となる。
【００５３】
図１３は、図１のフィールド装置１１２a〜c、図１の機能ブロック１２２a〜e、および機能ブロック１２２a〜eに対応する開始時間オフセットを表すオブジェクト間での関係を示す、実施例として挙げられるオブジェクト指向型ソフトウェア実行環境１３００である。図１のフィールド装置１１２aに対応するＰＤＴ１装置オブジェクト１３０２aはＦＦＡＩ１機能オブジェクト１３０４aおよびＦＦＰＩＤ１機能オブジェクト１３０４bに結び付けられる。ＦＦＡＩ１機能オブジェクト１３０４aは、図１のＡＩ１機能ブロック１２２aに対応し、ＦＦＰＩＤ１機能オブジェクト１３０４bは図１のＰＩＤ１機能ブロック１２２bに対応する。図１のフィールド装置１１２bに対応するＰＤＴ２装置オブジェクト１３０２bは、ＡＩ２機能ブロック１２２b(図１)に対応するＦＦＡＩ２機能ブロック１３０４cおよびＰＩＤ２機能ブロック１２２c(図１)に対応するＦＦＰＩＤ２機能オブジェクト１３０４dに結び付けられる。図１のフィールド装置１１２cに対応するＰＤＴ３装置オブジェクト１３０２cは、ＡＯ１機能ブロック１２２e(図１)に対応するＦＦＡＯ１機能ブロック１３０４eに結び付けられる。
【００５４】
図９の開始時間オフセット数一覧表９００によると、機能オブジェクト１３０４a〜eのそれぞれは、図１３に示される複数の開始時間オフセット１３０６a〜eのうちの各々該当する一つを有する。データ構造を使用して、開始時間オフセットのそれぞれをメモリ（例えば、図１のワークステーション１０２のメモリ）に格納できる。図１３に示される実施例において、開始時間オフセット１３０６に対応する実施例として挙げられる開始時間オフセットデータ構造１３１０は、ＦＢＳ形式[シーケンス番号，インデックス値，開始時間オフセット]で開始時間オフセット１３０６を格納する。該実施例において、シーケンス番号はサブスケジュール（例えば、図７のサブスケジュール７１０または７１２のうちの一つ）の間の機能ブロックの特定の実行インスタンスを示し、インデックス値は各々の機能ブロックに開始時間オフセットを関連付けるのに使用されうるものであり、また、開始時間オフセットは、各々の機能ブロックの開始時間オフセット（例えば、開始時間オフセット１３０６b）を示す。
【００５５】
図１４は、図１０のフィールド装置１０１２a〜c、図１０の機能ブロック１０２２a〜e、および機能ブロック１０２２a〜eに対応する開始時間オフセットを表現するオブジェクト間の関係を示す別の実施例として挙げられるオブジェクト指向型ソフトウェア実行環境１４００である。図１０のフィールド装置１０１２aに対応するＰＤＴ１１装置オブジェクト１４０２aは、ＡＩ１１機能ブロック１０２２a(図１０)に対応するＦＦＡＩ１１機能ブロック１４０４a、ＡＩ１２機能ブロック１０２２c(図１０)に対応するＦＦＡＩ１２機能オブジェクト１４０４b、および、図１０のＡＯ１１機能ブロック１０２２eに対応するＦＦＡ０１１機能オブジェクト１４０４cに結び付けられる。図１０のフィールド装置１０１２bに対応するＰＤＴ１２装置オブジェクト１４０２bは、ＰＩＤ１２機能ブロック１０２２b(図１０)に対応するＦＦＰＩＤ１２機能ブロック１４０４dに結び付けられる。図１０のフィールド装置１０１２cに対応するＰＤＴ１３装置オブジェクト１４０２cは、ＰＩＤ１３機能ブロック１０２２d(図１０)に対応するＦＦＰＩＤ１３機能ブロック１４０４eに結び付けられる。
【００５６】
図１１の開始時間オフセット数一覧表１１００によると、図１４に示される複数の開始時間オフセット１４０６a〜kの中から各々該当するものを一つ又は複数有する。ＦＦＡ０１１機能オブジェクト１４０４cに対応する実施例として挙げられる開始時間オフセットデータ構造１４１０は、開始時間オフセット１４０６f〜iを含む開始リスト１４１２を格納する。オフセットデータ構造１４１０および図１２に実施例として挙げられる実行順序図１２００を参照するに、開始時間オフセット１４０６fはシーケンス番号１およびt3の開始時間オフセットに関連付けられ、開始時間オフセット１４０６gはシーケンス番号２およびt7の開始時間オフセットに関連付けられ、開始時間オフセット１４０６hはシーケンス番号３およびt１１の開始時間オフセットに関連付けられ、そして、開始時間オフセット１４０６iはシーケンス番号４およびt15の開始時間オフセットに関連付けられている。
【００５７】
図１５は、ＡＯ１１機能ブロック１０２２e(図１０)に関連した開始リスト１４１２(図１４)がワークステーション１０２(図１)からフィールド装置１０１２a(図１０)にコピーされる様態の実施例として挙げられるものを図示している。ワークステーション１０２は、フィールド装置１０１２a〜cが、図１２のスケジュール１２０２の間に予定されている時間でそれぞれに該当する且つ機能ブロック１０２２a〜e(図１０)に対応する機能を実行することを可能にするために、開始時間オフセット（例えば、開始時間オフセット１４０６f〜i）を有するフィールド装置１０１２a〜cに開始リスト(例えば、開始リスト１４１２)をダウンロードする。図１５に示されるように、ワークステーション１０２は、ＡＯ１１機能ブロック１０２２eを含む図１０のモジュール１０２０を格納する。図示されてはいないが、ワークステーション１０２は、図１０に示されるその他の機能ブロック１０２２a〜dも格納する。ここに示される実施例において、ワークステーション１０２は、図８の開始時間オフセット１４０６f〜iを有する開始リスト１４１２を格納する。図示されてはいないが、ワークステーション１０２はまた、機能ブロック１０２２a〜dに対応する開始リストも格納する。
【００５８】
フィールド装置１０１２aをデジタルデータバス１０１４に通信可能に連結するように構成されたポート１５０４を有する図１０のフィールド装置１０１２aもまた、図１５に示されている。ポート１５０４には、デジタルデータバス１０１４に関連したスケジュール１２０２(図１２)が備えられている。特に、スケジュール１２０２は、スケジュールの所要時間(例えば、２０００ミリ秒)、およびデジタルデータバス１０１４に通信可能に連結したその他のフィールド装置全て（例えば、フィールド装置１０１２a〜c）が各々の機能（例えば、図１０の機能ブロック１０２２a〜dに対応する機能）を実行するように構成される時間を、ポート１５０４に対して示す。
【００５９】
ここに示される実施例において、フィールド装置１０１２aは、ＡＯ１１機能ブロック１０２２eに対応し且つＡＯフィールド機能(ＦＦ)ブロック１５０６として指定されているアナログ出力機能を格納する。もちろん、フィールド装置１０１２aは、例えば図１０に示されるＡＩ１１機能ブロック１０２２aに対応するＡＩフィールド機能ブロックを含むその他多くの機能をさらに格納できる。ＡＯ１１機能ブロック１０２２e、ＡＯフィールド機能ブロック１５０６および開始リスト１４１２は、ＡＯ１１機能ブロック１０２２eおよびＡＯフィールド機能ブロック１５０６を開始リスト１４１２中の開始時間オフセット１４０６f〜iに関連付ける（例えば、入力する）インデックス値１５０８を格納する。図１のワークステーション１０２またはコントローラ１０６におけるスケジュール生成過程が、開始時間オフセット１４０６f〜iを決定し、開始リスト１４１２中の開始時間オフセット１４０６f〜iを格納する。ワークステーション１０２またはコントローラ１０６は、デジタルデータバス１０１４を介して、開始時間オフセット１４０６f〜iを有する開始リスト１４１２をフィールド装置１０１２aに通信する。その後、フィールド装置１０１２aは、図１５に示されるように開始リスト１４１２を格納する。その後、フィールド装置１０１２aは、開始時間オフセット１４０６f〜iを使用して、スケジュール１２０２に応じた適切な時間でAOフィールド機能ブロック１５０６を実行する時点を決定する。図示されてはいないが、フィールド装置１０１２aはまた、ＡＩ１１およびＡＩ１２機能ブロック１０２２a，１０２２c(図１０)に対応する開始リストを格納する。
【００６０】
図１６は、ここに実施例として記載される方法および機器を使用して、スケジュール（例えば、図７および図１２のスケジュール７０２と１２０２）を生成するために構成された複数のクラス１６０２a〜iを有する実施例として挙げられるオブジェクト指向プログラミング環境１６００を表す。Dbsインターフェース装置クラス１６０２aは、フィールド装置（例えば、図１のフィールド装置１１２a〜cまたは図１０のフィールド装置１０１２a〜c)またはフィールド装置オブジェクト（例えば、図１３のフィールド装置オブジェクト１３０２a〜cまたは図１４のフィールド装置オブジェクト１４０２a〜c）と情報を交換するために備えられている。例えば、Dbsインターフェース装置クラス１６０２aには、フィールド装置またはフィールド装置オブジェクトと通信するように構成された複数の機能または方法が備えられうる。Dbsインターフェース装置クラス１６０２aの実施例として挙げられる機能は、フィールド装置１１２a〜cまたは１０１２a〜cのそれぞれに関連したブロック走査周波数またはブロック未加工実行期間(TBRE)を読み出すことである。
【００６１】
Dbsインターフェース・モジュール・クラス１６０２bは、スケジュール（例えば、図７のスケジュール７０２または図１２のスケジュール１２０２）を生成する対象となっている一つ又は複数のフィールド装置（例えば、図１のフィールド装置１１２a〜cまたは図１０のフィールド装置１０１２a〜c）を含むモジュールまたはモジュールオブジェクト（例えば、図１のモジュール１２０または図１０のモジュール１０２０）と情報を交換するために備えられている。Dbsインターフェース・モジュール・クラス１６０２bの実施例として挙げられる機能または方法は、GUI制御システム設計インターフェース（例えば、図２に示される機能ブロック１２２a〜eの相互接続）を使用して指定された機能ブロックの相互接続により定義されたモジュール(例えば、図１のモジュール１２０)から機能ブロック（例えば、図１および図２の機能ブロック１２２a〜e）の実行順番を読み出すように構成されうる。
【００６２】
Dbsスケジュール基準テンプレート・クラス１６０２cは、スケジュールの基準テンプレート（例えば、図７のスケジュール７０２を生成する基準テンプレートまたは図１２のスケジュール１２０２を生成する基準テンプレート）を読み出す且つ又は生成するために備えられる。スケジュールの基準テンプレートは、スケジュールを生成するのに必要な基本的な（または根本的な)枠組みを提供する。例えば、スケジュールの基準テンプレートは、スケジュール作成機能ブロックに関連した規則を含んみうる、且つ又は、該基準テンプレートは、デフォルトパラメータ（例えば、スケジュール期間、スケジュール期間ごとの実行、等）を指定しうる。実施例として挙げられる実施形態のいくつかにおいては、スケジュールの基準テンプレートを、例えばワークステーション１０２中のスケジュール基準テンプレート用データベース(図示せず)から読み出すようにしてもよい。
【００６３】
Dbsスケジュール・クラス１６０２dは、ここに記載されるようなスケジュール（例えば、図７のスケジュール７０２、図１２のスケジュール１２０２、またはその他のいかなるスケジュール）を生成するために備えられている。Dbsサブスケジュール・クラス１６０２eは、ここに記載されるようなサブスケジュール（例えば、図７のサブスケジュール７１０および７１２、図１２のサブスケジュール１２１４，１２１６、或いはその他のいかなるサブスケジュール）を生成するために備えられている。Dbsサブスケジュール基準テンプレート・クラス１６０２fは、サブスケジュールの基準テンプレート（例えば、図７のサブスケジュール７１０および７１２を生成する基準テンプレート、または図１２のサブスケジュール１２１４および１２１６を生成する基準テンプレート）を読み出す且つ又は生成するために備えられている。サブスケジュールの基準テンプレートは、サブスケジュールを生成するのに必要な基本的な（または根本的)枠組みを提供する。実施例として挙げられる実施形態のいくつかにおいては、サブスケジュールの基準テンプレートを、例えばワークステーション１０２中のサブスケジュール基準テンプレートデータベース(図示せず)から読み出すようにしてもよい。
【００６４】
Dbs強制データシーケンス・クラス１６０２gは、スケジュールに関連した強制データシーケンスを構成するために備えられうる。強制データシーケンスは、フィールド装置（例えば、図１のフィールド装置１１２a〜cの一つ又は図１０のフィールド装置１０１２a〜cの一つ）がいつその他のフィールド装置にそれのデータ(例えば、測定情報、状態情報、等)を通信または公開するかを指定する。ここに示される実施例において、Dbs強制データシーケンス・クラス１６０２gは、強制データ指令がそれのスケジュール（例えば、図７および図１２のスケジュール７１０および１２０２）に示される機能ブロックの実行に続いてコントローラ(例えば、コントローラ１０６)によりフィールド装置に発行されることを保証する。
【００６５】
Dbtスケジュール基準テンプレート・クラス１６０２hおよびDbtスケジュール・クラス１６０２iは、スケジュール生成工程中に、およびフィールド装置へケジュールを公開する前に、スケジュール（例えば、スケジュール７０２または１２０２のいずれか、またはその他のスケジュール）を生成する一時的作業領域を提供する。
【００６６】
図１７は、ここにおいて実施例として示された方法に従ってスケジュールを生成するのに使用されうる実施例として挙げられる機器１７００の詳細ブロック図である。実施例として挙げられる機器１７００は、ワークステーション１０２（図１)、コントローラ１０６（図１)、またはハードウェア、ファームウェア且つ又はソフトウェアの所望のあらゆる組み合わせを使用して実施されうる。例えば、一つ又は複数の集積回路、ディスクリート（単機能)半導体構成素子または受動電子部品を使用しえる。また、その代わりとして、又はそれに加えて、実施例として挙げられる機器１７００のブロックのいくつかまたは全て、またはそれの構成部分は、例えばプロセッサーシステム（例えば、図２３の実施例として挙げられるプロセッサーシステム２３１０）によって実行時に図１８〜２１のフローチャートに示される動作を行う機械アクセス可能媒体に格納されている指示、コード、且つ又はその他のソフトウェア且つ又はファームウェアなどを使用して実施されうる。ソフトウェアの実施例として挙げられる実施形態において、以下の実施例として記載される機器のブロックは、図１６を参照して上述されているオブジェクト指向プログラミング・クラス１６０２a〜gを実施するのに使用されうる。
【００６７】
実施例として挙げられる機器１７００には、フィールド装置（例えば、図１のフィールド装置１１２a〜cまたは図１０のフィールド装置１０１２a〜c）と情報を交換するように構成されたフィールド機器インターフェース１７０２が備えられている。例えば、フィールド機器インターフェース１７０２は、フィールド装置１１２a〜cまたは１０１２a〜cのそれぞれに関連したブロック走査周波数またはブロック未加工実行期間(TBRE)を読み出しうる。
【００６８】
実施例として挙げられる機器１７００には、スケジュール（例えば、図７のスケジュール７０２または図１２のスケジュール１２０２）を生成する対象となっている一つ又は複数のフィールド装置（例えば、図１のフィールド装置１１２a〜cまたは図１０のフィールド装置１０１２a〜c）を含むモジュールと情報を交換するように構成されたモジュールインタフェース１７０４がさらに備えられている。例えば、モジュールインタフェース１７０４は、GUI制御システム設計インターフェース（例えば、図２に示される機能ブロック１２２a〜eの相互接続）を使用して、指定された機能ブロックの相互接続により定義されたモジュール(例えば、図１のモジュール１２０)から機能ブロック（例えば、図１のおよび２の機能ブロック１２２a〜e）の実行順番を読み出すように構成されうる。
【００６９】
実施例として挙げられる機器１７００には、スケジュールの基準テンプレート（例えば、図７のスケジュール７０２を生成する基準テンプレートまたは図１２のスケジュール１２０２を生成する基準テンプレート）を読み出す且つ又は生成するように構成された、スケジュール基準テンプレートインターフェース１７０６がさらに備えられている。実施例として挙げられる実施形態において、スケジュール基準テンプレートインターフェース１７０６は、例えば、モジュール（例えば、図１のモジュール１２０または図１０のモジュール１０２０)中の機能ブロック（例えば、図１の機能ブロック１２２a〜eおよび図１０の１０２２a〜e）の数量およびタイプに応じてワークステーション１０２中のスケジュール基準テンプレート用データベースからスケジュールの基準テンプレートを読み出す。
【００７０】
実施例として挙げられる機器１７００にはまた、ここに記載されるようなスケジュール（例えば、図７のスケジュール７０２、図１２のスケジュール１２０２、またはその他のスケジュール）を生成するように構成されたスケジュール生成ルーチン１７０８が備えられている。加えて、実施例として挙げられる機器１７００には、ここにおいて記載されるようなサブスケジュール（例えば、図７のサブスケジュール７１０および７１２、図１２のサブスケジュール１２１４および１２１６、或いはその他のサブスケジュール）を生成するように構成されたサブスケジュール生成ルーチン１７１０が備えられている。サブスケジュールの基準テンプレートを生成する又は読み出すために、実施例として挙げられる機器１７００にはサブスケジュール基準テンプレートインターフェース１７１２が備えられている。
【００７１】
実施例として挙げられる機器１７００には、スケジュールに関連した強制データシーケンスを生成するように構成された強制データシーケンス生成ルーチン１７１４がさらに備えられている。例えば、スケジュール生成ルーチン１７０８がスケジュール（例えば、スケジュール７０２（図７)または１２０２(図１２)の一つ）を生成し終えた時に、強制データシーケンス生成ルーチン１７１４は、それのスケジュールに示される機能ブロックの実行に続いてコントローラ(例えば、コントローラ１０６)が強制データ指令フをィールド装置に発行することを保証するために、スケジュールの強制データシーケンスを生成できる。このように、フィールド装置により生成されたデータ（例えば、測定情報、状態情報、算出結果、等）は、その他の動作を行うためにデータを必要とするその他のフィールド装置に通信又は公開される。
【００７２】
実施例として挙げられる機器１７００には、機能ブロック（例えば、図１および図２の機能ブロック１２２a〜e、そして図１０および図１２の機能ブロック１０２２a〜e）を追加・削除・相互結合することにより工程制御の経路指定を設計するのに使用されるGUI設計ソフトウェア・アプリケーション（例えば、図２に示されるような機能ブロック１２２a〜eを相互に接続するのに使用されるGUI設計ソフトウェア・アプリケーション）から情報や指令などを受信するように構成される構成インターフェース１７１６がさらに加えて備えられている。例えば、ユーザが二つの機能ブロック間の相互接続を変更すれば、GUI設計ソフトウェア・アプリケーションは構成インターフェース１７１６に対して、変更の通知および変更の内容を示す情報（例えば、機能ブロックAの出力が機能ブロックBの入力に接続されたことを示す情報）を送信する。また、構成インターフェース１７１６は、プロセス制御システム構成情報（例えば、デジタルデータバス結合規則、デジタルデータバス、などの限界）を読み出すために、ワークステーション１０２、または図１のＬＡＮ １０８に連結されるその他のプロセッサーシステム中の情報構造またはデータベースにアクセスするように構成される。
【００７３】
上記方程式１に従ってブロック未加工実行期間(TBRE)を決定するために、実施例として挙げられる機器１７００には、未加工（生の）実行期間決定素子１７１８がさらに備えられている。実施例として挙げられる機器１７００には、図８の端数処理一覧表８００に示される丸め値に従ってブロック未加工実行期間(TBRE)を丸めるための端数処理素子１７２０も備えられている。また、実施例として挙げられる機器１７００には、機能ブロックの開始時間オフセット数(QS)および開始時間オフセット値(tS)を生成するように構成された開始時間オフセット決定素子１７２２が備えられている。例えば、開始時間オフセット決定素子１７２２は方程式３および４に関連して上記される計算を行うように構成できる。また、機能ブロック（例えば、図１および図２の機能ブロック１２２a〜eおよび図１０の機能ブロック１０２２a〜e）のブロック走査周波数因子(FBSR)を決定するために、実施例として挙げられる機器１７００には、ブロック走査周波数因子決定素子１７２４が備えられている。例えば、ブロック走査周波数因子決定素子１７２４は、上記方程式２に応じてブロック走査周波数因子(FBSR)を決定できる。数値を比較するために、実施例として挙げられる機器１７００には比較機構１７２６が備えられている。例えば、比較機構１７２６は、どれが最も遅いかを決定するために当該の装置に割り当てられた機能ブロックのブロック未加工実行期間(TBRE)を比較することにより、フィールド装置に関連した最も遅いブロック未加工実行期間(TSBE)を決定するのに使用されうる。
【００７４】
図１８〜図２１は、図１７の実施例として挙げられる機器１７００を実施するのに使用されうる実施例として挙げられる方法のフローチャートである。実施例として挙げられる実施形態のいくつかにおいては、プロセッサ（例えば、図２３の実施例として挙げられるプロセッサーシステム２３１０中に図示されるプロセッサ２３１２）による実行用のプログラムを含む機械可読指示を使用して、図１８〜図２１の実施例として挙げられる方法を実施しうる。該プログラムは、CD-ROM、フロッピー（登録商標）ディスク、ハードドライブ、デジタル多用途ディスク(DVD)などの有形媒体、またはプロセッサ２３１２を関連したメモリに格納されたソフトウェアで具体化されうる、且つ又は、周知の方法でファームウェア且つ又は専用ハードウェアで具体化されうるものである。さらに、通常の技術を有する当業者にとっては、実施例として挙げられるプログラムは図１８〜２１に示されるフローチャートに関連して記載されるが、図１７の実施例として挙げられる機器１７００を実施するためのその他の多くの方法を代わりに使用しえることは一目瞭然のはずである。例えば、ブロックの実行順序は変更しえるものであり、且つ又は、ここに記載されるブロックのうちのいくつかを変更、除外、または組み合わせることが可能である。
【００７５】
以下、図１８〜２１のフローダイヤグラムを、論議の目的上図１２のスケジュール１２０２に関連して説明する。但し、図１８〜２１のフローダイヤグラムに関連して実施例として記載される方法は、例えば、図７のスケジュール７０２を含むその他のスケジュールを生成するのにも使用されうる。
【００７６】
図１８を参照するに、スケジュール（例えば、図７および図１２のスケジュール７０２および１２０２、またはプロセス制御システム内の機能ブロックの実行のスケジュールを立てるその他のいかなるスケジュール）を生成するための実施例として挙げられる方法において、構成インターフェース１７１６は、新しいモジュール（例えば、図１０のモジュール１０２０）が作成されたかどうか、または、既存のモジュールの構成が変更されたかどうかを判断する（ブロック１８０２)。新しいモジュールが追加されず、既存のモジュールにも変更がなされなかった、と構成インターフェース１７１６が判断すると、新しいモジュールが追加されたか又は既存のモジュールが変更された、と構成インターフェース１７１６が判断するまで、制御はブロック１８０２に留まる。
【００７７】
新しいモジュールが追加され、且つ既存のモジュールの構成が変更された、と構成インターフェース１７１６が判断すると（ブロック１８０２)、構成インターフェース１７１６は公知の方法に応じてスケジュールを生成するべきかどうかを判断する（ブロック１８０４)。例えば、構成インターフェース１７１６は、ワークステーション１０２(図１)に格納されたデータ構造からスケジュール・タイプ記述子を読み出しうる。公知の方法に従って生成された実施例として挙げられるスケジュールは、図６に関連して上記されている。スケジュールを生成するのに公知の方法を使用すべきである、と構成インターフェース１７１６が判断すると、その後、図１８の実施例として挙げられる方法が終了する。
【００７８】
スケジュールを生成するのに公知の方法を使用すべきではない、と構成インターフェース１７１６が判断すると、構成インターフェース１７１６は、モジュール構成によっていかなる結合規則が違反されないことを確認する（ブロック１８０６)。結合規則により、特定のモジュール構成が有効かどうかが示される。例えば、図１０のモジュール１０２０中の機能ブロック１０２２a〜eのうちの一つが、フィールド装置１０１２a〜cまたはその他のフィールド装置のうちの一つに割り当てられていない場合、または機能ブロック１０２２a〜eのうちの一つが適切に接続されていない場合、そのモジュール１０２０はスケジュールの生成に有効ではない。ここに示される実施例において、構成インターフェース１７１６は、モジュール構成を結合規則に対して照合するプロセス制御システム設計ソフトウェア・アプリケーション中の照合機能から検証を受け取る。モジュール構成が有効でない、と構成インターフェース１７１６が判断すると（ブロック１８０８)、図１８の実施例として挙げられる方法が終了する。
【００７９】
モジュール構成が有効である、と構成インターフェース１７１６が判断すると（ブロック１８０８)、図１０の機能ブロック１０２２a〜e間の機能ブロック接続は、デジタルデータバス１０１４(図１０)に、およびお互いに結び付けられる（ブロック１８１０)。例えば、図３を参照して上記されるように機能ブロック接続を結び付けることができる。実施例として挙げられる機器１７００はその後、各機能ブロック１０２２a〜e(図１０)用の開始時間オフセット数(QS)を決定する（ブロック１８１２)。ブロック１８１２の動作は、図１９を参照して実施例として下記される方法を使用して実施されうる。
【００８０】
実施例として挙げられる機器１７００が開始時間オフセット数(QS)を決定した後、構成インターフェース１７１６はデジタルデータバス１０１４の限界を読み出す（ブロック１８１４)。例えば、構成インターフェース１７１６は、デジタルデータバス１０１４で作動できる可能最長スケジュールを定義するタイム値を読み出すことができる。構成インターフェース１７１６は、例えばワークステーション１０２またはコントローラ１０６中のデジタルデータバス特性データベースから該限界値を読み出すことができる。その後、スケジュール基準テンプレートインターフェース１７０６(図１７)は、例えばワークステーション１０２中のスケジュール・テンプレート・データベースからスケジュール基準テンプレート(ブロック１８１６)を読み出す。その後、実施例として挙げられる機器１７００は、図２０の実施例として挙げられる方法に関連して以下詳細に説明されるようなスケジュール１２０２(図１２)を生成する（ブロック１８１８)。実施例として挙げられる機器１７００がスケジュール１２０２を生成した後、制御は呼出機能または呼出工程に戻り、図１８の実施例として挙げられる方法が終了される。
【００８１】
図１９を参照するに、図中のフローダイヤグラムは、各機能ブロック１０２２a〜e(図１０)の開始時間オフセット数(QS)を決定する際に図１８のブロック１８１２を実施するのに使用されうる実施例として挙げられる方法を描いた図である。モジュールインタフェース１７０４は初期段階において、図１０のモジュール１０２０のモジュール実行期間(TME)を読み出す（ブロック１９０２)。その後、モジュールインタフェース１７０４は、モジュール１０２０に関連したフィールド装置（例えば、フィールド装置１０１２a〜cの一つ）を選択する（ブロック１９０４)。例えば、モジュールインタフェース１７０４は、どのフィールド装置(例えば、フィールド装置１０１２a〜c)に機能ブロック１０２２a〜eが割り当てられているかを判断し、例えばそれらのフィールド装置のうちの一つを選択することによってフィールド装置オブジェクト（例えば、図１４のフィールド装置オブジェクト１４０２a〜cの一つ）を選択できる。議論の目的上、ブロック１９０４では、モジュールインタフェース１７０４が図１０のフィールド装置１０１２aを選択するとする。オブジェクト指向プログラミング環境において、モジュールインタフェース１７０４は、図１４のフィールド装置オブジェクト１４０２aを選択することにより、フィールド装置１０１２aを選択する。
【００８２】
その後、モジュールインタフェース１７０４は、選択されたフィールド装置１０１２aに割り当てられた機能ブロック（例えば、機能ブロック１０２２a、１０２２cまたは１０２２eの一つ）を選択する（ブロック１９０６)。議論の目的上、モジュールインタフェース１７０４は、ブロック１９０６で図１０のＡＩ１２機能ブロック１０２２cを選択するとする。オブジェクト指向プログラミング環境において、モジュールインタフェース１７０４は、図１４のＦＦＡＩ１２機能ブロック・オブジェクト１４０４bを選択することにより、ＡＩ１２機能ブロック１０２２cを選択する。その後、ブロック走査周波数因子決定素子１７２４(図１７)は、選択されたＡＩ１２機能ブロック１０２２cのブロック走査周波数因子(FBSR)を決定する（ブロック１９０８)。例えば、ブロック走査周波数因子決定素子１７２４は、モジュールインタフェース１７０４からモジュール１０２０のモジュール実行期間(TME)およびＡＩ１２機能ブロック１０２２cのブロック走査周波数(BSR)を取得し、上記方程式２を使用して、ＡＩ１２機能ブロック１０２２cのブロック走査周波数因子(FBSR)を決定できる。
【００８３】
その後、未加工実行期間決定素子１７１８(図１７)は、ＡＩ１２機能ブロック１０２２cのブロック未加工実行期間(TBRE)を決定する（ブロック１９１０)。例えば、未加工実行期間決定素子１７１８は、モジュール１０２０のモジュール実行期間(TME)およびＡＩ１２機能ブロック１０２２cのブロック走査周波数因子(FBSR)に応じて、ＡＩ１２機能ブロック１０２２cのブロック未加工実行期間(TBRE)を決定するために上記方程式１を使用できる。端数処理素子１７２０(図１７)はその後、図８の端数処理一覧表８００に応じて、丸め済ブロック未加工実行期間(RTBRE)までＡＩ１２機能ブロック１０２２cのブロック未加工実行期間(TBRE)の端数処理を行う（ブロック１９１２)。
【００８４】
その後、モジュールインタフェース１７０４は、モジュール１０２０が該選択されたフィールド装置１０１２aに割り当てられた別の機能ブロックを含むかどうかを判断する（ブロック１９１４)。モジュール１０２０が該選択されたフィールド装置１０１２aに割り当てられた別の機能ブロックを含む、とモジュールインタフェース１７０４が判断すると（ブロック１９１４)、制御はブロック１９０６に戻され、モジュールインタフェース１７０４は、フィールド装置１０１２aに割り当てられた次の機能ブロック（例えば、機能ブロック１０２２aおよび１０２２eの一つ）を選択する。また、その逆に、モジュール１０２０が該選択されたフィールド装置１０１２aに割り当てられた別の機能ブロックを含まない（例えば、フィールド装置１０１２aに割り当てられたモジュール１０２０内の全ての機能ブロック１０２２a、１０２２cおよび１０２２eに対して、丸め済ブロック未加工実行期間(RTBRE)が決定されている）、とモジュールインタフェース１７０４が判断すると、その後、比較機構１７２６は、選択されたフィールド装置(ブロック１９１６)に関連した最も遅いブロック未加工実行期間(TSBE)を決定する。例えば、比較機構１７２６は、フィールド装置１０１２aに割り当てられた機能ブロック１０２２a、１０２２cおよび１０２２eのブロック１９０６、１９０８、１９１０および１９１２に関連して前記工程で決定された丸め済ブロック未加工実行期間(RTBRE)を比較できる。その後、比較機構１７２６は、比較の結果に応じて丸め済ブロック未加工実行期間(RTBRE)のうち最も遅い一つと同等の最も遅いブロック未加工実行期間(TSBE)を設定できる。
【００８５】
その後、モジュールインタフェース１７０４は、開始時間オフセット数(QS)を決定する対象となる機能ブロックを選択する（ブロック１９１８)。例えば、モジュールインタフェース１７０４は、モジュール１０２０に含まれ且つ該選択されたフィールド装置１０１２aに割り当てられた機能ブロック１０２２a、１０２２cおよび１０２２eのうちの一つを選択する。議論の目的上、モジュール１０２０はブロック１９１８でＡＩ１２機能ブロック１０２２cを選択するとする。その後、開始時間オフセット決定素子１７２２(図１７)は、ＡＩ１２機能ブロック１０２２c用に開始時間オフセット数(QS)を決定する（ブロック１９２０)。例えば、開始時間オフセット決定素子１７２２は、ブロック１９１６で決定されたＡＩ１２機能ブロック１０２２cの丸め済ブロック未加工実行期間(RTBRE)および最も遅いブロック未加工実行期間(TSBE)に応じて開始時間オフセット数(QS)を決定するために上記方程式３を使用できる。
【００８６】
その後、モジュールインタフェース１７０４は、モジュール１０２０が該選択されたフィールド装置１０１２aに割り当てられた別の機能ブロックを含むかどうかを判断する（ブロック１９２２)。モジュール１０２０が該選択されたフィールド装置１０１２aに割り当てられた別の機能ブロックを含む、とモジュールインタフェース１７０４が判断すると（ブロック１９２２)、制御はブロック１９１８に戻され、モジュールインタフェース１７０４は、フィールド装置１０１２aに割り当てられた次の機能ブロック（例えば、機能ブロック１０２２aおよび１０２２eの一つ）を選択する。また、その逆に、モジュール１０２０が該選択されたフィールド装置１０１２aに割り当てられた別の機能ブロックを含まない（例えば、開始時間オフセット数(QS)が、フィールド装置１０１２aに割り当てられたモジュール１０２０内の機能ブロック１０２２a、１０２２cおよび１０２２eの全てに対して決定された)、とモジュールインタフェース１７０４が判断すると、モジュールインタフェース１７０４は、別のフィールド装置（例えば、図１０のフィールド装置１０１２bおよび１０１２cの一つ）がモジュール１０２０と関連するかどうかを判断する（ブロック１９２４)。例えば、モジュールインタフェース１７０４は、モジュール１０２０が、その他のフィールド装置（例えば、フィールド装置１０１２bおよび１０１２c）に割り当てられているが開始時間オフセット数(QS)がまだ決定されていない何らかの機能ブロック（例えば、機能ブロック１０２２bおよび１０２２d）を含む場合、別のフィールド装置がモジュール１０２０と関連する、と判断できる。
【００８７】
別のフィールド装置（例えば、図１０のフィールド装置１０１２bおよび１０１２cの一つ）がモジュール１０２０と関連する、とモジュールインタフェース１７０４が判断すると（ブロック１９２４)、モジュールインタフェース１７０４が次のフィールド装置（例えば、図１０のフィールド装置１０１２bおよび１０１２cの一つ）を選択する時点で、制御がパスされてブロック１９０４に戻る。また、その逆に、別のフィールド装置（例えば、図１０のフィールド装置１０１２bおよび１０１２cの一つ）がモジュール１０２０と関連しない、とモジュールインタフェース１７０４が判断すると（ブロック１９２４)、モジュールインタフェース１７０４は別のモジュール（例えば、モジュール１０２０以外のモジュール）がデジタルデータバス１０１４を関連するかどうかを判断する（ブロック１９２６)。例えば、デジタルデータバス１０１４に関連した別のモジュールは、フィールド装置１０１２a〜cのいずれかに割り当てられた機能ブロックを含みえ、また、実施例として挙げられる機器１７００はその後それらの機能ブロック用に開始時間オフセット数(QS)を決定する。別のモジュールがデジタルデータバス１０１４に関連する、とモジュールインタフェース１７０４が判断すると、モジュールインタフェース１７０４が次のモジュールのモジュール実行期間(TME)を読み出した時点で、制御がブロック１９０２に戻る。また、その逆に、別のモジュールがデジタルデータバス１０１４に関連しない、とモジュールインタフェース１７０４が判断すると、制御が呼出機能または呼出工程（例えば、図１８の実施例として挙げられる方法）に戻り、図１９の実施例として挙げられる方法が終了する。
【００８８】
図２０Ａおよび図２０Ｂを参照するに、図中のフローダイヤグラムは、サブスケジュール（例えば、図１２のサブスケジュール１２１４および１２１６)、およびサブスケジュールに基づいたスケジュール（例えば、図１２のスケジュール１２０２）を生成するために図１８のブロック１８１８を実施するのに使用されうる実施例として挙げられる方法を描く図である。サブスケジュール生成ルーチン１７１０は初期段階において、デジタルデータバス１０１４に関連した丸め済ブロック未加工実行期間(RTBRE)の全てを読み出す（ブロック２００２)。例えば、サブスケジュール生成ルーチン１７１０は、デジタルデータバス１０１４に関連した機能ブロック（例えば、図１０の機能ブロック１０２２a〜e）の全てに対してブロック１９１２で決定された丸め済ブロック未加工実行期間(RTBRE)の全てを読み出す。その後、サブスケジュール基準テンプレートインターフェース１７１２(図１７)は、丸め済ブロック未加工実行期間(RTBRE)ごとにサブスケジュール基準テンプレートを読み出す（ブロック２００４)。例えば、サブスケジュール基準テンプレートインターフェース１７１２は、ワークステーション１０２（図一つ)中のサブスケジュール基準テンプレートデータベースまたはデータ構造からサブスケジュール基準テンプレートを読み出しうる。ここに示される実施例において、サブスケジュール基準テンプレートのそれぞれは、ブロック２００２で読み出された丸め済ブロック未加工実行期間(RTBRE)の各々該当する一つと等しいサブスケジュール実行期間を有するように構成される。例えば、図１２に示されるように、サブスケジュール１２１４のサブスケジュール実行期間は５００ミリ秒であり、サブスケジュール１２１６のサブスケジュール実行期間は２０００ミリ秒である。
【００８９】
サブスケジュール生成ルーチン１７１０は、最短のサブスケジュール実行期間(ブロック２００６)を有するサブスケジュール・テンプレートを選択する。例えば、サブスケジュール生成ルーチン１７１０は、サブスケジュール期間のうちのどれが最短であるかを判断するために比較機構１７２６(図１７)を使用してサブスケジュール実行期間の全てをお互いと比較しうる。その後、サブスケジュール生成ルーチン１７１０は、同期データ転送を行うように構成されたフィールド装置を選択する（ブロック２００８)。フィールド装置（例えば、図１０のフィールド装置１０１２a〜cの一つ）は、同期式にデータを転送する機能ブロック（例えば、図１０の機能ブロック１０２２a〜eの一つ）を実行するように該フィールド装置が割り当てられている場合に、同期データ転送を行うように構成される。当該の機能ブロックにより作り出されたデータが特定の時点に別の機能ブロックにより必要とされる場合、機能ブロックは同期式にデータを転送する。例えば、ＰＩＤ１３機能ブロック１０２２d(図１０および図１２)が図１２に示される時間t２までにＡＩ１２機能ブロック１０２２c(図１０および図１２)からのデータを要求すると、その後フィールド装置１０１２aは、ＰＩＤ１３機能ブロック１０２２dが時間t２までにデータを確実に取得できるようにするためにＡＩ１２機能ブロック１０２２cに関連した同期データ転送を行なわなければならない。議論の目的上、サブスケジュール生成ルーチン１７１０はフィールド装置１０１２a(図１０および図１２)を選択するとする。
【００９０】
その後、サブスケジュール生成ルーチン１７１０は、該選択されたフィールド装置１０１２a(ブロック２０１０)に関連した最も遅いブロック未加工実行期間(TSBE)を読み出す。例えば、サブスケジュール生成ルーチン１７１０は、フィールド装置１０１２a用に図１９のブロック１９１６で決定された最も遅いブロック未加工実行期間(TSBE)を読み出しうる。その後、サブスケジュール生成ルーチン１７１０は、例えば比較機構１７２６(図１７)を使用して、最も遅いブロック未加工実行期間(TSBE)が該選択されたサブスケジュール・テンプレート(ブロック２０１２)のサブスケジュール実行期間と等しいかどうかを判断する。ブロック２００６で選択されたサブスケジュール・テンプレートを使用して生成されるサブスケジュールは、該選択されたサブスケジュール・テンプレートのサブスケジュール実行期間と等しい最も遅いブロック未加工実行期間(TSBE)に関連したフィールド装置により実行されるために割り当てられた機能ブロックだけの開始時間オフセット(tS)を含みうる。従って、ブロック２００８で選択されたフィールド装置１０１２aの最も遅いブロック未加工実行期間(TSBE)が該選択されたサブスケジュール・テンプレート(ブロック２０１２)のサブスケジュール実行期間と等しくない、とサブスケジュール生成ルーチン１７１０が判断すると、制御はフィールド装置を飛び越え、サブスケジュール生成ルーチン１７１０が同期データ転送を行うように構成された別のフィールド装置を選択する時点でブロック２００８に戻る。
【００９１】
また、その逆に、ブロック２００８で選択されたフィールド装置１０１２aの最も遅いブロック未加工実行期間(TSBE)が該選択されたサブスケジュール・テンプレート(ブロック２０１２)のサブスケジュール実行期間と等しい、とサブスケジュール生成ルーチン１７１０が判断すると、サブスケジュール生成ルーチン１７１０は、該選択されたフィールド装置１０１２aに割り当てられ且つ同期データ転送に関連した機能ブロック（例えば、機能ブロック１０２２a、１０２２cまたは１０２２eの一つ）を選択する（ブロック２０１４)。議論の目的上、サブスケジュール生成ルーチン１７１０はＡＩ１２機能ブロック１０２２c(図１０および１２)を選択するとする。
【００９２】
その後、サブスケジュール生成ルーチン１７１０は、選択されたＡＩ１２機能ブロック１０２２c(ブロック２０１６)のデータ利用可能時間(tDA)を読み出す。ここに示される実施例において、全てのデータ使用可能時間(tDA)は、同期データ利用可能時間生成ルーチン(図示せず)により事前に決定され、機能ブロックの入力ポートと関連したデータ構造に格納される。例えば、同期データ利用可能時間生成ルーチンは、図１８のスケジュール生成過程前に、またはその生成過程中に、全ての機能ブロック(例えば、機能ブロック１０２２a〜e)を走査し、同期データ転送を必要とする機能ブロックはどれかを判断する。その後、同期データ利用可能時間生成ルーチンは、その他の機能ブロック対して同期式にデータを転送しなければならない機能ブロックが実行され、かつ特定の時点にデータを必要とする機能ブロックがその時間までにデータを受け取ることができるように、デジタルデータバス１０１４によってそれらのデータを転送できるだけの十分な時間が与えられることを保証するために、データ使用可能時間(tDA)を事前に決定できる。別の機能ブロックからのデータを必要とせずに実行できる機能ブロック（例えば、ＡＩ１１機能ブロック１０２２a）については、サブスケジュール期間開始後直ちに機能ブロックを実行できるので、データ利用可能時間(tDA)がゼロに設定される。
【００９３】
図２１を参照して下記されるように、開始時間オフセット決定素子１７２２(図１７)は、該選択されたＡＩ１２機能ブロック１０２２c(ブロック２０１８)に対する開始時間オフセット値(tS)を決定する。その後、サブスケジュール生成ルーチン１７１０は、ブロック２０１８で決定された開始時間オフセット値(tS)にデータ転送時間(ブロック２０２０)を割り当てる。データ転送時間とは、デジタルデータバス１０１４を介して一つの機能ブロックから別の機能ブロックにデータを通信するのに必要な時間のことである。但し、同装置内の別の機能ブロックにデータを転送する機能ブロックは、データ転送時間を持っていない。データ転送時間は、デジタルデータバス１０１４での時間を占める。従って、サブスケジュールを生成することにより、サブスケジュールが確実に全ての機能ブロック実行およびデータ転送がデジタルデータバス１０１４で行われること保証するのに十分長い時間を備えられるようにすることが必要である。
【００９４】
その後、サブスケジュール生成ルーチン１７１０は、フィールド装置１０１２aに割り当てられた別の機能ブロックが同期データ転送(ブロック２０２２)に関連しているかどうかを判断する。フィールド装置１０１２aに割り当てられた別の機能ブロックが同期データ転送(ブロック２０２２)に関連している、とサブスケジュール生成ルーチン１７１０が判断すると、その後、サブスケジュール生成ルーチン１７１０が同期データ転送に関連した次の機能ブロックを選択する時点で、制御がブロック２０１４に戻る。そうでない場合は、サブスケジュール生成ルーチン１７１０は、デジタルデータバス１０１４に通信可能に連結された別のフィールド装置が同期データ転送(ブロック２０２４)を行うように構成されているかどうかを判断する。デジタルデータバス１０１４に通信可能に連結された別のフィールド装置が同期データ転送(ブロック２０２４)を行うように構成されている、とサブスケジュール生成ルーチン１７１０が判断すると（ブロック２０２４)、サブスケジュール生成ルーチン１７１０が同期データ転送を行うように構成された別のフィールド装置（例えば、図１０および図１２のフィールド装置１０１２bおよび１０１２cの一つ）を選択する時点で、制御がブロック２００８に戻される。
【００９５】
また、その逆に、デジタルデータバス１０１４に通信可能に連結された別のフィールド装置が同期データ転送を行うようには構成されていない、とサブスケジュール生成ルーチン１７１０が判断すると（ブロック２０２４)、サブスケジュール生成ルーチン１７１０が非同期データ転送の処理を行う（ブロック２０２６)。例えば、サブスケジュール生成ルーチン１７１０は、機能ブロック１０２２a〜e(図１０および１２)のうち非同期データ転送に関連しているものを識別し、ブロック２０１６を参照して上記される方法に似た方法で当該機能ブロック用のデータ使用可能時間(tDA)を読み出し、図２１を参照して下記される方法に似た方法で開始時間オフセット値(tS)を決定し、ブロック２０２０を参照して上記される方法に似た方法で当該機能ブロックにデータ転送時間を割り当てることができる。
【００９６】
その後、サブスケジュール生成ルーチン１７１０は、ブロック２００６で選択されたサブスケジュール・テンプレートのサブスケジュール実行期間が上記の如く決定された開始時間オフセット値(tS)およびデータ転送時間を含みえる十分な長さを有するかどうかを判断する（ブロック２０２８)。ブロック２００６で選択されたサブスケジュール・テンプレートのサブスケジュール実行期間が開始時間オフセット値(tS)およびデータ転送時間を含みえる十分な長さを有さない、とサブスケジュール生成ルーチン１７１０が判断すると（ブロック２０２８)、サブスケジュール生成ルーチン１７１０は、サブスケジュールを再生成するために開始時間オフセット値(tS)およびデータ転送時間(ブロック２０３０)を破棄する。サブスケジュール・テンプレート用に生成される機能ブロックの開始時間オフセット値(tS)およびデータ転送時間を含みえる十分な長さのサブスケジュール実行期間をブロック２００６で選択されたサブスケジュール・テンプレートに提供するために、サブスケジュール生成ルーチン１７１０は、サブスケジュール・テンプレート(ブロック２０３２)のサブスケジュール期間を拡張する。すなわち、サブスケジュール生成ルーチン１７１０は、サブスケジュール実行期間を延長するために、サブスケジュール・テンプレートのサブスケジュール実行期間に時間を追加する。例えば、図１２の２０００ミリ秒のサブスケジュール１２１６を生成するのに使用されるサブスケジュール・テンプレートが、機能ブロック１０２２a〜cおよび１０２２eに関連した開始時間オフセット（tS)およびデータ転送時間を含みえる十分な長さのサブスケジュール実行期間を有さない場合、サブスケジュール生成ルーチン１７１０は、サブスケジュール・テンプレートに５００ミリ秒(またはその他のいかなる時間)を追加できる。
【００９７】
サブスケジュール生成ルーチン１７１０が該選択されたサブスケジュール・テンプレートのサブスケジュール実行期間を拡張した後(ブロック２０３２)、ブロック２００８、２０１０、２０１２、２０１４、２０１６、２０１８、２０２０、２０２２、２０２４、２０２６および２０２８の動作が該拡張されたサブスケジュール実行期間に基づいて反復される時点で、制御がブロック２００８に戻る。ブロック２００６で選択されたサブスケジュール・テンプレートのサブスケジュール実行期間が、開始時間オフセット値(tS)およびデータ転送時間を含むのに十分に長い期間である、とサブスケジュール生成ルーチン１７１０が判断すると（ブロック２０２８)、サブスケジュール生成ルーチン１７１０は、別のサブスケジュールを生成するべきかどうかを判断する（ブロック２０３４)。例えば、図１８の実施例として挙げられる方法が図１２のスケジュール１２０２を生成するのに使用されて、サブスケジュール生成ルーチン１７１０がサブスケジュール１２１６ではなくサブスケジュール１２１４を生成した場合、サブスケジュール生成ルーチン１７１０は別のサブスケジュール（例えば、サブスケジュール１２１６）が生成されるべきであると判断する。別のサブスケジュール（例えば、サブスケジュール１２１６）が生成されるべきである、とサブスケジュール生成ルーチン１７１０が判断すると（ブロック２０３４)、サブスケジュール基準テンプレートインターフェース１７１２が次の最短サブスケジュール実行期間（例えば、図１２の２０００ミリ秒サブスケジュール１２１６に対応する２０００ミリ秒サブスケジュール実行期間）を選択する時点で（ブロック２００６)、制御がパスされてブロック２００６(図２０Ａ)に戻る。
【００９８】
それ以外の場合、スケジュール生成ルーチン１７０８は、スケジュール（例えば、図１２のスケジュール１２０２）を生成するために、サブスケジュール生成ルーチン１７１０により生成されたサブスケジュール（例えば、図１２のサブスケジュール１２１４および１２１６）をマージする（ブロック２０３６)。その後、強制データシーケンス生成ルーチン１７１４は、スケジュールの強制データシーケンスを生成する（ブロック２０３８)。強制データシーケンスは、コントローラ１０６が確実にフィールド装置１０１２a〜cに強制データ指令を通信するようにして、フィールド装置１０１２a〜cに、生成されたスケジュールに従って機能ブロック１０２２a〜eの各々該当するものに対応するデジタルデータバス１０１４のデータを公開させる。その後、制御は、呼出機能または呼出工程（例えば、図１８の実施例として挙げられる方法）に戻され、図２０Ａおよび２０Ｂの実施例として挙げられる方法が終了される。
【００９９】
図２１を参照するに、図中のフローダイヤグラムは、機能ブロック用の開始時間オフセット値(tS)を判断するために図２０Ａのブロック２０１８を実施するのに使用されうる実施例として挙げられる方法を示す図である。ここに示される実施例において、図２１の実施例として挙げられる方法は、開始時間オフセット値(tS)を判断するために上記方程式４を使用する。初期段階において、開始時間オフセット決定素子１７２２(図１７)は、選択された機能ブロック（ブロック２１０２)（例えば、図２０Ａのブロック２０１４で選択された機能ブロック）に関連した開始時間オフセット数(QS)を読み出す。議論の目的上、ＡＩ１２機能ブロック１０２２c(図１０および１２)は該選択された機能ブロックであるとする。従って、ブロック２１０２で読み出された開始時間オフセット数(QS)は４である。ここに示される実施例において、開始時間オフセット数(QS)（例えば、４）が、該選択されたＡＩ１２機能ブロック１０２２cのために、図１８のブロック１８１２にて決定される。その後、開始時間オフセット決定素子１７２２は開始時間オフセット・カウンタをゼロにリセットする（ブロック２１０４)。開始時間オフセット・カウンタの値は上記方程式４のシーケンス番号(Nseq)を提供するのに使用される。また、開始時間オフセット・カウンタの値は、該選択された機能ブロックに対する開始時間オフセット値(tS)の全てがいつ決定されたかを判断するのに使用される。
【０１００】
開始時間オフセット決定素子１７２２は、第１の開始時間オフセット値(tS)を判断する（ブロック２１０６)。例えば、開始時間オフセット決定素子１７２２は、上記方程式４を使用して、開始時間オフセット・カウンタの値（例えば、現在の開始時間オフセットのシーケンス番号（Nseq)（シーケンス０、シーケンス１、シーケンス２、等））に基づきt1として図１２に示されるＡＩ１２機能ブロック１０２２cの開始時間オフセット値(tS)と、ＡＩ１２機能ブロック１０２２cを実行するために割り当てられたフィールド装置(例えば、フィールド装置１０１２a)に関連した最も遅いブロック未加工実行期間(TSBE)と、ＡＩ１２機能ブロック１０２２c用にブロック２０１６で得られるデータ利用可能時間(tDA)とを決定する。
【０１０１】
その後、開始時間オフセット決定素子１７２２は、開始時間オフセット・カウンタの値をインクリメントし（カウンタの数値を増加させ）（ブロック２１０８)、開始時間オフセット・カウンタがブロック２１０２で読み出された開始時間オフセット数(QS)と等しいかどうかを判断する（ブロック２１１０)。開始時間オフセット・カウンタが開始時間オフセット数(QS)と等しくない、と開始時間オフセット決定素子１７２２が判断すると、開始時間オフセット決定素子１７２２が次の開始時間オフセット値(tS)（例えば、t5として図１２に示されるＡＩ１２機能ブロック１０２２cの開始時間オフセット値(tS)）を決定する時点で、制御がブロック２１０６に戻る。そうでない場合は、制御が呼出機能または呼出工程（例えば、図２０Ａおよび２０Ｂの実施例として挙げられる方法）に戻され、図２１の実施例として挙げられる方法が終了される。
【０１０２】
図２２は、図１２のスケジュール１２０２の実施例として挙げられる機能実行およびデータ転送順序図２２００である。実施例として挙げられる機能実行およびデータ転送順序図２２００は、デジタルデータバス１０１４を介して一つの機能ブロックから別の機能ブロックにデータを転送するのに必要な機能ブロック１０２２a〜eの実行およびデータ転送時間の関係を示す。実施例として挙げられる機能実行およびデータ転送順序図はまた、図１２のフィールド装置１０１２a〜cにデジタルデータバス１０１４のデータを公開させるために強制データ指令がコントローラ１０６によりいつ発行されるかも示す。例えば、図２２に示されるように、ＡＩ１１機能ブロック実行２２０２後、強制データ指令２２０４は、ＰＩＤ１２実行２２０８を可能にするため、フィールド装置１０１２aにＡＩ１１データ転送２２０６を行なわせる。その他の機能ブロック実行、強制データ指令、および対応するデータ転送も示されている。図示されてはいないが、二つの機能ブロックが同じフィールド装置により実行される場合、データ転送が同じフィールド装置内で生じるので、機能ブロック間のデータを交換する際に、デジタルデータバス１０１４に関係するデータ転送時間(例えば、ＡＩ１１データ転送２２０６)は必要ない。
【０１０３】
図２３は、ここに記載される機器および方法を実施するのに使用されうる実施例として挙げられるプロセッサーシステム２３１０のブロック図である。図２３に示されるように、プロセッサーシステム２３１０は相互接続バス２３１４に連結されるプロセッサ２３１２を含む。（図２３では完全にチップ上（オンチップ）に備えられた状態で示されているが、その代わりとして、完全にまたは部分的にチップ外（オフチップ）に備えて専用の電気接続部を介して且つ又は相互接続バス２３１４を介してプロセッサ２３１２に直接連結することもできる）レジスタ・セットまたは登録スペース２３１６が、プロセッサ２３１２には含まれる。プロセッサ２３１２には、適切なプロセッサ、処理装置またはマイクロプロセッサーであればいかなるものでも使用しえる。図２３には図示されていないが、システム２３１０は、マルチプロセッサシステムでありえ、よってプロセッサ２３１２と同一であるまたは類似する且つ相互接続バス２３１４に通信可能に連結される一つ又は複数のさらに追加された別のプロセッサを含みうる。
【０１０４】
図２３のプロセッサ２３１２は、メモリーコントローラー２３２０および周辺入出力(I/O)コントローラ２３２２を含むチップセット２３１８に連結される。周知の如く、チップセットは一般に、チップセット２３１８に連結される一つ又は複数のプロセッサによりアクセス可能または使用される複数の汎用且つ又は専用レジスタやタイマーなどに加え、入出力および記憶管理機能を備える。メモリ制御器２３２０は、プロセッサ２３１２（または、複数のプロセッサが備えられている場合は「複数のプロセッサ」）がシステムメモリー２３２４および大容量記憶メモリ２３２５にアクセスできるようにする機能を果たす。
【０１０５】
システムメモリー２３２４は、例えば静的ランダムアクセス記憶装置(SRAM)、動的ランダムアクセス記憶装置(DRAM)、フラッシュメモリ、読み取り専用メモリなど（ROM）など所望のあらゆるタイプの持久且つ又は揮発性記憶装置を含みうる。大容量記憶メモリ２３２５は、ハードディスクドライブ、オプティカルドライブ、テープ記憶装置などを含む所望のあらゆるタイプの大容量記憶装置を含んでいてもよい。
【０１０６】
周辺I/Oコントローラ２３２２は、周辺I/Oバス２３３２を介して、周辺入出力(I/O）装置２３２６および２３２８、ならびにネットワーク・インターフェース２３３０とプロセッサ２３１２が通信することを可能にする機能を行う。I/O装置２３２６および２３２８には、例えば、キーボード、ビデオディスプレイまたはモニター、マウスなど、所望するいかなるタイプのI/O装置を使用しえる。ネットワーク・インターフェース２３３０は、例えばイーサネット（登録商標）装置、非同期転送モード（ATM）装置、８０２.１１装置、DSLモデム、ケーブルモデム、セルラーモデムなどでありえ、プロセッサーシステム２３１０が別のプロセッサーシステムと通信することを可能にする。
【０１０７】
メモリ制御器２３２０とI/Oコントローラ２３２２は、図２３においてチップセット２３１８内の別々の機能ブロックとして表されているが、これらのブロックにより実行される機能は、単一の半導体回路内に統合しても、個別の集積回路を二つ以上用いても実施しえるもである。
【０１０８】
実施例として挙げられる特定の方法、機器および製造品がここにおいて記載されているが、この特許の適用領域の範囲はそれに限定されるものではなく、それとは反対に、この特許は、字義的にもしくは均等論に基づいて添付の特許請求の範囲内に公正に含まれる方法、機器および製造品の全てを網羅するものである。
【図面の簡単な説明】
【０１０９】
【図１】実施例として挙げられるプロセス制御システムを示すブロック図。
【図２】図１の実施例として挙げられるプロセス制御システムのプロセス制御ルーチンを実施するのに使用される機能ブロックと該機能ブロック間の相互接続のグラフィカルユーザインタフェース(GUI)による表示を描いた図。
【図３】通信バスを介して、図１のプロセス制御システムの異なるフィールド装置に関連した機能ブロックを結び付ける実施例として挙げられる機能ブロック結合構成を示す図。
【図４】連続する二つの５００ミリ秒ループ実行時における図１および図２の機能ブロックのうちのいくつかを実行する間のタイミング関係を示す実行順序図の一例を示す図。
【図５】連続する二つの２００ミリ秒ループ実行時における図１および図２の機能ブロックのうちのいくつかを実行する間のタイミング関係を示す実行順序図の別の一例を示す図。
【図６】異なるブロック走査周波数を有し、且つ図１の実施例として挙げられるプロセス制御システムにおける同一の通信バスに通信可能に連結されたフィールド装置に割り当てられた機能ブロックを実行する公知の方法に準じて実施された実行順序図の一例を示す図。
【図７】機能ブロックが、それのブロック走査周波数および各々のループ実行期間で実行されることを可能にするために、ここに実施例として記載される方法および機器に準じて実施された実行順序図の一例を示す図。
【図８】機能ブロックのブロック未加工実行期間を切り上げるのに使用されうる実施例として挙げられる端数処理一覧表を示す図。
【図９】図１および２の機能ブロックが各々のサブスケジュールの間に実行されるために必要とされる開始時間オフセット数を示す実施例として挙げられる開始時間オフセット数一覧表９００を示す図。
【図１０】複数のフィールド装置がプロセス制御システムの通信バスに通信可能に連結され、各々の機能ブロックを実行するように構成される別の実施例として挙げられる機能ブロック構成を描いた図。
【図１１】図１０の実施例として挙げられる機能ブロック構成の各機能ブロックが必要とする開始回数を示す開始時間オフセット数一覧表１１００の別の実施例として挙げられるものを描いた図。
【図１２】ここに実施例として記載される方法および機器を使用して生成される図１０の機能ブロックに関連したスケジュールを示す別の実施例として挙げられる実行順序図。
【図１３】図１のフィールド装置を表示するオブジェクトと、図１の機能ブロックと、機能ブロックに対応する開始時間オフセットとの間の関係を示す実施例として挙げられるオブジェクト指向型ソフトウェア実行環境を示す図。
【図１４】図１のフィールド装置を表示するオブジェクトと、図１の機能ブロックと、機能ブロックに対応する開始時間オフセットとの間の関係を示す別の実施例として挙げられるオブジェクト指向型ソフトウェア実行環境を示す図。
【図１５】図１０の機能ブロックに関連した図１４の開始リストがワークステーションから図１０中の対応するフィールド装置にコピーされる様態の実施例として挙げられるものを示す図。
【図１６】複数のクラス１６０２a〜iを有し、且つここに実施例として記載される方法および機器を使用して図７および図１２のスケジュールを生成するように構成されるオブジェクト指向型プログラミング環境の実施例として挙げられるものを描いた図。
【図１７】ここに実施例として記載される方法に準じてスケジュールを生成するのに使用されうる実施例として挙げられる機器の詳細ブロック図。
【図１８】ここに記載されるようなスケジュールを生成するための図１７に実施例として挙げられる機器を実施するのに使用されうる実施例として挙げられる方法のフローダイヤグラムを示す図。
【図１９】機能ブロックにより必要とされる開始時間オフセット数を決定するために図１８の実施例として挙げられる方法に関連して実施されうる実施例として挙げられる方法のフローダイヤグラムを示す図。
【図２０Ａ】生成されたサブスケジュールに基づいてサブスケジュール（複数）およびスケジュール（単数）を生成するために図１８の実施例として挙げられる方法に関連して実施されうる実施例として挙げられる方法のフローダイヤグラムを示す図。
【図２０Ｂ】生成されたサブスケジュールに基づいてサブスケジュール（複数）およびスケジュール（単数）を生成するために図１８の実施例として挙げられる方法に関連して実施されうる実施例として挙げられる方法のフローダイヤグラムを示す図。
【図２１】機能ブロック用の開始時間オフセット値を決定するために図２０の実施例として挙げられる方法に関連して実施されうる実施例として挙げられる方法のフローダイヤグラムを示す図。
【図２２】実施例として挙げられる図１２のスケジュールの機能実行およびデータ転送順序図。
【図２３】ここに実施例として記載されるシステムおよび方法を実施するために使用されうる実施例として挙げられるプロセッサーシステムのブロック図。
【図１】
2008090841.tif 000003
【図２】
2008090841.tif 000004
【図３】
2008090841.tif 000005
【図４】
2008090841.tif 000006
【図５】
2008090841.tif 000007
【図６】
2008090841.tif 000008
【図７】
2008090841.tif 000009
【図８】
2008090841.tif 000010
【図９】
2008090841.tif 000011
【図１０】
2008090841.tif 000012
【図１１】
2008090841.tif 000013
【図１２】
2008090841.tif 000014
【図１３】
2008090841.tif 000015
【図１４】
2008090841.tif 000016
【図１５】
2008090841.tif 000017
【図１６】
2008090841.tif 000018
【図１７】
2008090841.tif 000019
【図１８】
2008090841.tif 000020
【図１９】
2008090841.tif 000021
【図２０Ａ】
2008090841.tif 000022
【図２０Ｂ】
2008090841.tif 000023
【図２１】
2008090841.tif 000024
【図２２】
2008090841.tif 000025
【図２３】
2008090841.tif 000026