(57)【特許請求の範囲】
【請求項１】
コントローラと、前記コントローラとリモート入力／出力通信リンクとに通信可能に結合された第１のリモート入力／出力インタフェースと、前記リモート入力／出力通信リンクに通信可能に結合された第２のリモート入力／出力インタフェースと、前記第２のリモート入力／出力インタフェースに通信可能に結合された入力／出力装置とを有する分散プロセス制御システムで用いられる通信リンクを構成する方法であって、
前記コントローラと前記入力／出力装置との間の接続を指定するステップと、
前記コントローラと前記入力／出力装置との間の接続が前記リモート入力／出力通信リンクによる通信を要求していることを認識するステップと、
前記コントローラと前記入力／出力装置との間の接続に基づいて前記コントローラと前記リモート入力／出力通信リンクとの間において通信情報の経路を自動的に定める第１の通信オブジェクトを自動的に生成するステップと、
前記コントローラと前記入力／出力装置との間の接続に基づいて前記リモート入力／出力通信リンクと前記入力／出力装置との間において通信情報の経路を自動的に定める第２の通信オブジェクトを自動的に生成するステップとを有する
分散プロセス制御システムで用いられる通信リンクを構成する方法。
【請求項２】
前記第１の通信オブジェクトを自動的に生成するステップは、前記第１の通信オブジェクトが第１の信号プロトコルを有する通信情報を受け取り、該通信情報を第２の信号プロトコルに変換するように、前記第１の通信オブジェクトを自動的に生成するステップを有する請求項１記載の分散プロセス制御システムで用いられる通信リンクを構成する方法。
【請求項３】
前記第２の通信オブジェクトを自動的に生成するステップは、前記第２の通信オブジェクトが前記第２の信号プロトコルを有する通信情報を受け取り、該通信情報を前記第１の信号プロトコルに変換するように前記第２の通信オブジェクトを自動的に生成するステップを有する請求項２記載の分散プロセス制御システムで用いられる通信リンクを構成する方法。
【請求項４】
前記コントローラと前記入力／出力装置との間の接続を指定するステップは、前記コントローラと関連するプロセス制御ループと前記入力／出力装置との間の関係を指定するステップを有する請求項１記載の分散プロセス制御システムで用いられる通信リンクを構成する方法。
【請求項５】
前記コントローラと関連する前記プロセス制御ループと前記入力／出力装置との間の関係を指定するステップは、前記プロセス制御ループと関連する機能ブロックと前記入力／出力装置と関連する装置識別子との間の関係を指定するステップを有する請求項４記載の分散プロセス制御システムで用いられる通信リンクを構成する方法。
【請求項６】
前記入力／出力装置と関連する前記装置識別子は装置タグである請求項５記載の分散プロセス制御システムで用いられる通信リンクを構成する方法。
【請求項７】
前記コントローラと前記入力／出力装置との間の接続を指定するステップは、ユーザから入力を受け取るステップを有する請求項１記載の分散プロセス制御システムで用いられる通信リンクを構成する方法。
【請求項８】
前記ユーザから入力を受け取るステップは、グラフィカルユーザインターフェースを介してユーザから入力を受け取るステップを有する請求項７記載の分散プロセス制御システムで用いられる通信リンクを構成する方法。
【請求項９】
前記グラフィカルユーザインタフェースを介してユーザから入力を受け取るステップは、制御ループ図形と階層図形との間の関係を指定するステップを有する請求項８記載の分散プロセス制御システムで用いられる通信リンクを構成する方法。
【請求項１０】
前記制御ループ図形と前記階層図形との間の関係を指定するステップは、コンピュータポインティングデバイスを用いて前記制御ループ図形と前記階層図形との間の関係を指定するステップを有する請求項９記載の分散プロセス制御システムで用いられる通信リンクを構成する方法。
【請求項１１】
前記第１の通信オブジェクトを自動的に生成するステップは、前記第１のリモート入力／出力インタフェース内で前記第１の通信オブジェクトを自動的に生成するステップを有する請求項１記載の分散プロセス制御システムで用いられる通信リンクを構成する方法。
【請求項１２】
前記第２の通信オブジェクトを自動的に生成するステップは、前記第２のリモート入力／出力インタフェース内で前記第２の通信オブジェクトを自動的に生成するステップを有する請求項１記載の分散プロセス制御システムで用いられる通信リンクを構成する方法。
【請求項１３】
プロセッサを有するコントローラと、前記コントローラとリモート入力／出力通信リンクとに通信可能に結合された第１のリモート入力／出力インタフェースと、前記リモート入力／出力通信リンクに通信可能に結合された第２のリモート入力／出力インタフェースと、前記第２のリモート入力／出力インタフェースに通信可能に結合された入力／出力装置とを有するプロセス制御システムで用いられる通信リンクを構成するシステムであって、
コンピュータ読取り可能な媒体と、
第１の構成ルーチンであって、前記コンピュータ読取り可能な媒体上に記憶され、前記プロセッサにより実行されるように構成され、コマンドを認識して前記コントローラと前記入力／出力装置との間で通信リンクを形成する第１の構成ルーチンと、
第２の構成ルーチンであって、前記コンピュータ読取り可能な媒体上に記憶され、前記プロセッサにより実行されるように構成され、前記コントローラと前記入力／出力装置との間の通信リンクに基づいて、前記コントローラと前記リモート入力／出力通信リンクとの間において通信情報の経路を自動的に定めるように構成される第１の通信オブジェクトを自動的に生成する第２の構成ルーチンと、
第３の構成ルーチンであって、前記コンピュータ読取り可能な媒体上に記憶され、前記プロセッサにより実行されるように構成され、前記コントローラと前記入力／出力装置との間の通信リンクに基づいて、前記リモート入力／出力通信リンクと前記リモート入力／出力装置との間において通信情報の経路を自動的に定めるよう構成される第２の通信オブジェクトを自動的に生成する第３の構成ルーチンと
を備えるプロセス制御システムで用いられる通信リンクを構成するシステム。
【請求項１４】
前記第１の通信オブジェクトはさらに、第１の信号プロトコルを有する通信情報を受けとり、該通信情報を第２の信号プロトコルに変換するように構成される請求項１３記載のプロセス制御システムで用いられる通信リンクを構成するシステム。
【請求項１５】
前記第２の通信オブジェクトはさらに、前記第２の信号プロトコルを有する通信情報を受け取り、該通信情報を前記第１の信号プロトコルに変換するように構成される請求項１４記載のプロセス制御システムで用いられる通信リンクを構成するシステム。
【請求項１６】
前記第２の構成ルーチンはさらに、前記第１のリモート入力／出力インターフェース内で前記第１の通信オブジェクトを生成するように構成される請求項１３記載のプロセス制御システムで用いられる通信リンクを構成するシステム。
【請求項１７】
前記第３の構成ルーチンはさらに、前記第２のリモート入力／出力インターフェース内で前記第２の通信オブジェクトを生成するように構成される請求項１３記載のプロセス制御システムで用いられる通信リンクを構成するシステム。
【請求項１８】
前記第１の構成ルーチンはさらに、前記コマンドを含む制御戦略情報を前記コントローラ内に受け取り、前記コントローラと前記入力／出力装置との間で前記通信リンクを形成するように構成される請求項１３記載のプロセス制御システムで用いられる通信リンクを構成するシステム。
【請求項１９】
前記コントローラに通信可能に結合されるユーザインタフェースと、
第４のルーチンであって、前記コンピュータ読取り可能な媒体上に記憶され、前記ユーザインタフェースにより実行されるように構成され、ユーザに、プロセス制御図形と階層図形とを有するグラフィカルユーザインタフェースを与える第４のルーチンと、
第５のルーチンであって、前記コンピュータ読取り可能な媒体上に記憶され、前記ユーザインタフェースにより実行されるように構成され、前記グラフィカルユーザインタフェースを介してユーザから入力を受け取る第５のルーチンと、
第６のルーチンであって、前記コンピュータ読取り可能な媒体上に記憶され、前記ユーザインタフェースにより実行されるように構成され、前記ユーザからの入力に基づいて前記プロセス制御図形と前記階層図形との間の接続を形成する第６のルーチンと、
第７のルーチンであって、前記コンピュータ読取り可能な媒体上に記憶され、前記ユーザインタフェースにより実行されるように構成され、前記コマンドを生成して前記プロセス制御図形と前記階層図形との間の接続に基づいて前記コントローラと前記入力／出力装置との間の通信リンクを形成する第７のルーチンとをさらに備える
請求項１３記載のプロセス制御システムで用いられる通信リンクを構成するシステム。
【請求項２０】
ユーザインタフェースと、前記ユーザインタフェースに結合されたコントローラと、前記コントローラとリモート入力／出力通信リンクとに通信可能に結合された第１のリモート入力／出力インタフェースと、前記リモート入力／出力通信リンクに通信可能に結合された第２のリモート入力／出力インタフェースと、前記第２のリモート入力／出力インタフェースに通信可能に結合された入力／出力装置とを有するプロセス制御システムで用いられる通信リンクを構成する方法であって、
前記コントローラと前記入力／出力装置との間の接続を前記ユーザインタフェース内で指定するステップと、
前記コントローラと前記入力／出力装置との間の接続に基づいて、前記第１のリモート入力／出力インタフェースに前記コントローラと前記リモート入力／出力通信リンクとの間において通信情報の経路を自動的に定めさせるように構成される第１の通信オブジェクトを自動的に生成するステップと、
前記コントローラと前記入力／出力装置との間の接続に基づいて、前記第２のリモート入力／出力インタフェースに前記リモート入力／出力通信リンクと前記入力／出力装置との間において通信情報の経路を自動的に定めさせるように構成される第２の通信オブジェクトを自動的に生成するステップとを有する
プロセス制御システムで用いられる通信リンクを構成する方法。
【請求項２１】
前記第１の通信オブジェクトを自動的に生成するステップは、前記第１の通信オブジェクトが第１の信号プロトコルを有する通信情報を受け取り、該通信情報を第２の信号プロトコルに変換するように前記第１の通信オブジェクトを自動的に生成するステップを有する請求項２０記載のプロセス制御システムで用いられる通信リンクを構成する方法。
【請求項２２】
前記第２の通信オブジェクトを自動的に生成するステップは、前記第２の通信オブジェクトが前記第２の信号プロトコルを有する通信情報を受け取り、該通信情報を前記第１の信号プロトコルに変換するように前記第２の通信オブジェクトを自動的に生成するステップを有する請求項２１記載のプロセス制御システムで用いられる通信リンクを構成する方法。
【請求項２３】
前記コントローラと前記入力／出力装置との間の接続を指定するステップは、前記コントローラと関連するプロセス制御ループと前記入力／出力装置との間の関係を指定するステップを有する請求項１記載の分散プロセス制御システムで用いられる通信リンクを構成する方法。
【請求項２４】
前記コントローラと関連する前記プロセス制御ループと前記入力／出力装置との間の関係を指定するステップは、前記制御ループと関連する機能ブロックと前記入力／出力装置と関連する装置識別子との間の関係を指定するステップを有する請求項２３記載の分散プロセス制御システムで用いられる通信リンクを構成する方法。
【請求項２５】
前記入力／出力装置と関連する前記装置識別子は装置タグである請求項２４記載の分散プロセス制御システムで用いられる通信リンクを構成する方法。
【請求項２６】
リモートデータバスに通信可能に結合された入力／出力装置を有するプロセス制御システムで用いられるリモート入力／出力通信リンクを構成するシステムであって、
前記コントローラと前記入力／出力装置との間の接続の要求に応答して第１および第２の通信オブジェクトを自動的にダウンロードするコントローラと、
第１のリモート入力／出力インタフェースであって、前記コントローラと前記リモート入力／出力通信リンクとに通信可能に結合され、前記第１の通信オブジェクトを用いて前記コントローラと前記リモート入力／出力通信リンクとの間において通信情報の経路を自動的に定める第１のリモート入力／出力インタフェースと、
第２のリモート入力／出力インタフェースであって、前記リモート入力／出力通信リンクと前記リモートデータバスとに通信可能に結合され、前記第２の通信オブジェクトを用いて前記リモート入力／出力通信リンクと前記入力／出力装置との間において通信情報の経路を自動的に定める第２のリモート入力／出力インタフェースと
を備えるプロセス制御システムで用いられるリモート入力／出力通信リンクを構成するシステム。
【請求項２７】
前記第１の通信オブジェクトは、第１の信号プロトコルを有する通信情報を受け取り、該通信情報を第２の信号プロトコルに変換する請求項２６記載のプロセス制御システムで用いられるリモート入力／出力通信リンクを構成するシステム。
【請求項２８】
前記第２の通信オブジェクトは、前記第２の信号プロトコルを有する通信情報を受け取り、該通信情報を前記第１の信号プロトコルに変換する請求項２７記載のプロセス制御システムで用いられるリモート入力／出力通信リンクを構成するシステム。
【請求項２９】
前記コントローラと前記入力／出力装置との間の接続は、前記コントローラと関連するプロセス制御ループと前記入力／出力装置との間の関係に基づいている請求項２６記載のプロセス制御システムで用いられるリモート入力／出力通信リンクを構成するシステム。
【請求項３０】
前記コントローラと関連する前記プロセス制御ループと前記入力／出力装置との間の関係は、前記プロセス制御ループと関連する機能ブロックと前記入力／出力装置と関連する装置識別子との間の関係に基づいている請求項２９記載のプロセス制御システムで用いられるリモート入力／出力通信リンクを構成するシステム。
【請求項３１】
前記入力／出力装置と関連する前記装置識別子は装置タグである請求項３０記載のプロセス制御システムで用いられるリモート入力／出力通信リンクを構成するシステム。
【請求項３２】
前記コントローラと前記入力／出力装置との間の接続の要求はユーザからの入力に基づいている請求項２６記載のプロセス制御システムで用いられるリモート入力／出力通信リンクを構成するシステム。
【請求項３３】
前記ユーザからの前記入力はグラフィカルユーザインタフェースを介して受け取られる請求項３２記載のプロセス制御システムで用いられるリモート入力／出力通信リンクを構成するシステム。
【請求項３４】
前記グラフィカルユーザインタフェースを介して受け取られた前記ユーザからの前記入力は、制御ループ図形と階層図形との間の関係に基づいている請求項３３記載のプロセス制御システムで用いられるリモート入力／出力通信リンクを構成するシステム。
【請求項３５】
前記制御ループ図形と前記階層図形との間の関係は、コンピュータポインティングデバイスを用いて指定される請求項３４記載のプロセス制御システムで用いられるリモート入力／出力通信リンクを構成するシステム。
【請求項３６】
コントローラと、前記コントローラとリモート入力／出力通信リンクとに通信可能に結合された第１のリモート入力／出力インタフェースと、前記リモート入力／出力通信リンクに通信可能に結合された第２のリモート入力／出力インタフェースと、リモートデータバスを介して前記第２のリモート入力／出力インタフェースに通信可能に結合された入力／出力装置とを有する分散プロセス制御システムで用いられる通信リンクを構成する方法であって、
前記第２のリモート入力／出力インタフェースと関連する前記リモートデータバスを自動的にポーリングして前記入力／出力装置の存在を検出するステップと、
前記第２のリモート入力／出力インタフェースにおいて前記入力／出力装置と関連する装置情報を受け取るステップと、
前記第２のリモート入力／出力インタフェースから前記リモート入力／出力通信リンクによって前記第１のリモート入力／出力インタフェースに、前記入力／出力装置と関連する前記装置情報を自動的に送るステップと
を有する分散プロセス制御システムで用いられる通信リンクを構成する方法。
【請求項３７】
前記第１のリモート入力／出力インタフェースから前記コントローラに前記入力／出力装置と関連する前記装置情報を自動的に送るステップをさらに有する請求項３６記載の分散プロセス制御システムで用いられる通信リンクを構成する方法。
【請求項３８】
前記コントローラからコマンドを送り、前記リモートデータバスのポーリングを開始するとともに、前記第２のリモート入力／出力インタフェースにおいて前記コントローラからの前記コマンドを受け取るステップをさらに有する請求項３６記載の分散プロセス制御システムで用いられる通信リンクを構成する方法。
【請求項３９】
コントローラと、リモート入力／出力通信リンクと、リモートデータバスに通信可能に結合された入力／出力装置とを有するプロセス制御システムで用いられる通信リンクを構成するシステムであって、
第１のリモート入力／出力インタフェースであって、前記コントローラと前記リモート入力／出力通信リンクとに通信可能に結合され、第１の自動検出ルーチンを含む第１のリモート入力／出力インタフェースと、
第２のリモート入力／出力インタフェースであって、前記リモート入力／出力通信リンクと前記リモートデータバスとに通信可能に結合され、第２の自動検出ルーチンを含む第２のリモート入力／出力インタフェースとを備え、
前記第１の自動検出ルーチンは、第１のコマンドを受け取り前記リモートデータバスのポーリングを開始し、前記リモート入力／出力通信リンクにより第２のコマンドを送り、前記リモートデータバスのポーリングを開始し、
前記第２の自動検出ルーチンは、前記第２のコマンドを受け取り前記リモートデータバスのポーリングを開始し、前記リモートデータバスをポーリングして前記入力／出力装置の存在を検出し、
前記第２の自動検出ルーチンは、前記入力／出力装置の存在を検出すると、前記入力／出力装置と関連する装置情報を受け取り、前記リモート入力／出力通信リンクにより前記第１のリモート入力／出力インタフェースに、前記入力／出力装置と関連する前記装置情報を送る
プロセス制御システムで用いられる通信リンクを構成するシステム。
【請求項４０】
前記第１の自動検出ルーチンは、前記装置情報を前記コントローラに自動的に送る請求項３９記載のプロセス制御システムで用いられる通信リンクを構成するシステム。
【請求項４１】
コントローラと、前記コントローラとリモート入力／出力通信リンクとに通信可能に結合された第１のリモート入力／出力インタフェースと、前記リモート入力／出力通信リンクに通信可能に結合された第２のリモート入力／出力インタフェースと、第２のリモート入力／出力インタフェースに通信可能に結合された入力／出力装置とを有するプロセス制御システムで用いられる通信リンクを構成するシステムであって、
第１および第２のコンピュータ読取り可能な媒体と、
第１のルーチンであって、前記第１のコンピュータ読み取り可能な媒体上に記憶され、前記第１のリモート入力／出力インタフェースに実行されるように構成され、第１のコマンドを受け取り前記リモートデータバスのポーリングを開始し、前記リモート入力／出力通信リンクにより第２のコマンドを送って前記リモートデータバスのポーリングを開始する第１のルーチンと、
第２のルーチンであって、前記第２のコンピュータ読取り可能な媒体上に記憶され、前記第２のリモート入力／出力通信インタフェースにより実行されるように構成され、前記第２のコマンドを受け取り前記リモートデータバスのポーリングを開始し、前記リモートデータバスをポーリングして前記入力／出力装置の存在を検出する第２のルーチンと、
第３のルーチンであって、前記第２のコンピュータ読取り可能な媒体上に記憶され、前記第２のリモート入力／出力通信インタフェースにより実行されるように構成され、前記入力／出力装置の存在を検出すると前記入力／出力装置と関連する装置情報を受け取り、前記リモート入力／出力通信リンクにより前記第１のリモート入力／出力インタフェースに前記入力／出力装置と関連する前記装置情報を送る第３のルーチンと、
第４のルーチンであって、前記第１のコンピュータ読み取り可能な媒体上に記憶され、前記第１のリモート入力／出力通信インタフェースにより実行されるように構成され、前記入力／出力装置と関連する前記装置情報を受け取り該装置情報を前記コントローラに送る第４のルーチンと
を備えるプロセス制御システムで用いられる通信リンクを構成するシステム。
【請求項４２】
前記第１および第２のコンピュータ読み取り可能な媒体は、共通の装置内に位置づけされる請求項４１記載のプロセス制御システムで用いられる通信リンクを構成するシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一般に、プロセス制御システムに関し、より特定的には、プロセス制御システムにおいてリモート入力／出力（Ｉ／Ｏ）通信リンクを自動的に構成するシステムおよび方法に関する。
【０００２】
【従来の技術および発明が解決すべき課題】
現代のプロセス制御システムは典型的には、マイクロプロセッサベースの分散制御システム（ＤＣＳ）である。従来のＤＣＳ構成は、データバス（例えばイーサネット）によりひとつ以上のコントローラに接続されたワークステーションのようなひとつ以上のユーザインタフェース装置を含む。コントローラは一般的には、制御されたプロセスに物理的に近接しており、プロセス中に位置する電子センサ、送信器、電流対圧力トランスジューサ、弁ポジショナなどのような多数の電子監視装置およびフィールド装置と通信を行う。
【０００３】
従来のＤＣＳにおいては、制御タスクは、コントローラの各々の内部において制御アルゴリズムを与えることにより分散されている。これらのコントローラは、独立して制御アルゴリズムを実行することにより、コントローラに結合されたフィールド装置を制御する。このように制御タスクを分散化（非集中化）することで、全体的にシステムの柔軟性が一層高まる。例えば、ユーザが新たなプロセスまたはプロセスの一部をＤＣＳに加えたい場合、ユーザは、適切なセンサ、アクチュエータなどに接続されたコントローラ（適切な制御アルゴリズムを有する）をさらに加えることができる。代替的には、ユーザが既存のプロセスを修正したい場合、新たな制御パラメータまたは制御アルゴリズムが、例えば、データバスを介してユーザインタフェースから適切なコントローラにダウンロードされてもよい。
【０００４】
モジュール性および製造者（メーカ）間の適合性を向上させるため、最近では、プロセス制御製造者は、プロセス内の制御をさらに分散化する方向に向かっている。この最近のアプローチは、ＨＡＲＴ（商標）、ＰＲＯＦＩＢＵＳ（商標）、ＷＯＲＤＦＩＰ（商標）、Ｄｅｖｉｃｅ−Ｎｅｔ（商標）、ＣＡＮ、およびＦＩＥＬＤＢＵＳ（商標）プロトコルのようなオープンプロトコルを用いて通信を行う「スマート（賢い）」フィールド装置に基づいている。これらのスマートフィールド装置は本質的には、センサ、アクチュエータなどのようなマイクロプロセッサベースの装置であり、場合によっては、Fieldbus装置のような、ＤＣＳコントローラが従来は実行していた制御ループ機能も実行するマイクロプロセッサベースの装置である。スマートフィールド装置の中には制御ケイパビリティを与えるとともにオープンプロトコルを用いて通信を行うものもあるので、種々の製造者に製造されたフィールド装置は、共通のディジタルデータバス上で互いと通信を行うことができるとともに、従来のＤＣＳコントローラが介在しなくても制御ループを実行するように協同動作することができる。
【０００５】
従来のプロセス制御システムにおいては、フィールド装置は、コントローラに直接接続されてもよいし、または、データバスを介してコントローラに通信可能に結合されたひとつ以上のＩ／Ｏ装置に接続されてもよい。一般的に、これらのＩ／Ｏ装置は、フィールド装置が与えるアナログおよび／またはディジタル情報を処理し、処理された情報を、制御信号、装置情報などを含むディジタルメッセージとして、コントローラデータバスによってコントローラに送る。さらに、コントローラは、コントローラデータバスによって、Ｉ／Ｏ装置に、構成情報、コマンドなどを含むディジタルメッセージを送ることができる。コントローラによりＩ／Ｏ装置に送られたディジタルメッセージは、Ｉ／Ｏ装置がフィールド装置から受信した信号を処理する方法を変更するのに用いられてもよいし、および／またはフィールド装置に信号を送るのに用いられてもよい。従来のＩ／Ｏ装置は、標準的なフィールド装置へおよびそこから、４−２０ｍＡ、０−１０ＶＤＣ、乾接点閉鎖（dry contact closure）などのようなアナログ信号およびディジタル信号を送受信する。しかしながら、最近では、上で述べたFieldbus装置のようなスマートフィールド装置のネットワークがコントローラデータバスを介してディジタルメッセージを用いてコントローラと通信を行うことが出来るようなリンキングＩ／Ｏ装置またはブリッジＩ／Ｏ装置が利用可能となった。
【０００６】
実務上、Ｉ／Ｏ装置は典型的には、それらが接続されるフィールド装置に物理的に近接して位置し、電源およびコントローラデータバスに対するそれらの接続を容易にする共通の装着路上に常駐していてよい。このように、フィールド装置のいくつかがプロセス制御システムの所在地から物理的に離れているアプリケーションにおいては、遠隔的に位置したフィールド装置にＩ／Ｏ装置のいくつかが近接するようにこれらのＩ／Ｏ装置を位置付けることが望ましくなる。しかしながら、単にコントローラデータバスを拡張して、遠隔的に位置したＩ／Ｏ装置すなわちリモート（遠隔）Ｉ／Ｏ装置と接続するのは非常に困難である。なぜなら、コントローラデータバスは典型的には、リモートＩ／Ｏ装置に対して必要な距離にわたって確実に通信をおこなうのに適していないからである。
【０００７】
種々の周知の通信媒体（例えば、ワイヤレス、光ファイバ、同軸ケーブルなど）および通信プロトコル（例えば高速イーサネット）が長距離通信に利用可能であり、一般的に、リモートＩ／Ｏ装置とコントローラとの間で信頼性のあるリモート通信リンクを与えることができる。リモート通信を達成するこれらの公知技術により、コントローラはリモートＩ／Ｏ装置（およびリモートＩ／Ｏ装置と関連するフィールド装置）と通信を行うことができるが、その技術では、プロセス制御システム内でリモートＩ／Ｏ装置を継ぎ目なく統合することはできない。例えば、コントローラデータバスとリモートＩ／Ｏ装置への通信リンクとは典型的には、異なる媒体および／または異なる通信プロトコルを用いるので、コントローラは、ユーザが集中的に手操作で統合しなければならないリモートＩ／Ｏインタフェース装置を介してリモートＩ／Ｏ装置と通信を行ってもよい。
【０００８】
リモートＩ／Ｏインタフェースの統合には、ユーザがリモートＩ／Ｏ通信リンクを介してコントローラとリモートＩ／Ｏ装置との間において情報の経路を定めるための複雑な通信リンクを手操作で規定し例示化しなければならない装置ごとの構成が含まれるだろう。その結果、システムユーザは、ローカルＩ／Ｏ装置に関連する特定の通信構成属性を熟知していなければならないし、また、さらに、ローカルＩ／Ｏ装置の通信構成属性とは非常に異なるリモートＩ／Ｏインタフェース装置の特定の通信構成属性にも熟知していなければならない。リモートＩ／Ｏ装置を集中的に手操作で統合することは望ましくない。なぜなら、ユーザが、リモートＩ／Ｏ装置をローカルコントローラの制御ループ内に組み込もうとするとき、システムの「ルック・アンド・フィール」は矛盾しているからである。例えば、ユーザは、グラフィカルインタフェースによって、装置を表すアイコンを関係づけることにより、ある制御ループにおけるローカルＩ／Ｏ装置間の接続を(例えばマウスまたは何らかの他の従来のコンピュータベースの位置決め装置を用いて)確立することができるが、グラフィカルインタフェースを用いると、ユーザは、例えば、ユーザインタフェースに接続されたキーボードを介して一連の文字コマンドを入力することなどのような完全に異なる方法を用いて、リモートＩ／Ｏ装置に対する制御ループ接続を規定しなければならないだろう。
【０００９】
【問題を解決するための手段】
本明細書で述べるシステムおよび方法は、プロセス制御システム内で遠隔的に位置するＩ／Ｏ装置を継ぎ目なく統合できる。一般的にいって、このシステムおよび方法は、リモートＩ／Ｏ通信リンクによるリモートＩ／Ｏ装置との通信活動全て(例えば、構成、実行時間報告、ユーザインタフェースを介した情報のユーザ要求など)がユーザインタフェースのユーザの視点と、リモートＩ／Ｏ通信リンクにより通信を行っているコントローラとからは透過的（トランスペアレント）であるように、リモートＩ／Ｏ通信リンクの各端部でリモートＩ／Ｏインタフェース装置を自動的に構成する。
【００１０】
より特定的には、このシステムおよび方法は、リモートＩ／Ｏ通信リンクのそれぞれの端部に位置する一対のリモートＩ／Ｏインタフェース装置内で通信オブジェクトを自動的に確立する。特に、コントローラに接続されたリモートＩ／Ｏインタフェース内にローカル通信オブジェクトが確立され、リモートＩ／Ｏ装置に接続されたリモートＩ／Ｏインタフェース内にリモート通信オブジェクトが確立される。通信オブジェクトは、リモートＩ／Ｏ通信リンクを介してコントローラとリモートＩ／Ｏ装置との間において通信情報の経路指定（ルーティング）を可能化する通信リンクを与える。
【００１１】
本明細書で述べられるシステムおよび方法のある特定の興味有る態様として、ユーザは、その基礎にある（underlying）通信技術を理解したり、気づいたりする必要もなく、例えば、ユーザインタフェース上で実行されているグラフィカルインタフェースを介してシステムレベルで対話することにより、ひとつ以上の通信技術(即ち媒体および／またはプロトコル)を用いて通信を行っているローカルＩ／Ｏ装置およびリモートＩ／Ｏ装置の組み合わせと関連して、制御ループを構成したり、プロセスパラメータを監視したりすることができる。言いかえると、このシステムおよび方法は、あるリモートＩ／Ｏ装置に対する制御ループ接続を要求するユーザに応答して、リモートＩ／Ｏインタフェース装置内で適切な通信オブジェクト（例えばローカル通信オブジェクトおよびリモート通信オブジェクト）を自動的に生成して例示化することにより、ユーザをその基礎にあるリモートＩ／Ｏ通信技術の実行詳細から隔離する。ある実施の形態においては、このシステムおよび方法は、リモート通信Ｉ／Ｏリンクを介した通信を要求しているあるリモートＩ／Ｏ装置との通信を（例えば制御ループ接続を介して）ユーザが要求したことを自動的に認識し、これらのリモート通信を可能化して実行するために通信オブジェクトを作成し、ユーザが指定した通信を与えるべく、構成の間に適切なＩ／Ｏ装置内においてこれらの通信オブジェクトをロードする。その結果、ユーザは、グラフィカルインタフェースの使い方、例えば、制御システムとの対話方法を理解するだけでよく、システムとのユーザの対話は、ユーザがリモートＩ／Ｏ装置に対する接続を指定しようとローカルＩ／Ｏ装置に対する接続を指定しようと、また、リモートＩ／Ｏ通信を達成するのに用いられているその基礎にある通信技術と無関係に、一貫性のあるルック・アンド・フィールを有する。
【００１２】
本発明のある態様によれば、コントローラと、コントローラとリモートＩ／Ｏ通信リンクとに通信可能に結合された第１のリモートＩ／Ｏインタフェースと、リモートＩ／Ｏ通信リンクに通信可能に結合された第２のリモートＩ／Ｏインタフェースと、第２のリモートＩ／Ｏインタフェースに通信可能に結合されたＩ／Ｏ装置とを有する分散プロセス制御システムで用いられる通信リンクを構成する方法は、コントローラとＩ／Ｏ装置との間の接続を指定する。この方法は、リモート接続がリモートＩ／Ｏ通信リンクによる通信を要求していることを認識し、コントローラとリモートＩ／Ｏ通信リンクとの間において通信情報の経路を自動的に定める第１の通信オブジェクトを自動的に生成してもよいし、リモートＩ／Ｏ通信リンクとＩ／Ｏ装置との間において通信情報の経路を自動的に定める第２の通信オブジェクトを自動的に生成してもよい。
【００１３】
この方法はさらに、第１の通信オブジェクトが、第１の信号プロトコルを有する通信情報を受け取り、この通信情報を第２の信号プロトコルを用いて送られるように変換するために第１の通信オブジェクトを自動的に生成してもよいし、第２の通信オブジェクトが、第２の信号プロトコルを有する通信情報を受け取り、この通信情報を第１の信号プロトコルを用いて送られるように変換するために第２の通信オブジェクトを生成してもよい。
【００１４】
【発明の実施の形態】
リモート入力／出力（Ｉ／Ｏ）通信リンクを自動的に構成し、リモートＩ／Ｏ通信リンクによって遠隔的に位置する入力／出力（Ｉ／Ｏ）装置と通信を実行するシステムおよび方法を特定のプロセス制御システムと関連して詳細に説明するが、本明細書で説明するシステムおよび方法は、ワイヤレス／スプレッドスペクトル、光ファイバなどのような種々の通信媒体のいづれかと、フィールドバス(Fieldbus)、ＡＳ-インターフェース(AS-Interface)、プロファイバス(Profibus)、デバイス-ネット(Device―Net)などのような通信プロトコルとを用いるリモートＩ／Ｏ通信リンクを有する種々のプロセス制御システム内で有利に用いることができることを理解されたい。
【００１５】
図１は、リモートＩ／Ｏ通信リンク１８を介してリモートＩ／Ｏ装置１４、１６に通信可能に結合されたコントローラ１２を有するプロセス制御システム１０を示す模式的なブロック図である。制御システム１０はユーザインタフェース２０を含み、これは、システムレベルデータバス２２を介してコントローラ１２に通信ネットワーク内で接続されたワークステーションであってもよい。システムレベルデータバス２２は、標準的なイーサネットデータバスであってもよいし、データの伝送に適した他のデータバスであってもよい。コントローラ１２は、ＤＣＳコントローラであってよく、システムレベルデータバス２２を介して、プロプラエタリ（所有権を主張できる）通信プロトコルを用いてまたは他の好適な方法でユーザインタフェース２０と通信してもよい。例えば、コントローラ１２は、ユーザインタフェース２０に警報情報および状態情報を送ってよく、さらに、システムレベルデータバス２２を介してユーザインタフェース２０からユーザコマンド／要求を受け取ってもよい。コントローラ１２はさらに、何らかの従来の態様でまたは他の所望の態様でコントローラ１２に接続されたフィールド装置を制御するのに用いられる制御アルゴリズムを含んでもよい。
【００１６】
例えば、コントローラ１２は、プロプラエタリ信号プロトコルを典型的には用いるコントローラデータバス２８を介してＩ／Ｏ装置２４、２６と通信を行っている。Ｉ／Ｏ装置２４は、非プロプラエタリ（所有権を主張しない）プロトコルデータバス３４を介して、互いに通信可能に結合されるとともにＩ／Ｏ装置２４に通信可能に結合されたスマートフィールド装置３０、３２への通信ブリッジまたはリンキング装置として機能してもよい。スマートフィールド装置３０、３２は、例えば、フィールドバス(Fieldbus)装置であってよく、したがって、非プロプラエタリプロトコルデータバス３４はフィールドバス(Fieldbus)信号プロトコルを用いてよい。周知であるが、スマートフィールド装置３０、３２は、コントローラ１２と関連してまたはコントローラ１２から独立してひとつ以上のプロセス制御ループを実行させるように構成されてもよい。しかしながら、本発明の範囲から逸脱することなく他の種類の装置およびプロトコルを用いることができる。対照的に、Ｉ／Ｏ装置２６は、ワイヤ３６、３８を介してそれぞれの従来のフィールド装置４０、４２と通信を行うアナログ入力（ＡＩ）カード、アナログ出力（ＡＯ）カードなどのような標準的なＩ／Ｏ装置であってもよい。
【００１７】
コントローラ１２は、コントローラ１２がリモート通信リンク１８を介してリモートＩ／Ｏ装置１４、１６と透過的に（トランスペアレントに）通信を行えるようにするリモートＩ／Ｏホストインタフェース４４とも通信を行っている。具体的には、リモートＩ／Ｏインタフェース４４は、適切なプロプラエタリ信号プロトコルを用いてコントローラデータバス２８によりコントローラ１２と通信し、コントローラデータバス２８のプロプラエタリ信号プロトコルとは典型的には異なる従来のリモート通信信号プロトコル（例えば高速イーサネット）を用いて、リモート通信リンク１８によってリモート通信インタフェース４６へ情報を送り、またはそこから情報を受け取る。同様に、リモート通信インタフェース４６は、従来のリモート通信信号プロトコルを用いてリモートＩ／Ｏ通信リンク１８によって信号を送受信するとともに、プロプラエタリ信号プロトコルを用いてもよいリモートデータバス４８を介してリモートＩ／Ｏ装置１４、１６とインターフェース４６との間においてこれらの信号の経路を定める。事実、このプロプラエタリ信号プロトコルは、コントローラデータバス２８上で用いられる信号プロトコルと同じプロトコルであってもよい。
【００１８】
特に、リモートＩ／Ｏホストインタフェース４４は、コントローラデータバス２８上で用いられるプロプラエタリ信号プロトコルを用いるコントローラデータバス２８によりコントローラ１２と通信し、通信オブジェクト（以下に詳細に説明する）を用いてその通信情報を処理して（すなわち変換し）、従来のリモート信号通信プロトコルを用いて、リモートＩ／Ｏ通信リンク１８によって、処理された通信情報を送る。同様に、リモートＩ／Ｏ通信インタフェース４６は、リモートＩ／Ｏ通信リンク１８上で通信オブジェクトを用いて通信情報を変換し、コントローラデータバス２８上で用いられる同じプロプラエタリ信号プロトコルを用いてリモートデータバス４８により通信情報を送る。このように、リモートＩ／Ｏ通信インタフェース４４、４６（通信オブジェクトと共に）は、例えば、リモートＩ／Ｏ装置１４、１６のうちのひとつの装置とリンク１８によって通信を行っているコントローラ１２にはリモートＩ／Ｏ通信リンク１８上で用いられている信号プロトコルが透過的であるように、リモートＩ／Ｏ通信リンク１８のそれぞれの端部で信号プロトコル変換／逆変換を行う。事実、コントローラ１２は、まるでＩ／Ｏ装置１４、１６がちょうどコントローラデータバス２８上で通信を行っているかのごとく、Ｉ／Ｏ装置１４、１６のうちのひとつ以上と通信を行うことができる。さらに、リモート通信インタフェース４６およびリモートＩ／Ｏ装置１４、１６は、リモート通信インタフェース４６およびリモートＩ／Ｏ装置１４、１６の機械的装着を容易にするとともに、リモート通信インタフェース４６とフィールド装置５２−５８とに対するＩ／Ｏ装置１４、１６の電気的接続を容易にするリモートＩ／Ｏキャリア５０内で装着されてもよい。
【００１９】
図２は、図１のコントローラ１２とリモートＩ／Ｏ装置１４、１６との間で透過的な通信を可能化するローカル通信オブジェクト７０およびリモート通信オブジェクト７２の一例を示すブロック図である。一般に、通信オブジェクト７０、７２は、リモートＩ／Ｏ通信リンク１８を介してリモートＩ／Ｏ装置１４、１６とコントローラ１２との間で情報を伝送するのに必要な通信リンクを与えるように協動する。具体的には、ローカル通信オブジェクト７０により、コントローラデータバス２８とリモートＩ／Ｏ通信リンク１８との間で情報は伝送できるようになり、リモート通信オブジェクト７２により、リモートＩ／Ｏ通信インターフェース４６はリモート通信リンク１８とリモートデータバス４８との間で情報を伝送できるようなる。例えば、コントローラ１２は、コントローラデータバス２８を介してリモートＩ／Ｏホストインタフェース４４に制御情報を周期的に公開するように構成されてよく、リモートＩ／Ｏホストインタフェース４４は、ローカル通信オブジェクト７０を用いて、リモートＩ／Ｏ通信リンク１８によりリモートＩ／Ｏ通信インタフェース４６にまでこの制御情報を送る。ついでリモートＩ／Ｏ通信インタフェース４６はリモート通信オブジェクト７２を用いて、リモートデータバス４８を介してＩ／Ｏ装置１４、１６のうちの適切な装置に対し周期的に制御情報を公開するように構成されてもよい。同様に、コントローラ１２は、リモートＩ／Ｏ装置１４、１６のうちのひとつの装置により与えられる制御情報を予約するように構成されていてよく、その場合、リモートＩ／Ｏ通信インタフェース４６は、リモートデータバス４８を介して、リモートＩ／Ｏ装置１４、１６のうちのひとつの装置からコントローラ１２が必要とする制御情報を周期的に検索するように構成される。リモートＩ／Ｏ通信インタフェース４６はついでリモート通信オブジェクト７２を用いて、リモート通信リンク１８によりリモートＩ／Ｏホストインタフェース４４に制御情報を送ってもよい。リモートＩ／Ｏ通信リンク１８から制御情報を受け取ると、リモートＩ／Ｏインタフェース４４はローカル通信オブジェクト７０を用いて、コントローラデータバス２８を介してコントローラ１２に制御情報を周期的に公開する。
【００２０】
一般に知られているように、通信オブジェクト７０、７２のような通信オブジェクトは、ディジタルメッセージの形で情報を受け取り、これらのディジタルメッセージを、メッセージ内に指定されたアドレスまたは経路に基づいた宛先に送る。例えば、ローカル通信オブジェクト７０は、リモートＩ／Ｏ通信リンク１８によってリモートＩ／Ｏ通信インタフェース４６を介してＩ／Ｏ装置１４まで、ルーティングまたは通信経路を完全に指定するアドレスを含むメッセージを受け取ってもよい。このように、リモートＩ／Ｏホストインタフェース４４がローカル通信オブジェクト７０を用いてこのメッセージを受け取り、処理する場合、リモートＩ／Ｏホストインタフェース４４は、メッセージ内に指定されたアドレスのある部分が、このメッセージがリモートＩ／Ｏ通信インタフェース４６に伝送されるべきであると示していることを認識し、ついでリモートＩ／Ｏ通信リンク１８によってリモートＩ／Ｏ通信インタフェース４６にこのメッセージを伝送する。リモートＩ／Ｏ通信インタフェース４６はこのメッセージを受け取り、リモート通信オブジェクト７２を用いて、指定されたアドレスの別の部分がこのメッセージがＩ／Ｏ装置１４に対し公開されるべきであると示していると決定する。
ついで、リモートＩ／Ｏ通信インタフェース４６は、リモートＩ／Ｏ装置１４により受け取られるように、リモートデータバス４８上でこのメッセージを公開する。
【００２１】
コントローラ１２は、例えば、リモートＩ／Ｏ装置１４、１６のうちのひとつ以上に対する制御ループ接続を（ユーザインタフェースにより）指定するユーザに応答して、通信オブジェクト７０、７２を自動的に作成するリモートＩ／Ｏ構成ルーチン７４も含んでもよい。リモートＩ／Ｏ構成ルーチン７４は通信オブジェクト７０、７２を自動的に作成するので、ユーザは、リモートＩ／Ｏ通信リンク１８と関連する特定の通信属性を理解する必要はない。そのかわりに、ユーザは、リモートＩ／Ｏ装置１４、１６のうちのひとつに対する制御ループ接続を指定しさえすればよく、リモートＩ／Ｏ構成ルーチン７４は、ユーザが指定した接続にはリモートＩ／Ｏ通信リンク１８による通信が必要であると自動的に認識し、それぞれのリモートＩ／Ｏインタフェース４４、４６において適切な通信オブジェクト７０、７２を自動的にセットアップする。リモートＩ／Ｏ装置１４、１６のうちのひとつに対する制御ループ接続を指定するユーザのコンテキスト内で通信オブジェクト７０、７２の自動生成を述べてきたが、通信オブジェクト７０、７２は、例えば、ユーザインタフェース２０を介してリモートＩ／Ｏ装置１４、１６のうちのひとつの装置が与えた情報を要求するユーザに応答して、実行時間において同様に生成されてよい。
【００２２】
特に、コントローラ１２は、アナログ入力（ＡＩ）ブロック７８と、比例・積分・微分（ＰＩＤ）ブロック８０と、アナログ出力（ＡＯ）ブロック８２とを有する制御ループ７６を実行してよく、これらのブロックは、例えば、フィールドバス(Fieldbus)タイプの機能ブロックであってよい。図示されるように、ＡＩブロック７８はＰＩＤブロック８０に出力８４を与え、ＰＩＤブロック８０はＡＯブロック８２に出力８６を与え、ＡＯブロック８２はＰＩＤブロック８０にフィードバック信号８８を与える。例えば、もし、ＡＩブロック７８がＩ／Ｏ装置１４からその入力を受けとろうとする場合、構成ルーチン７４は、Ｉ／Ｏ装置１４からの必要な入力がコントローラ１２にリモートＩ／Ｏ通信リンク１８によって通信を行うように要求していることを認識する。ＡＩブロック７８への入力がリモートＩ／Ｏ通信リンク１８による通信を要求していると認識した結果、リモートＩ／Ｏ構成ルーチン７４は、リモートＩ／Ｏ通信リンク１８およびリモートＩ／Ｏインタフェース４４、４６を介してコントローラ１２へＩ／Ｏ装置１４からの情報が周期的に送られるように、通信オブジェクト７０、７２をセットアップすることにより適切なリンクを自動的に作成する。
【００２３】
コントローラ１２は、機能ブロック更新ルーチン９０と、プロセッサ９２と、メモリ９４とを含んでもよい。一般的に、機能ブロック更新ルーチン９０は、制御ループ７６と関連する制御プロセス（プロセッサ９２により実行されてよい）とコントローラデータバス２８による通信との間において非干渉性（デカップリング）を与える。機能ブロック更新ルーチン９０は、機能ブロック７８、８０、８２が必要とするかまたはこれらのブロックが与える制御情報を含むテーブルまたはリスト９６を維持してもよい。このようにして、制御ループ７６は、コントローラ１２とリモートＩ／Ｏホストインタフェース４４との間の通信に対して非同期的に実行されてもよい。例えば、リモートＩ／Ｏホストインタフェース４４がコントローラデータバス２８を介してＡＩブロック７８が必要な情報をコントローラ１２に公開している間に、機能ブロック更新ルーチン９０は、リスト９６からＡＩブロック７８が必要とする情報を検索していてもよい。同様に、機能ブロック更新ルーチン９０は、リスト９６内に制御ループ７６と関連する情報を記憶してもよく、この記憶された情報をデータバス２８上でコントローラ１２が公開してもよい。このように、機能ブロック更新ルーチン９０および制御プロセス７６はリスト９６に独立してアクセス可能であり、これにより、制御ループ７６の実行がコントローラデータバス２８上の通信により中断されるかまたは遅延されることがないように制御プロセス７６およびコントローラデータバス２８上の通信が非同期的に動作（即ち干渉されない）することができる。
【００２４】
図３は、図２の通信オブジェクト７０、７２を構成するある方法１００を示すフローチャートである。一般に、図３の方法１００により、コントローラ１２は、リモートＩ／Ｏリンク１８と関連する通信技術からユーザを隔離することができる。方法１００は、例えば、構成の間に、コントローラ１２が必要とする制御信号がいつリモートＩ／Ｏ通信リンク１８による通信を要求するのかを自動的に認識し、これらの通信が透過的に行われるようにするリモートＩ／Ｏホストインタフェース４４およびリモートＩ／Ｏ通信インタフェース４６の両方において通信オブジェクトを自動的に作成する。このように、例えば、ユーザインタフェース２０上で実行されているグラフィカルインタフェースプログラムと対話することにより制御ループを構成しているユーザは、リモートＩ／Ｏ通信リンク１８により通信を達成するのに必要な特定の通信リンクおよび通信オブジェクトを理解したり気づいたりする必要もない。むしろ、ユーザは、リモートＩ／Ｏ装置１４、１６からの情報がコントローラ１２と交換されることを指定するだけでよく、リモートＩ／Ｏ構成ルーチン７４は、ユーザからのさらなる入力を必要とせず適切な通信オブジェクト７０、７２をセットアップする。このようにして、構成の間においてユーザのシステム１０との対話は一貫性のあるルック・アンド・フィールを有する。なぜなら、ユーザは、コントローラ１２がリモートＩ／Ｏ装置１４、１６と情報を交換することをハイレベルに（例えばグラフィカルインタフェースから）要求し、リモートＩ／Ｏ構成ルーチン７４は、制御ループを実行するためにユーザが指定した通りにまたは必要に応じて、コントローラ１２がリモートＩ／Ｏ装置１４、１６と通信して情報を交換することができるようにするローカル通信オブジェクト７０、およびリモート通信オブジェクト７２を（ユーザからのさらなる入力もなく）確立する。
【００２５】
特に、図３に示されるように、ブロック１０２は、図２に示されるような制御ループ７６のようなひとつ以上の制御ループを含んでよいコントローラ１２に制御戦略情報をダウンロードする。ブロック１０４は、ある機能ブロックのためのＩ／Ｏ信号がリモートＩ／Ｏ通信リンク１８を介して実行されることを認識する。例えば、ＡＩブロック７８(図２)は、リモートＩ／Ｏ装置１４、１６のうちのひとつの装置からその入力を受け取ってよい。例えば、あるＩ／Ｏ装置と関連するタグまたはアドレスのような識別子がその装置がリモートＩ／Ｏ装置であることを示していると決定することにより、Ｉ／Ｏ信号がリモートＩ／Ｏ通信リンク１８による通信を要求していることを認識するのを完了してよい。ブロック１０６は、リモートＩ／Ｏホストインタフェース４４内でＩ／Ｏ信号（例えばＡＩブロック７８への入力）のための適切なローカル通信オブジェクト７０をセットアップするようにリモートＩ／Ｏホストインタフェース４４に命令し、ついでブロック１０８はローカル通信オブジェクト７０を用いてリモートＩ／Ｏ通信リンク１８によって通信を行い、リモートＩ／Ｏ通信インタフェース４６内に適切なリモート通信オブジェクト７２をセットアップする。
【００２６】
図４は、図２の通信オブジェクト７０、７２を用いて情報がリモートＩ／Ｏ装置１４、１６からコントローラ１２へ送られるある方法１２０を示すフローチャートである。一般に、方法１２０は、ローカル通信オブジェクト７０およびリモート通信オブジェクト７２を用いて、コントローラ１２とリモートＩ／Ｏ装置１４、１６との間で継ぎ目のないまたは透過的な通信を与える。具体的には、方法１２０により、リモートＩ／Ｏホストインタフェース４４は、ローカル通信オブジェクト７０を用いて、コントローラデータバス２８を介してインタフェース４４に公開された情報をリモートＩ／Ｏ通信リンク１８によりインタフェース４６に送るとともに、リモートＩ／Ｏ通信リンク１８によってインタフェース４４に送られた情報をコントローラデータバス２８を介してコントローラ１２に公開することができる。同様に、方法１２０により、リモートＩ／Ｏ通信インタフェース４６はリモート通信オブジェクト７２を用いて、リモートＩ／Ｏ通信リンク１８を介してインタフェース４６に送られた情報をリモートＩ／Ｏ装置１４、１６のうちのひとつ以上に送るとともに、Ｉ／Ｏ装置１４、１６が与えた情報をリモート通信リンク１８によりリモートＩ／Ｏ通信インタフェース４４に送ることができる。
【００２７】
特に、図４に示されるように、ブロック１２２はローカル通信オブジェクト７０を用いて、リモートＩ／Ｏホストインタフェース４４がコントローラデータバス２８を介してコントローラ１２に更新されたパラメータ（例えば信号情報、機能ブロック情報、装置情報など）を送るようにする。例えば、リモートＩ／Ｏホストインタフェース４４は、ＡＩブロック７８が必要な入力のような更新された機能ブロック情報を周期的にコントローラ１２に送るように構成されてもよい。
ブロック１２４は、ローカル通信オブジェクト７０を用いて、リモートＩ／Ｏホストインタフェース４４がリモートＩ／Ｏ通信リンク１８によってリモートＩ／Ｏ通信インタフェース４６と自動的に通信を行うことにより、コントローラ１２が必要な情報またはパラメータを検索する。リモートＩ／Ｏホストインタフェース４４のこれらの通信情報はリモートＩ／Ｏ通信インタフェース４６により受け取られ、リモート通信オブジェクト７２を用いてリモートＩ／Ｏ通信インタフェース４６内で経路が指定され、コントローラ１２が必要な情報を検索する。ブロック１２６は、コントローラ１２６に、更新された／変更されたパラメータ（例えばＡＩブロック７８のための更新された入力信号を含んでよい）の存在を通知し、ブロック１２８によって、コントローラ１２は、リモートＩ／Ｏホストインタフェース４４がコントローラデータバス２８上に更新された／変更されたパラメータを公開することを要求する。コントローラ１２はついで、公開されたパラメータデータを受信し、メモリ９４内のリスト９６内にこのデータを記憶する。
ついでブロック１３０はリスト９６内に記憶されたパラメータデータを用いて制御プロセス７６を実行する。
【００２８】
図５は、図２の通信オブジェクト７０、７２を用いて情報がコントローラ１２からリモートＩ／Ｏ装置１４、１６に送られるある方法１５０を示すフローチャートである。一般的に、コントローラ１２は、コントローラデータバス２８を介してリモートＩ／Ｏホストインタフェース４４に情報を公開してよく、この情報は、リモートＩ／Ｏ通信リンク１８により、Ｉ／Ｏ装置１４、１６のうちのひとつ以上の装置に自動的に送られてもよい。また、一般的に、コントローラ１２は、周期的に情報を公開するように構成されてもよいし、および／または、ユーザからの情報に対する要求に応答して情報を公開するように構成されてもよい。
具体的には、リモートＩ／Ｏホストインタフェース４４は、ローカル通信オブジェクト７０を用いて、リモートＩ／Ｏ通信リンク１８を介してリモートＩ／Ｏ通信インタフェース４６に情報を自動的に送ってもよいし、Ｉ／Ｏ通信インタフェース４６はリモート通信オブジェクト７２を用いて、リモートデータバス４８を介してＩ／Ｏ装置１４、１６のうちのひとつ以上の装置に情報を自動的に送ってもよい。
【００２９】
特に、図５に示されるように、ブロック１５２により、コントローラ１２は、コントローラデータバス２８によって信号および／またはコマンドを送り、これはローカル通信オブジェクト７０が受け取る。ついでブロック１５４はローカル通信オブジェクト７０を用いて、リモートＩ／Ｏ通信リンク１８によりリモートＩ／Ｏ通信インタフェース４６に信号および／またはコマンドを自動的に送り、ブロック１５６はリモート通信オブジェクト７２を用いて、Ｉ／Ｏ装置１４、１６のうちの適切なひとつの装置に信号および／またはコマンドを送る。
【００３０】
図６は、図１のプロセス制御システム１０内の制御ループを構成するのに用いられてよいグラフィカルインタフェース１６０を示す模式的なブロック図である。一般的に、グラフィカルインタフェース１６０は典型的には、ユーザインタフェース２０内で実行され、システムレベルデータバス２２により、コントローラ１２、および／またはシステムレベルデータバス２２に接続されてよい構成データベース（図示せず）のような他のコントローラおよび装置へ、およびそこからシステム１０の構成に関連する情報を送受信する。グラフィカルインタフェース１６０は、ユーザがプロセス制御システム１０内で制御ループを対話式に指定し、（すなわち機能ブロック間の関係または接続を指定する）、そして、ユーザの要求があり次第、コントローラ１２に適切な構成情報をダウンロードしてコントローラ１２内でユーザ指定の制御ループを例示化することができる直覚的な視覚環境を与える。例えば、コントローラ１２は、ダウンロードされた構成情報を用いて、プロセス制御ループ７６を例示化してもよく、さらに、リモートＩ／Ｏ構成ルーチン７４と共に構成情報を用いて、リモートＩ／Ｏインタフェース４４、４６内に通信オブジェクト７０、７２を確立してもよく、これにより、上で述べたように制御ループ７６がリモートＩ／Ｏ通信リンク１８を介してＡＩブロック７８が必要な制御情報をリモートＩ／Ｏ装置１４から受け取れるようにできる。
【００３１】
具体的には、グラフィカルユーザインタフェース１６０は、現在指定されている制御ループを表す制御ループ図形１６２を含んでおり、これは制御ループ７６として図６に例示されている。グラフィカルユーザインタフェース１６０は、制御システム１０を構成する様々な装置の間のシステムトポロジまたはハードウェア関係を表すシステム階層図形１６４も含む。特に、システム階層図形１６４内に示される様々なレベルは、図１に示される様々な装置に対応してもよい。たとえば、コントローラレベル１６６はコントローラ１２に対応していてよく、Ｉ／Ｏレベル１６８は、コントローラデータバス２８に接続されているＩ／Ｏ装置のグループ（例えばＩ／Ｏ装置２４、２６）に対応していてよく、Ｉ／Ｏレベル１６８内に入るホストインタフェースレベル１７０はリモートＩ／Ｏホストインタフェース４４に対応していてよい。ホストインタフェースレベル１７０はさらに、リモートＩ／Ｏ通信リンク１８に対応する通信リンクレベル１７２と、リモートＩ／Ｏ装置１４、１６に対応するＩ／Ｏ装置レベル１７６を含むＩ／Ｏファイルレベル１７４とを含んでもよい。典型的には、階層図形１６４内のレベルの各々に標識をつけ識別するのに用いられる文字指標または「タグ」は、ユーザインタフェースを介してユーザにより修正可能なシステムデフォルトに設定される。
例えば、ホストインタフェースレベル１７０のためのタグは、図６に示されるようにデフォルト「ＨＯＳＴ  ＩＮＴＥＲＦＡＣＥ」に設定されてよいが、ユーザは、所望であれば、「ＲＥＭＯＴＥ  Ｉ／Ｏ  ＩＮＴＥＲＦＡＣＥ  １」を読めるようにユーザインタフェース２０を介してこのタグを変更することができる。
【００３２】
グラフィカルユーザインタフェース１６０により、ユーザは、制御ループ７６の機能ブロック７８、８０、８２とＩ／Ｏ装置１４、１６、２４、２６との間の関係または接続を指定することができる。具体的には、ユーザは、コンピュータマウスのような位置決め装置を用いてある接続を確立し、階層図形１６４のレベル１６６−１７６を検索して、機能ブロック７８、８０、８２のうちのひとつ以上と適切なＩ／Ｏ装置との間の関係（例えば特定の信号およびフィールド装置と関連するＩ／Ｏカード内のチャンネル）を成立させる。特に、ユーザは、ＡＩブロック７８を、タグ「Ｉ／Ｏカード１」（Ｉ／Ｏ装置レベル１７６内）に関係付けてＩ／Ｏ装置１４（タグ「Ｉ／Ｏカード１」に対応する）とＡ／Ｉブロック７８の入力との間の接続１７８を確立する。同様に、ユーザは、ＡＯブロック８２を、タグ「Ｉ／Ｏカード２」（Ｉ／Ｏ装置１６に対応する）に関係付けてＡＯブロック８２の出力とＩ／Ｏ装置１６との間の接続１８０を確立する。
【００３３】
ユーザが上記の手続きを用いて制御ループ７６とリモートＩ／Ｏ装置１４、１６（それぞれのタグ「Ｉ／Ｏ装置１」および「Ｉ／Ｏ装置２」で表される）との間で接続１７８、１８０を指定するときまたは指定した後、ユーザインタフェース２０は、コントローラ１２にダウンロードするための適切な構成情報を自動的に作成する。この構成情報は、それぞれのリモートインターフェース４４、４６内で通信オブジェクト７０、７２を作成してそれによりコントローラ１２とリモートＩ／Ｏ装置１４、１６との間で上で述べた透過的通信を可能にするために、リモートＩ／Ｏ構成ルーチン７４により使用されてよいリンキング（linking）情報を含む。
【００３４】
機能ブロック７８、８２からリモートＩ／Ｏ装置１４、１６までの接続１７８、１８０はリモートＩ／Ｏ通信リンク１８による通信を要求しているが、ユーザは、一般的に、リモートＩ／Ｏ通信リンク１８を介して通信を行うリモートＩ／Ｏ装置、およびコントローラデータバス２８を介してコントローラ１２と通信を行うローカルＩ／Ｏ装置（例えばＩ／Ｏ装置２４、２６）のなんらかの組み合わせに対する機能ブロック接続を指定してもよい。さらに、ユーザは、リモートＩ／Ｏ装置に接続をするのであっても、ローカルＩ／Ｏ装置に接続するのであっても、上で述べた技術と関連して同じグラフィカルインタフェース１６０と対話してＩ／Ｏ装置と機能ブロックとの間の接続を確立してよい。その結果、ユーザは、どのＩ／Ｏ装置が制御ループ７６に接続されていようと、また、接続を達成するのに用いられるその基礎にある通信の技術および構成属性と無関係に、ユーザインタフェース２０で一貫性の有るルック・アンド・フィールを経験する。
【００３５】
ユーザがプロセス制御ルーチンおよびエレメントを図形により作成してプロセス制御システム内の装置を自動検出し、プロセス制御システム内の装置を制御できるようにするプロセス制御構成ルーチンについての詳細は、ドゥーブ(Dove)らへの米国特許第５，８３８，５６３号（「プロセス制御環境を構成するためのシステム」"(System for Configuring a Process Control Environment")）、ニクソン(Nixon)らへの米国特許第５，８２８，８５１号（「標準的な装置および非標準的な装置の標準的なプロトコル制御を用いるプロセス制御システム」（"Process Control System Using Standard Protocol Control of Standard Devices and Nonstandard Devices") ）、１９９６年４月１２日に出願されたドゥーブの米国特許出願番号０８／６３１，４５８（「プロセス制御環境を構成するのを支援するためのシステム」("System for Assisting Configuring a Process Control Environment")）に見出されるが、これら全ては本発明の譲受人に譲渡され、本明細書において引用により援用される。
【００３６】
図７は、図１のリモートＩ／Ｏ装置１４、１６およびリモートＩ／Ｏ装置１４、１６との通信を自動的に検出できるようにするためリモートＩ／Ｏインタフェース４４、４６で用いられてよい自動検出ルーチン１９０、１９２を示す模式的なブロック図である。一般的に、自動検出ルーチン１９０、１９２により、コントローラ１２は、リモートデータバス４８上のリモートＩ／Ｏ装置１４、１６の存在を自動的に識別することができるようになる。具体的には、リモート自動検出ルーチン１９２はリモートデータバス４８を走査し、データバス４８に接続されたＩ／Ｏ装置、この場合は例えばリモートＩ／Ｏ装置１４、１６から装置情報を収集する。しかしながら、データバス４８に接続されるＩ／Ｏ装置の個数または種類は任意である。リモート自動検出ルーチン１９２はリモート通信オブジェクト７２を用いて、データバス４８を介して収集された装置情報を、リモートＩ／Ｏ通信リンク１８によってリモートＩ／Ｏホストインタフェース４４に自動的に送る。ローカル通信オブジェクト７０は収集された装置情報を受け取り、その情報を、リモートＩ／Ｏホストインタフェース４４内の自動検出ルーチン１９０に自動的に送る。ついでローカル自動検出ルーチン１９０は、リモートＩ／Ｏ装置１４、１６であってよい、リモートデータバス４８に接続されたアクティブＩ／Ｏ装置のリストを維持するライブ（生）リスト１９４を更新する。ローカル自動検出ルーチン１９０は、コントローラ１２から自動検出コマンドを受け取り、コマンドを送ってリモート自動検出ルーチン１９２を開始してもよい。自動検出ルーチン１９０、１９２は、ローカルＩ／Ｏ装置のためのコントローラにより現在実行される自動検出ルーチンと同じ種類であってよく、したがって、ここでは詳細に述べない。このような自動検出ルーチンは、１９９６年４月１２日に出願されたニクソンらの米国特許出願番号０８／６３１，５１９（ネットワークへの装置の接続を自動的に検出する方法および装置を含むプロセス制御システム "Process Control System Including a Method and Apparatus for Automatically Sensing the Connection of Devices To a Network"）に詳細に記載され、これは、本発明の譲受人に譲渡され、本明細書において引用により援用される。
【００３７】
上記自動検出ルーチン１９０、１９２を用いてリモートＩ／Ｏ装置１４、１６が検出された後、コントローラ１２はついでライブリスト１９４にアクセスして、収集された装置情報を検索し、この情報はついでリスト９６内にコントローラ１２により記憶される。コントローラ１２は、リモートＩ／Ｏ装置１４、１６と関連する収集された装置情報をユーザインタフェース２０に渡し、ユーザインタフェース２０は、例えば、Ｉ／Ｏ装置１４、１６を表す階層内のタグ「Ｉ／Ｏ装置１」および「Ｉ／Ｏ装置２」を含むように階層図形１６４を更新してもよい。
さらに、Ｉ／Ｏ装置１４、１６に関連する装置情報は、接続１７８、１８０を確立するとともに接続１７８、１８０を例示化する通信オブジェクト７０、７２を生成するのに用いられてもよい。図８は、図７の自動検出ルーチン１９０、１９２を確立するある方法２００を示すフローチャートである。ブロック２０２はホストインタフェースブロック４４内のローカル自動検出ルーチン１９０をセットアップし、ブロック２０４はローカル通信オブジェクト７０を用いて、ローカル自動検出ルーチン１９０がリモートＩ／Ｏ通信リンク１８による通信を要求していることを認識する。ブロック２０６はリモートＩ／Ｏ通信インタフェース４６においてリモート自動検出ルーチン１９２をセットアップし、ついでブロック２０８はリモート自動検出ルーチン１９２を用いて、Ｉ／Ｏ装置のためのリモートデータバス４８をポーリングし、バス４８上にあるＩ／Ｏ装置すべてからの装置情報（例えば装置タイプ、製造者、アドレス、タグ、通し番号、機能的役割、など）を収集する。ブロック２１０はついでリモート通信オブジェクト７２を用いて、収集された装置情報をリモートＩ／Ｏ通信リンク１８によりリモートＩ／Ｏホストインタフェース４４に送り、リモートＩ／Ｏホストインタフェース４４はついでローカル通信オブジェクト７０を用いて、ローカル自動検出ルーチン１９０に装置情報を自動的に送る。ブロック２１２は、上で述べたようにローカル自動検出ルーチン１９０を用いて、コントローラデータバス２８およびコントローラ１２を介してユーザインタフェース２０に装置情報を送る。
【００３８】
したがって、本明細書で述べたシステムおよび方法により、分散プロセス制御システム内で遠隔的に位置したＩ／Ｏ装置を継ぎ目なく統合できる。このシステムおよび方法は、リモートＩ／Ｏ通信リンクによるリモートＩ／Ｏ装置との通信活動すべてがユーザインタフェースのユーザの視点と、リモートＩ／Ｏ通信リンクにより通信を行っているコントローラとからは透過的であるとおもえるように、リモートＩ／Ｏ通信リンクの各端部でリモートＩ／Ｏインターフェース装置を自動的に構成する。このシステムにより、ユーザは、リモートＩ／Ｏ装置により用いられるその基礎にあるな通信技術を理解したり気づいたりする必要もなく、例えば、ユーザインタフェース上で実行されているグラフィカルインタフェースを介してシステムレベルで対話することにより、ローカルＩ／Ｏ装置およびリモートＩ／Ｏ装置の組み合わせと関連して制御ループを構成したり、プロセスパラメータを監視したりする。言いかえると、このシステムおよび方法は、あるリモートＩ／Ｏ装置に対する制御ループ接続を要求するユーザに応答して、リモートＩ／Ｏインタフェース装置内の適切な通信オブジェクトを自動的に生成して例示化することにより、ユーザをその基礎にあるリモートＩ／Ｏ通信技術の実行詳細から隔離する。結果、システムとのユーザの対話は、ユーザがリモートＩ／Ｏ装置に対する接続を指定しようとローカルＩ／Ｏ装置に対する接続を指定しようと、また、リモートＩ／Ｏ通信を達成するのに用いられているその基礎にある通信技術と無関係に、一貫性のあるルック・アンド・フィールを有する。
【００３９】
一般的に、上で述べたシステムおよび方法は、コンピュータ読取り可能なメモリから検索される多くのソフトウェアコードセグメントまたはモジュールを実行するために、ひとつ以上の汎用プロセッサを用いて能率的に実行されてもよい。
しかしながら、例えば、アルゴリズム特定集積回路（すなわちＡＳＩＣ）または他の種類のハードウェアを用いたハードウェアおよびソフトウェアの他の組み合わせを、本発明の範囲から逸脱することなく同じ機能を達成するのに用いてもよい。ソフトウェアで実行するならば、ここで述べた機能ブロックおよびルーチンは、コンピュータ、コントローラ、フィールド装置などのＲＡＭまたはＲＯＭ内で磁気媒体、光学媒体または他の何らかの記憶媒体上のような、コンピュータ読取り可能なメモリ内に記憶されてもよい。同様に、このソフトウェアは、例えば、電話回線、インターネットなどのような通信チャンネルによるものを含む公知のまたは所望の配信方法によりユーザまたは装置に送られてよい。
本発明は、具体例を参照して説明されたが、これらは、あくまでも例示的であり、本発明を限定するものではなく、本発明の精神および範囲を逸脱することなく、開示された実施の形態に、変更、追加、およびまたは消去を加えてよいことは当業者には明らかである。
【図面の簡単な説明】
【図１】リモート通信リンクを介してリモートＩ／Ｏ装置に通信可能に結合されたコントローラを有するプロセス制御システムを示す模式的なブロック図である。
【図２】図１のコントローラとリモートＩ／Ｏ装置との間で自動通信を可能化する通信オブジェクトの一例を示すブロック図である。
【図３】図２の通信オブジェクトを生成し例示化する方法の一例を示すフローチャートである。
【図４】図２の通信オブジェクトを用いて情報がリモートＩ／Ｏ装置からコントローラに送られる方法の一例を示すフローチャートである。
【図５】図２の通信オブジェクトを用いて情報がコントローラからリモートＩ／Ｏ装置に送られる方法の一例を示すフローチャートである。
【図６】図１のプロセス制御システム内で制御ループを構成するのに用いられてよいグラフィカルインタフェースを示す模式的なブロック図である。
【図７】図１のリモートＩ／Ｏ装置および装置との通信を自動的に検出できるようにリモートＩ／Ｏインタフェースにおいて用いられる自動検出ルーチンを示す模式的なブロック図である。
【図８】図７の自動検出ルーチンを確立する方法の一例を示すフローチャートである。
【符号の説明】
１０  分散プロセス制御システム
１２  コントローラ
４４  第１のリモートＩ／Ｏインタフェース
１８  リモートＩ／Ｏ通信リンク
４６  第２のリモートＩ／Ｏインタフェース
１４、１６  Ｉ／Ｏ装置
７０   第１の通信オブジェクト
７２   第２の通信オブジェクト
【図１】
0004564158.tif 000002
【図２】
0004564158.tif 000003
【図３】
0004564158.tif 000004
【図４】
0004564158.tif 000005
【図５】
0004564158.tif 000006
【図６】
0004564158.tif 000007
【図７】
0004564158.tif 000008
【図８】
0004564158.tif 000009