(57)【特許請求の範囲】
【請求項１】
ファウンデーションフィールドバスセグメントを構成するために用いられるコンフィギュレーションデバイスであって、
プロセッサと、
メモリと、
該メモリに保存されており、前記プロセッサにて実行されるように構成されて、ネットワーク構成設定の変更を行う第１の一連のルーチンと、
該メモリに保存されており、前記プロセッサにて実行されるように構成されて、ネットワーク構成設定の変更を行うことなくデバイスコンフィギュレーションの変更を行う第２の一連のルーチンと、
オフラインモードとオンラインモードとの間を切り替え可能なモードスイッチと、
該メモリに保存されており、前記プロセッサにて実行されるように構成されたコンフィギュレーションルーチンであって、
前記モードスイッチがオフラインモードに設定された場合に、第１の一連のルーチンの何れかまたは第２の一連のルーチンの何れかを開始し、
前記モードスイッチがオンラインモードに設定された場合に、第２の一連のルーチンの何れかを開始するが、第１の一連のルーチンの何れも開始しないコンフィギュレーションルーチンを含むコンフィギュレーションデバイス。
【請求項２】
さらに、フィールドバスプロトコルを用いてセグメントを介して通信を行うように構成された通信スタックを含む、請求項１に記載のコンフィギュレーションデバイス。
【請求項３】
さらに、前記メモリに保存されて、プロセッサで実行されるように構成された通信ルーチンを含んで、フィールドバスデバイスにてセグメント上に通信リンクを確立し、該フィールドバスデバイスにて他のデバイス毎に確立された通信リンクに干渉しない、請求項２に記載のコンフィギュレーションデバイス。
【請求項４】
前記通信ルーチンは、フィールドバスデバイスにおいて使用可能であって他のデバイスによって使用されていないバーチャル通信関係（ＶＣＲ）エントリーを決定する第１の部分と、使用可能なＶＣＲエントリーのうち１つを選択する第２の部分と、選択されたＶＣＲエントリーを用いて通信リンクを確立する第３の部分とを含む、請求項３に記載のコンフィギュレーションデバイス。
【請求項５】
前記第３の部分は、選択されたＶＣＲエントリーを用いて通信リンクを確立するためにローカルセレクタを用いる請求項４に記載のコンフィギュレーションデバイス。
【請求項６】
前記通信ルーチンは、さらに選択されたＶＣＲエントリーを用いた通信リンクが破損しているかどうかを決定し、破損していれば通信ルーチンの第１、第２および第３の部分を作動させてフィールドバスとの間に新しい通信リンクを確立する第４の部分とを含む請求項５に記載のコンフィギュレーションデバイス。
【請求項７】
前記第２の部分は、使用可能なＶＣＲエントリーのうち１つをランダムに選択するべく適応した請求項４に記載のコンフィギュレーションデバイス。
【請求項８】
前記第１の一連のルーチンは、デバイスタグ割り当てルーチンと、デバイスアドレス割り当てルーチンと、ファンクションブロックスケジュールルーチンと、通信スケジュールをダウンロードするルーチンのいずれかのうち少なくとも１つを含む請求項１に記載のコンフィギュレーションデバイス。
【請求項９】
前記第２の一連のルーチンは、デバイスコンフィギュレーションの変更ルーチンと、リソースブロック変更ルーチンと、トランスデューサブロック変更ルーチンと、ファンクションブロック変更ルーチンのいずれかのうち少なくとも１つを含む請求項１に記載のコンフィギュレーションデバイス。
【請求項１０】
さらに、ディスプレイと、このディスプレイを介してセグメント上のフィールドバスのコンフィギュレーション情報を決定して表示する別のルーチンとを含む請求項９に記載のコンフィギュレーションデバイス。
【請求項１１】
前記別のルーチンは、ディスプレイを介してセグメントに対して現在接続されているデバイスの一覧を決定して表示する請求項１０に記載のコンフィギュレーションデバイス。
【請求項１２】
前記コンフィギュレーションルーチンは、モードスイッチが第１のモードに設定されている場合にセグメント上にデバイスが存在しないことを決定し、またセグメント上にデバイスが存在しない場合には第１の一連のルーチンのうちいずれかが開始されることを防止する不適当モードルーチンを含む請求項１に記載のコンフィギュレーションデバイス。
【請求項１３】
前記コンフィギュレーションルーチンは、モードスイッチが第１のモードに設定されている場合にセグメント上のホストデバイスに関連する一連の特定のデバイスアドレスを検索し、特定されたデバイスアドレスのうちいずれかにデバイスが存在する場合にはユーザに対してエラーの可能性を警告するための不適当モードルーチンを含む請求項１に記載のコンフィギュレーションデバイス。
【請求項１４】
１又は２以上のフィールドバスデバイスが通信可能に接続されているファウンデーションフィールドバスセグメントを構成するために用いられるコンフィギュレーションデバイスであって、
プロセッサと、
メモリと、
オフラインモードとオンラインモードとの間を切り替え可能なモードスイッチと、
該メモリに保存されており、前記プロセッサにて実行されるように構成されて、コンフィギュレーションデバイスがオンラインモードのときに、フィールドバスデバイスへのデバイスコンフィギュレーションの変更を行う一連のルーチンと、
コンフィギュレーションデバイスがオンラインモードのときに、フィールドバスセグメントにおいて通信を行うように構成された通信スタックと、
該メモリに保存されており、前記プロセッサにて実行されるように構成されたコンフィギュレーションルーチンであって、
コンフィギュレーションデバイスがオンラインモードのときに、通信スタックを用いて、一連のルーチンの何れかを開始してフィールドバスデバイスを構成するコンフィギュレーションルーチンと、
該メモリに保存されており、前記プロセッサにて実行されるように構成された通信ルーチンであって、
コンフィギュレーションデバイスがオンラインモードのときに、フィールドバスデバイスと通信を確立し、フィールドバスデバイスとフィールドバスセグメントに取り付けられた他のデバイスの間に確立された通信に干渉しない通信ルーチンを含むコンフィギュレーションデバイス。
【請求項１５】
前記通信ルーチンは、フィールドバスデバイスにおいて使用可能なバーチャル通信関係（ＶＣＲ）エントリーを決定する第１の部分と、使用可能であって他のデバイスによって使用されていないＶＣＲエントリーのうち１つを選択する第２の部分と、選択されたＶＣＲエントリーを用いて通信リンクを確立する第３の部分とを含む請求項１４に記載のコンフィギュレーションデバイス。
【請求項１６】
前記通信ルーチンは、さらに選択されたＶＣＲエントリーを用いた通信リンクが破損しているかどうかを決定し、そうであれば通信ルーチンの第１、第２および第３の部分を作動させてフィールドバスとの間に新しい通信リンクを確立する第４の部分とを含む請求項１５に記載のコンフィギュレーションデバイス。
【請求項１７】
前記第３の部分は、選択されたＶＣＲエントリーを用いて通信リンクを確立するためにローカルセレクタを用いる請求項１５に記載のコンフィギュレーションデバイス。
【請求項１８】
前記第２の部分は、使用可能なＶＣＲエントリーのうち１つをランダムに選択するべく適応した請求項１５に記載のコンフィギュレーションデバイス。
【請求項１９】
前記一連のルーチンは、デバイスコンフィギュレーション変更ルーチンと、リソースブロック変更ルーチンと、トランスデューサブロック変更ルーチンと、ファンクションブロック変更ルーチンのいずれかのうち少なくとも１つを含む請求項１４に記載のコンフィギュレーションデバイス。
【請求項２０】
ディスプレイと、このディスプレイを介してセグメント上のフィールドバスのコンフィギュレーション情報を決定して表示する別のルーチンとを含む請求項１４に記載のコンフィギュレーションデバイス。
【請求項２１】
ファウンデーションフィールドバスセグメントを構成するプロセッサを含むデバイスにおいて用いられるコンフィギュレーションシステムであって、
メモリと、
該メモリに保存されており、前記プロセッサにて実行されるように構成され、ネットワーク構成設定の変更を実行する第１の一連のルーチンと、
該メモリに保存されており、前記プロセッサにて実行されるように構成され、ネットワーク構成設定の変更を行うことなくデバイスコンフィギュレーションの変更を行う第２の一連のルーチンと、
オフラインモードとオンラインモードに設定されるモード設定と、
該メモリに保存されており、前記プロセッサにて実行されるように構成され、モード設定がオフラインモードのときに、第１の一連のルーチンの何れかまたは第２の一連のルーチンの何れかを開始し、それによってネットワークを構成し、
モード設定がオンラインモードのときに、第２の一連のルーチンの何れかを開始するが、第１の一連のルーチンの何れも開始しないコンフィギュレーションルーチンとを備えたコンフィギュレーションシステム。
【請求項２２】
更にメモリに保存されて、前記プロセッサにて実行されるように構成され、
フィールドバスとその他のデバイスとの間に確立された通信リンクに干渉することなく、セグメント上のフィールドバスデバイスとの通信リンクを確立する通信ルーチンを含む請求項２１に記載のコンフィギュレーションシステム。
【請求項２３】
前記通信ルーチンは、フィールドバスデバイスにおいて使用可能であって他のデバイスによって使用されていないバーチャル通信関係（ＶＣＲ）エントリーを決定する第１の部分と、使用可能なＶＣＲエントリーのうち１つを選択する第２の部分と、選択されたＶＣＲエントリーを用いて通信リンクを確立する第３の部分とを含む請求項２２に記載のコンフィギュレーションシステム。
【請求項２４】
前記第３の部分は、選択されたＶＣＲエントリーを用いて通信リンクを確立するためにローカルセレクタを用いる請求項２３に記載のコンフィギュレーションシステム。
【請求項２５】
前記通信ルーチンは、さらに選択されたＶＣＲエントリーを用いた通信リンクが破損しているかどうかを決定し、そうであれば通信ルーチンの第１、第２および第３の部分を作動させてフィールドバスとの間に新しい通信リンクを確立する第４の部分とを含む請求項２３に記載のコンフィギュレーションシステム。
【請求項２６】
前記第１の一連のルーチンは、デバイスタグ割り当てルーチンと、デバイスアドレス割り当てルーチンと、ファンクションブロックスケジュールルーチンと、通信スケジュールをダウンロードするルーチンのいずれかのうち少なくとも１つを含む請求項２１に記載のコンフィギュレーションシステム。
【請求項２７】
前記第２の一連のルーチンは、デバイスコンフィギュレーション変更ルーチンと、リソースブロック変更ルーチンと、トランスデューサブロック変更ルーチンと、ファンクションブロック変更ルーチンのいずれかのうち少なくとも１つを含む請求項２１に記載のコンフィギュレーションシステム。
【請求項２８】
前記コンフィギュレーションルーチンは、モードスイッチが第１のモードに設定されている場合にセグメント上にデバイスが存在しないことを決定し、またセグメント上にデバイスが存在しない場合には第１の一連のルーチンのうちいずれかが開始されることを防止する不適当モードルーチンを含む請求項２１に記載のコンフィギュレーションシステム。
【請求項２９】
前記コンフィギュレーションルーチンは、モードスイッチが第１のモードに設定されている場合にセグメント上のホストデバイスに関連する一連の特定のデバイスアドレスを検索し、特定されたデバイスアドレスのうちいずれかにデバイスが存在する場合にはユーザに対してエラーの可能性を警告するための不適当モードルーチンを含む請求項２１に記載のコンフィギュレーションシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、概してプロセス制御ネットワークにおいて使用されるデバイスコンフィギュレータに関し、より詳しくはプロセス制御ネットワークにおいてデバイスを構成し得るファウンデーションフィールドバスデバイスコンフィギュレータに関するものである。
【０００２】
【従来の技術および発明が解決しようとする課題】
例えば化学品、石油またはその他の製造および精製プロセスなどの大きなプロセスは、典型的にはプロセスパラメータを計測して制御し、よってプロセスの制御を行うためのプラントにおける多様な場所に配置されている、数多くのフィールドデバイスを含むものである。例えば温度、圧力または流量センサなどであり得るセンサバルブおよびスイッチなどの制御要素などのこの類のフィールドデバイスは、典型的にはフィールドデバイスの操作を制御することによってプロセス制御を実行するための１つまたはそれ以上のコントローラまたはホストデバイスに接続されている。
【０００３】
公知であるように、多くの標準的な開放型の、例えばＨＡＲＴ（登録商標）、ＰＲＯＦＩＢＵＳ（登録商標）、ＷＯＲＬＤＦＩＰ（登録商標）、ＬＯＮＷＯＲＫＳ(登録商標)、デバイスネット（登録商標）およびＣＡＮプロトコルなどを含む通信プロトコルが存在し、これらによって異なる製造会社によるフィールドデバイスが同一のプロトコル制御ループ内でともに使用可能となる。実際、これらのプロトコルのうちいずれかと適合するフィールドデバイスならどれでも、フィールドデバイスの製造会社とコントローラの製造会社とが異なる場合であっても、１つのプロセスにおいてプロトコルをサポートするコントローラと通信してそれによって制御され得る。ファウンデーション（商標）フィールドバスプロトコル（以下、「フィールドバスプロトコル」と称する）は、例えばバルブポジショナーまたはトランスミッターなどのプロセス制御デバイスが１つまたはそれ以上のプロセス制御ファンクションを実行した後その他のプロセス制御デバイスによって使用されるためにバス構造に亘ってデータを通信することによって高度に分散した制御を提供または可能とするものである。これら制御ファンクションを実行するために、各プロセス制御デバイスは、ファンクションブロックと称される１つまたはそれ以上の基本的な制御ファンクションを実施または実行する能力をもち、フィールドバス通信プロトコルを使用して他のプロセス制御デバイスと通信する可能性を有するマイクロプロセッサを含むものである。このようにして異なる製造会社によって製造されたフィールドデバイスが互いに通信し、１つまたはそれ以上のプロセス制御ファンクションまたは制御ループを実行するために１つのプロセス制御ループ内において相互接続され得る。
【０００４】
フィールドバスプロトコルにおいて、フィールドバスセグメントがコンフィギュレーションの基本的なネットワーク単位であり、一般的に言えばこのようなセグメントのそれぞれに接続されたいくつかのフィールドバスデバイスが存在する。セグメントを構成する場合、ホストデバイス、コントローラまたは単独のデバイスなどで在り得るフィールドバスコンフィギュレータがセグメントに接続されてセグメントにおける各デバイスと通信を行って各デバイスを構成し、実行時においてこれらデバイスが調和された有意義なプロセス制御を実行し得るようにする。コンフィギュレータは、このコンフィギュレーションプロセスの際にセグメントにおける各デバイスにデバイスタグとデバイスアドレスを割り当て、セグメントが作動している間に使用されるデバイス間において通信関係を確立し、デバイス内のファンクションブロックの動作をスケジュールし、デバイス間の通信をスケジュールし、オペレータまたはその他のデバイスに対して送信する警告または傾向を構成し、ユーザアプリケーションブロックパラメータを設定し、またその他のネットワークパラメータを設定する。フィールドバスコンフィギュレータは、場合によってはプロセス制御の一部を実行するホストデバイスであり得、またセグメントを設定するためにセグメントに接続されて、セグメントが構成された後にはその接続が解除される一時的なデバイスであってもよい。
【０００５】
しかしながら公知であるフィールドバスコンフィギュレータは、デバイスおよびネットワーク構成活動を行うためにセグメントの制御を担っている。実質上、これらデバイスは、通常少なくともコンフィギュレータがセグメントを構成しようと作動している間はセグメントに対して主たるリンクアクティブスクジューラ（ＬＡＳ）となるようにプログラムされている。その結果、セグメントを首尾よく構成するためには、セグメントに対して干渉しないようなその他のモニターデバイスがセグメントに対して接続されているのにもかかわらず、同じセグメントに対して一度に１つのフィールドバスコンフィギュレータだけが接続され得ることが避けられない。そのコンフィギュレータがＬＡＳでない場合であっても、コンフィギュレータと通信の構成との間の調和に欠けているため分断が生じ得る。典型的には、セグメント全体を構成する場合、このような制約は問題とならない。しかしながら、セグメントをその他のデバイスまたはネットワーク設定を含むセグメントの設定に干渉することなく制御すべく動作する主たるＬＡＳを既に有するセグメントに接続されているデバイスを再構成するかまたはこのようなデバイスと通信することが好ましい場合が存在する。このような状況は、例えばオペレータが離れた場所からセグメントをモニターしていて、フィールドにおけるデバイスを較正する必要がある場合、またはフィールドエンジニアがデバイスを首尾よく較正するために物理的な環境を見る必要があるが故にデバイスのところに行ってホストを使用することなくデバイスを構成するような場合に起こり得る。フィールドエンジニアは、これらの場合には、１つまたはそれ以上のデバイスパラメータを構成するため、フィールドにおけるデバイスの近くにあるセグメントに対して容易に取り付けられ得るデバイスコンフィギュレータであって、コンフィギュレータデバイスがセグメントの通信を制御することなく、またセグメントのオンラインシステムコンフィギュレーション情報またはセグメントの通信に干渉することがないものを必要とする。
【０００６】
前述の通り、従来のフィールドバスコンフィギュレータは、セグメントにおける制御ループにおいて分断を生じさせないようにコンフィギュレータのセグメントに対する接続が保証されている場合にのみセグメントのデバイスパラメータをリセットするために用いられ得る。例えばデルタVフィールドバスコントローラは、デフォルトアドレスとして現れるデバイスに対して０ｘＦ８−０ｘＦＢのうち１つのアドレスを自動的に割り当てる。０ｘＦ８−０ｘＦＢは、セグメントを制御するホストデバイス（ＬＡＳ）によって管理され得るアドレスである。ただこの理由のために、セグメントがオンラインで作動している間に特定のデバイスパラメータをリセットするためにデルタＶコンフィギュレータをセグメントに接続するとホストデバイスまたはＬＡＳと当該デバイスとの間の通信が切断されてセグメント上で作動しているプロセス制御ループを中断させることがある。デルタＶコンフィギュレータをオンライン上のセグメントに接続することは、典型的には多くのその他の矛盾する問題を生み出すことになる。
【０００７】
一方、ネットワーク設定を変更することが好ましいような状況であって、このような設定変更がネットワークのコンフィギュレーションに対してインパクトを与えない場合もあり得る。例えばある製造会社において出荷前にフィールドバスデバイスを予め構成する必要がある場合、デバイスはデバイスタグを通常とおりに設定するコンフィギュレータに接続され得る。この時点ではまだオペレーティングネットワークが関係しないため、デバイスのネットワーク設定は問題とならない。
【０００８】
【課題を解決するための手段】
本発明は、デバイスおよび／またはフィールドバスセグメントなどのセグメントを構成するためにオフラインモードにおいて典型的な形で作動し得、デバイスがその上においてホストまたはＬＡＳが作動しているセグメントに接続されている場合にはデバイスのパラメータを再構成または設定するためにオンラインモードで作動し得るデュアルモードデバイスコンフィギュレータに関するものである。本文における２モードデバイスコンフィギュレータを使用すれば、ユーザまたはエンジニアは同一のデバイスを第１の場合においてはセグメント全体を構成するために、また第２の場合においてはセグメントが異なるホストまたはＬＡＳによって制御されるプロセス制御活動を実行するために用いられている場合にセグメントのネットワーク設定に影響を及ぼすことなく、またこれに干渉することなくデバイス設定を構成するために使用し得る。
【０００９】
本発明の１つによれば、２モードデバイスコンフィギュレータは、プロセッサと、メモリと、メモリに記憶されている、ネットワーク構成における変更を行うためにプロセッサ上において実行されるべく適応した第１の一連のルーチンと、メモリに記憶されている、ネットワーク構成の変更を行わないでデバイス構成の変更を行うためにプロセッサ上において実行されるべく適応した第２の一連のルーチンとを含むものである。前記デバイスコンフィギュレータは、また第１のモードと第２のモードとの間を切り替え可能なモードスイッチと、このモードスイッチがネットワークを構成するために第１のモードに設定された場合には第１の一連のルーチンと第２の一連のルーチンとのうちいずれかを開始するべく適応し、さらにモードスイッチが第２のモードに設定された場合には第１の一連のルーチンではなく第２の一連のルーチンのうちいずれかを開始するべく適応したコンフィギュレーションルーチンとを含むものである。
【００１０】
前記コンフィギュレーションデバイスは、フィールドバスプロトコルを用いてセグメントを介して通信するために適用される通信スタックと、フィールドバスとその他のデバイスとの間に確立された通信リンクに干渉することなくセグメント上のフィールドバスデバイスとの通信リンクを確立するべく適応した通信ルーチンとを含み得る。この場合、この通信ルーチンは、フィールドバスデバイスにおいて使用可能なバーチャル通信関係（ＶＣＲ）エントリーを決定する第１の部分と、使用可能なＶＣＲエントリーのうち１つを選択する第２の部分と、選択されたＶＣＲエントリーを用いて通信リンクを確立する第３の部分と、選択されたＶＣＲエントリーを用いた通信リングが破損しているかどうかを決定し、そうであれば通信ルーチンの第１、第２および第３の部分を作動させてフィールドバスとの間に新しい通信リンクを確立する第４の部分とを有し得る。
【００１１】
必要に応じて、第１の一連のルーチンは、デバイスタグ割り当てルーチンと、デバイスアドレス割り当てルーチンと、ファンクションブロックスケジュールルーチンと、通信スケジュールをダウンロードするルーチンのいずれかのうち少なくとも１つを有し得、一方、第２の一連のルーチンは、デバイスコンフィギュレーション変更ルーチンと、リソースブロック変更ルーチンと、トランスデューサブロック変更ルーチンと、ファンクションブロック変更ルーチンのいずれかのうち少なくとも１つを有し得る。
【００１２】
さらに前記コンフィギュレーションデバイスは、ディスプレイと、このディスプレイを介してセグメント上のフィールドバスのコンフィギュレーション情報を決定して表示し、さらにこのディスプレイを介してセグメントに対して現在接続されているデバイスの一覧を提供する別のルーチンとを有し得る。また前記コンフィギュレーションデバイスは、モードスイッチが第１のモードに設定されている場合にセグメント上にデバイスが存在しないことを決定し、またセグメント上にデバイスが存在しない場合には第１の一連のルーチンのうちいずれかが開始されることを防止する第１の不適当モードルーチンを有し得る。また前記コンフィギュレーションデバイスは、モードスイッチが第１のモードに設定されている場合にセグメント上のホストデバイスに関連する一連の特定のデバイスアドレスを検索し、特定されたデバイスアドレスのうちいずれかにデバイスが存在する場合にはユーザに対してエラーの可能性を警告するための第２の不適当モードルーチンを有し得る。
【００１３】
【発明の実施の形態】
フィールドバスプロトコルを用いて非集中的なまたは分散した形でプロセス制御ファンクションを実行するプロセス制御ネットワークに関連して、デバイス／ネットワークコンフィギュレータについて詳述するものであるが、本文において詳述されるデバイスコンフィギュレータは、その他の種類のフィールドデバイスまたは２回線バスを使用するもの以外のプロトコルまたはアナログ・デジタル通信のいずれをもサポートするプロトコルを含むバスに基づく通信プロトコルを用いて制御ファンクションを行うプロセス制御ネットワークとともに用いられ得るものである。
【００１４】
図１を参照して、フィールドバス通信プロトコルを使用するプロセス制御ネットワークにおけるセグメント１０は、数多くのフィールドデバイス１３および１４に連続されている２回線バス１２を含むものである。さらに、後に詳述される典型的なまたは標準的なフィールドバスコンフィギュレータ１６およびデバイス／ネットワーク（デュアルモード）コンフィギュレータ２０（以下、単に「コンフィギュレータ２０」ともいう）がバス１２に連続されている。フィールドデバイス１３および１４は、いかなる種類のフィールドバスデバイスであり得るのに対し、フィールドバスコンフィギュレータ１６は、フィールドバスプロトコルを用いてセグメント１０を構成するためにバス１２に接続され得る任意の標準的なまたは既存のコンフィギュレータであり得る。必要に応じて例えばその他のフィールドデバイス、コントローラ、ホストデバイスなどを含む、更なるまたは別のデバイスがバス１２に接続され得る。
【００１５】
オンラインまたはオフラインモードのいずれにおいてもフィールドバスセグメント１０またはセグメント１０上におけるデバイスを構成するのに用いられ得るデバイス／ネットワークコンフィギュレータ２０の詳細について述べる前に、フィールドバスプロトコルと、このようなプロトコルに応じて構成されているフィールドデバイスと、フィールドバスプロトコルを用いるプロセス制御ネットワークにおいて通信とプロセス制御が行われる方法とについて一般的な説明を記載する。しかしながらフィールドバスプロトコルは、プロセス制御ネットワークにおいて用いられるように開発された比較的新しいデジタル通信プロトコルであるものではあるが、このようなプロトコルは当業者にとって公知であり、テキサス州オースチンに本社をおく非営利組織であるフィールドバスファンデーションなどによって出版、配布および提供されている数多くの広告、パンフレットおよび仕様書において説明されているものである。具体的には、フィールドバスプロトコルおよびフィールドバスプロトコルを用いるデバイスにおいて通信およびデータ保存が行われる方法は、本文においてその全文が明確に参考として組み込まれているものである、フィールドバスファウンデーションによる「通信技術仕様書」および「ユーザレイヤー技術仕様書」という題名のマニュアルにおいて詳述されている。
【００１６】
一般的に言えば、フィールドバスプロトコルは、例えば工場またはプラントなどの計器装備またはプロセス制御環境に配置される例えばセンサ、アクチュエータ、コントローラまたはバルブなどの「フィールド」機器を相互接続する２回線式のループまたはバスに対する標準的な物理的インターフェースを提供するものである、完全デジタルで直列的な双方向通信プロトコルである。実際、フィールドバスプロトコルは、プロセス施設内におけるフィールド機器（フィールドデバイス）のためのローカルエリアネットワークを提供するものであり、これによりこれらフィールドデバイスがプロセス全体に分散された場所において制御ファンクションを実行して全体的な制御戦略を実行するためにこれら制御ファンクションの実行の前後においてお互いに通信しあうことが可能となる。このフィールドバスプロトコルによって制御ファンクションがプロセス制御ネットワーク全体に分散されていることが可能となるため、集中化されたプロセスコントローラの複雑さを軽減し、または全くその必要性をなくすことが可能である。
【００１７】
典型的には、図１におけるコンフィギュレータ１６のようなコンフィギュレータは、例えばホストデバイスなどのフィールドバスセグメントに接続されているデバイスのうちいずれかに配置されており、（それぞれが通信と、場合によっては制御ファンクションとを実行し得るマイクロプロセッサを含むが故に「スマート」デバイスである）各デバイスを設定または構成し、またバスに対して新しいフィールドデバイスが接続されたことおよびバスからフィールドデバイスが除去されたことを認識し、フィールドデバイスによって作成されたデータを受信し、さらにはホストまたはホストに対して任意の方法で接続されているその他の任意のデバイスに配置され得る１つまたはそれ以上のユーザターミナルと接続する責任を負うものである。
【００１８】
フィールドバス１２は双方向における、純粋にデジタルな通信をサポートまたは可能とするものであり、さらに例えばフィールドデバイス１３および１４などの任意のまたは全てのデバイスに対してパワー信号を与え得るものである。または任意のまたは全てのデバイスは、それぞれ独自の電源を有するものであるか、別個の（図示されない）回線を介して外部の電源に対して接続されていてもよい。フィールドバスプロトコルは、バス１２に対して接続され得るデバイスを具体的にはベーシックデバイス、リンクマスターデバイスおよびブリッジデバイスの３つのカテゴリーに分類するものである。ベーシックデバイスは、通信、すなわちバスに対して通信信号の授受を行い得るものであるが、バスにおいて生じる通信の順番またはタイミングを制御することはできない。リンクマスターデバイスは、バスを介して通信を行うデバイスであって、バスにおける通信の流れとそのタイミングとを制御し得るものである。ブリッジデバイスは、より大きなプロセス制御ネットワークを作るためにフィールドバスの個々のセグメントまたはブランチを介して通信を行い、これらを相互接続すべく構成されている。
【００１９】
セグメントにおける各デバイスは、バスを介して通信を行い得るものであり、デバイスによって、またプロセスから、またはバスにおける通信シグナルを介してその他のデバイスから取得されたデータを用いて１つまたはそれ以上のプロセス制御ファンクションを独自に行い得るものである。したがってフィールドバスデバイスは、過去においては集中化されたコントローラによって実行されていたような全体的な制御戦略の各部分を直接実行し得るものである。制御ファンクションを実行する場合、各フィールドバスデバイスは、デバイス内におけるマイクロプロセッサによって実行される、１つまたはそれ以上の標準化された「ブロック」を含むものである。具体的には、各フィールドデバイスは１つのリソースブロックと、ゼロまたはそれ以上のファンクションブロックと、ゼロまたはそれ以上のトランスデューサブロックとを含むものである。これらブロックはブロックオブジェクトと称される。
【００２０】
リソースブロックは、フィールドバスデバイスの特徴のうちいくつかに関するデバイスに特有のデータであって、例えばデバイスの種類、デバイス改定指示およびデバイスのメモリにおいてどこでデバイスに特有のその他のデータが得られるかを指示するものを記憶して通信するものである。デバイスの製造会社が異なればフィールドデバイスのリソースブロックにおいて異なる種類のデータが記憶されている場合があれども、フィールドバスプロトコルに適合した各フィールドデバイスはいくつかのデータを記憶したリソースブロックを含むものである。
【００２１】
ファンクションブロックは、フィールドデバイスに関連する入力ファンクション、出力ファンクションまたは制御ファンクションを定義づけて実行するものであるため、ファンクションブロックは通常入力、出力および制御ファンクションブロックと称されるものである。しかしながら例えばハイブリッドファンクションブロックなどのファンクションブロックのその他のカテゴリーが現存または将来的に開発され得る。各入力または出力ファンクションブロックは少なくとも１つの（例えばプロセス測定デバイスからのプロセス変数などの）プロセス制御入力または（作動するデバイスに対して送られるバルブ位置などの）プロセス制御出力を作成するものであり、一方、各制御ファンクションブロックは、１つまたはそれ以上のプロセス入力と制御入力から１つまたはそれ以上のプロセス出力を作成するために（現実的には固有のものであり得る）アルゴリズムを用いる。標準的なファンクションブロックの一例としてはアナログ入力（ＡＩ）、アナログ出力（ＡＯ）、バイアス（Ｂ）、制御セレクタ（ＣＳ）、ディスクリート出力（ＤＯ）、マニュアルローダー（ＭＬ）、比例／導関数（ＰＤ）、比例／積分／導関数（ＰＩＤ）、比率（ＲＡ）および信号セレクタ（ＳＳ）ファンクションブロックなどが含まれる。しかしながらその他の種類のファンクションブロックも存在し、またフィールドバス環境において作動するために新しい種類のファンクションブロックが定義されまたは作成され得るものである。フィールドバスプロトコルは、ファンクションブロックを特定の方法で定義づけるものであるが、本文における「ファンクションブロック」という用語はさほど限定されておらず、プロセス制御ファンクションを実行するいかなるブロック、プロセッサ、ソフトウェア、ハードウェアなどのコンフィギュレーションを指し示すものとする。
【００２２】
トランスデューサブロックは、ファンクションブロックの入力および出力を例えばセンサおよびデバイスアクチュエータなどのローカルなハードウェアデバイスに連結することによってファンクションブロックがローカルセンサの出力を読み出し、例えばバルブ部材を動かすなどの１つまたはそれ以上のファンクションを実行すべくローカルデバイスに司令することを可能にするものである。典型的にトランスデューサブロックは、ローカルデバイスによって伝達された信号を解釈するため、および例えばローカルデバイスの種類を認識するための情報またはローカルデバイスに関連する較正情報などを含む、ローカルハードウェアデバイスを適切に制御するために必要な情報を含むものである。典型的に単一のトランスデューサブロックは、各入力されるまたは出力されるファンクションブロックとに関連するものである。
【００２３】
デバイスの各ブロックは、異なるモードにおいて別の動作を行い得るものであり、また各ファンクションブロックは、あらかじめ定められた基準に基づいて警告を発しまたはある事態を示し得るものである。一般的に言えば、これらブロックは、例えばファンクションブロックのアルゴリズムが自動的に作動する自動モード、例えばファンクションブロックの入力または出力が手動で制御されるオペレータモード、ブロックが作動しない休止モード、ブロックの動作が別のブロックの出力によって影響（決定）されるカスケードモード、およびブロックのモードが離れた場所にあるコンピュータによって決定される１つまたはそれ以上のリモートモードなど、任意の数の異なるモードにおいて作動し得る。
【００２４】
重要なことに、各ブロックは、フィールドバスのバスを介してフィールドバスプロトコルによって定義づけされる標準のメッセージフォーマットを用いて同一または異なるフィールドデバイス内における他のブロックと通信を行い得るものである。その結果、（同一または異なるデバイス内における）ファンクションブロックの組み合わせが互いに通信しあって１つまたはそれ以上の非集中的な制御ループを生み出すことが可能となる。したがって、例えば１つのフィールドデバイスにおけるＰＩＤファンクションブロックは、バスを介して接続されて第２のフィールドデバイスにおけるＡＩファンクションブロックの出力を受信し、第３のフィールドデバイスにおけるＡＯファンクションブロックに対してデータを伝達して、任意の集中的なコントローラとは別個で且つ離れたプロセス制御ループを作成するためにフィードバックとしてＡＯブロックの出力を受信することが可能となる。こうしてファンクションブロックによって制御ファンクションが集中したコントローラ環境から外へと移動されて、これにより複合的機能を有するコントローラがスーパーバイザーとしてのまたは調和的ファンクションを実行すること、または全体的に省略されることが可能となる。さらにファンクションブロックによってプロセスの容易な構成のためにグラフィック的なブロックに適応した構成を付与して、またこれらブロックが一致した通信プロトコルを使用するために異なる業者によるフィールドデバイス間にファンクションを分散することが可能となる。
【００２５】
ブロックオブジェクトを内蔵して実行するのに加え、各フィールドデバイスは、リンクオブジェクト、トレンドオブジェクト、警報オブジェクトおよびビューオブジェクトを含む１つまたはそれ以上のその他のオブジェクトを含んでいる。リンクオブジェクトは、フィールドデバイスの内部およびフィールドバスのバスに亘って（例えばファンクションブロックなどの）ブロックの入力と出力との間のリンクを定義づけるものである。トレンドオブジェクトによって例えばホストまたはコントローラなどのその他のデバイスがアクセスできるようにファンクションブロックパラメータのローカルトレンディングが可能となる。トレンドオブジェクトは、例えばファンクションブロックパラメータのうちいくつかに関する短期的な履歴データを保持してこのデータをバスを介してその他のデバイスまたはファンクションブロックに対して定期的にレポートする。警報オブジェクトは、バスを通じて警告または事態をレポートするものである。これら警告または事態はデバイスまたはデバイスにおける１つのブロック内において生じる任意の事態に関するものであり得る。ビューオブジェクトは、標準的な人的／機械的接続において使用されるブロックパラメータの予め定義づけされたグループであって、定期的にその他のデバイスに送信されて閲覧することが可能である。
【００２６】
通信および制御活動を実行および実施して行うために、フィールドバスプロトコルは、物理的レイヤー、通信「スタック」およびユーザレイヤーとして識別される、３つの一般的な技術カテゴリーを使用するものである。ユーザレイヤーは、（例えばファンクションブロックなどの）ブロックの形で提供される制御および構成ファンクションと、任意の特定のプロセス制御デバイスまたはフィールドデバイス内におけるオブジェクトとを含むものである。ユーザレイヤーは、典型的にはデバイスの製造会社によって固有な方法で設計されているが、フィールドバスプロトコルによって定義されている標準的なメッセージフォーマットによってメッセージを送受信し、ユーザによって標準的な形で構成され得るものでなければならない。物理的レイヤーおよび通信スタックは、２回線バスを用いて異なるフィールドデバイスの異なるブロック間で標準的な形での通信を可能にするために必要であり、公知であるオープンシステムインターコネクト（ＯＳＩ）レイヤー化を含む通信モデルによって設定されているものであり得る。
【００２７】
ＯＳＩレイヤー１に相当する物理的レイヤーは、各フィールドデバイスおよびバスにおいて埋め込まれており、フィールドバスの伝送媒体（２回線バス）から受信した電磁信号をフィールドデバイスの通信スタックによって使用され得るメッセージに変換する役割を担う。物理的レイヤーはバス１２であり、バス１２上に存在する電磁信号はフィールドデバイスの入力および出力に存在すると考えられ得る。
【００２８】
各フィールドバスデバイスに存在する通信スタックは、ＯＳＩレイヤー２に相当するデータリンクレイヤーと、フィールドバスアクセスサブレイヤーと、ＯＳＩレイヤー７に相当するフィールドバスメッセージ特定レイヤーとを含むものである。フィールドバスプロトコルにおいてＯＳＩレイヤー３乃至６に相当する構造はない。しかしながら、フィールドバスデバイスのアプリケーションは、ＯＳＩプロトコルにおいて定義されていないユーザレイヤー８を有するものである。通信スタックにおける各レイヤーはフィールドバスのバスを通じて伝送されるメッセージまたは信号の部分をエンコードまたはデコードする役割を担う。その結果、通信スタックの各レイヤーは、例えばプリアンブル、スタートデリミッターおよびエンドデリミッターなど、フィールドバス信号の特定の部分を追加または削除し、さらに必要に応じてフィールドバス信号のストリップ部分をデコードして信号またはメッセージの残りの部分がどこに送られるべきか、または例えば受ける側のフィールドデバイスに存在しないファンクションブロックに対するメッセージまたはデータが含まれているためにその信号が破棄されるべきか否かを認識する。
【００２９】
データリンクレイヤーは、バスに対するメッセージの伝送を制御して、後述されるリンクアクティブスケジューラと称される、決定権を有する集中化されたバススケジューラにしたがってバスに対するアクセスを管理するものである。物理的レイヤーは、伝送媒体における信号からプリアンブルを除去し、フィールドデバイスの内部クロックを入力されるフィールドバス信号と同調させるために受信したプリアンブルを用いることが可能である。同様に物理的レイヤーは、通信スタックにおけるメッセージを物理的なフィールドバス信号に変換してこれら信号を２回線バスにおいて伝送を行うために適当なプリアンブルを有する「同調シリアル」信号を作成するためにこれら信号をクロック情報を用いてエンコードする。デコードプロセスの間、物理的レイヤーは、例えばスタートデリミッターおよびエンドデリミッターなどのプリアンブルにおける特定のコードを認識することによって特定のフィールドバスメッセージの最初と最後を識別し、またバスから受信した信号またはメッセージの保全性を照合するためにチェックサムを行うことができる。同様に物理的レイヤーは、通信スタックにおけるメッセージに対してスタートおよびエンドデリミッターを付加してこれら信号を適当な時に伝送媒体にプレースすることによってバス１２におけるフィールドバス信号を伝送する。
【００３０】
フィールドバスメッセージ特定レイヤーは、ユーザレイヤー（すなわちフィールドデバイスのファンクションブロック、オブジェクトなど）が標準的な一連のメッセージフォーマットを用いてバス１２全体に亘って通信を行うことを可能にし、通信スタックにプレースされてユーザレイヤーに提供されるためのメッセージを作成するために必要な通信サービス、メッセージフォーマットおよびプロトコル態様を表すものである。フィールドバスメッセージ特定レイヤーによってユーザレイヤーの標準的な通信が可能となるため、前述の各オブジェクトの種類に対して特定のフィールドバスメッセージ仕様通信サービスが定義されている。例えばフィールドバスメッセージ特定レイヤーは、ユーザがデバイスのオブジェクトディクショナリーを読むことを可能にするためのオブジェクトディクショナリーサービスを含むものである。オブジェクトディクショナリーは、デバイスの（例えばブロックオブジェクトなどの）各オブジェクトを表すまたは識別すためのオブジェクト明細を記憶している。またフィールドバスメッセージ特定レイヤーは、ユーザが後述されるバーチャル通信関係（ＶＣＲ）の状態を読み出して変更することを可能にするコンテクストマネジメントサービスを提供するものである。さらにフィールドバスメッセージ特定レイヤーは、変数へのアクセスサービス、イベントサービス、アップロードおよびダウンロードサービスおよびプログラムインボケーションサービスなど、いずれもがフィールドバスプロトコルにおいて公知であるためここでは詳述しないものを提供するものである。フィールドバスアクセスサブレイヤーは、フィールドバスメッセージ特定レイヤーをデータリンクレイヤーにマップするものである。
【００３１】
これらレイヤーの操作を許可するためまたは可能とするため、各フィールドバスデバイスはＶＣＲ、動的変数、統計、リンクアクティブスケジューラタイミングスケジュール、ファンクションブロック実行タイミングスケジュールおよびデバイスタグ情報とアドレス情報とを記憶するデータベースであるマネジメント情報ベース（ＭＩＢ）を含むものである。当然、ＭＩＢ内における情報はフィールドバスメッセージまたはコマンドを用いていつでもアクセスおよび変更され得るものである。さらに各デバイスには通常デバイス明細が設けられており、ユーザまたはホストがＶＦＤにおける情報の拡張的なビューを提供するものである。ホストによって使用されるために典型的にはトークン化を行わなければならないデバイス明細は、データとデバイスにおけるデータに基づいて作動する方法とを表すための、例えば較正および診断などのファンクションのためのヒューマンインターフェースなどを含む情報を記憶している。
【００３２】
理解されるように、プロセス制御ネットワーク全体に分散したファンクションブロックを用いて任意の制御戦略を実行する場合、ファンクションブロックの実行は、特定の制御ループにおけるその他のファンクションブロックの実行に対して綿密にスケジュールされる必要がある。同様に、バスにおいて異なるファンクションブロック間の通信も綿密にスケジュールされてそのブロックが実行する以前に各ファンクションブロックに対して適当なデータが与えられていなければならない。
【００３３】
フィールドバス伝達媒体を解して異なるフィールドデバイス（およびフィールドデバイス内の異なるブロック）が通信する方法については述べない。通信が行われる際に、バスのセグメント上におけるリンクマスターデバイスのうち１つが、バスの関連するセグメントにおける通信を活動的にスケジュールして制御するためのリンクアクティブスケジューラ（ＬＡＳ）として機能する。各セグメントのＬＡＳはバスにおいて定期的な通信活動を各デバイスの各ファンクションブロックが開始する時間と、この通信活動が行われる長さとを含む通信スケジュール（リンクアクティブスケジュール）を保存してアップデートするものである。バスの各セグメントにおいて唯一のアクティブなＬＡＳが存在し得るものであるが、その他のリンクマスターデバイスがバックアップＬＡＳとして機能し、例えば現在のＬＡＳが故障した場合にアクティブになることが可能である。
【００３４】
一般的に言えば、バスを通じて行われる通信活動は、それぞれがバスの特定のセグメントにおいてアクティブである各ファンクションブロックのための１つの同調的通信と、バスのセグメントにおいてアクティブである１つまたはそれ以上のファンクションブロックまたはデバイスのための１つまたはそれ以上の非同調的通信とを含む、反復的なマクロサイクルに分割される。各マクロサイクルにおいて、バスの特定のセグメントにおいてアクティブである各ファンクションブロックは、通常異なるが綿密にスケジュールされた（同調的）時間に実行し、また別の綿密にスケジュールされた時間にはそのバスのセグメントにおける自身の出力データを適当なＬＡＳによって作成された強制データコマンドに応じて発行する。各ファンクションブロックは、自身の出力データをファンクションブロックの実行期間が終了したすぐ後に発行することが好ましい。さらに、異なるファンクションブロックのデータ発行時間は直列的にスケジュールされているので、バスの特定のセグメントにおける２つのファンクションブロックがデータを同時に発行することがない。同調的通信が行われない間、逆に各フィールドデバイスはトークンによって駆動される通信を用いて非同調的に警告データ、ビューデータなどを伝送することが可能である。実行時間は、ファンクションブロックが存在するデバイスのマネジメント情報ベース（ＭＩＢ）に保存されており、一方、前述のように強制データコマンドをセグメントの各デバイスに送るための時間は、そのセグメントのＬＡＳデバイスのＭＩＢに保存されている。これら時間は、ファンクションブロックが実行しまたはデータを送る時間を各マクロサイクルの反復からのオフセットとして識別するため、典型的にはオフセット時間として保存されている。マクロサイクルは、バス１２に接続される全てのフィールドデバイスによって認識される「絶対的リンクスケジュール時間」から始まって連続的に反復される。
【００３５】
したがって、各マクロサイクルの間に通信を行うために、ＬＡＳはリンクアクティブスケジュールに保存されている伝送時間の一覧に応じて強制データコマンドをバスセグメント上における各デバイスに対して送る。強制データコマンドを受信すると、デバイスのファンクションブロックが自身の出力データをバス１２に発行する。典型的に、各ファンクションブロックは、ブロックが強制データコマンドを受信するようにスケジュールされている時間の直前にそのブロックの実行が終了されるように実行するべくスケジュールされているため、強制データコマンドに応じて発行されるデータはファンクションブロックの最も新しい出力データであるべきである。しかしながらファンクションブロックの実行が遅く、強制データコマンドを受信した時に新しい出力をラッチしていない場合、ファンクションブロックはファンクションブロックが最後に実行された際に作成された出力データを発行する。
【００３６】
ＬＡＳが強制データコマンドをバスの特定なセグメントにおける各ファンクションに送った後であってファンクションブロックが実行している間、ＬＡＳによって非同調的通信活動を生じさせることが可能である。非同調的通信を行うために、ＬＡＳは特定のフィールドデバイスに対してパストークンメッセージを送る。フィールドデバイスがパストークンメッセージを受け取った場合、そのフィールドデバイスはセグメント全体に対してアクセス可能となり、例えば警告メッセージ、トレンドデータ、オペレータ設定ポイント変更などの非同調的メッセージをこれらメッセージが完了するまで、または最大に割り当てられた「トークンホールド時間」が満了するまで送ることができる。その後、フィールドデバイスはセグメントバスを開放し、ＬＡＳはパストークンメッセージをその他のデバイスに対して送る。このプロセスはマクロサイクルの終了まで、またはＬＡＳが同調的通信を行うために強制データコマンドを送るようにスケジュールされている時間まで反復される。当然、メッセージトラフィックの量とバスのある特定のセグメントに接続されているデバイスおよびブロックの数とによって、各マクロサイクルの間に全てのデバイスがパストークンメッセージを受け取るものではない。
【００３７】
フィールドデバイスは、各フィールドデバイスのスタックのフィールドバスアクセスサブレイヤーにおいて定義されている３つのバーチャル通信関係（ＶＣＲ）のうち１つを用いてバスを介してデータおよびメッセージを発行または伝送することができる。クライアント／サーバＶＣＲは、バスのデバイス間におけるキューされた、スケジュールされていない、ユーザによって開始された、１対１の通信のために用いられる。このようなキューされたメッセージは、以前のメッセージを上書きすることなく、その優先順位によって伝送のために与えられた順番に送受信される。したがってフィールドデバイスは、ＬＡＳからパストークンメッセージを受け取った場合にバスにおける他のデバイスに要求メッセージを送るためにクライアント／サーバＶＣＲを利用できる。要求者が「クライアント」と称され、要求を受けたデバイスは「サーバ」と称される。サーバはＬＡＳからパストークンメッセージを受け取った場合にレスポンスを送信する。クライアント／サーバＶＣＲは、例えば設定ポイント変更、チューニングパラメータアクセスおよび変更、警告認識およびデバイスのアップロードおよびダウンロードなどの、オペレータによって開始された要求などを実行するために用いられる。
【００３８】
レポートディストリビューションＶＣＲは、キューされた、スケジュールされていない、ユーザによって開始された１対複数の通信のために用いられる。例えば事態またはトレンドレポートを有するフィールドデバイスがＬＡＳからパストークンを受け取ると、そのフィールドデバイスは、自身のメッセージをそのデバイスの通信スタックのフィールドバスアクセスサブレイヤーにおいて定義されている「グループアドレス」に対して送信する。ＶＣＲに応答すべく構成されているデバイスは、そのレポートを受信する。フィールドバスデバイスにおいてレポートディストリビューションＶＣＲ型のものは典型的にオペレータコンソールに対して警告通知を送信するために用いられている。
【００３９】
発行者／加入者ＶＣＲ型のものは、バッファーされた１対複数の通信に用いられる。バッファーされた通信とは、最新バージョンのデータのみを保存および送信するものであり、したがって新しいデータが以前のデータを完全に上書きするものである。例えばファンクションブロック出力がバッファーデータをなす。「発行者」フィールドデバイスとは、発行者フィールドデバイスがＬＡＳからまたは加入者デバイスから強制データメッセージを受けた場合にバスにおける全ての「加入者」フィールドデバイスに対して発行者／加入者ＶＣＲ型のものを用いてメッセージを発行または告知する。このような発行者／加入者関係は予め構成されているものであって、各フィールドデバイスの通信スタックのフィールドバスアクセスサブレイヤー内において定義づけられて保存されているものである。
【００４０】
バスを介して適切な通信活動を確実に行うために、各ＬＡＳは、定期的にバスのセグメントに接続されている全てのフィールドデバイスに対して時間ディストリビューションメッセージを送ることによって受け取る側のデバイスが互いに同調するようにそれぞれのローカルアプリケーション時間を調整することが可能となる。これら同調メッセージの間、自身の内部クロックに基づいて各デバイスにおいて個々のクロック時間が維持されている。クロック同調によってすべてのフィールドデバイスがフィールドバスネットワーク全体に亘ってスタンプデータを記録して例えばデータが作成された時間を指し示すことが可能となる。
【００４１】
さらに、各バスセグメントにおける各ＬＡＳ（およびその他のリンクマスターデバイス）は、バスのセグメントに対して接続されている全てのデバイス、すなわちパストークンメッセージに対して正常に応答する全てのデバイスの一覧である「ライブリスト」を保存している。ＬＡＳは、定期的にライブリストにないアドレスに対してプローブノードメッセージを送ることによって連続的にバスセグメントに対して加えられた新しいデバイスを認識している。実際、各ＬＡＳは、ライブリストにおける全てのフィールドデバイスに対してパストークンメッセージを送信する１サイクルを終了した後に少なくとも１つのアドレスをプローブしなくてはならない。そのプローブされたアドレスにフィールドデバイスが存在し、プローブノードアドレスを受信した場合、デバイスは直ちにプローブ応答メッセージを返信する。プローブ応答メッセージを受け取ると、ＬＡＳはそのデバイスをライブリストに追加してプローブされたフィールドデバイスに対してノード作動メッセージを送る。フィールドデバイスは、パストークンメッセージに対してそのフィールドデバイスが適当に応答する限りライブリスト上に存在し続ける。しかしながら３度正しく試行してもフィールドデバイスがトークンを使用するかまたはトークンをＬＡＳに対して直ちに返却しない場合にはＬＡＳがそのフィールドデバイスをライブリストから削除する。フィールドデバイスがライブリストに追加またはそこから削除される場合、ＬＡＳはライブリストにおける変更をバス１２の適当なセグメント上の全てのその他のリンクマスターデバイスに告知して各リンクマスターデバイスがライブリストの現在のコピーを保持することを可能にする。
【００４２】
再度図１および図２を参照して、その他のコンフィギュレータまたはホストデバイスがセグメント１０に対して接続されていてもいなくてもセグメント１０またはセグメント１０のデバイスを構成するのに用いられ得る２モードデバイス／ネットワークコンフィギュレータ２０が図示されている。より具体的には、コンフィギュレータ２０はセグメント１０のバス１２（またはセグメント１０上におけるデバイスに直接的に）に対して任意の時または場所において接続され得、セグメント１０上における任意のデバイスを構成するためおよび標準的なフィールドバスコンフィギュレータ１６と同様にセグメント内におけるネットワーク設定を構成するために第１のモード、すなわちオフラインモードにおいて用いられ得る。加えて、コンフィギュレータ２０は第２のモード、すなわちオンラインモードで用いることも可能であり、その場合コンフィギュレータ２０は、バス１２を制御することなく且つバス１２に接続されているデバイスのネットワーク設定を影響することなくデバイスに特有なパラメータを構成するためにバス１２またはデバイスに接続され得る。こうしてコンフィギュレータ２０は、デバイスと通信を行ってそのデバイスおよび／またはその他のデバイスがオンライン状態にてプロセス制御を行っている間でもセグメント１０のネットワーク設定またはその他のセグメント１０上に生じている通信を干渉することなく、デバイスを再構成することが可能である。一般的に言えば、ネットワーク設定は、例えば最大応答ディレー、ＬＡＳディレーをクレームするための最大不活動時間など、互いに通信を行うために全てのデバイスに共通するパラメータである。
【００４３】
図１において示されているように、例えばホストデバイス、ラップトップまたはポータブルコンピュータまたはその他の種類の演算デバイスなどであり得るコンフィギュレータ２０は、プロセッサ２２とプロセッサ２２によって実行または使用され得るプログラム、ルーチンおよびデータを記憶するメモリ２４とを含むものである。図２において示されているように、デバイス２０はさらに例えばＬＥＤ、ＬＣＤ、またはプラズマディスプレイパネルなど、任意の種類のディスプレイであり得るディスプレイ２６を含むものである。コンフィギュレータ２０の構造は、標準的な形でバス１２を介して通信を行うことを可能とする、フィールドバス１２に対して接続を確立および解除するための物理的レイヤー２８と、フィールドバス通信を標準的な形で行うために作動するフィールドバス通信スタック３０とを含むものである。一般的に言えば、この物理的レイヤー２８と通信スタック２０とは、いかなるフィールドバスデバイスにおいても用いられるような標準的なフィールドバスレイヤーである。ユーザレイヤー３２のメモリ２４には数多くのプログラムまたはサブルーチン３１が記憶されており、バス１２を介して異なる種類の通信および操作を行うためプロセッサ２２上にて実行される。
【００４４】
コンフィギュレータ２０はまた、モードスイッチ３４を含み、該スイッチは例えばハードウエアスイッチ又はソフトウエアスイッチである。モードスイッチ又はモード設定３４は、コンフィギュレータ２０のモードを、オフラインモード又はオンラインモードの何れかに制御する。オフラインモードではコンフィギュレータ３５は、必要に応じてルーチン３１を用いてバス１２の制御を引き受け、及ネットワーク設定を構成することにより、標準的なフィールドバスコンフィギュレータとして動作する。オンラインモードではコンフィギュレータ３５は、限定された数のルーチン即ち手順３１だけを用いて、実行されるコンフィギュレーション動作がオンラインシステムのコンフィギュレーション情報に干渉しないことを確実にし、該コンフィギュレーション情報はＬＡＳスケジュール等のようなネットワーク設定及び他のオンラインコンフィギュレーション情報を含む。
【００４５】
所望ならば、コンフィギュレータ３５は、第１のコンフィギュレーションルーチン３６と第２のコンフィギュレーションルーチン３８を含み、第１のコンフィギュレーションルーチン３６はネットワークコンフィギュレータとして作動して全てのルーチン３１へのアクセスを有し、第２のコンフィギュレーションルーチン３８は一部のルーチン３１のみへのアクセスを有するデバイスコンフィギュレータとして作動する。特に、一連のルーチン又は手順３１は、２つの基本的なタイプのルーチンを有し、それはネットワーク設定を制御し、又はネットワーク設定に影響を与える第１のタイプと、オンラインシステムのコンフィギュレーション情報に影響を与えることなく、デバイス設定を制御する第２のタイプである。全てのルーチン３１は、オフラインコンフィギュレータ３６に利用可能であり、標準的なフィールドバスコンフィギュレーション動作を実行する。これらの動作(及びルーチン又は手順３１)は例えば、セグメント内のデバイスタグ及びデバイスアドレスの割り当て、標準的な方法でセグメントの動作時に使用される、デバイスとの通信関係の確立、デバイス内の機能ブロックの動作のスケジューリング、デバイス間の通信のスケジューリング、作業者又は他のデバイスに送信される警告及び動向の構成、ユーザアプリケーションブロックのパラメータの設定、及び他のネットワークパラメータの設定である。このようにして、オフラインモードでは、コンフィギュレータ２０は、フィールドバスセグメントとセグメント上のデバイスの両方を構成する典型的なフィールドバスコンフィギュレータの機能を全て有し、そのため作動時にセグメント１０を完全に制御することを担う。さらにオフラインモードにおいて、コンフィギュレータ３６は構成されるデバイスにて構成される全ての機能ブロックを一時的にスケジュールして、ユーザがそのデバイスの使用を終了した場合にはデバイスの変更を一旦クリアにする。
【００４６】
しかし、モードスイッチ又はモード設定３４がオンラインモードに設定されると、コンフィギュレータ３８はセグメント１０の制御を担わず、又はセグメント１０のオンラインシステムのコンフィギュレーション情報と干渉する通信またはその他の動作を行うこともない。このオンラインモードは、例えばセグメント上に１又は２以上のデバイスのみを構成して、例えばホストデバイスがセグメント１０に対して既にライブプロセス処理を実行している場合にセグメント１０に対してデバイスチューニングまたは診断を実行する必要がある場合に用いられ得る。オンラインモードにおいて、ルーチンまたは処理手順３１（すなわち第１の一連のルーチン）の或るものはオンラインコンフィギュレータ３８に対して利用不可能とされており、したがってコンフィギュレータ２０がセグメント１０上で作動している例えばＬＡＳなどのその他のコンフィギュレータまたはホストデバイスと同時に作動することが可能となる。
【００４７】
具体的には、オンラインモードにおいてオンラインコンフィギュレータ３８は、デバイスタグの変更、デバイスアドレスの変更、ファンクションブロックのスケジュール、ライブセグメントのＬＡＳによって通常制御されてコンフィギュレーションデバイスによって通常設定されるその他の活動を変更するものではない。その代わりオンラインコンフィギュレータ３８は、セグメント１０またはセグメント１０における制御ループを影響するパラメータよりもデバイスそのものと密接に関連するデバイスパラメータのみを構成するものである。オンラインコンフィギュレータ３８が構成し得る設定（例えば自身がアクセス可能なルーチン３１）とは、デバイスのリソースブロック、トランスデューサブロックおよびファンクションブロックの不変的パラメータの変更を含むものである。オンラインコンフィギュレータ３８がアクセスまたは使用できないルーチン３１とは、ファンクションブロックのスケジュール、デバイスアドレスの割り当て、ネットワークパラメータの設定、制御ループの作成、通信スケジュールのダウンロードおよびデバイスコンフィギュレーションの解除などを含む。したがってオンラインモードにおいてデバイスコンフィギュレータ２０は不変的ブロックパラメータのみを変更するものである。さらにデバイスコンフィギュレータ２０は、いずれもが標準的なフィールドバス通信またはリクエストを用いるセグメントにおけるデバイスの一覧、デバイスにおけるリソースブロック、トランスデューサおよびファンクションブロックの一覧、これらブロックの読み出しおよび書き込みパラメータ、および通信統計にアクセスしてディスプレイ２６上に表示するディスプレイルーチン４２を含み得る。
【００４８】
オンラインモードにおいて、コンフィギュレータ３５は特別な通信ルーチン４４を用いて再構成されるデバイスとの通信を確立する。この後述されるルーチン４４は、コンフィギュレータ３５がセグメント１０に接続されているその他のコンフィギュレーションデバイスまたはＬＡＳによって確立または使用される通信リンクを破壊することなくデバイスと通信することを可能にするために用いられる。この通信処理手順４４が用いられるのは、ネットワークトラフィックを低減する目的のためには、変更されるデバイスにおいて作業を行うために必要な通信接続のみを確立することによってバス１２を介してコンフィギュレータ２０が変更されるべきデバイスと通信を行うことが好ましいからである。さらに、オンラインモードにおいてコンフィギュレータ２０は、ユーザがそのような情報を求めない限りデバイスの詳細情報を読み出すことがないため、さらにセグメントトラフィックの発生が少なくなる。
【００４９】
最初にセグメント１０に対して接続されると、オンラインコンフィギュレータ３８はセグメント１０に対して自身がゲストデバイスであると示し、ユーザに対して例えばディスプレイ２６を介してディスプレイルーチン４２を用いてセグメント１０上のデバイスを認識および表示し、またユーザがそのデバイスを選択した時と場合にはセグメント上の特定のデバイスと通信を行う構成となっている。オンラインコンフィギュレータ３８は、特定のアドレスにおけるデバイスのみを構成し（例えばフィールドデバイスアドレスにおけるものは構成するが、ホストまたはゲストアドレスにおけるものはしない、など）、ユーザはデバイスが構成可能である一連のアドレスを決定し得る。ユーザに対して表示される情報は任意の形で表示され得るものであるが、１つの実施例においてはウィンドウズ（登録商標）ＮＴエクスプローラに類似した形で表示される。
【００５０】
作動時において、ユーザはモードスイッチ３４を用いてどのモードを使用すべきかを決定する。オフラインモードにおいて、コンフィギュレータ２０は必要があれば一時的にセグメント上のデバイスにアドレスを割り当てる。しかしながら、オンラインモードにおいて、ホストデバイスとの干渉を避けるためにデバイスコンフィギュレータ２０の特定の機能、具体的には前述した第１の一連のルーチンがディスエーブル状態にされている。デバイスコンフィギュレータ２０がオフラインモードにある時にユーザが誤ってライブセグメントに対して接続することを防止するため、デバイスコンフィギュレータ２０は第１の不適切モードルーチン４６を含むものであって、デバイスが標準的なデバイスコンフィギュレータ、ホストまたはＬＡＳによって典型的に使用される１つまたはそれ以上のアドレスにおかれているか否かをチェックし、もしデバイスがこれらアドレスのうちいずれかに存在する場合にはユーザに対して別のコンフィギュレータがそのセグメントに存在することを警告する。これらアドレスは、フィールドバスコンフィギュレータによって使用されるようなものであり得、典型的にはユーザによって与えられるものである。コンフィギュレータ２０は、さらに第２の不適切モードルーチン４８を含むものであって、コンフィギュレータ２０がおかれているセグメントにおいてデバイスが検出されない場合にオフラインコンフィギュレータ３６の動作を中止する。この場合、オフラインコンフィギュレータ３６はセグメントに対して自分の存在を示さず、その代わりユーザがコンフィギュレータ３６を選択した上で再作動させなければならない。ルーチン４８によって、コンフィギュレータ２０をシャットダウンすることなくオフラインセグメントにおいて作業を行った後にユーザが誤ってオフラインデバイスコンフィギュレータ３６をライブセグメントに再接続することが防止されるのは、コンフィギュレータ３６がセグメントとの接続から解除された場合にはルーチン４８がセグメント上におけるデバイスを検出せず、ユーザによってリセットされるまでデバイス／ネットワークコンフィギュレータ２０の動作を中止するからである。
【００５１】
これと比較して、公知であるフィールドバスコンフィギュレータは、セグメントの全体的な制御を担うものである。同一のセグメント上に任意の種類のものが２つ存在するとすれば互いに衝突する可能性がある。例えば、いずれもが自動的にデバイスに対してそのデバイスと通信するために恒久的なアドレスを割り当てようとするであろう。基本的なデバイスであるべく構成されている場合であっても、公知であるコンフィギュレータのうちいくつかはそれでもアドレスを割り当てようとする。しかしながら、オンラインモードにおけるコンフィギュレータ２０は、同一のセグメント上で作動する公知であるコンフィギュレータまたはその他の２モードコンフィギュレータ２０と共存しあえる。さらに標準的なまたは公知であるフィールドバスモニターツールがライブセグメントにおいて共存しあえるものであるが、これらツールはデバイス情報にはアクセスできない。
【００５２】
オンラインモードにおいてバス１２に対して接続された場合に非侵入的に通信を行う場合、通信ルーチンまたはアルゴリズム４４は、セグメントを制御しているＬＡＳによって確立された通信パラメータを上書きまたは破壊することなく、他のホストまたはＬＡＳデバイスが作動しているセグメントにおけるデバイスと通信を行い得るように設計されている。具体的に、通信ルーチン４４は、デバイスにおけるユーザアプリケーションにアクセスするために非侵入的なバーチャル通信関係スキームを用いるものである。
【００５３】
フィールドバスセグメントを構成する場合、典型的にはホストデバイスがセグメント全体とセグメント上における全てのデバイスの制御を担っているものである。各デバイスにおけるファンクションブロック情報にアクセスするためには、ホストはほとんどすべての利用可能なバーチャル通信関係（ＶＣＲ）エントリーを選択することが可能であり、すべてのローカルセレクタを使用することができる。さらに、ホストは、デバイスによって行われた変更をクリーンアップする必要がない。その結果、これらデバイスがデバイスＶＣＲエントリーをデバイスに書き込む方法が故に２つのフィールドバスコンフィギュレータは、通常同時に同じデバイスを構成することができない。
【００５４】
本文において説明された通信ルーチンまたは処理手順４４は、他のホストデバイスがその間にネットワークを構成または制御している間にセグメント上におけるデバイスにアクセスして構成することが可能である。ルーチン４４は、デバイスと通信を確立するために最低限にのみデバイスＶＣＲエントリーに書き込みを行い、さらに使用されているＶＣＲエントリーが他のホストによって破壊された場合に通信を復活させる。またさらに通信ルーチン４４は、ＶＣＲエントリーにおいて最低限の変更のみを残すものであるため、ルーチン４４が通信を停止または終了した後に再使用可能である。
【００５５】
前述のとおり、ファウンデーションフィールドバスネットワーク通信は、異なるレイヤーによって実現されている。図３において典型的なフィールドバスデバイス５０が図示されており、下から上に向かって物理的レイヤー（ＰＨＹ）、データリンクレイヤー（ＤＬＬ）、フィールドバスアクセスサブレイヤー（ＦＡＳ）、フィールドバスメッセージ特定レイヤー（ＦＭＳ）およびユーザアプリケーションレイヤーを含むものである。フィールドバスデバイス５０は、ネットワーク上の１つまたはそれ以上のバーチャルフィールドバスデバイス（ＶＦＤ）として表されており、各バーチャルなデバイスは、システムおよびネットワークマネジメント情報を含むシステムＶＦＤ５６と、ファンクションブロック情報を含む１つまたはそれ以上のユーザアプリケーションＶＦＤ５８とを有するものである。
【００５６】
ＶＦＤにおける情報はオブジェクトディクショナリー（ＯＤ）において編成されている。ネットワークまたはセグメント上におけるクライアントは、ＦＭＳレイヤーにおいて定義されるバーチャル通信関係（ＶＣＲ）を介してＯＤにアクセスする。クライアントとは、ネットワーク上の別のデバイスまたはその他のモニター／コンフィギュレーション手段であり得、具体的にはコンフィギュレータ２０であり得る。ＶＣＲパラメータは、接続の両端においてＶＣＲエントリーに記憶されており、ローカルアドレス、リモートアドレス、アクセスすべきＶＦＤ、ＶＣＲの種類および通信係数を含むものである。ＦＦ−９４０−１．４フィールドバス標準のテーブル１０は、ＶＣＲの異なった種類とフィールドバスプロトコルのこれらのパラメータとを接続するものである。一般的に、アドレスは（デバイスが存在するセグメントに関連する）リンク番号、（セグメント上のデバイスに特有である）リンクにおけるノードアドレス、およびデバイスの異なる部分またはセクションに関連するＶＣＲセレクタを含むものである。互いのＶＣＲエントリーパラメータがマッチする場合、２つのデバイス間の接続が確立される。
【００５７】
一般的に言えば、まずクライアントはデバイスに対して接続確立要求を出力する。この要求は、デバイスにおいてどのローカルアドレスを使用すべきであるかを指示するものであり、次いでデバイスは、このローカルアドレスにマッチするローカルＶＣＲエントリーを求めてこのローカルアドレスをＶＣＲ接続のために指定する。ローカルセレクタパラメータがローカルアドレスにおける同じ数値に等しい場合、ＶＣＲエントリーはローカルアドレスにマッチする。フィールドバスファウンデーションは、システムマネジメントＯＤにアクセスするためにローカルセレクタを予め定義する。ユーザアプリケーションＯＤにアクセスするためにクライアントは、まず使用可能なＶＣＲエントリーをデバイスにおいて見つけてから必要に応じてそのパラメータを変更し、次いでそのエントリーとの接続を確立する。
【００５８】
公知であるように、ＶＣＲエントリーは、システムＯＤにおいて記憶されているものである。デバイスは固定の数のＶＣＲエントリーを有し、これらのエントリーのうちいくつかはハードコートされたもの、すなわち種類またはローカルセレクタ値などが予め設定されているものであり得る。またＶＣＲエントリーのうちいくつかは空であり得、その場合クライアントはこのエントリーにおいて任意のＶＣＲを定義することができる。デバイスは予め構成されたＶＣＲエントリーを有し、リザーブされたローカルセレクタがシステムＯＤにアクセスするためにフィールドバスファウンデーションによって定義されている。システムＯＤにアクセスするためにクライアントがこのＶＣＲエントリーを見つける必要がない。このリザーブされたローカルセレクタを用いて接続確立要求を出力することができる。
【００５９】
典型的に、ネットワークにおいてデバイス全体を構成するホストデバイスは１つしかない。このホストまたはＬＡＳデバイスは、自身の目的のためにＶＣＲエントリーを上書きし、ＶＣＲが利用可能か否かまたはそのパラメータが適当であるか否かを心配する必要がない。ホストデバイスが全体の制御を司り、全てのＶＣＲエントリーに対して書き込むことができるため、無効であるローカルセレクタまたは複製されたローカルセレクタは回避される。ほとんどの場合、ホストデバイスは、デバイスＶＣＲエントリーに対して行われた変更をロールバックすることはない。当然、デバイスに対してＶＣＲ接続を作成する必要のないその他のモニターデバイスについては、ホストデバイスによって行われる変更は問題とならない。
【００６０】
しかしながら、例えば２つのコンフィギュレータなど、２つのクライアントが同時にデバイスのユーザアプリケーションＯＤにアクセスしようとする場合、お互いのＶＣＲエントリーと干渉するか否かによって成功する場合と成功しない場合とがある。本文において説明された通信ルーチン４４の目的は、ネットワーク上に他のホストが存在しても存在しなくても、クライアントがデバイスのユーザアプリケーションにアクセスできることを保証することにある。さらにルーチン４４によってクライアントがネットワークを離れる時にＶＣＲエントリーに対して残す足跡を可能な限り小さなものにしようとする。その結果、ルーチン４４を、デバイスをあるサービスのために準備するオフラインコンフィギュレータまたはフィールドバスセグメント全体を構成する伝統的なホストデバイスなどにおいてさえも例えば前述のオンラインモードコンフィギュレータなどのホストデバイスと共存するホストを構成するものではないクライアントにおいて用いられ得る。
【００６１】
図４を参照して、ルーチン４４が用いる通信アルゴリズム１００がフローチャートの形で図示されている。この説明の目的のため、ユーザアプリケーションＯＤアクセスのためのＶＣＲの種類はクライアント／サーバであり、アクセスされるデバイスはサーバと称され、クライアントとはデバイスに対してアクセスを要求するクライアントであり、この場合においてはオンラインモードで作動しているデバイス／ネットワークコンフィギュレータ２０である。まずブロックまたはステップ１０４において、通信のために使用しないセレクタ値の一覧を作成またはアクセスし、デバイスにおいて使用可能なＶＣＲを決定することによってコンフィギュレーションデータを開始する。使用しないセレクタ値とは、バス１２を介してその他の通信のためにデバイスが使用しているＶＣＲによって使用されているセレクタ値のことである。典型的に、フィールドバスプロトコルにおいてローカルセレクタの値は０ｘ２０乃至０ｘＦ７の範囲にあるべきである。しかしながら、ステップ１０２において他のホストデバイスによって使用されていることがわかっている特定のアドレスを明確に除外することによってネットワークにおけるホストデバイスとの生じ得る衝突を防止する。例えば固定的なローカルセレクタが他のホストデバイスによって使用されていることをアルゴリズム１００またはユーザが知っている場合、このセレクタ値は使用されないセレクタ値の一覧に入れてしまって、アルゴリズム１００がデバイスと通信を行う時にこのセレクタを使用しないことになる。このようなアクションによってそのセレクタ値を使用するホストとの生じ得る衝突を防止するのみならず、後にクライアントデバイス（例えばデバイスコンフィギュレータ２０など）によって作られた一時的な接続が他のホストによってクリアされた時にＶＣＲ接続を再構築する必要性を低減することができる。
【００６２】
さらにブロック１０４は、その中から選択するサーバ（アクセスされるデバイス）における利用可能なＶＣＲエントリーの数を決定する。当然、サーバデバイスにおいて必然的に必要な数よりも多くの利用可能なＶＣＲエントリーが存在し得る。いずれの場合も、ステップ１０４においてデバイス内に存在するＶＣＲエントリーのうちいくつが利用可能かを判断する。使用されないローカルセレクタを決定するステップは、使用不可能であると判断された各ＶＣＲエントリーのためのセレクタ値を使用されないセレクタ値の一覧に入れることが可能であるため、必要であれば利用可能なＶＣＲエントリーを決定するステップと同時に行われ得る。いずれの場合も、ＶＣＲエントリーの選択肢が多ければ多いほど多くのメモリ空間が必要となり、しかしながら他のコンフィギュレータまたはホストデバイスと衝突する可能性は低くなる。当然、ユーザがこれらパラメータ（すなわち保存すべきセレクタおよびＶＣＲエントリーの数など）を設定しても、またはアルゴリズム１００が使用できるようにこれらが予め構成されてメモリに保存されていてもよい。
【００６３】
一実施例において、ステップ１０４はデバイスにおける各ＶＣＲエントリーを読み出し、各エントリーについて以下のステップを行う。そのＶＣＲエントリーが空のエントリーである場合、そのインデックスナンバーを保存して空であるとマークせよ。そのＶＣＲエントリーが使用不可能なエントリーである場合、そのローカルセレクタ値を使用不可能なローカルセレクタの一覧に保存せよ。さもなければＶＣＲエントリーは予め設定された使用可能なエントリーであるべきである。この場合、全てのＶＣＲエントリーパラメータを保存せよ。使用可能なエントリーはハードコードされたエントリーまたは以前に他のクライアントによって設定された使用可能なものであり得る。
【００６４】
したがって、一般的にステップ１０４は、サーバデバイスにおける全てのＶＣＲエントリーを見てそれぞれのＶＣＲエントリーが空のエントリーであるかまたは予め構成されたエントリーであるかを判断する。空のエントリーであれば、所望の通信接続のために構成され得、その場合にはステップ１０４において各空のエントリーのインデックスナンバーが保存される。予め構成されたエントリーであれば、ステップ１０４においてまずそのエントリーが所望の通信のために使用可能な種類のものであるかをチェックしてそのエントリーがフリーで使用可能か否かを判断する。そのエントリーが使用可能且つフリーである場合、ステップ１０４においてそのエントリーのパラメータが保存される。いかなる予め構成されたエントリーについてもステップ１０４は、アルゴリズム１００がローカルセレクタを選択する必要がある場合に後に使用され得るエントリーのローカルセレクタを保存してもよい。特定のフィールドバスデバイスは予め構成されたＶＣＲエントリーのみを有するものであり、したがってアルゴリズム１００は使用のための空のエントリーが常にあると認識しなくとも予め構成されたエントリーをチェックするものである。
【００６５】
次にブロックまたはステップ１０６において保存された使用可能なＶＣＲエントリーのうちデバイスのＶＣＲエントリーを選択する。使用可能なＶＣＲエントリーが存在しない場合、アルゴリズム１００は失敗してクライアントは当分デバイスユーザアプリケーションＯＤにアクセスできない。実際、アルゴリズム１００がサーバデバイスにおける全てのＶＣＲエントリーをチェックして一連の使用可能なＶＣＲエントリーを保存した後、ステップ１０６においてどのＶＣＲエントリーを使用するかが判断される。衝突の可能性を低減するために、使用可能なエントリーのうち１つを選択するためにランダムアルゴリズムが使用される。ここにおいて２つの原則が見受けられる。まず、使用可能なエントリーが充分でない場合には、最初の使用可能なエントリーはほとんどのコンフィギュレータまたはホストデバイスが最初に出会うものを使用する傾向があるためにステップ１０６が第１の使用可能なエントリーを避けようとする。次に、ランダム性はネットワークアドレスまたはその他のクライアントに特有の値に連結することができ、それによってアルゴリズム１００を使用する２つのクライアントが同一のＶＣＲエントリーを選択する事態を避けるのに役に立つ。選択されたＶＣＲエントリーはそれでも他のデバイスによって受け継がれて、その場合にはＶＣＲエントリーを用いる接続が失われて再構築される必要がある可能性があるため、このランダム性は重要である。このような事態が起こることが少なければ少ないほどサーバデバイスとの通信がより早く且つよりよいものとなる。
【００６６】
次に、ブロックまたはステップ１０８において選択されたＶＣＲエントリーと使用されていないセレクタ値のうち１つとを用いて標準的な形でデバイスとＶＣＲ接続を確立する。こうして通信はステップ１１０において開始される。空のＶＣＲエントリーについて、ステップ１０８はそのエントリーにサーバ側ＶＣＲに要求されるパラメータ値を書き込む。使用可能なエントリーについて、サーバデバイスにおける値に応じてクライアント側パラメータが設定される。空のエントリーのためのローカルセレクタは、禁止されていないもの（すなわち使用不可能なローカルセレクタの一覧にあるもの）または他のエントリーによって使用されていないものであるように選択される。いずれの場合でもデバイスにおけるリモートアドレスパラメータは０のままにされる。その目的は、一旦アルゴリズム１００が接続を開け放した場合にサーバデバイスにおけるＶＣＲエントリーをその他のコンフィギュレータまたはホストによって再利用可能にすることにある。
【００６７】
また別の選択肢として、ステップ１０８はクライアントアドレスをデバイスＶＣＲエントリーに書き込んで、コンフィギュレータ２０が終了した後にそれを元の設定に戻すことも可能である。しかしながら、このようなアプローチにおいては通信処理手順の終わりで且つコンフィギュレータ２０とセグメントとの間の接続が解除されるまでにリセットされる必要がある。短い時間の間に通信を行うためにコンフィギュレータ２０がネットワークに対して頻繁にフックされる場合、典型的にユーザはリセットのことを心配せずにネットワークから接続を解除できることを望むものである。またデバイスとの通信が失われていると時々リセットが不可能となる。
【００６８】
いずれの場合においても、通信リンクが確立された後、コンフィギュレータ２０は図２において前述したようにデバイス設定を変更するために、またブロックまたはステップ１１０において図示されるようにデバイスと通信するためにルーチンまたは処理手順３１を実行し得る。しかしながら通信の間、ブロックまたはステップ１１２において（通常タイムアウト期間が満了するかを見ることによって）通信接続が断絶されているか否かを判断し、そうであれば通信アルゴリズム１００にステップ１０４乃至１１０を繰り返し実行させる。前述のとおり、クライアントアドレスはデバイスＶＣＲエントリーに書き込まれていないので、同一のエントリーが後に他のデバイスによって使用可能とされている。このアプローチにおける１つの欠点としてはコンフィギュレータ２０がＶＣＲエントリーを用いて通信している間に他のコンフィギュレータまたはホストがそのエントリーがまだ使用可能であると誤って判断してこれらの他のデバイスがＶＣＲエントリーを受け継ぐ可能性があるという点である。ステップ１０６におけるランダム選択を用いることによってこの可能性を避けようとはするものの、必ずしも常に防止するものではない。したがってまれに他のデバイスがＶＣＲエントリーを受け継いだ場合に接続が中止された場合、アルゴリズム１００によって他のＶＣＲエントリーを見つけることによって接続が再開始される。ステップ１１２の重要性はＶＣＲエントリーの衝突に関するものだけではなく、ホストデバイスが自身のネットワークコンフィギュレーションプロセスにおける全てのＶＣＲエントリーをクリアする場合にもある。
【００６９】
したがって理解され得るように、アルゴリズム１００は、フィールドバスデバイスにおけるユーザアプリケーション／ファンクションブロック情報にアクセスするための非侵入的なＶＣＲ作成方法を提供するものである。伝統的なフィールドバスコンフィギュレータは、実質的に自身のニーズに合うようにＶＣＲエントリーを上書きすることができるため、非侵入的接続を行わない。その結果、これらのデバイスにおいて使用可能なエントリーを探す問題も、接続中断の心配も、ＶＣＲエントリーをリセットする必要性も生じない。しかしながらこれら全てのファクターは、同一のネットワークまたはセグメントにおいて１つ以上のコンフィギュレータを接続しようとする場合には取り扱わねばならないものである。
【００７０】
さらに、デバイスユーザアプリケーションおよびプロセス情報に対して１つ以上のコンフィギュレータが同時にアクセスし得るように、アルゴリズム１００は単一コンフィギュレータおよび複合コンフィギュレータのいずれの場合にも機能するものである。アルゴリズム１００は非侵入的であり、いかなる既存のデバイスＶＣＲ接続をも中断するものではない。その結果、アルゴリズム１００を使用するコンフィギュレータは、ＶＣＲエントリーを使用不可能な状態に残すことなくいつでもネットワークから断絶され得、このことはエントリーが他のデバイスによってすぐにでも使用可能であることを意味する。さらにアルゴリズム１００は、作動中であるローカルセレクタを決定する。したがって、空のＶＣＲエントリーを使用する場合、ローカルセレクタは固定されているものではなく、選択されるため他の既存のエントリーと衝突しない。アルゴリズム１００は予め構成されたまたは空のＶＣＲエントリーをチェックするため、空のＶＣＲエントリーを有するまたは有しないデバイスなどを含む別の種類のフィールドバスデバイスにおいて用いられ得る。
【００７１】
本文において、コンフィギュレータ２０は、プロセッサおよびメモリにおける１つまたはそれ以上のプログラムまたはルーチンによって実行される機能を有するものとして説明されたが、コンフィギュレータ２０が別の種類のデバイス構造を有するものとし、またコンフィギュレータ２０の別の要素が任意の種類のコンピュータメモリ、ディスクまたはその他の保存デバイスにおいて保存されているハードウェア、ファームウェアまたはソフトウェアにおいて作成または実行され得るものである。ソフトウェアにおいて実行される場合、コンフィギュレータ２０は任意の所望されるプログラム言語を用いてプログラムされているものであってもよく、標準的な複合目的のＣＰＵまたは所望される場合には特別に設計された、例えばＡＳＩＣなどのハードウェアまたはファームウェアにおいて実行され得る。ソフトウェアにおいて実行される場合、このソフトウェアは、例えば磁気ディスク、レーザディスク、光学ディスクまたはその他の保存媒体、コンピュータまたはプロセッサのＲＡＭまたはＲＯＭなど、任意のコンピュータによって読み出し可能なメモリにおいて保存され得る。同様に、このソフトウェアは、ユーザまたはプロセス制御システム内におけるデバイスに対して公知である、例えばコンピュータによって読み出し可能なディスクまたはその他の搬送可能なコンピュータ保存機構などによって所望の形で配布し、または例えば電話線、インターネット、衛星リンク、セルラーリンクなどの（いずれもがこのようなソフトウェアを搬送可能な保存媒体によって提供することと同等または相互交換可能であるとみなされる）通信チャンネルを介して変調され得る。
【００７２】
さらに、本発明は、単に例示的であって本発明を限定するものではない特定の例を参照しつつ詳述されてきたものであるが、当業者にとって本発明の精神と範囲とから逸脱することなく開示された実施例に対して変更、追加または削除を行い得ることは理解され得る。
ンを有し得る。
【図面の簡単な説明】
【図１】フィールドバスプロトコルを用いるプロセス制御セグメントの一例を示す概略ブロック図である。
【図２】図１のセグメントにおいて用いられ得る２モードデバイスコンフィギュレータの一例を示すブロック図である。
【図３】典型的なファウンデーションフィールドバスデバイス内にて用いられる通信ヒエラルキーのブロック図である。
【図４】フィールドバスセグメント上におけるデバイスと非侵入的な通信を確立して維持するために図２のデバイスコンフィギュレータによって行われる手順を示すフローチャートである。
【符号の説明】
１０…セグメント
１２…バス
１３，１４…フィールドデバイス
１６…フィールドバスコンフィギュレータ
２０…デユアルモードコンフィギュレータ
【図１】
0004834245.tif 000002
【図２】
0004834245.tif 000003
【図３】
0004834245.tif 000004
【図４】
0004834245.tif 000005